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