[llvm] 0718b19 - [InstCombine] Regenerate test checks (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 5 06:05:40 PDT 2023


Author: Nikita Popov
Date: 2023-04-05T15:05:16+02:00
New Revision: 0718b196bc0ba57702494e5414f3e5bb2f78f38d

URL: https://github.com/llvm/llvm-project/commit/0718b196bc0ba57702494e5414f3e5bb2f78f38d
DIFF: https://github.com/llvm/llvm-project/commit/0718b196bc0ba57702494e5414f3e5bb2f78f38d.diff

LOG: [InstCombine] Regenerate test checks (NFC)

Added: 
    

Modified: 
    llvm/test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll
    llvm/test/Transforms/InstCombine/2011-09-03-Trampoline.ll
    llvm/test/Transforms/InstCombine/2011-10-07-AlignPromotion.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll b/llvm/test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll
index 0c1b4bc4dc76..343aa547acc3 100644
--- a/llvm/test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll
+++ b/llvm/test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll
@@ -1,13 +1,32 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
 ; RUN: opt -opaque-pointers=0 -S -passes=instcombine < %s | FileCheck %s
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32"
 target triple = "i386-apple-darwin10.0.0"
 
-; CHECK-LABEL: define void @fu1(
 define void @fu1(i32 %parm) #0 {
+; CHECK-LABEL: define void @fu1
+; CHECK-SAME: (i32 [[PARM:%.*]]) #[[ATTR0:[0-9]+]] {
+; CHECK-NEXT:  bb:
+; CHECK-NEXT:    [[I:%.*]] = alloca i32, align 4
+; CHECK-NEXT:    [[PTR:%.*]] = alloca double*, align 4
+; CHECK-NEXT:    store i32 [[PARM]], i32* [[I]], align 4
+; CHECK-NEXT:    store double* null, double** [[PTR]], align 4
+; CHECK-NEXT:    [[I2_NOT:%.*]] = icmp eq i32 [[PARM]], 0
+; CHECK-NEXT:    br i1 [[I2_NOT]], label [[BB9:%.*]], label [[BB3:%.*]]
+; CHECK:       bb3:
+; CHECK-NEXT:    [[I4:%.*]] = load i32, i32* [[I]], align 4
+; CHECK-NEXT:    [[TMP0:%.*]] = add i32 [[I4]], 256
+; CHECK-NEXT:    [[I7:%.*]] = alloca double, i32 [[TMP0]], align 1
+; CHECK-NEXT:    store double* [[I7]], double** [[PTR]], align 4
+; CHECK-NEXT:    br label [[BB9]]
+; CHECK:       bb9:
+; CHECK-NEXT:    [[I10:%.*]] = load double*, double** [[PTR]], align 4
+; CHECK-NEXT:    call void @bar(double* [[I10]]) #[[ATTR1:[0-9]+]]
+; CHECK-NEXT:    ret void
+;
 bb:
   %i = alloca i32, align 4
 
-  ; CHECK: alloca double*
   %ptr = alloca double*, align 4
   store i32 %parm, i32* %i, align 4
   store double* null, double** %ptr, align 4
@@ -21,10 +40,8 @@ bb3:                                              ; preds = %bb
   ; With "nuw", the alloca and its bitcast can be fused:
   %i6 = add nuw i32 %i5, 2048
 
-  ;  CHECK: alloca double
   %i7 = alloca i8, i32 %i6, align 1
   %i8 = bitcast i8* %i7 to double*
-  ; CHECK-NEXT: store double*
   store double* %i8, double** %ptr, align 4
   br label %bb9
 
@@ -36,8 +53,29 @@ bb9:                                              ; preds = %bb3, %bb
 
 declare void @bar(double*)
 
-; CHECK-LABEL: define void @fu2(
 define void @fu2(i32 %parm) #0 {
+; CHECK-LABEL: define void @fu2
+; CHECK-SAME: (i32 [[PARM:%.*]]) #[[ATTR0]] {
+; CHECK-NEXT:  bb:
+; CHECK-NEXT:    [[I:%.*]] = alloca i32, align 4
+; CHECK-NEXT:    [[PTR:%.*]] = alloca double*, align 4
+; CHECK-NEXT:    store i32 [[PARM]], i32* [[I]], align 4
+; CHECK-NEXT:    store double* null, double** [[PTR]], align 4
+; CHECK-NEXT:    [[I2_NOT:%.*]] = icmp eq i32 [[PARM]], 0
+; CHECK-NEXT:    br i1 [[I2_NOT]], label [[BB9:%.*]], label [[BB3:%.*]]
+; CHECK:       bb3:
+; CHECK-NEXT:    [[I4:%.*]] = load i32, i32* [[I]], align 4
+; CHECK-NEXT:    [[I5:%.*]] = shl nuw i32 [[I4]], 3
+; CHECK-NEXT:    [[I6:%.*]] = add i32 [[I5]], 2048
+; CHECK-NEXT:    [[I7:%.*]] = alloca i8, i32 [[I6]], align 1
+; CHECK-NEXT:    [[TMP0:%.*]] = bitcast double** [[PTR]] to i8**
+; CHECK-NEXT:    store i8* [[I7]], i8** [[TMP0]], align 4
+; CHECK-NEXT:    br label [[BB9]]
+; CHECK:       bb9:
+; CHECK-NEXT:    [[I10:%.*]] = load double*, double** [[PTR]], align 4
+; CHECK-NEXT:    call void @bar(double* [[I10]]) #[[ATTR1]]
+; CHECK-NEXT:    ret void
+;
 bb:
   %i = alloca i32, align 4
   %ptr = alloca double*, align 4
@@ -52,11 +90,8 @@ bb3:                                              ; preds = %bb
   %i5 = mul nuw i32 %i4, 8
   ; Without "nuw", the alloca and its bitcast cannot be fused:
   %i6 = add i32 %i5, 2048
-  ; CHECK: alloca i8
   %i7 = alloca i8, i32 %i6, align 1
 
-  ; CHECK-NEXT: bitcast double**
-  ; CHECK-NEXT: store i8*
   %i8 = bitcast i8* %i7 to double*
   store double* %i8, double** %ptr, align 4
   br label %bb9

diff  --git a/llvm/test/Transforms/InstCombine/2011-09-03-Trampoline.ll b/llvm/test/Transforms/InstCombine/2011-09-03-Trampoline.ll
index 2fb3eda424d0..fae18ce39979 100644
--- a/llvm/test/Transforms/InstCombine/2011-09-03-Trampoline.ll
+++ b/llvm/test/Transforms/InstCombine/2011-09-03-Trampoline.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
 ; RUN: opt -opaque-pointers=0 -passes=instcombine -S < %s | FileCheck %s
 
 declare void @llvm.init.trampoline(i8*, i8*, i8*)
@@ -6,47 +7,69 @@ declare i32 @f(i8 * nest, i32)
 
 ; Most common case
 define i32 @test0(i32 %n) !dbg !4 {
+; CHECK-LABEL: define i32 @test0
+; CHECK-SAME: (i32 [[N:%.*]]) !dbg [[DBG4:![0-9]+]] {
+; CHECK-NEXT:    [[ALLOCA:%.*]] = alloca [10 x i8], align 16
+; CHECK-NEXT:    [[GEP:%.*]] = getelementptr inbounds [10 x i8], [10 x i8]* [[ALLOCA]], i64 0, i64 0
+; CHECK-NEXT:    call void @llvm.init.trampoline(i8* nonnull [[GEP]], i8* nonnull bitcast (i32 (i8*, i32)* @f to i8*), i8* null)
+; CHECK-NEXT:    [[RET:%.*]] = call i32 @f(i8* nest null, i32 [[N]]), !dbg [[DBG10:![0-9]+]]
+; CHECK-NEXT:    ret i32 [[RET]]
+;
   %alloca = alloca [10 x i8], align 16
   %gep = getelementptr [10 x i8], [10 x i8]* %alloca, i32 0, i32 0
   call void @llvm.init.trampoline(i8* %gep, i8* bitcast (i32 (i8*, i32)* @f to i8*),
-                                  i8* null)
+  i8* null)
   %tramp = call i8* @llvm.adjust.trampoline(i8* %gep)
   %function = bitcast i8* %tramp to i32(i32)*
   %ret = call i32 %function(i32 %n), !dbg !10
   ret i32 %ret
 
-; CHECK: define i32 @test0(i32 %n) !dbg !4 {
-; CHECK: %ret = call i32 @f(i8* nest null, i32 %n), !dbg !10
 }
 
 define i32 @test1(i32 %n, i8* %trampmem) {
+; CHECK-LABEL: define i32 @test1
+; CHECK-SAME: (i32 [[N:%.*]], i8* [[TRAMPMEM:%.*]]) {
+; CHECK-NEXT:    call void @llvm.init.trampoline(i8* [[TRAMPMEM]], i8* nonnull bitcast (i32 (i8*, i32)* @f to i8*), i8* null)
+; CHECK-NEXT:    [[RET:%.*]] = call i32 @f(i8* nest null, i32 [[N]])
+; CHECK-NEXT:    ret i32 [[RET]]
+;
   call void @llvm.init.trampoline(i8* %trampmem,
-                                  i8* bitcast (i32 (i8*, i32)* @f to i8*),
-                                  i8* null)
+  i8* bitcast (i32 (i8*, i32)* @f to i8*),
+  i8* null)
   %tramp = call i8* @llvm.adjust.trampoline(i8* %trampmem)
   %function = bitcast i8* %tramp to i32(i32)*
   %ret = call i32 %function(i32 %n)
   ret i32 %ret
-; CHECK: define i32 @test1(i32 %n, i8* %trampmem) {
-; CHECK: %ret = call i32 @f(i8* nest null, i32 %n)
 }
 
 define i32 @test2(i32 %n, i8* %trampmem) {
+; CHECK-LABEL: define i32 @test2
+; CHECK-SAME: (i32 [[N:%.*]], i8* [[TRAMPMEM:%.*]]) {
+; CHECK-NEXT:    [[TRAMP:%.*]] = call i8* @llvm.adjust.trampoline(i8* [[TRAMPMEM]])
+; CHECK-NEXT:    [[FUNCTIONA:%.*]] = bitcast i8* [[TRAMP]] to i32 (i32)*
+; CHECK-NEXT:    [[RET:%.*]] = call i32 [[FUNCTIONA]](i32 [[N]])
+; CHECK-NEXT:    ret i32 [[RET]]
+;
   %tramp = call i8* @llvm.adjust.trampoline(i8* %trampmem)
   %functiona = bitcast i8* %tramp to i32(i32)*
   %ret = call i32 %functiona(i32 %n)
   ret i32 %ret
-; CHECK: define i32 @test2(i32 %n, i8* %trampmem) {
-; CHECK: %ret = call i32 %functiona(i32 %n)
 }
 
 define i32 @test3(i32 %n, i8* %trampmem) {
+; CHECK-LABEL: define i32 @test3
+; CHECK-SAME: (i32 [[N:%.*]], i8* [[TRAMPMEM:%.*]]) {
+; CHECK-NEXT:    call void @llvm.init.trampoline(i8* [[TRAMPMEM]], i8* nonnull bitcast (i32 (i8*, i32)* @f to i8*), i8* null)
+; CHECK-NEXT:    [[RET0:%.*]] = call i32 @f(i8* nest null, i32 [[N]])
+; CHECK-NEXT:    [[TRAMP1:%.*]] = call i8* @llvm.adjust.trampoline(i8* [[TRAMPMEM]])
+; CHECK-NEXT:    [[FUNCTION1:%.*]] = bitcast i8* [[TRAMP1]] to i32 (i32)*
+; CHECK-NEXT:    [[RET1:%.*]] = call i32 [[FUNCTION1]](i32 [[N]])
+; CHECK-NEXT:    ret i32 [[RET1]]
+;
   call void @llvm.init.trampoline(i8* %trampmem,
-                                  i8* bitcast (i32 (i8*, i32)* @f to i8*),
-                                  i8* null)
+  i8* bitcast (i32 (i8*, i32)* @f to i8*),
+  i8* null)
 
-; CHECK: define i32 @test3(i32 %n, i8* %trampmem) {
-; CHECK: %ret0 = call i32 @f(i8* nest null, i32 %n)
   %tramp0 = call i8* @llvm.adjust.trampoline(i8* %trampmem)
   %function0 = bitcast i8* %tramp0 to i32(i32)*
   %ret0 = call i32 %function0(i32 %n)
@@ -55,16 +78,25 @@ define i32 @test3(i32 %n, i8* %trampmem) {
   %tramp1 = call i8* @llvm.adjust.trampoline(i8* %trampmem)
   %function1 = bitcast i8* %tramp1 to i32(i32)*
   %ret1 = call i32 %function1(i32 %n)
-; CHECK: %ret1 = call i32 %function1(i32 %n)
 
   ret i32 %ret1
 }
 
 define i32 @test4(i32 %n) {
+; CHECK-LABEL: define i32 @test4
+; CHECK-SAME: (i32 [[N:%.*]]) {
+; CHECK-NEXT:    [[ALLOCA:%.*]] = alloca [10 x i8], align 16
+; CHECK-NEXT:    [[GEP:%.*]] = getelementptr inbounds [10 x i8], [10 x i8]* [[ALLOCA]], i64 0, i64 0
+; CHECK-NEXT:    call void @llvm.init.trampoline(i8* nonnull [[GEP]], i8* nonnull bitcast (i32 (i8*, i32)* @f to i8*), i8* null)
+; CHECK-NEXT:    [[RET0:%.*]] = call i32 @f(i8* nest null, i32 [[N]])
+; CHECK-NEXT:    [[RET1:%.*]] = call i32 @f(i8* nest null, i32 [[N]])
+; CHECK-NEXT:    [[RET2:%.*]] = call i32 @f(i8* nest null, i32 [[N]])
+; CHECK-NEXT:    ret i32 [[RET2]]
+;
   %alloca = alloca [10 x i8], align 16
   %gep = getelementptr [10 x i8], [10 x i8]* %alloca, i32 0, i32 0
   call void @llvm.init.trampoline(i8* %gep, i8* bitcast (i32 (i8*, i32)* @f to i8*),
-                                  i8* null)
+  i8* null)
 
   %tramp0 = call i8* @llvm.adjust.trampoline(i8* %gep)
   %function0 = bitcast i8* %tramp0 to i32(i32)*
@@ -80,10 +112,6 @@ define i32 @test4(i32 %n) {
 
   ret i32 %ret2
 
-; CHECK: define i32 @test4(i32 %n) {
-; CHECK: %ret0 = call i32 @f(i8* nest null, i32 %n)
-; CHECK: %ret1 = call i32 @f(i8* nest null, i32 %n)
-; CHECK: %ret2 = call i32 @f(i8* nest null, i32 %n)
 }
 
 !llvm.dbg.cu = !{!0}

diff  --git a/llvm/test/Transforms/InstCombine/2011-10-07-AlignPromotion.ll b/llvm/test/Transforms/InstCombine/2011-10-07-AlignPromotion.ll
index e5193b03da85..abe0cc1dd185 100644
--- a/llvm/test/Transforms/InstCombine/2011-10-07-AlignPromotion.ll
+++ b/llvm/test/Transforms/InstCombine/2011-10-07-AlignPromotion.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
 ; RUN: opt -opaque-pointers=0 -S -passes=instcombine < %s | FileCheck %s
 ; rdar://problem/10063307
 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
@@ -7,6 +8,15 @@ target triple = "thumbv7-apple-ios5.0.0"
 %struct.CGPoint = type { float, float }
 
 define void @t(%struct.CGPoint* %a) nounwind {
+; CHECK-LABEL: define void @t
+; CHECK-SAME: (%struct.CGPoint* [[A:%.*]]) #[[ATTR0:[0-9]+]] {
+; CHECK-NEXT:    [[POINT:%.*]] = alloca i64, align 4
+; CHECK-NEXT:    [[TMP1:%.*]] = bitcast %struct.CGPoint* [[A]] to i64*
+; CHECK-NEXT:    [[TMP2:%.*]] = load i64, i64* [[TMP1]], align 4
+; CHECK-NEXT:    store i64 [[TMP2]], i64* [[POINT]], align 4
+; CHECK-NEXT:    call void @foo(i64* nonnull [[POINT]]) #[[ATTR0]]
+; CHECK-NEXT:    ret void
+;
   %Point = alloca %struct.CGPoint, align 4
   %1 = bitcast %struct.CGPoint* %a to i64*
   %2 = bitcast %struct.CGPoint* %Point to i64*
@@ -14,7 +24,6 @@ define void @t(%struct.CGPoint* %a) nounwind {
   store i64 %3, i64* %2, align 4
   call void @foo(i64* %2) nounwind
   ret void
-; CHECK: %Point = alloca i64, align 4
 }
 
 declare void @foo(i64*)


        


More information about the llvm-commits mailing list