[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