search for: getsteprecurr

Displaying 3 results from an estimated 3 matches for "getsteprecurr".

2008 Jun 10
2
[LLVMdev] SCEV Question
Is there a document describing the guts of SCEV anywhere? I have a simple question. When looking at a linear SCEVAddRecExpr with a constant step recurrence (that is, getStepRecurrence returns SCEVConstant), is the constant in terms of bytes or in terms of "index," in that the byte offset is calculated by taking the step and multiplying it by the data size of any memory operation its used in. In this case, I have a load address and I call SE.getSCEV(Addr). That re...
2008 Jun 10
0
[LLVMdev] SCEV Question
...recurrences algebra), you may take a look at this article: http://citeseer.ist.psu.edu/vanengelen00symbolic.html I'm not aware of any LLVM-specific document describing SCEV. > I have a simple question. When looking at a linear SCEVAddRecExpr > with a constant step recurrence (that is, getStepRecurrence returns > SCEVConstant), is the constant in terms of bytes or in terms of "index," > in that the byte offset is calculated by taking the step and multiplying it > by the data size of any memory operation its used in. SCEV expressions are orthogonal to memory operations. They...
2012 Dec 10
3
[LLVMdev] [PATCH] Teaching ScalarEvolution to handle IV=add(zext(trunc(IV)), Step)
...// Accum: {a0,+,a1} + // iv'-accum: {StartVal-a0,+,Accum-a1} + const SCEV *SV = + getMinusSCEV(StartVal, AccumAddRec->getOperand(0)); + const SCEV *Ac = + getMinusSCEV(Accum, AccumAddRec->getStepRecurrence(*this)); + PHISCEV = getAddRecExpr(SV, Ac, L, Flags); + } else { + assert("Unexpected type of Accum"); + } + PHISCEV = getTruncateAndZeroExtend(PHISCEV, trunc->getType()); + PHISCEV = getA...