From bf6ec0dea0257a13b11e8e791206f7bf33f6d4a9 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 5 Oct 2022 16:40:29 +0200 Subject: [PATCH] [LICM] Adjust speculation test to avoid no-op instruction (NFC) Such GEPs don't exist with opaque pointers, give it an actual offset. --- llvm/test/Transforms/LICM/allow-speculation-option.ll | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/test/Transforms/LICM/allow-speculation-option.ll b/llvm/test/Transforms/LICM/allow-speculation-option.ll index 572ce2d..46839cb 100644 --- a/llvm/test/Transforms/LICM/allow-speculation-option.ll +++ b/llvm/test/Transforms/LICM/allow-speculation-option.ll @@ -6,14 +6,14 @@ define void @test([10 x i32]* %ptr, i32 %N) { ; COMMON-LABEL: @test( ; COMMON-NEXT: entry: -; SPEC_ON-NEXT: [[GEP:%.*]] = getelementptr [10 x i32], [10 x i32]* [[PTR:%.*]], i32 0, i32 0 +; SPEC_ON-NEXT: [[GEP:%.*]] = getelementptr [10 x i32], [10 x i32]* [[PTR:%.*]], i32 0, i32 1 ; COMMON-NEXT: br label [[LOOP_HEADER:%.*]] ; COMMON: loop.header: ; COMMON-NEXT: [[IV:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[IV_NEXT:%.*]], [[LOOP_LATCH:%.*]] ] ; COMMON-NEXT: [[CMP:%.*]] = icmp ult i32 [[IV]], [[N:%.*]] ; COMMON-NEXT: br i1 [[CMP]], label [[LOOP_LATCH]], label [[EXIT:%.*]] ; COMMON: loop.latch: -; SPEC_OFF-NEXT: [[GEP:%.*]] = getelementptr [10 x i32], [10 x i32]* [[PTR:%.*]], i32 0, i32 0 +; SPEC_OFF-NEXT: [[GEP:%.*]] = getelementptr [10 x i32], [10 x i32]* [[PTR:%.*]], i32 0, i32 1 ; COMMON-NEXT: [[GEP_IV:%.*]] = getelementptr i32, i32* [[GEP]], i32 [[IV]] ; COMMON-NEXT: store i32 9999, i32* [[GEP_IV]], align 4 ; COMMON-NEXT: [[IV_NEXT]] = add i32 [[IV]], 1 @@ -30,7 +30,7 @@ loop.header: br i1 %cmp, label %loop.latch, label %exit loop.latch: - %gep = getelementptr [10 x i32], [10 x i32]* %ptr, i32 0, i32 0 + %gep = getelementptr [10 x i32], [10 x i32]* %ptr, i32 0, i32 1 %gep.iv = getelementptr i32, i32* %gep, i32 %iv store i32 9999, i32* %gep.iv %iv.next = add i32 %iv, 1 -- 2.7.4