Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] How to fix the operand references of cloned instruction"
2013 Oct 19
2
[LLVMdev] Name of Virtual Registers
How can I get the name of the virtual Registers present on an instruction.
eg. %add18 = add nsw i32 %mul17, %37
in this case I want to extract the name of the virutal registers as "add18",
"mul17","37".
This can easily be done in the case of store Instruction
eg. store i32 %add20, i32* %t, align 4
in this case functions like
2011 Jul 17
0
[LLVMdev] Trying to optimize out store/load pair
Hello all,
My app is using LLVM JIT as a runtime engine for image analysis (similar to opencl). I'm placing values into a struct to pass byref to a series of functions. After running the createStandardModulePasses(...) set of optimizations, the function calls are all inlined but the struct store/load pairs haven't been optimized away. I've attached the code below. What I'd like to
2011 Jul 17
0
[LLVMdev] Trying to optimize out store/load pair
Hello all,
My app is using LLVM JIT as a runtime engine for image analysis (similar to opencl). I'm placing values into a struct to pass byref to a series of functions. After running the createStandardModulePasses(...) set of optimizations, the function calls are all inlined but the struct store/load pairs haven't been optimized away. I've attached the code below. What I'd like to
2012 Jun 22
1
[LLVMdev] Cloning block for newbie
Thank you for your help. It's working now.
I wasn't aware of the usefulness of the User class. The ValueMapper.cpp's
"RemapInstruction()" also helped me a lot to remap phi nodes and metadatas.
Thank you very much.
2012/6/21 Michael Ilseman <michael at lunarg.com>
> Please reply-all so that the thread is kept on llvmdev.
>
> The LLVM Programmer's Manual
2013 Jun 18
0
[LLVMdev] Getting the memory address of all operands on an expression
On Mon, Jun 17, 2013 at 11:49 PM, Abhinash Jain <omnia at mailinator.com>wrote:
>
> But before becoming part of the expressions, the registers will actually
> fetch some value from memory, through Load operations.
>
This is not true; the virtual registers need not be loaded from memory. You
may find <
2013 Jun 18
3
[LLVMdev] Getting the memory address of all operands on an expression
> in LLVM IR, the operands of most expression are registers, so don't have a
memory address.
Yes I agree with your this statement,
But before becoming part of the expressions, the registers will actually
fetch some value from memory, through Load operations.
as shown in example "r3=r1+r2" will be the expression, where registers such
as r1 and r2 contains (fetch) the values from
2014 Dec 10
2
[LLVMdev] Metadata/Value split has landed
> On 2014 Dec 10, at 08:40, Tom Stellard <tom at stellard.net> wrote:
>
> On Tue, Dec 09, 2014 at 09:22:16PM -0800, Duncan P. N. Exon Smith wrote:
>> The `Metadata`/`Value` split (PR21532) landed in r223802 -- at least, the
>> C++ side of it. This was a rocky day, but I suppose that's what I get
>> for failing to stage the change in smaller pieces.
>>
2009 Nov 05
0
[LLVMdev] Debug Information for LLVM 2.6 and TOT
Hi John,
On Thu, Nov 5, 2009 at 8:43 AM, John Criswell <criswell at uiuc.edu> wrote:
> Does the debug facilities in LLVM TOT, at present, maintain information
> better than LLVM 2.6 (i.e., if a front-end puts the debug information in,
> will the optimizations not take it out)? Does the information that the
> llvm-gcc front-end adds comparable to what llvm-gcc in LLVM 2.6 does?
2008 Apr 16
0
[LLVMdev] Problems in removing a cloned instruction.
Hi,
I'm gonna try to give some feedback, but I have only been working with LLVM
for a few days, so don't take what I'm saying without verifying :-)
> BasicBlock *ProgSlicer::CloneBasicBlock(const BasicBlock *BB,
> DenseMap<const Value*, Value*> &ValueMap,
> const char *NameSuffix, Function *F) {
>
> BasicBlock
2014 Dec 11
2
[LLVMdev] Metadata/Value split has landed
On Wed, Dec 10, 2014 at 05:27:45PM -0800, Duncan P. N. Exon Smith wrote:
> +zalman at google.com
>
Hi Duncan,
This patch plus another small change fixes the assertion failure for
me. With the patch alone, the void* overload of addGarbageObject()
was being used by MDNode::getTemporary(), so I had to cast the object as
an MDNode*:
diff --git a/lib/IR/Metadata.cpp b/lib/IR/Metadata.cpp
2014 Dec 10
3
[LLVMdev] Metadata/Value split has landed
> On 2014 Dec 10, at 14:08, Tom Stellard <tom at stellard.net> wrote:
>
> On Wed, Dec 10, 2014 at 11:21:08AM -0800, Duncan P. N. Exon Smith wrote:
>>
>>> On 2014 Dec 10, at 08:40, Tom Stellard <tom at stellard.net> wrote:
>>>
>>> On Tue, Dec 09, 2014 at 09:22:16PM -0800, Duncan P. N. Exon Smith wrote:
>>>> The `Metadata`/`Value`
2014 Dec 11
2
[LLVMdev] Metadata/Value split has landed
I committed:
r224058 = 966942da9e68b59c31ce770e7f94c55a63482c6b
r224060 = da75f7277e3a129aed8ef8aa4e0d84de40b76fd4
r224061 = f88e4c8e9171045454b2c8e05054c2af8da3fe4f
Let me know if somehow you're still hitting the problem.
r224061 removes leak detection entirely from `MachineInstr`. There aren't
any leaks to be had there, since they're allocated in a custom allocator.
They're
2008 Apr 16
2
[LLVMdev] Problems in removing a cloned instruction.
Hi all,
I am trying to write a pass where i am creating a clone of a
function (the only difference being, the new function returns void ,
instead of any value).
I am creating a new Function Type with a void return type (rest being
the same as original function), and using this i am creating a new
function body. Then, i clone the body of the old function into new
function, but when ever i
2013 Jul 26
2
[LLVMdev] LLVM ERROR : Invalid instruction
@Jim Grosbach,
Is there anyway to resolve it???
--
View this message in context: http://llvm.1065342.n5.nabble.com/LLVM-ERROR-Invalid-instruction-tp59856p59865.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.
2013 Jul 26
0
[LLVMdev] LLVM ERROR : Invalid instruction
On Jul 26, 2013, at 6:48 PM, Abhinash Jain <omnia at mailinator.com> wrote:
> Is there anyway to resolve it???
1. Teach the cpp backend how to handle it.
2. Compile with -fno-exceptions to turn off exceptions.
--
Stephen Checkoway
2013 Jun 10
3
[LLVMdev] Getting the memory address of all operands on an expression
How to get memory address of all operands which constitutes an expression ?
eg. a=b+c; (want to know the memory address of b and c)...... Since I want
this at run time, So at assembly level this expression will become something
like as follows:-
Load r1, M[b]
Load r2, M[c]
r3=r1+r2
store M[a],r3
Now what i want to do is that, at every store instruction, I should get the
memory address of all
2012 Jun 21
0
[LLVMdev] Cloning block for newbie
Please reply-all so that the thread is kept on llvmdev.
The LLVM Programmer's Manual has examples of how to iterate over many
common structures, such as instructions in a basic block[1]. Other
than that, you can check the source code or doxygen[2].
Basically, you loop over the instructions as detailed in the
programmer's manual[1], and loop over the operands using User's
2008 Jul 11
2
[LLVMdev] Cloning Functions
On Jul 11, 2008, at 9:59 AM, David Greene wrote:
> On Wednesday 09 July 2008 13:49, David Greene wrote:
>
>>> then it seems you're doing
>>>
>>> for each function
>>> generate_ir
>>> convert_to_llvm_ir
>>> optimize_llvm_ir
>>
>> Yep.
>
> Ok, I've mostly got a mechanism to do what I want:
>
> 1. As
2008 Jul 11
0
[LLVMdev] Cloning Functions
On Wednesday 09 July 2008 13:49, David Greene wrote:
> > then it seems you're doing
> >
> > for each function
> > generate_ir
> > convert_to_llvm_ir
> > optimize_llvm_ir
>
> Yep.
Ok, I've mostly got a mechanism to do what I want:
1. As each function comes in for op/codegen, clone it and save off
the clone and its associated ValueMap (I
2008 Jul 11
0
[LLVMdev] Cloning Functions
On Friday 11 July 2008 12:05, Devang Patel wrote:
> > Ok, I've mostly got a mechanism to do what I want:
> >
> > 1. As each function comes in for op/codegen, clone it and save off
> > the clone and its associated ValueMap (I call these clones
> > "pristine"
> > functions.
> >
> > 2. After all processing is done, clone the resulting