[llvm] 2f115fb - [GlobalOpt] Regenerate test checks (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 13 06:40:59 PST 2022


Author: Nikita Popov
Date: 2022-12-13T15:40:43+01:00
New Revision: 2f115fb4c1b193fdb8a836b2a37f0e0d017eeb37

URL: https://github.com/llvm/llvm-project/commit/2f115fb4c1b193fdb8a836b2a37f0e0d017eeb37
DIFF: https://github.com/llvm/llvm-project/commit/2f115fb4c1b193fdb8a836b2a37f0e0d017eeb37.diff

LOG: [GlobalOpt] Regenerate test checks (NFC)

Added: 
    

Modified: 
    llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll
    llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll
    llvm/test/Transforms/GlobalOpt/preallocated.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll b/llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll
index 9ec9721260b0..53b0d74e9115 100644
--- a/llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll
+++ b/llvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll
@@ -1,47 +1,65 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
 ; RUN: opt -S -passes=globalopt -o - < %s | FileCheck %s
 
 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
-; CHECK: [[_ZL3G_I_INIT:@.*]] = internal unnamed_addr global i1 false
 @_ZL3g_i = internal global i32* null, align 8
 @.str = private unnamed_addr constant [2 x i8] c"0\00", align 1
 @.str.1 = private unnamed_addr constant [2 x i8] c"1\00", align 1
 
-; CHECK-LABEL: define {{.*}} @main(
-; CHECK-NEXT:    store i1 false, i1* [[_ZL3G_I_INIT]], align 1
 define dso_local i32 @main() {
+; CHECK-LABEL: define {{[^@]+}}@main() local_unnamed_addr {
+; CHECK-NEXT:  bb:
+; CHECK-NEXT:    store i32* null, i32** @_ZL3g_i, align 8
+; CHECK-NEXT:    call fastcc void @_ZL13PutsSomethingv()
+; CHECK-NEXT:    ret i32 0
+;
+bb:
   store i32* null, i32** @_ZL3g_i, align 8
   call void @_ZL13PutsSomethingv()
   ret i32 0
 }
 
-; CHECK-LABEL: define {{.*}} @_ZL13PutsSomethingv()
-; CHECK-NEXT:    [[_ZL3G_I_INIT_VAL:%.*]] = load i1, i1* [[_ZL3G_I_INIT]], align 1
-; CHECK-NEXT:    [[NOTINIT:%.*]] = xor i1 [[_ZL3G_I_INIT_VAL]], true
-; CHECK-NEXT:    br i1 [[NOTINIT]], label %[[TMP1:.*]], label %[[TMP3:.*]]
-; CHECK:       [[TMP1]]:
-; CHECK-NEXT:    store i1 true, i1* [[_ZL3G_I_INIT]], align 1
 define internal void @_ZL13PutsSomethingv() {
-  %1 = load i32*, i32** @_ZL3g_i, align 8
-  %2 = icmp eq i32* %1, null
-  br i1 %2, label %3, label %7
-
-3:                                                ; preds = %0
-  %4 = call noalias i8* @malloc(i64 4) #3
-  %5 = bitcast i8* %4 to i32*
-  store i32* %5, i32** @_ZL3g_i, align 8
-  %6 = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
-  br label %9
-
-7:                                                ; preds = %0
-  %8 = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
-  br label %9
-
-9:                                                ; preds = %7, %3
+; CHECK-LABEL: define {{[^@]+}}@_ZL13PutsSomethingv() unnamed_addr {
+; CHECK-NEXT:  bb:
+; CHECK-NEXT:    [[I:%.*]] = load i32*, i32** @_ZL3g_i, align 8
+; CHECK-NEXT:    [[I1:%.*]] = icmp eq i32* [[I]], null
+; CHECK-NEXT:    br i1 [[I1]], label [[BB2:%.*]], label [[BB6:%.*]]
+; CHECK:       bb2:
+; CHECK-NEXT:    [[I3:%.*]] = call noalias i8* @malloc(i64 4)
+; CHECK-NEXT:    [[I4:%.*]] = bitcast i8* [[I3]] to i32*
+; CHECK-NEXT:    store i32* [[I4]], i32** @_ZL3g_i, align 8
+; CHECK-NEXT:    [[I5:%.*]] = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
+; CHECK-NEXT:    br label [[BB8:%.*]]
+; CHECK:       bb6:
+; CHECK-NEXT:    [[I7:%.*]] = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
+; CHECK-NEXT:    br label [[BB8]]
+; CHECK:       bb8:
+; CHECK-NEXT:    ret void
+;
+bb:
+  %i = load i32*, i32** @_ZL3g_i, align 8
+  %i1 = icmp eq i32* %i, null
+  br i1 %i1, label %bb2, label %bb6
+
+bb2:                                              ; preds = %bb
+  %i3 = call noalias i8* @malloc(i64 4)
+  %i4 = bitcast i8* %i3 to i32*
+  store i32* %i4, i32** @_ZL3g_i, align 8
+  %i5 = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
+  br label %bb8
+
+bb6:                                              ; preds = %bb
+  %i7 = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
+  br label %bb8
+
+bb8:                                              ; preds = %bb6, %bb2
   ret void
 }
 
-declare dso_local noalias i8* @malloc(i64) inaccessiblememonly allockind("alloc,uninitialized") allocsize(0)
+; Function Attrs: allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite)
+declare dso_local noalias i8* @malloc(i64) #0
 
 declare dso_local i32 @puts(i8* nocapture readonly)

diff  --git a/llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll b/llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll
index 4a15870d6f0a..bccfc1df74fe 100644
--- a/llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll
+++ b/llvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
 ; RUN: opt -S -passes=globalopt -o - < %s | FileCheck %s
 
 ; No malloc promotion with non-null check.
@@ -11,33 +12,55 @@ target triple = "x86_64-unknown-linux-gnu"
 @.str.1 = private unnamed_addr constant [2 x i8] c"1\00", align 1
 
 define dso_local i32 @main() {
+; CHECK-LABEL: define {{[^@]+}}@main() local_unnamed_addr {
+; CHECK-NEXT:  bb:
+; CHECK-NEXT:    store i32* null, i32** @_ZL3g_i, align 8
+; CHECK-NEXT:    call fastcc void @_ZL13PutsSomethingv()
+; CHECK-NEXT:    ret i32 0
+;
+bb:
   store i32* null, i32** @_ZL3g_i, align 8
   call void @_ZL13PutsSomethingv()
   ret i32 0
 }
 
-; CHECK-LABEL: define {{.*}} @_ZL13PutsSomethingv()
-; CHECK-NEXT:    [[TMP1:%.*]] = load i32*, i32** @_ZL3g_i, align 8
-; CHECK-NEXT:    [[TMP2:%.*]] = load i32*, i32** @_ZL3g_j, align 8
-; CHECK-NEXT:    icmp eq i32* [[TMP1]], [[TMP2]]
 define internal void @_ZL13PutsSomethingv() {
-  %1 = load i32*, i32** @_ZL3g_i, align 8
-  %2 = load i32*, i32** @_ZL3g_j, align 8
-  %cmp = icmp eq i32* %1, %2
-  br i1 %cmp, label %3, label %7
-
-3:                                                ; preds = %0
-  %4 = call noalias i8* @malloc(i64 4) #3
-  %5 = bitcast i8* %4 to i32*
-  store i32* %5, i32** @_ZL3g_i, align 8
-  %6 = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
-  br label %9
-
-7:                                                ; preds = %0
-  %8 = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
-  br label %9
-
-9:                                                ; preds = %7, %3
+; CHECK-LABEL: define {{[^@]+}}@_ZL13PutsSomethingv() unnamed_addr {
+; CHECK-NEXT:  bb:
+; CHECK-NEXT:    [[I:%.*]] = load i32*, i32** @_ZL3g_i, align 8
+; CHECK-NEXT:    [[I1:%.*]] = load i32*, i32** @_ZL3g_j, align 8
+; CHECK-NEXT:    [[CMP:%.*]] = icmp eq i32* [[I]], [[I1]]
+; CHECK-NEXT:    br i1 [[CMP]], label [[BB2:%.*]], label [[BB6:%.*]]
+; CHECK:       bb2:
+; CHECK-NEXT:    [[I3:%.*]] = call noalias i8* @malloc(i64 4)
+; CHECK-NEXT:    [[I4:%.*]] = bitcast i8* [[I3]] to i32*
+; CHECK-NEXT:    store i32* [[I4]], i32** @_ZL3g_i, align 8
+; CHECK-NEXT:    [[I5:%.*]] = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
+; CHECK-NEXT:    br label [[BB8:%.*]]
+; CHECK:       bb6:
+; CHECK-NEXT:    [[I7:%.*]] = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
+; CHECK-NEXT:    br label [[BB8]]
+; CHECK:       bb8:
+; CHECK-NEXT:    ret void
+;
+bb:
+  %i = load i32*, i32** @_ZL3g_i, align 8
+  %i1 = load i32*, i32** @_ZL3g_j, align 8
+  %cmp = icmp eq i32* %i, %i1
+  br i1 %cmp, label %bb2, label %bb6
+
+bb2:                                              ; preds = %bb
+  %i3 = call noalias i8* @malloc(i64 4)
+  %i4 = bitcast i8* %i3 to i32*
+  store i32* %i4, i32** @_ZL3g_i, align 8
+  %i5 = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
+  br label %bb8
+
+bb6:                                              ; preds = %bb
+  %i7 = call i32 @puts(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
+  br label %bb8
+
+bb8:                                              ; preds = %bb6, %bb2
   ret void
 }
 

diff  --git a/llvm/test/Transforms/GlobalOpt/preallocated.ll b/llvm/test/Transforms/GlobalOpt/preallocated.ll
index 0d2572621ff4..72ad66238901 100644
--- a/llvm/test/Transforms/GlobalOpt/preallocated.ll
+++ b/llvm/test/Transforms/GlobalOpt/preallocated.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature
 ; RUN: opt < %s -passes=globalopt -S | FileCheck %s
 
 declare token @llvm.call.preallocated.setup(i32)
@@ -6,31 +7,47 @@ declare i32 @__CxxFrameHandler3(...)
 
 ; Don't touch functions with any musttail calls
 define internal i32 @preallocated_musttail(i32* preallocated(i32) %p) {
-; CHECK-LABEL: define internal i32 @preallocated_musttail(i32* preallocated(i32) %p)
+; CHECK-LABEL: define {{[^@]+}}@preallocated_musttail
+; CHECK-SAME: (i32* preallocated(i32) [[P:%.*]]) unnamed_addr {
+; CHECK-NEXT:    [[RV:%.*]] = load i32, i32* [[P]], align 4
+; CHECK-NEXT:    ret i32 [[RV]]
+;
   %rv = load i32, i32* %p
   ret i32 %rv
 }
 
 define i32 @call_preallocated_musttail(i32* preallocated(i32) %a) {
+; CHECK-LABEL: define {{[^@]+}}@call_preallocated_musttail
+; CHECK-SAME: (i32* preallocated(i32) [[A:%.*]]) local_unnamed_addr {
+; CHECK-NEXT:    [[R:%.*]] = musttail call i32 @preallocated_musttail(i32* preallocated(i32) [[A]])
+; CHECK-NEXT:    ret i32 [[R]]
+;
   %r = musttail call i32 @preallocated_musttail(i32* preallocated(i32) %a)
   ret i32 %r
 }
-; CHECK-LABEL: define i32 @call_preallocated_musttail(i32* preallocated(i32) %a)
-; CHECK: musttail call i32 @preallocated_musttail(i32* preallocated(i32) %a)
 
 define i32 @call_preallocated_musttail_without_musttail() {
+; CHECK-LABEL: define {{[^@]+}}@call_preallocated_musttail_without_musttail() local_unnamed_addr {
+; CHECK-NEXT:    [[C:%.*]] = call token @llvm.call.preallocated.setup(i32 1)
+; CHECK-NEXT:    [[N:%.*]] = call i8* @llvm.call.preallocated.arg(token [[C]], i32 0) #[[ATTR1:[0-9]+]]
+; CHECK-NEXT:    [[N2:%.*]] = bitcast i8* [[N]] to i32*
+; CHECK-NEXT:    [[R:%.*]] = call i32 @preallocated_musttail(i32* preallocated(i32) [[N2]]) [ "preallocated"(token [[C]]) ]
+; CHECK-NEXT:    ret i32 [[R]]
+;
   %c = call token @llvm.call.preallocated.setup(i32 1)
   %N = call i8* @llvm.call.preallocated.arg(token %c, i32 0) preallocated(i32)
-  %n = bitcast i8* %N to i32*
-  %r = call i32 @preallocated_musttail(i32* preallocated(i32) %n) ["preallocated"(token %c)]
+  %N2 = bitcast i8* %N to i32*
+  %r = call i32 @preallocated_musttail(i32* preallocated(i32) %N2) ["preallocated"(token %c)]
   ret i32 %r
 }
-; CHECK-LABEL: define i32 @call_preallocated_musttail_without_musttail()
-; CHECK: call i32 @preallocated_musttail(i32* preallocated(i32) %n)
 
 ; Check that only one alloca per preallocated arg
 define internal i32 @preallocated(i32* preallocated(i32) %a) {
-; CHECK-LABEL: define internal fastcc i32 @preallocated(i32* %a)
+; CHECK-LABEL: define {{[^@]+}}@preallocated
+; CHECK-SAME: (i32* [[A:%.*]]) unnamed_addr {
+; CHECK-NEXT:    [[RV:%.*]] = load i32, i32* [[A]], align 4
+; CHECK-NEXT:    ret i32 [[RV]]
+;
   %rv = load i32, i32* %a
   ret i32 %rv
 }
@@ -38,17 +55,18 @@ define internal i32 @preallocated(i32* preallocated(i32) %a) {
 declare void @foo(i8*)
 
 define i32 @call_preallocated_multiple_args() {
-; CHECK-LABEL: define i32 @call_preallocated_multiple_args()
-; CHECK-NEXT: [[SS:%[0-9a-zA-Z_]+]] = call i8* @llvm.stacksave()
-; CHECK-NEXT: [[ARG0:%[0-9a-zA-Z_]+]] = alloca i32
-; CHECK-NEXT: [[ARG1:%[0-9a-zA-Z_]+]] = bitcast i32* [[ARG0]] to i8*
-; CHECK-NEXT: call void @foo(i8* [[ARG1]])
-; CHECK-NEXT: call void @foo(i8* [[ARG1]])
-; CHECK-NEXT: call void @foo(i8* [[ARG1]])
-; CHECK-NEXT: [[ARG2:%[0-9a-zA-Z_]+]] = bitcast i8* [[ARG1]] to i32*
-; CHECK-NEXT: call fastcc i32 @preallocated(i32* [[ARG2]])
-; CHECK-NEXT: call void @llvm.stackrestore(i8* [[SS]])
-; CHECK-NEXT: ret
+; CHECK-LABEL: define {{[^@]+}}@call_preallocated_multiple_args() local_unnamed_addr {
+; CHECK-NEXT:    [[TMP1:%.*]] = call i8* @llvm.stacksave()
+; CHECK-NEXT:    [[PAARG:%.*]] = alloca i32, align 4
+; CHECK-NEXT:    [[A32:%.*]] = bitcast i32* [[PAARG]] to i8*
+; CHECK-NEXT:    call void @foo(i8* [[A32]])
+; CHECK-NEXT:    call void @foo(i8* [[A32]])
+; CHECK-NEXT:    call void @foo(i8* [[A32]])
+; CHECK-NEXT:    [[B:%.*]] = bitcast i8* [[A32]] to i32*
+; CHECK-NEXT:    [[R:%.*]] = call fastcc i32 @preallocated(i32* [[B]])
+; CHECK-NEXT:    call void @llvm.stackrestore(i8* [[TMP1]])
+; CHECK-NEXT:    ret i32 [[R]]
+;
   %c = call token @llvm.call.preallocated.setup(i32 1)
   %a1 = call i8* @llvm.call.preallocated.arg(token %c, i32 0) preallocated(i32)
   call void @foo(i8* %a1)
@@ -63,17 +81,37 @@ define i32 @call_preallocated_multiple_args() {
 
 ; Don't touch functions with any invokes
 define internal i32 @preallocated_invoke(i32* preallocated(i32) %p) {
-; CHECK-LABEL: define internal i32 @preallocated_invoke(i32* preallocated(i32) %p)
+; CHECK-LABEL: define {{[^@]+}}@preallocated_invoke
+; CHECK-SAME: (i32* preallocated(i32) [[P:%.*]]) unnamed_addr {
+; CHECK-NEXT:    [[RV:%.*]] = load i32, i32* [[P]], align 4
+; CHECK-NEXT:    ret i32 [[RV]]
+;
   %rv = load i32, i32* %p
   ret i32 %rv
 }
 
 define i32 @call_preallocated_invoke() personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) {
+; CHECK-LABEL: define {{[^@]+}}@call_preallocated_invoke() local_unnamed_addr personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) {
+; CHECK-NEXT:    [[C:%.*]] = call token @llvm.call.preallocated.setup(i32 1)
+; CHECK-NEXT:    [[A:%.*]] = call i8* @llvm.call.preallocated.arg(token [[C]], i32 0) #[[ATTR1]]
+; CHECK-NEXT:    [[B:%.*]] = bitcast i8* [[A]] to i32*
+; CHECK-NEXT:    [[R:%.*]] = invoke i32 @preallocated_invoke(i32* preallocated(i32) [[B]]) [ "preallocated"(token [[C]]) ]
+; CHECK-NEXT:    to label [[CONTA:%.*]] unwind label [[CONTB:%.*]]
+; CHECK:       conta:
+; CHECK-NEXT:    ret i32 [[R]]
+; CHECK:       contb:
+; CHECK-NEXT:    [[S:%.*]] = catchswitch within none [label %catch] unwind to caller
+; CHECK:       catch:
+; CHECK-NEXT:    [[P:%.*]] = catchpad within [[S]] []
+; CHECK-NEXT:    catchret from [[P]] to label [[CONT:%.*]]
+; CHECK:       cont:
+; CHECK-NEXT:    ret i32 42
+;
   %c = call token @llvm.call.preallocated.setup(i32 1)
   %a = call i8* @llvm.call.preallocated.arg(token %c, i32 0) preallocated(i32)
   %b = bitcast i8* %a to i32*
   %r = invoke i32 @preallocated_invoke(i32* preallocated(i32) %b) ["preallocated"(token %c)]
-       to label %conta unwind label %contb
+  to label %conta unwind label %contb
 conta:
   ret i32 %r
 contb:
@@ -84,5 +122,3 @@ catch:
 cont:
   ret i32 42
 }
-; CHECK-LABEL: define i32 @call_preallocated_invoke()
-; CHECK: invoke i32 @preallocated_invoke(i32* preallocated(i32) %b)


        


More information about the llvm-commits mailing list