[llvm] [InstCombine] Canonicalize gep scaling factor (PR #180216)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 2 07:47:51 PST 2026


================
@@ -1200,7 +1215,11 @@ define ptr @test46(ptr %c1, ptr %c2, i64 %N) {
 
 define ptr @test47(ptr %I, i64 %C, i64 %D) {
 ; CHECK-LABEL: @test47(
-; CHECK-NEXT:    [[B:%.*]] = getelementptr i32, ptr [[I:%.*]], i64 [[D:%.*]]
+; CHECK-NEXT:    [[SUB:%.*]] = sub i64 [[D:%.*]], [[C:%.*]]
+; CHECK-NEXT:    [[TMP1:%.*]] = shl i64 [[C]], 2
+; CHECK-NEXT:    [[A:%.*]] = getelementptr i8, ptr [[I:%.*]], i64 [[TMP1]]
+; CHECK-NEXT:    [[TMP2:%.*]] = shl i64 [[SUB]], 2
+; CHECK-NEXT:    [[B:%.*]] = getelementptr i8, ptr [[A]], i64 [[TMP2]]
----------------
nikic wrote:

Regression (visitGEPOfGEP with simplifyAddInst, I think).

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


More information about the llvm-commits mailing list