Displaying 3 results from an estimated 3 matches for "scalarevoluton".
Did you mean:
scalarevolution
2013 Oct 01
3
[LLVMdev] ScalarEvolution::createNodeForPHI
...ut the NSW flag that is present in the SUB instruction is not propagated in the
AddRec.
Looking in the source code I analyzed the construction of the SCEV for a PHINode
and during the analysis of the loop-invariant part of the increment the flags
NSW/NUW are set according to the Operator BEValueV
(ScalarEvoluton.cpp:3099-3113), but only Add and GEP operators are checked.
//-------------------------------------------------------------------------//
if (const AddOperator *OBO = dyn_cast<AddOperator>(BEValueV)) {
if (OBO->hasNoUnsignedWrap())
Flags = setFlags(Flags, SCEV::FlagNUW);
if (OBO-&...
2013 Oct 02
0
[LLVMdev] ScalarEvolution::createNodeForPHI
...t in the SUB instruction is not propagated in the
> AddRec.
>
> Looking in the source code I analyzed the construction of the SCEV for a PHINode
> and during the analysis of the loop-invariant part of the increment the flags
> NSW/NUW are set according to the Operator BEValueV
> (ScalarEvoluton.cpp:3099-3113), but only Add and GEP operators are checked.
>
> //-------------------------------------------------------------------------//
> if (const AddOperator *OBO = dyn_cast<AddOperator>(BEValueV)) {
> if (OBO->hasNoUnsignedWrap())
> Flags = setFlags(Flags, SCEV...
2013 Oct 02
1
[LLVMdev] ScalarEvolution::createNodeForPHI
...> > AddRec.
> >
> > Looking in the source code I analyzed the construction of the SCEV
> > for a PHINode
> > and during the analysis of the loop-invariant part of the increment
> > the flags
> > NSW/NUW are set according to the Operator BEValueV
> > (ScalarEvoluton.cpp:3099-3113), but only Add and GEP operators are
> > checked.
> >
> > //-------------------------------------------------------------------------//
> > if (const AddOperator *OBO = dyn_cast<AddOperator>(BEValueV)) {
> > if (OBO->hasNoUnsignedWrap())
> &...