search for: mrv_gr

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