[llvm] [SCEVExpander] Attempt to reinfer flags dropped due to CSE (PR #72431)

via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 15 12:21:08 PST 2023


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff f205950e5ca6dc98ce839af9e7ab0ffe767dbe55 8612176aeb215925567b123d99723814868e0500 -- llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp b/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
index 94ecaf67e0..6cd84e0910 100644
--- a/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
+++ b/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
@@ -1539,10 +1539,10 @@ Value *SCEVExpander::expand(const SCEV *S) {
       if (auto *OBO = dyn_cast<OverflowingBinaryOperator>(I))
         if (auto Flags = SE.getStrengthenedNoWrapFlagsFromBinOp(OBO)) {
           auto *BO = cast<BinaryOperator>(I);
-          BO->setHasNoUnsignedWrap(
-            ScalarEvolution::maskFlags(*Flags, SCEV::FlagNUW) == SCEV::FlagNUW);
-          BO->setHasNoSignedWrap(
-            ScalarEvolution::maskFlags(*Flags, SCEV::FlagNSW) == SCEV::FlagNSW);
+          BO->setHasNoUnsignedWrap(ScalarEvolution::maskFlags(
+                                       *Flags, SCEV::FlagNUW) == SCEV::FlagNUW);
+          BO->setHasNoSignedWrap(ScalarEvolution::maskFlags(
+                                     *Flags, SCEV::FlagNSW) == SCEV::FlagNSW);
         }
       if (auto *NNI = dyn_cast<PossiblyNonNegInst>(I)) {
         auto *Src = NNI->getOperand(0);
@@ -1550,7 +1550,8 @@ Value *SCEVExpander::expand(const SCEV *S) {
             isKnownNonNegative(Src, DL, 0, &SE.AC, I, &SE.DT) ||
             isImpliedByDomCondition(ICmpInst::ICMP_SGE, Src,
                                     Constant::getNullValue(Src->getType()), I,
-                                    DL).value_or(false))
+                                    DL)
+                .value_or(false))
           NNI->setNonNeg(true);
       }
     }

``````````

</details>


https://github.com/llvm/llvm-project/pull/72431


More information about the llvm-commits mailing list