search for: scalarevoluton

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()) > &...