Displaying 3 results from an estimated 3 matches for "mrv_gr".
Did you mean:
mri_ar
2008 Aug 05
2
[LLVMdev] Anderson's analysis, getresult instruction on x86_64
...{
+ 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 getresult statement:
%mrv_gr = getresult { i64*, i64* } %74, 0 ; ; <i64*> [#uses=1]
The above code would add the constraint as Copy/%mrv_gr/%74 instead of
Copy/%mrv_gr/%74.0 (the actual field which is a pointer). Is there a way in
which
one can extract the Value* of the appropriate field of getresult using the
index (0...
2008 Aug 05
3
[LLVMdev] Anderson's analysis, getresult instruction on x86_64
...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, the opt crash in my case seems to be due to getresult that
does not access pointers (i am guessing from {i64, i64} type though i may b...
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