similar to: llvm.dbg.declare constraints

Displaying 20 results from an estimated 8000 matches similar to: "llvm.dbg.declare constraints"

2020 Oct 05
2
llvm.dbg.declare constraints
The documentation is correct, and the observation that the IR verifier is currently not verifying this property is also correct. Due to the way that dbg.declares are handled by later stages, LLVM can only keep track of one dbg.declare per variable and that is intentional. The dbg.declare intrinsic is supposed to pin a variable to a stack slot, such as in the code that clang emits at -O0. If you
2009 Nov 13
2
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hello, I use llvm and llvm-gcc as a C-to-C transformation tool using a modified version of the c backend, and rely on llvm debug instructions to link back to the original source code. Does anyone know how to get detailed line number and variable debug information at optimization levels beyond O0? Currently, I extract this debug information by compiling with -g. This works fine with
2009 Nov 16
0
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hi Martijn On Fri, Nov 13, 2009 at 4:52 AM, Martijn <martijn at martijnrutten.com> wrote: > Hello, > > I use llvm and llvm-gcc as a C-to-C transformation tool using a > modified version of the c backend, and rely on llvm debug instructions > to link back to the original source code. > > Does anyone know how to get detailed line number and variable debug > information
2015 Feb 05
2
[LLVMdev] JumpThreading and @llvm.dbg.declare()
Hi! I have a small issue with the JumpThreading pass (in opt). As described in the code (JumpThreading.cpp), the pass may if certain criteria are fulfilled duplicate the content of a block. If the duplicated block contain a call to @llvm.dbg.declare() you will end up with invalid code as the intrinsic @llvm.dbg.declare() only should occur once for each variable. I think the JumpThreading
2010 Jul 17
2
[LLVMdev] llvm.dbg.declare
Hi folk, In the Source Level Debugging document, llvm.dbg.declare takes two paramters. "The first argument is the alloca for the variable, cast to a {}*. The second argument is the llvm.dbg.variable containing the description of the variable." The second parameter corresponds to DIVariable, what is the corresponding LLVM class of the first parameter? I want to find which
2009 Nov 17
2
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hi Devang, >> I use llvm and llvm-gcc as a C-to-C transformation tool using a >> modified version of the c backend, and rely on llvm debug instructions >> to link back to the original source code. >> >> Does anyone know how to get detailed line number and variable debug >> information at optimization levels beyond O0? >> >> Currently, I extract this
2017 Sep 19
0
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
On Tue, Sep 19, 2017 at 8:40 AM, Adrian Prantl via llvm-dev < llvm-dev at lists.llvm.org> wrote: > > Later loop unroll comes and unrolls the loop and then suddenly we have > two absolutely identical dbg.declares and the assert in addFragmentOffset() > blows. Who's at fault? > > Without having read the code yet, my intuition says that the unroller > should not be
2009 Nov 17
0
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hi Martijn, On Tue, Nov 17, 2009 at 3:25 AM, Martijn <martijn at martijnrutten.com> wrote: >> >> Without mem2reg pass, you're unlikely to get much optimization done on your IR. > > Clear, thanks! I presume the mem2reg pass is also essential in the > CLang frontend, so CLang is not an alternative to llvm-gcc to keep > more debug information? Yes. > For the
2017 Sep 19
2
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
> On Sep 19, 2017, at 6:33 AM, Mikael Holmén via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hi Björn, > > I don't have any answers, just more confusion. Hopefully someone else can bring some light to this. > > I'm also interested in dbg.declares and what the rules are regarding them since it's not very clear to me at the moment. A dbg.declare
2017 Sep 20
0
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
Hi all, Thanks for the answers! I feel like I've hijacked your thread now though Björn, sorry for that. But from the answers it sounds like there is agreement that it's reasonable to remove the duplicates as done in Björn's patch? --- A couple of more things around the problem I saw. On 09/19/2017 05:40 PM, Adrian Prantl wrote: > A dbg.declare describes a stack-allocated
2017 Sep 19
3
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
> On Sep 19, 2017, at 8:44 AM, Reid Kleckner <rnk at google.com> wrote: > > On Tue, Sep 19, 2017 at 8:40 AM, Adrian Prantl via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > Later loop unroll comes and unrolls the loop and then suddenly we have two absolutely identical dbg.declares and the assert in addFragmentOffset() blows.
2012 Apr 04
2
[LLVMdev] "make check" fails at CodeGen/Generic/dbg-declare.ll (r153997 on PPC)
Hi, CodeGen/Generic/dbg-declare.ll is really generic test? $ make check llvm[0]: Running test suite make[1]: Entering directory `/var/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/test' Making a new site.exp file... Making LLVM 'lit.site.cfg' file... Making LLVM unittest 'lit.site.cfg' file... ( ulimit -t 600 ; ulimit -d 512000 ; ulimit -m 512000 ; ulimit -v 1024000 ; \
2010 Jul 19
0
[LLVMdev] llvm.dbg.declare
On Sat, Jul 17, 2010 at 12:00 AM, Neal N. Wang <neal.wang at gmail.com> wrote: > Hi folk, > > In the Source Level Debugging document,  llvm.dbg.declare takes two > paramters.  "The first argument is the alloca for the variable, cast to a > {}*. The second argument is the llvm.dbg.variable containing the description > of the variable."  The second parameter
2017 Sep 19
0
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
Hi Björn, I don't have any answers, just more confusion. Hopefully someone else can bring some light to this. I'm also interested in dbg.declares and what the rules are regarding them since it's not very clear to me at the moment. A similar fix as yours was made for duplicate non-fragment dbg.declares in r305244 and there is a bit of discussion about it in
2012 Apr 04
0
[LLVMdev] "make check" fails at CodeGen/Generic/dbg-declare.ll (r153997 on PPC)
Kimura san, You may ask committer of r153706. I wonder if it could be x86-independent. > /var/tmp/portage/sys-devel/llvm-9999/work/llvm-9999/Release/bin/llc: > error auto-selecting target for module 'No available targets are > compatible with this triple, see -version for the available targets.'. >  Please use the -march option to explicitly pick a target. ...Takumi as
2013 Sep 16
0
[LLVMdev] CMake problem of LLVM 3.3
Hi Xun, On 16/09/13 03:42, Xun Chen wrote: > Hi, Guys: > > I'm new for LLVM. Just downloaded the LLVM. > I used cmake to compiler the LLVM3.3, but found an error, because it can > not automatically compiler the target description file (*.td) to the .inc file. > But when I tried the LLVM 3.2, It is ok. > Could your give me some suggestion? your description
2017 Sep 19
3
Jump Threading duplicates dbg.declare intrinsics for fragments, bug?
Hi, I'm hitting an assertion "overlapping or duplicate fragments" in the DWARF codegen in addFragmentOffset(). This originates from a duplicated dbg.declare intrinsic, declaring the same fragment twice. The duplicated call was generated by the jump threading pass. I have a patch (see below) that removes simply such duplicates, but I'm not sure whether that is the right
2012 Apr 16
1
[LLVMdev] "make check" fails at CodeGen/Generic/dbg-declare.ll (r153997 on PPC)
Ping, NAKAMURA san, thank you. Bill san, can you comment this commit? r154798 still fails on ppc32-lnux b/c *only* for this test. Loving more minor arch, the world will be better... 2012/04/04 23:26 NAKAMURA Takumi <geek4civic at gmail.com>: > Kimura san, > > You may ask committer of r153706. I wonder if it could be x86-independent. > >>
2010 Sep 26
1
[LLVMdev] Recommended order between llvm.gcroot and llvm.dbg.declare?
So I understand now that calls to llvm.gcroot have to be in the first block. (Might be a good idea to mention this in the GC docs). For each local variable that is created, there are 5 possible steps. 1. Allocate the storage for the variable using alloca(). 2. Declare the variable as a root via llvm.gcroot. 3. Initialize the variable to zero. 4. Declare the DWARF debugging info for
2020 Mar 31
2
Question WRT llvm.dbg.value
> On Mar 30, 2020, at 11:57 PM, Sourabh Singh Tomar <sourav0311 at gmail.com> wrote: > >> > My understanding is that this isn't correct: dbg.declare specifies the >> memory address of a variable for the whole lifetime of the function, >> whereas dbg.value (and dbg.addr) specify the value/address until the >> next debug intrinsic. Mixing these two kinds