similar to: [LLVMdev] generate a weird 'and' instruction

Displaying 20 results from an estimated 900 matches similar to: "[LLVMdev] generate a weird 'and' instruction"

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, > --
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?
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, >
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]:
2014 Nov 22
2
[LLVMdev] How to get the indices in an getelementptr Value?
Hi, all I am a LLVM user. I want to get every element in the next instruction: %0 = load i32* getelementptr inbounds (%struct.Args* @globalArg, i64 0, i32 2), align 4, !dbg !85, !clap !86 Now I can only get value "i32* getelementptr inbounds (%struct.Args* @globalArg, i64 0, i32 2)" through "getOperand(0)", but I can not get "%struct.Args* @globalArg", "i64
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*,
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 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
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 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
0
[LLVMdev] How to install poolalloc?
Dear Qiuping, If you use the release_32 branch of poolalloc, then you need to use LLVM 3.2. For directions on compiling poolalloc with LLVM 3.2, please the SAFECode build directions at http://safecode.cs.illinois.edu/docs/Install.html. You can just skip the steps in the directions that compile SAFECode. Regards, John Criswell On 1/30/15 10:05 AM, Qiuping Yi wrote: > Hi, all > > I
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
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 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 =
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 Apr 14
0
Error: Verify if there is a pass dependency cycle
Hi, You need to initialize your pass with: INITIALIZE_PASS_BEGIN(YourPass, "your-pass", "Your Pass", /*cfgonly=*/false, /*analysis=*/false) INITIALIZE_PASS_DEPENDENCY(PostDominatorTreeWrapperPass) INITIALIZE_PASS_END(YourPass, "your-pass", "Your Pass", /*cfgonly=*/false, /*analysis=*/false) So as to both register your pass, and have
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