[PATCH] D142292: [SCEV] Introduce `SCEVSelectExpr`
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 22 08:57:08 PST 2023
lebedev.ri added inline comments.
================
Comment at: llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll:281
define void @guard_pessimizes_analysis_step2(i1 %c, i32 %N) {
; CHECK-LABEL: 'guard_pessimizes_analysis_step2'
----------------
This regresses
================
Comment at: llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll:289
; CHECK-NEXT: %iv = phi i64 [ %iv.next, %loop ], [ %init, %loop.ph ]
-; CHECK-NEXT: --> {%init,+,2}<%loop> U: [2,17) S: [2,17) Exits: ((2 * ((14 + (-1 * %init)<nsw>)<nsw> /u 2))<nuw><nsw> + %init) LoopDispositions: { %loop: Computable }
+; CHECK-NEXT: --> {(select %c, 4, 2),+,2}<%loop> U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Computable }
; CHECK-NEXT: %iv.next = add i64 %iv, 2
----------------
`SE.getSCEVAtScope(%iv, L->getParentLoop())` becomes `{(select %c, 4, 2),+,2}<%loop>`,
that is not loop-invariant, so we say `Exits: <<Unknown>>`.
================
Comment at: llvm/test/Transforms/IRCE/decrementing-loop.ll:117-121
+; FIXME: we should figure out that IV is non-negative via implication through Phi node.
define void @test_03(ptr %a, ptr %a_len_ptr, i1 %cond) {
; CHECK-LABEL: test_03
+; CHECK-NOT: mainloop:
----------------
This regresses
================
Comment at: llvm/test/Transforms/IRCE/decrementing-loop.ll:159-163
+; FIXME: we should figure out that IV is non-negative via implication through two Phi nodes.
define void @test_04(ptr %a, ptr %a_len_ptr, i1 %cond) {
; CHECK-LABEL: test_04
+; CHECK-NOT: mainloop:
----------------
This regresses
================
Comment at: llvm/test/Transforms/IndVarSimplify/lftr-pr20680.ll:12
define void @f() {
; CHECK-LABEL: @f(
----------------
I'm not sure if this is a regression or not.
================
Comment at: llvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll:314
define void @promote_latch_condition_decrementing_loop_04(ptr %p, ptr %a, i1 %cond) {
; CHECK-LABEL: @promote_latch_condition_decrementing_loop_04(
----------------
I'm guessing this is a regression
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142292/new/
https://reviews.llvm.org/D142292
More information about the llvm-commits
mailing list