Displaying 4 results from an estimated 4 matches for "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
> t...
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 AddR...