Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] Grabbing Result of an Instruction."
2011 Aug 02
1
[LLVMdev] Grabbing Result of an Instruction.
Thanks Michael.
I wish to get Type of %1 i.e. result of instruction. Let me try out your
suggestion. But It is still not clear to me how will dyn_cast will help
here. I already have pointer to this particular instruction.
On Mon, Aug 1, 2011 at 5:34 PM, Michael Ilseman <michael at lunarg.com> wrote:
> In LLVM, %1 is the instruction itself. This is because LLVM IR is in
> SSA, so the
2011 Aug 02
0
[LLVMdev] Grabbing Result of an Instruction.
In LLVM, %1 is the instruction itself. This is because LLVM IR is in
SSA, so the "=" really means equality. If you look at a use of %1,
e.g. as an operand to another instruction, you'll see that it's the
instruction itself that is there (i.e. you can dyn_cast<Instruction>
it).
On Mon, Aug 1, 2011 at 5:27 PM, Manish Gupta <manishg at cs.ucsd.edu> wrote:
> What
2011 Aug 02
0
[LLVMdev] Grabbing Result of an Instruction.
Thanks!!! James and Michael. yes now got the idea how it is working.
Manish
On Tue, Aug 2, 2011 at 7:59 AM, James Molloy <james.molloy at arm.com> wrote:
> Hi Manish,****
>
> ** **
>
> As Michael mentioned, the Instruction is its own result.****
>
> ** **
>
> The Instruction class subclasses Value. If you treat the Instruction as a
> Value you will get what
2011 Sep 21
3
[LLVMdev] Alias Analysis (Andersen pointer analysis)
Thanks Everyone for the info.
I am planning to work with DSA on llvm-2.9. Hope it is working as John
mentioned.
Manish
On Tue, Sep 20, 2011 at 7:06 AM, John Criswell <criswell at illinois.edu>wrote:
> On 9/19/11 9:12 PM, Manish Gupta wrote:
>
> Dear All,
>
> I am curious to know the reason for removal of andersen pointer analysis.
> Is it because of some issues? We
2011 Aug 03
2
[LLVMdev] Tracing Value Dependency Chains
Hello All,
What would be the best way to trace Value Dependency Chains in LLVM. Can I
use some API to perform this?
The use-def chain process mentioned at
http://llvm.org/docs/ProgrammersManual.html#iterate_chains will just get the
values (Operands) being used in the current Instruction. For getting the
values operands in the particular instruction are influenced from I have
to recursively call
2011 Aug 04
2
[LLVMdev] Tracing Value Dependency Chains
On 8/4/11 1:53 PM, Manish Gupta wrote:
> It would be great help if someone can point me to similar code in
> Analysis or Transform, i.e. tracing value dependencies chains.
If I understand correctly, given an instruction I, you want to find its
operands o1 through oN, and then find the instructions (or LLVM values)
that generate the values o1 through oN, and then find the instructions
2011 Sep 21
0
[LLVMdev] Alias Analysis (Andersen pointer analysis)
The README at the location shared by John says
"DSA is undergoing significant changes and may not be entirely stable
or correct.
See lib/DSA/README"
So, I was wondering from where should one pick the code. Although I will
start my analysis and see how results turn out to be. But any comments on
this line will be helpful.
Thanks
Manish
On Tue, Sep 20, 2011 at 5:13 PM, Manish Gupta
2011 Aug 04
0
[LLVMdev] Tracing Value Dependency Chains
It would be great help if someone can point me to similar code in Analysis
or Transform, i.e. tracing value dependencies chains.
Thanks,
Manish
On Wed, Aug 3, 2011 at 10:47 AM, Manish Gupta <manishg at cs.ucsd.edu> wrote:
> Hello All,
>
> What would be the best way to trace Value Dependency Chains in LLVM. Can I
> use some API to perform this?
>
> The use-def chain
2011 Aug 04
0
[LLVMdev] Tracing Value Dependency Chains
Hey John,
Yes this is what I am looking for. I wrote a code as I described in my first
mail and I am getting desired result except when the chain encounters load
instruction (you have also mentioned the that u skip loads).
I think the recursive trace back for a Value V depending on Operands
(o1,...oN) should terminate at the nearest definition of the oN (i.e. it is
not an instruction but a LLVM
2011 Aug 04
1
[LLVMdev] Tracing Value Dependency Chains
On 8/4/11 2:45 PM, Manish Gupta wrote:
> Hey John,
>
> Yes this is what I am looking for. I wrote a code as I described in my
> first mail and I am getting desired result except when the chain
> encounters load instruction (you have also mentioned the that u skip
> loads).
Okay. Just out of curiosity, is your static slice local (stopping at
function arguments) or
2014 Jul 07
2
[LLVMdev] Return Type of Call Function with nested bitcast
Hi All,
I am facing an issue with CallInst with nested bitcast instruction. I want
to check if the return type of a call is void or non-void the below line
works well for CallInst without bit cast.
*cast<CallInst>(I)->getCalledFunction()->getReturnType()->isVoidTy()*
But for Call instructions like
*call void bitcast (void (%struct.jpeg_compress_struct.131*, i32)*
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
2012 Jun 21
3
[LLVMdev] Cloning block for newbie
Hello everybody.
I'm quite new to LLVM and I'm encontering problems with cloning basic
blocks. My two basic blocks are in the same function and it doesn't really
matter how the cloned one behave for the moment. Of course, to do so, I
used the cloning.h 's method "CloneBasicBlock" but I have the "Instruction
does not dominate all uses!" error.
I know what it
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I still have the addRequired:
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<DominatorTree>();
}
The other line
DominatorTree *dt = &getAnalysis<DominatorTree>();
Is for later use when I try to use PromoteMemToReg
On Tue, Nov 8, 2011 at 4:22 PM, Michael Ilseman <michael at lunarg.com> wrote:
> Something's
2012 Nov 10
2
[LLVMdev] Inlining bitcast functions...
Spoke too soon... running the inst combine pass does seem to resolve the linker/inlining issue. But the resulting code fails to run correctly. I was expecting the same result that I get when running with unstripped modules, that is passing test runs. When it still failed, I guessed the failure mode to be the same, but it isn't.
Not sure WHAT to make of this...
2011 May 09
1
[LLVMdev] get basic blocks inside a loop
Thanks Michael. Can you please explain you way a bit more? Did you run a
function pass then a loop pass?
On Mon, May 9, 2011 at 12:56 PM, Michael Ilseman <michael at lunarg.com> wrote:
> Whenever I was tying to do that (in version 2.8), it didn't give them
> to me in a topological order. What I did, as a hack-ish temporary
> measure, was rely on Function's ordering, and
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
On 11/8/11 4:34 PM, ret val wrote:
> I still have the addRequired:
> virtual void getAnalysisUsage(AnalysisUsage&AU) const {
> AU.addRequired<DominatorTree>();
> }
>
> The other line
> DominatorTree *dt =&getAnalysis<DominatorTree>();
> Is for later use when I try to use PromoteMemToReg
Isn't DominatorTree a
2011 Nov 09
1
[LLVMdev] loadable passes with dependencies?
Awesome, that let me get far enough to trip:
Assertion failed: (ResultPass && "Unable to find requested analysis
info"), function getAnalysisID
Is there something else I forgot?
On Tue, Nov 8, 2011 at 5:47 PM, John Criswell <criswell at illinois.edu> wrote:
> On 11/8/11 4:34 PM, ret val wrote:
>>
>> I still have the addRequired:
>> virtual
2011 May 09
0
[LLVMdev] get basic blocks inside a loop
Whenever I was tying to do that (in version 2.8), it didn't give them
to me in a topological order. What I did, as a hack-ish temporary
measure, was rely on Function's ordering, and just iterated over all
the blocks in the function, checking to see if the loop contains that
block. Not at all ideal, and what I was writing later evolved to not
need the topological ordering constraint, so I
2011 May 09
2
[LLVMdev] get basic blocks inside a loop
Hi all,
I have a question about llvm::LoopBase getBlocks() method. Does it return
the basic blocks inside the loop in random order? I need to order the blocks
in some valid topological ordering of the AST. If getBlocks() does not do
that, what can I do to find the ordering?
Thanks,
Naznin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: