[llvm] [SimplifyCFG] Find the smallest table considering overflow in `switchToLookupTable` (PR #67885)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 30 08:25:41 PDT 2023
================
@@ -9,11 +9,17 @@ target triple = "x86_64-apple-darwin12.0.0"
define i64 @test(i3 %arg) {
; CHECK-LABEL: @test(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[ARG:%.*]], -4
+; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i3 [[ARG:%.*]], 1
+; CHECK-NEXT: [[TMP0:%.*]] = icmp ult i3 [[SWITCH_TABLEIDX]], -2
+; CHECK-NEXT: br i1 [[TMP0]], label [[SWITCH_LOOKUP:%.*]], label [[DEFAULT:%.*]]
----------------
nikic wrote:
This seems like a problematic regression, because it introduces a fallback branch. Why does this happen?
https://github.com/llvm/llvm-project/pull/67885
More information about the llvm-commits
mailing list