Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugg...
authorStephen Lin <stephenwlin@gmail.com>
Sun, 14 Jul 2013 01:50:49 +0000 (01:50 +0000)
committerStephen Lin <stephenwlin@gmail.com>
Sun, 14 Jul 2013 01:50:49 +0000 (01:50 +0000)
This conversion was done with the following bash script:

  find test/Transforms -name "*.ll" | \
  while read NAME; do
    echo "$NAME"
    if ! grep -q "^; *RUN: *llc" $NAME; then
      TEMP=`mktemp -t temp`
      cp $NAME $TEMP
      sed -n "s/^define [^@]*@\([A-Za-z0-9_]*\)(.*$/\1/p" < $NAME | \
      while read FUNC; do
        sed -i '' "s/;\(.*\)\([A-Za-z0-9_]*\):\( *\)define\([^@]*\)@$FUNC\([( ]*\)\$/;\1\2-LABEL:\3define\4@$FUNC(/g" $TEMP
      done
      mv $TEMP $NAME
    fi
  done

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186269 91177308-0d34-0410-b5e6-96231b3b80d8

63 files changed:
test/Transforms/ConstProp/bswap.ll
test/Transforms/DeadArgElim/keepalive.ll
test/Transforms/DeadStoreElimination/const-pointers.ll
test/Transforms/DeadStoreElimination/no-targetdata.ll
test/Transforms/EarlyCSE/instsimplify-dom.ll
test/Transforms/GVN/edge.ll
test/Transforms/GVN/readattrs.ll
test/Transforms/GlobalOpt/2012-05-11-blockaddress.ll
test/Transforms/GlobalOpt/deadglobal.ll
test/Transforms/Inline/2010-05-31-ByvalTailcall.ll
test/Transforms/Inline/inline_cleanup.ll
test/Transforms/Inline/inline_constprop.ll
test/Transforms/Inline/inline_returns_twice.ll
test/Transforms/Inline/recursive.ll
test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll
test/Transforms/InstCombine/2012-3-15-or-xor-constant.ll
test/Transforms/InstCombine/atomic.ll
test/Transforms/InstCombine/extractvalue.ll
test/Transforms/InstCombine/icmp.ll
test/Transforms/InstCombine/memcpy.ll
test/Transforms/InstCombine/osx-names.ll
test/Transforms/InstCombine/vec_demanded_elts.ll
test/Transforms/InstCombine/weak-symbols.ll
test/Transforms/Internalize/2008-05-09-AllButMain.ll
test/Transforms/Internalize/available_externally.ll
test/Transforms/LICM/atomics.ll
test/Transforms/LICM/hoisting.ll
test/Transforms/LoopRotate/dbgvalue.ll
test/Transforms/LoopRotate/phi-duplicate.ll
test/Transforms/LoopStrengthReduce/uglygep.ll
test/Transforms/LoopVectorize/global_alias.ll
test/Transforms/ObjCARC/arc-annotations.ll
test/Transforms/ObjCARC/basic.ll
test/Transforms/ObjCARC/cfg-hazards.ll
test/Transforms/ObjCARC/contract-storestrong.ll
test/Transforms/ObjCARC/contract-testcases.ll
test/Transforms/ObjCARC/contract.ll
test/Transforms/ObjCARC/empty-block.ll
test/Transforms/ObjCARC/escape.ll
test/Transforms/ObjCARC/gvn.ll
test/Transforms/ObjCARC/intrinsic-use-isolated.ll
test/Transforms/ObjCARC/intrinsic-use.ll
test/Transforms/ObjCARC/invoke.ll
test/Transforms/ObjCARC/nested.ll
test/Transforms/ObjCARC/no-objc-arc-exceptions.ll
test/Transforms/ObjCARC/pointer-types.ll
test/Transforms/ObjCARC/post-inlining.ll
test/Transforms/ObjCARC/retain-block-alloca.ll
test/Transforms/ObjCARC/retain-block-escape-analysis.ll
test/Transforms/ObjCARC/rv.ll
test/Transforms/ObjCARC/split-backedge.ll
test/Transforms/ObjCARC/weak.ll
test/Transforms/SCCP/atomic-load-store.ll
test/Transforms/SCCP/ipsccp-basic.ll
test/Transforms/SCCP/switch.ll
test/Transforms/ScalarRepl/2011-09-22-PHISpeculateInvoke.ll
test/Transforms/ScalarRepl/address-space.ll
test/Transforms/ScalarRepl/inline-vector.ll
test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
test/Transforms/SimplifyCFG/preserve-branchweights-partial.ll
test/Transforms/TailCallElim/2010-06-26-MultipleReturnValues.ll
test/Transforms/TailCallElim/accum_recursion.ll
test/Transforms/TailCallElim/inf-recursion.ll

index a68fdcd4581e4030f3bd6eeab7787b0da31f8fb0..f601deb73db2508245542a4c318554dbf5b6c219 100644 (file)
@@ -10,28 +10,28 @@ declare i64 @llvm.bswap.i64(i64)
 
 declare i80 @llvm.bswap.i80(i80)
 
-; CHECK: define i16 @W
+; CHECK-LABEL: define i16 @W(
 define i16 @W() {
         ; CHECK: ret i16 256
         %Z = call i16 @llvm.bswap.i16( i16 1 )          ; <i16> [#uses=1]
         ret i16 %Z
 }
 
-; CHECK: define i32 @X
+; CHECK-LABEL: define i32 @X(
 define i32 @X() {
         ; CHECK: ret i32 16777216
         %Z = call i32 @llvm.bswap.i32( i32 1 )          ; <i32> [#uses=1]
         ret i32 %Z
 }
 
-; CHECK: define i64 @Y
+; CHECK-LABEL: define i64 @Y(
 define i64 @Y() {
         ; CHECK: ret i64 72057594037927936
         %Z = call i64 @llvm.bswap.i64( i64 1 )          ; <i64> [#uses=1]
         ret i64 %Z
 }
 
-; CHECK: define i80 @Z
+; CHECK-LABEL: define i80 @Z(
 define i80 @Z() {
         ; CHECK: ret i80 -450681596205739728166896
         ;                0xA0908070605040302010
index e41110c96ef4562d5da5c191fa40ce3d14561359..82e01f225843a0330910a2f752128c30b860f032 100644 (file)
@@ -13,7 +13,7 @@ define internal zeroext i32 @test1(i32 %DEADARG1) nounwind {
 }
 
 ; This checks if the struct doesn't get non-packed
-; CHECK: define internal <{ i32, i32 }> @test2
+; CHECK-LABEL: define internal <{ i32, i32 }> @test2(
 define internal <{ i32, i32 }> @test2(i32 %DEADARG1) {
         ret <{ i32, i32 }> <{ i32 1, i32 2 }>
 }
index 15976f9f10d40f36e2cff11fdb2c566c9205639d..c90d824b34c1a324d943419727ae11e665e4c5a9 100644 (file)
@@ -11,7 +11,7 @@ define void @test1(%t* noalias %pp) {
   %x = load i32* inttoptr (i32 12345 to i32*)
   store i32 %x, i32* %p
   ret void
-; CHECK: define void @test1
+; CHECK-LABEL: define void @test1(
 ; CHECK: store
 ; CHECK-NOT: store
 ; CHECK: ret void
@@ -21,7 +21,7 @@ define void @test3() {
   store i32 1, i32* @g; <-- This is dead.
   store i32 42, i32* @g
   ret void
-; CHECK: define void @test3
+; CHECK-LABEL: define void @test3(
 ; CHECK: store
 ; CHECK-NOT: store
 ; CHECK: ret void
@@ -32,7 +32,7 @@ define void @test4(i32* %p) {
   %x = load i32* @g; <-- %p and @g could alias
   store i32 %x, i32* %p
   ret void
-; CHECK: define void @test4
+; CHECK-LABEL: define void @test4(
 ; CHECK: store
 ; CHECK: store
 ; CHECK: ret void
index 4022d76dcb52d910a8f409090cb75d5973f9c865..c0c7c58d4eada65d49344c40b3bc8d8f49274b21 100644 (file)
@@ -7,7 +7,7 @@ define void @test1(i32* noalias %p) {
        call void @test1f()
        store i32 2, i32 *%p
        ret void
-; CHECK: define void @test1
+; CHECK-LABEL: define void @test1(
 ; CHECK-NOT: store
 ; CHECK-NEXT: call void
 ; CHECK-NEXT: store i32 2
index 36dffec1c63c45b74768d59ad495fd50283330ad..ebdd7f9b419fc5e419e255bf4163ae6d00f32f6c 100644 (file)
@@ -16,4 +16,4 @@ xxx:
   br label %lbl_1215
 }
 
-; CHECK: define i32 @fn
+; CHECK-LABEL: define i32 @fn(
index 3a102b6c3539139cbf25a22d478ef13891b901f9..646e10c0cdfbe53489f89b29c268c4c47864f499 100644 (file)
@@ -1,7 +1,7 @@
 ; RUN: opt -gvn -S < %s | FileCheck %s
 
 define i32 @f1(i32 %x) {
-  ; CHECK: define i32 @f1(
+  ; CHECK-LABEL: define i32 @f1(
 bb0:
   %cmp = icmp eq i32 %x, 0
   br i1 %cmp, label %bb2, label %bb1
@@ -16,7 +16,7 @@ bb2:
 }
 
 define i32 @f2(i32 %x) {
-  ; CHECK: define i32 @f2(
+  ; CHECK-LABEL: define i32 @f2(
 bb0:
   %cmp = icmp ne i32 %x, 0
   br i1 %cmp, label %bb1, label %bb2
@@ -31,7 +31,7 @@ bb2:
 }
 
 define i32 @f3(i32 %x) {
-  ; CHECK: define i32 @f3(
+  ; CHECK-LABEL: define i32 @f3(
 bb0:
   switch i32 %x, label %bb1 [ i32 0, label %bb2]
 bb1:
@@ -46,7 +46,7 @@ bb2:
 
 declare void @g(i1)
 define void @f4(i8 * %x)  {
-; CHECK: define void @f4(
+; CHECK-LABEL: define void @f4(
 bb0:
   %y = icmp eq i8* null, %x
   br i1 %y, label %bb2, label %bb1
index 7baee9986133bd1c5501e4d4e44cb85bc3dfaa3b..ba624a71f9b6c3a389d3a1015571f775746d4923 100644 (file)
@@ -11,7 +11,7 @@ define i8 @test() {
   call void @use(i8* %a)
   %b = load i8* %a
   ret i8 %b
-; CHECK: define i8 @test
+; CHECK-LABEL: define i8 @test(
 ; CHECK: call void @use(i8* %a)
 ; CHECK-NEXT: ret i8 1
 }
index 0c58c1a9d9c7368681aec6cf62da10d851d6fc02..24213af024f578eb63e5784b8b09633023e0bb95 100644 (file)
@@ -2,7 +2,7 @@
 ; Check that the mere presence of a blockaddress doesn't prevent -globalopt
 ; from promoting @f to fastcc.
 
-; CHECK: define{{.*}}fastcc{{.*}}@f
+; CHECK-LABEL: define{{.*}}fastcc{{.*}}@f(
 define internal i8* @f() {
   ret i8* blockaddress(@f, %L1)
 L1:
index cad5a91488ab0af9aa909a3fe5cc50e6624df05f..9563a23b2c299055c8e9e0a85853205f2a1b6742 100644 (file)
@@ -16,7 +16,7 @@ define void @foo1() {
 @G2 = linkonce_odr constant i32 42
 
 define void @foo2() {
-; CHECK: define void @foo2
+; CHECK-LABEL: define void @foo2(
 ; CHECK-NEXT: store
         store i32 1, i32* @G2
         ret void
index 1ce74e6e41b8b904d19685432c98b4538dce3f3d..b37b9f2ffa287e82c68459a69af1a48b30e2ae34 100644 (file)
@@ -17,7 +17,7 @@ define void @bar(i32* byval %x) {
 }
 
 define void @foo(i32* %x) {
-; CHECK: define void @foo
+; CHECK-LABEL: define void @foo(
 ; CHECK: store i32 %1, i32* %x
   call void @bar(i32* byval %x)
   ret void
index c2808dece01f69f5cb35be9e9377e26012e4ac94..4361c2e8bbf435b2aec3cfb8f28ec204606e90d1 100644 (file)
@@ -128,7 +128,7 @@ end4:
 define void @outer2(i32 %z, i1 %b) {
 ; Ensure that after inlining, none of the blocks with a call to @f actually
 ; make it through inlining.
-; CHECK: define void @outer2
+; CHECK-LABEL: define void @outer2(
 ; CHECK-NOT: call
 ; CHECK: ret void
 
@@ -164,7 +164,7 @@ define void @PR12470_outer() {
 ; This previously crashed during inliner cleanup and folding inner return
 ; instructions. Check that we don't crash and we produce a function with a single
 ; return instruction due to merging the returns of the inlined function.
-; CHECK: define void @PR12470_outer
+; CHECK-LABEL: define void @PR12470_outer(
 ; CHECK-NOT: call
 ; CHECK: ret void
 ; CHECK-NOT: ret void
index 30dd158295b866169128b46fde806c63c9d2c5ec..2371fbcf11ade1b5331ace3f1ed470876e8e778d 100644 (file)
@@ -6,7 +6,7 @@ define internal i32 @callee1(i32 %A, i32 %B) {
 }
 
 define i32 @caller1() {
-; CHECK: define i32 @caller1
+; CHECK-LABEL: define i32 @caller1(
 ; CHECK-NEXT: ret i32 3
 
   %X = call i32 @callee1( i32 10, i32 3 )
index ab2e954af151901051463a36fff451c641958b56..f316c9152b8ffcdaaf38ef4f0591d8034ca51c7f 100644 (file)
@@ -15,7 +15,7 @@ entry:
 
 define i32 @g() {
 entry:
-; CHECK: define i32 @g
+; CHECK-LABEL: define i32 @g(
 ; CHECK: call i32 @f()
 ; CHECK-NOT: call i32 @a()
   %call = call i32 @f()
@@ -32,7 +32,7 @@ entry:
 
 define i32 @i() {
 entry:
-; CHECK: define i32 @i
+; CHECK-LABEL: define i32 @i(
 ; CHECK: call i32 @b()
 ; CHECK-NOT: call i32 @h()
   %call = call i32 @h() returns_twice
index fe1c041af9a872b4a59296f3a009caab9c8dcc92..b9b14d1dbb610c498a3fde3e9e7c6f0886630a16 100644 (file)
@@ -6,7 +6,7 @@ target triple = "i386-apple-darwin10.0"
 ; rdar://10853263
 
 ; Make sure that the callee is still here.
-; CHECK: define i32 @callee
+; CHECK-LABEL: define i32 @callee(
 define i32 @callee(i32 %param) {
  %yyy = alloca [100000 x i8]
  %r = bitcast [100000 x i8]* %yyy to i8*
@@ -14,7 +14,7 @@ define i32 @callee(i32 %param) {
  ret i32 4
 }
 
-; CHECK: define i32 @caller
+; CHECK-LABEL: define i32 @caller(
 ; CHECK-NEXT: entry:
 ; CHECK-NOT: alloca
 ; CHECK: ret
index fedb46dd24ad756cba3a3c5b988c9a22a04a1c96..a75a4656e68ac5e3fcebd44bf2082d81170f1335 100644 (file)
@@ -2,7 +2,7 @@
 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: define void @fu1
+; CHECK-LABEL: define void @fu1(
 define void @fu1(i32 %parm) nounwind ssp {
   %1 = alloca i32, align 4
 ; CHECK: alloca double*
@@ -33,7 +33,7 @@ define void @fu1(i32 %parm) nounwind ssp {
 
 declare void @bar(double*)
 
-; CHECK: define void @fu2
+; CHECK-LABEL: define void @fu2(
 define void @fu2(i32 %parm) nounwind ssp {
   %1 = alloca i32, align 4
   %ptr = alloca double*, align 4
index c1602da4c84d618e33489741843cf6654d22485e..466629cb5fd66a51ac81dadb319dba0b6e83ca4c 100644 (file)
@@ -9,4 +9,4 @@ entry:
   %or4 = or i32 or (i32 zext (i1 icmp eq (i32* @g, i32* null) to i32), i32 1), %xor
   ret i32 %or4
 }
-; CHECK: define i32 @function
+; CHECK-LABEL: define i32 @function(
index 097cf5eafe068725a9f9aeeb37392517fcf51483..ccee87433f3220ad0a3d72a30b1a9d383010141a 100644 (file)
@@ -6,7 +6,7 @@ target triple = "x86_64-apple-macosx10.7.0"
 ; Check transforms involving atomic operations
 
 define i32* @test1(i8** %p) {
-; CHECK: define i32* @test1
+; CHECK-LABEL: define i32* @test1(
 ; CHECK: load atomic i8** %p monotonic, align 8
   %c = bitcast i8** %p to i32**
   %r = load atomic i32** %c monotonic, align 8
@@ -14,7 +14,7 @@ define i32* @test1(i8** %p) {
 }
 
 define i32 @test2(i32* %p) {
-; CHECK: define i32 @test2
+; CHECK-LABEL: define i32 @test2(
 ; CHECK: %x = load atomic i32* %p seq_cst, align 4
 ; CHECK: shl i32 %x, 1
   %x = load atomic i32* %p seq_cst, align 4
index 5e4c67778224a64a1fd7732c18d417b00241aa56..04c7ffa219dae48c3bd6be14322f6a9b52247ad7 100644 (file)
@@ -3,7 +3,7 @@
 declare void @bar({i32, i32} %a)
 declare i32 @baz(i32 %a)
 
-; CHECK: define i32 @foo
+; CHECK-LABEL: define i32 @foo(
 ; CHECK-NOT: extractvalue
 define i32 @foo(i32 %a, i32 %b) {
 ; Instcombine should fold various combinations of insertvalue and extractvalue
@@ -39,7 +39,7 @@ define i32 @foo(i32 %a, i32 %b) {
         ret i32 %v5
 }
 
-; CHECK: define i32 @extract2gep
+; CHECK-LABEL: define i32 @extract2gep(
 ; CHECK-NEXT: [[GEP:%[a-z0-9]+]] = getelementptr inbounds {{.*}}* %pair, i32 0, i32 1
 ; CHECK-NEXT: [[LOAD:%[A-Za-z0-9]+]] = load i32* [[GEP]]
 ; CHECK-NEXT: store
@@ -67,7 +67,7 @@ end:
         ret i32 %E
 }
 
-; CHECK: define i32 @doubleextract2gep
+; CHECK-LABEL: define i32 @doubleextract2gep(
 ; CHECK-NEXT: [[GEP:%[a-z0-9]+]] = getelementptr inbounds {{.*}}* %arg, i32 0, i32 1, i32 1
 ; CHECK-NEXT: [[LOAD:%[A-Za-z0-9]+]] = load i32* [[GEP]]
 ; CHECK-NEXT: ret i32 [[LOAD]]
index bc3112ba3f7e7edf2561c885907eb85c2b7b2bef..dfeac676e13a610446804b32bc1082ee25f91c6c 100644 (file)
@@ -990,7 +990,7 @@ define i1 @icmp_add_and_shr_ne_0(i32 %X) {
 }
 
 ; PR16244
-; CHECK: define i1 @test71
+; CHECK-LABEL: define i1 @test71(
 ; CHECK-NEXT: ret i1 false
 define i1 @test71(i8* %x) {
   %a = getelementptr i8* %x, i64 8
index 3a68ff95af82d029e646cff6c2f942b2ba44e1cc..f66e14c95af7926ec3713d8d18f5d4039c16146a 100644 (file)
@@ -6,7 +6,7 @@ declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32,
 define void @test1(i8* %a) {
         tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %a, i8* %a, i32 100, i32 1, i1 false)
         ret void
-; CHECK: define void @test1
+; CHECK-LABEL: define void @test1(
 ; CHECK-NEXT: ret void
 }
 
@@ -15,13 +15,13 @@ define void @test1(i8* %a) {
 define void @test2(i8* %a) {
         tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %a, i8* %a, i32 100, i32 1, i1 true)
         ret void
-; CHECK: define void @test2
+; CHECK-LABEL: define void @test2(
 ; CHECK-NEXT: call void @llvm.memcpy
 }
 
 define void @test3(i8* %d, i8* %s) {
         tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %d, i8* %s, i64 17179869184, i32 4, i1 false)
         ret void
-; CHECK: define void @test3
+; CHECK-LABEL: define void @test3(
 ; CHECK-NEXT: call void @llvm.memcpy
 }
index 7b83526aceb50dfce29ab3b710e876f29825e19d..926caadc49d8e88e386884debccde851a02a5f58 100644 (file)
@@ -14,14 +14,14 @@ target triple = "i386-apple-macosx10.7.2"
 @.str2 = private unnamed_addr constant [3 x i8] c"%s\00", align 1
 
 define void @test1(%struct.__sFILE* %stream) nounwind {
-; CHECK: define void @test1
+; CHECK-LABEL: define void @test1(
 ; CHECK: call i32 @"fwrite$UNIX2003"
   %call = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %stream, i8* getelementptr inbounds ([13 x i8]* @.str, i32 0, i32 0)) nounwind
   ret void
 }
 
 define void @test2(%struct.__sFILE* %stream, i8* %str) nounwind ssp {
-; CHECK: define void @test2
+; CHECK-LABEL: define void @test2(
 ; CHECK: call i32 @"fputs$UNIX2003"
   %call = tail call i32 (%struct.__sFILE*, i8*, ...)* @fprintf(%struct.__sFILE* %stream, i8* getelementptr inbounds ([3 x i8]* @.str2, i32 0, i32 0), i8* %str) nounwind
   ret void
index 727680032eeba7b413527bb6cf7d868f760ba915..d12412a9297718c3cf99d1234309a058d4240a14 100644 (file)
@@ -155,7 +155,7 @@ declare <4 x i32> @llvm.x86.sse41.pmovzxwd(<8 x i16>) nounwind readnone
 
 define <4 x float> @dead_shuffle_elt(<4 x float> %x, <2 x float> %y) nounwind {
 entry:
-; CHECK: define <4 x float> @dead_shuffle_elt
+; CHECK-LABEL: define <4 x float> @dead_shuffle_elt(
 ; CHECK: shufflevector <2 x float> %y, <2 x float> undef, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>
   %shuffle.i = shufflevector <2 x float> %y, <2 x float> %y, <4 x i32> <i32 0, i32 1, i32 0, i32 1>
   %shuffle9.i = shufflevector <4 x float> %x, <4 x float> %shuffle.i, <4 x i32> <i32 4, i32 5, i32 2, i32 3>
index 0039b5962f7488542fe522484fb8c6450210bbe9..ec946ead86026ae826f7317e89b33faaa66b9e73 100644 (file)
@@ -8,7 +8,7 @@
 @.str = private constant [2 x i8] c"y\00"
 
 define i32 @foo() nounwind {
-; CHECK: define i32 @foo
+; CHECK-LABEL: define i32 @foo(
 ; CHECK: call i32 @strcmp
 ; CHECK: ret i32 %temp1
 
@@ -20,7 +20,7 @@ entry:
 }
 
 define i32 @bar() nounwind {
-; CHECK: define i32 @bar
+; CHECK-LABEL: define i32 @bar(
 ; CHECK: ret i32 0
 
 entry:
index c07abb0c636528c9d4d602593be8f62f75832409..f75e80d4c886118440a5e7d6780ca4bbca8906f8 100644 (file)
 ; MERGE: @j = global
 @j = global i32 0
 
-; NOARGS: define internal void @main
-; LIST: define internal void @main
-; EMPTYFILE: define internal void @main
-; LIST2: define internal void @main
-; MERGE: define internal void @main
+; NOARGS-LABEL: define internal void @main(
+; LIST-LABEL: define internal void @main(
+; EMPTYFILE-LABEL: define internal void @main(
+; LIST2-LABEL: define internal void @main(
+; MERGE-LABEL: define internal void @main(
 define void @main() {
         ret void
 }
 
-; NOARGS: define internal void @foo
-; LIST: define void @foo
-; EMPTYFILE: define internal void @foo
-; LIST2: define void @foo
-; MERGE: define void @foo
+; NOARGS-LABEL: define internal void @foo(
+; LIST-LABEL: define void @foo(
+; EMPTYFILE-LABEL: define internal void @foo(
+; LIST2-LABEL: define void @foo(
+; MERGE-LABEL: define void @foo(
 define void @foo() {
         ret void
 }
 
-; NOARGS: define internal void @bar
-; LIST: define internal void @bar
-; EMPTYFILE: define internal void @bar
-; LIST2: define void @bar
-; MERGE: define void @bar
+; NOARGS-LABEL: define internal void @bar(
+; LIST-LABEL: define internal void @bar(
+; EMPTYFILE-LABEL: define internal void @bar(
+; LIST2-LABEL: define void @bar(
+; MERGE-LABEL: define void @bar(
 define void @bar() {
         ret void
 }
index a2cf23fb3909265b76002ebb5a8f228bdfb43d64..bb8960384a2dc45bffbe69ddaec926c91b2ae114 100644 (file)
@@ -1,16 +1,16 @@
 ; RUN: opt < %s -internalize -internalize-public-api-list foo -S | FileCheck %s
 
-; CHECK: define void @foo
+; CHECK-LABEL: define void @foo(
 define void @foo() {
   ret void
 }
 
-; CHECK: define internal void @zed
+; CHECK-LABEL: define internal void @zed(
 define void @zed() {
   ret void
 }
 
-; CHECK: define available_externally void @bar
+; CHECK-LABEL: define available_externally void @bar(
 define available_externally void @bar() {
   ret void
 }
index 3902152ba2e5e052d543eeeeb6f038ff38ade620..acf605d2dad8a76266cf91efd69d602338f38677 100644 (file)
@@ -14,7 +14,7 @@ loop:
 
 end:
   ret i32 %val
-; CHECK: define i32 @test1(
+; CHECK-LABEL: define i32 @test1(
 ; CHECK: load atomic
 ; CHECK-NEXT: br label %loop
 }
@@ -33,7 +33,7 @@ loop:
 
 end:
   ret i32 %val
-; CHECK: define i32 @test2(
+; CHECK-LABEL: define i32 @test2(
 ; CHECK: load atomic
 ; CHECK-NEXT: %exitcond = icmp ne
 ; CHECK-NEXT: br i1 %exitcond, label %end, label %loop
@@ -54,7 +54,7 @@ loop:
 
 end:
   ret i32 %vala
-; CHECK: define i32 @test3(
+; CHECK-LABEL: define i32 @test3(
 ; CHECK: load atomic i32* %x unordered
 ; CHECK-NEXT: br label %loop
 }
@@ -73,7 +73,7 @@ loop:
 
 end:
   ret i32 %vala
-; CHECK: define i32 @test4(
+; CHECK-LABEL: define i32 @test4(
 ; CHECK: load atomic i32* %y monotonic
 ; CHECK-NEXT: store atomic
 }
index 9da06754637865657f48dd493be4d5002c25e7e6..b4d297ac27bf9b86a4e81cec99ba040dd80088ba 100644 (file)
@@ -52,7 +52,7 @@ Out:          ; preds = %Loop
 
 ; This loop invariant instruction should be constant folded, not hoisted.
 define i32 @test3(i1 %c) {
-; CHECK: define i32 @test3
+; CHECK-LABEL: define i32 @test3(
 ; CHECK: call void @foo2(i32 6)
        %A = load i32* @X               ; <i32> [#uses=2]
        br label %Loop
index 6a8d30820f6e2deaaa37ec14e5fd37ae92d54d03..f4b6184604e26013bf269022da2f64311eed85ba 100644 (file)
@@ -4,7 +4,7 @@ declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone
 declare void @llvm.dbg.value(metadata, i64, metadata) nounwind readnone
 
 define i32 @tak(i32 %x, i32 %y, i32 %z) nounwind ssp {
-; CHECK: define i32 @tak
+; CHECK-LABEL: define i32 @tak(
 ; CHECK: entry
 ; CHECK-NEXT: call void @llvm.dbg.value(metadata !{i32 %x}
 
@@ -43,7 +43,7 @@ return:                                           ; preds = %if.end
 define void @FindFreeHorzSeg(i64 %startCol, i64 %row, i64* %rowStart) {
 ; Ensure that the loop increment basic block is rotated into the tail of the
 ; body, even though it contains a debug intrinsic call.
-; CHECK: define void @FindFreeHorzSeg
+; CHECK-LABEL: define void @FindFreeHorzSeg(
 ; CHECK: %dec = add
 ; CHECK-NEXT: tail call void @llvm.dbg.value
 ; CHECK-NEXT: br i1 %tobool, label %for.cond, label %for.end
index 8ad2dce71a6594ddffeaa5252cfc9d7c1da2525a..86a4f2a475faf17323cccb61b5003d4d48027f61 100644 (file)
@@ -29,7 +29,7 @@ for.end:                                          ; preds = %for.cond
 }
 
 ; Should only end up with one phi.
-; CHECK:      define void @test
+; CHECK-LABEL:      define void @test(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT:   br label %for.body
 ; CHECK:      for.body:
index e744cf922568a4ed48c79277eb007e65b3986b5a..4562d29a0a20b5fce47c689cccaeb49328285d6f 100644 (file)
@@ -6,7 +6,7 @@
 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
 
 define void @Z4() nounwind {
-; CHECK: define void @Z4
+; CHECK-LABEL: define void @Z4(
 bb:
   br label %bb3
 
index 121da8ba7e16c055a8d3468861ee2436ba095d77..ae72d3c6082167fd95699e32db87f6e35763eab6 100644 (file)
@@ -22,7 +22,7 @@ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
 ;     Foo.A[i] = Foo.B[i] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @noAlias01
+; CHECK-LABEL: define i32 @noAlias01(
 ; CHECK: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -70,7 +70,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[i] = Foo.B[i+10] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @noAlias02
+; CHECK-LABEL: define i32 @noAlias02(
 ; CHECK: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -119,7 +119,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[i+10] = Foo.B[i] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @noAlias03
+; CHECK-LABEL: define i32 @noAlias03(
 ; CHECK: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -168,7 +168,7 @@ for.end:                                          ; preds = %for.cond
 ;     *(PA+i) = *(PB+i) + a;
 ;   return *(PA+a);
 ; }
-; CHECK: define i32 @noAlias04
+; CHECK-LABEL: define i32 @noAlias04(
 ; CHECK-NOT: add nsw <4 x i32>
 ; CHECK: ret
 ;
@@ -222,7 +222,7 @@ for.end:                                          ; preds = %for.cond
 ;     Bar.A[N][i] = Bar.B[N][i] + a;
 ;   return Bar.A[N][a];
 ; }
-; CHECK: define i32 @noAlias05
+; CHECK-LABEL: define i32 @noAlias05(
 ; CHECK: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -278,7 +278,7 @@ for.end:                                          ; preds = %for.cond
 ;     Bar.A[N][i] = Bar.A[N+1][i] + a;
 ;   return Bar.A[N][a];
 ; }
-; CHECK: define i32 @noAlias06
+; CHECK-LABEL: define i32 @noAlias06(
 ; CHECK: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -335,7 +335,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[SIZE-i-1] = Foo.B[SIZE-i-1] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @noAlias07
+; CHECK-LABEL: define i32 @noAlias07(
 ; CHECK: sub nsw <4 x i32>
 ; CHECK: ret
 
@@ -387,7 +387,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[SIZE-i-1] = Foo.B[SIZE-i-10] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @noAlias08
+; CHECK-LABEL: define i32 @noAlias08(
 ; CHECK: sub nsw <4 x i32>
 ; CHECK: ret
 
@@ -439,7 +439,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[SIZE-i-10] = Foo.B[SIZE-i-1] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @noAlias09
+; CHECK-LABEL: define i32 @noAlias09(
 ; CHECK: sub nsw <4 x i32>
 ; CHECK: ret
 
@@ -491,7 +491,7 @@ for.end:                                          ; preds = %for.cond
 ;     *(PA+SIZE-i-1) = *(PB+SIZE-i-1) + a;
 ;   return *(PA+a);
 ; }
-; CHECK: define i32 @noAlias10
+; CHECK-LABEL: define i32 @noAlias10(
 ; CHECK-NOT: sub nsw <4 x i32>
 ; CHECK: ret
 ;
@@ -551,7 +551,7 @@ for.end:                                          ; preds = %for.cond
 ;     Bar.A[N][SIZE-i-1] = Bar.B[N][SIZE-i-1] + a;
 ;   return Bar.A[N][a];
 ; }
-; CHECK: define i32 @noAlias11
+; CHECK-LABEL: define i32 @noAlias11(
 ; CHECK: sub nsw <4 x i32>
 ; CHECK: ret
 
@@ -611,7 +611,7 @@ for.end:                                          ; preds = %for.cond
 ;     Bar.A[N][SIZE-i-1] = Bar.A[N+1][SIZE-i-1] + a;
 ;   return Bar.A[N][a];
 ; }
-; CHECK: define i32 @noAlias12
+; CHECK-LABEL: define i32 @noAlias12(
 ; CHECK: sub nsw <4 x i32>
 ; CHECK: ret
 
@@ -672,7 +672,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[i] = Foo.A[i+4] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @noAlias13
+; CHECK-LABEL: define i32 @noAlias13(
 ; CHECK: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -721,7 +721,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[SIZE-i-1] = Foo.A[SIZE-i-5] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @noAlias14
+; CHECK-LABEL: define i32 @noAlias14(
 ; CHECK: sub nsw <4 x i32>
 ; CHECK: ret
 
@@ -777,7 +777,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[i] = Foo.B[SIZE-i-1] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @mayAlias01
+; CHECK-LABEL: define i32 @mayAlias01(
 ; CHECK-NOT: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -827,7 +827,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[SIZE-i-1] = Foo.B[i] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @mayAlias02
+; CHECK-LABEL: define i32 @mayAlias02(
 ; CHECK-NOT: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -877,7 +877,7 @@ for.end:                                          ; preds = %for.cond
 ;     *(PA+i) = *(PB+SIZE-i-1) + a;
 ;   return *(PA+a);
 ; }
-; CHECK: define i32 @mayAlias03
+; CHECK-LABEL: define i32 @mayAlias03(
 ; CHECK-NOT: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -934,7 +934,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[i+10] = Foo.B[SIZE-i-1] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @mustAlias01
+; CHECK-LABEL: define i32 @mustAlias01(
 ; CHECK-NOT: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -984,7 +984,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[i] = Foo.B[SIZE-i-10] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @mustAlias02
+; CHECK-LABEL: define i32 @mustAlias02(
 ; CHECK-NOT: add nsw <4 x i32>
 ; CHECK: ret
 
@@ -1033,7 +1033,7 @@ for.end:                                          ; preds = %for.cond
 ;     Foo.A[i+10] = Foo.B[SIZE-i-10] + a;
 ;   return Foo.A[a];
 ; }
-; CHECK: define i32 @mustAlias03
+; CHECK-LABEL: define i32 @mustAlias03(
 ; CHECK-NOT: add nsw <4 x i32>
 ; CHECK: ret
 
index c0dea4b1b6a075f3f71c7243da53e3b0d4326d2b..f76ba3b80b06c43403198c10c98f667ab5dcb71e 100644 (file)
@@ -27,7 +27,7 @@ declare i8* @returner()
 ; Simple retain+release pair deletion, with some intervening control
 ; flow and harmless instructions.
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK: entry:
 ; CHECK:   call void @llvm.arc.annotation.bottomup.bbstart(i8** @x, i8** @S_None)
 ; CHECK:   %0 = tail call i8* @objc_retain(i8* %a) #0, !llvm.arc.annotation.bottomup ![[ANN0:[0-9]+]], !llvm.arc.annotation.topdown ![[ANN1:[0-9]+]]
index 2bb312bf260f21cf56d9a465b1cdbfb1af499e03..12af3548d3ba11eecb4515df6070637a67c24704 100644 (file)
@@ -177,7 +177,7 @@ if.end5:                                          ; preds = %if.then3, %if.end
   ret void
 }
 
-; CHECK: define void @test1b_imprecise(
+; CHECK-LABEL: define void @test1b_imprecise(
 ; CHECK: entry:
 ; CHECK:   tail call i8* @objc_retain(i8* %x) [[NUW:#[0-9]+]]
 ; CHECK-NOT: @objc_
@@ -210,7 +210,7 @@ if.end5:                                          ; preds = %if.then3, %if.end
 ; Like test0 but the pointer is passed to an intervening call,
 ; so the optimization is not safe.
 
-; CHECK: define void @test2_precise(
+; CHECK-LABEL: define void @test2_precise(
 ; CHECK: @objc_retain(i8* %a)
 ; CHECK: @objc_release
 ; CHECK: }
@@ -239,7 +239,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test2_imprecise(
+; CHECK-LABEL: define void @test2_imprecise(
 ; CHECK: @objc_retain(i8* %a)
 ; CHECK: @objc_release
 ; CHECK: }
@@ -273,7 +273,7 @@ return:
 
 ; TODO: For now, assume this can't happen.
 
-; CHECK: define void @test3_precise(
+; CHECK-LABEL: define void @test3_precise(
 ; TODO: @objc_retain(i8* %a)
 ; TODO: @objc_release
 ; CHECK: }
@@ -293,7 +293,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test3_imprecise(
+; CHECK-LABEL: define void @test3_imprecise(
 ; TODO: @objc_retain(i8* %a)
 ; TODO: @objc_release
 ; CHECK: }
@@ -319,7 +319,7 @@ return:
 ; Like test0 but the retain is in a loop,
 ; so the optimization is not safe.
 
-; CHECK: define void @test4_precise(
+; CHECK-LABEL: define void @test4_precise(
 ; TODO: @objc_retain(i8* %a)
 ; TODO: @objc_release
 ; CHECK: }
@@ -339,7 +339,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test4_imprecise(
+; CHECK-LABEL: define void @test4_imprecise(
 ; TODO: @objc_retain(i8* %a)
 ; TODO: @objc_release
 ; CHECK: }
@@ -363,7 +363,7 @@ return:
 ; Like test0 but the pointer is conditionally passed to an intervening call,
 ; so the optimization is not safe.
 
-; CHECK: define void @test5a(
+; CHECK-LABEL: define void @test5a(
 ; CHECK: @objc_retain(i8*
 ; CHECK: @objc_release
 ; CHECK: }
@@ -379,7 +379,7 @@ entry:
   ret void
 }
 
-; CHECK: define void @test5b(
+; CHECK-LABEL: define void @test5b(
 ; CHECK: @objc_retain(i8*
 ; CHECK: @objc_release
 ; CHECK: }
@@ -399,7 +399,7 @@ entry:
 ; retain+release pair deletion, where the release happens on two different
 ; flow paths.
 
-; CHECK: define void @test6a(
+; CHECK-LABEL: define void @test6a(
 ; CHECK: entry:
 ; CHECK:   tail call i8* @objc_retain(
 ; CHECK: t:
@@ -433,7 +433,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test6b(
+; CHECK-LABEL: define void @test6b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test6b(i32* %x, i1 %p) nounwind {
@@ -461,7 +461,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test6c(
+; CHECK-LABEL: define void @test6c(
 ; CHECK: entry:
 ; CHECK:   tail call i8* @objc_retain(
 ; CHECK: t:
@@ -495,7 +495,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test6d(
+; CHECK-LABEL: define void @test6d(
 ; CHECK: entry:
 ; CHECK:   tail call i8* @objc_retain(
 ; CHECK: t:
@@ -533,7 +533,7 @@ return:
 ; retain+release pair deletion, where the retain happens on two different
 ; flow paths.
 
-; CHECK:     define void @test7(
+; CHECK-LABEL:     define void @test7(
 ; CHECK:     entry:
 ; CHECK-NOT:   objc_
 ; CHECK:     t:
@@ -567,7 +567,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test7b(
+; CHECK-LABEL: define void @test7b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test7b(i32* %x, i1 %p) nounwind {
@@ -596,7 +596,7 @@ return:
 
 ; Like test7, but there's a retain/retainBlock mismatch. Don't delete!
 
-; CHECK: define void @test7c
+; CHECK-LABEL: define void @test7c(
 ; CHECK: t:
 ; CHECK:   call i8* @objc_retainBlock
 ; CHECK: f:
@@ -631,7 +631,7 @@ return:
 ; retain+release pair deletion, where the retain and release both happen on
 ; different flow paths. Wild!
 
-; CHECK: define void @test8a(
+; CHECK-LABEL: define void @test8a(
 ; CHECK: entry:
 ; CHECK: t:
 ; CHECK:   @objc_retain
@@ -679,7 +679,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test8b(
+; CHECK-LABEL: define void @test8b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test8b(i32* %x, i1 %p, i1 %q) nounwind {
@@ -717,7 +717,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test8c(
+; CHECK-LABEL: define void @test8c(
 ; CHECK: entry:
 ; CHECK: t:
 ; CHECK:   @objc_retain
@@ -765,7 +765,7 @@ return:
   ret void
 }
 
-; CHECK: define void @test8d(
+; CHECK-LABEL: define void @test8d(
 ; CHECK: entry:
 ; CHECK: t:
 ; CHECK:   @objc_retain
@@ -815,7 +815,7 @@ return:
 
 ; Trivial retain+release pair deletion.
 
-; CHECK: define void @test9(
+; CHECK-LABEL: define void @test9(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test9(i8* %x) nounwind {
@@ -827,7 +827,7 @@ entry:
 
 ; Retain+release pair, but on an unknown pointer relationship. Don't delete!
 
-; CHECK: define void @test9b
+; CHECK-LABEL: define void @test9b(
 ; CHECK: @objc_retain(i8* %x)
 ; CHECK: @objc_release(i8* %s)
 ; CHECK: }
@@ -841,7 +841,7 @@ entry:
 
 ; Trivial retain+release pair with intervening calls - don't delete!
 
-; CHECK: define void @test10(
+; CHECK-LABEL: define void @test10(
 ; CHECK: @objc_retain(i8* %x)
 ; CHECK: @callee
 ; CHECK: @use_pointer
@@ -860,7 +860,7 @@ entry:
 ; Also, add a tail keyword, since objc_retain can never be passed
 ; a stack argument.
 
-; CHECK: define void @test11(
+; CHECK-LABEL: define void @test11(
 ; CHECK: tail call i8* @objc_retain(i8* %x) [[NUW]]
 ; CHECK: call i8* @objc_autorelease(i8* %0) [[NUW]]
 ; CHECK: }
@@ -874,7 +874,7 @@ entry:
 
 ; Same as test11 but with no use_pointer call. Delete the pair!
 
-; CHECK: define void @test11a(
+; CHECK-LABEL: define void @test11a(
 ; CHECK: entry:
 ; CHECK-NEXT: ret void
 ; CHECK: }
@@ -889,7 +889,7 @@ entry:
 ; since if the frontend emitted code for an __autoreleasing variable, we may
 ; want it to be in the autorelease pool.
 
-; CHECK: define i8* @test11b(
+; CHECK-LABEL: define i8* @test11b(
 ; CHECK: tail call i8* @objc_retain(i8* %x) [[NUW]]
 ; CHECK: call i8* @objc_autorelease(i8* %0) [[NUW]]
 ; CHECK: }
@@ -903,7 +903,7 @@ entry:
 ; Trivial retain,release pair with intervening call, but it's dominated
 ; by another retain - delete!
 
-; CHECK: define void @test12(
+; CHECK-LABEL: define void @test12(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: @objc_retain(i8* %x)
 ; CHECK-NOT: @objc_
@@ -920,7 +920,7 @@ entry:
 
 ; Trivial retain,autorelease pair. Don't delete!
 
-; CHECK: define void @test13(
+; CHECK-LABEL: define void @test13(
 ; CHECK: tail call i8* @objc_retain(i8* %x) [[NUW]]
 ; CHECK: tail call i8* @objc_retain(i8* %x) [[NUW]]
 ; CHECK: @use_pointer(i8* %x)
@@ -937,7 +937,7 @@ entry:
 
 ; Delete the retain+release pair.
 
-; CHECK: define void @test13b
+; CHECK-LABEL: define void @test13b(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: @objc_retain(i8* %x)
 ; CHECK-NEXT: @use_pointer
@@ -957,7 +957,7 @@ entry:
 ; Don't delete the retain+release pair because there's an
 ; autoreleasePoolPop in the way.
 
-; CHECK: define void @test13c
+; CHECK-LABEL: define void @test13c(
 ; CHECK: @objc_retain(i8* %x)
 ; CHECK: @objc_autoreleasePoolPop
 ; CHECK: @objc_retain(i8* %x)
@@ -978,7 +978,7 @@ entry:
 ; Like test13c, but there's an autoreleasePoolPush in the way, but that
 ; doesn't matter.
 
-; CHECK: define void @test13d
+; CHECK-LABEL: define void @test13d(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: @objc_retain(i8* %x)
 ; CHECK-NEXT: @objc_autoreleasePoolPush
@@ -1000,7 +1000,7 @@ entry:
 ; Trivial retain,release pair with intervening call, but it's post-dominated
 ; by another release - delete!
 
-; CHECK: define void @test14(
+; CHECK-LABEL: define void @test14(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: @use_pointer
 ; CHECK-NEXT: @use_pointer
@@ -1020,7 +1020,7 @@ entry:
 ; Trivial retain,autorelease pair with intervening call, but it's post-dominated
 ; by another release. Don't delete anything.
 
-; CHECK: define void @test15(
+; CHECK-LABEL: define void @test15(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: @objc_retain(i8* %x)
 ; CHECK-NEXT: @use_pointer
@@ -1040,7 +1040,7 @@ entry:
 ; Trivial retain,autorelease pair, post-dominated
 ; by another release. Delete the retain and release.
 
-; CHECK: define void @test15b
+; CHECK-LABEL: define void @test15b(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: @objc_retain
 ; CHECK-NEXT: @objc_autorelease
@@ -1055,7 +1055,7 @@ entry:
   ret void
 }
 
-; CHECK: define void @test15c
+; CHECK-LABEL: define void @test15c(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: @objc_autorelease
 ; CHECK-NEXT: ret void
@@ -1070,7 +1070,7 @@ entry:
 
 ; Retain+release pairs in diamonds, all dominated by a retain.
 
-; CHECK: define void @test16a(
+; CHECK-LABEL: define void @test16a(
 ; CHECK: @objc_retain(i8* %x)
 ; CHECK-NOT: @objc
 ; CHECK: }
@@ -1104,7 +1104,7 @@ purple:
   ret void
 }
 
-; CHECK: define void @test16b(
+; CHECK-LABEL: define void @test16b(
 ; CHECK: @objc_retain(i8* %x)
 ; CHECK-NOT: @objc
 ; CHECK: }
@@ -1138,7 +1138,7 @@ purple:
   ret void
 }
 
-; CHECK: define void @test16c(
+; CHECK-LABEL: define void @test16c(
 ; CHECK: @objc_retain(i8* %x)
 ; CHECK-NOT: @objc
 ; CHECK: }
@@ -1172,7 +1172,7 @@ purple:
   ret void
 }
 
-; CHECK: define void @test16d(
+; CHECK-LABEL: define void @test16d(
 ; CHECK: @objc_retain(i8* %x)
 ; CHECK-NOT: @objc
 ; CHECK: }
@@ -1209,7 +1209,7 @@ purple:
 
 ; Retain+release pairs in diamonds, all post-dominated by a release.
 
-; CHECK: define void @test17(
+; CHECK-LABEL: define void @test17(
 ; CHECK-NOT: @objc_
 ; CHECK: purple:
 ; CHECK: @objc_release
@@ -1246,7 +1246,7 @@ purple:
 
 ; Delete no-ops.
 
-; CHECK: define void @test18(
+; CHECK-LABEL: define void @test18(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test18() {
@@ -1258,7 +1258,7 @@ define void @test18() {
 
 ; Delete no-ops where undef can be assumed to be null.
 
-; CHECK: define void @test18b
+; CHECK-LABEL: define void @test18b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test18b() {
@@ -1294,7 +1294,7 @@ entry:
 
 ; Bitcast insertion
 
-; CHECK: define void @test20(
+; CHECK-LABEL: define void @test20(
 ; CHECK: %tmp1 = tail call i8* @objc_retain(i8* %tmp) [[NUW]]
 ; CHECK-NEXT: invoke
 ; CHECK: }
@@ -1322,7 +1322,7 @@ if.end:                                           ; preds = %invoke.cont23
 ; Delete a redundant retain,autorelease when forwaring a call result
 ; directly to a return value.
 
-; CHECK: define i8* @test21(
+; CHECK-LABEL: define i8* @test21(
 ; CHECK: call i8* @returner()
 ; CHECK-NEXT: ret i8* %call
 ; CHECK-NEXT: }
@@ -1336,7 +1336,7 @@ entry:
 
 ; Move an objc call up through a phi that has null operands.
 
-; CHECK: define void @test22(
+; CHECK-LABEL: define void @test22(
 ; CHECK: B:
 ; CHECK:   %1 = bitcast double* %p to i8*
 ; CHECK:   call void @objc_release(i8* %1)
@@ -1359,7 +1359,7 @@ C:
 
 ; Optimize objc_retainBlock.
 
-; CHECK: define void @test23(
+; CHECK-LABEL: define void @test23(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 %block0 = type { i64, i64, i8*, i8* }
@@ -1393,7 +1393,7 @@ entry:
 
 ; Don't optimize objc_retainBlock, because there's no copy_on_escape metadata.
 
-; CHECK: define void @test23c(
+; CHECK-LABEL: define void @test23c(
 ; CHECK: @objc_retainBlock
 ; CHECK: @objc_release
 ; CHECK: }
@@ -1408,7 +1408,7 @@ entry:
 
 ; Any call can decrement a retain count.
 
-; CHECK: define void @test24(
+; CHECK-LABEL: define void @test24(
 ; CHECK: @objc_retain(i8* %a)
 ; CHECK: @objc_release
 ; CHECK: }
@@ -1423,7 +1423,7 @@ define void @test24(i8* %r, i8* %a) {
 ; Don't move a retain/release pair if the release can be moved
 ; but the retain can't be moved to balance it.
 
-; CHECK: define void @test25(
+; CHECK-LABEL: define void @test25(
 ; CHECK: entry:
 ; CHECK:   call i8* @objc_retain(i8* %p)
 ; CHECK: true:
@@ -1448,7 +1448,7 @@ done:
 ; Don't move a retain/release pair if the retain can be moved
 ; but the release can't be moved to balance it.
 
-; CHECK: define void @test26(
+; CHECK-LABEL: define void @test26(
 ; CHECK: entry:
 ; CHECK:   call i8* @objc_retain(i8* %p)
 ; CHECK: true:
@@ -1472,7 +1472,7 @@ done:
 
 ; Don't sink the retain,release into the loop.
 
-; CHECK: define void @test27(
+; CHECK-LABEL: define void @test27(
 ; CHECK: entry:
 ; CHECK: call i8* @objc_retain(i8* %p)
 ; CHECK: loop:
@@ -1497,7 +1497,7 @@ done:
 
 ; Trivial code motion case: Triangle.
 
-; CHECK: define void @test28(
+; CHECK-LABEL: define void @test28(
 ; CHECK-NOT: @objc_
 ; CHECK: true:
 ; CHECK: call i8* @objc_retain(
@@ -1525,7 +1525,7 @@ done:
 ; Trivial code motion case: Triangle, but no metadata. Don't move past
 ; unrelated memory references!
 
-; CHECK: define void @test28b
+; CHECK-LABEL: define void @test28b(
 ; CHECK: call i8* @objc_retain(
 ; CHECK: true:
 ; CHECK-NOT: @objc_
@@ -1555,7 +1555,7 @@ done:
 ; Trivial code motion case: Triangle, with metadata. Do move past
 ; unrelated memory references! And preserve the metadata.
 
-; CHECK: define void @test28c
+; CHECK-LABEL: define void @test28c(
 ; CHECK-NOT: @objc_
 ; CHECK: true:
 ; CHECK: call i8* @objc_retain(
@@ -1583,7 +1583,7 @@ done:
 
 ; Like test28. but with two releases.
 
-; CHECK: define void @test29(
+; CHECK-LABEL: define void @test29(
 ; CHECK-NOT: @objc_
 ; CHECK: true:
 ; CHECK: call i8* @objc_retain(
@@ -1618,7 +1618,7 @@ ohno:
 ; Basic case with the use and call in a diamond
 ; with an extra release.
 
-; CHECK: define void @test30(
+; CHECK-LABEL: define void @test30(
 ; CHECK-NOT: @objc_
 ; CHECK: true:
 ; CHECK: call i8* @objc_retain(
@@ -1657,7 +1657,7 @@ ohno:
 
 ; Basic case with a mergeable release.
 
-; CHECK: define void @test31(
+; CHECK-LABEL: define void @test31(
 ; CHECK: call i8* @objc_retain(i8* %p)
 ; CHECK: call void @callee()
 ; CHECK: store
@@ -1686,7 +1686,7 @@ false:
 
 ; Don't consider bitcasts or getelementptrs direct uses.
 
-; CHECK: define void @test32(
+; CHECK-LABEL: define void @test32(
 ; CHECK-NOT: @objc_
 ; CHECK: true:
 ; CHECK: call i8* @objc_retain(
@@ -1715,7 +1715,7 @@ done:
 
 ; Do consider icmps to be direct uses.
 
-; CHECK: define void @test33(
+; CHECK-LABEL: define void @test33(
 ; CHECK-NOT: @objc_
 ; CHECK: true:
 ; CHECK: call i8* @objc_retain(
@@ -1745,7 +1745,7 @@ done:
 ; Delete retain,release if there's just a possible dec and we have imprecise
 ; releases.
 
-; CHECK: define void @test34a(
+; CHECK-LABEL: define void @test34a(
 ; CHECK:   call i8* @objc_retain
 ; CHECK: true:
 ; CHECK: done:
@@ -1767,7 +1767,7 @@ done:
   ret void
 }
 
-; CHECK: define void @test34b(
+; CHECK-LABEL: define void @test34b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test34b(i8* %p, i1 %x, i8* %y) {
@@ -1791,7 +1791,7 @@ done:
 ; release.
 
 ; Precise.
-; CHECK: define void @test35a(
+; CHECK-LABEL: define void @test35a(
 ; CHECK: entry:
 ; CHECK:   call i8* @objc_retain
 ; CHECK: true:
@@ -1815,7 +1815,7 @@ done:
 }
 
 ; Imprecise.
-; CHECK: define void @test35b(
+; CHECK-LABEL: define void @test35b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test35b(i8* %p, i1 %x, i8* %y) {
@@ -1836,7 +1836,7 @@ done:
 
 ; Delete a retain,release if there's no actual use and we have precise release.
 
-; CHECK: define void @test36a(
+; CHECK-LABEL: define void @test36a(
 ; CHECK: @objc_retain
 ; CHECK: call void @callee()
 ; CHECK-NOT: @objc_
@@ -1854,7 +1854,7 @@ entry:
 
 ; Like test36, but with metadata.
 
-; CHECK: define void @test36b(
+; CHECK-LABEL: define void @test36b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test36b(i8* %p) {
@@ -1868,7 +1868,7 @@ entry:
 
 ; Be aggressive about analyzing phis to eliminate possible uses.
 
-; CHECK: define void @test38(
+; CHECK-LABEL: define void @test38(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test38(i8* %p, i1 %u, i1 %m, i8* %z, i8* %y, i8* %x, i8* %w) {
@@ -1902,7 +1902,7 @@ g:
 
 ; Delete retain,release pairs around loops.
 
-; CHECK: define void @test39(
+; CHECK-LABEL: define void @test39(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test39(i8* %p) {
@@ -1920,7 +1920,7 @@ exit:                                             ; preds = %loop
 
 ; Delete retain,release pairs around loops containing uses.
 
-; CHECK: define void @test39b(
+; CHECK-LABEL: define void @test39b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test39b(i8* %p) {
@@ -1939,7 +1939,7 @@ exit:                                             ; preds = %loop
 
 ; Delete retain,release pairs around loops containing potential decrements.
 
-; CHECK: define void @test39c(
+; CHECK-LABEL: define void @test39c(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test39c(i8* %p) {
@@ -1959,7 +1959,7 @@ exit:                                             ; preds = %loop
 ; Delete retain,release pairs around loops even if
 ; the successors are in a different order.
 
-; CHECK: define void @test40(
+; CHECK-LABEL: define void @test40(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test40(i8* %p) {
@@ -1979,7 +1979,7 @@ exit:                                             ; preds = %loop
 ; Do the known-incremented retain+release elimination even if the pointer
 ; is also autoreleased.
 
-; CHECK: define void @test42(
+; CHECK-LABEL: define void @test42(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: call i8* @objc_retain(i8* %p)
 ; CHECK-NEXT: call i8* @objc_autorelease(i8* %p)
@@ -2001,7 +2001,7 @@ entry:
 ; Don't the known-incremented retain+release elimination if the pointer is
 ; autoreleased and there's an autoreleasePoolPop.
 
-; CHECK: define void @test43(
+; CHECK-LABEL: define void @test43(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: call i8* @objc_retain(i8* %p)
 ; CHECK-NEXT: call i8* @objc_autorelease(i8* %p)
@@ -2027,7 +2027,7 @@ entry:
 ; Do the known-incremented retain+release elimination if the pointer is
 ; autoreleased and there's an autoreleasePoolPush.
 
-; CHECK: define void @test43b
+; CHECK-LABEL: define void @test43b(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: call i8* @objc_retain(i8* %p)
 ; CHECK-NEXT: call i8* @objc_autorelease(i8* %p)
@@ -2050,7 +2050,7 @@ entry:
 
 ; Do retain+release elimination for non-provenance pointers.
 
-; CHECK: define void @test44(
+; CHECK-LABEL: define void @test44(
 ; CHECK-NOT: objc_
 ; CHECK: }
 define void @test44(i8** %pp) {
@@ -2063,7 +2063,7 @@ define void @test44(i8** %pp) {
 ; Don't delete retain+release with an unknown-provenance
 ; may-alias objc_release between them.
 
-; CHECK: define void @test45(
+; CHECK-LABEL: define void @test45(
 ; CHECK: call i8* @objc_retain(i8* %p)
 ; CHECK: call void @objc_release(i8* %q)
 ; CHECK: call void @use_pointer(i8* %p)
@@ -2081,7 +2081,7 @@ define void @test45(i8** %pp, i8** %qq) {
 
 ; Don't delete retain and autorelease here.
 
-; CHECK: define void @test46(
+; CHECK-LABEL: define void @test46(
 ; CHECK: tail call i8* @objc_retain(i8* %p) [[NUW]]
 ; CHECK: true:
 ; CHECK: call i8* @objc_autorelease(i8* %p) [[NUW]]
@@ -2102,7 +2102,7 @@ false:
 
 ; Delete no-op cast calls.
 
-; CHECK: define i8* @test47(
+; CHECK-LABEL: define i8* @test47(
 ; CHECK-NOT: call
 ; CHECK: ret i8* %p
 ; CHECK: }
@@ -2113,7 +2113,7 @@ define i8* @test47(i8* %p) nounwind {
 
 ; Delete no-op cast calls.
 
-; CHECK: define i8* @test48(
+; CHECK-LABEL: define i8* @test48(
 ; CHECK-NOT: call
 ; CHECK: ret i8* %p
 ; CHECK: }
@@ -2124,7 +2124,7 @@ define i8* @test48(i8* %p) nounwind {
 
 ; Delete no-op cast calls.
 
-; CHECK: define i8* @test49(
+; CHECK-LABEL: define i8* @test49(
 ; CHECK-NOT: call
 ; CHECK: ret i8* %p
 ; CHECK: }
@@ -2136,7 +2136,7 @@ define i8* @test49(i8* %p) nounwind {
 ; Do delete retain+release with intervening stores of the address value if we
 ; have imprecise release attached to objc_release.
 
-; CHECK:      define void @test50a(
+; CHECK-LABEL:      define void @test50a(
 ; CHECK-NEXT:   call i8* @objc_retain
 ; CHECK-NEXT:   call void @callee
 ; CHECK-NEXT:   store
@@ -2151,7 +2151,7 @@ define void @test50a(i8* %p, i8** %pp) {
   ret void
 }
 
-; CHECK: define void @test50b(
+; CHECK-LABEL: define void @test50b(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test50b(i8* %p, i8** %pp) {
@@ -2166,7 +2166,7 @@ define void @test50b(i8* %p, i8** %pp) {
 ; Don't delete retain+release with intervening stores through the
 ; address value.
 
-; CHECK: define void @test51a(
+; CHECK-LABEL: define void @test51a(
 ; CHECK: call i8* @objc_retain(i8* %p)
 ; CHECK: call void @objc_release(i8* %p)
 ; CHECK: ret void
@@ -2179,7 +2179,7 @@ define void @test51a(i8* %p) {
   ret void
 }
 
-; CHECK: define void @test51b(
+; CHECK-LABEL: define void @test51b(
 ; CHECK: call i8* @objc_retain(i8* %p)
 ; CHECK: call void @objc_release(i8* %p)
 ; CHECK: ret void
@@ -2195,7 +2195,7 @@ define void @test51b(i8* %p) {
 ; Don't delete retain+release with intervening use of a pointer of
 ; unknown provenance.
 
-; CHECK: define void @test52a(
+; CHECK-LABEL: define void @test52a(
 ; CHECK: call i8* @objc_retain
 ; CHECK: call void @callee()
 ; CHECK: call void @use_pointer(i8* %z)
@@ -2212,7 +2212,7 @@ define void @test52a(i8** %zz, i8** %pp) {
   ret void
 }
 
-; CHECK: define void @test52b(
+; CHECK-LABEL: define void @test52b(
 ; CHECK: call i8* @objc_retain
 ; CHECK: call void @callee()
 ; CHECK: call void @use_pointer(i8* %z)
@@ -2234,7 +2234,7 @@ define void @test52b(i8** %zz, i8** %pp) {
 ; Oops. That's wrong. Clang sometimes uses function types gratuitously.
 ; See rdar://10551239.
 
-; CHECK: define void @test53(
+; CHECK-LABEL: define void @test53(
 ; CHECK: @objc_
 ; CHECK: }
 define void @test53(void ()** %zz, i8** %pp) {
@@ -2249,7 +2249,7 @@ define void @test53(void ()** %zz, i8** %pp) {
 
 ; Convert autorelease to release if the value is unused.
 
-; CHECK: define void @test54(
+; CHECK-LABEL: define void @test54(
 ; CHECK: call i8* @returner()
 ; CHECK-NEXT: call void @objc_release(i8* %t) [[NUW]], !clang.imprecise_release !0
 ; CHECK-NEXT: ret void
@@ -2262,7 +2262,7 @@ define void @test54() {
 
 ; Nested retain+release pairs. Delete them both.
 
-; CHECK: define void @test55(
+; CHECK-LABEL: define void @test55(
 ; CHECK-NOT: @objc
 ; CHECK: }
 define void @test55(i8* %x) { 
@@ -2279,7 +2279,7 @@ entry:
 ; can be partially eliminated. Plus an extra outer pair to
 ; eliminate, for fun.
 
-; CHECK: define void @test56(
+; CHECK-LABEL: define void @test56(
 ; CHECK-NOT: @objc
 ; CHECK: if.then:
 ; CHECK-NEXT: %0 = tail call i8* @objc_retain(i8* %x) [[NUW]]
@@ -2313,7 +2313,7 @@ if.end:                                           ; preds = %entry, %if.then
 ; known unnecessary because the presence of the second one means that
 ; the first one won't be deleting the object.
 
-; CHECK:      define void @test57(
+; CHECK-LABEL:      define void @test57(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT:   call void @use_pointer(i8* %x)
 ; CHECK-NEXT:   call void @use_pointer(i8* %x)
@@ -2339,7 +2339,7 @@ entry:
 ; An adjacent retain+release pair is sufficient even if it will be
 ; removed itself.
 
-; CHECK:      define void @test58(
+; CHECK-LABEL:      define void @test58(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT:   call void @use_pointer(i8* %x)
 ; CHECK-NEXT:   call void @use_pointer(i8* %x)
@@ -2358,7 +2358,7 @@ entry:
 
 ; Don't delete the second retain+release pair in an adjacent set.
 
-; CHECK:      define void @test59(
+; CHECK-LABEL:      define void @test59(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT:   %0 = tail call i8* @objc_retain(i8* %x) [[NUW]]
 ; CHECK-NEXT:   call void @use_pointer(i8* %x)
@@ -2385,7 +2385,7 @@ entry:
 ; We have a precise lifetime retain/release here. We can not remove them since
 ; @something is not constant.
 
-; CHECK: define void @test60a(
+; CHECK-LABEL: define void @test60a(
 ; CHECK: call i8* @objc_retain
 ; CHECK: call void @objc_release
 ; CHECK: }
@@ -2399,7 +2399,7 @@ define void @test60a() {
   ret void
 }
 
-; CHECK: define void @test60b(
+; CHECK-LABEL: define void @test60b(
 ; CHECK: call i8* @objc_retain
 ; CHECK-NOT: call i8* @objc_retain
 ; CHECK-NOT: call i8* @objc_rrelease
@@ -2415,7 +2415,7 @@ define void @test60b() {
   ret void
 }
 
-; CHECK: define void @test60c(
+; CHECK-LABEL: define void @test60c(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test60c() {
@@ -2428,7 +2428,7 @@ define void @test60c() {
   ret void
 }
 
-; CHECK: define void @test60d(
+; CHECK-LABEL: define void @test60d(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test60d() {
@@ -2441,7 +2441,7 @@ define void @test60d() {
   ret void
 }
 
-; CHECK: define void @test60e(
+; CHECK-LABEL: define void @test60e(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test60e() {
@@ -2457,7 +2457,7 @@ define void @test60e() {
 ; Constant pointers to objects don't need to be considered related to other
 ; pointers.
 
-; CHECK: define void @test61(
+; CHECK-LABEL: define void @test61(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test61() {
@@ -2472,7 +2472,7 @@ define void @test61() {
 ; Delete a retain matched by releases when one is inside the loop and the
 ; other is outside the loop.
 
-; CHECK: define void @test62(
+; CHECK-LABEL: define void @test62(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test62(i8* %x, i1* %p) nounwind {
@@ -2496,7 +2496,7 @@ exit:
 ; Like test62 but with no release in exit.
 ; Don't delete anything!
 
-; CHECK: define void @test63(
+; CHECK-LABEL: define void @test63(
 ; CHECK: loop:
 ; CHECK:   tail call i8* @objc_retain(i8* %x)
 ; CHECK: loop.more:
@@ -2522,7 +2522,7 @@ exit:
 ; Like test62 but with no release in loop.more.
 ; Don't delete anything!
 
-; CHECK: define void @test64(
+; CHECK-LABEL: define void @test64(
 ; CHECK: loop:
 ; CHECK:   tail call i8* @objc_retain(i8* %x)
 ; CHECK: exit:
@@ -2547,7 +2547,7 @@ exit:
 
 ; Move an autorelease past a phi with a null.
 
-; CHECK: define i8* @test65(
+; CHECK-LABEL: define i8* @test65(
 ; CHECK: if.then:
 ; CHECK:   call i8* @objc_autorelease(
 ; CHECK: return:
@@ -2570,7 +2570,7 @@ return:                                           ; preds = %if.then, %entry
 
 ; Don't move an autorelease past an autorelease pool boundary.
 
-; CHECK: define i8* @test65b(
+; CHECK-LABEL: define i8* @test65b(
 ; CHECK: if.then:
 ; CHECK-NOT: @objc_autorelease
 ; CHECK: return:
@@ -2596,7 +2596,7 @@ return:                                           ; preds = %if.then, %entry
 ; Don't move an autoreleaseReuturnValue, which would break
 ; the RV optimization.
 
-; CHECK: define i8* @test65c(
+; CHECK-LABEL: define i8* @test65c(
 ; CHECK: if.then:
 ; CHECK-NOT: @objc_autorelease
 ; CHECK: return:
@@ -2620,7 +2620,7 @@ return:                                           ; preds = %if.then, %entry
 ; An objc_retain can serve as a may-use for a different pointer.
 ; rdar://11931823
 
-; CHECK: define void @test66a(
+; CHECK-LABEL: define void @test66a(
 ; CHECK:   tail call i8* @objc_retain(i8* %cond) [[NUW]]
 ; CHECK:   tail call void @objc_release(i8* %call) [[NUW]]
 ; CHECK:   tail call i8* @objc_retain(i8* %tmp8) [[NUW]]
@@ -2643,7 +2643,7 @@ cond.end:                                         ; preds = %cond.true, %entry
   ret void
 }
 
-; CHECK: define void @test66b(
+; CHECK-LABEL: define void @test66b(
 ; CHECK:   tail call i8* @objc_retain(i8* %cond) [[NUW]]
 ; CHECK:   tail call void @objc_release(i8* %call) [[NUW]]
 ; CHECK:   tail call i8* @objc_retain(i8* %tmp8) [[NUW]]
@@ -2666,7 +2666,7 @@ cond.end:                                         ; preds = %cond.true, %entry
   ret void
 }
 
-; CHECK: define void @test66c(
+; CHECK-LABEL: define void @test66c(
 ; CHECK:   tail call i8* @objc_retain(i8* %cond) [[NUW]]
 ; CHECK:   tail call void @objc_release(i8* %call) [[NUW]]
 ; CHECK:   tail call i8* @objc_retain(i8* %tmp8) [[NUW]]
@@ -2689,7 +2689,7 @@ cond.end:                                         ; preds = %cond.true, %entry
   ret void
 }
 
-; CHECK: define void @test66d(
+; CHECK-LABEL: define void @test66d(
 ; CHECK:   tail call i8* @objc_retain(i8* %cond) [[NUW]]
 ; CHECK:   tail call void @objc_release(i8* %call) [[NUW]]
 ; CHECK:   tail call i8* @objc_retain(i8* %tmp8) [[NUW]]
@@ -3045,7 +3045,7 @@ declare i32 @objc_sync_exit(i8*)
 ; Make sure that we understand that objc_sync_{enter,exit} are IC_User not
 ; IC_Call/IC_CallOrUser.
 
-; CHECK:      define void @test67
+; CHECK-LABEL:      define void @test67(
 ; CHECK-NEXT:   call i32 @objc_sync_enter(i8* %x)
 ; CHECK-NEXT:   call i32 @objc_sync_exit(i8* %x)
 ; CHECK-NEXT:   ret void
index 0156d5bfb46445c3591f77b067bbd2d38bc63942..61e5a3b1dccb9e1a58cc27ffc752e31b7ea347fb 100644 (file)
@@ -10,7 +10,7 @@ declare void @objc_release(i8*)
 declare void @callee()
 declare void @block_callee(void ()*)
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK:   call i8* @objc_retain(
 ; CHECK: for.body:
 ; CHECK-NOT: @objc
@@ -35,7 +35,7 @@ for.end:                                          ; preds = %for.body
   ret void
 }
 
-; CHECK: define void @test1(
+; CHECK-LABEL: define void @test1(
 ; CHECK:   call i8* @objc_retain(
 ; CHECK: for.body:
 ; CHECK-NOT: @objc
@@ -60,7 +60,7 @@ for.end:                                          ; preds = %for.body
   ret void
 }
 
-; CHECK: define void @test2(
+; CHECK-LABEL: define void @test2(
 ; CHECK:   call i8* @objc_retain(
 ; CHECK: for.body:
 ; CHECK-NOT: @objc
index 023604e105b03bded3e27c1589d809763fda1e57..50a2d9756648d68823aebaa4b8e4af91e2c50bf2 100644 (file)
@@ -8,7 +8,7 @@ declare void @use_pointer(i8*)
 
 @x = external global i8*
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK: entry:
 ; CHECK-NEXT: tail call void @objc_storeStrong(i8** @x, i8* %p) [[NUW:#[0-9]+]]
 ; CHECK-NEXT: ret void
@@ -137,7 +137,7 @@ entry:
 
 ; Like test0, but there's no store, so don't form an objc_storeStrong.
 
-;      CHECK: define void @test7(
+;      CHECK-LABEL: define void @test7(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT:   %0 = tail call i8* @objc_retain(i8* %p) [[NUW]]
 ; CHECK-NEXT:   %tmp = load i8** @x, align 8
@@ -154,7 +154,7 @@ entry:
 
 ; Like test0, but there's no retain, so don't form an objc_storeStrong.
 
-;      CHECK: define void @test8(
+;      CHECK-LABEL: define void @test8(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT:   %tmp = load i8** @x, align 8
 ; CHECK-NEXT:   store i8* %p, i8** @x, align 8
index fc023f898198697a14294686e2e56f2c5667c083..0bf63a6e5174d1ec35a88c0776053b306f27da03 100644 (file)
@@ -18,7 +18,7 @@ declare i32 @__gxx_personality_sj0(...)
 
 ; Don't get in trouble on bugpointed code.
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 define void @test0() {
 bb:
   %tmp = bitcast %4* undef to i8*
@@ -45,7 +45,7 @@ bb6:                                              ; preds = %bb5, %bb4, %bb4, %b
 ; When rewriting operands for a phi which has multiple operands
 ; for the same block, use the exactly same value in each block.
 
-; CHECK: define void @test1(
+; CHECK-LABEL: define void @test1(
 ; CHECK: %0 = bitcast i8* %tmp3 to %0* 
 ; CHECK: br i1 undef, label %bb7, label %bb7
 ; CHECK: bb7:
index 3544f885528b4b8e6d12e310cce3ea6993373c76..2259e17ec58c994e46deec789444420c9a94d015 100644 (file)
@@ -12,7 +12,7 @@ declare void @use_pointer(i8*)
 declare i8* @returner()
 declare void @callee()
 
-; CHECK: define void @test0
+; CHECK-LABEL: define void @test0(
 ; CHECK: call void @use_pointer(i8* %0)
 ; CHECK: }
 define void @test0(i8* %x) nounwind {
@@ -22,7 +22,7 @@ entry:
   ret void
 }
 
-; CHECK: define void @test1
+; CHECK-LABEL: define void @test1(
 ; CHECK: call void @use_pointer(i8* %0)
 ; CHECK: }
 define void @test1(i8* %x) nounwind {
@@ -34,7 +34,7 @@ entry:
 
 ; Merge objc_retain and objc_autorelease into objc_retainAutorelease.
 
-; CHECK: define void @test2(
+; CHECK-LABEL: define void @test2(
 ; CHECK: tail call i8* @objc_retainAutorelease(i8* %x) [[NUW:#[0-9]+]]
 ; CHECK: }
 define void @test2(i8* %x) nounwind {
@@ -47,7 +47,7 @@ entry:
 
 ; Same as test2 but the value is returned. Do an RV optimization.
 
-; CHECK: define i8* @test2b(
+; CHECK-LABEL: define i8* @test2b(
 ; CHECK: tail call i8* @objc_retainAutoreleaseReturnValue(i8* %x) [[NUW]]
 ; CHECK: }
 define i8* @test2b(i8* %x) nounwind {
@@ -59,7 +59,7 @@ entry:
 
 ; Merge a retain,autorelease pair around a call.
 
-; CHECK: define void @test3(
+; CHECK-LABEL: define void @test3(
 ; CHECK: tail call i8* @objc_retainAutorelease(i8* %x) [[NUW]]
 ; CHECK: @use_pointer(i8* %0)
 ; CHECK: }
@@ -74,7 +74,7 @@ entry:
 ; Trivial retain,autorelease pair with intervening call, but it's post-dominated
 ; by another release. The retain and autorelease can be merged.
 
-; CHECK: define void @test4(
+; CHECK-LABEL: define void @test4(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT: @objc_retainAutorelease(i8* %x) [[NUW]]
 ; CHECK-NEXT: @use_pointer
@@ -92,7 +92,7 @@ entry:
 
 ; Don't merge retain and autorelease if they're not control-equivalent.
 
-; CHECK: define void @test5(
+; CHECK-LABEL: define void @test5(
 ; CHECK: tail call i8* @objc_retain(i8* %p) [[NUW]]
 ; CHECK: true:
 ; CHECK: call i8* @objc_autorelease(i8* %0) [[NUW]]
@@ -119,7 +119,7 @@ false:
 ; into objc_retainAutoreleasedReturnValueAutoreleaseReturnValue?
 ; Those entrypoints don't exist yet though.
 
-; CHECK: define i8* @test6(
+; CHECK-LABEL: define i8* @test6(
 ; CHECK: call i8* @objc_retainAutoreleasedReturnValue(i8* %p) [[NUW]]
 ; CHECK: %t = tail call i8* @objc_autoreleaseReturnValue(i8* %1) [[NUW]]
 ; CHECK: }
@@ -148,7 +148,7 @@ define i8* @test7(i8* %p) {
 
 ; Do the return value substitution for PHI nodes too.
 
-; CHECK: define i8* @test8(
+; CHECK-LABEL: define i8* @test8(
 ; CHECK: %retval = phi i8* [ %p, %if.then ], [ null, %entry ]
 ; CHECK: }
 define i8* @test8(i1 %x, i8* %c) {
@@ -165,7 +165,7 @@ return:                                           ; preds = %if.then, %entry
 }
 
 ; Kill calls to @clang.arc.use(...)
-; CHECK: define void @test9(
+; CHECK-LABEL: define void @test9(
 ; CHECK-NOT: clang.arc.use
 ; CHECK: }
 define void @test9(i8* %a, i8* %b) {
@@ -188,7 +188,7 @@ define void @test10() {
 ; Convert objc_retain to objc_retainAutoreleasedReturnValue if its
 ; argument is a return value.
 
-; CHECK: define void @test11(
+; CHECK-LABEL: define void @test11(
 ; CHECK-NEXT: %y = call i8* @returner()
 ; CHECK-NEXT: tail call i8* @objc_retainAutoreleasedReturnValue(i8* %y) [[NUW]]
 ; CHECK-NEXT: ret void
@@ -201,7 +201,7 @@ define void @test11() {
 ; Don't convert objc_retain to objc_retainAutoreleasedReturnValue if its
 ; argument is not a return value.
 
-; CHECK: define void @test12(
+; CHECK-LABEL: define void @test12(
 ; CHECK-NEXT: tail call i8* @objc_retain(i8* %y) [[NUW]]
 ; CHECK-NEXT: ret void
 ; CHECK-NEXT: }
@@ -213,7 +213,7 @@ define void @test12(i8* %y) {
 ; Don't Convert objc_retain to objc_retainAutoreleasedReturnValue if it
 ; isn't next to the call providing its return value.
 
-; CHECK: define void @test13(
+; CHECK-LABEL: define void @test13(
 ; CHECK-NEXT: %y = call i8* @returner()
 ; CHECK-NEXT: call void @callee()
 ; CHECK-NEXT: tail call i8* @objc_retain(i8* %y) [[NUW]]
index ca5541365a4ec5faba348e7f1754e0250741c4f8..0440ab8f7c079a9df7e46f41c295a77a56262b12 100644 (file)
@@ -11,7 +11,7 @@ declare i8* @objc_autoreleaseReturnValue(i8*)
 
 ; Don't delete the autorelease.
 
-; CHECK: define %0* @test0(
+; CHECK-LABEL: define %0* @test0(
 ; CHECK:   @objc_retain
 ; CHECK: .lr.ph:
 ; CHECK-NOT: @objc_r
@@ -35,7 +35,7 @@ define %0* @test0(%0* %buffer) nounwind {
 
 ; Do delete the autorelease, even with the retain in a different block.
 
-; CHECK: define %0* @test1(
+; CHECK-LABEL: define %0* @test1(
 ; CHECK-NOT: @objc
 ; CHECK: }
 define %0* @test1() nounwind {
index 8f252a0d343a5cb152d7740619e66009efa85deb..28f2e807798a13f03691e9ad473db252a164d1be 100644 (file)
@@ -9,7 +9,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
 ; Don't optimize away the retainBlock, because the object's address "escapes"
 ; with the objc_storeWeak call.
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK: %tmp7 = call i8* @objc_retainBlock(i8* %tmp6) [[NUW:#[0-9]+]], !clang.arc.copy_on_escape !0
 ; CHECK: call void @objc_release(i8* %tmp7) [[NUW]], !clang.imprecise_release !0
 ; CHECK: }
@@ -65,7 +65,7 @@ entry:
 ; Like test0, but it makes a regular call instead of a storeWeak call,
 ; so the optimization is valid.
 
-; CHECK: define void @test1(
+; CHECK-LABEL: define void @test1(
 ; CHECK-NOT: @objc_retainBlock
 ; CHECK: }
 define void @test1() nounwind {
index 1c55ee5c8ab1798fbdbaff65466604a474d56d78..2d120e7345a5274c46b3f538ab1a920cfca01189 100644 (file)
@@ -26,7 +26,7 @@ entry:
 ; GVN should not be able to eliminate this redundant load, with ARC-specific
 ; alias analysis.
 
-; CHECK: define i8* @test1
+; CHECK-LABEL: define i8* @test1(
 ; CHECK: load
 ; CHECK: load
 ; CHECK: ret i8* %t
index 4215b5c3646538b15b1a29144671227ab2916784..f5c31fd82ecb0f76d0f179b18fec97578c8cb1c6 100644 (file)
@@ -6,7 +6,7 @@
 declare void @clang.arc.use(...) nounwind
 
 ; Kill calls to @clang.arc.use(...)
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK-NOT: clang.arc.use
 ; CHECK: }
 define void @test0(i8* %a, i8* %b) {
index 60370c1f4405b15fe6da97ce6d6c65c31f6b7cba..f3833cb54297b59a24aafbe18843dccce23405e7 100644 (file)
@@ -17,7 +17,7 @@ declare void @test0_helper(i8*, i8**)
 ; FIXME: the fact that we re-order retains w.r.t. @clang.arc.use could
 ; be problematic if we get run twice, e.g. under LTO.
 ;
-; CHECK:      define void @test0(
+; CHECK-LABEL:      define void @test0(
 ; CHECK:        @objc_retain(i8* %x)
 ; CHECK-NEXT:   store i8* %y, i8** %temp0
 ; CHECK-NEXT:   @objc_retain(i8* %y)
@@ -65,7 +65,7 @@ entry:
   ret void
 }
 
-; CHECK:      define void @test0a(
+; CHECK-LABEL:      define void @test0a(
 ; CHECK:        @objc_retain(i8* %x)
 ; CHECK-NEXT:   store i8* %y, i8** %temp0
 ; CHECK-NEXT:   @objc_retain(i8* %y)
index 9510f2e7ddeca53d4e1c3111f0e8c9908081a742..04d057b9d496dcc1b0c57862df71965800775e2b 100644 (file)
@@ -10,7 +10,7 @@ declare i8* @returner()
 
 ; ARCOpt shouldn't try to move the releases to the block containing the invoke.
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK: invoke.cont:
 ; CHECK:   call void @objc_release(i8* %zipFile) [[NUW:#[0-9]+]], !clang.imprecise_release !0
 ; CHECK:   ret void
@@ -38,7 +38,7 @@ lpad:                                             ; preds = %entry
 
 ; ARCOpt should move the release before the callee calls.
 
-; CHECK: define void @test1(
+; CHECK-LABEL: define void @test1(
 ; CHECK: invoke.cont:
 ; CHECK:   call void @objc_release(i8* %zipFile) [[NUW]], !clang.imprecise_release !0
 ; CHECK:   call void @callee()
@@ -108,7 +108,7 @@ finally.rethrow:                                  ; preds = %invoke.cont, %entry
 
 ; Don't try to place code on invoke critical edges.
 
-; CHECK: define void @test3(
+; CHECK-LABEL: define void @test3(
 ; CHECK: if.end:
 ; CHECK-NEXT: call void @objc_release(i8* %p) [[NUW]]
 ; CHECK-NEXT: ret void
@@ -139,7 +139,7 @@ if.end:
 
 ; Like test3, but with ARC-relevant exception handling.
 
-; CHECK: define void @test4(
+; CHECK-LABEL: define void @test4(
 ; CHECK: lpad:
 ; CHECK-NEXT: %r = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*)
 ; CHECK-NEXT: cleanup
@@ -177,7 +177,7 @@ if.end:
 ; Don't turn the retainAutoreleaseReturnValue into retain, because it's
 ; for an invoke which we can assume codegen will put immediately prior.
 
-; CHECK: define void @test5(
+; CHECK-LABEL: define void @test5(
 ; CHECK: call i8* @objc_retainAutoreleasedReturnValue(i8* %z)
 ; CHECK: }
 define void @test5() {
@@ -197,7 +197,7 @@ if.end:
 
 ; Like test5, but there's intervening code.
 
-; CHECK: define void @test6(
+; CHECK-LABEL: define void @test6(
 ; CHECK: call i8* @objc_retain(i8* %z)
 ; CHECK: }
 define void @test6() {
index ca9c58bcb3e348339c84871eda2acec420b2e2b5..2eeb4fc25873b5717bbf82688c4bab9c6c616196 100644 (file)
@@ -25,7 +25,7 @@ declare void @__crasher_block_invoke1(i8* nocapture)
 
 ; Delete a nested retain+release pair.
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK: call i8* @objc_retain
 ; CHECK-NOT: @objc_retain
 ; CHECK: }
@@ -89,7 +89,7 @@ forcoll.empty:
 
 ; Delete a nested retain+release pair.
 
-; CHECK: define void @test2(
+; CHECK-LABEL: define void @test2(
 ; CHECK: call i8* @objc_retain
 ; CHECK-NOT: @objc_retain
 ; CHECK: }
@@ -154,7 +154,7 @@ forcoll.empty:
 
 ; Delete a nested retain+release pair.
 
-; CHECK: define void @test4(
+; CHECK-LABEL: define void @test4(
 ; CHECK: call i8* @objc_retain
 ; CHECK-NOT: @objc_retain
 ; CHECK: }
@@ -219,7 +219,7 @@ forcoll.empty:
 
 ; Delete a nested retain+release pair.
 
-; CHECK: define void @test5(
+; CHECK-LABEL: define void @test5(
 ; CHECK: call i8* @objc_retain
 ; CHECK-NOT: @objc_retain
 ; CHECK: }
@@ -287,7 +287,7 @@ forcoll.empty:
 ; The optimizer currently can't do this, because isn't isn't sophisticated enough in
 ; reasnoning about nesting.
 
-; CHECK: define void @test6(
+; CHECK-LABEL: define void @test6(
 ; CHECK: call i8* @objc_retain
 ; CHECK: @objc_retain
 ; CHECK: }
@@ -355,7 +355,7 @@ forcoll.empty:
 ; The optimizer currently can't do this, because isn't isn't sophisticated enough in
 ; reasnoning about nesting.
 
-; CHECK: define void @test7(
+; CHECK-LABEL: define void @test7(
 ; CHECK: call i8* @objc_retain
 ; CHECK: @objc_retain
 ; CHECK: }
@@ -422,7 +422,7 @@ forcoll.empty:
 
 ; Delete a nested retain+release pair.
 
-; CHECK: define void @test8(
+; CHECK-LABEL: define void @test8(
 ; CHECK: call i8* @objc_retain
 ; CHECK-NOT: @objc_retain
 ; CHECK: }
@@ -496,7 +496,7 @@ forcoll.empty:
 ; The optimizer currently can't do this, because of a split loop backedge.
 ; See test9b for the same testcase without a split backedge.
 
-; CHECK: define void @test9(
+; CHECK-LABEL: define void @test9(
 ; CHECK: call i8* @objc_retain
 ; CHECK: call i8* @objc_retain
 ; CHECK: call i8* @objc_retain
@@ -563,7 +563,7 @@ forcoll.empty:
 
 ; Like test9, but without a split backedge. TODO: optimize this.
 
-; CHECK: define void @test9b(
+; CHECK-LABEL: define void @test9b(
 ; CHECK: call i8* @objc_retain
 ; CHECK: call i8* @objc_retain
 ; CHECK: @objc_retain
@@ -629,7 +629,7 @@ forcoll.empty:
 ; The optimizer currently can't do this, because of a split loop backedge.
 ; See test10b for the same testcase without a split backedge.
 
-; CHECK: define void @test10(
+; CHECK-LABEL: define void @test10(
 ; CHECK: call i8* @objc_retain
 ; CHECK: call i8* @objc_retain
 ; CHECK: call i8* @objc_retain
@@ -697,7 +697,7 @@ forcoll.empty:
 
 ; Like test10, but without a split backedge. TODO: optimize this.
 
-; CHECK: define void @test10b(
+; CHECK-LABEL: define void @test10b(
 ; CHECK: call i8* @objc_retain
 ; CHECK: call i8* @objc_retain
 ; CHECK: @objc_retain
@@ -769,7 +769,7 @@ forcoll.empty:
 @__block_d_tmp = external hidden constant { i64, i64, i8*, i8*, i8*, i8* }
 @__block_d_tmp5 = external hidden constant { i64, i64, i8*, i8*, i8*, i8* }
 
-; CHECK: define void @test11(
+; CHECK-LABEL: define void @test11(
 ; CHECK: tail call i8* @objc_retain(i8* %call) [[NUW:#[0-9]+]]
 ; CHECK: tail call i8* @objc_retain(i8* %call) [[NUW]]
 ; CHECK: call void @objc_release(i8* %call) [[NUW]], !clang.imprecise_release !0
index 58b5bbe9c7e944ff064c32318c51aa91f38836af..2a56371e26121104ba6f3e06f2e7153f56f4143e 100644 (file)
@@ -10,7 +10,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
 ; metadata and eliminate the retainBlock+release pair here.
 ; rdar://10803830.
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK-NOT: @objc
 ; CHECK: }
 define void @test0() {
@@ -63,7 +63,7 @@ lpad:                                             ; preds = %entry
 ; shouldn't eliminate anything, but *CAN* strength reduce the objc_retainBlock
 ; to an objc_retain.
 
-; CHECK: define void @test0_no_metadata(
+; CHECK-LABEL: define void @test0_no_metadata(
 ; CHECK: call i8* @objc_retain(
 ; CHECK: invoke
 ; CHECK: call void @objc_release(
index 6abc9398643421df0d8115c80863c323bea0e8ab..257560d9f7b206ac2239ab19534b3df07254bb36 100644 (file)
@@ -5,7 +5,7 @@
 ; in dubious ways.
 ; rdar://10551239
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK: %otherBlock = phi void ()* [ %b1, %if.then ], [ null, %entry ]
 ; CHECK-NEXT: call void @use_fptr(void ()* %otherBlock)
 ; CHECK-NEXT: %tmp11 = bitcast void ()* %otherBlock to i8*
index ad69ccdd794d6c53dee18f2ce31866dc61aa5cf0..b2d6112cf4d9fc06a7a5630a9957985d78ba10f8 100644 (file)
@@ -8,7 +8,7 @@ declare i8* @objc_retainAutoreleasedReturnValue(i8*)
 
 ; Clean up residue left behind after inlining.
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK: entry:
 ; CHECK-NEXT: ret void
 ; CHECK-NEXT: }
@@ -21,7 +21,7 @@ entry:
 
 ; Same as test0, but with slightly different use arrangements.
 
-; CHECK: define void @test1(
+; CHECK-LABEL: define void @test1(
 ; CHECK: entry:
 ; CHECK-NEXT: ret void
 ; CHECK-NEXT: }
@@ -34,7 +34,7 @@ entry:
 
 ; Delete a retainRV+autoreleaseRV even if the pointer is used.
 
-; CHECK: define void @test24(
+; CHECK-LABEL: define void @test24(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT:   call void @use_pointer(i8* %p)
 ; CHECK-NEXT:   ret void
index f40be238baf31e501ed442275f5f35a9e2c24493..6b1578aea4297ab82089b45c8c02abea902f9f28 100644 (file)
@@ -8,7 +8,7 @@
 @__block_descriptor_tmp = external hidden constant { i64, i64, i8*, i8*, i8*, i8* }
 @"\01L_OBJC_SELECTOR_REFERENCES_" = external hidden global i8*, section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"
 
-; CHECK: define void @test(
+; CHECK-LABEL: define void @test(
 ; CHECK: %3 = call i8* @objc_retainBlock(i8* %2) [[NUW:#[0-9]+]]
 ; CHECK: @objc_msgSend
 ; CHECK-NEXT: @objc_release(i8* %3)
@@ -43,7 +43,7 @@ entry:
 ; Same as test, but the objc_retainBlock has a clang.arc.copy_on_escape
 ; tag so it's safe to delete.
 
-; CHECK: define void @test_with_COE(
+; CHECK-LABEL: define void @test_with_COE(
 ; CHECK-NOT: @objc_retainBlock
 ; CHECK: @objc_msgSend
 ; CHECK: @objc_release
index 8df05ad22666a6238e42c7ef9b940b35935a66ce..7914bb837fc515d307ad22314ab58b1fc37df4c6 100644 (file)
@@ -20,7 +20,7 @@ declare i8* @objc_retainBlock(i8*)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 define void @bitcasttest(i8* %storage, void (...)* %block)  {
-; CHECK: define void @bitcasttest
+; CHECK-LABEL: define void @bitcasttest(
 entry:
   %t1 = bitcast void (...)* %block to i8*
 ; CHECK: tail call i8* @objc_retain
@@ -37,7 +37,7 @@ entry:
 }
 
 define void @bitcasttest_a(i8* %storage, void (...)* %block)  {
-; CHECK: define void @bitcasttest_a
+; CHECK-LABEL: define void @bitcasttest_a(
 entry:
   %t1 = bitcast void (...)* %block to i8*
 ; CHECK-NOT: tail call i8* @objc_retain
@@ -54,7 +54,7 @@ entry:
 }
 
 define void @geptest(void (...)** %storage_array, void (...)* %block)  {
-; CHECK: define void @geptest
+; CHECK-LABEL: define void @geptest(
 entry:
   %t1 = bitcast void (...)* %block to i8*
 ; CHECK: tail call i8* @objc_retain
@@ -73,7 +73,7 @@ entry:
 }
 
 define void @geptest_a(void (...)** %storage_array, void (...)* %block)  {
-; CHECK: define void @geptest_a
+; CHECK-LABEL: define void @geptest_a(
 entry:
   %t1 = bitcast void (...)* %block to i8*
 ; CHECK-NOT: tail call i8* @objc_retain
@@ -93,7 +93,7 @@ entry:
 
 define void @selecttest(void (...)** %store1, void (...)** %store2,
                         void (...)* %block) {
-; CHECK: define void @selecttest
+; CHECK-LABEL: define void @selecttest(
 entry:
   %t1 = bitcast void (...)* %block to i8*
 ; CHECK: tail call i8* @objc_retain
@@ -111,7 +111,7 @@ entry:
 
 define void @selecttest_a(void (...)** %store1, void (...)** %store2,
                           void (...)* %block) {
-; CHECK: define void @selecttest_a
+; CHECK-LABEL: define void @selecttest_a(
 entry:
   %t1 = bitcast void (...)* %block to i8*
 ; CHECK-NOT: tail call i8* @objc_retain
@@ -130,7 +130,7 @@ entry:
 define void @phinodetest(void (...)** %storage1,
                          void (...)** %storage2,
                          void (...)* %block) {
-; CHECK: define void @phinodetest
+; CHECK-LABEL: define void @phinodetest(
 entry:
   %t1 = bitcast void (...)* %block to i8*
 ; CHECK: tail call i8* @objc_retain
@@ -160,7 +160,7 @@ end:
 define void @phinodetest_a(void (...)** %storage1,
                            void (...)** %storage2,
                            void (...)* %block) {
-; CHECK: define void @phinodetest_a
+; CHECK-LABEL: define void @phinodetest_a(
 entry:
   %t1 = bitcast void (...)* %block to i8*
 ; CHECK-NOT: tail call i8* @objc_retain
index e857c9f41bb493beb9970303b3f872b26a1b64a2..85a16127c6d940d2d5f76da6d0f10c5d6fbdbeb0 100644 (file)
@@ -26,7 +26,7 @@ declare i8* @returner()
 ; retain is an objc_retainAutoreleasedReturnValue, since it's
 ; better to do the RV optimization.
 
-; CHECK:      define void @test0(
+; CHECK-LABEL:      define void @test0(
 ; CHECK-NEXT: entry:
 ; CHECK-NEXT:   %x = call i8* @returner
 ; CHECK-NEXT:   %0 = tail call i8* @objc_retainAutoreleasedReturnValue(i8* %x) [[NUW:#[0-9]+]]
@@ -54,7 +54,7 @@ return:
 
 ; Delete no-ops.
 
-; CHECK: define void @test2
+; CHECK-LABEL: define void @test2(
 ; CHECK-NOT: @objc_
 ; CHECK: }
 define void @test2() {
@@ -67,7 +67,7 @@ define void @test2() {
 ; Delete a redundant retainRV,autoreleaseRV when forwaring a call result
 ; directly to a return value.
 
-; CHECK: define i8* @test3
+; CHECK-LABEL: define i8* @test3(
 ; CHECK: call i8* @returner()
 ; CHECK-NEXT: ret i8* %call
 define i8* @test3() {
@@ -81,7 +81,7 @@ entry:
 ; Delete a redundant retain,autoreleaseRV when forwaring a call result
 ; directly to a return value.
 
-; CHECK: define i8* @test4
+; CHECK-LABEL: define i8* @test4(
 ; CHECK: call i8* @returner()
 ; CHECK-NEXT: ret i8* %call
 define i8* @test4() {
@@ -114,7 +114,7 @@ entry:
 ; into objc_retainAutoreleasedReturnValueAutoreleaseReturnValue?
 ; Those entrypoints don't exist yet though.
 
-; CHECK: define i8* @test7(
+; CHECK-LABEL: define i8* @test7(
 ; CHECK: call i8* @objc_retainAutoreleasedReturnValue(i8* %p)
 ; CHECK: %t = tail call i8* @objc_autoreleaseReturnValue(i8* %p)
 define i8* @test7() {
@@ -125,7 +125,7 @@ define i8* @test7() {
   ret i8* %t
 }
 
-; CHECK: define i8* @test7b(
+; CHECK-LABEL: define i8* @test7b(
 ; CHECK: call i8* @objc_retain(i8* %p)
 ; CHECK: %t = tail call i8* @objc_autoreleaseReturnValue(i8* %p)
 define i8* @test7b() {
@@ -188,7 +188,7 @@ define i8* @test12(i8* %p) {
 
 ; Don't zap the objc_retainAutoreleasedReturnValue.
 
-; CHECK: define i8* @test13(
+; CHECK-LABEL: define i8* @test13(
 ; CHECK: tail call i8* @objc_retainAutoreleasedReturnValue(i8* %p)
 ; CHECK: call i8* @objc_autorelease(i8* %p)
 ; CHECK: ret i8* %p
@@ -203,7 +203,7 @@ define i8* @test13() {
 ; Convert objc_retainAutoreleasedReturnValue to objc_retain if its
 ; argument is not a return value.
 
-; CHECK: define void @test14(
+; CHECK-LABEL: define void @test14(
 ; CHECK-NEXT: tail call i8* @objc_retain(i8* %p) [[NUW]]
 ; CHECK-NEXT: ret void
 define void @test14(i8* %p) {
@@ -214,7 +214,7 @@ define void @test14(i8* %p) {
 ; Don't convert objc_retainAutoreleasedReturnValue to objc_retain if its
 ; argument is a return value.
 
-; CHECK: define void @test15(
+; CHECK-LABEL: define void @test15(
 ; CHECK-NEXT: %y = call i8* @returner()
 ; CHECK-NEXT: tail call i8* @objc_retainAutoreleasedReturnValue(i8* %y) [[NUW]]
 ; CHECK-NEXT: ret void
@@ -272,7 +272,7 @@ define i8* @test22(i8* %p) {
 
 ; Convert autoreleaseRV to autorelease.
 
-; CHECK: define void @test23(
+; CHECK-LABEL: define void @test23(
 ; CHECK: call i8* @objc_autorelease(i8* %p) [[NUW]]
 define void @test23(i8* %p) {
   store i8 0, i8* %p
@@ -283,7 +283,7 @@ define void @test23(i8* %p) {
 ; Don't convert autoreleaseRV to autorelease if the result is returned,
 ; even through a bitcast.
 
-; CHECK: define {}* @test24(
+; CHECK-LABEL: define {}* @test24(
 ; CHECK: tail call i8* @objc_autoreleaseReturnValue(i8* %p)
 define {}* @test24(i8* %p) {
   %t = call i8* @objc_autoreleaseReturnValue(i8* %p)
index 5ac278a45d5020608b4e4d2f47f687cd220e9477..1b7cf441a685d678836615365aca338ed69fc689 100644 (file)
@@ -3,7 +3,7 @@
 ; Handle a retain+release pair entirely contained within a split loop backedge.
 ; rdar://11256239
 
-; CHECK: define void @test0
+; CHECK-LABEL: define void @test0(
 ; CHECK: call i8* @objc_retain(i8* %call) [[NUW:#[0-9]+]]
 ; CHECK: call i8* @objc_retain(i8* %call) [[NUW]]
 ; CHECK: call i8* @objc_retain(i8* %cond) [[NUW]]
index 85a290c0981cbcc046c41733f656259ab9c547e6..119aa8257866e7053159ba4987ecd37bcfa126a5 100644 (file)
@@ -10,7 +10,7 @@ declare void @objc_copyWeak(i8**, i8**)
 
 ; If the pointer-to-weak-pointer is null, it's undefined behavior.
 
-; CHECK: define void @test0(
+; CHECK-LABEL: define void @test0(
 ; CHECK: store i8* undef, i8** null
 ; CHECK: store i8* undef, i8** null
 ; CHECK: store i8* undef, i8** null
index 09061f0a6fd51fc88e62221a0f3cc7c6567983d7..53e4c10a720a2a3365b61784ff3538e5067dd49b 100644 (file)
@@ -16,7 +16,7 @@ F:
        store atomic i32 123, i32* @G seq_cst, align 4
        ret i32 0
 }
-; CHECK: define i32 @test1
+; CHECK-LABEL: define i32 @test1(
 ; CHECK-NOT: store
 ; CHECK: ret i32 17
 
@@ -25,6 +25,6 @@ define i32 @test2() {
        ret i32 %V
 }
 
-; CHECK: define i32 @test2
+; CHECK-LABEL: define i32 @test2(
 ; CHECK-NOT: load
 ; CHECK: ret i32 222
index 7e05ce4ce71666c733fcdc1bef72a5aa916edeb3..c1c6c926fd9b636aa46eecd6cbef351869d02d4d 100644 (file)
@@ -6,14 +6,14 @@ define internal i32 @test1a(i32 %A) {
        %X = add i32 1, 2
        ret i32 %A
 }
-; CHECK: define internal i32 @test1a
+; CHECK-LABEL: define internal i32 @test1a(
 ; CHECK: ret i32 undef
 
 define i32 @test1b() {
        %X = call i32 @test1a( i32 17 )
        ret i32 %X
 
-; CHECK: define i32 @test1b
+; CHECK-LABEL: define i32 @test1b(
 ; CHECK: ret i32 17
 }
 
@@ -31,7 +31,7 @@ F:
        %C.upgrd.1 = call i32 @test2a(i32 1)
        ret i32 %C.upgrd.1
 }
-; CHECK: define internal i32 @test2a
+; CHECK-LABEL: define internal i32 @test2a(
 ; CHECK-NEXT: br label %T
 ; CHECK: ret i32 undef
 
@@ -40,7 +40,7 @@ define i32 @test2b() {
        %X = call i32 @test2a(i32 0)
        ret i32 %X
 }
-; CHECK: define i32 @test2b
+; CHECK-LABEL: define i32 @test2b(
 ; CHECK-NEXT: %X = call i32 @test2a(i32 0)
 ; CHECK-NEXT: ret i32 0
 
@@ -54,7 +54,7 @@ define void @test3a() {
        store i32 %X, i32* @G
        ret void
 }
-; CHECK: define void @test3a
+; CHECK-LABEL: define void @test3a(
 ; CHECK-NEXT: ret void
 
 
@@ -69,7 +69,7 @@ F:
        store i32 123, i32* @G
        ret i32 0
 }
-; CHECK: define i32 @test3b
+; CHECK-LABEL: define i32 @test3b(
 ; CHECK-NOT: store
 ; CHECK: ret i32 0
 
@@ -102,7 +102,7 @@ B:
 define internal i64 @test4c(i64 %a) {
   ret i64 %a
 }
-; CHECK: define internal i64 @test4c
+; CHECK-LABEL: define internal i64 @test4c(
 ; CHECK: ret i64 undef
 
 
@@ -149,7 +149,7 @@ define i64 @test6b() {
   %a = call i64 @test6a()
   ret i64 %a
 }
-; CHECK: define i64 @test6b
+; CHECK-LABEL: define i64 @test6b(
 ; CHECK: ret i64 0
 
 ;;======================== test7
@@ -172,7 +172,7 @@ define i32 @test7b() {
         %Y = extractvalue %T %X, 0
        %Z = add i32 %Y, %Y
        ret i32 %Z
-; CHECK: define i32 @test7b
+; CHECK-LABEL: define i32 @test7b(
 ; CHECK-NEXT: call %T @test7a(i32 17)
 ; CHECK-NEXT: ret i32 36
 }
@@ -191,7 +191,7 @@ define internal {} @test8a(i32 %A, i32* %P) {
 define void @test8b(i32* %P) {
     %X = call {} @test8a(i32 5, i32* %P)
     ret void
-; CHECK: define void @test8b
+; CHECK-LABEL: define void @test8b(
 ; CHECK-NEXT: call {} @test8a
 ; CHECK-NEXT: ret void
 }
@@ -216,7 +216,7 @@ define i32 @test10a() nounwind {
 entry:
   %call = call i32 @test10b(i32 undef)
   ret i32 %call
-; CHECK: define i32 @test10a
+; CHECK-LABEL: define i32 @test10a(
 ; CHECK: ret i32 0
 }
 
@@ -224,6 +224,6 @@ define internal i32 @test10b(i32 %x) nounwind {
 entry:
   %r = and i32 %x, 1
   ret i32 %r
-; CHECK: define internal i32 @test10b
+; CHECK-LABEL: define internal i32 @test10b(
 ; CHECK: ret i32 undef
 }
index 9f934237e61997983608d3e1c243230ce02c102b..155faa5c6067d03028c460dba13b383a1dd03569 100644 (file)
@@ -4,7 +4,7 @@
 ; with no cases.
 declare void @foo()
 define void @test1() {
-; CHECK: define void @test1
+; CHECK-LABEL: define void @test1(
 ; CHECK: call void @foo()
   switch i32 undef, label %d []
 d:
index f98f3e8fc458fdf3e490b2b2bcaeb844946eca90..5f4d0fc7e1c8e11180988e04d2be0d9c06a81839 100644 (file)
@@ -36,5 +36,5 @@ unwind:                                           ; preds = %then
   unreachable
 }
 
-; CHECK: define void @odd_fn
+; CHECK-LABEL: define void @odd_fn(
 ; CHECK: %storemerge.in = phi i32* [ %retptr2, %else ], [ %retptr1, %then ]
index 318d4e7590613fbecaca2c9477ae0c17e0cbd902..d8efc1774b7e76cc5a1cc8dc567d206bfffc4a9c 100644 (file)
@@ -6,7 +6,7 @@ target triple = "x86_64-apple-darwin10"
 
 %struct.anon = type { [1 x float] }
 
-; CHECK: define void @Test(
+; CHECK-LABEL: define void @Test(
 ; CHECK: load float addrspace(2)*
 ; CHECK-NEXT: fsub float
 ; CHECK: store float {{.*}}, float addrspace(2)* 
index 2f51cc7cf59c0c0cc1c5800f16f7a5063e9095ed..f7c70dcd5575fac6f33c3adea4c780ee990c7232 100644 (file)
@@ -6,7 +6,7 @@ target triple = "thumbv7-apple-darwin10.0.0"
 %struct.Vector4 = type { float, float, float, float }
 @f.vector = internal constant %struct.Vector4 { float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00 }, align 16
 
-; CHECK: define void @f
+; CHECK-LABEL: define void @f(
 ; CHECK-NOT: alloca
 ; CHECK: phi <4 x float>
 
index 8530448d0004a5b0081c292d49012643fc18d468..71259c99b0071f2ab94c8b910528762d2464480b 100644 (file)
@@ -263,7 +263,7 @@ if.else: br label %if.end
 if.end:
   %dirent_type.0 = phi i32 [ 3, %sw.default ], [ 6, %sw.bb3 ], [ 5, %sw.bb2 ], [ 0, %sw.bb1 ], [ 3, %sw.bb ], [ 0, %if.else ]
   ret i32 %dirent_type.0
-; CHECK: define i32 @overflow
+; CHECK-LABEL: define i32 @overflow(
 ; CHECK: switch
 ; CHECK: phi
 }
@@ -284,7 +284,7 @@ bb2: br label %bb3
 bb3:
   %tmp4 = phi i1 [ undef, %bb ], [ false, %bb2 ], [ true, %bb1 ]
   ret i1 %tmp4
-; CHECK: define i1 @undef
+; CHECK-LABEL: define i1 @undef(
 ; CHECK: %switch.cast = trunc i32 %switch.tableidx to i9
 ; CHECK: %switch.downshift = lshr i9 3, %switch.shiftamt
 }
index 53d5448372dafe39f9483c195b2d3f5b7d2bb75c..8cc07e39a180af78617cae1b24e8a28296c9faf7 100644 (file)
@@ -13,7 +13,7 @@
 declare void @foo() nounwind uwtable
 
 define void @func(i32 %A) nounwind uwtable {
-; CHECK: define void @func
+; CHECK-LABEL: define void @func(
 entry:
   %cmp11 = icmp eq i32 %A, 1
   br i1 %cmp11, label %if.then, label %if.else, !prof !0
index 06265926fa685f6d450b2b40eea1a7f32bfbfbe6..053fc954361178791d02074dbde3036429d957d7 100644 (file)
@@ -2,7 +2,7 @@
 ; PR7328
 ; PR7506
 define i32 @foo(i32 %x) {
-; CHECK: define i32 @foo
+; CHECK-LABEL: define i32 @foo(
 ; CHECK: %accumulator.tr = phi i32 [ 1, %entry ], [ 0, %body ]
 entry:
   %cond = icmp ugt i32 %x, 0                      ; <i1> [#uses=1]
index 8911b6d36169371883888abac318cd565bf2b345..c95bfe6aeed18b54e748dada7a0ff11afbc43a9e 100644 (file)
@@ -13,7 +13,7 @@ else:         ; preds = %entry
        ret i32 1
 }
 
-; CHECK: define i32 @test1_factorial
+; CHECK-LABEL: define i32 @test1_factorial(
 ; CHECK: phi i32
 ; CHECK-NOT: call i32
 ; CHECK: else:
@@ -34,7 +34,7 @@ return:               ; preds = %entry
        ret i32 %x
 }
 
-; CHECK: define i32 @test2_mul
+; CHECK-LABEL: define i32 @test2_mul(
 ; CHECK: phi i32
 ; CHECK-NOT: call i32
 ; CHECK: return:
index c427869107c1434d2ecad7a4a3128307e5639026..157226f93d3f62857561800bca71b353849d39a2 100644 (file)
@@ -14,7 +14,7 @@ entry:
 
 ; Do turn other calls into infinite loops though.
 
-; CHECK: define double @foo
+; CHECK-LABEL: define double @foo(
 ; CHECK-NOT: call
 ; CHECK: }
 define double @foo(double %f) {
@@ -22,7 +22,7 @@ define double @foo(double %f) {
         ret double %t
 }
 
-; CHECK: define float @fabsf
+; CHECK-LABEL: define float @fabsf(
 ; CHECK-NOT: call
 ; CHECK: }
 define float @fabsf(float %f) {