[PATCH] D98697: [IndVars] Provide eliminateIVComparison with context
Max Kazantsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 16 05:00:30 PDT 2021
mkazantsev added inline comments.
================
Comment at: llvm/test/Transforms/IndVarSimplify/scev-expander-preserve-lcssa.ll:119
; CHECK: if.end106:
-; CHECK-NEXT: br i1 false, label [[FOR_BODY84]], label [[RETURN_LOOPEXIT]]
+; CHECK-NEXT: br i1 true, label [[FOR_BODY84]], label [[RETURN_LOOPEXIT]]
; CHECK: return.loopexit:
----------------
mkazantsev wrote:
> Looks like it's a bug needs to be fixed before we can go with it.
Funny thing that both `false` and `true` are correct here.
`false` is obviously correct because `inc` is strictly positive and `i.0` is non-positive, and this is what is proved without context.
However `true` is also correct because this is guarded by
```
br i1 %cmp8243, label %for.body84, label %return
```
which is an impossible condition. In fact, this code is unreachable so anything is OK.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98697/new/
https://reviews.llvm.org/D98697
More information about the llvm-commits
mailing list