diff --git a/llvm/test/Transforms/Attributor/nocapture-2.ll b/llvm/test/Transforms/Attributor/nocapture-2.ll index 2738760228eaa..93b8f715c6878 100644 --- a/llvm/test/Transforms/Attributor/nocapture-2.ll +++ b/llvm/test/Transforms/Attributor/nocapture-2.ll @@ -1,4 +1,4 @@ -; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-attributes --check-globals --version 2 ; RUN: opt -opaque-pointers=0 -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -attributor-annotate-decl-cs -S < %s | FileCheck %s --check-prefixes=CHECK,TUNIT ; RUN: opt -opaque-pointers=0 -aa-pipeline=basic-aa -passes=attributor-cgscc -attributor-manifest-internal -attributor-annotate-decl-cs -S < %s | FileCheck %s --check-prefixes=CHECK,CGSCC ; @@ -17,7 +17,7 @@ declare i32* @unknown() ; no-capture is missing on %p because it is not dereferenceable define i32 @is_null_return(i32* %p) #0 { ; CHECK: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(none) uwtable -; CHECK-LABEL: define {{[^@]+}}@is_null_return +; CHECK-LABEL: define i32 @is_null_return ; CHECK-SAME: (i32* nofree readnone [[P:%.*]]) #[[ATTR0:[0-9]+]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32* [[P]], null @@ -43,7 +43,7 @@ entry: ; no-capture is missing on %p because it is not dereferenceable define i32 @is_null_control(i32* %p) #0 { ; CHECK: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(none) uwtable -; CHECK-LABEL: define {{[^@]+}}@is_null_control +; CHECK-LABEL: define i32 @is_null_control ; CHECK-SAME: (i32* nofree [[P:%.*]]) #[[ATTR0]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[RETVAL:%.*]] = alloca i32, align 4 @@ -100,7 +100,7 @@ return: ; preds = %if.end3, %if.then2, ; define double* @srec0(double* %a) #0 { ; CHECK: Function Attrs: mustprogress nofree noinline nosync nounwind willreturn memory(none) uwtable -; CHECK-LABEL: define {{[^@]+}}@srec0 +; CHECK-LABEL: define noalias noundef align 4294967296 double* @srec0 ; CHECK-SAME: (double* nocapture nofree readnone [[A:%.*]]) #[[ATTR1:[0-9]+]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: ret double* null @@ -125,7 +125,7 @@ entry: ; define i32* @srec16(i32* %a) #0 { ; CHECK: Function Attrs: mustprogress nofree noinline nosync nounwind willreturn memory(none) uwtable -; CHECK-LABEL: define {{[^@]+}}@srec16 +; CHECK-LABEL: define noalias nonnull align 4294967296 dereferenceable(4294967295) i32* @srec16 ; CHECK-SAME: (i32* nocapture nofree readnone [[A:%.*]]) #[[ATTR1]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: ret i32* undef @@ -165,7 +165,7 @@ entry: ; } define float* @scc_A(i32* dereferenceable_or_null(4) %a) { ; TUNIT: Function Attrs: nofree nosync nounwind memory(none) -; TUNIT-LABEL: define {{[^@]+}}@scc_A +; TUNIT-LABEL: define dereferenceable_or_null(4) float* @scc_A ; TUNIT-SAME: (i32* nofree noundef readnone dereferenceable_or_null(4) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR2:[0-9]+]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[TOBOOL:%.*]] = icmp ne i32* [[A]], null @@ -187,7 +187,7 @@ define float* @scc_A(i32* dereferenceable_or_null(4) %a) { ; TUNIT-NEXT: ret float* [[TMP4]] ; ; CGSCC: Function Attrs: nofree nosync nounwind memory(none) -; CGSCC-LABEL: define {{[^@]+}}@scc_A +; CGSCC-LABEL: define dereferenceable_or_null(4) float* @scc_A ; CGSCC-SAME: (i32* nofree noundef readnone dereferenceable_or_null(4) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR2:[0-9]+]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[TOBOOL:%.*]] = icmp ne i32* [[A]], null @@ -234,7 +234,7 @@ cond.end: ; preds = %cond.false, %cond.t ; FIXME: the call1 below to scc_B should return dereferenceable_or_null(8) (as the callee does). Something prevented that deduction and needs to be investigated. define i64* @scc_B(double* dereferenceable_or_null(8) %a) { ; CHECK: Function Attrs: nofree nosync nounwind memory(none) -; CHECK-LABEL: define {{[^@]+}}@scc_B +; CHECK-LABEL: define dereferenceable_or_null(4) i64* @scc_B ; CHECK-SAME: (double* nofree noundef readnone dereferenceable_or_null(8) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR2:[0-9]+]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne double* [[A]], null @@ -280,7 +280,7 @@ cond.end: ; preds = %cond.false, %cond.t define i8* @scc_C(i16* dereferenceable_or_null(2) %a) { ; TUNIT: Function Attrs: nofree nosync nounwind memory(none) -; TUNIT-LABEL: define {{[^@]+}}@scc_C +; TUNIT-LABEL: define dereferenceable_or_null(4) i8* @scc_C ; TUNIT-SAME: (i16* nofree noundef readnone dereferenceable_or_null(4) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR2]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[BC:%.*]] = bitcast i16* [[A]] to i32* @@ -304,7 +304,7 @@ define i8* @scc_C(i16* dereferenceable_or_null(2) %a) { ; TUNIT-NEXT: ret i8* [[TMP3]] ; ; CGSCC: Function Attrs: nofree nosync nounwind memory(none) -; CGSCC-LABEL: define {{[^@]+}}@scc_C +; CGSCC-LABEL: define dereferenceable_or_null(4) i8* @scc_C ; CGSCC-SAME: (i16* nofree noundef readnone dereferenceable_or_null(4) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR2]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[BC:%.*]] = bitcast i16* [[A]] to i32* @@ -364,7 +364,7 @@ declare void @external_no_capture(i32* nocapture) define void @test_external_no_capture(i32* %p) #0 { ; CHECK: Function Attrs: noinline nounwind uwtable -; CHECK-LABEL: define {{[^@]+}}@test_external_no_capture +; CHECK-LABEL: define void @test_external_no_capture ; CHECK-SAME: (i32* nocapture [[P:%.*]]) #[[ATTR3:[0-9]+]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: call void @external_no_capture(i32* nocapture [[P]]) @@ -383,7 +383,7 @@ entry: ; define void @test_var_arg_call(i8* %p, i32 %a) #0 { ; CHECK: Function Attrs: noinline nounwind uwtable -; CHECK-LABEL: define {{[^@]+}}@test_var_arg_call +; CHECK-LABEL: define void @test_var_arg_call ; CHECK-SAME: (i8* nocapture [[P:%.*]], i32 [[A:%.*]]) #[[ATTR3]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[CALL:%.*]] = call i32 (i8*, ...) @printf(i8* nocapture [[P]], i32 [[A]]) @@ -407,7 +407,7 @@ declare i32 @printf(i8* nocapture, ...) ; There should *not* be a no-capture attribute on %a define i64* @not_captured_but_returned_0(i64* %a) #0 { ; CHECK: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(argmem: write) uwtable -; CHECK-LABEL: define {{[^@]+}}@not_captured_but_returned_0 +; CHECK-LABEL: define noundef nonnull align 8 dereferenceable(8) i64* @not_captured_but_returned_0 ; CHECK-SAME: (i64* nofree noundef nonnull returned writeonly align 8 dereferenceable(8) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR4:[0-9]+]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: store i64 0, i64* [[A]], align 8 @@ -428,7 +428,7 @@ entry: ; There should *not* be a no-capture attribute on %a define i64* @not_captured_but_returned_1(i64* %a) #0 { ; CHECK: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(argmem: write) uwtable -; CHECK-LABEL: define {{[^@]+}}@not_captured_but_returned_1 +; CHECK-LABEL: define noundef nonnull align 8 dereferenceable(8) i64* @not_captured_but_returned_1 ; CHECK-SAME: (i64* nofree nonnull writeonly align 8 dereferenceable(16) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR4]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[ADD_PTR:%.*]] = getelementptr inbounds i64, i64* [[A]], i64 1 @@ -450,7 +450,7 @@ entry: ; define void @test_not_captured_but_returned_calls(i64* %a) #0 { ; TUNIT: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(argmem: write) uwtable -; TUNIT-LABEL: define {{[^@]+}}@test_not_captured_but_returned_calls +; TUNIT-LABEL: define void @test_not_captured_but_returned_calls ; TUNIT-SAME: (i64* nocapture nofree writeonly align 8 [[A:%.*]]) #[[ATTR4]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call i64* @not_captured_but_returned_0(i64* nofree writeonly align 8 "no-capture-maybe-returned" [[A]]) #[[ATTR10:[0-9]+]] @@ -458,7 +458,7 @@ define void @test_not_captured_but_returned_calls(i64* %a) #0 { ; TUNIT-NEXT: ret void ; ; CGSCC: Function Attrs: mustprogress nofree noinline nosync nounwind willreturn memory(argmem: write) uwtable -; CGSCC-LABEL: define {{[^@]+}}@test_not_captured_but_returned_calls +; CGSCC-LABEL: define void @test_not_captured_but_returned_calls ; CGSCC-SAME: (i64* nofree noundef nonnull writeonly align 8 dereferenceable(16) [[A:%.*]]) #[[ATTR5:[0-9]+]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call i64* @not_captured_but_returned_0(i64* nofree noundef nonnull writeonly align 8 dereferenceable(16) [[A]]) #[[ATTR11:[0-9]+]] @@ -480,14 +480,14 @@ entry: ; There should *not* be a no-capture attribute on %a define i64* @negative_test_not_captured_but_returned_call_0a(i64* %a) #0 { ; TUNIT: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(argmem: write) uwtable -; TUNIT-LABEL: define {{[^@]+}}@negative_test_not_captured_but_returned_call_0a +; TUNIT-LABEL: define align 8 i64* @negative_test_not_captured_but_returned_call_0a ; TUNIT-SAME: (i64* nofree returned writeonly align 8 "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR4]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call i64* @not_captured_but_returned_0(i64* nofree writeonly align 8 "no-capture-maybe-returned" [[A]]) #[[ATTR10]] ; TUNIT-NEXT: ret i64* [[A]] ; ; CGSCC: Function Attrs: mustprogress nofree noinline nosync nounwind willreturn memory(argmem: write) uwtable -; CGSCC-LABEL: define {{[^@]+}}@negative_test_not_captured_but_returned_call_0a +; CGSCC-LABEL: define noundef nonnull align 8 dereferenceable(8) i64* @negative_test_not_captured_but_returned_call_0a ; CGSCC-SAME: (i64* nofree noundef nonnull writeonly align 8 dereferenceable(8) [[A:%.*]]) #[[ATTR5]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call noundef nonnull align 8 dereferenceable(8) i64* @not_captured_but_returned_0(i64* nofree noundef nonnull writeonly align 8 dereferenceable(8) [[A]]) #[[ATTR11]] @@ -507,7 +507,7 @@ entry: ; There should *not* be a no-capture attribute on %a define void @negative_test_not_captured_but_returned_call_0b(i64* %a) #0 { ; TUNIT: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(argmem: write) uwtable -; TUNIT-LABEL: define {{[^@]+}}@negative_test_not_captured_but_returned_call_0b +; TUNIT-LABEL: define void @negative_test_not_captured_but_returned_call_0b ; TUNIT-SAME: (i64* nofree writeonly align 8 [[A:%.*]]) #[[ATTR4]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call i64* @not_captured_but_returned_0(i64* nofree writeonly align 8 "no-capture-maybe-returned" [[A]]) #[[ATTR10]] @@ -516,7 +516,7 @@ define void @negative_test_not_captured_but_returned_call_0b(i64* %a) #0 { ; TUNIT-NEXT: ret void ; ; CGSCC: Function Attrs: mustprogress nofree noinline nosync nounwind willreturn memory(argmem: write) uwtable -; CGSCC-LABEL: define {{[^@]+}}@negative_test_not_captured_but_returned_call_0b +; CGSCC-LABEL: define void @negative_test_not_captured_but_returned_call_0b ; CGSCC-SAME: (i64* nofree noundef nonnull writeonly align 8 dereferenceable(8) [[A:%.*]]) #[[ATTR5]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call i64* @not_captured_but_returned_0(i64* nofree noundef nonnull writeonly align 8 dereferenceable(8) [[A]]) #[[ATTR11]] @@ -540,14 +540,14 @@ entry: ; There should *not* be a no-capture attribute on %a define i64* @negative_test_not_captured_but_returned_call_1a(i64* %a) #0 { ; TUNIT: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(argmem: write) uwtable -; TUNIT-LABEL: define {{[^@]+}}@negative_test_not_captured_but_returned_call_1a +; TUNIT-LABEL: define noundef nonnull align 8 dereferenceable(8) i64* @negative_test_not_captured_but_returned_call_1a ; TUNIT-SAME: (i64* nofree writeonly align 8 "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR4]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call noundef nonnull align 8 dereferenceable(8) i64* @not_captured_but_returned_1(i64* nofree writeonly align 8 "no-capture-maybe-returned" [[A]]) #[[ATTR10]] ; TUNIT-NEXT: ret i64* [[CALL]] ; ; CGSCC: Function Attrs: mustprogress nofree noinline nosync nounwind willreturn memory(argmem: write) uwtable -; CGSCC-LABEL: define {{[^@]+}}@negative_test_not_captured_but_returned_call_1a +; CGSCC-LABEL: define noundef nonnull align 8 dereferenceable(8) i64* @negative_test_not_captured_but_returned_call_1a ; CGSCC-SAME: (i64* nofree noundef nonnull writeonly align 8 dereferenceable(16) [[A:%.*]]) #[[ATTR5]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call noundef nonnull align 8 dereferenceable(8) i64* @not_captured_but_returned_1(i64* nofree noundef nonnull writeonly align 8 dereferenceable(16) [[A]]) #[[ATTR11]] @@ -567,7 +567,7 @@ entry: ; There should *not* be a no-capture attribute on %a define void @negative_test_not_captured_but_returned_call_1b(i64* %a) #0 { ; TUNIT: Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(write) uwtable -; TUNIT-LABEL: define {{[^@]+}}@negative_test_not_captured_but_returned_call_1b +; TUNIT-LABEL: define void @negative_test_not_captured_but_returned_call_1b ; TUNIT-SAME: (i64* nofree writeonly align 8 [[A:%.*]]) #[[ATTR5:[0-9]+]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call align 8 i64* @not_captured_but_returned_1(i64* nofree writeonly align 8 "no-capture-maybe-returned" [[A]]) #[[ATTR10]] @@ -576,7 +576,7 @@ define void @negative_test_not_captured_but_returned_call_1b(i64* %a) #0 { ; TUNIT-NEXT: ret void ; ; CGSCC: Function Attrs: mustprogress nofree noinline nosync nounwind willreturn memory(write) uwtable -; CGSCC-LABEL: define {{[^@]+}}@negative_test_not_captured_but_returned_call_1b +; CGSCC-LABEL: define void @negative_test_not_captured_but_returned_call_1b ; CGSCC-SAME: (i64* nofree noundef nonnull writeonly align 8 dereferenceable(16) [[A:%.*]]) #[[ATTR6:[0-9]+]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call align 8 i64* @not_captured_but_returned_1(i64* nofree noundef nonnull writeonly align 8 dereferenceable(16) [[A]]) #[[ATTR11]] @@ -604,7 +604,7 @@ entry: define i32* @ret_arg_or_unknown(i32* %b) #0 { ; CHECK: Function Attrs: noinline nounwind uwtable -; CHECK-LABEL: define {{[^@]+}}@ret_arg_or_unknown +; CHECK-LABEL: define i32* @ret_arg_or_unknown ; CHECK-SAME: (i32* [[B:%.*]]) #[[ATTR3]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32* [[B]], null @@ -629,7 +629,7 @@ ret_unknown: define i32* @ret_arg_or_unknown_through_phi(i32* %b) #0 { ; CHECK: Function Attrs: noinline nounwind uwtable -; CHECK-LABEL: define {{[^@]+}}@ret_arg_or_unknown_through_phi +; CHECK-LABEL: define i32* @ret_arg_or_unknown_through_phi ; CHECK-SAME: (i32* [[B:%.*]]) #[[ATTR3]] { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32* [[B]], null @@ -666,14 +666,14 @@ declare i32* @readonly_unknown(i32*, i32*) readonly define void @not_captured_by_readonly_call(i32* %b) #0 { ; TUNIT: Function Attrs: noinline nounwind memory(read) uwtable -; TUNIT-LABEL: define {{[^@]+}}@not_captured_by_readonly_call +; TUNIT-LABEL: define void @not_captured_by_readonly_call ; TUNIT-SAME: (i32* nocapture readonly [[B:%.*]]) #[[ATTR7:[0-9]+]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown(i32* readonly [[B]], i32* readonly [[B]]) ; TUNIT-NEXT: ret void ; ; CGSCC: Function Attrs: noinline nounwind memory(read) uwtable -; CGSCC-LABEL: define {{[^@]+}}@not_captured_by_readonly_call +; CGSCC-LABEL: define void @not_captured_by_readonly_call ; CGSCC-SAME: (i32* nocapture readonly [[B:%.*]]) #[[ATTR8:[0-9]+]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown(i32* readonly [[B]], i32* readonly [[B]]) @@ -691,14 +691,14 @@ entry: ; define i32* @not_captured_by_readonly_call_not_returned_either1(i32* %b, i32* returned %r) { ; TUNIT: Function Attrs: nounwind memory(read) -; TUNIT-LABEL: define {{[^@]+}}@not_captured_by_readonly_call_not_returned_either1 +; TUNIT-LABEL: define i32* @not_captured_by_readonly_call_not_returned_either1 ; TUNIT-SAME: (i32* nocapture readonly [[B:%.*]], i32* readonly returned [[R:%.*]]) #[[ATTR8:[0-9]+]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown(i32* readonly [[B]], i32* readonly [[R]]) #[[ATTR11:[0-9]+]] ; TUNIT-NEXT: ret i32* [[CALL]] ; ; CGSCC: Function Attrs: nounwind memory(read) -; CGSCC-LABEL: define {{[^@]+}}@not_captured_by_readonly_call_not_returned_either1 +; CGSCC-LABEL: define i32* @not_captured_by_readonly_call_not_returned_either1 ; CGSCC-SAME: (i32* nocapture readonly [[B:%.*]], i32* readonly returned [[R:%.*]]) #[[ATTR9:[0-9]+]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown(i32* readonly [[B]], i32* readonly [[R]]) #[[ATTR11]] @@ -712,14 +712,14 @@ entry: declare i32* @readonly_unknown_r1a(i32*, i32* returned) readonly define i32* @not_captured_by_readonly_call_not_returned_either2(i32* %b, i32* %r) { ; TUNIT: Function Attrs: nounwind memory(read) -; TUNIT-LABEL: define {{[^@]+}}@not_captured_by_readonly_call_not_returned_either2 +; TUNIT-LABEL: define i32* @not_captured_by_readonly_call_not_returned_either2 ; TUNIT-SAME: (i32* readonly [[B:%.*]], i32* readonly [[R:%.*]]) #[[ATTR8]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown_r1a(i32* readonly [[B]], i32* readonly [[R]]) #[[ATTR11]] ; TUNIT-NEXT: ret i32* [[CALL]] ; ; CGSCC: Function Attrs: nounwind memory(read) -; CGSCC-LABEL: define {{[^@]+}}@not_captured_by_readonly_call_not_returned_either2 +; CGSCC-LABEL: define i32* @not_captured_by_readonly_call_not_returned_either2 ; CGSCC-SAME: (i32* readonly [[B:%.*]], i32* readonly [[R:%.*]]) #[[ATTR9]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown_r1a(i32* readonly [[B]], i32* readonly [[R]]) #[[ATTR11]] @@ -733,14 +733,14 @@ entry: declare i32* @readonly_unknown_r1b(i32*, i32* returned) readonly nounwind define i32* @not_captured_by_readonly_call_not_returned_either3(i32* %b, i32* %r) { ; TUNIT: Function Attrs: nounwind memory(read) -; TUNIT-LABEL: define {{[^@]+}}@not_captured_by_readonly_call_not_returned_either3 +; TUNIT-LABEL: define i32* @not_captured_by_readonly_call_not_returned_either3 ; TUNIT-SAME: (i32* nocapture readonly [[B:%.*]], i32* readonly [[R:%.*]]) #[[ATTR8]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown_r1b(i32* nocapture readonly [[B]], i32* readonly [[R]]) #[[ATTR11]] ; TUNIT-NEXT: ret i32* [[CALL]] ; ; CGSCC: Function Attrs: nounwind memory(read) -; CGSCC-LABEL: define {{[^@]+}}@not_captured_by_readonly_call_not_returned_either3 +; CGSCC-LABEL: define i32* @not_captured_by_readonly_call_not_returned_either3 ; CGSCC-SAME: (i32* nocapture readonly [[B:%.*]], i32* readonly [[R:%.*]]) #[[ATTR9]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown_r1b(i32* nocapture readonly [[B]], i32* readonly [[R]]) #[[ATTR11]] @@ -753,14 +753,14 @@ entry: define i32* @not_captured_by_readonly_call_not_returned_either4(i32* %b, i32* %r) nounwind { ; TUNIT: Function Attrs: nounwind memory(read) -; TUNIT-LABEL: define {{[^@]+}}@not_captured_by_readonly_call_not_returned_either4 +; TUNIT-LABEL: define i32* @not_captured_by_readonly_call_not_returned_either4 ; TUNIT-SAME: (i32* readonly [[B:%.*]], i32* readonly [[R:%.*]]) #[[ATTR8]] { ; TUNIT-NEXT: entry: ; TUNIT-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown_r1a(i32* readonly [[B]], i32* readonly [[R]]) ; TUNIT-NEXT: ret i32* [[CALL]] ; ; CGSCC: Function Attrs: nounwind memory(read) -; CGSCC-LABEL: define {{[^@]+}}@not_captured_by_readonly_call_not_returned_either4 +; CGSCC-LABEL: define i32* @not_captured_by_readonly_call_not_returned_either4 ; CGSCC-SAME: (i32* readonly [[B:%.*]], i32* readonly [[R:%.*]]) #[[ATTR9]] { ; CGSCC-NEXT: entry: ; CGSCC-NEXT: [[CALL:%.*]] = call i32* @readonly_unknown_r1a(i32* readonly [[B]], i32* readonly [[R]]) @@ -774,7 +774,7 @@ entry: declare i32* @unknown_i32p(i32*) define void @nocapture_is_not_subsumed_1(i32* nocapture %b) { -; CHECK-LABEL: define {{[^@]+}}@nocapture_is_not_subsumed_1 +; CHECK-LABEL: define void @nocapture_is_not_subsumed_1 ; CHECK-SAME: (i32* nocapture [[B:%.*]]) { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[CALL:%.*]] = call i32* @unknown_i32p(i32* [[B]]) @@ -789,7 +789,7 @@ entry: declare i32* @readonly_i32p(i32*) readonly define void @nocapture_is_not_subsumed_2(i32* nocapture %b) { -; CHECK-LABEL: define {{[^@]+}}@nocapture_is_not_subsumed_2 +; CHECK-LABEL: define void @nocapture_is_not_subsumed_2 ; CHECK-SAME: (i32* nocapture [[B:%.*]]) { ; CHECK-NEXT: entry: ; CHECK-NEXT: [[CALL:%.*]] = call i32* @readonly_i32p(i32* readonly [[B]])