similar to: [LLVMdev] llvm alloca dependencies

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] llvm alloca dependencies"

2013 Jan 22
0
[LLVMdev] llvm alloca dependencies
On 1/21/13 5:22 AM, Alexandru Ionut Diaconescu wrote: > Hello everyone ! > > I am trying to determine for certain Load instructions from my pass > their corresponding Alloca instructions (that can be in other previous > blocks). The chain can be something like : `TargetLoad(var) -> other > stores/loads that use var (or dependencies on var) -> alloca(var).` , > linked
2013 Jan 24
2
[LLVMdev] llvm alloca dependencies
> I tried methods related to point 1) suggested by you, > but I still have problems of finding dependencies. > What exactly I want to do: > > I have a chain like : Alloca -> Load(1) -> ... -> Computation > where the variable might be changed -> Store(new_var) -> ... -> Load(n) Your example is not very clear. I don't understand what's involved in the
2013 Jan 25
0
[LLVMdev] llvm alloca dependencies
Thank you a lot for your response. I will try to use your approach with chasing back along def-use chains to find instructions that define the registers used in the load. Can you tell me please what class/methods/existing path are good for this? I assume that I must have a method with arguments like the variable used into a Load instruction and a "stop instruction", like an Alloca.
2013 Jan 25
2
[LLVMdev] llvm alloca dependencies
Hi Alexandru, On 25/01/13 10:23, Alexandru Ionut Diaconescu wrote: > Thank you a lot for your response. I will try to use your approach with chasing > back along def-use chains to find instructions that define the registers used in > the load. Can you tell me please what class/methods/existing path are good for > this? I assume that I must have a method with arguments like the
2013 Jan 25
0
[LLVMdev] llvm alloca dependencies
Hello Duncan, I compiled LLVM without optimizations (because maybe I have to look to memory accesses in the future). Maybe some of these optimizations I can enable when I am running my pass with opt ? It is still one thing that I don't understand. If the memory accesses will be eliminated, and I have the following situation: %i = alloca i32, align 4 %j = alloca i32, align 4 ..... %2 = load
2013 May 02
2
[LLVMdev] int to StringRed conversion
I think the better solution should be: LLVMContext& C = is->getContext(); Value *values[] = { ConstantInt::getSigned(Type::getInt64Ty(C), *scsr*), MDString::get(C, *"path"*) }; lnstr.setMetadata(*"your_analysis_name"*, MDNode::get(C, values)); So that you can take advantage of the type system of LLVM bitcode, and don't have to cast the integers from/to strings
2013 Jun 25
4
[LLVMdev] get value
Hi Cristianno, Thank you, it works :) with an extra cast:                                     Value *v ......                                     ConstantInt* RR = (ConstantInt *)v;                                     uint64_t VV = (RR->getValue()).getLimitedValue();                                     errs()<<"\nRR  "<<VV<<"\n";
2012 Dec 20
2
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
Hello, Thank you for your answer. If I want to use then I have error: ‘NodeTy* llvm::ilist_half_node<NodeTy>::getPrev() [with NodeTy = llvm::Instruction]’ is protected error: ‘llvm::ilist_half_node<llvm::Instruction>’ is not an accessible base of ‘llvm::Instruction’ Do you know any other method to access the previous instruction of a terminator instruction? PS: back() is not an
2013 Feb 27
3
[LLVMdev] llvm get annotations
Hello everyone ! I followed http://stackoverflow.com/questions/4976298/modern-equivalent-of-llvm-annotationmanagerin order to get annotations from my target bytecode. All the examples that I give in the following is related to the code from that link. I have `__attribute__((annotate("DS"))) int f=0;` into the target C++ program and the related IR code: @.str = private unnamed_addr
2013 Jun 06
3
[LLVMdev] CFG of a function
I think I understood that, but what I mean is what is the function responsible to do mapping is it MapValue() in ValueMapper.h? Thanks for your help On 6 June 2013 09:54, Alexandru Ionut Diaconescu < alexandruionutdiaconescu at gmail.com> wrote: > Map every basic block from the CFG to a set of integers. The successors > from the CFG can be used to make the edges in your simplified
2017 Jan 18
2
Loop Invariants Detection questions
Ty Eli for your answer. On Tue, Jan 17, 2017 at 8:11 PM, Friedman, Eli <efriedma at codeaurora.org> wrote: > On 1/17/2017 7:12 AM, Thomas RUBIANO via llvm-dev wrote: > >> Hi all! >> >> I'm new here, and would like to implement my own Loop Invariant Detection >> adding some more information on Quasi-Invariants. >> >> First, is there anything
2017 Jan 17
2
Loop Invariants Detection questions
Hi all! I'm new here, and would like to implement my own Loop Invariant Detection adding some more information on Quasi-Invariants. First, is there anything about Quasi-Invariants detection in LLVM I would missed? I've seen LICM using LoopInfo::isLoopInvariant for finding invariants. It seems that this method considers a Value invariant if: - it's an Instruction not presents in the
2012 Dec 20
1
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
I solved by checking if(BB->size()>1) Thank you all for the help ! Now debugging the next segfault. On Thu, Dec 20, 2012 at 12:59 PM, Alexandru Ionut Diaconescu < alexandruionutdiaconescu at gmail.com> wrote: > getPrevNode<http://llvm.org/docs/doxygen/html/classllvm_1_1ilist__node.html#a77b897207ef0a1ae95c404695aed9a4b>() > Get the previous node, or 0 for the list
2013 May 02
4
[LLVMdev] int to StringRed conversion
Hello everyone, I have an integer and I want to convert it to StringRef in order to set metadata. setMetadata->(StringRef, MDNode*); It is there a native LLVM way to do it? 1. In the llvm::APSInt Class is toString() method, which seems it is not for this purpose 2. itoa and string are not part of LLVM 3. stringstream is not part of LLVM 4. to_string is not part of LLVM 5. any casting method?
2013 Jun 05
2
[LLVMdev] CFG of a function
What do you mean by mapping to integers? On 5 June 2013 22:32, Alexandru Ionut Diaconescu < alexandruionutdiaconescu at gmail.com> wrote: > Why you don't map the basic blocks to integers and apply algorithms on the > integer graph? And construct your new CFG. > > > On Wed, Jun 5, 2013 at 10:27 PM, Rasha Omar <rasha.sala7 at gmail.com> wrote: > >> How
2013 May 02
0
[LLVMdev] int to StringRed conversion
Yes, it sounds good. I can try tomorrow. Thank you for your advice ! On Thu, May 2, 2013 at 5:43 PM, Logan Chien <tzuhsiang.chien at gmail.com>wrote: > I think the better solution should be: > > > LLVMContext& C = is->getContext(); > Value *values[] = { > ConstantInt::getSigned(Type::getInt64Ty(C), *scsr*), > MDString::get(C, *"path"*) > };
2013 Mar 05
5
[LLVMdev] LLVM load instruction query
HI, I am creating a pass that will pass loaded value by load instruction to an external function. I don't know how to do it.Please Help.
2012 Dec 20
0
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
getPrevNode<http://llvm.org/docs/doxygen/html/classllvm_1_1ilist__node.html#a77b897207ef0a1ae95c404695aed9a4b>() Get the previous node, or 0 for the list head. I don't see any method like hasPrevNode. It can be a weird problem because "current->getPrevNode()" is indicating to "current" itself (the problem appears for the BB with only one element)? On Thu, Dec
2013 Jun 07
1
[LLVMdev] CFG of a function
But I don't want to map only basic blocks, I need too to map the edges "the whole CFG of the function" Save the CFG of the function in another memory address and call it for example orgCFG and change the CFG by referencing to the orgCFG Thank you for help and patience On 6 June 2013 10:59, Alexandru Ionut Diaconescu < alexandruionutdiaconescu at gmail.com> wrote: > I
2013 Jun 06
0
[LLVMdev] CFG of a function
I don't use a function for do the mapping, it may be MapValue(). If it does not work, alias an int identifier for each basic block. Be aware because basic block cannot have the same name (getName) in the same function, but they might have the same name being in different functions. Therefore, take into account the function name as well. Good luck On Thu, Jun 6, 2013 at 10:55 AM, Rasha Omar