search for: computescevatscop

Displaying 4 results from an estimated 4 matches for "computescevatscop".

Did you mean: computescevatscope
2010 Jun 29
2
[LLVMdev] Confuse on getSCEVAtScope
...32 + @edge.8265),+,32}<Loop0>,+,4}<Loop1>, instead of {some_value, + ,4}<loop0>, where some_value is getSCEVAtScope({(32 + @edge.8265),+,32}<Loop0>, Loop1). because Loop0 have a computable backedge taken count, some_value should not be a SCEVAddRec. and later i have a look computeSCEVAtScope, and see the function do not do any thing when AddRec->getLoop()->contains(L). why computeSCEVAtScope not try to get the operands in the current scope like the function do with SCEVCommutativeExpr, like: if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(V)) { if (!L ||...
2011 May 01
0
[LLVMdev] ScalarEvolution::getSVECAtScope
Hi, Is it valid to query ScalarEvolution::getSCEVAtScope with a Value which is an Instruction inside the provided Loop? If so, I believe there is a bug in computeSCEVAtScope. Specifically: 04716     // If the scope is outside the addrec's loop, evaluate it by using the 04717     // loop exit value of the addrec. 04718     if (!AddRec->getLoop()->contains(L)) { 04719       // To evaluate this recurrence, we need to know how many times the AddRec 04720      ...
2011 May 01
0
[LLVMdev] ScalarEvolution::getSVECAtScope
...rmind. I misread the documentation. On Sat, Apr 30, 2011 at 8:12 PM, Thomas Jablin <tjablin at gmail.com> wrote: > Hi, > > Is it valid to query ScalarEvolution::getSCEVAtScope with a Value > which is an Instruction inside the provided Loop? If so, I believe > there is a bug in computeSCEVAtScope. Specifically: > > 04716     // If the scope is outside the addrec's loop, evaluate it by using the > 04717     // loop exit value of the addrec. > 04718     if (!AddRec->getLoop()->contains(L)) { > 04719       // To evaluate this recurrence, we need to know how many >...
2010 Jun 29
0
[LLVMdev] Confuse on getSCEVAtScope
On Jun 29, 2010, at 7:08 AM, ether zhhb wrote: > > why computeSCEVAtScope not try to get the operands in the current > scope like the function do with SCEVCommutativeExpr, like: > > if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(V)) { > if (!L || !AddRec->getLoop()->contains(L)) { > ... > // Then, evaluate the Add...