diff options
Diffstat (limited to 'llvm/lib/Transforms/Scalar/IndVarSimplify.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp b/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp index 3dd3cfd4187..4ea92df9924 100644 --- a/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp +++ b/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp @@ -981,12 +981,7 @@ Instruction *WidenIV::cloneBitwiseIVUser(NarrowIVDefUse DU) { NarrowBO->getName()); IRBuilder<> Builder(NarrowUse); Builder.Insert(WideBO); - if (const auto *OBO = dyn_cast<OverflowingBinaryOperator>(NarrowBO)) { - if (OBO->hasNoUnsignedWrap()) - WideBO->setHasNoUnsignedWrap(); - if (OBO->hasNoSignedWrap()) - WideBO->setHasNoSignedWrap(); - } + WideBO->copyIRFlags(NarrowBO); return WideBO; } @@ -1078,12 +1073,7 @@ Instruction *WidenIV::cloneArithmeticIVUser(NarrowIVDefUse DU, IRBuilder<> Builder(NarrowUse); Builder.Insert(WideBO); - if (const auto *OBO = dyn_cast<OverflowingBinaryOperator>(NarrowBO)) { - if (OBO->hasNoUnsignedWrap()) - WideBO->setHasNoUnsignedWrap(); - if (OBO->hasNoSignedWrap()) - WideBO->setHasNoSignedWrap(); - } + WideBO->copyIRFlags(NarrowBO); return WideBO; } |

