similar to: [LLVMdev] Generating DWARF information that pretends an outparam is the return value

Displaying 20 results from an estimated 400 matches similar to: "[LLVMdev] Generating DWARF information that pretends an outparam is the return value"

2011 Dec 07
2
[LLVMdev] Generating DWARF information that pretends an outparam is the return value
On Dec 6, 2011, at 4:13 PM, Devang Patel wrote: > Hi Josh, > > On Dec 4, 2011, at 9:33 PM, Josh Matthews wrote: > >> I'm working on generating debug information for Rust, and I'm >> currently stumped on how to generate DWARF output via LLVM that will >> correctly represent this (eg. when exiting from foo2(), I'd like to >> see "Value returns
2011 Dec 07
0
[LLVMdev] Generating DWARF information that pretends an outparam is the return value
Hi Josh, On Dec 4, 2011, at 9:33 PM, Josh Matthews wrote: > I'm working on generating debug information for Rust, and I'm > currently stumped on how to generate DWARF output via LLVM that will > correctly represent this (eg. when exiting from foo2(), I'd like to > see "Value returns is $1 = 5"). I'm generating debug metadata nodes > directly instead of
2011 Dec 07
0
[LLVMdev] Generating DWARF information that pretends an outparam is the return value
Unfortunately this is what I'm already doing, and it's not working. I drew inspiration from a disassembly of a program that showed that struct foo { int a; float b; char buf[80]; } struct foo get_foo(void) { foo f = { 5, 2.5 }; return f; } would turn into define void @get_foo(%struct.foo* sret %agg.result) nounwind ssp { ... call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2, i8*
2011 Aug 16
1
[LLVMdev] Missing metadata for volatile variables
Hi everyone, I am using the dragonegg plugin to produce bitcode for the following small C program: int main() { 1: int x = -5; 2: x = 6; 3: return 0; } The assignments on lines 1 and 2 are removed even when no optimization flags are specified. I tried making variable "x" volatile, which prevents the assignments from being removed, however I am no longer able to recover the original
2009 Mar 09
1
[LLVMdev] Reassociating expressions involving GEPs
On 9-Mar-09, at 12:14 AM, Chris Lattner wrote: > GEP overflow is undefined, but this sentence means that *accesses* to > an array must be within its bounds. It is fine to GEP outside the > array as long as you readjust the pointer back before access. Thanks, that was my hope. Maybe this should be spelled out in the langref, especially since it's inconsistent with C, where merely
2012 Mar 02
2
[LLVMdev] Question on debug information
Hi all, I'm using my own front-end to generate following code .ll file targeting x86 32-bit: ; ModuleID = 'check.c' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" target triple = "i386-pc-linux-gnu" @.str581 = internal constant [52 x i8] c"---- test number %d
2009 Mar 09
0
[LLVMdev] Reassociating expressions involving GEPs
On Feb 25, 2009, at 12:12 PM, Stefanus Du Toit wrote: >> Although, I'm not completely sure the transformation is safe, at >> least >> the way you're stating it; unlike add, GEP has undefined overflow, so >> this isn't right in cases like %call == %tmp4 == INT_MIN. > > Hmm, you raise a good point. There's a similar issue even without > overflow,
2011 Dec 15
2
[LLVMdev] LLVM 2.9 metadata
Hi all, In LLVM documentation about source level debugging (http://www.llvm.org/releases/2.9/docs/SourceLevelDebugging.html) Subprogram descriptor is defined as: !2 = metadata !{ i32, ;; Tag = 46 + LLVMDebugVersion <http://www.llvm.org/releases/2.9/docs/SourceLevelDebugging.html#LLVMDebugVersion> ;; (DW_TAG_subprogram) i32, ;; Unused field. metadata, ;;
2018 Jun 15
2
[lldb-dev] Adding DWARF5 accelerator table support to llvm
> On Jun 15, 2018, at 9:23 AM, <paul.robinson at sony.com> <paul.robinson at sony.com> wrote: > >> From: Greg Clayton [mailto:clayborg at gmail.com] >> >> ... >> If a class has templated functions, they will only be in the DWARF is a >> specialization was created and used. If you have a class that looks like: >> >> class A { >>
2018 Jun 15
2
[lldb-dev] Adding DWARF5 accelerator table support to llvm
To elaborate a bit more on the issue that is detailed in https://reviews.llvm.org/rL260308: There are many clang AST contexts that are used in LLDB: - one for each lldb_private::Module that contains type definitions as we know them in the module and its symbol vendor - one for each expression - one for results of expressions in the lldb_private::Target As we run expressions we end up copying
2012 Mar 06
0
[LLVMdev] Question on debug information
Hi all, Anyone have ideas/info on this topic ? Thanks Seb 2012/3/2 Seb <babslachem at gmail.com> > Hi all, > > I'm using my own front-end to generate following code .ll file targeting > x86 32-bit: > > ; ModuleID = 'check.c' > target datalayout = >
2009 Feb 25
4
[LLVMdev] Reassociating expressions involving GEPs
On 30-Jan-09, at 6:14 PM, Eli Friedman wrote: > On Fri, Jan 30, 2009 at 3:03 PM, Stefanus Du Toit > <stefanus.dutoit at rapidmind.com> wrote: >> The computation of %base then becomes loop-invariant and can be >> lifted out. >> >> What's the best way to add this optimization to LLVM? > > Probably the best place is LICM itself... only loop
2012 Mar 06
2
[LLVMdev] Question on debug information
On Mar 6, 2012, at 5:31 AM, Seb <babslachem at gmail.com> wrote: > Hi all, > > Anyone have ideas/info on this topic ? > Thanks > Seb > > 2012/3/2 Seb <babslachem at gmail.com> > Hi all, > > I'm using my own front-end to generate following code .ll file targeting x86 32-bit: > > ; ModuleID = 'check.c' > target datalayout =
2005 Jun 19
1
1-based arrays and copying vectors
I'm interfacing to C code that uses 1-based indexing on arrays -- it ignores the zeroth element. Thus, input vectors from R must be moved up one, and output arrays must be moved down one. What is the best way to deal with this using R internal code? My current approach is: For an input R vector of length n, allocate a new vector(v) of length n+1 and copy input into v[1] to v[1+n]. Call
2011 Dec 15
0
[LLVMdev] LLVM 2.9 metadata
On Dec 15, 2011, at 2:32 AM, Seb wrote: > Hi all, > > In LLVM documentation about source level debugging (http://www.llvm.org/releases/2.9/docs/SourceLevelDebugging.html) > > > Subprogram descriptor is defined as: > > !2 = metadata !{ > i32, ;; Tag = 46 + LLVMDebugVersion > ;; (DW_TAG_subprogram) > > i32, ;; Unused field. >
2011 Dec 16
2
[LLVMdev] LLVM 2.9 metadata
Hi Devang, Not only "vtable ptr" is a problem, for this field it seems that CLANG emits a NULL metadata node which is translated into 'i32 0'. The other problem is for 'isArtificial' field with is described as being of type i1 and CLANG emits i32. Looking at sources, it seems that it should be a i32 flag field. Hope this helps, Best Regards Seb 2011/12/15 Devang
2011 Apr 30
2
[LLVMdev] DWARF not being generated for local variable, though MD looks right(?)
I'm running into a problem with generating debugging information that I'm not sure how to debug; I'd be happy to have some suggestions about where to start digging in. In short, I believe that I'm correctly generating debug info (with DIBuilder, which has so far been quite nice!), and a scan of the meta-data in the IR looks generally right. However, if I run dwarfdump on my
2012 Jan 16
2
[LLVMdev] Need more information on llvm.dbg.value call
Hi all, I'm using clang + LLVM 2.9. Let's consider following code sample: extern void bar(int x) ; void foo(int y) { bar(y) ; } When compiled with clang at -O2 -g I've got following LLVM file: ; ModuleID = 'localvar.c' target datalayout =
2015 Oct 06
3
SRET consistency between declaration and call site
On Mon, Oct 05, 2015 at 03:45:29PM -0700, Reid Kleckner wrote: > > > On 3 October 2015 at 02:29, Joerg Sonnenberger via llvm-dev > > > <llvm-dev at lists.llvm.org> wrote: > > > > while debugging assertions when building libm for 32bit Sparc, I hit > > the > > > > following IR: > > > > > > > > complex_mul_libcall: >
2012 Feb 28
0
[LLVMdev] inspecting value of formal parameter in gdb for x86
Hi all, I'm generating code using CLANG + LLVM 2.9 and would like to inspect formal parameter value for x86 32-bit when -O2 -g is used. It seems that when code is optimized by the compiler DWARF information generated doesn't allow to inspect value of parameter. Trying to inspect parameter value in GDB, parameter is marked as optimized by the compiler and thus I can't track its value.