similar to: [LLVMdev] Getting the target information of a branch instruction

Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] Getting the target information of a branch instruction"

2007 Jul 02
2
[LLVMdev] Getting the target information of a branch instruction
I think you can refer to lib/VMCore/AsmWriter.cpp for these things. E.g., You can use 'if(I.isTerminator())' if a instruction 'I' is terminator. You can use 'if (isa<BranchInst>(I))' if a instruction 'I' is 'br' instruction. and so on... Thx, Seung Jae Lee ---- Original message ---- >Date: Mon, 2 Jul 2007 17:15:00 -0400 (EDT) >From: abhi232
2007 Jul 02
0
[LLVMdev] Getting the target information of a branch instruction
Thanks a lot for the help guys.. I will try to get the information on these lines... Thank you once again... Will bug you guys after some time now. :) > I think you can refer to lib/VMCore/AsmWriter.cpp for these things. > > E.g., > You can use 'if(I.isTerminator())' if a instruction 'I' is terminator. > You can use 'if (isa<BranchInst>(I))' if a
2007 Jul 02
0
[LLVMdev] Getting the target information of a branch instruction
On Mon, 2 Jul 2007 abhi232 at cc.gatech.edu wrote: > Hello all, > I am new to the llvm infrastructure so if this question is already > resolved please redirect me to that link. > > I am writing a pass for flow sensitive and context sensitive alias > analysis.for that i require the previous and next instruction of all the > instructions.Is there an intrinsic that can help me
2007 Jul 02
1
[LLVMdev] Getting the target information of a branch instruction
> On Mon, 2 Jul 2007 abhi232 at cc.gatech.edu wrote: >> Hello all, >> I am new to the llvm infrastructure so if this question is already >> resolved please redirect me to that link. >> >> I am writing a pass for flow sensitive and context sensitive alias >> analysis.for that i require the previous and next instruction of all the >> instructions.Is there
2006 Nov 13
0
[LLVMdev] post-dominance frontier
On Thu, 9 Nov 2006, Ryan M. Lefever wrote: Sorry I never responded to this: > In the literature (see below for a reference), when a dominance frontier > is computed, it is computed from a CFG that contains a dummy entry node > and dummy exit node. Further, those dummy nodes are potential members > of the (post-)dominance frontier for a given basic block. In LLVM, I > could not
2006 Nov 10
2
[LLVMdev] post-dominance frontier
In the literature (see below for a reference), when a dominance frontier is computed, it is computed from a CFG that contains a dummy entry node and dummy exit node. Further, those dummy nodes are potential members of the (post-)dominance frontier for a given basic block. In LLVM, I could not figure out a way to determine if the dummy entry node is a member of the post-dominance frontier of
2007 Jul 23
2
[LLVMdev] LHS of an expression
Hi Bill, Thanks a lot for your response.But my problem still remains.The thing is i am having a data type std::vector<Value*> as i am checking for the variables in Store Instructions and Malloc Instructions.For store the case is straightforward as discussed earlier.I want the same Value* variable for malloc inst as well. bcos i cannot have a different set for only instructions. can there be
2007 Jul 24
0
[LLVMdev] LHS of an expression
On 7/23/07, abhi232 at cc.gatech.edu <abhi232 at cc.gatech.edu> wrote: > Hi Bill, > Thanks a lot for your response.But my problem still remains.The thing is i > am having a data type std::vector<Value*> as i am checking for the > variables in Store Instructions and Malloc Instructions.For store the case > is straightforward as discussed earlier.I want the same Value*
2017 Feb 05
3
Adding Extended-SSA to LLVM
On Sun, Feb 5, 2017 at 12:25 PM, Nuno Lopes <nunoplopes at sapo.pt> wrote: > Hi Daniel, > > Many thanks for working on this! > SSI/e-SSA is the only way I'm aware of for doing efficient sparse > analyses, so I'm definitely in favor of adding support for it in LLVM! > > I read the discussion so far and did a cursory review of the patches, and > I have just a
2017 Feb 02
4
Adding Extended-SSA to LLVM
Hey folks, After a long amount of discussion both offline and on, I put a pass/intrinsic to add extended SSA up at http://reviews.llvm.org/D29316. Sean asked me to share it more broadly on llvm-dev, so here you go :) For those not familiar with extended-SSA, it's described in the paper "ABCD: Eliminating Array Bounds Checks on Demand". There is a very large amount of explanation
2007 Aug 02
0
[LLVMdev] Debug info for conditionally defined variables?
Hi, I have this piece of code: tm = local ? localtime(&curr) : gmtime(&curr); if (!tm) return NULL; which translates into something like: ---------------------------------------------- entry: %iftmp.0 = alloca %struct.tm*, align 8 %tm = alloca %struct.tm*, align 8 ... // Declares iftmp.0 as iftmp.0 call void @llvm.dbg.declare( { }* %iftmp.0, { }* bitcast
2008 Jan 12
1
[LLVMdev] Labels
I'm attempting to modify a parser generator to emit LLVM code instead of C. So far the experience has been trivial, but I am now running into an error regarding labels that I can't seem to solve. Situation 1: A label is used immediately after a void function call (l6 in this case): <snip> %tmp26 = load i32* @yybegin, align 4 %tmp27 = load i32* @yyend, align 4 call void
2007 Nov 23
1
[LLVMdev] Will any pass change simple return branch into select/return pair?
Hi, Can any llvm pass change simple return branch into select/return pair? For example: define i10 @mod_N(i10 zeroext %a) zeroext { entry: %tmp2 = icmp ugt i10 %a, -400 ; <i1> [#uses=1] br i1 %tmp2, label %cond_true, label %return cond_true: ; preds = %entry %tmp5 = add i10 %a, 400 ; <i10> [#uses=1] ret i10 %tmp5 return: ; preds = %entry ret
2008 Nov 14
2
[LLVMdev] Move instruction
Hi all, Can anybody tell me how to generate a mov instruction in llvm. I found out there is a MemMove Inst but I dont think that is what I want. I want to bypass a load instruction. So i need to generate a mov instruction which will help me remove the redundant load. Thanks -- Abhinav Karhu MS Computer Science Georgia Institute of Technology
2007 Jul 12
1
[LLVMdev] backend problem with LiveInterval::removeRange
Hi all, When compiling some programs using the Mips backend i'm getting this assert message on lib/CodeGen/LiveInterval.cpp:227: "Range is not entirely in interval!" I don't know yet if it's something that is missing on the backend code or why the range to be removed it outside the interval, does anyone have any clue? A more detailed output is attached. The program i tried
2014 Mar 03
6
[Bug 2207] New: Potential NULL deference, found using coverity
https://bugzilla.mindrot.org/show_bug.cgi?id=2207 Bug ID: 2207 Summary: Potential NULL deference, found using coverity Product: Portable OpenSSH Version: -current Hardware: Other OS: FreeBSD Status: NEW Severity: enhancement Priority: P5 Component: sshd Assignee:
2008 Nov 15
0
[LLVMdev] Move instruction
On Fri, Nov 14, 2008 at 2:13 PM, Karhu, Abhinav R <akarhu3 at gatech.edu> wrote: > > Hi all, > Can anybody tell me how to generate a mov instruction in llvm. I found out there is a MemMove Inst but I dont think that is what I want. > I want to bypass a load instruction. So i need to generate a mov instruction which will help me remove the redundant load. At the LLVM IL level,
2011 Aug 31
2
[LLVMdev] How to place call(s) to functions found in other llvm modules ???
Hello Everyone, I am trying to create two modules in LLVM, where first module contains the definition of a function, gcd in this example and another module contains a call to this function. My example is based on the following tutorial, with a few changes. http://llvm.org/releases/2.6/docs/tutorial/JITTutorial2.html When I execute the verifier pass on my modules, it complains that the
2006 Apr 19
2
[LLVMdev] floating point exception and SSE2 instructions
Hi, I'm building a little JIT that creates functions to do array manipulations, eg. sum all the elements of a double* array. I'm writing this in python, generating llvm assembly intructions and piping that through a call to ParseAssemblyString, ExecutionEngine, etc. It's working OK on integer values, but i'm getting nasty floating point exceptions when i try this on double*
2006 Oct 24
1
[LLVMdev] InsertBranch called unconditionally?
According to the docs, InsertBranch should only be called if AnalyzeBranch returns success. But in targets (like ARM or Sparc) that don't implement them, the following test fails: ----------------------------------- void %__gcov_init() { entry: switch uint 0, label %cond_true.i [ uint 0, label %UnifiedReturnBlock uint 875573313, label