Displaying 20 results from an estimated 2000 matches similar to: "How to set DebugLoc when using IRBuilder's CreateCall ?"
2018 Aug 07
3
[RFC] Add DebugLoc parameter in Instruction’s Create() functions
Many DI-related bugs are caused by missing Debug Location
in an instruction created in a transformation. Most of the
time the fix is trivial once you found where the culprit
instruction is created (https://reviews.llvm.org/D50263).
Currently, when you create a new Instruction, in order to
give it DL you have to either use an IRBuilder that is
previously set to the correct DL or “manually” create
2018 Sep 05
3
How to get return address at llvm ir level?
Hi
I want to write a FunctionPass to insert some code before return.
Funcion:
..
..
..
mov eax,[esp]
cmp eax,0x12345678
je 0x12345678
ret
(maybe stack will not balance)
I wonder that can I get the return address at llvm ir level?
I use IRBuilder to CreateICmpEQ and CreateCondBr.
but I don't how to get the value of return addrss.
I have found there is a Intrinsic::returnaddress.
Is
2013 Dec 26
2
[LLVMdev] Arguments to IRBuilder CreateCall function
Hi,
I need to pass some arguments to CreateCall function (as Value *).
For example, I need to pass a 64 bit integer (with a value I calculate).
How can I convert the 64 bit integer to a value * in order to pass it?
Thanks a lot,
Tehila.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2010 Jun 26
2
[LLVMdev] IRBuilder<>::CreateCall, CreateCall2, CreateCall3, ...
Hey guys,
Whys are there like 5 variants of CreateCall in IRBuilder<> with numbers appended to them? The only difference I can see is the number of arguments. Aren't C++ function overloads be suited for this?
Félix
2010 Jun 26
0
[LLVMdev] IRBuilder<>::CreateCall, CreateCall2, CreateCall3, ...
On Jun 25, 2010, at 6:24 PM, Félix Cloutier wrote:
> Hey guys,
>
> Whys are there like 5 variants of CreateCall in IRBuilder<> with numbers appended to them? The only difference I can see is the number of arguments. Aren't C++ function overloads be suited for this?
An overload could work, but this sort of API makes it more obvious which one you're trying to call and
2015 May 13
2
[LLVMdev] Modifying debug information through llvm pass
Hi All,
I want to change debug information of an llvm instruction so that the
modified debug info is subsequently passed to executable binary. So if I
use "addr2line" utility on the binary, it will return my modified debug
information.
I've tried to change by using the following code snippet:
MDNode *N = Inst->getMetadata("dbg");
DebugLoc Loc =
2018 Feb 05
1
Debug info error on bitcode inline modification
> Every inlinable call in a function that has debug info
(F->getSubprogram() returns non-null) must have a DebugLoc associated with
it that has a scope chain that ends in that same DISubprogram.
Thank you for the comment! I don't know if this is a proper way to fix, but
after I add DebugLoc same as inserting position instruction, no error
occurs.
2011 Mar 25
2
[LLVMdev] set line number debug info
Thanks for the help.
I thought I'd solved the problem (setting the line number information in the
instruction metadata) by inserting my own function for setting line number
in llvm/Support/DebugLoc.h. I have added a function setLine(unsigned) in
DebugLoc class. The function simply sets the LineCol variable as needed. But
there is a problem.
Whenever I'm checking the line number(calling
2011 Mar 25
0
[LLVMdev] set line number debug info
Oh! I made a mistake by not using setDebugInfo() function present in the
Instruction class. Now it's working fully.
So, the solution is:-
To set the line number for an instruction -
1. Add a function in DebugLoc class located in llvm/Support/DebugLoc.h. Set
the line number there to the private variable called LineCol.
2. Call the added function. And then pass the modified DebugLoc object to
2011 Mar 14
2
[LLVMdev] set line number debug info
Hi,
I am new to LLVM infrastructure. Recently I am trying to set the debug
info for an instruction. The main aim is to set the source line number of an
instruction. Can anyone please show how to do that?
I think that setMetadata method in Instruction class is to be used.
But how do I create MDNode* consisting of desired source line number. Source
line number can be extracted from the
2018 Feb 02
0
Debug info error on bitcode inline modification
Every inlinable call in a function that has debug info (F->getSubprogram()
returns non-null) must have a DebugLoc associated with it that has a scope
chain that ends in that same DISubprogram.
https://llvm.org/docs/SourceLevelDebugging.html discusses some of the debug
info IR metadata in LLVM.
On Fri, Feb 2, 2018 at 1:03 AM Ku Nanashi via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
2011 Mar 14
0
[LLVMdev] set line number debug info
On Mon, Mar 14, 2011 at 8:56 AM, Abhirup Ghosh <abhirupju at gmail.com> wrote:
> Hi,
> I am new to LLVM infrastructure. Recently I am trying to set the debug
> info for an instruction. The main aim is to set the source line number of an
> instruction. Can anyone please show how to do that?
> I think that setMetadata method in Instruction class is to be used.
>
2018 Feb 02
2
Debug info error on bitcode inline modification
Hi,
I'm trying to inline function defined in another bitcode module via bitcode
modification.
I'm linking multiple bitcode modules, setting inline related attributes,
applying -always-inline pass, but then debug info error occurs.
It seems debug info metadata isn't properly updated on inlining. How can I
fix it?
I'm using LLVM 3.8.1 on OS X (On below example target is Android but
2014 Oct 22
3
[LLVMdev] debugloc metadata variation
Just working on some of the gmlt+fission debug info stuff and I came across
a comment that might be relevant to reducing the number of distinct
debugloc metadata nodes:
"or some sub-optimal metadata that
// isn't structurally identical (see: file path/name info from clang,
which
// includes the directory of the cpp file being built, even when the file
name
// is absolute (such as
2010 Sep 12
2
[LLVMdev] MCSymbol and DebugLoc
Hi all,
When emitting GC information, it can be very useful to emit the debug
location of a GC point, represented as a MCSymbol. Infortunately I haven't
found any API (JIT and codegen) where I can get from a MCSymbol to a
DebugLoc. Does that interface exist? If not, I plan on committing a small
change in the GC code where the debug location is passed to the constructor
of a GC point. Patch
2017 Feb 08
3
Stripping Debug Locations on cross BB moves, part 2 (PR31891)
So Reid came across a case where the current strategy (dropping locations
when they move across basic blocks) proves to be at odds with another
precept we have: inlinable calls must have locations, so that if/when they
are inlined the location can be accurately described (due to the nature of
our IR representation of inlining, a location must be given for the call
site so that the DIEs for the
2014 Jan 25
2
[LLVMdev] clang doesn't set code column in debug info records
This is maybe a minor issue, but it is obvious when one looks at debug
info produced by clang. Such records are normally created by the code
like this:
Instruction->setDebugLoc(llvm::DebugLoc::get(Line, Column, Scope));
and it appears that Column is always zero.
Yuri
2010 Sep 07
1
[LLVMdev] help converting llvm metadata into dwarf tags
hi Devang and thanks for the tips, i finally managed to fit all the pieces
together into something that seems to work.
It's probably not the best (or even correct!) way of doing it but here's a
brief overview for reference:
An instruction in the LLVM IR gets converted into an SDNode in the DAG then
later into a MachineInstr.
I'd already attached my own MDNodes to IR instructions I
2011 Feb 01
2
[LLVMdev] Convenience methods in ConstantExpr et al
I notice that there's a lot of inconsistency in the various LLVM classes
with respect to convenience methods. Here's some examples:
For creating GEPS, IRBuilder has:
CreateGEP (2 overloads)
CreateInBoundsGEP (2 overloads)
CreateConstGEP1_32
CreateConstInBoundsGEP1_32
CreateConstGEP2_32
CreateConstInBoundsGEP2_32
CreateConstGEP1_64
CreateConstInBoundsGEP1_64
2014 Oct 23
2
[LLVMdev] debugloc metadata variation
(sorry for the duplicate Fred, I failed at reply-all the first time)
On Wed, Oct 22, 2014 at 6:33 PM, Frédéric Riss <friss at apple.com> wrote:
>
> > On Oct 22, 2014, at 4:57 PM, David Blaikie <dblaikie at gmail.com> wrote:
> >
> > Just working on some of the gmlt+fission debug info stuff and I came
> across a comment that might be relevant to reducing the