similar to: [LLVMdev] How to get the indices in an getelementptr Value?

Displaying 20 results from an estimated 400 matches similar to: "[LLVMdev] How to get the indices in an getelementptr Value?"

2014 Nov 22
2
[LLVMdev] How to get the indices in an getelementptr Value?
Hi Michael, Thank you very much. But idx_begin/idx_end iterators can only be used through a getelementptr instruction, right? However, I think value "i32* getelementptr inbounds (%struct.Args* @globalArg, i64 0, i32 2)" itself is not a getelementptr instruction, so? Or could you tell me how can I get a getelementptr instruction first from this value?
2014 Nov 22
3
[LLVMdev] How to get the indices in an getelementptr Value?
On Sat, Nov 22, 2014 at 11:09 AM, Sanjoy Das <sanjoy at playingwithpointers.com > wrote: > Hi Qiuping, > > If I'm reading the IR correctly, what you have is a > GetElementPtrConstantExpr [1]. It subclasses from llvm::Constant. > If you want the same code to handle GetElementPtrConstantExpr *and* GetElementPtrInst, you can use GEPOperator. > > Thanks, > --
2012 Apr 23
0
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi, When I write various test cases and explore how they're handled by the code in LoopDependenceAnalysis::analysePair, I'm surprised. This loop collects pairs of subscripts from the source and destination refs. * // Collect GEP operand pairs (FIXME: use GetGEPOperands from BasicAA), adding* * // trailing zeroes to the smaller GEP, if needed.* * GEPOpdsTy destOpds, srcOpds;* *
2012 Apr 12
6
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi, Here is a preliminary (monolithic) version you can comment on. This is still buggy, however, and I'll be testing for and fixing bugs over the next few days. I've used your version of the strong siv test. Thanks! -- Sanjoy Das. http://playingwithpointers.com -------------- next part -------------- A non-text attachment was scrubbed... Name: patch.diff Type: application/octet-stream
2016 Jan 20
2
Why getFunction() of CallGraphNode return NULL function?
So, I won't know the called function statically, Right? -------------------------------------------- Qiuping Yi Institute Of Software Chinese Academy of Sciences On Wed, Jan 20, 2016 at 2:24 PM, Nema, Ashutosh <Ashutosh.Nema at amd.com> wrote: > Typically for C++ virtual function you will see an indirect callSite > (unless not de-virtualized). > > > > Regards, >
2016 Jan 20
2
Why getFunction() of CallGraphNode return NULL function?
Dear Ashutosh, Thank you, I can handle some indirect callSites by getFunction() of InvokInst and CallInst. However, when I am handling C++ programs, I found the calls of member functions are converted to some strange indirect calls. For example: table->truncate(sysTransaction); // from mysql are translated to the next complex llvm IR: _ZN8Database20getSystemTransactionEv.exit: ;
2015 Jan 31
4
[LLVMdev] How to install poolalloc?
Hi, John Criswell Thank you very much. I am installing LLVM-3.2, but I encounter the next error when carrying out "make": llvm[3]: Compiling ClangASTNodesEmitter.cpp for Release+Asserts build ClangASTNodesEmitter.cpp: In member function ‘std::pair<llvm::Record*, llvm::Record*><unnamed>::ClangASTNodesEmitter::EmitNode(const std::multimap<llvm::Record*, llvm::Record*,
2015 Jan 31
0
[LLVMdev] How to install poolalloc?
Which compiler are you using to compile poolalloc? Looks like it doesn't support C++11 (doesn't recognize nullptr). Jingyue On Fri, Jan 30, 2015 at 8:32 PM, Qiuping Yi <yiqiuping at gmail.com> wrote: > Hi, John Criswell > > Thank you very much. > > I am installing LLVM-3.2, but I encounter the next error when carrying out > "make": > > llvm[3]:
2018 Feb 09
1
PHI nodes for atomic variables
Dear Daniel Berlin, I just tried MemorySSA analysis and get the next IR. However, I feel confused by the result. Specifically, why instruction *%3* relates to a *MemoryDef*. According to my understanding, I think *%3* should be related to a *MemoryUse*, right? ; Function Attrs: uwtable define void @_Z2f1v() #3 personality i32 (...)* @__gxx_personality_v0 { entry: ; 1 = MemoryDef(liveOnEntry)
2015 Jan 30
2
[LLVMdev] How to install poolalloc?
I am just not upgrade my LLVM. So I must use some higer LLVM version, right? -------------------------------------------- Qiuping Yi Institute Of Software Chinese Academy of Sciences On Fri, Jan 30, 2015 at 11:21 PM, John Criswell <jtcriswel at gmail.com> wrote: > On 1/30/15 10:17 AM, Qiuping Yi wrote: > > Thank you. But now I am using LLVM 2.9, so which version of poolalloc I
2015 Jan 30
2
[LLVMdev] How to install poolalloc?
Thank you. But now I am using LLVM 2.9, so which version of poolalloc I should use ? -------------------------------------------- Qiuping Yi Institute Of Software Chinese Academy of Sciences On Fri, Jan 30, 2015 at 11:12 PM, John Criswell <jtcriswel at gmail.com> wrote: > Dear Qiuping, > > If you use the release_32 branch of poolalloc, then you need to use LLVM > 3.2. >
2015 Jan 31
0
[LLVMdev] How to install poolalloc?
On 1/30/15 11:32 PM, Qiuping Yi wrote: > Hi, John Criswell > > Thank you very much. > > I am installing LLVM-3.2, but I encounter the next error when carrying > out "make": Is this error occurring when compiling the version of Clang within SAFECode or standard Clang? If it's the former, you should know that you don't need to compile SAFECode to use
2015 Jan 30
0
[LLVMdev] How to install poolalloc?
On 1/30/15 10:24 AM, Qiuping Yi wrote: > I am just not upgrade my LLVM. So I must use some higer LLVM version, > right? Yes. For working with poolalloc, I would recommend using LLVM 3.2 as we know poolalloc compiles with LLVM 3.2. If there's a release_29 branch for poolalloc, you could use that, but you won't get any bug fixes that we added between poolalloc 2.9 and poolalloc
2015 Jan 30
0
[LLVMdev] How to install poolalloc?
On 1/30/15 10:17 AM, Qiuping Yi wrote: > Thank you. But now I am using LLVM 2.9, so which version of > poolalloc I should use ? Why are you using LLVM 2.9? That's an old version of LLVM (even by my standards). Is there some other LLVM-based tool that requires that you use LLVM 2.9? Regards, John Criswell > > > -------------------------------------------- > Qiuping Yi
2015 Jan 30
2
[LLVMdev] How to install poolalloc?
Hi, all I want to use the alias analysises in project poolalloc, but I encounter some problem during installing it. I install poolalloc as follow: 1) cd llvm/projects svn co http://llvm.org/svn/llvm-project/poolalloc/branches/release_32 poolalloc 3) cd LLVM-object-directory make tools-only cd projects/poolalloc make When I carried out "make", I get the next error
2018 Feb 08
3
PHI nodes for atomic variables
Thanks for your explanation. Do you mean that LLVM will not maintain the def-use chain for atomic variables? So it is impossible to directly catch the fact that the load of x at the statement 'data1 = x; ' dependents on data4 (because of the statement x=data4 )? If I want to get such information, may be the only solution is to traverse all the predecessors of the statement 'data1 =
2017 Jul 12
2
A strange problem about type i64 for LLVM
Hi Tim Northover, I just use Mac OS X, Intel Core i5. 'retValue' is initialized, computed, and then returned from 'myFunction', so I think this problem is not introduced by uninitialized value. In addition, '306205760' is not a meaningless value, but the result of truncating '140583176769504' to 32 bits. Actually, I instrumented some call instructions for value
2018 Apr 12
2
Error: Verify if there is a pass dependency cycle
Hi everyone, I write a new FunctionPass which wants to use pass PostDominatorTree, so I implement the next function: void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<PostDominatorTree>(); AU.setPreservesAll(); } Then I get PDT through the next statement: PostDominatorTree *PDT = &getAnalysis<PostDominatorTree>(); My code can be successfully
2018 Feb 08
0
PHI nodes for atomic variables
Let me try to help. On Thu, Feb 8, 2018 at 12:13 PM, Qiuping Yi via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Thanks for your explanation. > > Do you mean that LLVM will not maintain the def-use chain for atomic > variables? > It is not a variable at the LLVM level. At the source level, it is a variable. At the LLVM IR level, it is lowered into memory operations. All
2002 Sep 22
2
[LLVMdev] Accessing constant indexes in GetElementPtr
Ok. Let's say I have a GetElementPtrInst that is used to access structure elements. In this case the indexes will be constants and I want to get the constant values as an a native C int. Now I can iterate over all the indexes with idx_begin(). I can cast all of the indexes to a ConstantIntegral. However, I cannot cast the indexes to a ConstantSInt or ConstantUInt (cast<> throws an