Displaying 3 results from an estimated 3 matches for "getresultinst".
2008 Aug 05
2
[LLVMdev] Anderson's analysis, getresult instruction on x86_64
Thanks for the replies, Daniel and Matthijs. I added some code to generate
the copy constraint, which I think (in the present form) is wrong (or at
best not field sensitive):
+void Andersens::visitGetResultInst(GetResultInst &GR) {
+ if (isa<PointerType>(GR.getType()))
+ {
+ // P1 = getresult P2 --> <Copy/P1/P2>
+ Constraints.push_back(Constraint(Constraint::Copy,
getNodeValue(GR),
+
getNode(GR.getOperand(0))));
+ }
+}
Take for example the...
2008 Aug 05
0
[LLVMdev] Anderson's analysis, getresult instruction on x86_64
Hi Prakash,
I think this is highly related to PR2527 [1] and PR2451 [2]. I assume you are
using LLVM 2.3, since current svn automatically replaces getresult with
extractvalue instructions (but doesn't help for Andersen's).
In either case, it seems that Andersen's currently has no ready made way to
indicate a part of a first-class aggregate (or vector), which is the essence
of the
2008 Aug 05
3
[LLVMdev] Anderson's analysis, getresult instruction on x86_64
...ning Ubuntu 8.04) and it seems that the 'getresult' instruction
is not currently handled. When I run the same analysis on the bitcode got by
compiling (using llvm-gcc on a 32 bit machine) on a 32-bit x86 machine, it
runs fine. I was trying to see if it is possible to quickly add a
'visitGetResultInst' to Andersons.cpp but could not quite find the right
constraint to add to the pointer analysis. Can a instruction like :
%mrv_gr = getresult { i64*, i64* } %74, 0
be modelled as a load/store/getelementpointer and a
Constraint::Load/Store/Copy be added to handle this case ?
Right now though,...