[PATCH] D116692: [SimplifyCFG] Tail-merging all blocks with `unreachable` terminator, final take
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 5 14:31:27 PST 2022
rnk added subscribers: fhahn, aeubanks, nikic, asbirlea.
rnk added a comment.
I think I prefer this version over the previous. This may be slightly ugly, but IMO it is functionally better (fewer analysis reruns and pass updates). Maybe others have ideas for how to make it nicer.
What do other folks (@nikic @aeubanks @asbirlea) think about this approach?
================
Comment at: llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll:39
-; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[LOOP_PREHEADER22:%.*]], label [[VECTOR_PH:%.*]]
-; CHECK: vector.ph:
-; CHECK-NEXT: [[N_MOD_VF:%.*]] = and i64 [[TMP1]], 3
----------------
It looks to me like tail merging unreachable blocks is preventing vectorization in this test case and the next, which seems like a blocking issue. The test was added here, if that helps understand why it no longer works:
https://reviews.llvm.org/rG39cc0b8c68b8d316954ecfac0d1f8498ea42866c
@fhahn
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116692/new/
https://reviews.llvm.org/D116692
More information about the llvm-commits
mailing list