CHECK-LABEL-ify some code gen tests to improve diagnostic experience when tests fail.
authorStephen Lin <stephenwlin@gmail.com>
Thu, 15 Aug 2013 06:47:53 +0000 (06:47 +0000)
committerStephen Lin <stephenwlin@gmail.com>
Thu, 15 Aug 2013 06:47:53 +0000 (06:47 +0000)
llvm-svn: 188447

331 files changed:
clang/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
clang/test/CodeGen/2008-03-05-syncPtr.c
clang/test/CodeGen/2008-07-30-implicit-initialization.c
clang/test/CodeGen/2008-07-31-promotion-of-compound-pointer-arithmetic.c
clang/test/CodeGen/3dnow-builtins.c
clang/test/CodeGen/Atomics.c
clang/test/CodeGen/_Bool-conversion.c
clang/test/CodeGen/aarch64-arguments.c
clang/test/CodeGen/aarch64-varargs.c
clang/test/CodeGen/address-space.c
clang/test/CodeGen/alias.c
clang/test/CodeGen/align-param.c
clang/test/CodeGen/annotations-var.c
clang/test/CodeGen/arm-aapcs-vfp.c
clang/test/CodeGen/arm-arguments.c
clang/test/CodeGen/arm-cc.c
clang/test/CodeGen/arm-pcs.c
clang/test/CodeGen/arm-pnaclcall.c
clang/test/CodeGen/assign.c
clang/test/CodeGen/atomics-inlining.c
clang/test/CodeGen/attr-availability.c
clang/test/CodeGen/attr-weakref.c
clang/test/CodeGen/available-externally-suppress.c
clang/test/CodeGen/bitfield-2.c
clang/test/CodeGen/block-byref-aggr.c
clang/test/CodeGen/blocks.c
clang/test/CodeGen/bool_test.c
clang/test/CodeGen/builtins-ppc-altivec.c
clang/test/CodeGen/builtins.c
clang/test/CodeGen/builtinshufflevector2.c
clang/test/CodeGen/byval-memcpy-elim.c
clang/test/CodeGen/c-strings.c
clang/test/CodeGen/c11atomics-ios.c
clang/test/CodeGen/c11atomics.c
clang/test/CodeGen/capture-complex-expr-in-block.c
clang/test/CodeGen/complex-convert.c
clang/test/CodeGen/complex-indirect.c
clang/test/CodeGen/complex-init-list.c
clang/test/CodeGen/compound-literal.c
clang/test/CodeGen/cxx-default-arg.cpp
clang/test/CodeGen/decl-in-prototype.c
clang/test/CodeGen/dllimport-dllexport.c
clang/test/CodeGen/exceptions.c
clang/test/CodeGen/exprs.c
clang/test/CodeGen/fast-math.c
clang/test/CodeGen/finite-math.c
clang/test/CodeGen/fp16-ops.c
clang/test/CodeGen/func-return-member.c
clang/test/CodeGen/function-attributes.c
clang/test/CodeGen/functions.c
clang/test/CodeGen/incomplete-function-type.c
clang/test/CodeGen/inline.c
clang/test/CodeGen/inline2.c
clang/test/CodeGen/integer-overflow.c
clang/test/CodeGen/le32-arguments.c
clang/test/CodeGen/le32-libcall-pow.c
clang/test/CodeGen/libcalls.c
clang/test/CodeGen/link-bitcode-file.c
clang/test/CodeGen/linkage-redecl.c
clang/test/CodeGen/long-double-x86-nacl.c
clang/test/CodeGen/microsoft-call-conv-x64.c
clang/test/CodeGen/microsoft-call-conv.c
clang/test/CodeGen/mips-byval-arg.c
clang/test/CodeGen/mips-vector-return.c
clang/test/CodeGen/mips64-class-return.cpp
clang/test/CodeGen/mips64-padding-arg.c
clang/test/CodeGen/ms-inline-asm.cpp
clang/test/CodeGen/no-opt-volatile-memcpy.c
clang/test/CodeGen/object-size.c
clang/test/CodeGen/packed-arrays.c
clang/test/CodeGen/packed-structure.c
clang/test/CodeGen/ppc64-struct-onefloat.c
clang/test/CodeGen/ppc64-struct-onevect.c
clang/test/CodeGen/pr12251.c
clang/test/CodeGen/pr9614.c
clang/test/CodeGen/pragma-visibility.c
clang/test/CodeGen/pragma-weak.c
clang/test/CodeGen/regparm.c
clang/test/CodeGen/sparcv9-abi.c
clang/test/CodeGen/sse-builtins.c
clang/test/CodeGen/static-order.c
clang/test/CodeGen/stdcall-fastcall.c
clang/test/CodeGen/switch.c
clang/test/CodeGen/systemz-inline-asm.c
clang/test/CodeGen/transparent-union.c
clang/test/CodeGen/trapv.c
clang/test/CodeGen/unsigned-overflow.c
clang/test/CodeGen/unsigned-promotion.c
clang/test/CodeGen/visibility.c
clang/test/CodeGen/vla.c
clang/test/CodeGen/volatile-1.c
clang/test/CodeGen/volatile-2.c
clang/test/CodeGen/volatile-complex.c
clang/test/CodeGen/x86_32-arguments-darwin.c
clang/test/CodeGen/x86_32-arguments-linux.c
clang/test/CodeGen/x86_32-arguments-nommx.c
clang/test/CodeGen/x86_32-arguments-realign.c
clang/test/CodeGen/x86_32-arguments-win32.c
clang/test/CodeGen/x86_32-fpcc-struct-return.c
clang/test/CodeGen/x86_64-arguments-nacl.c
clang/test/CodeGen/x86_64-arguments.c
clang/test/CodeGenCUDA/ptx-kernels.cu
clang/test/CodeGenCXX/DynArrayInit.cpp
clang/test/CodeGenCXX/abstract-class-ctors-dtors.cpp
clang/test/CodeGenCXX/address-of-fntemplate.cpp
clang/test/CodeGenCXX/alloca-align.cpp
clang/test/CodeGenCXX/anonymous-namespaces.cpp
clang/test/CodeGenCXX/anonymous-union-member-initializer.cpp
clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
clang/test/CodeGenCXX/apple-kext-linkage.C
clang/test/CodeGenCXX/arm.cpp
clang/test/CodeGenCXX/atomic.cpp
clang/test/CodeGenCXX/atomicinit.cpp
clang/test/CodeGenCXX/attr.cpp
clang/test/CodeGenCXX/bitfield.cpp
clang/test/CodeGenCXX/block-byref-cxx-objc.cpp
clang/test/CodeGenCXX/block-in-ctor-dtor.cpp
clang/test/CodeGenCXX/blocks-cxx11.cpp
clang/test/CodeGenCXX/blocks.cpp
clang/test/CodeGenCXX/bool-bitfield.cpp
clang/test/CodeGenCXX/c-linkage.cpp
clang/test/CodeGenCXX/c99-variable-length-array.cpp
clang/test/CodeGenCXX/captured-statements.cpp
clang/test/CodeGenCXX/catch-undef-behavior.cpp
clang/test/CodeGenCXX/compound-literals.cpp
clang/test/CodeGenCXX/condition.cpp
clang/test/CodeGenCXX/conditional-gnu-ext.cpp
clang/test/CodeGenCXX/conditional-temporaries.cpp
clang/test/CodeGenCXX/constructor-attr.cpp
clang/test/CodeGenCXX/constructor-destructor-return-this.cpp
clang/test/CodeGenCXX/constructor-init.cpp
clang/test/CodeGenCXX/constructors.cpp
clang/test/CodeGenCXX/copy-assign-synthesis-2.cpp
clang/test/CodeGenCXX/copy-constructor-elim-2.cpp
clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
clang/test/CodeGenCXX/copy-initialization.cpp
clang/test/CodeGenCXX/cxx-block-objects.cpp
clang/test/CodeGenCXX/cxx0x-delegating-ctors.cpp
clang/test/CodeGenCXX/cxx0x-initializer-array.cpp
clang/test/CodeGenCXX/cxx0x-initializer-constructors.cpp
clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-startend.cpp
clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
clang/test/CodeGenCXX/cxx11-thread-local.cpp
clang/test/CodeGenCXX/debug-info-globalinit.cpp
clang/test/CodeGenCXX/default-arg-temps.cpp
clang/test/CodeGenCXX/default-arguments.cpp
clang/test/CodeGenCXX/deferred-global-init.cpp
clang/test/CodeGenCXX/delete-two-arg.cpp
clang/test/CodeGenCXX/delete.cpp
clang/test/CodeGenCXX/derived-to-base-conv.cpp
clang/test/CodeGenCXX/derived-to-virtual-base-class-calls-final.cpp
clang/test/CodeGenCXX/destructors.cpp
clang/test/CodeGenCXX/devirtualize-virtual-function-calls-final.cpp
clang/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
clang/test/CodeGenCXX/dynamic_cast-no-rtti.cpp
clang/test/CodeGenCXX/eh.cpp
clang/test/CodeGenCXX/empty-classes.cpp
clang/test/CodeGenCXX/exceptions.cpp
clang/test/CodeGenCXX/explicit-instantiation.cpp
clang/test/CodeGenCXX/fastcall.cpp
clang/test/CodeGenCXX/for-range.cpp
clang/test/CodeGenCXX/forward-enum.cpp
clang/test/CodeGenCXX/fp16-mangle.cpp
clang/test/CodeGenCXX/function-template-explicit-specialization.cpp
clang/test/CodeGenCXX/global-block-literal-helpers.cpp
clang/test/CodeGenCXX/global-dtor-no-atexit.cpp
clang/test/CodeGenCXX/global-init.cpp
clang/test/CodeGenCXX/goto.cpp
clang/test/CodeGenCXX/implicit-copy-assign-operator.cpp
clang/test/CodeGenCXX/implicit-copy-constructor.cpp
clang/test/CodeGenCXX/inheriting-constructor.cpp
clang/test/CodeGenCXX/init-invariant.cpp
clang/test/CodeGenCXX/inline-functions.cpp
clang/test/CodeGenCXX/instantiate-temporaries.cpp
clang/test/CodeGenCXX/lambda-expressions.cpp
clang/test/CodeGenCXX/linkage.cpp
clang/test/CodeGenCXX/lvalue-bitcasts.cpp
clang/test/CodeGenCXX/mangle-98.cpp
clang/test/CodeGenCXX/mangle-address-space.cpp
clang/test/CodeGenCXX/mangle-alias-template.cpp
clang/test/CodeGenCXX/mangle-exprs.cpp
clang/test/CodeGenCXX/mangle-extreme.cpp
clang/test/CodeGenCXX/mangle-lambdas.cpp
clang/test/CodeGenCXX/mangle-nullptr-arg.cpp
clang/test/CodeGenCXX/mangle-ref-qualifiers.cpp
clang/test/CodeGenCXX/mangle-subst-std.cpp
clang/test/CodeGenCXX/mangle-subst.cpp
clang/test/CodeGenCXX/mangle-system-header.cpp
clang/test/CodeGenCXX/mangle-template.cpp
clang/test/CodeGenCXX/mangle-unnamed.cpp
clang/test/CodeGenCXX/mangle-variadic-templates.cpp
clang/test/CodeGenCXX/mangle.cpp
clang/test/CodeGenCXX/member-expressions.cpp
clang/test/CodeGenCXX/member-function-pointer-calls.cpp
clang/test/CodeGenCXX/member-function-pointers.cpp
clang/test/CodeGenCXX/member-functions.cpp
clang/test/CodeGenCXX/member-init-anon-union.cpp
clang/test/CodeGenCXX/member-initializers.cpp
clang/test/CodeGenCXX/member-templates.cpp
clang/test/CodeGenCXX/microsoft-abi-default-cc.cpp
clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
clang/test/CodeGenCXX/microsoft-interface.cpp
clang/test/CodeGenCXX/new-array-init-exceptions.cpp
clang/test/CodeGenCXX/new-array-init.cpp
clang/test/CodeGenCXX/new.cpp
clang/test/CodeGenCXX/no-opt-volatile-memcpy.cpp
clang/test/CodeGenCXX/noexcept.cpp
clang/test/CodeGenCXX/nrvo.cpp
clang/test/CodeGenCXX/partial-destruction.cpp
clang/test/CodeGenCXX/pod-member-memcpys.cpp
clang/test/CodeGenCXX/pointers-to-data-members.cpp
clang/test/CodeGenCXX/pr11797.cpp
clang/test/CodeGenCXX/pr12251.cpp
clang/test/CodeGenCXX/pr13396.cpp
clang/test/CodeGenCXX/pr9130.cpp
clang/test/CodeGenCXX/pr9965.cpp
clang/test/CodeGenCXX/pragma-visibility.cpp
clang/test/CodeGenCXX/pragma-weak.cpp
clang/test/CodeGenCXX/reference-cast.cpp
clang/test/CodeGenCXX/references.cpp
clang/test/CodeGenCXX/rtti-layout.cpp
clang/test/CodeGenCXX/runtimecc.cpp
clang/test/CodeGenCXX/rvalue-references.cpp
clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
clang/test/CodeGenCXX/static-data-member.cpp
clang/test/CodeGenCXX/static-init.cpp
clang/test/CodeGenCXX/template-anonymous-types.cpp
clang/test/CodeGenCXX/template-dependent-bind-temporary.cpp
clang/test/CodeGenCXX/template-inner-struct-visibility-hidden.cpp
clang/test/CodeGenCXX/template-instantiation.cpp
clang/test/CodeGenCXX/template-linkage.cpp
clang/test/CodeGenCXX/temporaries.cpp
clang/test/CodeGenCXX/thiscall-struct-return.cpp
clang/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
clang/test/CodeGenCXX/throw-expression-cleanup.cpp
clang/test/CodeGenCXX/throw-expressions.cpp
clang/test/CodeGenCXX/thunks-available-externally.cpp
clang/test/CodeGenCXX/thunks.cpp
clang/test/CodeGenCXX/type_visibility.cpp
clang/test/CodeGenCXX/typeid.cpp
clang/test/CodeGenCXX/value-init.cpp
clang/test/CodeGenCXX/vararg-non-pod.cpp
clang/test/CodeGenCXX/varargs.cpp
clang/test/CodeGenCXX/variadic-templates.cpp
clang/test/CodeGenCXX/virt-dtor-gen.cpp
clang/test/CodeGenCXX/virtual-bases.cpp
clang/test/CodeGenCXX/virtual-destructor-calls.cpp
clang/test/CodeGenCXX/virtual-functions-incomplete-types.cpp
clang/test/CodeGenCXX/visibility-hidden-extern-templates.cpp
clang/test/CodeGenCXX/visibility-inlines-hidden.cpp
clang/test/CodeGenCXX/visibility-ms-compat.cpp
clang/test/CodeGenCXX/visibility.cpp
clang/test/CodeGenCXX/vla.cpp
clang/test/CodeGenCXX/volatile.cpp
clang/test/CodeGenCXX/vtable-available-externally.cpp
clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
clang/test/CodeGenCXX/x86_32-arguments.cpp
clang/test/CodeGenCXX/x86_64-arguments.cpp
clang/test/CodeGenObjC/arc-block-copy-escape.m
clang/test/CodeGenObjC/arc-blocks.m
clang/test/CodeGenObjC/arc-bridged-cast.m
clang/test/CodeGenObjC/arc-exceptions.m
clang/test/CodeGenObjC/arc-foreach.m
clang/test/CodeGenObjC/arc-literals.m
clang/test/CodeGenObjC/arc-loadweakretained-release.m
clang/test/CodeGenObjC/arc-no-arc-exceptions.m
clang/test/CodeGenObjC/arc-precise-lifetime.m
clang/test/CodeGenObjC/arc-property.m
clang/test/CodeGenObjC/arc-related-result-type.m
clang/test/CodeGenObjC/arc-ternary-op.m
clang/test/CodeGenObjC/arc-unopt.m
clang/test/CodeGenObjC/arc-unoptimized-byref-var.m
clang/test/CodeGenObjC/arc-with-atthrow.m
clang/test/CodeGenObjC/arc.m
clang/test/CodeGenObjC/assign.m
clang/test/CodeGenObjC/autorelease.m
clang/test/CodeGenObjC/bitfield-access.m
clang/test/CodeGenObjC/block-6.m
clang/test/CodeGenObjC/blocks.m
clang/test/CodeGenObjC/builtins.m
clang/test/CodeGenObjC/exceptions-nonfragile.m
clang/test/CodeGenObjC/exceptions.m
clang/test/CodeGenObjC/fp2ret.m
clang/test/CodeGenObjC/fpret.m
clang/test/CodeGenObjC/gc.m
clang/test/CodeGenObjC/ivar-invariant.m
clang/test/CodeGenObjC/ns_consume_null_check.m
clang/test/CodeGenObjC/objc2-legacy-dispatch.m
clang/test/CodeGenObjC/objfw.m
clang/test/CodeGenObjC/property.m
clang/test/CodeGenObjC/related-result-type.m
clang/test/CodeGenObjC/stret_lookup.m
clang/test/CodeGenObjC/synchronized.m
clang/test/CodeGenObjC/tentative-cfconstantstring.m
clang/test/CodeGenObjC/terminate.m
clang/test/CodeGenObjC/x86_64-struct-return-gc.m
clang/test/CodeGenObjCXX/arc-attrs.mm
clang/test/CodeGenObjCXX/arc-blocks.mm
clang/test/CodeGenObjCXX/arc-exceptions.mm
clang/test/CodeGenObjCXX/arc-globals.mm
clang/test/CodeGenObjCXX/arc-mangle.mm
clang/test/CodeGenObjCXX/arc-move.mm
clang/test/CodeGenObjCXX/arc-new-delete.mm
clang/test/CodeGenObjCXX/arc-pseudo-destructors.mm
clang/test/CodeGenObjCXX/arc-references.mm
clang/test/CodeGenObjCXX/arc-special-member-functions.mm
clang/test/CodeGenObjCXX/arc.mm
clang/test/CodeGenObjCXX/exceptions-legacy.mm
clang/test/CodeGenObjCXX/exceptions.mm
clang/test/CodeGenObjCXX/gc.mm
clang/test/CodeGenObjCXX/implicit-copy-assign-operator.mm
clang/test/CodeGenObjCXX/implicit-copy-constructor.mm
clang/test/CodeGenObjCXX/lambda-expressions.mm
clang/test/CodeGenObjCXX/literals.mm
clang/test/CodeGenObjCXX/mangle-blocks.mm
clang/test/CodeGenObjCXX/mangle.mm
clang/test/CodeGenObjCXX/message.mm
clang/test/CodeGenObjCXX/nrvo.mm
clang/test/CodeGenObjCXX/objc-container-subscripting-1.mm
clang/test/CodeGenObjCXX/objc-container-subscripting.mm
clang/test/CodeGenObjCXX/property-dot-reference.mm
clang/test/CodeGenObjCXX/property-object-reference-2.mm
clang/test/CodeGenObjCXX/property-objects.mm
clang/test/CodeGenObjCXX/property-reference.mm
clang/test/CodeGenObjCXX/references.mm
clang/test/CodeGenObjCXX/unknown-anytype.mm
clang/test/CodeGenOpenCL/local.cl
clang/test/CodeGenOpenCL/opencl_types.cl
clang/test/CodeGenOpenCL/ptx-calls.cl
clang/test/CodeGenOpenCL/ptx-kernels.cl

index da811c4a65d59b17abcd105fb76eddbdbc1b1329..9ceee4c991275a081586e631a8e05db08119d341 100644 (file)
@@ -6,7 +6,7 @@
 
 // This is PR244
 
-// CHECK: define void @bar(
+// CHECK-LABEL: define void @bar(
 // CHECK: call {{.*}} @func
 // CHECK: define internal {{.*}}i32 @func(
 static int func();
index 93f328a57949eb8d14ba6d1b6da40662a950e65c..4df94829f572ed37edc3ac01b412d98172073b37 100644 (file)
@@ -3,38 +3,38 @@
 int* foo(int** a, int* b, int* c) {
 return __sync_val_compare_and_swap (a, b, c);
 }
-// CHECK: define i32* @foo
+// CHECK-LABEL: define i32* @foo
 // CHECK: cmpxchg 
 
 int foo2(int** a, int* b, int* c) {
 return __sync_bool_compare_and_swap (a, b, c);
 }
-// CHECK: define i32 @foo2
+// CHECK-LABEL: define i32 @foo2
 // CHECK: cmpxchg
 
 int* foo3(int** a, int b) {
   return __sync_fetch_and_add (a, b);
 }
-// CHECK: define i32* @foo3
+// CHECK-LABEL: define i32* @foo3
 // CHECK: atomicrmw add
 
 
 int* foo4(int** a, int b) {
   return __sync_fetch_and_sub (a, b);
 }
-// CHECK: define i32* @foo4
+// CHECK-LABEL: define i32* @foo4
 // CHECK: atomicrmw sub
 
 
 int* foo5(int** a, int* b) {
   return __sync_lock_test_and_set (a, b);
 }
-// CHECK: define i32* @foo5
+// CHECK-LABEL: define i32* @foo5
 // CHECK: atomicrmw xchg
 
 
 int* foo6(int** a, int*** b) {
   return __sync_lock_test_and_set (a, b);
 }
-// CHECK: define i32* @foo6
+// CHECK-LABEL: define i32* @foo6
 // CHECK: atomicrmw xchg
index e5162596d712b10167e88cde00260ba52f1dbe55..e77c70a140f9dbd2235f2bde08321063d109609a 100644 (file)
@@ -1,9 +1,9 @@
 // RUN: %clang_cc1 -triple i386-unknown-unknown -O1 -emit-llvm -o - %s | FileCheck %s
-// CHECK: define i32 @f0()
+// CHECK-LABEL: define i32 @f0()
 // CHECK:   ret i32 0
-// CHECK: define i32 @f1()
+// CHECK-LABEL: define i32 @f1()
 // CHECK:   ret i32 0
-// CHECK: define i32 @f2()
+// CHECK-LABEL: define i32 @f2()
 // CHECK:   ret i32 0
 // <rdar://problem/6113085>
 
index 429fb1fcc27b7c8afee17b7e5c28a4dc67b3e737..f348b2b6fda6ac4826b4a72dd807b8f13f8b2461 100644 (file)
@@ -1,9 +1,9 @@
 // RUN: %clang_cc1 -triple i386-unknown-unknown -O1 -emit-llvm -o - %s | FileCheck %s
-// CHECK: define i32 @f0
+// CHECK-LABEL: define i32 @f0
 // CHECK:   ret i32 1
-// CHECK: define i32 @f1
+// CHECK-LABEL: define i32 @f1
 // CHECK:   ret i32 1
-// CHECK: define i32 @f2
+// CHECK-LABEL: define i32 @f2
 // CHECK:   ret i32 1
 // <rdr://6115726>
 
index 294fbc0579ebc116d3cf861ffc08def4a70f7126..f53b85c931dfca1a9cb5ed49ba7087aee83e5793 100644 (file)
 #include <x86intrin.h>
 
 __m64 test_m_pavgusb(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pavgusb
+  // CHECK-LABEL: define i64 @test_m_pavgusb
   // CHECK: @llvm.x86.3dnow.pavgusb
   return _m_pavgusb(m1, m2);
 }
 
 __m64 test_m_pf2id(__m64 m) {
-  // CHECK: define i64 @test_m_pf2id
+  // CHECK-LABEL: define i64 @test_m_pf2id
   // CHECK: @llvm.x86.3dnow.pf2id
   return _m_pf2id(m);
 }
 
 __m64 test_m_pfacc(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfacc
+  // CHECK-LABEL: define i64 @test_m_pfacc
   // CHECK: @llvm.x86.3dnow.pfacc
   return _m_pfacc(m1, m2);
 }
 
 __m64 test_m_pfadd(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfadd
+  // CHECK-LABEL: define i64 @test_m_pfadd
   // CHECK: @llvm.x86.3dnow.pfadd
   return _m_pfadd(m1, m2);
 }
 
 __m64 test_m_pfcmpeq(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfcmpeq
+  // CHECK-LABEL: define i64 @test_m_pfcmpeq
   // CHECK: @llvm.x86.3dnow.pfcmpeq
   return _m_pfcmpeq(m1, m2);
 }
 
 __m64 test_m_pfcmpge(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfcmpge
+  // CHECK-LABEL: define i64 @test_m_pfcmpge
   // CHECK: @llvm.x86.3dnow.pfcmpge
   return _m_pfcmpge(m1, m2);
 }
 
 __m64 test_m_pfcmpgt(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfcmpgt
+  // CHECK-LABEL: define i64 @test_m_pfcmpgt
   // CHECK: @llvm.x86.3dnow.pfcmpgt
   return _m_pfcmpgt(m1, m2);
 }
 
 __m64 test_m_pfmax(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfmax
+  // CHECK-LABEL: define i64 @test_m_pfmax
   // CHECK: @llvm.x86.3dnow.pfmax
   return _m_pfmax(m1, m2);
 }
 
 __m64 test_m_pfmin(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfmin
+  // CHECK-LABEL: define i64 @test_m_pfmin
   // CHECK: @llvm.x86.3dnow.pfmin
   return _m_pfmin(m1, m2);
 }
 
 __m64 test_m_pfmul(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfmul
+  // CHECK-LABEL: define i64 @test_m_pfmul
   // CHECK: @llvm.x86.3dnow.pfmul
   return _m_pfmul(m1, m2);
 }
 
 __m64 test_m_pfrcp(__m64 m) {
-  // CHECK: define i64 @test_m_pfrcp
+  // CHECK-LABEL: define i64 @test_m_pfrcp
   // CHECK: @llvm.x86.3dnow.pfrcp
   return _m_pfrcp(m);
 }
 
 __m64 test_m_pfrcpit1(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfrcpit1
+  // CHECK-LABEL: define i64 @test_m_pfrcpit1
   // CHECK: @llvm.x86.3dnow.pfrcpit1
   return _m_pfrcpit1(m1, m2);
 }
 
 __m64 test_m_pfrcpit2(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfrcpit2
+  // CHECK-LABEL: define i64 @test_m_pfrcpit2
   // CHECK: @llvm.x86.3dnow.pfrcpit2
   return _m_pfrcpit2(m1, m2);
 }
 
 __m64 test_m_pfrsqrt(__m64 m) {
-  // CHECK: define i64 @test_m_pfrsqrt
+  // CHECK-LABEL: define i64 @test_m_pfrsqrt
   // CHECK: @llvm.x86.3dnow.pfrsqrt
   return _m_pfrsqrt(m);
 }
 
 __m64 test_m_pfrsqrtit1(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfrsqrtit1
+  // CHECK-LABEL: define i64 @test_m_pfrsqrtit1
   // CHECK: @llvm.x86.3dnow.pfrsqit1
   return _m_pfrsqrtit1(m1, m2);
 }
 
 __m64 test_m_pfsub(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfsub
+  // CHECK-LABEL: define i64 @test_m_pfsub
   // CHECK: @llvm.x86.3dnow.pfsub
   return _m_pfsub(m1, m2);
 }
 
 __m64 test_m_pfsubr(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfsubr
+  // CHECK-LABEL: define i64 @test_m_pfsubr
   // CHECK: @llvm.x86.3dnow.pfsubr
   return _m_pfsubr(m1, m2);
 }
 
 __m64 test_m_pi2fd(__m64 m) {
-  // CHECK: define i64 @test_m_pi2fd
+  // CHECK-LABEL: define i64 @test_m_pi2fd
   // CHECK: @llvm.x86.3dnow.pi2fd
   return _m_pi2fd(m);
 }
 
 __m64 test_m_pmulhrw(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pmulhrw
+  // CHECK-LABEL: define i64 @test_m_pmulhrw
   // CHECK: @llvm.x86.3dnow.pmulhrw
   return _m_pmulhrw(m1, m2);
 }
 
 __m64 test_m_pf2iw(__m64 m) {
-  // CHECK: define i64 @test_m_pf2iw
+  // CHECK-LABEL: define i64 @test_m_pf2iw
   // CHECK: @llvm.x86.3dnowa.pf2iw
   return _m_pf2iw(m);
 }
 
 __m64 test_m_pfnacc(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfnacc
+  // CHECK-LABEL: define i64 @test_m_pfnacc
   // CHECK: @llvm.x86.3dnowa.pfnacc
   return _m_pfnacc(m1, m2);
 }
 
 __m64 test_m_pfpnacc(__m64 m1, __m64 m2) {
-  // CHECK: define i64 @test_m_pfpnacc
+  // CHECK-LABEL: define i64 @test_m_pfpnacc
   // CHECK: @llvm.x86.3dnowa.pfpnacc
   return _m_pfpnacc(m1, m2);
 }
 
 __m64 test_m_pi2fw(__m64 m) {
-  // CHECK: define i64 @test_m_pi2fw
+  // CHECK-LABEL: define i64 @test_m_pi2fw
   // CHECK: @llvm.x86.3dnowa.pi2fw
   return _m_pi2fw(m);
 }
 
 __m64 test_m_pswapdsf(__m64 m) {
-  // CHECK: define i64 @test_m_pswapdsf
+  // CHECK-LABEL: define i64 @test_m_pswapdsf
   // CHECK: @llvm.x86.3dnowa.pswapd
   return _m_pswapdsf(m);
 }
 
 __m64 test_m_pswapdsi(__m64 m) {
-  // CHECK: define i64 @test_m_pswapdsi
+  // CHECK-LABEL: define i64 @test_m_pswapdsi
   // CHECK: @llvm.x86.3dnowa.pswapd
   return _m_pswapdsi(m);
 }
index 2bb38fd749c2be1f011bbc9e46cf439de13e36ce..5798dfff46b1073e8d53467c346c3fe7bfc0bad6 100644 (file)
@@ -11,7 +11,7 @@ unsigned int ui;
 signed long long sll;
 unsigned long long ull;
 
-void test_op_ignore (void) // CHECK: define void @test_op_ignore
+void test_op_ignore (void) // CHECK-LABEL: define void @test_op_ignore
 {
   (void) __sync_fetch_and_add (&sc, 1); // CHECK: atomicrmw add i8
   (void) __sync_fetch_and_add (&uc, 1); // CHECK: atomicrmw add i8
@@ -60,7 +60,7 @@ void test_op_ignore (void) // CHECK: define void @test_op_ignore
 
 }
 
-void test_fetch_and_op (void) // CHECK: define void @test_fetch_and_op
+void test_fetch_and_op (void) // CHECK-LABEL: define void @test_fetch_and_op
 {
   sc = __sync_fetch_and_add (&sc, 11); // CHECK: atomicrmw add
   uc = __sync_fetch_and_add (&uc, 11); // CHECK: atomicrmw add
index 9e5e89450314163e21d9ea86620bdc32063edd3a..a51cd8ecf535d26dad88c21a95eaa0c84348e75b 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -triple i386 -emit-llvm -O2 -o - %s | FileCheck %s
 
-// CHECK: define i32 @f0()
+// CHECK-LABEL: define i32 @f0()
 // CHECK:  ret i32 1
 // CHECK: }
 
index 901e7342ddac3219a8677347a1437be72890f8c9..a70dfb1e3d4d81ba3715cc45a579acc238d8eacb 100644 (file)
@@ -3,7 +3,7 @@
 // Sign extension is performed by the callee on AArch64, which means
 // that we *shouldn't* tag arguments and returns with their extension.
 
-// PCS: define i8 @f0(i16 %a)
+// PCS-LABEL: define i8 @f0(i16 %a)
 char f0(short a) {
   return a;
 }
@@ -32,11 +32,11 @@ struct s5 f5(void) {}
 struct s6 { int f0[1]; };
 struct s6 f6(void) {}
 
-// PCS: define void @f7()
+// PCS-LABEL: define void @f7()
 struct s7 { struct { int : 0; } f0; };
 struct s7 f7(void) {}
 
-// PCS: define  void @f8()
+// PCS-LABEL: define  void @f8()
 struct s8 { struct { int : 0; } f0[1]; };
 struct s8 f8(void) {}
 
@@ -56,18 +56,18 @@ struct s11 f11(void) {}
 union u12 { char f0; short f1; int f2; long f3; };
 union u12 f12(void) {}
 
-// PCS: define %struct.s13 @f13()
+// PCS-LABEL: define %struct.s13 @f13()
 struct s13 { float f0; };
 struct s13 f13(void) {}
 
-// PCS: define %union.u14 @f14()
+// PCS-LABEL: define %union.u14 @f14()
 union u14 { float f0; };
 union u14 f14(void) {}
 
-// PCS: define void @f15()
+// PCS-LABEL: define void @f15()
 void f15(struct s7 a0) {}
 
-// PCS: define void @f16()
+// PCS-LABEL: define void @f16()
 void f16(struct s8 a0) {}
 
 // PCS: define [1 x i64] @f17()
@@ -111,14 +111,14 @@ struct s26 f26() {}
 struct s27 { _Complex long f0; };
 struct s27 f27() {}
 
-// PCS: define void @f28(i8 %a, i16 %b, i32 %c, i64 %d, float %e, double %f)
+// PCS-LABEL: define void @f28(i8 %a, i16 %b, i32 %c, i64 %d, float %e, double %f)
 void f28(char a, short b, int c, long d, float e, double f) {}
 
 // PCS: define void @f29([2 x i64] %a
 struct s29 { int arr[4]; };
 void f29(struct s29 a) {}
 
-// PCS: define void @f30(%struct.s30* %a)
+// PCS-LABEL: define void @f30(%struct.s30* %a)
 struct s30 { int arr[4]; char c;};
 void f30(struct s30 a) {}
 
@@ -126,7 +126,7 @@ void f30(struct s30 a) {}
 struct s31 { double arr[4]; };
 void f31(struct s31 a) {}
 
-// PCS: define void @f32(%struct.s32* %a)
+// PCS-LABEL: define void @f32(%struct.s32* %a)
 struct s32 { float arr[5]; };
 void f32(struct s32 a) {}
 
@@ -135,11 +135,11 @@ void f32(struct s32 a) {}
 struct s33 { float arr[3]; float a; };
 void f33(struct s33 a) {}
 
-// PCS: define void @f34(%struct.s34* noalias sret
+// PCS-LABEL: define void @f34(%struct.s34* noalias sret
 struct s34 { int a[4]; char b };
 struct s34 f34(void) {}
 
-// PCS: define void @f35()
+// PCS-LABEL: define void @f35()
 struct s35 {};
 void f35(struct s35 a) {}
 
index 324a0708271f683191efd69ad651e6a25793c472..3d9cd866e8727d6988caa5a0ce9e16ccd503b953 100644 (file)
@@ -7,7 +7,7 @@
 va_list the_list;
 
 int simple_int(void) {
-// CHECK: define i32 @simple_int
+// CHECK-LABEL: define i32 @simple_int
   return va_arg(the_list, int);
 // CHECK: [[GR_OFFS:%[a-z_0-9]+]] = load i32* getelementptr inbounds (%struct.__va_list* @the_list, i32 0, i32 3)
 // CHECK: [[EARLY_ONSTACK:%[a-z_0-9]+]] = icmp sge i32 [[GR_OFFS]], 0
@@ -39,7 +39,7 @@ int simple_int(void) {
 }
 
 __int128 aligned_int(void) {
-// CHECK: define i128 @aligned_int
+// CHECK-LABEL: define i128 @aligned_int
   return va_arg(the_list, __int128);
 // CHECK: [[GR_OFFS:%[a-z_0-9]+]] = load i32* getelementptr inbounds (%struct.__va_list* @the_list, i32 0, i32 3)
 // CHECK: [[EARLY_ONSTACK:%[a-z_0-9]+]] = icmp sge i32 [[GR_OFFS]], 0
@@ -81,7 +81,7 @@ struct bigstruct {
 };
 
 struct bigstruct simple_indirect(void) {
-// CHECK: define void @simple_indirect
+// CHECK-LABEL: define void @simple_indirect
   return va_arg(the_list, struct bigstruct);
 // CHECK: [[GR_OFFS:%[a-z_0-9]+]] = load i32* getelementptr inbounds (%struct.__va_list* @the_list, i32 0, i32 3)
 // CHECK: [[EARLY_ONSTACK:%[a-z_0-9]+]] = icmp sge i32 [[GR_OFFS]], 0
@@ -119,7 +119,7 @@ struct aligned_bigstruct {
 };
 
 struct aligned_bigstruct simple_aligned_indirect(void) {
-// CHECK: define void @simple_aligned_indirect
+// CHECK-LABEL: define void @simple_aligned_indirect
   return va_arg(the_list, struct aligned_bigstruct);
 // CHECK: [[GR_OFFS:%[a-z_0-9]+]] = load i32* getelementptr inbounds (%struct.__va_list* @the_list, i32 0, i32 3)
 // CHECK: [[EARLY_ONSTACK:%[a-z_0-9]+]] = icmp sge i32 [[GR_OFFS]], 0
@@ -150,7 +150,7 @@ struct aligned_bigstruct simple_aligned_indirect(void) {
 }
 
 double simple_double(void) {
-// CHECK: define double @simple_double
+// CHECK-LABEL: define double @simple_double
   return va_arg(the_list, double);
 // CHECK: [[VR_OFFS:%[a-z_0-9]+]] = load i32* getelementptr inbounds (%struct.__va_list* @the_list, i32 0, i32 4)
 // CHECK: [[EARLY_ONSTACK:%[a-z_0-9]+]] = icmp sge i32 [[VR_OFFS]], 0
@@ -186,7 +186,7 @@ struct hfa {
 };
 
 struct hfa simple_hfa(void) {
-// CHECK: define %struct.hfa @simple_hfa
+// CHECK-LABEL: define %struct.hfa @simple_hfa
   return va_arg(the_list, struct hfa);
 // CHECK: [[VR_OFFS:%[a-z_0-9]+]] = load i32* getelementptr inbounds (%struct.__va_list* @the_list, i32 0, i32 4)
 // CHECK: [[EARLY_ONSTACK:%[a-z_0-9]+]] = icmp sge i32 [[VR_OFFS]], 0
@@ -226,7 +226,7 @@ struct hfa simple_hfa(void) {
 }
 
 void check_start(int n, ...) {
-// CHECK: define void @check_start(i32 %n, ...)
+// CHECK-LABEL: define void @check_start(i32 %n, ...)
 
   va_list the_list;
   va_start(the_list, n);
index 9de0670b1024f8978a52cf450f1a1bdd8d587449..3e865fd3b7753d9e80677c7fbec9ffd3d17bd47a 100644 (file)
@@ -9,11 +9,11 @@ int foo __attribute__((address_space(1)));
 // CHECK: @ban = common addrspace(1) global
 int ban[10] __attribute__((address_space(1)));
 
-// CHECK: define i32 @test1() 
+// CHECK-LABEL: define i32 @test1() 
 // CHECK: load i32 addrspace(1)* @foo
 int test1() { return foo; }
 
-// CHECK: define i32 @test2(i32 %i) 
+// CHECK-LABEL: define i32 @test2(i32 %i) 
 // CHECK: load i32 addrspace(1)*
 // CHECK-NEXT: ret i32
 int test2(int i) { return ban[i]; }
@@ -21,7 +21,7 @@ int test2(int i) { return ban[i]; }
 // Both A and B point into addrspace(2).
 __attribute__((address_space(2))) int *A, *B;
 
-// CHECK: define void @test3()
+// CHECK-LABEL: define void @test3()
 // CHECK: load i32 addrspace(2)** @B
 // CHECK: load i32 addrspace(2)* 
 // CHECK: load i32 addrspace(2)** @A
@@ -35,7 +35,7 @@ typedef struct {
   float aData[1];
 } MyStruct;
 
-// CHECK: define void @test4(
+// CHECK-LABEL: define void @test4(
 // CHECK: call void @llvm.memcpy.p0i8.p2i8
 // CHECK: call void @llvm.memcpy.p2i8.p0i8
 void test4(MyStruct __attribute__((address_space(2))) *pPtr) {
index a8380a37c5833b40093a2a7d6d5dc6af8c06bd09..68f930e7f10fb02a726f9703b626f6367a859ce0 100644 (file)
@@ -19,7 +19,7 @@ extern void f1(void) __attribute((alias("f0")));
 // Make sure that aliases cause referenced values to be emitted.
 // PR3200
 static inline int foo1() { return 0; }
-// CHECKBASIC: define internal i32 @foo1()
+// CHECKBASIC-LABEL: define internal i32 @foo1()
 int foo() __attribute__((alias("foo1")));
 int bar() __attribute__((alias("bar1")));
 
index 8907f66409a101b18c2d5ac34be680cc530a302b..78e57b5b1f8cc9540956bbf4edc550944cf5d4a8 100644 (file)
@@ -5,7 +5,7 @@
 int test (long long x) {
   return (int)x;
 }
-// CHECK: define i32 @test
+// CHECK-LABEL: define i32 @test
 // CHECK: alloca i64, align 8
 
 
@@ -14,5 +14,5 @@ struct X { int x,y,z,a; };
 int test2(struct X x __attribute((aligned(16)))) {
   return x.z;
 }
-// CHECK: define i32 @test2
+// CHECK-LABEL: define i32 @test2
 // CHECK: alloca %struct.X, align 16
index b8ada9fc0f3e91c95fa09e4263d7793e5e828512..da9e0b63eca3f7e69636b7add6b02c31645d905c 100644 (file)
@@ -31,7 +31,7 @@ int foo(int v __attribute__((annotate("param_ann_0"))) __attribute__((annotate("
 
 void local(void) {
     int localvar __attribute__((annotate("localvar_ann_0"))) __attribute__((annotate("localvar_ann_1"))) = 3;
-// LOCAL: define void @local()
+// LOCAL-LABEL: define void @local()
 // LOCAL:      [[LOCALVAR:%.*]] = alloca i32,
 // LOCAL-NEXT: [[T0:%.*]] = bitcast i32* [[LOCALVAR]] to i8*
 // LOCAL-NEXT: call void @llvm.var.annotation(i8* [[T0]], i8* getelementptr inbounds ([15 x i8]* @{{.*}}), i8* getelementptr inbounds ({{.*}}), i32 33)
@@ -41,7 +41,7 @@ void local(void) {
 
 void undef(void) {
     int undefvar __attribute__((annotate("undefvar_ann_0")));
-// UNDEF: define void @undef()
+// UNDEF-LABEL: define void @undef()
 // UNDEF:      [[UNDEFVAR:%.*]] = alloca i32,
 // UNDEF-NEXT: [[T0:%.*]] = bitcast i32* [[UNDEFVAR]] to i8*
 // UNDEF-NEXT: call void @llvm.var.annotation(i8* [[T0]], i8* getelementptr inbounds ([15 x i8]* @{{.*}}), i8* getelementptr inbounds ({{.*}}), i32 43)
index 7210229f377bb48b38066fff75623a57cc2691b2..0e102f35ed05b08da15a5560965cc41161e339a8 100644 (file)
@@ -95,6 +95,6 @@ void test_neon(struct neon_struct arg) {
   neon_callee(arg);
 }
 
-// CHECK: define arm_aapcs_vfpcc void @f33(%struct.s33* byval %s)
+// CHECK-LABEL: define arm_aapcs_vfpcc void @f33(%struct.s33* byval %s)
 struct s33 { char buf[32*32]; };
 void f33(struct s33 s) { }
index 63ecd4c5990b7eb0552a6892b11b732a24837898..d02a217de4f40e701418ae2400b7c14ac8a97915 100644 (file)
@@ -2,77 +2,77 @@
 // RUN: %clang_cc1 -triple armv7-apple-darwin9 -target-abi apcs-gnu -emit-llvm -w -o - %s | FileCheck -check-prefix=APCS-GNU %s
 // RUN: %clang_cc1 -triple armv7-apple-darwin9 -target-abi aapcs -emit-llvm -w -o - %s | FileCheck -check-prefix=AAPCS %s
 
-// APCS-GNU: define signext i8 @f0()
-// AAPCS: define arm_aapcscc signext i8 @f0()
+// APCS-GNU-LABEL: define signext i8 @f0()
+// AAPCS-LABEL: define arm_aapcscc signext i8 @f0()
 char f0(void) {
   return 0;
 }
 
-// APCS-GNU: define i8 @f1()
-// AAPCS: define arm_aapcscc i8 @f1()
+// APCS-GNU-LABEL: define i8 @f1()
+// AAPCS-LABEL: define arm_aapcscc i8 @f1()
 struct s1 { char f0; };
 struct s1 f1(void) {}
 
-// APCS-GNU: define i16 @f2()
-// AAPCS: define arm_aapcscc i16 @f2()
+// APCS-GNU-LABEL: define i16 @f2()
+// AAPCS-LABEL: define arm_aapcscc i16 @f2()
 struct s2 { short f0; };
 struct s2 f2(void) {}
 
-// APCS-GNU: define i32 @f3()
-// AAPCS: define arm_aapcscc i32 @f3()
+// APCS-GNU-LABEL: define i32 @f3()
+// AAPCS-LABEL: define arm_aapcscc i32 @f3()
 struct s3 { int f0; };
 struct s3 f3(void) {}
 
-// APCS-GNU: define i32 @f4()
-// AAPCS: define arm_aapcscc i32 @f4()
+// APCS-GNU-LABEL: define i32 @f4()
+// AAPCS-LABEL: define arm_aapcscc i32 @f4()
 struct s4 { struct s4_0 { int f0; } f0; };
 struct s4 f4(void) {}
 
-// APCS-GNU: define void @f5(
+// APCS-GNU-LABEL: define void @f5(
 // APCS-GNU: struct.s5* noalias sret
-// AAPCS: define arm_aapcscc i32 @f5()
+// AAPCS-LABEL: define arm_aapcscc i32 @f5()
 struct s5 { struct { } f0; int f1; };
 struct s5 f5(void) {}
 
-// APCS-GNU: define void @f6(
+// APCS-GNU-LABEL: define void @f6(
 // APCS-GNU: struct.s6* noalias sret
-// AAPCS: define arm_aapcscc i32 @f6()
+// AAPCS-LABEL: define arm_aapcscc i32 @f6()
 struct s6 { int f0[1]; };
 struct s6 f6(void) {}
 
-// APCS-GNU: define void @f7()
-// AAPCS: define arm_aapcscc void @f7()
+// APCS-GNU-LABEL: define void @f7()
+// AAPCS-LABEL: define arm_aapcscc void @f7()
 struct s7 { struct { int : 0; } f0; };
 struct s7 f7(void) {}
 
-// APCS-GNU: define void @f8(
+// APCS-GNU-LABEL: define void @f8(
 // APCS-GNU: struct.s8* noalias sret
-// AAPCS: define arm_aapcscc void @f8()
+// AAPCS-LABEL: define arm_aapcscc void @f8()
 struct s8 { struct { int : 0; } f0[1]; };
 struct s8 f8(void) {}
 
-// APCS-GNU: define i32 @f9()
-// AAPCS: define arm_aapcscc i32 @f9()
+// APCS-GNU-LABEL: define i32 @f9()
+// AAPCS-LABEL: define arm_aapcscc i32 @f9()
 struct s9 { int f0; int : 0; };
 struct s9 f9(void) {}
 
-// APCS-GNU: define i32 @f10()
-// AAPCS: define arm_aapcscc i32 @f10()
+// APCS-GNU-LABEL: define i32 @f10()
+// AAPCS-LABEL: define arm_aapcscc i32 @f10()
 struct s10 { int f0; int : 0; int : 0; };
 struct s10 f10(void) {}
 
-// APCS-GNU: define void @f11(
+// APCS-GNU-LABEL: define void @f11(
 // APCS-GNU: struct.s11* noalias sret
-// AAPCS: define arm_aapcscc i32 @f11()
+// AAPCS-LABEL: define arm_aapcscc i32 @f11()
 struct s11 { int : 0; int f0; };
 struct s11 f11(void) {}
 
-// APCS-GNU: define i32 @f12()
-// AAPCS: define arm_aapcscc i32 @f12()
+// APCS-GNU-LABEL: define i32 @f12()
+// AAPCS-LABEL: define arm_aapcscc i32 @f12()
 union u12 { char f0; short f1; int f2; };
 union u12 f12(void) {}
 
-// APCS-GNU: define void @f13(
+// APCS-GNU-LABEL: define void @f13(
 // APCS-GNU: struct.s13* noalias sret
 
 // FIXME: This should return a float.
@@ -80,55 +80,55 @@ union u12 f12(void) {}
 struct s13 { float f0; };
 struct s13 f13(void) {}
 
-// APCS-GNU: define void @f14(
+// APCS-GNU-LABEL: define void @f14(
 // APCS-GNU: union.u14* noalias sret
-// AAPCS: define arm_aapcscc i32 @f14()
+// AAPCS-LABEL: define arm_aapcscc i32 @f14()
 union u14 { float f0; };
 union u14 f14(void) {}
 
-// APCS-GNU: define void @f15()
-// AAPCS: define arm_aapcscc void @f15()
+// APCS-GNU-LABEL: define void @f15()
+// AAPCS-LABEL: define arm_aapcscc void @f15()
 void f15(struct s7 a0) {}
 
-// APCS-GNU: define void @f16()
-// AAPCS: define arm_aapcscc void @f16()
+// APCS-GNU-LABEL: define void @f16()
+// AAPCS-LABEL: define arm_aapcscc void @f16()
 void f16(struct s8 a0) {}
 
-// APCS-GNU: define i32 @f17()
-// AAPCS: define arm_aapcscc i32 @f17()
+// APCS-GNU-LABEL: define i32 @f17()
+// AAPCS-LABEL: define arm_aapcscc i32 @f17()
 struct s17 { short f0 : 13; char f1 : 4; };
 struct s17 f17(void) {}
 
-// APCS-GNU: define i32 @f18()
-// AAPCS: define arm_aapcscc i32 @f18()
+// APCS-GNU-LABEL: define i32 @f18()
+// AAPCS-LABEL: define arm_aapcscc i32 @f18()
 struct s18 { short f0; char f1 : 4; };
 struct s18 f18(void) {}
 
-// APCS-GNU: define void @f19(
+// APCS-GNU-LABEL: define void @f19(
 // APCS-GNU: struct.s19* noalias sret
-// AAPCS: define arm_aapcscc i32 @f19()
+// AAPCS-LABEL: define arm_aapcscc i32 @f19()
 struct s19 { int f0; struct s8 f1; };
 struct s19 f19(void) {}
 
-// APCS-GNU: define void @f20(
+// APCS-GNU-LABEL: define void @f20(
 // APCS-GNU: struct.s20* noalias sret
-// AAPCS: define arm_aapcscc i32 @f20()
+// AAPCS-LABEL: define arm_aapcscc i32 @f20()
 struct s20 { struct s8 f1; int f0; };
 struct s20 f20(void) {}
 
-// APCS-GNU: define i8 @f21()
-// AAPCS: define arm_aapcscc i32 @f21()
+// APCS-GNU-LABEL: define i8 @f21()
+// AAPCS-LABEL: define arm_aapcscc i32 @f21()
 struct s21 { struct {} f1; int f0 : 4; };
 struct s21 f21(void) {}
 
-// APCS-GNU: define i16 @f22()
-// APCS-GNU: define i32 @f23()
-// APCS-GNU: define i64 @f24()
-// APCS-GNU: define i128 @f25()
-// APCS-GNU: define i64 @f26()
-// APCS-GNU: define i128 @f27()
-// AAPCS: define arm_aapcscc i16 @f22()
-// AAPCS: define arm_aapcscc i32 @f23()
+// APCS-GNU-LABEL: define i16 @f22()
+// APCS-GNU-LABEL: define i32 @f23()
+// APCS-GNU-LABEL: define i64 @f24()
+// APCS-GNU-LABEL: define i128 @f25()
+// APCS-GNU-LABEL: define i64 @f26()
+// APCS-GNU-LABEL: define i128 @f27()
+// AAPCS-LABEL: define arm_aapcscc i16 @f22()
+// AAPCS-LABEL: define arm_aapcscc i32 @f23()
 // AAPCS: define arm_aapcscc void @f24({{.*}} noalias sret
 // AAPCS: define arm_aapcscc void @f25({{.*}} noalias sret
 // AAPCS: define arm_aapcscc void @f26({{.*}} noalias sret
@@ -140,13 +140,13 @@ _Complex long long  f25(void) {}
 _Complex float      f26(void) {}
 _Complex double     f27(void) {}
 
-// APCS-GNU: define i16 @f28()
-// AAPCS: define arm_aapcscc i16 @f28()
+// APCS-GNU-LABEL: define i16 @f28()
+// AAPCS-LABEL: define arm_aapcscc i16 @f28()
 struct s28 { _Complex char f0; };
 struct s28 f28() {}
 
-// APCS-GNU: define i32 @f29()
-// AAPCS: define arm_aapcscc i32 @f29()
+// APCS-GNU-LABEL: define i32 @f29()
+// AAPCS-LABEL: define arm_aapcscc i32 @f29()
 struct s29 { _Complex short f0; };
 struct s29 f29() {}
 
@@ -176,8 +176,8 @@ void f32(struct s32 s) { }
 // PR13350
 struct s33 { char buf[32*32]; };
 void f33(struct s33 s) { }
-// APCS-GNU: define void @f33(%struct.s33* byval %s)
-// AAPCS: define arm_aapcscc void @f33(%struct.s33* byval %s)
+// APCS-GNU-LABEL: define void @f33(%struct.s33* byval %s)
+// AAPCS-LABEL: define arm_aapcscc void @f33(%struct.s33* byval %s)
 
 // PR14048
 struct s34 { char c; };
@@ -209,14 +209,14 @@ float32x4_t f35(int i, s35_with_align s1, s35_with_align s2) {
                             *(float32x4_t *)&s2);
   return v;
 }
-// APCS-GNU: define <4 x float> @f35(i32 %i, %struct.s35* byval, %struct.s35* byval)
+// APCS-GNU-LABEL: define <4 x float> @f35(i32 %i, %struct.s35* byval, %struct.s35* byval)
 // APCS-GNU: %[[a:.*]] = alloca %struct.s35, align 16
 // APCS-GNU: %[[b:.*]] = bitcast %struct.s35* %[[a]] to i8*
 // APCS-GNU: %[[c:.*]] = bitcast %struct.s35* %0 to i8*
 // APCS-GNU: call void @llvm.memcpy.p0i8.p0i8.i32(i8* %[[b]], i8* %[[c]]
 // APCS-GNU: %[[d:.*]] = bitcast %struct.s35* %[[a]] to <4 x float>*
 // APCS-GNU: load <4 x float>* %[[d]], align 16
-// AAPCS: define arm_aapcscc <4 x float> @f35(i32 %i, %struct.s35* byval, %struct.s35* byval)
+// AAPCS-LABEL: define arm_aapcscc <4 x float> @f35(i32 %i, %struct.s35* byval, %struct.s35* byval)
 // AAPCS: %[[a:.*]] = alloca %struct.s35, align 16
 // AAPCS: %[[b:.*]] = bitcast %struct.s35* %[[a]] to i8*
 // AAPCS: %[[c:.*]] = bitcast %struct.s35* %0 to i8*
index 80ebe687c11b0332ead2fb7a374565b40c639103..8e6aae78b66dea738ead4c37933252982bf52a78 100644 (file)
@@ -5,13 +5,13 @@
 // RUN: %clang_cc1 -triple arm-none-linux-gnueabi -target-abi aapcs  -emit-llvm -w -o - %s | FileCheck -check-prefix=LINUX-AAPCS %s
 
 
-// DARWIN-APCS: define void @f()
+// DARWIN-APCS-LABEL: define void @f()
 // DARWIN-APCS: call void @g
-// DARWIN-AAPCS: define arm_aapcscc void @f()
+// DARWIN-AAPCS-LABEL: define arm_aapcscc void @f()
 // DARWIN-AAPCS: call arm_aapcscc void @g
-// LINUX-APCS: define arm_apcscc void @f()
+// LINUX-APCS-LABEL: define arm_apcscc void @f()
 // LINUX-APCS: call arm_apcscc void @g
-// LINUX-AAPCS: define void @f()
+// LINUX-AAPCS-LABEL: define void @f()
 // LINUX-AAPCS: call void @g
 void g(void);
 void f(void) {
index fc658c3bef6fa19236fdf80e2c209fc39bd4ecf2..269f01e77de1eb0d8f9e6bcb7d6fc945cb5a02c5 100644 (file)
@@ -6,7 +6,7 @@ typedef int __attribute__((pcs("aapcs-vfp"))) (*aapcs_vfp_fn)(void);
 aapcs_fn bar;
 
 int foo(aapcs_vfp_fn baz) {
-// CHECK: define i32 @foo
+// CHECK-LABEL: define i32 @foo
 // CHECK: call arm_aapcscc
 // CHECK: call arm_aapcs_vfpcc
   return bar() + baz();
index 50259957eb15477918ef6f1ed7d055c47cef7167..2faac1c676b9d31466afd80ecbb1243784e61ba2 100644 (file)
@@ -9,10 +9,10 @@ typedef struct {
   int a;
   int b;
 } s1;
-// CHECK: define i32 @f48(%struct.s1* byval %s)
+// CHECK-LABEL: define i32 @f48(%struct.s1* byval %s)
 int __attribute__((pnaclcall)) f48(s1 s) { return s.a; }
 
-// CHECK: define void @f49(%struct.s1* noalias sret %agg.result)
+// CHECK-LABEL: define void @f49(%struct.s1* noalias sret %agg.result)
 s1 __attribute__((pnaclcall)) f49() { s1 s; s.a = s.b = 1; return s; }
 
 union simple_union {
@@ -20,7 +20,7 @@ union simple_union {
   char b;
 };
 // Unions should be passed as byval structs
-// CHECK: define void @f50(%union.simple_union* byval %s)
+// CHECK-LABEL: define void @f50(%union.simple_union* byval %s)
 void __attribute__((pnaclcall)) f50(union simple_union s) {}
 
 typedef struct {
@@ -29,5 +29,5 @@ typedef struct {
   int b8 : 8;
 } bitfield1;
 // Bitfields should be passed as byval structs
-// CHECK: define void @f51(%struct.bitfield1* byval %bf1)
+// CHECK-LABEL: define void @f51(%struct.bitfield1* byval %bf1)
 void __attribute__((pnaclcall)) f51(bitfield1 bf1) {}
index fc008963c317cc927f7670f785fb2682950125d8..b2702f09660120b23ee5b3d42ae8d29555145b13 100644 (file)
@@ -2,7 +2,7 @@
 
 // Check that we don't generate unnecessary reloads.
 //
-// CHECK: define void @f0()
+// CHECK-LABEL: define void @f0()
 // CHECK:      [[x_0:%.*]] = alloca i32, align 4
 // CHECK-NEXT: [[y_0:%.*]] = alloca i32, align 4
 // CHECK-NEXT: store i32 1, i32* [[x_0]]
@@ -18,7 +18,7 @@ void f0() {
 // This used to test that we generate reloads for volatile access,
 // but that does not appear to be correct behavior for C.
 //
-// CHECK: define void @f1()
+// CHECK-LABEL: define void @f1()
 // CHECK:      [[x_1:%.*]] = alloca i32, align 4
 // CHECK-NEXT: [[y_1:%.*]] = alloca i32, align 4
 // CHECK-NEXT: store volatile i32 1, i32* [[x_1]]
index c69702f35fae4ae04530148cb6ebd493687b19e0..6456e74a94ecf2e6e26edb1a53885855cdfa1103 100644 (file)
@@ -31,7 +31,7 @@ void test1(void) {
   (void)__atomic_load(&a1, &a2, memory_order_seq_cst);
   (void)__atomic_store(&a1, &a2, memory_order_seq_cst);
 
-// ARM: define arm_aapcscc void @test1
+// ARM-LABEL: define arm_aapcscc void @test1
 // ARM: = call arm_aapcscc zeroext i8 @__atomic_load_1(i8* @c1
 // ARM: call arm_aapcscc void @__atomic_store_1(i8* @c1, i8 zeroext
 // ARM: = call arm_aapcscc zeroext i16 @__atomic_load_2(i8* bitcast (i16* @s1 to i8*)
@@ -43,7 +43,7 @@ void test1(void) {
 // ARM: call arm_aapcscc void @__atomic_load(i32 100, i8* getelementptr inbounds ([100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8]* @a2, i32 0, i32 0)
 // ARM: call arm_aapcscc void @__atomic_store(i32 100, i8* getelementptr inbounds ([100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8]* @a2, i32 0, i32 0)
 
-// PPC32: define void @test1
+// PPC32-LABEL: define void @test1
 // PPC32: = load atomic i8* @c1 seq_cst
 // PPC32: store atomic i8 {{.*}}, i8* @c1 seq_cst
 // PPC32: = load atomic i16* @s1 seq_cst
@@ -55,7 +55,7 @@ void test1(void) {
 // PPC32: call void @__atomic_load(i32 100, i8* getelementptr inbounds ([100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8]* @a2, i32 0, i32 0)
 // PPC32: call void @__atomic_store(i32 100, i8* getelementptr inbounds ([100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8]* @a2, i32 0, i32 0)
 
-// PPC64: define void @test1
+// PPC64-LABEL: define void @test1
 // PPC64: = load atomic i8* @c1 seq_cst
 // PPC64: store atomic i8 {{.*}}, i8* @c1 seq_cst
 // PPC64: = load atomic i16* @s1 seq_cst
@@ -67,7 +67,7 @@ void test1(void) {
 // PPC64: call void @__atomic_load(i64 100, i8* getelementptr inbounds ([100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8]* @a2, i32 0, i32 0)
 // PPC64: call void @__atomic_store(i64 100, i8* getelementptr inbounds ([100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8]* @a2, i32 0, i32 0)
 
-// MIPS32: define void @test1
+// MIPS32-LABEL: define void @test1
 // MIPS32: = load atomic i8* @c1 seq_cst
 // MIPS32: store atomic i8 {{.*}}, i8* @c1 seq_cst
 // MIPS32: = load atomic i16* @s1 seq_cst
@@ -79,7 +79,7 @@ void test1(void) {
 // MIPS32: call void @__atomic_load(i32 100, i8* getelementptr inbounds ([100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8]* @a2, i32 0, i32 0)
 // MIPS32: call void @__atomic_store(i32 100, i8* getelementptr inbounds ([100 x i8]* @a1, i32 0, i32 0), i8* getelementptr inbounds ([100 x i8]* @a2, i32 0, i32 0)
 
-// MIPS64: define void @test1
+// MIPS64-LABEL: define void @test1
 // MIPS64: = load atomic i8* @c1 seq_cst
 // MIPS64: store atomic i8 {{.*}}, i8* @c1 seq_cst
 // MIPS64: = load atomic i16* @s1 seq_cst
index 6f9c045a3f1778cfd541091549c08979e996e062..ccbbb62f8c1f346fb7246e16374cf038285df5c2 100644 (file)
@@ -2,15 +2,15 @@
 // RUN: %clang_cc1 -fvisibility hidden "-triple" "x86_64-apple-darwin9.0.0" -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-10_5 %s
 // RUN: %clang_cc1 -fvisibility hidden "-triple" "x86_64-apple-darwin10.0.0" -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-10_6 %s
 
-// CHECK-10_4: define hidden void @f2
-// CHECK-10_5: define hidden void @f2
-// CHECK-10_6: define hidden void @f2
+// CHECK-10_4-LABEL: define hidden void @f2
+// CHECK-10_5-LABEL: define hidden void @f2
+// CHECK-10_6-LABEL: define hidden void @f2
 void f2();
 void f2() { }
 
-// CHECK-10_4: define void @f3
-// CHECK-10_5: define void @f3
-// CHECK-10_6: define void @f3
+// CHECK-10_4-LABEL: define void @f3
+// CHECK-10_5-LABEL: define void @f3
+// CHECK-10_6-LABEL: define void @f3
 void f3() __attribute__((availability(macosx,introduced=10.5)));
 void f3() { }
 
index 560d39141ca9385fa41a3509cc048fa0a6ecd0fd..248860d5bcd3930f6d3c31e4f60d5fd95534aa71 100644 (file)
@@ -8,7 +8,7 @@ void test1_h(void) {
   test1_g();
 }
 
-// CHECK: define void @test2_f()
+// CHECK-LABEL: define void @test2_f()
 void test2_f(void) {}
 static void test2_g(void) __attribute__((weakref("test2_f")));
 void test2_h(void) {
@@ -25,7 +25,7 @@ void test3_h(void) {
   test3_g();
 }
 
-// CHECK: define void @test4_f()
+// CHECK-LABEL: define void @test4_f()
 void test4_f(void);
 static void test4_g(void) __attribute__((weakref("test4_f")));
 void test4_h(void) {
index 46b6e742f35e76256508877a8120f203ea19a96d..b6c8ff89fe8a3a9b7139a4bf7ef8c4c902803417 100644 (file)
@@ -5,7 +5,7 @@ int x;
 
 inline void f0(int y) { x = y; }
 
-// CHECK: define void @test()
+// CHECK-LABEL: define void @test()
 // CHECK: declare void @f0(i32)
 void test() {
   f0(17);
index 64808155cc553ec0bd178d76e9ddcef4a159e6cd..58b17f17f02ae1b5f9b6bbd0683960f44c1627c2 100644 (file)
@@ -32,7 +32,7 @@ int f0_reload(struct s0 *a0) {
   return (a0->f0 += 1);
 }
 
-// CHECK-OPT: define i64 @test_0()
+// CHECK-OPT-LABEL: define i64 @test_0()
 // CHECK-OPT:  ret i64 1
 // CHECK-OPT: }
 unsigned long long test_0() {
@@ -78,7 +78,7 @@ int f1_reload(struct s1 *a0) {
   return (a0->f1 += 1234);
 }
 
-// CHECK-OPT: define i64 @test_1()
+// CHECK-OPT-LABEL: define i64 @test_1()
 // CHECK-OPT:  ret i64 210
 // CHECK-OPT: }
 unsigned long long test_1() {
@@ -120,7 +120,7 @@ int f2_reload(union u2 *a0) {
   return (a0->f0 += 1234);
 }
 
-// CHECK-OPT: define i64 @test_2()
+// CHECK-OPT-LABEL: define i64 @test_2()
 // CHECK-OPT:  ret i64 2
 // CHECK-OPT: }
 unsigned long long test_2() {
@@ -156,7 +156,7 @@ int f3_reload(struct s3 *a0) {
   return (a0->f0 += 1234);
 }
 
-// CHECK-OPT: define i64 @test_3()
+// CHECK-OPT-LABEL: define i64 @test_3()
 // CHECK-OPT:  ret i64 -559039940
 // CHECK-OPT: }
 unsigned long long test_3() {
@@ -190,7 +190,7 @@ int f4_reload(struct s4 *a0) {
   return (a0->f0 += 1234) ^ (a0->f1 += 5678);
 }
 
-// CHECK-OPT: define i64 @test_4()
+// CHECK-OPT-LABEL: define i64 @test_4()
 // CHECK-OPT:  ret i64 4860
 // CHECK-OPT: }
 unsigned long long test_4() {
@@ -222,7 +222,7 @@ int f5_reload(struct s5 *a0) {
   return (a0->f0 += 0xF) ^ (a0->f1 += 0xF) ^ (a0->f2 += 0xF);
 }
 
-// CHECK-OPT: define i64 @test_5()
+// CHECK-OPT-LABEL: define i64 @test_5()
 // CHECK-OPT:  ret i64 2
 // CHECK-OPT: }
 unsigned long long test_5() {
@@ -252,7 +252,7 @@ int f6_reload(struct s6 *a0) {
   return (a0->f0 += 0xF);
 }
 
-// CHECK-OPT: define zeroext i1 @test_6()
+// CHECK-OPT-LABEL: define zeroext i1 @test_6()
 // CHECK-OPT:  ret i1 true
 // CHECK-OPT: }
 _Bool test_6() {
@@ -310,7 +310,7 @@ int f8_reload(struct s8 *a0) {
   return (a0->f0 += 0xFD) ^ (a0->f2 += 0xFD) ^ (a0->f3 += 0xFD);
 }
 
-// CHECK-OPT: define i32 @test_8()
+// CHECK-OPT-LABEL: define i32 @test_8()
 // CHECK-OPT:  ret i32 -3
 // CHECK-OPT: }
 unsigned test_8() {
index eb342b856e4fdac33b33a33c9c40e351192a5e2a..eed023956cd3c35d0058ba6bdac8d82efad11110 100644 (file)
@@ -12,7 +12,7 @@ void test0() {
 
  a = makeAgg();
 }
-// CHECK:    define void @test0()
+// CHECK-LABEL:    define void @test0()
 // CHECK:      [[A:%.*]] = alloca [[BYREF:%.*]], align 8
 // CHECK-NEXT: [[TEMP:%.*]] = alloca [[AGG]], align 4
 // CHECK:      [[RESULT:%.*]] = call i32 @makeAgg()
@@ -37,7 +37,7 @@ void test1() {
   __block Agg a, b;
   a = b = makeAgg();
 }
-// CHECK:    define void @test1()
+// CHECK-LABEL:    define void @test1()
 // CHECK:      [[A:%.*]] = alloca [[A_BYREF:%.*]], align 8
 // CHECK-NEXT: [[B:%.*]] = alloca [[B_BYREF:%.*]], align 8
 // CHECK-NEXT: [[TEMP:%.*]] = alloca [[AGG]], align 4
index 47708e7481f7676bc808e7d6f68e216f8535138a..5871e8c2429caedc3adf44891697eef938e8858a 100644 (file)
@@ -45,7 +45,7 @@ void f3() {
 // The bool can fill in between the header and the long long.
 // Add the appropriate amount of padding between them.
 void f4_helper(long long (^)(void));
-// CHECK: define void @f4()
+// CHECK-LABEL: define void @f4()
 void f4(void) {
   _Bool b = 0;
   long long ll = 0;
@@ -60,7 +60,7 @@ struct F5 {
   char buffer[32] __attribute((aligned));
 };
 void f5_helper(void (^)(struct F5 *));
-// CHECK: define void @f5()
+// CHECK-LABEL: define void @f5()
 void f5(void) {
   struct F5 value;
   // CHECK: alloca <{ i8*, i32, i32, i8*, {{%.*}}*, [12 x i8], [[F5:%.*]] }>, align 16
index 83d83307715133245061c6bf770b3a34ae0257dd..a4aa669f16c3be2e7dc3500ddb32b7aae574b9b9 100644 (file)
@@ -8,7 +8,7 @@ void f(_Bool *x, _Bool *y) {
   *x = *y;
 }
 
-// CHECK: define void @f(
+// CHECK-LABEL: define void @f(
 // CHECK: [[FROMMEM:%.*]] = load i32* %
 // CHECK: [[BOOLVAL:%.*]] = trunc i32 [[FROMMEM]] to i1
 // CHECK: [[TOMEM:%.*]] = zext i1 [[BOOLVAL]] to i32
index 9427a8a57cdfbd8a627adb636af1f6591a70262e..47a198f2aedad613a7ce32798d7d055d9b0a89e1 100644 (file)
@@ -41,7 +41,7 @@ int res_i;
 int res_ui;
 int res_f;
 
-// CHECK: define void @test1
+// CHECK-LABEL: define void @test1
 void test1() {
 
   /* vec_abs */
@@ -333,7 +333,7 @@ void test1() {
 
 }
 
-// CHECK: define void @test2
+// CHECK-LABEL: define void @test2
 void test2() {
   /* vec_avg */
   res_vsc = vec_avg(vsc, vsc);                  // CHECK: @llvm.ppc.altivec.vavgsb
@@ -371,7 +371,7 @@ void test2() {
   res_vbi = vec_vcmpgefp(vf, vf);               // CHECK: @llvm.ppc.altivec.vcmpgefp
 }
 
-// CHECK: define void @test5
+// CHECK-LABEL: define void @test5
 void test5() {
   
   /* vec_cmpgt */
@@ -394,7 +394,7 @@ void test5() {
   res_vbi = vec_cmple(vf, vf);                  // CHECK: @llvm.ppc.altivec.vcmpgefp
 }
 
-// CHECK: define void @test6
+// CHECK-LABEL: define void @test6
 void test6() {
   /* vec_cmplt */
   res_vbc = vec_cmplt(vsc, vsc);                // CHECK: @llvm.ppc.altivec.vcmpgtsb
@@ -3055,7 +3055,7 @@ void test6() {
 }
 
 /* ------------------------------ Relational Operators ------------------------------ */
-// CHECK: define void @test7
+// CHECK-LABEL: define void @test7
 void test7() {
   vector signed char vsc1 = (vector signed char)(-1);
   vector signed char vsc2 = (vector signed char)(-2);
index 9ba12bbf2fec9627fe2d0ebf298d53a9ff199b91..39bd84c5a5a4e7442039ce1807f5ec3ce7e5dea0 100644 (file)
@@ -131,7 +131,7 @@ void foo() {
  __builtin_strcat(0, 0);
 }
 
-// CHECK: define void @bar(
+// CHECK-LABEL: define void @bar(
 void bar() {
   float f;
   double d;
@@ -167,7 +167,7 @@ void bar() {
 // CHECK: }
 
 
-// CHECK: define void @test_float_builtins
+// CHECK-LABEL: define void @test_float_builtins
 void test_float_builtins(float F, double D, long double LD) {
   volatile int res;
   res = __builtin_isinf(F);
@@ -197,7 +197,7 @@ void test_float_builtins(float F, double D, long double LD) {
   // CHECK: and i1
 }
 
-// CHECK: define void @test_builtin_longjmp
+// CHECK-LABEL: define void @test_builtin_longjmp
 void test_builtin_longjmp(void **buffer) {
   // CHECK: [[BITCAST:%.*]] = bitcast
   // CHECK-NEXT: call void @llvm.eh.sjlj.longjmp(i8* [[BITCAST]])
@@ -205,7 +205,7 @@ void test_builtin_longjmp(void **buffer) {
   // CHECK-NEXT: unreachable
 }
 
-// CHECK: define i64 @test_builtin_readcyclecounter
+// CHECK-LABEL: define i64 @test_builtin_readcyclecounter
 long long test_builtin_readcyclecounter() {
   // CHECK: call i64 @llvm.readcyclecounter()
   return __builtin_readcyclecounter();
index 4a7fc6261a0399ac6469fe5a66870f4d257243c1..04405b5cd159e880021c3676852b46ed1009a63c 100644 (file)
@@ -3,7 +3,7 @@
 typedef float float4 __attribute__((ext_vector_type(4)));
 typedef unsigned int uint4 __attribute__((ext_vector_type(4)));
 
-// CHECK: define void @clang_shufflevector_v_v(
+// CHECK-LABEL: define void @clang_shufflevector_v_v(
 void clang_shufflevector_v_v( float4* A, float4 x, uint4 mask ) {
 // CHECK: [[MASK:%.*]] = and <4 x i32> {{%.*}}, <i32 3, i32 3, i32 3, i32 3>
 // CHECK: [[I:%.*]] = extractelement <4 x i32> [[MASK]], i32 0
@@ -27,14 +27,14 @@ void clang_shufflevector_v_v( float4* A, float4 x, uint4 mask ) {
   *A = __builtin_shufflevector( x, mask );
 }
 
-// CHECK: define void @clang_shufflevector_v_v_c(
+// CHECK-LABEL: define void @clang_shufflevector_v_v_c(
 void clang_shufflevector_v_v_c( float4* A, float4 x, float4 y) {
 // CHECK: [[V:%.*]] = shufflevector <4 x float> {{%.*}}, <4 x float> {{%.*}}, <4 x i32> <i32 0, i32 4, i32 1, i32 5>
 // CHECK: store <4 x float> [[V]], <4 x float>* {{%.*}}
   *A = __builtin_shufflevector( x, y, 0, 4, 1, 5 );
 }
 
-// CHECK: define void @clang_shufflevector_v_v_undef(
+// CHECK-LABEL: define void @clang_shufflevector_v_v_undef(
 void clang_shufflevector_v_v_undef( float4* A, float4 x, float4 y) {
 // CHECK: [[V:%.*]] = shufflevector <4 x float> {{%.*}}, <4 x float> {{%.*}}, <4 x i32> <i32 0, i32 4, i32 undef, i32 5>
 // CHECK: store <4 x float> [[V]], <4 x float>* {{%.*}}
index 76cdafb5e8c5595a44f36e479d44b3262d35861f..d4b751a48bd9440ccad26a8e4f38e651a7bacced 100644 (file)
@@ -12,7 +12,7 @@ struct Test2S {
 
 // Make sure we don't generate extra memcpy for lvalues
 void test1a(struct Test1S, struct Test2S);
-// CHECK: define void @test1(
+// CHECK-LABEL: define void @test1(
 // CHECK-NOT: memcpy
 // CHECK: call void @test1a
 void test1(struct Test1S *A, struct Test2S *B) {
@@ -28,7 +28,7 @@ struct Test3S {
   int a,b,c,d,e,f,g,h,i,j,k,l;
 };
 void test2a(struct Test3S q);
-// CHECK: define void @test2(
+// CHECK-LABEL: define void @test2(
 // CHECK: alloca %struct.Test3S, align 8
 // CHECK: memcpy
 // CHECK: call void @test2a
@@ -38,7 +38,7 @@ void test2(struct Test3S *q) {
 
 // But make sure we don't generate a memcpy when we can guarantee alignment.
 void fooey(void);
-// CHECK: define void @test3(
+// CHECK-LABEL: define void @test3(
 // CHECK: alloca %struct.Test3S, align 8
 // CHECK: call void @fooey
 // CHECK-NOT: memcpy
index 60a6b019129b0b51c6c16b0d07fa0bb066b737e8..ff86619117ad7bb25d869e9c0660f376d5a73d32 100644 (file)
@@ -19,13 +19,13 @@ unsigned char align = 1;
 
 void bar(const char *);
 
-// CHECK: define void @f0()
+// CHECK-LABEL: define void @f0()
 void f0() {
   bar("hello");
   // CHECK: call void @bar({{.*}} @.str
 }
 
-// CHECK: define void @f1()
+// CHECK-LABEL: define void @f1()
 void f1() {
   static char *x = "hello";
   bar(x);
@@ -33,14 +33,14 @@ void f1() {
   // CHECK: call void @bar(i8* [[T1:%.*]])
 }
 
-// CHECK: define void @f2()
+// CHECK-LABEL: define void @f2()
 void f2() {
   static char x[] = "hello";
   bar(x);
   // CHECK: call void @bar({{.*}} @f2.x
 }
 
-// CHECK: define void @f3()
+// CHECK-LABEL: define void @f3()
 void f3() {
   static char x[8] = "hello";
   bar(x);
@@ -49,7 +49,7 @@ void f3() {
 
 void gaz(void *);
 
-// CHECK: define void @f4()
+// CHECK-LABEL: define void @f4()
 void f4() {
   static struct s {
     char *name;
index 7992948bb636d2fca5477e4ce070dc24da651485..ad004fa4b2f31f0764827be413719a760d877134 100644 (file)
@@ -6,7 +6,7 @@
 
 // This work was done in pursuit of <rdar://13338582>.
 
-// CHECK: define arm_aapcscc void @testFloat(float*
+// CHECK-LABEL: define arm_aapcscc void @testFloat(float*
 void testFloat(_Atomic(float) *fp) {
 // CHECK:      [[FP:%.*]] = alloca float*
 // CHECK-NEXT: [[X:%.*]] = alloca float
index 46d207c12e8021cf24b5f86d2dc3b92b417c7129..5c761b137498c4ef9abb04593171b81b06327d98 100644 (file)
@@ -135,7 +135,7 @@ void testandeq(void)
   s &= 42;
 }
 
-// CHECK: define arm_aapcscc void @testFloat(float*
+// CHECK-LABEL: define arm_aapcscc void @testFloat(float*
 void testFloat(_Atomic(float) *fp) {
 // CHECK:      [[FP:%.*]] = alloca float*
 // CHECK-NEXT: [[X:%.*]] = alloca float
index 86c93d0252bc4e31aa52c80c00cee748a59e9084..83695a8b734dac82bb4681184939b08c3bd7c133 100644 (file)
@@ -12,7 +12,7 @@ int main ()
     b();
 }
 
-// CHECK: define internal void @__main_block_invoke
+// CHECK-LABEL: define internal void @__main_block_invoke
 // CHECK:  [[C1:%.*]] = alloca { double, double }, align 8
 // CHECK:  [[RP:%.*]] = getelementptr inbounds { double, double }* [[C1]], i32 0, i32 0
 // CHECK-NEXT:  [[R:%.*]] = load double* [[RP]]
index aaa57a023a2ffd434c3595dadab44d8b17749e04..e35be9c149170d8f5569de218e733a623908a87a 100644 (file)
@@ -21,7 +21,7 @@ void foo(signed char sc, unsigned char uc, signed long long sll,
   _Complex unsigned char cuc1;
   _Complex signed long long csll1;
   _Complex unsigned long long cull1;
-  // CHECK: define void @foo(
+  // CHECK-LABEL: define void @foo(
   // CHECK: alloca i[[CHSIZE:[0-9]+]], align [[CHALIGN:[0-9]+]]
   // CHECK-NEXT: alloca i[[CHSIZE]], align [[CHALIGN]]
   // CHECK-NEXT: alloca i[[LLSIZE:[0-9]+]], align [[LLALIGN:[0-9]+]]
index 0daa970e760aaf2a3637ceb4c10275e9f6b7b0dd..cb84f7f49725ccf86585c72de7da4a109ed3e2b0 100644 (file)
@@ -7,6 +7,6 @@
 
 void a(int,int,int,int,int,int,__complex__ char);
 void b(__complex__ char *y) { a(0,0,0,0,0,0,*y); }
-// CHECK: define void @b
+// CHECK-LABEL: define void @b
 // CHECK: alloca { i8, i8 }*, align 8
 // CHECK: call void @a(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i16 {{.*}})
index 99c1c62b58844e6c50991a62267e322b6bfb1343..bc38e2caf21fe7182c318226d24d0d24b96dcc3f 100644 (file)
@@ -8,11 +8,11 @@ _Complex float x = { 1.0f, 1.0f/0.0f };
 // CHECK: @x = global { float, float } { float 1.000000e+00, float 0x7FF0000000000000 }, align 4
 
 _Complex float f(float x, float y) { _Complex float z = { x, y }; return z; }
-// CHECK: define <2 x float> @f
+// CHECK-LABEL: define <2 x float> @f
 // CHECK: alloca { float, float }
 // CHECK: alloca { float, float }
 
 _Complex float f2(float x, float y) { return (_Complex float){ x, y }; }
-// CHECK: define <2 x float> @f2
+// CHECK-LABEL: define <2 x float> @f2
 // CHECK: alloca { float, float }
 // CHECK: alloca { float, float }
index e4bf962e12ad187c74757887047c721cbd6552a6..458a78e1984b610f5acbe58f4401d9860dee7627 100644 (file)
@@ -12,7 +12,7 @@ struct s {int a, b, c;} * b = &(struct s) {1, 2, 3};
 _Complex double * x = &(_Complex double){1.0f};
 }
 
-// CHECK: define void @f()
+// CHECK-LABEL: define void @f()
 void f() {
   typedef struct S { int x,y; } S;
   // CHECK: [[S:%[a-zA-Z0-9.]+]] = alloca [[STRUCT:%[a-zA-Z0-9.]+]],
@@ -33,7 +33,7 @@ void f() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define i48 @g(
+// CHECK-LABEL: define i48 @g(
 struct G { short x, y, z; };
 struct G g(int x, int y, int z) {
   // CHECK:      [[RESULT:%.*]] = alloca [[G:%.*]], align 2
index 25b7c10ad10fd07906d4ef83d304dcea6f0ce81d..12e266640818ba972c21c861ca9b9ac6b016924b 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -emit-llvm %s -o %t
 
-// Note: define CLANG_GENERATE_KNOWN_GOOD and compile to generate code
+// Note-LABEL: define CLANG_GENERATE_KNOWN_GOOD and compile to generate code
 // that makes all of the defaulted arguments explicit. The resulting
 // byte code should be identical to the compilation without
 // CLANG_GENERATE_KNOWN_GOOD.
index 2c0fc4fc3b174327c25558426b5f95a4d142141f..15efa6551bc38b707da2ae811b5b1ebb756d74b1 100644 (file)
@@ -2,13 +2,13 @@
 
 const int AA = 5;
 
-// CHECK: define i32 @f1
+// CHECK-LABEL: define i32 @f1
 int f1(enum {AA,BB} E) {
     // CHECK: ret i32 1
     return BB;
 }
 
-// CHECK: define i32 @f2
+// CHECK-LABEL: define i32 @f2
 int f2(enum {AA=7,BB} E) {
     // CHECK: ret i32 7
     return AA;
index c187503c5cfa8831282ae923316639f374bb072f..e70ac03f04c75f15ca071acca40d45e5a9f80be3 100644 (file)
@@ -2,11 +2,11 @@
 
 void __attribute__((dllimport)) foo1();
 void __attribute__((dllexport)) foo1(){}
-// CHECK: define dllexport void @foo1
+// CHECK-LABEL: define dllexport void @foo1
 void __attribute__((dllexport)) foo2();
 
 // PR6269
 __declspec(dllimport) void foo3();
 __declspec(dllexport) void foo3(){}
-// CHECK: define dllexport void @foo3
+// CHECK-LABEL: define dllexport void @foo3
 __declspec(dllexport) void foo4();
index 311bc84e6a166cbaa45de6f6761f203b4804013d..ae0af4dd9d84a1312d0429163512acdfbd768ae5 100644 (file)
@@ -5,8 +5,8 @@
 void test1() {
   extern void test1_helper(void (^)(int));
 
-  // CHECK:     define void @test1()
-  // CHECK-ARM: define arm_aapcscc void @test1()
+  // CHECK-LABEL:     define void @test1()
+  // CHECK-ARM-LABEL: define arm_aapcscc void @test1()
 
   __block int x = 10;
 
index f8f28330ab7741a83253ac169116645376eac612..2a2216946b25dfbaa841fa1bbbe5f8b21c636cfe 100644 (file)
@@ -121,7 +121,7 @@ void f10() {
 }
 
 // rdar://7530813
-// CHECK: define i32 @f11
+// CHECK-LABEL: define i32 @f11
 int f11(long X) {
   int A[100];
   return A[X];
@@ -134,14 +134,14 @@ int f11(long X) {
 
 int f12() {
   // PR3150
-  // CHECK: define i32 @f12
+  // CHECK-LABEL: define i32 @f12
   // CHECK: ret i32 1
   return 1||1;
 }
 
 // Make sure negate of fp uses -0.0 for proper -0 handling.
 double f13(double X) {
-  // CHECK: define double @f13
+  // CHECK-LABEL: define double @f13
   // CHECK: fsub double -0.0
   return -X;
 }
@@ -151,7 +151,7 @@ void f14(struct s14 *a) {
   (void) &*a;
 }
 
-// CHECK: define void @f15
+// CHECK-LABEL: define void @f15
 void f15() {
   extern void f15_start(void);
   f15_start();
@@ -168,7 +168,7 @@ void f15() {
 }
 
 // PR8967: this was crashing
-// CHECK: define void @f16()
+// CHECK-LABEL: define void @f16()
 void f16() {
   __extension__({ goto lbl; });
  lbl:
@@ -176,7 +176,7 @@ void f16() {
 }
 
 // PR13704: negative increment in i128 is not preserved.
-// CHECK: define void @f17()
+// CHECK-LABEL: define void @f17()
 void f17() {
   extern void extfunc(__int128);
   __int128 x = 2;
index 76cfbbd3654863dbe08e2f0f7cbb6c783f7ca23e..4a513589ef4c14a3193922a77f3158a34d7a10c7 100644 (file)
@@ -2,7 +2,7 @@
 float f0, f1, f2;
 
 void foo(void) {
-  // CHECK: define void @foo()
+  // CHECK-LABEL: define void @foo()
 
   // CHECK: fadd fast
   f0 = f1 + f2;
index bf39cea42cea38b2905175e29c92f8c50ae7f67a..b0ee15759a5d87ba7228a41288b5185669bd1d93 100644 (file)
@@ -2,7 +2,7 @@
 float f0, f1, f2;
 
 void foo(void) {
-  // CHECK: define void @foo()
+  // CHECK-LABEL: define void @foo()
 
   // CHECK: fadd nnan ninf
   f0 = f1 + f2;
index e506513306701f3d338f0a8d40e42b27fc01a823..a848ed16bd8a0a90609591e9b26c257e5f600462 100644 (file)
@@ -7,7 +7,7 @@ volatile __fp16 h0 = 0.0, h1 = 1.0, h2;
 volatile float f0, f1, f2;
 
 void foo(void) {
-  // CHECK: define void @foo()
+  // CHECK-LABEL: define void @foo()
 
   // Check unary ops
 
index 14ecac5d6bbb1672e4e628fd19adcdffb7377c8b..efc30034e00259d342ce47df63eab7deab1af187 100644 (file)
@@ -10,17 +10,17 @@ int X;
 struct frk F;
 float _Complex C;
 
-// CHECK: define void @bar
+// CHECK-LABEL: define void @bar
 void bar(void) {
   X = foo().f.f.x;
 }
 
-// CHECK: define void @bun
+// CHECK-LABEL: define void @bun
 void bun(void) {
   F = foo().f.f;
 }
 
-// CHECK: define void @ban
+// CHECK-LABEL: define void @ban
 void ban(void) {
   C = foo().f.f.c;
 }
index 25ca9163a19178632a38c18a093c2a6e3e93a3d4..47a0568355719d09d6f53fdd7736d658b46b5748 100644 (file)
@@ -24,7 +24,7 @@ void f6(signed short x) { }
 
 void f7(unsigned short x) { }
 
-// CHECK: define void @f8()
+// CHECK-LABEL: define void @f8()
 // CHECK: [[AI:#[0-9]+]]
 // CHECK: {
 void __attribute__((always_inline)) f8(void) { }
@@ -61,7 +61,7 @@ void f13(void){}
 
 
 // Ensure that these get inlined: rdar://6853279
-// CHECK: define void @f14
+// CHECK-LABEL: define void @f14
 // CHECK-NOT: @ai_
 // CHECK: call void @f14_end
 static __inline__ __attribute__((always_inline))
@@ -81,21 +81,21 @@ void f14(int a) {
 }
 
 // <rdar://problem/7102668> [irgen] clang isn't setting the optsize bit on functions
-// CHECK: define void @f15
+// CHECK-LABEL: define void @f15
 // CHECK: [[NUW]]
 // CHECK: {
 void f15(void) {
 }
 
 // PR5254
-// CHECK: define void @f16
+// CHECK-LABEL: define void @f16
 // CHECK: [[ALIGN:#[0-9]+]]
 // CHECK: {
 void __attribute__((force_align_arg_pointer)) f16(void) {
 }
 
 // PR11038
-// CHECK: define void @f18()
+// CHECK-LABEL: define void @f18()
 // CHECK: [[RT:#[0-9]+]]
 // CHECK: {
 // CHECK: call void @f17()
@@ -106,7 +106,7 @@ __attribute__ ((returns_twice)) void f18(void) {
         f17();
 }
 
-// CHECK: define void @f19()
+// CHECK-LABEL: define void @f19()
 // CHECK: {
 // CHECK: call i32 @setjmp(i32* null)
 // CHECK: [[RT_CALL]]
index 8241a3d1674a69cb888a3af736e5082134262e17..55f2d5f35ce3907adbad9aa7387ab3bdb84eb4a8 100644 (file)
@@ -20,14 +20,14 @@ int a(int);
 int a() {return 1;}
 
 void f0() {}
-// CHECK: define void @f0()
+// CHECK-LABEL: define void @f0()
 
 void f1();
 void f2(void) {
 // CHECK: call void @f1()
   f1(1, 2, 3);
 }
-// CHECK: define void @f1()
+// CHECK-LABEL: define void @f1()
 void f1() {}
 
 // CHECK: define {{.*}} @f3{{\(\)|\(.*sret.*\)}}
@@ -54,7 +54,7 @@ void f8_callback(struct Incomplete);
 void f8_user(void (*callback)(struct Incomplete));
 void f8_test() {
   f8_user(&f8_callback);
-// CHECK: define void @f8_test()
+// CHECK-LABEL: define void @f8_test()
 // CHECK: call void @f8_user({{.*}}* bitcast (void ()* @f8_callback to {{.*}}*))
 // CHECK: declare void @f8_user({{.*}}*)
 // CHECK: declare void @f8_callback()
index b6309472a5bcbb548122eed5476f2d743bb6ca64..fc216dae4a71081eb041cd7c87e592333d47c104 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s | FileCheck %s
 // CHECK: ModuleID
 // CHECK-NOT: opaque
-// CHECK: define void @f0
+// CHECK-LABEL: define void @f0
 
 enum teste1 test1f(void), (*test1)(void) = test1f;
 struct tests2 test2f(), (*test2)() = test2f;
index c1a7f0fbae2681b37eb6b453912f4cccf6bde0bb..b6957359eb7a9c2d3d0abd0af12f3d98e3ee5438 100644 (file)
@@ -1,64 +1,64 @@
 // RUN: echo "GNU89 tests:"
 // RUN: %clang %s -target i386-unknown-unknown -O1 -emit-llvm -S -o - -std=gnu89 | FileCheck %s --check-prefix=CHECK1
-// CHECK1: define i32 @foo()
-// CHECK1: define i32 @bar()
-// CHECK1: define void @unreferenced1()
+// CHECK1-LABEL: define i32 @foo()
+// CHECK1-LABEL: define i32 @bar()
+// CHECK1-LABEL: define void @unreferenced1()
 // CHECK1-NOT: unreferenced2
-// CHECK1: define void @gnu_inline()
-// CHECK1: define i32 @test1
-// CHECK1: define i32 @test2
-// CHECK1: define void @test3()
-// CHECK1: define available_externally i32 @test4
-// CHECK1: define available_externally i32 @test5
-// CHECK1: define i32 @test6
-// CHECK1: define void @test7
+// CHECK1-LABEL: define void @gnu_inline()
+// CHECK1-LABEL: define i32 @test1
+// CHECK1-LABEL: define i32 @test2
+// CHECK1-LABEL: define void @test3()
+// CHECK1-LABEL: define available_externally i32 @test4
+// CHECK1-LABEL: define available_externally i32 @test5
+// CHECK1-LABEL: define i32 @test6
+// CHECK1-LABEL: define void @test7
 // CHECK1: define i{{..}} @strlcpy
 // CHECK1-NOT: test9
-// CHECK1: define void @testA
-// CHECK1: define void @testB
-// CHECK1: define void @testC
-// CHECK1: define available_externally void @gnu_ei_inline()
-// CHECK1: define available_externally i32 @ei()
+// CHECK1-LABEL: define void @testA
+// CHECK1-LABEL: define void @testB
+// CHECK1-LABEL: define void @testC
+// CHECK1-LABEL: define available_externally void @gnu_ei_inline()
+// CHECK1-LABEL: define available_externally i32 @ei()
 
 // RUN: echo "C99 tests:"
 // RUN: %clang %s -target i386-unknown-unknown -O1 -emit-llvm -S -o - -std=gnu99 | FileCheck %s --check-prefix=CHECK2
-// CHECK2: define i32 @ei()
-// CHECK2: define i32 @bar()
+// CHECK2-LABEL: define i32 @ei()
+// CHECK2-LABEL: define i32 @bar()
 // CHECK2-NOT: unreferenced1
-// CHECK2: define void @unreferenced2()
-// CHECK2: define void @gnu_inline()
-// CHECK2: define i32 @test1
-// CHECK2: define i32 @test2
-// CHECK2: define void @test3
-// CHECK2: define available_externally i32 @test4
-// CHECK2: define available_externally i32 @test5
-// CHECK2: define i32 @test6
-// CHECK2: define void @test7
+// CHECK2-LABEL: define void @unreferenced2()
+// CHECK2-LABEL: define void @gnu_inline()
+// CHECK2-LABEL: define i32 @test1
+// CHECK2-LABEL: define i32 @test2
+// CHECK2-LABEL: define void @test3
+// CHECK2-LABEL: define available_externally i32 @test4
+// CHECK2-LABEL: define available_externally i32 @test5
+// CHECK2-LABEL: define i32 @test6
+// CHECK2-LABEL: define void @test7
 // CHECK2: define available_externally i{{..}} @strlcpy
-// CHECK2: define void @test9
-// CHECK2: define void @testA
-// CHECK2: define void @testB
-// CHECK2: define void @testC
-// CHECK2: define available_externally void @gnu_ei_inline()
-// CHECK2: define available_externally i32 @foo()
+// CHECK2-LABEL: define void @test9
+// CHECK2-LABEL: define void @testA
+// CHECK2-LABEL: define void @testB
+// CHECK2-LABEL: define void @testC
+// CHECK2-LABEL: define available_externally void @gnu_ei_inline()
+// CHECK2-LABEL: define available_externally i32 @foo()
 
 // RUN: echo "C++ tests:"
 // RUN: %clang -x c++ %s -target i386-unknown-unknown -O1 -emit-llvm -S -o - -std=c++98 | FileCheck %s --check-prefix=CHECK3
-// CHECK3: define i32 @_Z3barv()
-// CHECK3: define linkonce_odr i32 @_Z3foov()
+// CHECK3-LABEL: define i32 @_Z3barv()
+// CHECK3-LABEL: define linkonce_odr i32 @_Z3foov()
 // CHECK3-NOT: unreferenced
-// CHECK3: define void @_Z10gnu_inlinev()
-// CHECK3: define available_externally void @_Z13gnu_ei_inlinev()
-// CHECK3: define linkonce_odr i32 @_Z2eiv()
+// CHECK3-LABEL: define void @_Z10gnu_inlinev()
+// CHECK3-LABEL: define available_externally void @_Z13gnu_ei_inlinev()
+// CHECK3-LABEL: define linkonce_odr i32 @_Z2eiv()
 
 // RUN: echo "MS C Mode tests:"
 // RUN: %clang %s -target i386-unknown-unknown -O1 -emit-llvm -S -o - -std=c99 -fms-compatibility | FileCheck %s --check-prefix=CHECK4
-// CHECK4: define i32 @bar()
-// CHECK4: define void @gnu_inline()
-// CHECK4: define available_externally void @gnu_ei_inline()
-// CHECK4: define linkonce_odr i32 @foo()
+// CHECK4-LABEL: define i32 @bar()
+// CHECK4-LABEL: define void @gnu_inline()
+// CHECK4-LABEL: define available_externally void @gnu_ei_inline()
+// CHECK4-LABEL: define linkonce_odr i32 @foo()
 // CHECK4-NOT: unreferenced
-// CHECK4: define linkonce_odr i32 @ei()
+// CHECK4-LABEL: define linkonce_odr i32 @ei()
 
 extern __inline int ei() { return 123; }
 
index 067258a301b4b4e54ccf359df2df79bb393352bf..670ae201f9bae76d2d579c53fa55c486125c94af 100644 (file)
@@ -1,60 +1,60 @@
 // RUN: %clang_cc1 -O1 -std=gnu89 -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix CHECK-GNU89 %s
 // RUN: %clang_cc1 -O1 -std=c99 -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix CHECK-C99 %s
 
-// CHECK-GNU89: define i32 @f0()
-// CHECK-C99: define i32 @f0()
+// CHECK-GNU89-LABEL: define i32 @f0()
+// CHECK-C99-LABEL: define i32 @f0()
 int f0(void);
 int f0(void) { return 0; }
 
-// CHECK-GNU89: define i32 @f1()
-// CHECK-C99: define i32 @f1()
+// CHECK-GNU89-LABEL: define i32 @f1()
+// CHECK-C99-LABEL: define i32 @f1()
 inline int f1(void);
 int f1(void) { return 0; }
 
-// CHECK-GNU89: define i32 @f2()
-// CHECK-C99: define i32 @f2()
+// CHECK-GNU89-LABEL: define i32 @f2()
+// CHECK-C99-LABEL: define i32 @f2()
 int f2(void);
 inline int f2(void) { return 0; }
 
-// CHECK-GNU89: define i32 @f3()
-// CHECK-C99: define i32 @f3()
+// CHECK-GNU89-LABEL: define i32 @f3()
+// CHECK-C99-LABEL: define i32 @f3()
 extern inline int f3(void);
 int f3(void) { return 0; }
 
-// CHECK-GNU89: define i32 @f5()
-// CHECK-C99: define i32 @f5()
+// CHECK-GNU89-LABEL: define i32 @f5()
+// CHECK-C99-LABEL: define i32 @f5()
 extern inline int f5(void);
 inline int f5(void) { return 0; }
 
-// CHECK-GNU89: define i32 @f6()
-// CHECK-C99: define i32 @f6()
+// CHECK-GNU89-LABEL: define i32 @f6()
+// CHECK-C99-LABEL: define i32 @f6()
 inline int f6(void);
 extern inline int f6(void) { return 0; }
 
-// CHECK-GNU89: define i32 @f7()
-// CHECK-C99: define i32 @f7()
+// CHECK-GNU89-LABEL: define i32 @f7()
+// CHECK-C99-LABEL: define i32 @f7()
 extern inline int f7(void);
 extern int f7(void) { return 0; }
 
-// CHECK-GNU89: define i32 @fA()
+// CHECK-GNU89-LABEL: define i32 @fA()
 inline int fA(void) { return 0; }
 
-// CHECK-GNU89: define available_externally i32 @f4()
-// CHECK-C99: define i32 @f4()
+// CHECK-GNU89-LABEL: define available_externally i32 @f4()
+// CHECK-C99-LABEL: define i32 @f4()
 int f4(void);
 extern inline int f4(void) { return 0; }
 
-// CHECK-GNU89: define available_externally i32 @f8()
-// CHECK-C99: define i32 @f8()
+// CHECK-GNU89-LABEL: define available_externally i32 @f8()
+// CHECK-C99-LABEL: define i32 @f8()
 extern int f8(void);
 extern inline int f8(void) { return 0; }
 
-// CHECK-GNU89: define available_externally i32 @f9()
-// CHECK-C99: define i32 @f9()
+// CHECK-GNU89-LABEL: define available_externally i32 @f9()
+// CHECK-C99-LABEL: define i32 @f9()
 extern inline int f9(void);
 extern inline int f9(void) { return 0; }
 
-// CHECK-C99: define available_externally i32 @fA()
+// CHECK-C99-LABEL: define available_externally i32 @fA()
 
 int test_all() { 
   return f0() + f1() + f2() + f3() + f4() + f5() + f6() + f7() + f8() + f9() 
index ed2dede7814c7c69938b839874a5abbef43b7a77..a007960dec83f851ae3e8269bf165725ab98a208 100644 (file)
@@ -8,9 +8,9 @@
 // Tests for signed integer overflow stuff.
 // rdar://7432000 rdar://7221421
 void test1() {
-  // DEFAULT: define void @test1
-  // WRAPV: define void @test1
-  // TRAPV: define void @test1
+  // DEFAULT-LABEL: define void @test1
+  // WRAPV-LABEL: define void @test1
+  // TRAPV-LABEL: define void @test1
   extern volatile int f11G, a, b;
   
   // DEFAULT: add nsw i32
index 2cbbc0fbea4502e774c6470354156c3760fb4988..d26640e6927ab77c24cc96d3f7c9b66f56b4563f 100644 (file)
@@ -2,7 +2,7 @@
 
 // Basic argument/attribute tests for le32/PNaCl
 
-// CHECK: define void @f0(i32 %i, i32 %j, double %k)
+// CHECK-LABEL: define void @f0(i32 %i, i32 %j, double %k)
 void f0(int i, long j, double k) {}
 
 typedef struct {
@@ -10,27 +10,27 @@ typedef struct {
   int bb;
 } s1;
 // Structs should be passed byval and not split up
-// CHECK: define void @f1(%struct.s1* byval %i)
+// CHECK-LABEL: define void @f1(%struct.s1* byval %i)
 void f1(s1 i) {}
 
 typedef struct {
   int cc;
 } s2;
 // Structs should be returned sret and not simplified by the frontend
-// CHECK: define void @f2(%struct.s2* noalias sret %agg.result)
+// CHECK-LABEL: define void @f2(%struct.s2* noalias sret %agg.result)
 s2 f2() {
   s2 foo;
   return foo;
 }
 
-// CHECK: define void @f3(i64 %i)
+// CHECK-LABEL: define void @f3(i64 %i)
 void f3(long long i) {}
 
 // i8/i16 should be signext, i32 and higher should not
-// CHECK: define void @f4(i8 signext %a, i16 signext %b)
+// CHECK-LABEL: define void @f4(i8 signext %a, i16 signext %b)
 void f4(char a, short b) {}
 
-// CHECK: define void @f5(i8 zeroext %a, i16 zeroext %b)
+// CHECK-LABEL: define void @f5(i8 zeroext %a, i16 zeroext %b)
 void f5(unsigned char a, unsigned short b) {}
 
 
@@ -40,7 +40,7 @@ enum my_enum {
   ENUM3,
 };
 // Enums should be treated as the underlying i32
-// CHECK: define void @f6(i32 %a)
+// CHECK-LABEL: define void @f6(i32 %a)
 void f6(enum my_enum a) {}
 
 union simple_union {
@@ -48,7 +48,7 @@ union simple_union {
   char b;
 };
 // Unions should be passed as byval structs
-// CHECK: define void @f7(%union.simple_union* byval %s)
+// CHECK-LABEL: define void @f7(%union.simple_union* byval %s)
 void f7(union simple_union s) {}
 
 typedef struct {
@@ -57,5 +57,5 @@ typedef struct {
   int b8 : 8;
 } bitfield1;
 // Bitfields should be passed as byval structs
-// CHECK: define void @f8(%struct.bitfield1* byval %bf1)
+// CHECK-LABEL: define void @f8(%struct.bitfield1* byval %bf1)
 void f8(bitfield1 bf1) {}
index 24a1bbc38c4e4711a451a6cc328622e114049772..1b8a7a33a562e2746fc31686d34d31050dcef5e7 100644 (file)
@@ -9,7 +9,7 @@ float powf(float, float);
 double pow(double, double);
 long double powl(long double, long double);
 
-// CHECK: define void @test_pow
+// CHECK-LABEL: define void @test_pow
 void test_pow(float a0, double a1, long double a2) {
   // CHECK: call float @powf
   float l0 = powf(a0, a0);
index 29d82db65a99066c0764edb31d200763f8d6f02d..520b79b146a179579f18a60a2796ea91902dd007 100644 (file)
@@ -1,8 +1,8 @@
 // RUN: %clang_cc1 -fmath-errno -emit-llvm -o - %s -triple i386-unknown-unknown | FileCheck -check-prefix CHECK-YES %s
 // RUN: %clang_cc1 -emit-llvm -o - %s -triple i386-unknown-unknown | FileCheck -check-prefix CHECK-NO %s
 
-// CHECK-YES: define void @test_sqrt
-// CHECK-NO: define void @test_sqrt
+// CHECK-YES-LABEL: define void @test_sqrt
+// CHECK-NO-LABEL: define void @test_sqrt
 void test_sqrt(float a0, double a1, long double a2) {
   // Following llvm-gcc's lead, we never emit these as intrinsics;
   // no-math-errno isn't good enough.  We could probably use intrinsics
@@ -28,8 +28,8 @@ void test_sqrt(float a0, double a1, long double a2) {
 // CHECK-NO: declare double @sqrt(double) [[NUW_RN]]
 // CHECK-NO: declare x86_fp80 @sqrtl(x86_fp80) [[NUW_RN]]
 
-// CHECK-YES: define void @test_pow
-// CHECK-NO: define void @test_pow
+// CHECK-YES-LABEL: define void @test_pow
+// CHECK-NO-LABEL: define void @test_pow
 void test_pow(float a0, double a1, long double a2) {
   // CHECK-YES: call float @powf
   // CHECK-NO: call float @llvm.pow.f32
@@ -51,8 +51,8 @@ void test_pow(float a0, double a1, long double a2) {
 // CHECK-NO: declare double @llvm.pow.f64(double, double) [[NUW_RO]]
 // CHECK-NO: declare x86_fp80 @llvm.pow.f80(x86_fp80, x86_fp80) [[NUW_RO]]
 
-// CHECK-YES: define void @test_fma
-// CHECK-NO: define void @test_fma
+// CHECK-YES-LABEL: define void @test_fma
+// CHECK-NO-LABEL: define void @test_fma
 void test_fma(float a0, double a1, long double a2) {
     // CHECK-YES: call float @llvm.fma.f32
     // CHECK-NO: call float @llvm.fma.f32
index 7b2bfd6e66447594f149fc452551b12decdb0975..cf9493f988ae7ca071a154a8bd95588cad0be7fb 100644 (file)
@@ -13,12 +13,12 @@ int f(void) {
 
 #else
 
-// CHECK-NO-BC: define i32 @g
+// CHECK-NO-BC-LABEL: define i32 @g
 // CHECK-NO-BC: ret i32 42
 int g(void) {
   return f();
 }
 
-// CHECK-NO-BC: define i32 @f
+// CHECK-NO-BC-LABEL: define i32 @f
 
 #endif
index 14112fe3a0a8a714e6e9ff69d048580c8e1a9ed4..58993f349f816581bcbf5c35095abdacba9fac08 100644 (file)
@@ -16,4 +16,4 @@ void g0() {
 }
 
 extern void f(int x) { } // still has internal linkage
-// CHECK: define internal void @f
+// CHECK-LABEL: define internal void @f
index 175129cb6a2a58da092a48de3ff6ecf5d41f1f13..cec381a06b9bb9ad971802e19a98f517c874c5da 100644 (file)
@@ -3,5 +3,5 @@
 long double x = 0;
 int checksize[sizeof(x) == 8 ? 1 : -1];
 
-// CHECK: define void @s1(double %a)
+// CHECK-LABEL: define void @s1(double %a)
 void s1(long double a) {}
index 97a1d99d6b6dbf65a9d67442a65177ece2bbc185..6475dfa2936da643b09a6d6c9bfcdae430e2b3a2 100644 (file)
@@ -3,12 +3,12 @@
 void __fastcall f1(void);
 void __stdcall f2(void);
 void __fastcall f4(void) {
-// CHECK: define void @f4()
+// CHECK-LABEL: define void @f4()
   f1();
 // CHECK: call void @f1()
 }
 void __stdcall f5(void) {
-// CHECK: define void @f5()
+// CHECK-LABEL: define void @f5()
   f2();
 // CHECK: call void @f2()
 }
index 64d10fb4f4ffec445a59448b111084f0f9b3c3f6..1f8bd7318eb8dc2e7411181ed7473b31a75c642d 100644 (file)
@@ -4,17 +4,17 @@ void __fastcall f1(void);
 void __stdcall f2(void);
 void __thiscall f3(void);
 void __fastcall f4(void) {
-// CHECK: define x86_fastcallcc void @f4()
+// CHECK-LABEL: define x86_fastcallcc void @f4()
   f1();
 // CHECK: call x86_fastcallcc void @f1()
 }
 void __stdcall f5(void) {
-// CHECK: define x86_stdcallcc void @f5()
+// CHECK-LABEL: define x86_stdcallcc void @f5()
   f2();
 // CHECK: call x86_stdcallcc void @f2()
 }
 void __thiscall f6(void) {
-// CHECK: define x86_thiscallcc void @f6()
+// CHECK-LABEL: define x86_thiscallcc void @f6()
   f3();
 // CHECK: call x86_thiscallcc void @f3()
 }
index 41ccd60e8f3efa2ffa9f3183562d138424235165..589e85ef9dd1f1960629b2488b1059f0c24dd50c 100644 (file)
@@ -7,8 +7,8 @@ typedef struct {
 
 extern void foo2(S0);
 
-// O32: define void @foo1(i32 %a0.coerce0, i32 %a0.coerce1, i32 %a0.coerce2)
-// N64: define void @foo1(i64 %a0.coerce0, i32 %a0.coerce1)
+// O32-LABEL: define void @foo1(i32 %a0.coerce0, i32 %a0.coerce1, i32 %a0.coerce2)
+// N64-LABEL: define void @foo1(i64 %a0.coerce0, i32 %a0.coerce1)
 
 void foo1(S0 a0) {
   foo2(a0);
index 0bff9696900012190b82ea0e5a287f6f5caed212..a7c8ce157c84119a072c73c19f2a60a25d497f8c 100644 (file)
@@ -8,14 +8,14 @@ typedef float  v4sf __attribute__ ((__vector_size__ (16)));
 typedef double v4df __attribute__ ((__vector_size__ (32)));
 typedef int v4i32 __attribute__ ((__vector_size__ (16)));
 
-// O32: define void @test_v4sf(<4 x float>* noalias nocapture sret
+// O32-LABEL: define void @test_v4sf(<4 x float>* noalias nocapture sret
 // N64: define { i64, i64 } @test_v4sf
 v4sf test_v4sf(float a) {
   return (v4sf){0.0f, a, 0.0f, 0.0f};
 }
 
-// O32: define void @test_v4df(<4 x double>* noalias nocapture sret
-// N64: define void @test_v4df(<4 x double>* noalias nocapture sret
+// O32-LABEL: define void @test_v4df(<4 x double>* noalias nocapture sret
+// N64-LABEL: define void @test_v4df(<4 x double>* noalias nocapture sret
 v4df test_v4df(double a) {
   return (v4df){0.0, a, 0.0, 0.0};
 }
index 2a786df3effac420b7345183d01b6ef648c7d5a5..a473c13195507b782febe498d9979042fce8f364 100644 (file)
@@ -34,12 +34,12 @@ D1 foo2(void) {
   return gd1;
 }
 
-// CHECK: define void @_Z4foo32D2(i64 %a0.coerce0, double %a0.coerce1) 
+// CHECK-LABEL: define void @_Z4foo32D2(i64 %a0.coerce0, double %a0.coerce1) 
 void foo3(D2 a0) {
   gd2 = a0;
 }
 
-// CHECK: define void @_Z4foo42D0(i64 %a0.coerce0, i64 %a0.coerce1)
+// CHECK-LABEL: define void @_Z4foo42D0(i64 %a0.coerce0, i64 %a0.coerce1)
 void foo4(D0 a0) {
   gd0 = a0;
 }
index 85dc00c905905ddb726929d53e5637d5be597e5a..b2403b2b778c0f8f85c971027e2231e9e8ab8a7a 100644 (file)
@@ -8,7 +8,7 @@ typedef struct {
 
 // Insert padding to ensure arguments of type S0 are aligned to 16-byte boundaries.
 
-// N64: define void @foo1(i32 %a0, i64, double %a1.coerce0, i64 %a1.coerce1, i64 %a1.coerce2, i64 %a1.coerce3, double %a2.coerce0, i64 %a2.coerce1, i64 %a2.coerce2, i64 %a2.coerce3, i32 %b, i64, double %a3.coerce0, i64 %a3.coerce1, i64 %a3.coerce2, i64 %a3.coerce3)
+// N64-LABEL: define void @foo1(i32 %a0, i64, double %a1.coerce0, i64 %a1.coerce1, i64 %a1.coerce2, i64 %a1.coerce3, double %a2.coerce0, i64 %a2.coerce1, i64 %a2.coerce2, i64 %a2.coerce3, i32 %b, i64, double %a3.coerce0, i64 %a3.coerce1, i64 %a3.coerce2, i64 %a3.coerce3)
 // N64: tail call void @foo2(i32 1, i32 2, i32 %a0, i64 undef, double %a1.coerce0, i64 %a1.coerce1, i64 %a1.coerce2, i64 %a1.coerce3, double %a2.coerce0, i64 %a2.coerce1, i64 %a2.coerce2, i64 %a2.coerce3, i32 3, i64 undef, double %a3.coerce0, i64 %a3.coerce1, i64 %a3.coerce2, i64 %a3.coerce3)
 // N64: declare void @foo2(i32, i32, i32, i64, double, i64, i64, i64, double, i64, i64, i64, i32, i64, double, i64, i64, i64)
 
@@ -20,7 +20,7 @@ void foo1(int a0, S0 a1, S0 a2, int b, S0 a3) {
 
 // Insert padding before long double argument.
 //
-// N64: define void @foo3(i32 %a0, i64, fp128 %a1)
+// N64-LABEL: define void @foo3(i32 %a0, i64, fp128 %a1)
 // N64: tail call void @foo4(i32 1, i32 2, i32 %a0, i64 undef, fp128 %a1)
 // N64: declare void @foo4(i32, i32, i32, i64, fp128)
 
@@ -32,7 +32,7 @@ void foo3(int a0, long double a1) {
 
 // Insert padding after hidden argument.
 //
-// N64: define void @foo5(%struct.S0* noalias sret %agg.result, i64, fp128 %a0)
+// N64-LABEL: define void @foo5(%struct.S0* noalias sret %agg.result, i64, fp128 %a0)
 // N64: call void @foo6(%struct.S0* sret %agg.result, i32 1, i32 2, i64 undef, fp128 %a0)
 // N64: declare void @foo6(%struct.S0* sret, i32, i32, i64, fp128)
 
@@ -44,7 +44,7 @@ S0 foo5(long double a0) {
 
 // Do not insert padding if ABI is O32.
 //
-// O32: define void @foo7(float %a0, double %a1)
+// O32-LABEL: define void @foo7(float %a0, double %a1)
 // O32: declare void @foo8(float, double)
 
 extern void foo8(float, double);
index 8b9109d0194bf193388052f9e8acdd77682d5673..cd182a1d5577f73a60c50dc7f7683250131e7345 100644 (file)
@@ -39,7 +39,7 @@ void t2() {
 // CHECK: call void asm sideeffect inteldialect "mov eax, $0", "r,~{eax},~{dirflag},~{fpsr},~{flags}"(i32** @_ZN3Foo3Bar3ptrE)
 }
 
-// CHECK: define void @_Z2t3v()
+// CHECK-LABEL: define void @_Z2t3v()
 void t3() {
   __asm mov eax, LENGTH Foo::ptr
 // CHECK: call void asm sideeffect inteldialect "mov eax, $$1", "~{eax},~{dirflag},~{fpsr},~{flags}"()
@@ -76,7 +76,7 @@ struct T4 {
   void test();
 };
 
-// CHECK: define void @_ZN2T44testEv(
+// CHECK-LABEL: define void @_ZN2T44testEv(
 void T4::test() {
 // CHECK: [[T0:%.*]] = alloca [[T4:%.*]]*,
 // CHECK: [[THIS:%.*]] = load [[T4]]** [[T0]]
@@ -91,7 +91,7 @@ template <class T> struct T5 {
   template <class U> static T create(U);
   void run();
 };
-// CHECK: define void @_Z5test5v()
+// CHECK-LABEL: define void @_Z5test5v()
 void test5() {
   // CHECK: [[X:%.*]] = alloca i32
   // CHECK: [[Y:%.*]] = alloca i32
index 0fab3632805fa97807f14b3df8d6ae31a3211c15..c78fcd829933cb15b6a53d5884d5c15578434965 100644 (file)
@@ -14,7 +14,7 @@ void foo (void) {
   gs = gs;
   ls = gs;
 }
-// CHECK: define void @foo()
+// CHECK-LABEL: define void @foo()
 // CHECK: %[[LS:.*]] = alloca %struct.s, align 4
 // CHECK-NEXT: %[[ZERO:.*]] = bitcast %struct.s* %[[LS]] to i8*
 // CHECK-NEXT: %[[ONE:.*]] = bitcast %struct.s* %[[LS]] to i8*
@@ -34,7 +34,7 @@ void fee (void) {
   s = s;
   s.y = gs;
 }
-// CHECK: define void @fee()
+// CHECK-LABEL: define void @fee()
 // CHECK: call void @llvm.memcpy.{{.*}}(i8* getelementptr inbounds (%struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i8* getelementptr inbounds (%struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i64 132, i32 4, i1 true)
 // CHECK-NEXT: call void @llvm.memcpy.{{.*}}(i8* getelementptr inbounds (%struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i8* getelementptr inbounds (%struct.s* @gs, i32 0, i32 0, i32 0), i64 132, i32 4, i1 true)
 
index f6c7db835bf3b681f79e6680661c4350219197e1..9a1d8c9981900e09df7458bf5d77ac9f0e4c7bea 100644 (file)
@@ -13,38 +13,38 @@ char gbuf[63];
 char *gp;
 int gi, gj;
 
-// CHECK: define void @test1
+// CHECK-LABEL: define void @test1
 void test1() {
   // CHECK:     = call i8* @__strcpy_chk(i8* getelementptr inbounds ([63 x i8]* @gbuf, i32 0, i64 4), i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0), i64 59)
   strcpy(&gbuf[4], "Hi there");
 }
 
-// CHECK: define void @test2
+// CHECK-LABEL: define void @test2
 void test2() {
   // CHECK:     = call i8* @__strcpy_chk(i8* getelementptr inbounds ([63 x i8]* @gbuf, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0), i64 63)
   strcpy(gbuf, "Hi there");
 }
 
-// CHECK: define void @test3
+// CHECK-LABEL: define void @test3
 void test3() {
   // CHECK:     = call i8* @__strcpy_chk(i8* getelementptr inbounds ([63 x i8]* @gbuf, i64 1, i64 37), i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0), i64 0)
   strcpy(&gbuf[100], "Hi there");
 }
 
-// CHECK: define void @test4
+// CHECK-LABEL: define void @test4
 void test4() {
   // CHECK:     = call i8* @__strcpy_chk(i8* getelementptr inbounds ([63 x i8]* @gbuf, i32 0, i64 -1), i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0), i64 0)
   strcpy((char*)(void*)&gbuf[-1], "Hi there");
 }
 
-// CHECK: define void @test5
+// CHECK-LABEL: define void @test5
 void test5() {
   // CHECK:     = load i8** @gp
   // CHECK-NEXT:= call i64 @llvm.objectsize.i64(i8* %{{.*}}, i1 false)
   strcpy(gp, "Hi there");
 }
 
-// CHECK: define void @test6
+// CHECK-LABEL: define void @test6
 void test6() {
   char buf[57];
 
@@ -52,7 +52,7 @@ void test6() {
   strcpy(&buf[4], "Hi there");
 }
 
-// CHECK: define void @test7
+// CHECK-LABEL: define void @test7
 void test7() {
   int i;
   // Ensure we only evaluate the side-effect once.
@@ -62,7 +62,7 @@ void test7() {
   strcpy((++i, gbuf), "Hi there");
 }
 
-// CHECK: define void @test8
+// CHECK-LABEL: define void @test8
 void test8() {
   char *buf[50];
   // CHECK-NOT:   __strcpy_chk
@@ -70,14 +70,14 @@ void test8() {
   strcpy(buf[++gi], "Hi there");
 }
 
-// CHECK: define void @test9
+// CHECK-LABEL: define void @test9
 void test9() {
   // CHECK-NOT:   __strcpy_chk
   // CHECK:       = call i8* @__inline_strcpy_chk(i8* %{{.*}}, i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0))
   strcpy((char *)((++gi) + gj), "Hi there");
 }
 
-// CHECK: define void @test10
+// CHECK-LABEL: define void @test10
 char **p;
 void test10() {
   // CHECK-NOT:   __strcpy_chk
@@ -85,42 +85,42 @@ void test10() {
   strcpy(*(++p), "Hi there");
 }
 
-// CHECK: define void @test11
+// CHECK-LABEL: define void @test11
 void test11() {
   // CHECK-NOT:   __strcpy_chk
   // CHECK:       = call i8* @__inline_strcpy_chk(i8* getelementptr inbounds ([63 x i8]* @gbuf, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0))
   strcpy(gp = gbuf, "Hi there");
 }
 
-// CHECK: define void @test12
+// CHECK-LABEL: define void @test12
 void test12() {
   // CHECK-NOT:   __strcpy_chk
   // CHECK:       = call i8* @__inline_strcpy_chk(i8* %{{.*}}, i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0))
   strcpy(++gp, "Hi there");
 }
 
-// CHECK: define void @test13
+// CHECK-LABEL: define void @test13
 void test13() {
   // CHECK-NOT:   __strcpy_chk
   // CHECK:       = call i8* @__inline_strcpy_chk(i8* %{{.*}}, i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0))
   strcpy(gp++, "Hi there");
 }
 
-// CHECK: define void @test14
+// CHECK-LABEL: define void @test14
 void test14() {
   // CHECK-NOT:   __strcpy_chk
   // CHECK:       = call i8* @__inline_strcpy_chk(i8* %{{.*}}, i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0))
   strcpy(--gp, "Hi there");
 }
 
-// CHECK: define void @test15
+// CHECK-LABEL: define void @test15
 void test15() {
   // CHECK-NOT:   __strcpy_chk
   // CHECK:       = call i8* @__inline_strcpy_chk(i8* %{{..*}}, i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0))
   strcpy(gp--, "Hi there");
 }
 
-// CHECK: define void @test16
+// CHECK-LABEL: define void @test16
 void test16() {
   // CHECK-NOT:   __strcpy_chk
   // CHECK:       = call i8* @__inline_strcpy_chk(i8* %{{.*}}, i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0))
index 0c8bb6c7bd4f94697533d4cd89d9f35ac2b4bf4d..8e748dfcfce7340c67f4cc9cd682d3ec7584a279 100644 (file)
@@ -51,10 +51,10 @@ int align2_x0 = __alignof(((struct s2*) 0)->x[0]);
 // CHECK: @align3_x0 = global i32 4
 int align3_x0 = __alignof(((struct s3*) 0)->x[0]);
 
-// CHECK: define i32 @f0_a
+// CHECK-LABEL: define i32 @f0_a
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
-// CHECK: define i32 @f0_b
+// CHECK-LABEL: define i32 @f0_b
 // CHECK:   load i32* %{{.*}}, align 4
 // CHECK: }
 int f0_a(struct s0 *a) {
@@ -66,19 +66,19 @@ int f0_b(struct s0 *a) {
 
 // Note that we are incompatible with GCC on this example.
 // 
-// CHECK: define i32 @f1_a
+// CHECK-LABEL: define i32 @f1_a
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
-// CHECK: define i32 @f1_b
+// CHECK-LABEL: define i32 @f1_b
 // CHECK:   load i32* %{{.*}}, align 4
 // CHECK: }
 
 // Note that we are incompatible with GCC on this example.
 //
-// CHECK: define i32 @f1_c
+// CHECK-LABEL: define i32 @f1_c
 // CHECK:   load i32* %{{.*}}, align 4
 // CHECK: }
-// CHECK: define i32 @f1_d
+// CHECK-LABEL: define i32 @f1_d
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
 int f1_a(struct s1 *a) {
@@ -94,16 +94,16 @@ int f1_d(struct s1 *a) {
   return a->z;
 }
 
-// CHECK: define i32 @f2_a
+// CHECK-LABEL: define i32 @f2_a
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
-// CHECK: define i32 @f2_b
+// CHECK-LABEL: define i32 @f2_b
 // CHECK:   load i32* %{{.*}}, align 4
 // CHECK: }
-// CHECK: define i32 @f2_c
+// CHECK-LABEL: define i32 @f2_c
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
-// CHECK: define i32 @f2_d
+// CHECK-LABEL: define i32 @f2_d
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
 int f2_a(struct s2 *a) {
@@ -119,16 +119,16 @@ int f2_d(struct s2 *a) {
   return a->z;
 }
 
-// CHECK: define i32 @f3_a
+// CHECK-LABEL: define i32 @f3_a
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
-// CHECK: define i32 @f3_b
+// CHECK-LABEL: define i32 @f3_b
 // CHECK:   load i32* %{{.*}}, align 4
 // CHECK: }
-// CHECK: define i32 @f3_c
+// CHECK-LABEL: define i32 @f3_c
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
-// CHECK: define i32 @f3_d
+// CHECK-LABEL: define i32 @f3_d
 // CHECK:   load i32* %{{.*}}, align 1
 // CHECK: }
 int f3_a(struct s3 *a) {
@@ -146,7 +146,7 @@ int f3_d(struct s3 *a) {
 
 // Verify we don't claim things are overaligned.
 //
-// CHECK: define double @f4
+// CHECK-LABEL: define double @f4
 // CHECK:   load double* {{.*}}, align 8
 // CHECK: }
 extern double g4[5] __attribute__((aligned(16)));
index ffd98dbfcf36953f5bb7c8ce734e11837db0ad8a..a915a544b9ebea9a8cba096a69d7f9f2ddb926b2 100644 (file)
@@ -16,7 +16,7 @@ int s0_align_x = __alignof(((struct s0*)0)->x);
 int s0_align_y = __alignof(((struct s0*)0)->y);
 int s0_align   = __alignof(struct s0);
 
-// CHECK-FUNCTIONS: define i32 @s0_load_x
+// CHECK-FUNCTIONS-LABEL: define i32 @s0_load_x
 // CHECK-FUNCTIONS: [[s0_load_x:%.*]] = load i32* {{.*}}, align 4
 // CHECK-FUNCTIONS: ret i32 [[s0_load_x]]
 int s0_load_x(struct s0 *a) { return a->x; }
@@ -24,11 +24,11 @@ int s0_load_x(struct s0 *a) { return a->x; }
 // has changed in llvm-gcc recently, previously both x and y would be loaded
 // with align 1 (in 2363.1 at least).
 //
-// CHECK-FUNCTIONS: define i32 @s0_load_y
+// CHECK-FUNCTIONS-LABEL: define i32 @s0_load_y
 // CHECK-FUNCTIONS: [[s0_load_y:%.*]] = load i32* {{.*}}, align 1
 // CHECK-FUNCTIONS: ret i32 [[s0_load_y]]
 int s0_load_y(struct s0 *a) { return a->y; }
-// CHECK-FUNCTIONS: define void @s0_copy
+// CHECK-FUNCTIONS-LABEL: define void @s0_copy
 // CHECK-FUNCTIONS: call void @llvm.memcpy.p0i8.p0i8.i64(i8* {{.*}}, i8* {{.*}}, i64 8, i32 4, i1 false)
 void s0_copy(struct s0 *a, struct s0 *b) { *b = *a; }
 
@@ -46,15 +46,15 @@ int s1_align_x = __alignof(((struct s1*)0)->x);
 int s1_align_y = __alignof(((struct s1*)0)->y);
 int s1_align   = __alignof(struct s1);
 
-// CHECK-FUNCTIONS: define i32 @s1_load_x
+// CHECK-FUNCTIONS-LABEL: define i32 @s1_load_x
 // CHECK-FUNCTIONS: [[s1_load_x:%.*]] = load i32* {{.*}}, align 1
 // CHECK-FUNCTIONS: ret i32 [[s1_load_x]]
 int s1_load_x(struct s1 *a) { return a->x; }
-// CHECK-FUNCTIONS: define i32 @s1_load_y
+// CHECK-FUNCTIONS-LABEL: define i32 @s1_load_y
 // CHECK-FUNCTIONS: [[s1_load_y:%.*]] = load i32* {{.*}}, align 1
 // CHECK-FUNCTIONS: ret i32 [[s1_load_y]]
 int s1_load_y(struct s1 *a) { return a->y; }
-// CHECK-FUNCTIONS: define void @s1_copy
+// CHECK-FUNCTIONS-LABEL: define void @s1_copy
 // CHECK-FUNCTIONS: call void @llvm.memcpy.p0i8.p0i8.i64(i8* {{.*}}, i8* {{.*}}, i64 8, i32 1, i1 false)
 void s1_copy(struct s1 *a, struct s1 *b) { *b = *a; }
 
@@ -74,15 +74,15 @@ int s2_align_x = __alignof(((struct s2*)0)->x);
 int s2_align_y = __alignof(((struct s2*)0)->y);
 int s2_align   = __alignof(struct s2);
 
-// CHECK-FUNCTIONS: define i32 @s2_load_x
+// CHECK-FUNCTIONS-LABEL: define i32 @s2_load_x
 // CHECK-FUNCTIONS: [[s2_load_y:%.*]] = load i32* {{.*}}, align 2
 // CHECK-FUNCTIONS: ret i32 [[s2_load_y]]
 int s2_load_x(struct s2 *a) { return a->x; }
-// CHECK-FUNCTIONS: define i32 @s2_load_y
+// CHECK-FUNCTIONS-LABEL: define i32 @s2_load_y
 // CHECK-FUNCTIONS: [[s2_load_y:%.*]] = load i32* {{.*}}, align 2
 // CHECK-FUNCTIONS: ret i32 [[s2_load_y]]
 int s2_load_y(struct s2 *a) { return a->y; }
-// CHECK-FUNCTIONS: define void @s2_copy
+// CHECK-FUNCTIONS-LABEL: define void @s2_copy
 // CHECK-FUNCTIONS: call void @llvm.memcpy.p0i8.p0i8.i64(i8* {{.*}}, i8* {{.*}}, i64 8, i32 2, i1 false)
 void s2_copy(struct s2 *a, struct s2 *b) { *b = *a; }
 
@@ -92,7 +92,7 @@ struct __attribute__((packed, aligned)) s3 {
 };
 // CHECK-GLOBAL: @s3_1 = global i32 1
 int s3_1 = __alignof(((struct s3*) 0)->anInt);
-// CHECK-FUNCTIONS: define i32 @test3(
+// CHECK-FUNCTIONS-LABEL: define i32 @test3(
 int test3(struct s3 *ptr) {
   // CHECK-FUNCTIONS:      [[PTR:%.*]] = getelementptr inbounds {{%.*}}* {{%.*}}, i32 0, i32 1
   // CHECK-FUNCTIONS-NEXT: load i32* [[PTR]], align 1
index 4f9e1949cea39dcf785cc8fc45e30b26b3a9b4ff..73aaefab375cc14ecab759e94af0c4900a51aeeb 100644 (file)
@@ -8,7 +8,7 @@ typedef struct s5 { Sd ds; } SSd;
 
 void bar(Sf a, Sd b, SSf d, SSd e) {}
 
-// CHECK: define void @bar
+// CHECK-LABEL: define void @bar
 // CHECK:  %a = alloca %struct.s1, align 4
 // CHECK:  %b = alloca %struct.s2, align 8
 // CHECK:  %d = alloca %struct.s4, align 4
@@ -34,7 +34,7 @@ void foo(void)
   bar(p1, p2, p4, p5);
 }
 
-// CHECK: define void @foo
+// CHECK-LABEL: define void @foo
 // CHECK:  %{{[a-zA-Z0-9.]+}} = getelementptr %struct.s1* %p1, i32 0, i32 0
 // CHECK:  %{{[0-9]+}} = load float* %{{[a-zA-Z0-9.]+}}, align 1
 // CHECK:  %{{[a-zA-Z0-9.]+}} = getelementptr %struct.s2* %p2, i32 0, i32 0
index 6d1c3374c3359a9d4e5bbeb4dfdd067469730dd1..a5a1232ffa89b3bde7efe656a9c2a1b164b1c54c 100644 (file)
@@ -9,5 +9,5 @@ v4sf foo (struct s a) {
   return a.v;
 }
 
-// CHECK: define <4 x float> @foo(<4 x float> inreg %a.coerce)
+// CHECK-LABEL: define <4 x float> @foo(<4 x float> inreg %a.coerce)
 // CHECK: ret <4 x float> %a.coerce
index b017131221412a9ef5438b5684f26aae0fe3803d..ea74cc6a594d0a0ddd9cc05ac5798dcc5549029f 100644 (file)
@@ -5,7 +5,7 @@ enum e1 g1(enum e1 *x) {
   return *x;
 }
 
-// CHECK: define i32 @g1
+// CHECK-LABEL: define i32 @g1
 // CHECK: load i32* %x, align 4
 // CHECK-NOT: range
 // CHECK: ret
index 8fdb2f299ce0a074972af793473ed79d397f4cd2..53abef1801d9c6ec425e42527fffbdfff35b95d7 100644 (file)
@@ -18,7 +18,7 @@ void f(void) {
   strrchr_foo("", '.');
 }
 
-// CHECK: define void @f()
+// CHECK-LABEL: define void @f()
 // CHECK: call void @foo()
 // CHECK-NEXT: call void @bar()
 // CHECK-NEXT: call i8* @strrchr(
index a7fceb3d1ac19e2e4f3105f43c425ff62f23743a..56e73f301aee32377affb567bf9cf7a2a8332311 100644 (file)
@@ -17,8 +17,8 @@ int z = 0;
 
 #pragma GCC visibility push(hidden)
 void f() {}
-// CHECK: define hidden void @f
+// CHECK-LABEL: define hidden void @f
 
 __attribute((visibility("default"))) void g();
 void g() {}
-// CHECK: define void @g
+// CHECK-LABEL: define void @g
index a6a6d6137f32af92f386eedd1ab6c5ab2af489dd..9bfb9ea4ef5c16f92bcbc58350c6973eb2b7ed54 100644 (file)
@@ -22,7 +22,7 @@
 
 
 
-// CHECK: define weak void @weakdef()
+// CHECK-LABEL: define weak void @weakdef()
 
 
 #pragma weak weakvar
@@ -42,12 +42,12 @@ int __weakvar_alias;
 
 #pragma weak foo = __foo
 void __foo(void) {}
-// CHECK: define void @__foo()
+// CHECK-LABEL: define void @__foo()
 
 
 void __foo2(void) {}
 #pragma weak foo2 = __foo2
-// CHECK: define void @__foo2()
+// CHECK-LABEL: define void @__foo2()
 
 
 ///// test errors
@@ -69,12 +69,12 @@ typedef int __td2;
 #pragma weak stutter = __stutter
 #pragma weak stutter = __stutter
 void __stutter(void) {}
-// CHECK: define void @__stutter()
+// CHECK-LABEL: define void @__stutter()
 
 void __stutter2(void) {}
 #pragma weak stutter2 = __stutter2
 #pragma weak stutter2 = __stutter2
-// CHECK: define void @__stutter2()
+// CHECK-LABEL: define void @__stutter2()
 
 
 // test decl/pragma weak order
@@ -82,12 +82,12 @@ void __stutter2(void) {}
 void __declfirst(void);
 #pragma weak declfirst = __declfirst
 void __declfirst(void) {}
-// CHECK: define void @__declfirst()
+// CHECK-LABEL: define void @__declfirst()
 
 void __declfirstattr(void) __attribute((noinline));
 #pragma weak declfirstattr = __declfirstattr
 void __declfirstattr(void) {}
-// CHECK: define void @__declfirstattr()
+// CHECK-LABEL: define void @__declfirstattr()
 
 //// test that other attributes are preserved
 
@@ -96,7 +96,7 @@ void __declfirstattr(void) {}
 void mix(void);
 #pragma weak mix
 __attribute((weak)) void mix(void) { }
-// CHECK: define weak void @mix()
+// CHECK-LABEL: define weak void @mix()
 
 // ensure following __attributes are preserved and that only a single
 // alias is generated
@@ -104,7 +104,7 @@ __attribute((weak)) void mix(void) { }
 void __mix2(void) __attribute((noinline));
 void __mix2(void) __attribute((noinline));
 void __mix2(void) {}
-// CHECK: define void @__mix2()
+// CHECK-LABEL: define void @__mix2()
 
 ////////////// test #pragma weak/__attribute combinations
 
@@ -113,7 +113,7 @@ void __mix2(void) {}
 void both(void) __attribute((alias("__both")));
 #pragma weak both = __both
 void __both(void) {}
-// CHECK: define void @__both()
+// CHECK-LABEL: define void @__both()
 
 // if the TARGET is previously declared then whichever aliasing method
 // comes first applies and subsequent aliases are discarded.
@@ -123,13 +123,13 @@ void __both2(void);
 void both2(void) __attribute((alias("__both2"))); // first, wins
 #pragma weak both2 = __both2
 void __both2(void) {}
-// CHECK: define void @__both2()
+// CHECK-LABEL: define void @__both2()
 
 void __both3(void);
 #pragma weak both3 = __both3 // first, wins
 void both3(void) __attribute((alias("__both3")));
 void __both3(void) {}
-// CHECK: define void @__both3()
+// CHECK-LABEL: define void @__both3()
 
 ///////////// ensure that #pragma weak does not alter existing __attributes()
 
@@ -176,7 +176,7 @@ void yyy(void){}
 void zzz(void){}
 #pragma weak yyy
 // NOTE: weak doesn't apply, not before or in same TopLevelDec(!)
-// CHECK: define void @yyy()
+// CHECK-LABEL: define void @yyy()
 
 int correct_linkage;
 
index 4c3752c56a139e2239c29a7f83ada340a50bfa32..151c58f958bd085f4d52324827a6e3c382e76741 100644 (file)
@@ -15,7 +15,7 @@ extern void FASTCALL reduced(char b, double c, foo* d, double e, int f);
 
 // PR7025
 void FASTCALL f1(int i, int j, int k);
-// CHECK: define void @f1(i32 inreg %i, i32 inreg %j, i32 %k)
+// CHECK-LABEL: define void @f1(i32 inreg %i, i32 inreg %j, i32 %k)
 void f1(int i, int j, int k) { }
 
 int
index 22803a6d4c4c528d9db91a0fd698ab9702e02e54..4ba4be852fe851eac50c0828ca93d8d2850622a0 100644 (file)
@@ -1,21 +1,21 @@
 // RUN: %clang_cc1 -triple sparcv9-unknown-unknown -emit-llvm %s -o - | FileCheck %s
 #include <stdarg.h>
 
-// CHECK: define void @f_void()
+// CHECK-LABEL: define void @f_void()
 void f_void(void) {}
 
 // Arguments and return values smaller than the word size are extended.
 
-// CHECK: define signext i32 @f_int_1(i32 signext %x)
+// CHECK-LABEL: define signext i32 @f_int_1(i32 signext %x)
 int f_int_1(int x) { return x; }
 
-// CHECK: define zeroext i32 @f_int_2(i32 zeroext %x)
+// CHECK-LABEL: define zeroext i32 @f_int_2(i32 zeroext %x)
 unsigned f_int_2(unsigned x) { return x; }
 
-// CHECK: define i64 @f_int_3(i64 %x)
+// CHECK-LABEL: define i64 @f_int_3(i64 %x)
 long long f_int_3(long long x) { return x; }
 
-// CHECK: define signext i8 @f_int_4(i8 signext %x)
+// CHECK-LABEL: define signext i8 @f_int_4(i8 signext %x)
 char f_int_4(char x) { return x; }
 
 // Small structs are passed in registers.
@@ -23,7 +23,7 @@ struct small {
   int *a, *b;
 };
 
-// CHECK: define %struct.small @f_small(i32* %x.coerce0, i32* %x.coerce1)
+// CHECK-LABEL: define %struct.small @f_small(i32* %x.coerce0, i32* %x.coerce1)
 struct small f_small(struct small x) {
   x.a += *x.b;
   x.b = 0;
@@ -36,7 +36,7 @@ struct medium {
   int *c, *d;
 };
 
-// CHECK: define %struct.medium @f_medium(%struct.medium* %x)
+// CHECK-LABEL: define %struct.medium @f_medium(%struct.medium* %x)
 struct medium f_medium(struct medium x) {
   x.a += *x.b;
   x.b = 0;
@@ -50,7 +50,7 @@ struct large {
   int x;
 };
 
-// CHECK: define void @f_large(%struct.large* noalias sret %agg.result, %struct.large* %x)
+// CHECK-LABEL: define void @f_large(%struct.large* noalias sret %agg.result, %struct.large* %x)
 struct large f_large(struct large x) {
   x.a += *x.b;
   x.b = 0;
@@ -62,7 +62,7 @@ struct reg {
   int a, b;
 };
 
-// CHECK: define i64 @f_reg(i64 %x.coerce)
+// CHECK-LABEL: define i64 @f_reg(i64 %x.coerce)
 struct reg f_reg(struct reg x) {
   x.a += x.b;
   return x;
@@ -74,7 +74,7 @@ struct mixed {
   float b;
 };
 
-// CHECK: define inreg %struct.mixed @f_mixed(i32 inreg %x.coerce0, float inreg %x.coerce1)
+// CHECK-LABEL: define inreg %struct.mixed @f_mixed(i32 inreg %x.coerce0, float inreg %x.coerce1)
 struct mixed f_mixed(struct mixed x) {
   x.a += 1;
   return x;
@@ -100,7 +100,7 @@ struct tiny {
   char a;
 };
 
-// CHECK: define i64 @f_tiny(i64 %x.coerce)
+// CHECK-LABEL: define i64 @f_tiny(i64 %x.coerce)
 // CHECK: %[[HB:[^ ]+]] = lshr i64 %x.coerce, 56
 // CHECK: = trunc i64 %[[HB]] to i8
 struct tiny f_tiny(struct tiny x) {
@@ -108,7 +108,7 @@ struct tiny f_tiny(struct tiny x) {
   return x;
 }
 
-// CHECK: define void @call_tiny()
+// CHECK-LABEL: define void @call_tiny()
 // CHECK: %[[XV:[^ ]+]] = zext i8 %{{[^ ]+}} to i64
 // CHECK: %[[HB:[^ ]+]] = shl i64 %[[XV]], 56
 // CHECK: = call i64 @f_tiny(i64 %[[HB]])
@@ -117,7 +117,7 @@ void call_tiny() {
   f_tiny(x);
 }
 
-// CHECK: define signext i32 @f_variable(i8* %f, ...)
+// CHECK-LABEL: define signext i32 @f_variable(i8* %f, ...)
 // CHECK: %ap = alloca i8*
 // CHECK: call void @llvm.va_start
 //
index 400209fca291349be792479cc020fbcb784568e2..2a4ca17967396805cac61452e828b825be139ede 100644 (file)
@@ -63,7 +63,7 @@ __m128 test_load1_ps(void* y) {
 }
 
 void test_store_ss(__m128 x, void* y) {
-  // CHECK: define void @test_store_ss
+  // CHECK-LABEL: define void @test_store_ss
   // CHECK: store {{.*}} float* {{.*}}, align 1,
   _mm_store_ss(y, x);
 }
@@ -99,32 +99,32 @@ __m128d test_loadl_pd(__m128d x, void* y) {
 }
 
 void test_store_sd(__m128d x, void* y) {
-  // CHECK: define void @test_store_sd
+  // CHECK-LABEL: define void @test_store_sd
   // CHECK: store {{.*}} double* {{.*}}, align 1{{$}}
   _mm_store_sd(y, x);
 }
 
 void test_store1_pd(__m128d x, void* y) {
-  // CHECK: define void @test_store1_pd
+  // CHECK-LABEL: define void @test_store1_pd
   // CHECK: store {{.*}} double* {{.*}}, align 1{{$}}
   // CHECK: store {{.*}} double* {{.*}}, align 1{{$}}
   _mm_store1_pd(y, x);
 }
 
 void test_storer_pd(__m128d x, void* y) {
-  // CHECK: define void @test_storer_pd
+  // CHECK-LABEL: define void @test_storer_pd
   // CHECK: store {{.*}} <2 x double>* {{.*}}, align 16{{$}}
   _mm_storer_pd(y, x);
 }
 
 void test_storeh_pd(__m128d x, void* y) {
-  // CHECK: define void @test_storeh_pd
+  // CHECK-LABEL: define void @test_storeh_pd
   // CHECK: store {{.*}} double* {{.*}}, align 1{{$}}
   _mm_storeh_pd(y, x);
 }
 
 void test_storel_pd(__m128d x, void* y) {
-  // CHECK: define void @test_storel_pd
+  // CHECK-LABEL: define void @test_storel_pd
   // CHECK: store {{.*}} double* {{.*}}, align 1{{$}}
   _mm_storel_pd(y, x);
 }
@@ -184,7 +184,7 @@ __m128d test_mm_round_sd(__m128d x, __m128d y) {
 }
 
 void test_storel_epi64(__m128i x, void* y) {
-  // CHECK: define void @test_storel_epi64
+  // CHECK-LABEL: define void @test_storel_epi64
   // CHECK: store {{.*}} i64* {{.*}}, align 1{{$}}
   _mm_storel_epi64(y, x);
 }
index e7f9814261ccccea23233113ba3ca8b5f2469a29..58aabbebd57ee0b9bdab996c622b3c58ec87d802 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
 // CHECK: ModuleID
 // CHECK-NOT: zeroinitializer
-// CHECK: define i8* @f
+// CHECK-LABEL: define i8* @f
 
 struct s {
     int a;
index d518178822831772796b8d0884e15effd40e3d6c..b6217ac1cf3c3c5ef68aadadc6fe9960c663417f 100644 (file)
@@ -4,17 +4,17 @@ void __attribute__((fastcall)) f1(void);
 void __attribute__((stdcall)) f2(void);
 void __attribute__((thiscall)) f3(void);
 void __attribute__((fastcall)) f4(void) {
-// CHECK: define x86_fastcallcc void @f4()
+// CHECK-LABEL: define x86_fastcallcc void @f4()
   f1();
 // CHECK: call x86_fastcallcc void @f1()
 }
 void __attribute__((stdcall)) f5(void) {
-// CHECK: define x86_stdcallcc void @f5()
+// CHECK-LABEL: define x86_stdcallcc void @f5()
   f2();
 // CHECK: call x86_stdcallcc void @f2()
 }
 void __attribute__((thiscall)) f6(void) {
-// CHECK: define x86_thiscallcc void @f6()
+// CHECK-LABEL: define x86_thiscallcc void @f6()
   f3();
 // CHECK: call x86_thiscallcc void @f3()
 }
@@ -51,7 +51,7 @@ void f8(void) {
 
 void __attribute__((fastcall)) foo1(int y);
 void bar1(int y) {
-  // CHECK: define void @bar1
+  // CHECK-LABEL: define void @bar1
   // CHECK: call x86_fastcallcc void @foo1(i32 inreg %
   foo1(y);
 }
@@ -61,14 +61,14 @@ struct S1 {
 };
 void __attribute__((fastcall)) foo2(struct S1 y);
 void bar2(struct S1 y) {
-  // CHECK: define void @bar2
+  // CHECK-LABEL: define void @bar2
   // CHECK: call x86_fastcallcc void @foo2(i32 inreg undef, i32 %
   foo2(y);
 }
 
 void __attribute__((fastcall)) foo3(int *y);
 void bar3(int *y) {
-  // CHECK: define void @bar3
+  // CHECK-LABEL: define void @bar3
   // CHECK: call x86_fastcallcc void @foo3(i32* inreg %
   foo3(y);
 }
@@ -76,7 +76,7 @@ void bar3(int *y) {
 enum Enum {Eval};
 void __attribute__((fastcall)) foo4(enum Enum y);
 void bar4(enum Enum y) {
-  // CHECK: define void @bar4
+  // CHECK-LABEL: define void @bar4
   // CHECK: call x86_fastcallcc void @foo4(i32 inreg %
   foo4(y);
 }
@@ -88,49 +88,49 @@ struct S2 {
 };
 void __attribute__((fastcall)) foo5(struct S2 y);
 void bar5(struct S2 y) {
-  // CHECK: define void @bar5
+  // CHECK-LABEL: define void @bar5
   // CHECK: call x86_fastcallcc void @foo5(%struct.S2* byval align 4 %
   foo5(y);
 }
 
 void __attribute__((fastcall)) foo6(long long y);
 void bar6(long long y) {
-  // CHECK: define void @bar6
+  // CHECK-LABEL: define void @bar6
   // CHECK: call x86_fastcallcc void @foo6(i64 %
   foo6(y);
 }
 
 void __attribute__((fastcall)) foo7(int a, struct S1 b, int c);
 void bar7(int a, struct S1 b, int c) {
-  // CHECK: define void @bar7
+  // CHECK-LABEL: define void @bar7
   // CHECK: call x86_fastcallcc void @foo7(i32 inreg %{{.*}}, i32 %{{.*}}, i32 %{{.*}}
   foo7(a, b, c);
 }
 
 void __attribute__((fastcall)) foo8(struct S1 a, int b);
 void bar8(struct S1 a, int b) {
-  // CHECK: define void @bar8
+  // CHECK-LABEL: define void @bar8
   // CHECK: call x86_fastcallcc void @foo8(i32 inreg undef, i32 %{{.*}}, i32 inreg %
   foo8(a, b);
 }
 
 void __attribute__((fastcall)) foo9(struct S2 a, int b);
 void bar9(struct S2 a, int b) {
-  // CHECK: define void @bar9
+  // CHECK-LABEL: define void @bar9
   // CHECK: call x86_fastcallcc void @foo9(%struct.S2* byval align 4 %{{.*}}, i32 %
   foo9(a, b);
 }
 
 void __attribute__((fastcall)) foo10(float y, int x);
 void bar10(float y, int x) {
-  // CHECK: define void @bar10
+  // CHECK-LABEL: define void @bar10
   // CHECK: call x86_fastcallcc void @foo10(float %{{.*}}, i32 inreg %
   foo10(y, x);
 }
 
 void __attribute__((fastcall)) foo11(double y, int x);
 void bar11(double y, int x) {
-  // CHECK: define void @bar11
+  // CHECK-LABEL: define void @bar11
   // CHECK: call x86_fastcallcc void @foo11(double %{{.*}}, i32 inreg %
   foo11(y, x);
 }
@@ -140,7 +140,7 @@ struct S3 {
 };
 void __attribute__((fastcall)) foo12(struct S3 y, int x);
 void bar12(struct S3 y, int x) {
-  // CHECK: define void @bar12
+  // CHECK-LABEL: define void @bar12
   // CHECK: call x86_fastcallcc void @foo12(float %{{.*}}, i32 inreg %
   foo12(y, x);
 }
index 8b94a0976e6ee7d4cd15cb170733297cd1050a79..2417a870f166b3b47a1cf5e35c5c53df273de207 100644 (file)
@@ -63,7 +63,7 @@ static int foo4(int i) {
   return j;
 }
 
-// CHECK: define i32 @foo4t()
+// CHECK-LABEL: define i32 @foo4t()
 // CHECK: ret i32 376
 // CHECK: }
 int foo4t() {
@@ -71,7 +71,7 @@ int foo4t() {
   return foo4(111) + foo4(99) + foo4(222) + foo4(601);
 }
 
-// CHECK: define void @foo5()
+// CHECK-LABEL: define void @foo5()
 // CHECK-NOT: switch
 // CHECK: }
 void foo5(){
@@ -83,7 +83,7 @@ void foo5(){
     }
 }
 
-// CHECK: define void @foo6()
+// CHECK-LABEL: define void @foo6()
 // CHECK-NOT: switch
 // CHECK: }
 void foo6(){
@@ -91,7 +91,7 @@ void foo6(){
     }
 }
 
-// CHECK: define void @foo7()
+// CHECK-LABEL: define void @foo7()
 // CHECK-NOT: switch
 // CHECK: }
 void foo7(){
@@ -101,7 +101,7 @@ void foo7(){
 }
 
 
-// CHECK: define i32 @f8(
+// CHECK-LABEL: define i32 @f8(
 // CHECK: ret i32 3
 // CHECK: }
 int f8(unsigned x) {
@@ -115,7 +115,7 @@ int f8(unsigned x) {
 
 // Ensure that default after a case range is not ignored.
 //
-// CHECK: define i32 @f9()
+// CHECK-LABEL: define i32 @f9()
 // CHECK: ret i32 10
 // CHECK: }
 static int f9_0(unsigned x) {
@@ -134,7 +134,7 @@ int f9() {
 // miscompilation of fallthrough from default to a (tested) case
 // range.
 //
-// CHECK: define i32 @f10()
+// CHECK-LABEL: define i32 @f10()
 // CHECK: ret i32 10
 // CHECK: }
 static int f10_0(unsigned x) {
@@ -153,7 +153,7 @@ int f10() {
 
 // This generated incorrect code because of poor switch chaining.
 //
-// CHECK: define i32 @f11(
+// CHECK-LABEL: define i32 @f11(
 // CHECK: ret i32 3
 // CHECK: }
 int f11(int x) {
@@ -167,7 +167,7 @@ int f11(int x) {
 
 // This just asserted because of the way case ranges were calculated.
 //
-// CHECK: define i32 @f12(
+// CHECK-LABEL: define i32 @f12(
 // CHECK: ret i32 3
 // CHECK: }
 int f12(int x) {
@@ -181,7 +181,7 @@ int f12(int x) {
 
 // Make sure return is not constant (if empty range is skipped or miscompiled)
 //
-// CHECK: define i32 @f13(
+// CHECK-LABEL: define i32 @f13(
 // CHECK: ret i32 %
 // CHECK: }
 int f13(unsigned x) {
index 9c22caba7b4f5a9ffa3f9950ffab821d888f78f0..eb0f9128fc40e87a54991cccd83df7be218e3c26 100644 (file)
@@ -5,31 +5,31 @@ unsigned long gl;
 
 void test_store_m(unsigned int i) {
   asm("st %1, %0" : "=m" (gi) : "r" (i));
-// CHECK: define void @test_store_m(i32 zeroext %i)
+// CHECK-LABEL: define void @test_store_m(i32 zeroext %i)
 // CHECK: call void asm "st $1, $0", "=*m,r"(i32* @gi, i32 %i)
 }
 
 void test_store_Q(unsigned int i) {
   asm("st %1, %0" : "=Q" (gi) : "r" (i));
-// CHECK: define void @test_store_Q(i32 zeroext %i)
+// CHECK-LABEL: define void @test_store_Q(i32 zeroext %i)
 // CHECK: call void asm "st $1, $0", "=*Q,r"(i32* @gi, i32 %i)
 }
 
 void test_store_R(unsigned int i) {
   asm("st %1, %0" : "=R" (gi) : "r" (i));
-// CHECK: define void @test_store_R(i32 zeroext %i)
+// CHECK-LABEL: define void @test_store_R(i32 zeroext %i)
 // CHECK: call void asm "st $1, $0", "=*R,r"(i32* @gi, i32 %i)
 }
 
 void test_store_S(unsigned int i) {
   asm("st %1, %0" : "=S" (gi) : "r" (i));
-// CHECK: define void @test_store_S(i32 zeroext %i)
+// CHECK-LABEL: define void @test_store_S(i32 zeroext %i)
 // CHECK: call void asm "st $1, $0", "=*S,r"(i32* @gi, i32 %i)
 }
 
 void test_store_T(unsigned int i) {
   asm("st %1, %0" : "=T" (gi) : "r" (i));
-// CHECK: define void @test_store_T(i32 zeroext %i)
+// CHECK-LABEL: define void @test_store_T(i32 zeroext %i)
 // CHECK: call void asm "st $1, $0", "=*T,r"(i32* @gi, i32 %i)
 }
 
@@ -37,7 +37,7 @@ int test_load_m() {
   unsigned int i;
   asm("l %0, %1" : "=r" (i) : "m" (gi));
   return i;
-// CHECK: define signext i32 @test_load_m()
+// CHECK-LABEL: define signext i32 @test_load_m()
 // CHECK: call i32 asm "l $0, $1", "=r,*m"(i32* @gi)
 }
 
@@ -45,7 +45,7 @@ int test_load_Q() {
   unsigned int i;
   asm("l %0, %1" : "=r" (i) : "Q" (gi));
   return i;
-// CHECK: define signext i32 @test_load_Q()
+// CHECK-LABEL: define signext i32 @test_load_Q()
 // CHECK: call i32 asm "l $0, $1", "=r,*Q"(i32* @gi)
 }
 
@@ -53,7 +53,7 @@ int test_load_R() {
   unsigned int i;
   asm("l %0, %1" : "=r" (i) : "R" (gi));
   return i;
-// CHECK: define signext i32 @test_load_R()
+// CHECK-LABEL: define signext i32 @test_load_R()
 // CHECK: call i32 asm "l $0, $1", "=r,*R"(i32* @gi)
 }
 
@@ -61,7 +61,7 @@ int test_load_S() {
   unsigned int i;
   asm("l %0, %1" : "=r" (i) : "S" (gi));
   return i;
-// CHECK: define signext i32 @test_load_S()
+// CHECK-LABEL: define signext i32 @test_load_S()
 // CHECK: call i32 asm "l $0, $1", "=r,*S"(i32* @gi)
 }
 
@@ -69,54 +69,54 @@ int test_load_T() {
   unsigned int i;
   asm("l %0, %1" : "=r" (i) : "T" (gi));
   return i;
-// CHECK: define signext i32 @test_load_T()
+// CHECK-LABEL: define signext i32 @test_load_T()
 // CHECK: call i32 asm "l $0, $1", "=r,*T"(i32* @gi)
 }
 
 void test_mI(unsigned char *c) {
   asm volatile("cli %0, %1" :: "Q" (*c), "I" (100));
-// CHECK: define void @test_mI(i8* %c)
+// CHECK-LABEL: define void @test_mI(i8* %c)
 // CHECK: call void asm sideeffect "cli $0, $1", "*Q,I"(i8* %c, i32 100)
 }
 
 unsigned int test_dJa(unsigned int i, unsigned int j) {
   asm("sll %0, %2(%3)" : "=d" (i) : "0" (i), "J" (1000), "a" (j));
   return i;
-// CHECK: define zeroext i32 @test_dJa(i32 zeroext %i, i32 zeroext %j)
+// CHECK-LABEL: define zeroext i32 @test_dJa(i32 zeroext %i, i32 zeroext %j)
 // CHECK: call i32 asm "sll $0, $2($3)", "=d,0,J,a"(i32 %i, i32 1000, i32 %j)
 }
 
 unsigned long test_rK(unsigned long i) {
   asm("aghi %0, %2" : "=r" (i) : "0" (i), "K" (-30000));
   return i;
-// CHECK: define i64 @test_rK(i64 %i)
+// CHECK-LABEL: define i64 @test_rK(i64 %i)
 // CHECK: call i64 asm "aghi $0, $2", "=r,0,K"(i64 %i, i32 -30000)
 }
 
 unsigned long test_rL(unsigned long i) {
   asm("sllg %0, %1, %2" : "=r" (i) : "r" (i), "L" (500000));
   return i;
-// CHECK: define i64 @test_rL(i64 %i)
+// CHECK-LABEL: define i64 @test_rL(i64 %i)
 // CHECK: call i64 asm "sllg $0, $1, $2", "=r,r,L"(i64 %i, i32 500000)
 }
 
 void test_M() {
   asm volatile("#FOO %0" :: "M"(0x7fffffff));
-// CHECK: define void @test_M()
+// CHECK-LABEL: define void @test_M()
 // CHECK: call void asm sideeffect "#FOO $0", "M"(i32 2147483647)
 }
 
 float test_f32(float f, float g) {
   asm("aebr %0, %2" : "=f" (f) : "0" (f), "f" (g));
   return f;
-// CHECK: define float @test_f32(float %f, float %g)
+// CHECK-LABEL: define float @test_f32(float %f, float %g)
 // CHECK: call float asm "aebr $0, $2", "=f,0,f"(float %f, float %g)
 }
 
 double test_f64(double f, double g) {
   asm("adbr %0, %2" : "=f" (f) : "0" (f), "f" (g));
   return f;
-// CHECK: define double @test_f64(double %f, double %g)
+// CHECK-LABEL: define double @test_f64(double %f, double %g)
 // CHECK: call double asm "adbr $0, $2", "=f,0,f"(double %f, double %g)
 }
 
index afdb3d6090b087eca366ddd99e5e8ba99b10f8e8..21040e4da05b34a713b49d74d0c2f90e2c65c39c 100644 (file)
@@ -10,7 +10,7 @@ typedef union {
 
 void f0(transp_t0 obj);
 
-// CHECK: define void @f1_0(i32* %a0) 
+// CHECK-LABEL: define void @f1_0(i32* %a0) 
 // CHECK:  call void @f0(%union.transp_t0* byval align 4 %{{.*}})
 // CHECK:  call void %{{.*}}(i8* %{{[a-z0-9]*}})
 // CHECK: }
index bc8bc700636c6baffdb00861451e12ce91f32a37..51034108ee4365a641e620e4fbe29a8c48d7defe 100644 (file)
@@ -3,7 +3,7 @@
 unsigned int ui, uj, uk;
 int i, j, k;
 
-// CHECK: define void @test0()
+// CHECK-LABEL: define void @test0()
 void test0() {
   // -ftrapv doesn't affect unsigned arithmetic.
   // CHECK:      [[T1:%.*]] = load i32* @uj
@@ -23,7 +23,7 @@ void test0() {
   i = j + k;
 }
 
-// CHECK: define void @test1()
+// CHECK-LABEL: define void @test1()
 void test1() {
   extern void opaque(int);
   opaque(i++);
@@ -37,7 +37,7 @@ void test1() {
   // CHECK:      call void @llvm.trap()
 }
 
-// CHECK: define void @test2()
+// CHECK-LABEL: define void @test2()
 void test2() {
   extern void opaque(int);
   opaque(++i);
@@ -51,7 +51,7 @@ void test2() {
   // CHECK:      call void @llvm.trap()
 }
 
-// CHECK: define void @test3(
+// CHECK-LABEL: define void @test3(
 void test3(int a, int b, float c, float d) {
   // CHECK-NOT:  @llvm.trap
   (void)(a / b);
index 341ea355636b0f6a86b910f28242cd147e84872c..01ed0bf8cb5e8f47aec01eab9c85e8c1d0eedb90 100644 (file)
@@ -8,7 +8,7 @@ unsigned int ii, ij, ik;
 extern void opaquelong(unsigned long);
 extern void opaqueint(unsigned int);
 
-// CHECK: define void @testlongadd()
+// CHECK-LABEL: define void @testlongadd()
 void testlongadd() {
 
   // CHECK:      [[T1:%.*]] = load i64* @lj
@@ -20,7 +20,7 @@ void testlongadd() {
   li = lj + lk;
 }
 
-// CHECK: define void @testlongsub()
+// CHECK-LABEL: define void @testlongsub()
 void testlongsub() {
 
   // CHECK:      [[T1:%.*]] = load i64* @lj
@@ -32,7 +32,7 @@ void testlongsub() {
   li = lj - lk;
 }
 
-// CHECK: define void @testlongmul()
+// CHECK-LABEL: define void @testlongmul()
 void testlongmul() {
 
   // CHECK:      [[T1:%.*]] = load i64* @lj
@@ -44,7 +44,7 @@ void testlongmul() {
   li = lj * lk;
 }
 
-// CHECK: define void @testlongpostinc()
+// CHECK-LABEL: define void @testlongpostinc()
 void testlongpostinc() {
   opaquelong(li++);
 
@@ -55,7 +55,7 @@ void testlongpostinc() {
   // CHECK:      call void @__ubsan_handle_add_overflow
 }
 
-// CHECK: define void @testlongpreinc()
+// CHECK-LABEL: define void @testlongpreinc()
 void testlongpreinc() {
   opaquelong(++li);
 
@@ -66,7 +66,7 @@ void testlongpreinc() {
   // CHECK:      call void @__ubsan_handle_add_overflow
 }
 
-// CHECK: define void @testintadd()
+// CHECK-LABEL: define void @testintadd()
 void testintadd() {
 
   // CHECK:      [[T1:%.*]] = load i32* @ij
@@ -78,7 +78,7 @@ void testintadd() {
   ii = ij + ik;
 }
 
-// CHECK: define void @testintsub()
+// CHECK-LABEL: define void @testintsub()
 void testintsub() {
 
   // CHECK:      [[T1:%.*]] = load i32* @ij
@@ -90,7 +90,7 @@ void testintsub() {
   ii = ij - ik;
 }
 
-// CHECK: define void @testintmul()
+// CHECK-LABEL: define void @testintmul()
 void testintmul() {
 
   // CHECK:      [[T1:%.*]] = load i32* @ij
@@ -102,7 +102,7 @@ void testintmul() {
   ii = ij * ik;
 }
 
-// CHECK: define void @testintpostinc()
+// CHECK-LABEL: define void @testintpostinc()
 void testintpostinc() {
   opaqueint(ii++);
 
@@ -113,7 +113,7 @@ void testintpostinc() {
   // CHECK:      call void @__ubsan_handle_add_overflow
 }
 
-// CHECK: define void @testintpreinc()
+// CHECK-LABEL: define void @testintpreinc()
 void testintpreinc() {
   opaqueint(++ii);
 
index c263c0c946b0ce0ee0f7b19c985f51f397596b30..2c3415201ce7cd07a7862a234aec205cf38b8fc8 100644 (file)
@@ -12,8 +12,8 @@ unsigned char ci, cj, ck;
 extern void opaqueshort(unsigned short);
 extern void opaquechar(unsigned char);
 
-// CHECKS:   define void @testshortadd()
-// CHECKU: define void @testshortadd()
+// CHECKS-LABEL:   define void @testshortadd()
+// CHECKU-LABEL: define void @testshortadd()
 void testshortadd() {
   // CHECKS:        load i16* @sj
   // CHECKS:        load i16* @sk
@@ -33,8 +33,8 @@ void testshortadd() {
   si = sj + sk;
 }
 
-// CHECKS:   define void @testshortsub()
-// CHECKU: define void @testshortsub()
+// CHECKS-LABEL:   define void @testshortsub()
+// CHECKU-LABEL: define void @testshortsub()
 void testshortsub() {
 
   // CHECKS:        load i16* @sj
@@ -55,8 +55,8 @@ void testshortsub() {
   si = sj - sk;
 }
 
-// CHECKS:   define void @testshortmul()
-// CHECKU: define void @testshortmul()
+// CHECKS-LABEL:   define void @testshortmul()
+// CHECKU-LABEL: define void @testshortmul()
 void testshortmul() {
 
   // CHECKS:        load i16* @sj
@@ -76,8 +76,8 @@ void testshortmul() {
   si = sj * sk;
 }
 
-// CHECKS:   define void @testcharadd()
-// CHECKU: define void @testcharadd()
+// CHECKS-LABEL:   define void @testcharadd()
+// CHECKU-LABEL: define void @testcharadd()
 void testcharadd() {
 
   // CHECKS:        load i8* @cj
@@ -98,8 +98,8 @@ void testcharadd() {
   ci = cj + ck;
 }
 
-// CHECKS:   define void @testcharsub()
-// CHECKU: define void @testcharsub()
+// CHECKS-LABEL:   define void @testcharsub()
+// CHECKU-LABEL: define void @testcharsub()
 void testcharsub() {
 
   // CHECKS:        load i8* @cj
@@ -120,8 +120,8 @@ void testcharsub() {
   ci = cj - ck;
 }
 
-// CHECKS:   define void @testcharmul()
-// CHECKU: define void @testcharmul()
+// CHECKS-LABEL:   define void @testcharmul()
+// CHECKU-LABEL: define void @testcharmul()
 void testcharmul() {
 
   // CHECKS:        load i8* @cj
index 3082b7b6ea6f13919936284cd4213cdffb6e522b..8e153b893a3fd230e1d7b34ca393ed92fb1d8e2a 100644 (file)
@@ -23,15 +23,15 @@ static char g_deferred[] = "hello";
 // CHECK-PROTECTED: @test4 = hidden global i32 10
 // CHECK-HIDDEN: @test4 = hidden global i32 10
 
-// CHECK-DEFAULT: define i32 @f_def()
+// CHECK-DEFAULT-LABEL: define i32 @f_def()
 // CHECK-DEFAULT: declare void @f_ext()
-// CHECK-DEFAULT: define internal void @f_deferred()
-// CHECK-PROTECTED: define protected i32 @f_def()
+// CHECK-DEFAULT-LABEL: define internal void @f_deferred()
+// CHECK-PROTECTED-LABEL: define protected i32 @f_def()
 // CHECK-PROTECTED: declare void @f_ext()
-// CHECK-PROTECTED: define internal void @f_deferred()
-// CHECK-HIDDEN: define hidden i32 @f_def()
+// CHECK-PROTECTED-LABEL: define internal void @f_deferred()
+// CHECK-HIDDEN-LABEL: define hidden i32 @f_def()
 // CHECK-HIDDEN: declare void @f_ext()
-// CHECK-HIDDEN: define internal void @f_deferred()
+// CHECK-HIDDEN-LABEL: define internal void @f_deferred()
 
 extern void f_ext(void);
 
@@ -45,22 +45,22 @@ int f_def(void) {
 }
 
 // PR8457
-// CHECK-DEFAULT: define void @test1(
-// CHECK-PROTECTED: define void @test1(
-// CHECK-HIDDEN: define void @test1(
+// CHECK-DEFAULT-LABEL: define void @test1(
+// CHECK-PROTECTED-LABEL: define void @test1(
+// CHECK-HIDDEN-LABEL: define void @test1(
 struct Test1 { int field; };
 void  __attribute__((visibility("default"))) test1(struct Test1 *v) { }
 
 // rdar://problem/8595231
-// CHECK-DEFAULT: define void @test2()
-// CHECK-PROTECTED: define void @test2()
-// CHECK-HIDDEN: define void @test2()
+// CHECK-DEFAULT-LABEL: define void @test2()
+// CHECK-PROTECTED-LABEL: define void @test2()
+// CHECK-HIDDEN-LABEL: define void @test2()
 void test2(void);
 void __attribute__((visibility("default"))) test2(void) {}
 
-// CHECK-DEFAULT: define hidden void @test3()
-// CHECK-PROTECTED: define hidden void @test3()
-// CHECK-HIDDEN: define hidden void @test3()
+// CHECK-DEFAULT-LABEL: define hidden void @test3()
+// CHECK-PROTECTED-LABEL: define hidden void @test3()
+// CHECK-HIDDEN-LABEL: define hidden void @test3()
 extern void test3(void);
 __private_extern__ void test3(void) {}
 
@@ -69,8 +69,8 @@ extern int test4;
 __private_extern__ int test4 = 10;
 
 // rdar://12399248
-// CHECK-DEFAULT: define hidden void @test5()
-// CHECK-PROTECTED: define hidden void @test5()
-// CHECK-HIDDEN: define hidden void @test5()
+// CHECK-DEFAULT-LABEL: define hidden void @test5()
+// CHECK-PROTECTED-LABEL: define hidden void @test5()
+// CHECK-HIDDEN-LABEL: define hidden void @test5()
 __attribute__((availability(macosx,introduced=10.5,deprecated=10.6)))
 __private_extern__ void test5(void) {}
index f63796b39dc22006c70c563c3546e01829a38094..1757ef77879452fe72b372ca3d0700de1d6328be 100644 (file)
@@ -37,7 +37,7 @@ void g(int count) {
 }
 
 // rdar://8403108
-// CHECK: define void @f_8403108
+// CHECK-LABEL: define void @f_8403108
 void f_8403108(unsigned x) {
   // CHECK: call i8* @llvm.stacksave()
   char s1[x];
@@ -86,7 +86,7 @@ int test2(int n)
 }
 
 // http://llvm.org/PR8567
-// CHECK: define double @test_PR8567
+// CHECK-LABEL: define double @test_PR8567
 double test_PR8567(int n, double (*p)[n][5]) {
   // CHECK:      [[NV:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[PV:%.*]] = alloca [5 x double]*, align 4
@@ -104,7 +104,7 @@ double test_PR8567(int n, double (*p)[n][5]) {
 }
 
 int test4(unsigned n, char (*p)[n][n+1][6]) {
-  // CHECK:    define i32 @test4(
+  // CHECK-LABEL:    define i32 @test4(
   // CHECK:      [[N:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[P:%.*]] = alloca [6 x i8]*, align 4
   // CHECK-NEXT: [[P2:%.*]] = alloca [6 x i8]*, align 4
@@ -146,7 +146,7 @@ int test4(unsigned n, char (*p)[n][n+1][6]) {
 // rdar://11485774
 void test5(void)
 {
-  // CHECK: define void @test5(
+  // CHECK-LABEL: define void @test5(
   int a[5], i = 0;
   // CHECK: [[A:%.*]] = alloca [5 x i32], align 4
   // CHECK-NEXT: [[I:%.*]] = alloca i32, align 4
@@ -169,7 +169,7 @@ void test5(void)
 
 void test6(void)
 {
-  // CHECK: define void @test6(
+  // CHECK-LABEL: define void @test6(
   int n = 20, **a, i=0;
   // CHECK: [[N:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[A:%.*]] = alloca i32**, align 4
@@ -192,6 +192,6 @@ void test6(void)
 
 // Follow gcc's behavior for VLAs in parameter lists.  PR9559.
 void test7(int a[b(0)]) {
-  // CHECK: define void @test7(
+  // CHECK-LABEL: define void @test7(
   // CHECK: call i32 @b(i8* null)
 }
index 01a69678d99e33f4c628aca957ae9e8d08f3e207..d1861d545899d936218d9e88a489f8178a1ee822 100644 (file)
@@ -22,7 +22,7 @@ int printf(const char *, ...);
 // that do implicit lvalue-to-rvalue conversion are substantially
 // reduced.
 
-// CHECK: define void @test()
+// CHECK-LABEL: define void @test()
 void test() {
   // CHECK: load volatile [[INT]]* @i
   i;
@@ -303,7 +303,7 @@ void test() {
 }
 
 extern volatile enum X x;
-// CHECK: define void @test1()
+// CHECK-LABEL: define void @test1()
 void test1() {
   extern void test1_helper(void);
   test1_helper();
index 9233b2a167859d2d61cabeb8e5c05fb3fce4a8ea..18d0d318ef828138e1e78cae001d4a2102be02f4 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
 
 void test0() {
-  // CHECK: define void @test0()
+  // CHECK-LABEL: define void @test0()
   // CHECK:      [[F:%.*]] = alloca float
   // CHECK-NEXT: [[REAL:%.*]] = load volatile float* getelementptr inbounds ({ float, float }* @test0_v, i32 0, i32 0), align 4
   // CHECK-NEXT: load volatile float* getelementptr inbounds ({{.*}} @test0_v, i32 0, i32 1), align 4
@@ -12,7 +12,7 @@ void test0() {
 }
 
 void test1() {
-  // CHECK: define void @test1()
+  // CHECK-LABEL: define void @test1()
   // CHECK:      [[REAL:%.*]] = load volatile float* getelementptr inbounds ({{.*}} @test1_v, i32 0, i32 0), align 4
   // CHECK-NEXT: [[IMAG:%.*]] = load volatile float* getelementptr inbounds ({{.*}} @test1_v, i32 0, i32 1), align 4
   // CHECK-NEXT: store volatile float [[REAL]], float* getelementptr inbounds ({{.*}} @test1_v, i32 0, i32 0), align 4
index 15001e03244b0e162d450a1f6718be2b87133eaf..71e5db6f5cf8039c4c29dc18adb3cdd53b3bb677 100644 (file)
@@ -14,7 +14,7 @@ volatile _Complex double cd;
 volatile _Complex float cf32 __attribute__((aligned(32)));
 volatile _Complex double cd32 __attribute__((aligned(32)));
 
-// CHECK-LABEL: define void @test_cf()
+// CHECK-LABEL-LABEL: define void @test_cf()
 void test_cf() {
   // CHECK:      load volatile float* getelementptr inbounds ({ float, float }* @cf, i32 0, i32 0), align 4
   // CHECK-NEXT: load volatile float* getelementptr inbounds ({ float, float }* @cf, i32 0, i32 1), align 4
@@ -27,7 +27,7 @@ void test_cf() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @test_cd()
+// CHECK-LABEL-LABEL: define void @test_cd()
 void test_cd() {
   // CHECK:      load volatile double* getelementptr inbounds ({ double, double }* @cd, i32 0, i32 0), align 8
   // CHECK-NEXT: load volatile double* getelementptr inbounds ({ double, double }* @cd, i32 0, i32 1), align 8
@@ -40,7 +40,7 @@ void test_cd() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @test_cf32()
+// CHECK-LABEL-LABEL: define void @test_cf32()
 void test_cf32() {
   // CHECK:      load volatile float* getelementptr inbounds ({ float, float }* @cf32, i32 0, i32 0), align 32
   // CHECK-NEXT: load volatile float* getelementptr inbounds ({ float, float }* @cf32, i32 0, i32 1), align 4
@@ -53,7 +53,7 @@ void test_cf32() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @test_cd32()
+// CHECK-LABEL-LABEL: define void @test_cd32()
 void test_cd32() {
   // CHECK:      load volatile double* getelementptr inbounds ({ double, double }* @cd32, i32 0, i32 0), align 32
   // CHECK-NEXT: load volatile double* getelementptr inbounds ({ double, double }* @cd32, i32 0, i32 1), align 8
index 4aa4295ffda2f2fca364f6ea615ba7cb1c8e52a4..422e030537e03541f29f52be38faee03d8d4a3fb 100644 (file)
@@ -1,44 +1,44 @@
 // RUN: %clang_cc1 -w -fblocks -triple i386-apple-darwin9 -target-cpu yonah -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: define signext i8 @f0()
+// CHECK-LABEL: define signext i8 @f0()
 char f0(void) {
   return 0;
 }
 
-// CHECK: define signext i16 @f1()
+// CHECK-LABEL: define signext i16 @f1()
 short f1(void) {
   return 0;
 }
 
-// CHECK: define i32 @f2()
+// CHECK-LABEL: define i32 @f2()
 int f2(void) {
   return 0;
 }
 
-// CHECK: define float @f3()
+// CHECK-LABEL: define float @f3()
 float f3(void) {
   return 0;
 }
 
-// CHECK: define double @f4()
+// CHECK-LABEL: define double @f4()
 double f4(void) {
   return 0;
 }
 
-// CHECK: define x86_fp80 @f5()
+// CHECK-LABEL: define x86_fp80 @f5()
 long double f5(void) {
   return 0;
 }
 
-// CHECK: define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8* %a4)
+// CHECK-LABEL: define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8* %a4)
 void f6(char a0, short a1, int a2, long long a3, void *a4) {}
 
-// CHECK: define void @f7(i32 %a0)
+// CHECK-LABEL: define void @f7(i32 %a0)
 typedef enum { A, B, C } e7;
 void f7(e7 a0) {}
 
-// CHECK: define i64 @f8_1()
-// CHECK: define void @f8_2(i32 %a0.0, i32 %a0.1)
+// CHECK-LABEL: define i64 @f8_1()
+// CHECK-LABEL: define void @f8_2(i32 %a0.0, i32 %a0.1)
 struct s8 {
   int a;
   int b;
@@ -48,11 +48,11 @@ void f8_2(struct s8 a0) {}
 
 // This should be passed just as s8.
 
-// CHECK: define i64 @f9_1()
+// CHECK-LABEL: define i64 @f9_1()
 
 // FIXME: llvm-gcc expands this, this may have some value for the
 // backend in terms of optimization but doesn't change the ABI.
-// CHECK: define void @f9_2(%struct.s9* byval align 4 %a0)
+// CHECK-LABEL: define void @f9_2(%struct.s9* byval align 4 %a0)
 struct s9 {
   int a : 17;
   int b;
@@ -123,91 +123,91 @@ struct s27 { struct { char a, b, c; } a; struct { char a; } b; } f27(void) { whi
 // CHECK: void @f28(%struct.s28* noalias sret %agg.result)
 struct s28 { int a; int b[]; } f28(void) { while (1) {} }
 
-// CHECK: define i16 @f29()
+// CHECK-LABEL: define i16 @f29()
 struct s29 { struct { } a[1]; char b; char c; } f29(void) { while (1) {} }
 
-// CHECK: define i16 @f30()
+// CHECK-LABEL: define i16 @f30()
 struct s30 { char a; char b : 4; } f30(void) { while (1) {} }
 
-// CHECK: define float @f31()
+// CHECK-LABEL: define float @f31()
 struct s31 { char : 0; float b; char : 0; } f31(void) { while (1) {} }
 
-// CHECK: define i32 @f32()
+// CHECK-LABEL: define i32 @f32()
 struct s32 { char a; unsigned : 0; } f32(void) { while (1) {} }
 
-// CHECK: define float @f33()
+// CHECK-LABEL: define float @f33()
 struct s33 { float a; long long : 0; } f33(void) { while (1) {} }
 
-// CHECK: define float @f34()
+// CHECK-LABEL: define float @f34()
 struct s34 { struct { int : 0; } a; float b; } f34(void) { while (1) {} }
 
-// CHECK: define i16 @f35()
+// CHECK-LABEL: define i16 @f35()
 struct s35 { struct { int : 0; } a; char b; char c; } f35(void) { while (1) {} }
 
-// CHECK: define i16 @f36()
+// CHECK-LABEL: define i16 @f36()
 struct s36 { struct { int : 0; } a[2][10]; char b; char c; } f36(void) { while (1) {} }
 
-// CHECK: define float @f37()
+// CHECK-LABEL: define float @f37()
 struct s37 { float c[1][1]; } f37(void) { while (1) {} }
 
-// CHECK: define void @f38(%struct.s38* noalias sret %agg.result)
+// CHECK-LABEL: define void @f38(%struct.s38* noalias sret %agg.result)
 struct s38 { char a[3]; short b; } f38(void) { while (1) {} }
 
-// CHECK: define void @f39(%struct.s39* byval align 16 %x)
+// CHECK-LABEL: define void @f39(%struct.s39* byval align 16 %x)
 typedef int v39 __attribute((vector_size(16)));
 struct s39 { v39 x; };
 void f39(struct s39 x) {}
 
 // <rdar://problem/7247671>
-// CHECK: define i32 @f40()
+// CHECK-LABEL: define i32 @f40()
 enum e40 { ec0 = 0 };
 enum e40 f40(void) { }
 
-// CHECK: define void ()* @f41()
+// CHECK-LABEL: define void ()* @f41()
 typedef void (^vvbp)(void);
 vvbp f41(void) { }
 
-// CHECK: define i32 @f42()
+// CHECK-LABEL: define i32 @f42()
 struct s42 { enum e40 f0; } f42(void) {  }
 
-// CHECK: define i64 @f43()
+// CHECK-LABEL: define i64 @f43()
 struct s43 { enum e40 f0; int f1; } f43(void) {  }
 
-// CHECK: define void ()* @f44()
+// CHECK-LABEL: define void ()* @f44()
 struct s44 { vvbp f0; } f44(void) {  }
 
-// CHECK: define i64 @f45()
+// CHECK-LABEL: define i64 @f45()
 struct s45 { vvbp f0; int f1; } f45(void) {  }
 
-// CHECK: define void @f46(i32 %a0)
+// CHECK-LABEL: define void @f46(i32 %a0)
 void f46(enum e40 a0) { }
 
-// CHECK: define void @f47(void ()* %a1)
+// CHECK-LABEL: define void @f47(void ()* %a1)
 void f47(vvbp a1) { }
 
-// CHECK: define void @f48(i32 %a0.0)
+// CHECK-LABEL: define void @f48(i32 %a0.0)
 struct s48 { enum e40 f0; };
 void f48(struct s48 a0) { }
 
-// CHECK: define void @f49(i32 %a0.0, i32 %a0.1)
+// CHECK-LABEL: define void @f49(i32 %a0.0, i32 %a0.1)
 struct s49 { enum e40 f0; int f1; };
 void f49(struct s49 a0) { }
 
-// CHECK: define void @f50(void ()* %a0.0)
+// CHECK-LABEL: define void @f50(void ()* %a0.0)
 struct s50 { vvbp f0; };
 void f50(struct s50 a0) { }
 
-// CHECK: define void @f51(void ()* %a0.0, i32 %a0.1)
+// CHECK-LABEL: define void @f51(void ()* %a0.0, i32 %a0.1)
 struct s51 { vvbp f0; int f1; };
 void f51(struct s51 a0) { }
 
-// CHECK: define void @f52(%struct.s52* byval align 4)
+// CHECK-LABEL: define void @f52(%struct.s52* byval align 4)
 struct s52 {
   long double a;
 };
 void f52(struct s52 x) {}
 
-// CHECK: define void @f53(%struct.s53* byval align 4)
+// CHECK-LABEL: define void @f53(%struct.s53* byval align 4)
 struct __attribute__((aligned(32))) s53 {
   int x;
   int y;
@@ -216,18 +216,18 @@ void f53(struct s53 x) {}
 
 typedef unsigned short v2i16 __attribute__((__vector_size__(4)));
 
-// CHECK: define i32 @f54(i32 %arg.coerce)
+// CHECK-LABEL: define i32 @f54(i32 %arg.coerce)
 // rdar://8359483
 v2i16 f54(v2i16 arg) { return arg+arg; }
 
 
 typedef int v4i32 __attribute__((__vector_size__(16)));
 
-// CHECK: define <2 x i64> @f55(<4 x i32> %arg)
+// CHECK-LABEL: define <2 x i64> @f55(<4 x i32> %arg)
 // PR8029
 v4i32 f55(v4i32 arg) { return arg+arg; }
 
-// CHECK: define void @f56(
+// CHECK-LABEL: define void @f56(
 // CHECK: i8 signext %a0, %struct.s56_0* byval align 4 %a1,
 // CHECK: i64 %a2.coerce, %struct.s56_1* byval align 4,
 // CHECK: i64 %a4.coerce, %struct.s56_2* byval align 4,
@@ -276,34 +276,34 @@ void f56(char a0, struct s56_0 a1,
         a10, a11, a12, a13);
 }
 
-// CHECK: define void @f57(i32 %x.0, i32 %x.1)
+// CHECK-LABEL: define void @f57(i32 %x.0, i32 %x.1)
 // CHECK: call void @f57(
 struct s57 { _Complex int x; };
 void f57(struct s57 x) {} void f57a(void) { f57((struct s57){1}); }
 
-// CHECK: define void @f58()
+// CHECK-LABEL: define void @f58()
 union u58 {};
 void f58(union u58 x) {}
 
-// CHECK: define i64 @f59()
+// CHECK-LABEL: define i64 @f59()
 struct s59 { float x __attribute((aligned(8))); };
 struct s59 f59() { while (1) {} }
 
-// CHECK: define void @f60(%struct.s60* byval align 4, i32 %y)
+// CHECK-LABEL: define void @f60(%struct.s60* byval align 4, i32 %y)
 struct s60 { int x __attribute((aligned(8))); };
 void f60(struct s60 x, int y) {}
 
-// CHECK: define void @f61(i32 %x, %struct.s61* byval align 16 %y)
+// CHECK-LABEL: define void @f61(i32 %x, %struct.s61* byval align 16 %y)
 typedef int T61 __attribute((vector_size(16)));
 struct s61 { T61 x; int y; };
 void f61(int x, struct s61 y) {}
 
-// CHECK: define void @f62(i32 %x, %struct.s62* byval align 4)
+// CHECK-LABEL: define void @f62(i32 %x, %struct.s62* byval align 4)
 typedef int T62 __attribute((vector_size(16)));
 struct s62 { T62 x; int y; } __attribute((packed, aligned(8)));
 void f62(int x, struct s62 y) {}
 
-// CHECK: define i32 @f63
+// CHECK-LABEL: define i32 @f63
 // CHECK: ptrtoint
 // CHECK: and {{.*}}, -16
 // CHECK: inttoptr
@@ -317,15 +317,15 @@ int f63(int i, ...) {
   return s.y;
 }
 
-// CHECK: define void @f64(%struct.s64* byval align 4 %x)
+// CHECK-LABEL: define void @f64(%struct.s64* byval align 4 %x)
 struct s64 { signed char a[0]; signed char b[]; };
 void f64(struct s64 x) {}
 
-// CHECK: define float @f65()
+// CHECK-LABEL: define float @f65()
 struct s65 { signed char a[0]; float b; };
 struct s65 f65() { return (struct s65){{},2}; }
 
-// CHECK: define <2 x i64> @f66
+// CHECK-LABEL: define <2 x i64> @f66
 // CHECK: ptrtoint
 // CHECK: and {{.*}}, -16
 // CHECK: inttoptr
@@ -341,4 +341,4 @@ T66 f66(int i, ...) {
 // PR14453
 struct s67 { _Complex unsigned short int a; };
 void f67(struct s67 x) {}
-// CHECK: define void @f67(%struct.s67* byval align 4 %x)
+// CHECK-LABEL: define void @f67(%struct.s67* byval align 4 %x)
index e93f9dccbf05f57112e81687e65495a550300405..1a8c6001292b3c639372005f0badab88e20ab4a6 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -w -fblocks -triple i386-pc-linux-gnu -target-cpu pentium4 -emit-llvm -o %t %s
 // RUN: FileCheck < %t %s
 
-// CHECK: define void @f56(
+// CHECK-LABEL: define void @f56(
 // CHECK: i8 signext %a0, %struct.s56_0* byval align 4 %a1,
 // CHECK: i64 %a2.coerce, %struct.s56_1* byval align 4,
 // CHECK: <1 x double> %a4, %struct.s56_2* byval align 4,
index 40362f796f6cd3d2409915370f8b6f4a8ae59e23..ce68e3a8916ce8164d7cbd055c33c1bcbcb7e0c3 100644 (file)
@@ -3,9 +3,9 @@
 // no-mmx should put mmx into memory
 typedef int __attribute__((vector_size (8))) i32v2;
 int a(i32v2 x) { return x[0]; }
-// CHECK: define i32 @a(i64 %x.coerce)
+// CHECK-LABEL: define i32 @a(i64 %x.coerce)
 
 // but SSE2 vectors should still go into an SSE2 register 
 typedef int __attribute__((vector_size (16))) i32v4;
 int b(i32v4 x) { return x[0]; }
-// CHECK: define i32 @b(<4 x i32> %x)
+// CHECK-LABEL: define i32 @b(<4 x i32> %x)
index b08862ee43e4391566441dde394ce973558742a9..768e1cc4690f422c39b10e89663f1729e49e1228 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -w -fblocks -triple i386-apple-darwin9 -emit-llvm -o %t %s
 // RUN: FileCheck < %t %s
 
-// CHECK: define void @f0(%struct.s0* byval align 4)
+// CHECK-LABEL: define void @f0(%struct.s0* byval align 4)
 // CHECK:   call void @llvm.memcpy.p0i8.p0i8.i32(i8* %{{.*}}, i8* %{{.*}}, i32 16, i32 4, i1 false)
 // CHECK: }
 struct s0 { long double a; };
index 77ff9e2ff3dde9764741bfa0c014691b80921f46..f8b09957b36e7a0c9d23d1356b43f636a6f261f7 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -w -triple i386-pc-win32 -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: define i64 @f1_1()
-// CHECK: define void @f1_2(%struct.s1* byval align 4 %a0)
+// CHECK-LABEL: define i64 @f1_1()
+// CHECK-LABEL: define void @f1_2(%struct.s1* byval align 4 %a0)
 struct s1 {
   int a;
   int b;
@@ -9,37 +9,37 @@ struct s1 {
 struct s1 f1_1(void) { while (1) {} }
 void f1_2(struct s1 a0) {}
 
-// CHECK: define i32 @f2_1()
+// CHECK-LABEL: define i32 @f2_1()
 struct s2 {
   short a;
   short b;
 };
 struct s2 f2_1(void) { while (1) {} }
 
-// CHECK: define i16 @f3_1()
+// CHECK-LABEL: define i16 @f3_1()
 struct s3 {
   char a;
   char b;
 };
 struct s3 f3_1(void) { while (1) {} }
 
-// CHECK: define i8 @f4_1()
+// CHECK-LABEL: define i8 @f4_1()
 struct s4 {
   char a:4;
   char b:4;
 };
 struct s4 f4_1(void) { while (1) {} }
 
-// CHECK: define i64 @f5_1()
-// CHECK: define void @f5_2(%struct.s5* byval align 4)
+// CHECK-LABEL: define i64 @f5_1()
+// CHECK-LABEL: define void @f5_2(%struct.s5* byval align 4)
 struct s5 {
   double a;
 };
 struct s5 f5_1(void) { while (1) {} }
 void f5_2(struct s5 a0) {}
 
-// CHECK: define i32 @f6_1()
-// CHECK: define void @f6_2(%struct.s6* byval align 4 %a0)
+// CHECK-LABEL: define i32 @f6_1()
+// CHECK-LABEL: define void @f6_2(%struct.s6* byval align 4 %a0)
 struct s6 {
   float a;
 };
index 707c57f515b13df93a3237b7b8fcbe4c6e775c2b..9f61599fc6954cf29cf45abce1abc62bbd372f44 100644 (file)
@@ -13,22 +13,22 @@ typedef struct { int i; } Small;
 typedef struct { short s; } Short;
 typedef struct { } ZeroSized;
 
-// CHECK: define void @returnBig
+// CHECK-LABEL: define void @returnBig
 // CHECK: ret void
 Big returnBig(Big x) { return x; }
 
-// CHECK-PCC: define void @returnSmall
+// CHECK-PCC-LABEL: define void @returnSmall
 // CHECK-PCC: ret void
-// CHECK-REG: define i32 @returnSmall
+// CHECK-REG-LABEL: define i32 @returnSmall
 // CHECK-REG: ret i32
 Small returnSmall(Small x) { return x; }
 
-// CHECK-PCC: define void @returnShort
+// CHECK-PCC-LABEL: define void @returnShort
 // CHECK-PCC: ret void
-// CHECK-REG: define i16 @returnShort
+// CHECK-REG-LABEL: define i16 @returnShort
 // CHECK-REG: ret i16
 Short returnShort(Short x) { return x; }
 
-// CHECK: define void @returnZero()
+// CHECK-LABEL: define void @returnZero()
 // CHECK: ret void
 ZeroSized returnZero(ZeroSized x) { return x; }
index 8f756caba7577cd64732ba1589f6d4315e9c2620..1c3f5b0c4a2f43701e6bcc949300200477dc24ab 100644 (file)
@@ -21,21 +21,21 @@ struct PP_Var f0() {
   return result;
 }
 
-// CHECK: define void @f1(i64 %p1.coerce0, i64 %p1.coerce1)
+// CHECK-LABEL: define void @f1(i64 %p1.coerce0, i64 %p1.coerce1)
 void f1(struct PP_Var p1) { while(1) {} }
 
 // long doubles are 64 bits on NaCl
-// CHECK: define double @f5()
+// CHECK-LABEL: define double @f5()
 long double f5(void) {
   return 0;
 }
 
-// CHECK: define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8* %a4)
+// CHECK-LABEL: define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8* %a4)
 void f6(char a0, short a1, int a2, long long a3, void *a4) {
 }
 
-// CHECK: define i64 @f8_1()
-// CHECK: define void @f8_2(i64 %a0.coerce)
+// CHECK-LABEL: define i64 @f8_1()
+// CHECK-LABEL: define void @f8_2(i64 %a0.coerce)
 union u8 {
   long double a;
   int b;
@@ -43,18 +43,18 @@ union u8 {
 union u8 f8_1() { while (1) {} }
 void f8_2(union u8 a0) {}
 
-// CHECK: define i64 @f9()
+// CHECK-LABEL: define i64 @f9()
 struct s9 { int a; int b; int : 0; } f9(void) { while (1) {} }
 
-// CHECK: define void @f10(i64 %a0.coerce)
+// CHECK-LABEL: define void @f10(i64 %a0.coerce)
 struct s10 { int a; int b; int : 0; };
 void f10(struct s10 a0) {}
 
-// CHECK: define double @f11()
+// CHECK-LABEL: define double @f11()
 union { long double a; float b; } f11() { while (1) {} }
 
-// CHECK: define i32 @f12_0()
-// CHECK: define void @f12_1(i32 %a0.coerce)
+// CHECK-LABEL: define i32 @f12_0()
+// CHECK-LABEL: define void @f12_1(i32 %a0.coerce)
 struct s12 { int a __attribute__((aligned(16))); };
 struct s12 f12_0(void) { while (1) {} }
 void f12_1(struct s12 a0) {}
@@ -68,7 +68,7 @@ struct s13_1 { long long f0[2]; };
 struct s13_0 f13(int a, int b, int c, int d,
                  struct s13_1 e, int f) { while (1) {} }
 
-// CHECK: define void @f20(%struct.s20* byval align 32 %x)
+// CHECK-LABEL: define void @f20(%struct.s20* byval align 32 %x)
 struct __attribute__((aligned(32))) s20 {
   int x;
   int y;
@@ -96,10 +96,10 @@ typedef struct {
   int a;
   int b;
 } s1;
-// CHECK: define i32 @f48(%struct.s1* byval %s)
+// CHECK-LABEL: define i32 @f48(%struct.s1* byval %s)
 int __attribute__((pnaclcall)) f48(s1 s) { return s.a; }
 
-// CHECK: define void @f49(%struct.s1* noalias sret %agg.result)
+// CHECK-LABEL: define void @f49(%struct.s1* noalias sret %agg.result)
 s1 __attribute__((pnaclcall)) f49() { s1 s; s.a = s.b = 1; return s; }
 
 union simple_union {
@@ -107,7 +107,7 @@ union simple_union {
   char b;
 };
 // Unions should be passed as byval structs
-// CHECK: define void @f50(%union.simple_union* byval %s)
+// CHECK-LABEL: define void @f50(%union.simple_union* byval %s)
 void __attribute__((pnaclcall)) f50(union simple_union s) {}
 
 typedef struct {
@@ -116,5 +116,5 @@ typedef struct {
   int b8 : 8;
 } bitfield1;
 // Bitfields should be passed as byval structs
-// CHECK: define void @f51(%struct.bitfield1* byval %bf1)
+// CHECK-LABEL: define void @f51(%struct.bitfield1* byval %bf1)
 void __attribute__((pnaclcall)) f51(bitfield1 bf1) {}
index 10e6d5bd65280886d690e8c00e778e367d3deaee..5d01d3bf69ed0743ec6cec6786fbfe9c5b48bab6 100644 (file)
@@ -2,49 +2,49 @@
 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s -target-feature +avx | FileCheck %s -check-prefix=AVX
 #include <stdarg.h>
 
-// CHECK: define signext i8 @f0()
+// CHECK-LABEL: define signext i8 @f0()
 char f0(void) {
   return 0;
 }
 
-// CHECK: define signext i16 @f1()
+// CHECK-LABEL: define signext i16 @f1()
 short f1(void) {
   return 0;
 }
 
-// CHECK: define i32 @f2()
+// CHECK-LABEL: define i32 @f2()
 int f2(void) {
   return 0;
 }
 
-// CHECK: define float @f3()
+// CHECK-LABEL: define float @f3()
 float f3(void) {
   return 0;
 }
 
-// CHECK: define double @f4()
+// CHECK-LABEL: define double @f4()
 double f4(void) {
   return 0;
 }
 
-// CHECK: define x86_fp80 @f5()
+// CHECK-LABEL: define x86_fp80 @f5()
 long double f5(void) {
   return 0;
 }
 
-// CHECK: define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8* %a4)
+// CHECK-LABEL: define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8* %a4)
 void f6(char a0, short a1, int a2, long long a3, void *a4) {
 }
 
-// CHECK: define void @f7(i32 %a0)
+// CHECK-LABEL: define void @f7(i32 %a0)
 typedef enum { A, B, C } e7;
 void f7(e7 a0) {
 }
 
 // Test merging/passing of upper eightbyte with X87 class.
 //
-// CHECK: define void @f8_1(%union.u8* noalias sret %agg.result)
-// CHECK: define void @f8_2(%union.u8* byval align 16 %a0)
+// CHECK-LABEL: define void @f8_1(%union.u8* noalias sret %agg.result)
+// CHECK-LABEL: define void @f8_2(%union.u8* byval align 16 %a0)
 union u8 {
   long double a;
   int b;
@@ -52,18 +52,18 @@ union u8 {
 union u8 f8_1() { while (1) {} }
 void f8_2(union u8 a0) {}
 
-// CHECK: define i64 @f9()
+// CHECK-LABEL: define i64 @f9()
 struct s9 { int a; int b; int : 0; } f9(void) { while (1) {} }
 
-// CHECK: define void @f10(i64 %a0.coerce)
+// CHECK-LABEL: define void @f10(i64 %a0.coerce)
 struct s10 { int a; int b; int : 0; };
 void f10(struct s10 a0) {}
 
-// CHECK: define void @f11(%union.anon* noalias sret %agg.result)
+// CHECK-LABEL: define void @f11(%union.anon* noalias sret %agg.result)
 union { long double a; float b; } f11() { while (1) {} }
 
-// CHECK: define i32 @f12_0()
-// CHECK: define void @f12_1(i32 %a0.coerce)
+// CHECK-LABEL: define i32 @f12_0()
+// CHECK-LABEL: define void @f12_1(i32 %a0.coerce)
 struct s12 { int a __attribute__((aligned(16))); };
 struct s12 f12_0(void) { while (1) {} }
 void f12_1(struct s12 a0) {}
@@ -94,19 +94,19 @@ void f17(float a, float b, float c, float d, float e, float f, float g, float h,
 // Check for valid coercion.  The struct should be passed/returned as i32, not
 // as i64 for better code quality.
 // rdar://8135035
-// CHECK: define void @f18(i32 %a, i32 %f18_arg1.coerce) 
+// CHECK-LABEL: define void @f18(i32 %a, i32 %f18_arg1.coerce) 
 struct f18_s0 { int f0; };
 void f18(int a, struct f18_s0 f18_arg1) { while (1) {} }
 
 // Check byval alignment.
 
-// CHECK: define void @f19(%struct.s19* byval align 16 %x)
+// CHECK-LABEL: define void @f19(%struct.s19* byval align 16 %x)
 struct s19 {
   long double a;
 };
 void f19(struct s19 x) {}
 
-// CHECK: define void @f20(%struct.s20* byval align 32 %x)
+// CHECK-LABEL: define void @f20(%struct.s20* byval align 32 %x)
 struct __attribute__((aligned(32))) s20 {
   int x;
   int y;
@@ -119,7 +119,7 @@ struct StringRef {
 };
 
 // rdar://7375902
-// CHECK: define i8* @f21(i64 %S.coerce0, i8* %S.coerce1) 
+// CHECK-LABEL: define i8* @f21(i64 %S.coerce0, i8* %S.coerce1) 
 const char *f21(struct StringRef S) { return S.x+S.Ptr; }
 
 // PR7567
@@ -140,7 +140,7 @@ struct f23S {
 
 
 void f23(int A, struct f23S B) {
-  // CHECK: define void @f23(i32 %A, i64 %B.coerce0, i32 %B.coerce1)
+  // CHECK-LABEL: define void @f23(i32 %A, i64 %B.coerce0, i32 %B.coerce1)
 }
 
 struct f24s { long a; int b; };
@@ -154,7 +154,7 @@ struct f23S f24(struct f23S *X, struct f24s *P2) {
 // rdar://8248065
 typedef float v4f32 __attribute__((__vector_size__(16)));
 v4f32 f25(v4f32 X) {
-  // CHECK: define <4 x float> @f25(<4 x float> %X)
+  // CHECK-LABEL: define <4 x float> @f25(<4 x float> %X)
   // CHECK-NOT: alloca
   // CHECK: alloca <4 x float>
   // CHECK-NOT: alloca
@@ -180,7 +180,7 @@ struct v4f32wrapper {
 };
 
 struct v4f32wrapper f27(struct v4f32wrapper X) {
-  // CHECK: define <4 x float> @f27(<4 x float> %X.coerce)
+  // CHECK-LABEL: define <4 x float> @f27(<4 x float> %X.coerce)
   return X;
 }
 
@@ -190,7 +190,7 @@ struct f28c {
   int y;
 };
 void f28(struct f28c C) {
-  // CHECK: define void @f28(double %C.coerce0, i32 %C.coerce1)
+  // CHECK-LABEL: define void @f28(double %C.coerce0, i32 %C.coerce1)
 }
 
 struct f29a {
@@ -201,26 +201,26 @@ struct f29a {
 };
 
 void f29a(struct f29a A) {
-  // CHECK: define void @f29a(double %A.coerce0, i32 %A.coerce1)
+  // CHECK-LABEL: define void @f29a(double %A.coerce0, i32 %A.coerce1)
 }
 
 // rdar://8249586
 struct S0 { char f0[8]; char f2; char f3; char f4; };
 void f30(struct S0 p_4) {
-  // CHECK: define void @f30(i64 %p_4.coerce0, i24 %p_4.coerce1)
+  // CHECK-LABEL: define void @f30(i64 %p_4.coerce0, i24 %p_4.coerce1)
 }
 
 // Pass the third element as a float when followed by tail padding.
 // rdar://8251384
 struct f31foo { float a, b, c; };
 float f31(struct f31foo X) {
-  // CHECK: define float @f31(<2 x float> %X.coerce0, float %X.coerce1)
+  // CHECK-LABEL: define float @f31(<2 x float> %X.coerce0, float %X.coerce1)
   return X.c;
 }
 
 _Complex float f32(_Complex float A, _Complex float B) {
   // rdar://6379669
-  // CHECK: define <2 x float> @f32(<2 x float> %A.coerce, <2 x float> %B.coerce)
+  // CHECK-LABEL: define <2 x float> @f32(<2 x float> %A.coerce, <2 x float> %B.coerce)
   return A+B;
 }
 
@@ -235,12 +235,12 @@ void f33(va_list X) {
 typedef unsigned long long v1i64 __attribute__((__vector_size__(8)));
 
 // rdar://8359248
-// CHECK: define i64 @f34(i64 %arg.coerce)
+// CHECK-LABEL: define i64 @f34(i64 %arg.coerce)
 v1i64 f34(v1i64 arg) { return arg; }
 
 
 // rdar://8358475
-// CHECK: define i64 @f35(i64 %arg.coerce)
+// CHECK-LABEL: define i64 @f35(i64 %arg.coerce)
 typedef unsigned long v1i64_2 __attribute__((__vector_size__(8)));
 v1i64_2 f35(v1i64_2 arg) { return arg+arg; }
 
@@ -260,7 +260,7 @@ void f9122143()
   func(ss);
 }
 
-// CHECK: define double @f36(double %arg.coerce)
+// CHECK-LABEL: define double @f36(double %arg.coerce)
 typedef unsigned v2i32 __attribute((__vector_size__(8)));
 v2i32 f36(v2i32 arg) { return arg; }
 
@@ -308,7 +308,7 @@ void func43(SA s) {
   func42(s);
 }
 
-// CHECK: define i32 @f44
+// CHECK-LABEL: define i32 @f44
 // CHECK: ptrtoint
 // CHECK-NEXT: and {{.*}}, -32
 // CHECK-NEXT: inttoptr
@@ -323,7 +323,7 @@ int f44(int i, ...) {
 }
 
 // Text that vec3 returns the correct LLVM IR type.
-// AVX: define i32 @foo(<3 x i64> %X)
+// AVX-LABEL: define i32 @foo(<3 x i64> %X)
 typedef long long3 __attribute((ext_vector_type(3)));
 int foo(long3 X)
 {
@@ -379,7 +379,7 @@ void test49_helper(double, ...);
 void test49(double d, double e) {
   test49_helper(d, e);
 }
-// CHECK:    define void @test49(
+// CHECK-LABEL:    define void @test49(
 // CHECK:      [[T0:%.*]] = load double*
 // CHECK-NEXT: [[T1:%.*]] = load double*
 // CHECK-NEXT: call void (double, ...)* @test49_helper(double [[T0]], double [[T1]])
@@ -388,7 +388,7 @@ void test50_helper();
 void test50(double d, double e) {
   test50_helper(d, e);
 }
-// CHECK:    define void @test50(
+// CHECK-LABEL:    define void @test50(
 // CHECK:      [[T0:%.*]] = load double*
 // CHECK-NEXT: [[T1:%.*]] = load double*
 // CHECK-NEXT: call void (double, double, ...)* bitcast (void (...)* @test50_helper to void (double, double, ...)*)(double [[T0]], double [[T1]])
@@ -398,7 +398,7 @@ void test51(struct test51_s *s, __builtin_va_list argList) {
     *s = __builtin_va_arg(argList, struct test51_s);
 }
 
-// CHECK: define void @test51
+// CHECK-LABEL: define void @test51
 // CHECK: [[TMP_ADDR:%.*]] = alloca [[STRUCT_TEST51:%.*]], align 16
 // CHECK: br i1
 // CHECK: [[REG_SAVE_AREA_PTR:%.*]] = getelementptr inbounds {{.*}}, i32 0, i32 3
@@ -422,7 +422,7 @@ void test52() {
 void test53(__m256 *m, __builtin_va_list argList) {
   *m = __builtin_va_arg(argList, __m256);
 }
-// AVX: define void @test53
+// AVX-LABEL: define void @test53
 // AVX-NOT: br i1
 // AVX: ret void
 
index 8d34f4f3a654c18973a35d595a076ae313e18fa3..211692fcc7c01a5aab5f7b33b139c646d5d4599f 100644 (file)
@@ -2,11 +2,11 @@
 
 #include "../SemaCUDA/cuda.h"
 
-// CHECK: define void @device_function
+// CHECK-LABEL: define void @device_function
 extern "C"
 __device__ void device_function() {}
 
-// CHECK: define void @global_function
+// CHECK-LABEL: define void @global_function
 extern "C"
 __global__ void global_function() {
   // CHECK: call void @device_function
index 4b4c2ecf1d3e42c55c61af93f70f723430fe87c9..fb865e35af4e55ac871d307fb83f2a88710841de 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -O3 -emit-llvm -o - %s | FileCheck %s
 // PR7490
 
-// CHECK: define signext i8 @_Z2f0v
+// CHECK-LABEL: define signext i8 @_Z2f0v
 // CHECK: ret i8 0
 // CHECK: }
 inline void* operator new[](unsigned long, void* __p)  { return __p; }
index 012c2231551d9f5b35554a3de7ce9dae5704974d..793bbde050212c1559876a103ec08c49cbb9b55e 100644 (file)
@@ -7,10 +7,10 @@ struct A {
   ~A();
 };
 
-// CHECK-NOT: define void @_ZN1AC1Ev
-// CHECK: define void @_ZN1AC2Ev
-// CHECK: define void @_ZN1AD1Ev
-// CHECK: define void @_ZN1AD2Ev
+// CHECK-NOT-LABEL: define void @_ZN1AC1Ev
+// CHECK-LABEL: define void @_ZN1AC2Ev
+// CHECK-LABEL: define void @_ZN1AD1Ev
+// CHECK-LABEL: define void @_ZN1AD2Ev
 A::A() { }
 
 A::~A() { }
index 162c6e5754f3579d0654402dcb827785122da92a..71794520f0a0105d71a60596e21ad692d331252c 100644 (file)
@@ -9,8 +9,8 @@ void test() {
   // CHECK: @_Z1fIiEvv
   void (*p2)() = f<int>;
 }
-// CHECK: define linkonce_odr void @_Z1fIiEvT_
-// CHECK: define linkonce_odr void @_Z1fIiEvv
+// CHECK-LABEL: define linkonce_odr void @_Z1fIiEvT_
+// CHECK-LABEL: define linkonce_odr void @_Z1fIiEvv
 
 namespace PR6973 {
   template<typename T>
index 99d6ab5845f26ca7746d608aacbb6d99639b4b76..079b55d2b03ae21cbbfad376fe0be422a380c1c1 100644 (file)
@@ -6,19 +6,19 @@ struct s0 {
   int TheStores __attribute__((aligned(16)));
 };
 
-// CHECK: define void @f0
+// CHECK-LABEL: define void @f0
 // CHECK: alloca %struct.s0, align 16
 extern "C" void f0() {
   (void) s0();
 }
 
-// CHECK: define void @f1
+// CHECK-LABEL: define void @f1
 // CHECK: alloca %struct.s0, align 16
 extern "C" void f1() {
   (void) (struct s0) { 0, 0, 0, 0 };
 }
 
-// CHECK: define i32 @f2
+// CHECK-LABEL: define i32 @f2
 // CHECK: alloca %struct.s1, align 2
 struct s1 { short x; short y; };
 extern "C" struct s1 f2(int a, struct s1 *x, struct s1 *y) {
index 35c90bc61e456922982717ef6579437beec57470..abc700fef6c29800c26b78f40ba2f3fc43aeca69 100644 (file)
@@ -28,12 +28,12 @@ namespace {
     struct E : public virtual EBase { virtual ~E() {} };
   };
 
-  // CHECK-1: define internal i32 @_ZN12_GLOBAL__N_13fooEv()
+  // CHECK-1-LABEL: define internal i32 @_ZN12_GLOBAL__N_13fooEv()
   int foo() {
     return 32;
   }
 
-  // CHECK-1: define internal i32 @_ZN12_GLOBAL__N_11A3fooEv()
+  // CHECK-1-LABEL: define internal i32 @_ZN12_GLOBAL__N_11A3fooEv()
   namespace A {
     int foo() {
       return 45;
@@ -58,13 +58,13 @@ namespace test2 {
     struct C;
   }
 
-  // CHECK-2: define void @_ZN5test24testEv()
+  // CHECK-2-LABEL: define void @_ZN5test24testEv()
   // CHECK-2:   call void @_ZN5test21A1BINS_12_GLOBAL__N_11CEE3fooEv()
   void test() {
     A::B<C>::foo();
   }
 
-  // CHECK-2: define internal void @_ZN5test21A1BINS_12_GLOBAL__N_11CEE3fooEv()
+  // CHECK-2-LABEL: define internal void @_ZN5test21A1BINS_12_GLOBAL__N_11CEE3fooEv()
 }
 
 namespace {
index 8dc4f4721dd05d4aa5c596603b9e3132295751b5..98e982ddf6954267f38e65955dae5d79911c6969 100644 (file)
@@ -31,7 +31,7 @@ namespace PR7021 {
     union { long l; };
   };
 
-  // CHECK: define void @_ZN6PR70211fENS_1XES0_
+  // CHECK-LABEL: define void @_ZN6PR70211fENS_1XES0_
   void f(X x, X z) {
     X x1;
 
@@ -61,7 +61,7 @@ namespace test2 {
   };
 
   A::A() : b(10) { }
-  // CHECK: define void @_ZN5test21AC2Ev(
+  // CHECK-LABEL: define void @_ZN5test21AC2Ev(
   // CHECK-NOT: }
   // CHECK: store i32 10
   // CHECK: }
@@ -79,14 +79,14 @@ namespace PR10512 {
     };
   };
 
-  // CHECK: define void @_ZN7PR105121AC2Ev
+  // CHECK-LABEL: define void @_ZN7PR105121AC2Ev
   // CHECK: [[THISADDR:%[a-zA-z0-9.]+]] = alloca [[A:%"struct[A-Za-z0-9:.]+"]]
   // CHECK-NEXT: store [[A]]* [[THIS:%[a-zA-z0-9.]+]], [[A]]** [[THISADDR]]
   // CHECK-NEXT: [[THIS1:%[a-zA-z0-9.]+]] = load [[A]]** [[THISADDR]]
   // CHECK-NEXT: ret void
   A::A() {}
 
-  // CHECK: define void @_ZN7PR105121AC2Ei
+  // CHECK-LABEL: define void @_ZN7PR105121AC2Ei
   // CHECK: [[THISADDR:%[a-zA-z0-9.]+]] = alloca [[A:%"struct[A-Za-z0-9:.]+"]]
   // CHECK-NEXT: [[XADDR:%[a-zA-z0-9.]+]] = alloca i32
   // CHECK-NEXT: store [[A]]* [[THIS:%[a-zA-z0-9.]+]], [[A]]** [[THISADDR]]
@@ -100,7 +100,7 @@ namespace PR10512 {
   // CHECK-NEXT: ret void
   A::A(int x) : x(x) { }
 
-  // CHECK: define void @_ZN7PR105121AC2El
+  // CHECK-LABEL: define void @_ZN7PR105121AC2El
   // CHECK: [[THISADDR:%[a-zA-z0-9.]+]] = alloca [[A:%"struct[A-Za-z0-9:.]+"]]
   // CHECK-NEXT: [[XADDR:%[a-zA-z0-9.]+]] = alloca i64
   // CHECK-NEXT: store [[A]]* [[THIS:%[a-zA-z0-9.]+]], [[A]]** [[THISADDR]]
@@ -130,7 +130,7 @@ namespace test3 {
   };
 
   A::A() : callback(0), callback_value(0) {}
-  // CHECK: define void @_ZN5test31AC2Ev(
+  // CHECK-LABEL: define void @_ZN5test31AC2Ev(
   // CHECK: [[THIS:%.*]] = load
   // CHECK-NEXT: [[UNION:%.*]] = getelementptr inbounds {{.*}} [[THIS]], i32 0, i32 0
   // CHECK-NEXT: [[STRUCT:%.*]] = bitcast {{.*}}* [[UNION]] to 
index bd275f1c4da25b5f26ba723c24f0f5dc62c11cc9..7ac5b5839e8c7bd5538d7ed8c20fe3f3f6ac355d 100644 (file)
@@ -1,9 +1,9 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fapple-kext -fno-rtti -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: define void @_ZN2B1D0Ev
+// CHECK-LABEL: define void @_ZN2B1D0Ev
 // CHECK: [[T1:%.*]] = load void (%struct.B1*)** getelementptr inbounds (void (%struct.B1*)** bitcast ([5 x i8*]* @_ZTV2B1 to void (%struct.B1*)**), i64 2)
 // CHECK-NEXT: call void [[T1]](%struct.B1* [[T2:%.*]])
-// CHECK: define void @_Z6DELETEP2B1
+// CHECK-LABEL: define void @_Z6DELETEP2B1
 // CHECK: [[T3:%.*]] = load void (%struct.B1*)** getelementptr inbounds (void (%struct.B1*)** bitcast ([5 x i8*]* @_ZTV2B1 to void (%struct.B1*)**), i64 2)
 // CHECK-NEXT:  call void [[T3]](%struct.B1* [[T4:%.*]])
 
index 59d228e2300c38543657e627562c8408bc10a663..e66b0389fcc39ec161a1bcc3c5f65f0fb7cb7965 100644 (file)
@@ -13,21 +13,21 @@ void foo() {
   Derived d1;                  // ok
 }
 
-// CHECK: define internal i32 @_Z1fj(
+// CHECK-LABEL: define internal i32 @_Z1fj(
 inline unsigned f(unsigned n) { return n == 0 ? 0 : n + f(n-1); }
 
 unsigned g(unsigned n) { return f(n); }
 
 // rdar://problem/10133200: give explicit instantiations external linkage in kernel mode
-// CHECK: define void @_Z3barIiEvv()
+// CHECK-LABEL: define void @_Z3barIiEvv()
 template <typename T> void bar() {}
 template void bar<int>();
 
-// CHECK: define internal i32 @_Z5identIiET_S0_(
+// CHECK-LABEL: define internal i32 @_Z5identIiET_S0_(
 template <typename X> X ident(X x) { return x; }
 
 int foo(int n) { return ident(n); }
 
-// CHECK: define internal void @_ZN7DerivedD1Ev(
-// CHECK: define internal void @_ZN7DerivedD0Ev(
-// CHECK: define internal void @_ZN7DeriveddlEPv(
+// CHECK-LABEL: define internal void @_ZN7DerivedD1Ev(
+// CHECK-LABEL: define internal void @_ZN7DerivedD0Ev(
+// CHECK-LABEL: define internal void @_ZN7DeriveddlEPv(
index 5578b2ab2b50b8268922a4669fd8c89c46be6a75..2fb9c49bb7079364f00bcbe42099a0a784c184a7 100644 (file)
@@ -28,7 +28,7 @@ bar baz;
 // CHECK:      call [[BAR:%.*]]* @_ZN3barC1Ev(
 // CHECK-NEXT: call i32 @atexit(void ()* @__dtor_baz)
 
-// CHECK: define internal void @__dtor_baz()
+// CHECK-LABEL: define internal void @__dtor_baz()
 // CHECK: call [[BAR]]* @_ZN3barD1Ev([[BAR]]* @baz)
 
 // Destructors and constructors must return this.
@@ -41,7 +41,7 @@ namespace test1 {
     void bar() { foo(); }
   };
 
-  // CHECK: define void @_ZN5test14testEv()
+  // CHECK-LABEL: define void @_ZN5test14testEv()
   void test() {
     // CHECK: [[AV:%.*]] = alloca [[A:%.*]], align 1
     // CHECK: call [[A]]* @_ZN5test11AC1Ei([[A]]* [[AV]], i32 10)
@@ -107,7 +107,7 @@ namespace test3 {
   };
 
   void a() {
-    // CHECK: define void @_ZN5test31aEv()
+    // CHECK-LABEL: define void @_ZN5test31aEv()
     // CHECK: call noalias i8* @_Znam(i32 48)
     // CHECK: store i32 4
     // CHECK: store i32 10
@@ -115,7 +115,7 @@ namespace test3 {
   }
 
   void b(int n) {
-    // CHECK: define void @_ZN5test31bEi(
+    // CHECK-LABEL: define void @_ZN5test31bEi(
     // CHECK: [[N:%.*]] = load i32*
     // CHECK: @llvm.umul.with.overflow.i32(i32 [[N]], i32 4)
     // CHECK: @llvm.uadd.with.overflow.i32(i32 {{.*}}, i32 8)
@@ -128,7 +128,7 @@ namespace test3 {
   }
 
   void c() {
-    // CHECK: define void @_ZN5test31cEv()
+    // CHECK-LABEL: define void @_ZN5test31cEv()
     // CHECK: call  noalias i8* @_Znam(i32 808)
     // CHECK: store i32 4
     // CHECK: store i32 200
@@ -136,7 +136,7 @@ namespace test3 {
   }
 
   void d(int n) {
-    // CHECK: define void @_ZN5test31dEi(
+    // CHECK-LABEL: define void @_ZN5test31dEi(
     // CHECK: [[N:%.*]] = load i32*
     // CHECK: @llvm.umul.with.overflow.i32(i32 [[N]], i32 80)
     // CHECK: [[NE:%.*]] = mul i32 [[N]], 20
@@ -149,7 +149,7 @@ namespace test3 {
   }
 
   void e(A *x) {
-    // CHECK: define void @_ZN5test31eEPNS_1AE(
+    // CHECK-LABEL: define void @_ZN5test31eEPNS_1AE(
     // CHECK: icmp eq {{.*}}, null
     // CHECK: getelementptr {{.*}}, i64 -8
     // CHECK: getelementptr {{.*}}, i64 4
@@ -161,7 +161,7 @@ namespace test3 {
   }
 
   void f(A (*x)[20]) {
-    // CHECK: define void @_ZN5test31fEPA20_NS_1AE(
+    // CHECK-LABEL: define void @_ZN5test31fEPA20_NS_1AE(
     // CHECK: icmp eq {{.*}}, null
     // CHECK: getelementptr {{.*}}, i64 -8
     // CHECK: getelementptr {{.*}}, i64 4
@@ -180,7 +180,7 @@ namespace test4 {
   };
 
   void a() {
-    // CHECK: define void @_ZN5test41aEv()
+    // CHECK-LABEL: define void @_ZN5test41aEv()
     // CHECK: call noalias i8* @_Znam(i32 48)
     // CHECK: store i32 4
     // CHECK: store i32 10
@@ -188,7 +188,7 @@ namespace test4 {
   }
 
   void b(int n) {
-    // CHECK: define void @_ZN5test41bEi(
+    // CHECK-LABEL: define void @_ZN5test41bEi(
     // CHECK: [[N:%.*]] = load i32*
     // CHECK: @llvm.umul.with.overflow.i32(i32 [[N]], i32 4)
     // CHECK: @llvm.uadd.with.overflow.i32(i32 {{.*}}, i32 8)
@@ -200,7 +200,7 @@ namespace test4 {
   }
 
   void c() {
-    // CHECK: define void @_ZN5test41cEv()
+    // CHECK-LABEL: define void @_ZN5test41cEv()
     // CHECK: call  noalias i8* @_Znam(i32 808)
     // CHECK: store i32 4
     // CHECK: store i32 200
@@ -208,7 +208,7 @@ namespace test4 {
   }
 
   void d(int n) {
-    // CHECK: define void @_ZN5test41dEi(
+    // CHECK-LABEL: define void @_ZN5test41dEi(
     // CHECK: [[N:%.*]] = load i32*
     // CHECK: @llvm.umul.with.overflow.i32(i32 [[N]], i32 80)
     // CHECK: [[NE:%.*]] = mul i32 [[N]], 20
@@ -221,7 +221,7 @@ namespace test4 {
   }
 
   void e(A *x) {
-    // CHECK: define void @_ZN5test41eEPNS_1AE(
+    // CHECK-LABEL: define void @_ZN5test41eEPNS_1AE(
     // CHECK: [[ALLOC:%.*]] = getelementptr inbounds {{.*}}, i64 -8
     // CHECK: getelementptr inbounds {{.*}}, i64 4
     // CHECK: bitcast
@@ -233,7 +233,7 @@ namespace test4 {
   }
 
   void f(A (*x)[20]) {
-    // CHECK: define void @_ZN5test41fEPA20_NS_1AE(
+    // CHECK-LABEL: define void @_ZN5test41fEPA20_NS_1AE(
     // CHECK: [[ALLOC:%.*]] = getelementptr inbounds {{.*}}, i64 -8
     // CHECK: getelementptr inbounds {{.*}}, i64 4
     // CHECK: bitcast
@@ -251,7 +251,7 @@ namespace test5 {
     ~A();
   };
 
-  // CHECK: define void @_ZN5test54testEPNS_1AE
+  // CHECK-LABEL: define void @_ZN5test54testEPNS_1AE
   void test(A *a) {
     // CHECK:      [[PTR:%.*]] = alloca [[A:%.*]]*, align 4
     // CHECK-NEXT: store [[A]]* {{.*}}, [[A]]** [[PTR]], align 4
@@ -267,7 +267,7 @@ namespace test6 {
     virtual ~A();
   };
 
-  // CHECK: define void @_ZN5test64testEPNS_1AE
+  // CHECK-LABEL: define void @_ZN5test64testEPNS_1AE
   void test(A *a) {
     // CHECK:      [[AVAR:%.*]] = alloca [[A:%.*]]*, align 4
     // CHECK-NEXT: store [[A]]* {{.*}}, [[A]]** [[AVAR]], align 4
@@ -290,7 +290,7 @@ namespace test7 {
 
   // Static and guard tested at top of file
 
-  // CHECK: define void @_ZN5test74testEv()
+  // CHECK-LABEL: define void @_ZN5test74testEv()
   void test() {
     // CHECK:      [[T0:%.*]] = load i32* @_ZGVZN5test74testEvE1x
     // CHECK-NEXT: [[T1:%.*]] = and i32 [[T0]], 1
@@ -325,7 +325,7 @@ namespace test8 {
 
   // Static and guard tested at top of file
 
-  // CHECK: define void @_ZN5test84testEv()
+  // CHECK-LABEL: define void @_ZN5test84testEv()
   void test() {
     // CHECK:      [[T0:%.*]] = load i32* @_ZGVZN5test84testEvE1x
     // CHECK-NEXT: [[T1:%.*]] = and i32 [[T0]], 1
@@ -394,7 +394,7 @@ namespace test9 {
   void testDelete(A *array) {
     delete[] array;
   }
-// CHECK:    define void @_ZN5test910testDeleteEPNS_1AE(
+// CHECK-LABEL:    define void @_ZN5test910testDeleteEPNS_1AE(
 // CHECK:      [[BEGIN:%.*]] = load [[TEST9]]**
 // CHECK-NEXT: [[T0:%.*]] = icmp eq [[TEST9]]* [[BEGIN]], null
 // CHECK-NEXT: br i1 [[T0]],
@@ -413,7 +413,7 @@ namespace test9 {
   // CHECK:   call [[C]]* @_ZN5test21CD1Ev(
   // CHECK:   ret [[C]]* undef
 
-  // CHECK: define linkonce_odr void @_ZTv0_n12_N5test21CD0Ev(
+  // CHECK-LABEL: define linkonce_odr void @_ZTv0_n12_N5test21CD0Ev(
   // CHECK:   call void @_ZN5test21CD0Ev(
   // CHECK:   ret void
 
index 36bb4ef5608e5c488ffc06bbf1d95a967061c3cb..653f16d263093c92def796e745279ebdaf83631c 100644 (file)
@@ -5,7 +5,7 @@ namespace PR11411 {
     void f();
   };
 
-  // CHECK: define linkonce_odr void @_ZN7PR114113PtrIiE1fEv
+  // CHECK-LABEL: define linkonce_odr void @_ZN7PR114113PtrIiE1fEv
   // CHECK-NOT: ret
   template<typename _Tp> inline void Ptr<_Tp>::f() {
     int* _refcount;
index 38d012e6a9a1cd4f7c7d2535e113d33e7906a8d7..ee2e9e4cf24443675c9a65aaebb95a7ccb832f7d 100644 (file)
@@ -18,7 +18,7 @@ struct B {
 
 _Atomic(B) b;
 
-// CHECK: define void @_Z11atomic_initR1Ai
+// CHECK-LABEL: define void @_Z11atomic_initR1Ai
 void atomic_init(A& a, int i) {
   // CHECK-NOT: atomic
   // CHECK: tail call void @_ZN1BC1Ei
@@ -26,7 +26,7 @@ void atomic_init(A& a, int i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @_Z16atomic_init_boolPU7_Atomicbb
+// CHECK-LABEL: define void @_Z16atomic_init_boolPU7_Atomicbb
 void atomic_init_bool(_Atomic(bool) *ab, bool b) {
   // CHECK-NOT: atomic
   // CHECK: {{zext i1.*to i8}}
@@ -40,7 +40,7 @@ struct AtomicBoolMember {
   AtomicBoolMember(bool b);
 };
 
-// CHECK: define void @_ZN16AtomicBoolMemberC2Eb
+// CHECK-LABEL: define void @_ZN16AtomicBoolMemberC2Eb
 // CHECK: {{zext i1.*to i8}}
 // CHECK-NEXT: store i8
 // CHECK-NEXT: ret void
index 4748cda8cc47a660c23729de64a46d96350f0b35..8bcff363c7232de4ae2b0facaa2ea7c1ed5bc6c9 100644 (file)
@@ -26,7 +26,7 @@ void C::bar3() { }
 void C::bar4() { }
 
 // PR6635
-// CHECK: define i32 @_Z5test1v()
+// CHECK-LABEL: define i32 @_Z5test1v()
 int test1() { return 10; }
 // CHECK at top of file
 extern "C" int test2() __attribute__((alias("_Z5test1v")));
index c224afac46954f5a0dd4332ee271813ab9e44365..2c454b0c072c1707ce444498b72e5c12022d0b06 100644 (file)
@@ -20,13 +20,13 @@ namespace N0 {
     unsigned b71 : 2;
   };
   unsigned read00(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N06read00
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N06read00
     // CHECK-X86-64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-X86-64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-X86-64:   %[[and:.*]]   = and i64 %[[val]], 16383
     // CHECK-X86-64:   %[[trunc:.*]] = trunc i64 %[[and]] to i32
     // CHECK-X86-64:                   ret i32 %[[trunc]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N06read00
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N06read00
     // CHECK-PPC64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-PPC64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]]   = lshr i64 %[[val]], 50
@@ -35,14 +35,14 @@ namespace N0 {
     return s->b00;
   }
   unsigned read01(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N06read01
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N06read01
     // CHECK-X86-64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-X86-64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-X86-64:   %[[shr:.*]]   = lshr i64 %[[val]], 14
     // CHECK-X86-64:   %[[and:.*]]   = and i64 %[[shr]], 3
     // CHECK-X86-64:   %[[trunc:.*]] = trunc i64 %[[and]] to i32
     // CHECK-X86-64:                   ret i32 %[[trunc]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N06read01
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N06read01
     // CHECK-PPC64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-PPC64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]]   = lshr i64 %[[val]], 48
@@ -52,14 +52,14 @@ namespace N0 {
     return s->b01;
   }
   unsigned read20(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N06read20
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N06read20
     // CHECK-X86-64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-X86-64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-X86-64:   %[[shr:.*]]   = lshr i64 %[[val]], 16
     // CHECK-X86-64:   %[[and:.*]]   = and i64 %[[shr]], 63
     // CHECK-X86-64:   %[[trunc:.*]] = trunc i64 %[[and]] to i32
     // CHECK-X86-64:                   ret i32 %[[trunc]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N06read20
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N06read20
     // CHECK-PPC64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-PPC64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]]   = lshr i64 %[[val]], 42
@@ -69,14 +69,14 @@ namespace N0 {
     return s->b20;
   }
   unsigned read21(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N06read21
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N06read21
     // CHECK-X86-64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-X86-64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-X86-64:   %[[shr:.*]]   = lshr i64 %[[val]], 22
     // CHECK-X86-64:   %[[and:.*]]   = and i64 %[[shr]], 3
     // CHECK-X86-64:   %[[trunc:.*]] = trunc i64 %[[and]] to i32
     // CHECK-X86-64:                   ret i32 %[[trunc]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N06read21
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N06read21
     // CHECK-PPC64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-PPC64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]]   = lshr i64 %[[val]], 40
@@ -86,14 +86,14 @@ namespace N0 {
     return s->b21;
   }
   unsigned read30(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N06read30
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N06read30
     // CHECK-X86-64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-X86-64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-X86-64:   %[[shr:.*]]   = lshr i64 %[[val]], 24
     // CHECK-X86-64:   %[[and:.*]]   = and i64 %[[shr]], 1073741823
     // CHECK-X86-64:   %[[trunc:.*]] = trunc i64 %[[and]] to i32
     // CHECK-X86-64:                   ret i32 %[[trunc]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N06read30
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N06read30
     // CHECK-PPC64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-PPC64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]]   = lshr i64 %[[val]], 10
@@ -103,14 +103,14 @@ namespace N0 {
     return s->b30;
   }
   unsigned read31(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N06read31
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N06read31
     // CHECK-X86-64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-X86-64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-X86-64:   %[[shr:.*]]   = lshr i64 %[[val]], 54
     // CHECK-X86-64:   %[[and:.*]]   = and i64 %[[shr]], 3
     // CHECK-X86-64:   %[[trunc:.*]] = trunc i64 %[[and]] to i32
     // CHECK-X86-64:                   ret i32 %[[trunc]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N06read31
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N06read31
     // CHECK-PPC64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-PPC64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]]   = lshr i64 %[[val]], 8
@@ -120,14 +120,14 @@ namespace N0 {
     return s->b31;
   }
   unsigned read70(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N06read70
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N06read70
     // CHECK-X86-64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-X86-64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-X86-64:   %[[shr:.*]]   = lshr i64 %[[val]], 56
     // CHECK-X86-64:   %[[and:.*]]   = and i64 %[[shr]], 63
     // CHECK-X86-64:   %[[trunc:.*]] = trunc i64 %[[and]] to i32
     // CHECK-X86-64:                   ret i32 %[[trunc]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N06read70
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N06read70
     // CHECK-PPC64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-PPC64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]]   = lshr i64 %[[val]], 2
@@ -137,13 +137,13 @@ namespace N0 {
     return s->b70;
   }
   unsigned read71(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N06read71
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N06read71
     // CHECK-X86-64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-X86-64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-X86-64:   %[[shr:.*]]   = lshr i64 %[[val]], 62
     // CHECK-X86-64:   %[[trunc:.*]] = trunc i64 %[[shr]] to i32
     // CHECK-X86-64:                   ret i32 %[[trunc]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N06read71
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N06read71
     // CHECK-PPC64:   %[[ptr:.*]]   = bitcast %{{.*}}* %{{.*}} to i64*
     // CHECK-PPC64:   %[[val:.*]]   = load i64* %[[ptr]]
     // CHECK-PPC64:   %[[and:.*]]   = and i64 %[[val]], 3
@@ -166,13 +166,13 @@ namespace N1 {
     char c;
   };
   unsigned read(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N14read
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N14read
     // CHECK-X86-64:   %[[ptr:.*]] = getelementptr inbounds %{{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-X86-64:   %[[val:.*]] = load i8* %[[ptr]]
     // CHECK-X86-64:   %[[and:.*]] = and i8 %[[val]], 1
     // CHECK-X86-64:   %[[ext:.*]] = zext i8 %[[and]] to i32
     // CHECK-X86-64:                 ret i32 %[[ext]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N14read
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N14read
     // CHECK-PPC64:   %[[ptr:.*]] = getelementptr inbounds %{{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-PPC64:   %[[val:.*]] = load i8* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]] = lshr i8 %[[val]], 7
@@ -181,7 +181,7 @@ namespace N1 {
     return s->b;
   }
   void write(S* s, unsigned x) {
-    // CHECK-X86-64: define void @_ZN2N15write
+    // CHECK-X86-64-LABEL: define void @_ZN2N15write
     // CHECK-X86-64:   %[[ptr:.*]]     = getelementptr inbounds %{{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-X86-64:   %[[x_trunc:.*]] = trunc i32 %{{.*}} to i8
     // CHECK-X86-64:   %[[old:.*]]     = load i8* %[[ptr]]
@@ -189,7 +189,7 @@ namespace N1 {
     // CHECK-X86-64:   %[[old_and:.*]] = and i8 %[[old]], -2
     // CHECK-X86-64:   %[[new:.*]]     = or i8 %[[old_and]], %[[x_and]]
     // CHECK-X86-64:                     store i8 %[[new]], i8* %[[ptr]]
-    // CHECK-PPC64: define void @_ZN2N15write
+    // CHECK-PPC64-LABEL: define void @_ZN2N15write
     // CHECK-PPC64:   %[[ptr:.*]]     = getelementptr inbounds %{{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-PPC64:   %[[x_trunc:.*]] = trunc i32 %{{.*}} to i8
     // CHECK-PPC64:   %[[old:.*]]     = load i8* %[[ptr]]
@@ -210,12 +210,12 @@ namespace N2 {
     void *p;
   };
   unsigned read(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N24read
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N24read
     // CHECK-X86-64:   %[[ptr:.*]] = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-X86-64:   %[[val:.*]] = load i32* %[[ptr]]
     // CHECK-X86-64:   %[[and:.*]] = and i32 %[[val]], 16777215
     // CHECK-X86-64:                 ret i32 %[[and]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N24read
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N24read
     // CHECK-PPC64:   %[[ptr:.*]] = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-PPC64:   %[[val:.*]] = load i32* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]] = lshr i32 %[[val]], 8
@@ -223,14 +223,14 @@ namespace N2 {
     return s->b;
   }
   void write(S* s, unsigned x) {
-    // CHECK-X86-64: define void @_ZN2N25write
+    // CHECK-X86-64-LABEL: define void @_ZN2N25write
     // CHECK-X86-64:   %[[ptr:.*]]     = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-X86-64:   %[[old:.*]]     = load i32* %[[ptr]]
     // CHECK-X86-64:   %[[x_and:.*]]   = and i32 %{{.*}}, 16777215
     // CHECK-X86-64:   %[[old_and:.*]] = and i32 %[[old]], -16777216
     // CHECK-X86-64:   %[[new:.*]]     = or i32 %[[old_and]], %[[x_and]]
     // CHECK-X86-64:                     store i32 %[[new]], i32* %[[ptr]]
-    // CHECK-PPC64: define void @_ZN2N25write
+    // CHECK-PPC64-LABEL: define void @_ZN2N25write
     // CHECK-PPC64:   %[[ptr:.*]]     = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-PPC64:   %[[old:.*]]     = load i32* %[[ptr]]
     // CHECK-PPC64:   %[[x_and:.*]]   = and i32 %{{.*}}, 16777215
@@ -249,12 +249,12 @@ namespace N3 {
     unsigned b : 24;
   };
   unsigned read(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N34read
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N34read
     // CHECK-X86-64:   %[[ptr:.*]] = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-X86-64:   %[[val:.*]] = load i32* %[[ptr]]
     // CHECK-X86-64:   %[[and:.*]] = and i32 %[[val]], 16777215
     // CHECK-X86-64:                 ret i32 %[[and]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N34read
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N34read
     // CHECK-PPC64:   %[[ptr:.*]] = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-PPC64:   %[[val:.*]] = load i32* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]] = lshr i32 %[[val]], 8
@@ -262,14 +262,14 @@ namespace N3 {
     return s->b;
   }
   void write(S* s, unsigned x) {
-    // CHECK-X86-64: define void @_ZN2N35write
+    // CHECK-X86-64-LABEL: define void @_ZN2N35write
     // CHECK-X86-64:   %[[ptr:.*]]     = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-X86-64:   %[[old:.*]]     = load i32* %[[ptr]]
     // CHECK-X86-64:   %[[x_and:.*]]   = and i32 %{{.*}}, 16777215
     // CHECK-X86-64:   %[[old_and:.*]] = and i32 %[[old]], -16777216
     // CHECK-X86-64:   %[[new:.*]]     = or i32 %[[old_and]], %[[x_and]]
     // CHECK-X86-64:                     store i32 %[[new]], i32* %[[ptr]]
-    // CHECK-PPC64: define void @_ZN2N35write
+    // CHECK-PPC64-LABEL: define void @_ZN2N35write
     // CHECK-PPC64:   %[[ptr:.*]]     = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-PPC64:   %[[old:.*]]     = load i32* %[[ptr]]
     // CHECK-PPC64:   %[[x_and:.*]]   = and i32 %{{.*}}, 16777215
@@ -300,13 +300,13 @@ namespace N4 {
     // FIXME: We should widen this load as long as the function isn't being
     // instrumented by thread-sanitizer.
     //
-    // CHECK-X86-64: define i32 @_ZN2N44read
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N44read
     // CHECK-X86-64:   %[[gep:.*]] = getelementptr inbounds {{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-X86-64:   %[[ptr:.*]] = bitcast [3 x i8]* %[[gep]] to i24*
     // CHECK-X86-64:   %[[val:.*]] = load i24* %[[ptr]]
     // CHECK-X86-64:   %[[ext:.*]] = zext i24 %[[val]] to i32
     // CHECK-X86-64:                 ret i32 %[[ext]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N44read
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N44read
     // CHECK-PPC64:   %[[gep:.*]] = getelementptr inbounds {{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-PPC64:   %[[ptr:.*]] = bitcast [3 x i8]* %[[gep]] to i24*
     // CHECK-PPC64:   %[[val:.*]] = load i24* %[[ptr]]
@@ -315,12 +315,12 @@ namespace N4 {
     return s->b;
   }
   void write(Base* s, unsigned x) {
-    // CHECK-X86-64: define void @_ZN2N45write
+    // CHECK-X86-64-LABEL: define void @_ZN2N45write
     // CHECK-X86-64:   %[[gep:.*]] = getelementptr inbounds {{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-X86-64:   %[[ptr:.*]] = bitcast [3 x i8]* %[[gep]] to i24*
     // CHECK-X86-64:   %[[new:.*]] = trunc i32 %{{.*}} to i24
     // CHECK-X86-64:                 store i24 %[[new]], i24* %[[ptr]]
-    // CHECK-PPC64: define void @_ZN2N45write
+    // CHECK-PPC64-LABEL: define void @_ZN2N45write
     // CHECK-PPC64:   %[[gep:.*]] = getelementptr inbounds {{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-PPC64:   %[[ptr:.*]] = bitcast [3 x i8]* %[[gep]] to i24*
     // CHECK-PPC64:   %[[new:.*]] = trunc i32 %{{.*}} to i24
@@ -342,12 +342,12 @@ namespace N5 {
     struct Y { unsigned b : 24; } y;
   };
   unsigned read(U* u) {
-    // CHECK-X86-64: define i32 @_ZN2N54read
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N54read
     // CHECK-X86-64:   %[[ptr:.*]] = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-X86-64:   %[[val:.*]] = load i32* %[[ptr]]
     // CHECK-X86-64:   %[[and:.*]] = and i32 %[[val]], 16777215
     // CHECK-X86-64:                 ret i32 %[[and]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N54read
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N54read
     // CHECK-PPC64:   %[[ptr:.*]] = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-PPC64:   %[[val:.*]] = load i32* %[[ptr]]
     // CHECK-PPC64:   %[[shr:.*]] = lshr i32 %[[val]], 8
@@ -355,14 +355,14 @@ namespace N5 {
     return u->y.b;
   }
   void write(U* u, unsigned x) {
-    // CHECK-X86-64: define void @_ZN2N55write
+    // CHECK-X86-64-LABEL: define void @_ZN2N55write
     // CHECK-X86-64:   %[[ptr:.*]]     = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-X86-64:   %[[old:.*]]     = load i32* %[[ptr]]
     // CHECK-X86-64:   %[[x_and:.*]]   = and i32 %{{.*}}, 16777215
     // CHECK-X86-64:   %[[old_and:.*]] = and i32 %[[old]], -16777216
     // CHECK-X86-64:   %[[new:.*]]     = or i32 %[[old_and]], %[[x_and]]
     // CHECK-X86-64:                     store i32 %[[new]], i32* %[[ptr]]
-    // CHECK-PPC64: define void @_ZN2N55write
+    // CHECK-PPC64-LABEL: define void @_ZN2N55write
     // CHECK-PPC64:   %[[ptr:.*]]     = bitcast %{{.*}}* %{{.*}} to i32*
     // CHECK-PPC64:   %[[old:.*]]     = load i32* %[[ptr]]
     // CHECK-PPC64:   %[[x_and:.*]]   = and i32 %{{.*}}, 16777215
@@ -387,7 +387,7 @@ namespace N6 {
     unsigned char b2 : 8;
   };
   unsigned read(S* s) {
-    // CHECK-X86-64: define i32 @_ZN2N64read
+    // CHECK-X86-64-LABEL: define i32 @_ZN2N64read
     // CHECK-X86-64:   %[[ptr1:.*]] = bitcast {{.*}}* %{{.*}} to i24*
     // CHECK-X86-64:   %[[val1:.*]] = load i24* %[[ptr1]]
     // CHECK-X86-64:   %[[ext1:.*]] = zext i24 %[[val1]] to i32
@@ -396,7 +396,7 @@ namespace N6 {
     // CHECK-X86-64:   %[[ext2:.*]] = zext i8 %[[val2]] to i32
     // CHECK-X86-64:   %[[add:.*]]  = add nsw i32 %[[ext1]], %[[ext2]]
     // CHECK-X86-64:                  ret i32 %[[add]]
-    // CHECK-PPC64: define zeroext i32 @_ZN2N64read
+    // CHECK-PPC64-LABEL: define zeroext i32 @_ZN2N64read
     // CHECK-PPC64:   %[[ptr1:.*]] = bitcast {{.*}}* %{{.*}} to i24*
     // CHECK-PPC64:   %[[val1:.*]] = load i24* %[[ptr1]]
     // CHECK-PPC64:   %[[ext1:.*]] = zext i24 %[[val1]] to i32
@@ -408,14 +408,14 @@ namespace N6 {
     return s->b1 + s->b2;
   }
   void write(S* s, unsigned x) {
-    // CHECK-X86-64: define void @_ZN2N65write
+    // CHECK-X86-64-LABEL: define void @_ZN2N65write
     // CHECK-X86-64:   %[[ptr1:.*]] = bitcast {{.*}}* %{{.*}} to i24*
     // CHECK-X86-64:   %[[new1:.*]] = trunc i32 %{{.*}} to i24
     // CHECK-X86-64:                  store i24 %[[new1]], i24* %[[ptr1]]
     // CHECK-X86-64:   %[[new2:.*]] = trunc i32 %{{.*}} to i8
     // CHECK-X86-64:   %[[ptr2:.*]] = getelementptr inbounds {{.*}}* %{{.*}}, i32 0, i32 1
     // CHECK-X86-64:                  store i8 %[[new2]], i8* %[[ptr2]]
-    // CHECK-PPC64: define void @_ZN2N65write
+    // CHECK-PPC64-LABEL: define void @_ZN2N65write
     // CHECK-PPC64:   %[[ptr1:.*]] = bitcast {{.*}}* %{{.*}} to i24*
     // CHECK-PPC64:   %[[new1:.*]] = trunc i32 %{{.*}} to i24
     // CHECK-PPC64:                  store i24 %[[new1]], i24* %[[ptr1]]
index 30f1f074b9b36c59d52473e8a3154c7cc2f85491..616fd67ccc3840c68f93a98fbd096756e8644564 100644 (file)
@@ -15,13 +15,13 @@ int main()
        return 0;
 }
 
-// CHECK: define internal void @__Block_byref_object_copy_
+// CHECK-LABEL: define internal void @__Block_byref_object_copy_
 // CHECK: call {{.*}} @_ZN1AC1ERKS_
-// CHECK: define internal void @__Block_byref_object_dispose_
+// CHECK-LABEL: define internal void @__Block_byref_object_dispose_
 // CHECK: call {{.*}} @_ZN1AD1Ev
-// CHECK: define internal void @__copy_helper_block_
+// CHECK-LABEL: define internal void @__copy_helper_block_
 // CHECK: call void @_Block_object_assign
-// CHECK: define internal void @__destroy_helper_block_
+// CHECK-LABEL: define internal void @__destroy_helper_block_
 // CHECK: call void @_Block_object_dispose
 
 // rdar://problem/11135650
index 4ee6b1c10eb11f97bc0b81df0f6ad5d7aef8417b..bd37d4418d4f07204b3f9660e5055c95dabb4fd2 100644 (file)
@@ -36,13 +36,13 @@ X::~X() {
 };
 
 
-// CHECK: define internal void @___ZN4ZoneC2Ev_block_invoke
-// CHECK: define internal void @___ZN4ZoneC2Ev_block_invoke_
-// CHECK: define internal void @___ZN4ZoneD2Ev_block_invoke
-// CHECK: define internal void @___ZN4ZoneD2Ev_block_invoke_
-// CHECK: define internal void @___ZN1XC1Ev_block_invoke
-// CHECK: define internal void @___ZN1XC1Ev_block_invoke_
-// CHECK: define internal void @___ZN1XC2Ev_block_invoke
-// CHECK: define internal void @___ZN1XC2Ev_block_invoke_
-// CHECK: define internal void @___ZN1XD2Ev_block_invoke
-// CHECK: define internal void @___ZN1XD2Ev_block_invoke_
+// CHECK-LABEL: define internal void @___ZN4ZoneC2Ev_block_invoke
+// CHECK-LABEL: define internal void @___ZN4ZoneC2Ev_block_invoke_
+// CHECK-LABEL: define internal void @___ZN4ZoneD2Ev_block_invoke
+// CHECK-LABEL: define internal void @___ZN4ZoneD2Ev_block_invoke_
+// CHECK-LABEL: define internal void @___ZN1XC1Ev_block_invoke
+// CHECK-LABEL: define internal void @___ZN1XC1Ev_block_invoke_
+// CHECK-LABEL: define internal void @___ZN1XC2Ev_block_invoke
+// CHECK-LABEL: define internal void @___ZN1XC2Ev_block_invoke_
+// CHECK-LABEL: define internal void @___ZN1XD2Ev_block_invoke
+// CHECK-LABEL: define internal void @___ZN1XD2Ev_block_invoke_
index 42d33ae8564eb136817d5571f7b9883b2da32d7a..9ff5826ec5f191060b92ce039d9c66e183c93e86 100644 (file)
@@ -100,7 +100,7 @@ namespace test_block_in_lambda {
     };
     lambda(); // make sure we emit the invocation function
   }
-  // CHECK:    define internal void @"_ZZN20test_block_in_lambda4testENS_1AEENK3$_0clEv"(
+  // CHECK-LABEL:    define internal void @"_ZZN20test_block_in_lambda4testENS_1AEENK3$_0clEv"(
   // CHECK:      [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]], align 8
   // CHECK:      [[THIS:%.*]] = load [[LAMBDA_T:%.*]]**
   // CHECK:      [[TO_DESTROY:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[BLOCK]], i32 0, i32 5
index 81eef0e0282260af5a0e07d0241f902c69011301..8a6fdacf8d1f7663c99bc623bbbe79b837c73b92 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 %s -fblocks -triple x86_64-apple-darwin -emit-llvm -o - | FileCheck %s
 
 namespace test0 {
-  // CHECK: define void @_ZN5test04testEi(
+  // CHECK-LABEL: define void @_ZN5test04testEi(
   // CHECK: define internal void @___ZN5test04testEi_block_invoke{{.*}}(
   // CHECK: define internal void @___ZN5test04testEi_block_invoke_2{{.*}}(
   void test(int x) {
@@ -13,7 +13,7 @@ extern void (^out)();
 
 namespace test1 {
   // Capturing const objects doesn't require a local block.
-  // CHECK: define void @_ZN5test15test1Ev()
+  // CHECK-LABEL: define void @_ZN5test15test1Ev()
   // CHECK:   store void ()* bitcast ({{.*}} @__block_literal_global{{.*}} to void ()*), void ()** @out
   void test1() {
     const int NumHorsemen = 4;
@@ -21,7 +21,7 @@ namespace test1 {
   }
 
   // That applies to structs too...
-  // CHECK: define void @_ZN5test15test2Ev()
+  // CHECK-LABEL: define void @_ZN5test15test2Ev()
   // CHECK:   store void ()* bitcast ({{.*}} @__block_literal_global{{.*}} to void ()*), void ()** @out
   struct loc { double x, y; };
   void test2() {
@@ -30,7 +30,7 @@ namespace test1 {
   }
 
   // ...unless they have mutable fields...
-  // CHECK: define void @_ZN5test15test3Ev()
+  // CHECK-LABEL: define void @_ZN5test15test3Ev()
   // CHECK:   [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK:   [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to void ()*
   // CHECK:   store void ()* [[T0]], void ()** @out
@@ -41,7 +41,7 @@ namespace test1 {
   }
 
   // ...or non-trivial destructors...
-  // CHECK: define void @_ZN5test15test4Ev()
+  // CHECK-LABEL: define void @_ZN5test15test4Ev()
   // CHECK:   [[OBJ:%.*]] = alloca
   // CHECK:   [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK:   [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to void ()*
@@ -69,22 +69,22 @@ namespace test2 {
     ~B();
   };
 
-  // CHECK: define void @_ZN5test24testEv()
+  // CHECK-LABEL: define void @_ZN5test24testEv()
   void test() {
     __block A a;
     __block B b;
   }
 
-  // CHECK: define internal void @__Block_byref_object_copy
+  // CHECK-LABEL: define internal void @__Block_byref_object_copy
   // CHECK: call void @_ZN5test21AC1ERKS0_(
 
-  // CHECK: define internal void @__Block_byref_object_dispose
+  // CHECK-LABEL: define internal void @__Block_byref_object_dispose
   // CHECK: call void @_ZN5test21AD1Ev(
 
-  // CHECK: define internal void @__Block_byref_object_copy
+  // CHECK-LABEL: define internal void @__Block_byref_object_copy
   // CHECK: call void @_ZN5test21BC1ERKS0_(
 
-  // CHECK: define internal void @__Block_byref_object_dispose
+  // CHECK-LABEL: define internal void @__Block_byref_object_dispose
   // CHECK: call void @_ZN5test21BD1Ev(
 }
 
@@ -118,8 +118,8 @@ namespace test4 {
     extern void consume(void(^)());
     consume(^{ return foo(A()); });
   }
-  // CHECK: define void @_ZN5test44testEv()
-  // CHECK: define internal void @___ZN5test44testEv_block_invoke
+  // CHECK-LABEL: define void @_ZN5test44testEv()
+  // CHECK-LABEL: define internal void @___ZN5test44testEv_block_invoke
   // CHECK: [[TMP:%.*]] = alloca [[A:%.*]], align 1
   // CHECK-NEXT: store i8* [[BLOCKDESC:%.*]], i8** {{.*}}, align 8
   // CHECK-NEXT: load i8*
@@ -147,7 +147,7 @@ namespace test5 {
     doWithBlock(b);
   }
 
-  // CHECK:    define void @_ZN5test54testEb(
+  // CHECK-LABEL:    define void @_ZN5test54testEb(
   // CHECK:      [[COND:%.*]] = alloca i8
   // CHECK-NEXT: [[X:%.*]] = alloca [[A:%.*]], align 4
   // CHECK-NEXT: [[B:%.*]] = alloca void ()*, align 8
@@ -197,7 +197,7 @@ namespace test6 {
     bar();
   }
 
-  // CHECK:    define void @_ZN5test64testEv()
+  // CHECK-LABEL:    define void @_ZN5test64testEv()
   // CHECK:      [[TEMP:%.*]] = alloca [[A:%.*]], align 1
   // CHECK-NEXT: call void @_ZN5test61AC1Ev([[A]]* [[TEMP]])
   // CHECK-NEXT: call void @_ZN5test63fooERKNS_1AEU13block_pointerFvvE(
index 3e3b070480816d9bdebb25a34acf93803661ab90..a5a344ffb6ee85666135a9e2a595d01e6b97f40b 100644 (file)
@@ -9,6 +9,6 @@ void func1(bool b, A& a1)
 {
     if ((a1.m_sorted = b)) {}
 }
-// CHECK: define void @_Z5func1bR1A
+// CHECK-LABEL: define void @_Z5func1bR1A
 // CHECK: br i1
 // CHECK: ret void
index f6e64d9e74154a031c34d38d9655d8f72d76ee97..1607623c6fea27103b007cbea93fd462bdae2474 100644 (file)
@@ -10,15 +10,15 @@ extern "C" {
   }
 }
 
-// CHECK: define void @_ZN1N1X1fEv
+// CHECK-LABEL: define void @_ZN1N1X1fEv
 
 extern "C" {
   static void test2_f() {
   }
-  // CHECK: define internal void @_Z7test2_fv
+  // CHECK-LABEL: define internal void @_Z7test2_fv
   static void test2_f(int x) {
   }
-  // CHECK: define internal void @_Z7test2_fi
+  // CHECK-LABEL: define internal void @_Z7test2_fi
   void test2_use() {
     test2_f();
     test2_f(42);
index d486f9b018260342e117dd0aeebcde203a6bc631..2cd8e114b1ec379d28e0639460117407e04cca32 100644 (file)
@@ -9,7 +9,7 @@ struct Y {
   ~Y();
 };
 
-// CHECK: define void @_Z1fiPPKc(
+// CHECK-LABEL: define void @_Z1fiPPKc(
 void f(int argc, const char* argv[]) {
   // CHECK: call void @_ZN1XC1Ev
   X x;
index a428a3e622d05f40a508cd626ec280d446810098..2843c2b69c9568e908d37e6ed1c502f80c035849 100644 (file)
@@ -55,7 +55,7 @@ void test2(int x) {
     return x;
   }();
 
-  // CHECK-2: define void @_Z5test2i
+  // CHECK-2-LABEL: define void @_Z5test2i
   // CHECK-2:   call {{.*}} @[[Lambda:["$\w]+]]
   //
   // CHECK-2: define internal {{.*}} @[[Lambda]]
@@ -75,7 +75,7 @@ void test3(int x) {
 
   // CHECK-3: %[[Capture:struct\.anon[\.0-9]*]] = type { i32* }
 
-  // CHECK-3: define void @_Z5test3i
+  // CHECK-3-LABEL: define void @_Z5test3i
   // CHECK-3:   store i32*
   // CHECK-3:   call void @{{.*}}__captured_stmt
   // CHECK-3:   ret void
@@ -87,7 +87,7 @@ void test4() {
     Foo f;
     f.x = 5;
   }
-  // CHECK-4: define void @_Z5test4v
+  // CHECK-4-LABEL: define void @_Z5test4v
   // CHECK-4:   call void @[[HelperName:["$_A-Za-z0-9]+]](%[[Capture:.*]]*
   // CHECK-4:   ret void
   //
index 709bbb2921c9304ced291a6a5766b4e69cdb44a0..217c3fdb0fe403b9c35e3f22d711abebffa1a48d 100644 (file)
@@ -340,7 +340,7 @@ class C : public A, public B // align=16
 // offset. The pointer before subtraction doesn't need to be aligned for
 // the destination type.
 
-// CHECK-LABEL: define void @_Z16downcast_pointerP1B(%class.B* %b)
+// CHECK-LABEL-LABEL: define void @_Z16downcast_pointerP1B(%class.B* %b)
 void downcast_pointer(B *b) {
   (void) static_cast<C*>(b);
   // Alignment check from EmitTypeCheck(TCK_DowncastPointer, ...)
@@ -357,7 +357,7 @@ void downcast_pointer(B *b) {
   // CHECK-NEXT: br i1 [[AND]]
 }
 
-// CHECK-LABEL: define void @_Z18downcast_referenceR1B(%class.B* %b)
+// CHECK-LABEL-LABEL: define void @_Z18downcast_referenceR1B(%class.B* %b)
 void downcast_reference(B &b) {
   (void) static_cast<C&>(b);
   // Alignment check from EmitTypeCheck(TCK_DowncastReference, ...)
index 5df0ea5876679d8ef4e987daf0a02a5ac7858db9..f1d88027c4fa7f052bb0bf7f8ca1fc689242fa86 100644 (file)
@@ -12,7 +12,7 @@ struct Y {
   X x;
 };
 
-// CHECK: define i32 @_Z1fv()
+// CHECK-LABEL: define i32 @_Z1fv()
 int f() {
   // CHECK: [[LVALUE:%[a-z0-9.]+]] = alloca
   // CHECK-NEXT: [[I:%[a-z0-9]+]] = getelementptr inbounds {{.*}}* [[LVALUE]], i32 0, i32 0
@@ -26,7 +26,7 @@ int f() {
   return ((Y){17, "seventeen"}).i;
 }
 
-// CHECK: define i32 @_Z1gv()
+// CHECK-LABEL: define i32 @_Z1gv()
 int g() {
   // CHECK: store [2 x i32]* %{{[a-z0-9.]+}}, [2 x i32]** [[V:%[a-z0-9.]+]]
   const int (&v)[2] = (int [2]) {1,2};
index cc2eaf5bd6a5ecd010aeb4e5df8cf1fdaea3c2dc..452f1c3c9b7e20b3b27a83e4af1dfd8117550ab6 100644 (file)
@@ -26,7 +26,7 @@ struct Y {
 
 X getX();
 
-// CHECK: define void @_Z11if_destructi(
+// CHECK-LABEL: define void @_Z11if_destructi(
 void if_destruct(int z) {
   // Verify that the condition variable is destroyed at the end of the
   // "if" statement.
@@ -95,7 +95,7 @@ void switch_destruct(int z) {
 
 int foo();
 
-// CHECK: define void @_Z14while_destructi
+// CHECK-LABEL: define void @_Z14while_destructi
 void while_destruct(int z) {
   // CHECK: [[Z:%.*]] = alloca i32
   // CHECK: [[CLEANUPDEST:%.*]] = alloca i32
@@ -135,7 +135,7 @@ void while_destruct(int z) {
   // CHECK: ret
 }
 
-// CHECK: define void @_Z12for_destructi(
+// CHECK-LABEL: define void @_Z12for_destructi(
 void for_destruct(int z) {
   // CHECK: [[Z:%.*]] = alloca i32
   // CHECK: [[CLEANUPDEST:%.*]] = alloca i32
@@ -224,7 +224,7 @@ void for_destruct(int z) {
 }
 
 void do_destruct(int z) {
-  // CHECK: define void @_Z11do_destruct
+  // CHECK-LABEL: define void @_Z11do_destruct
   do {
     // CHECK: store i32 77
     z = 77;
index 104a91d27356da54427a72ca7a3fdf1852c7464e..44ebf9808e4a2dc76d93f0fa3b09c90330bb3fc1 100644 (file)
@@ -77,7 +77,7 @@ namespace test3 {
   };
 
   B test0(B &x) {
-    // CHECK:    define void @_ZN5test35test0ERNS_1BE(
+    // CHECK-LABEL:    define void @_ZN5test35test0ERNS_1BE(
     // CHECK:      [[X:%.*]] = alloca [[B:%.*]]*,
     // CHECK-NEXT: store [[B]]* {{%.*}}, [[B]]** [[X]]
     // CHECK-NEXT: [[T0:%.*]] = load [[B]]** [[X]]
@@ -92,7 +92,7 @@ namespace test3 {
   }
 
   B test1() {
-    // CHECK:    define void @_ZN5test35test1Ev(
+    // CHECK-LABEL:    define void @_ZN5test35test1Ev(
     // CHECK:      [[TEMP:%.*]] = alloca [[B]],
     // CHECK-NEXT: call  void @_ZN5test312test1_helperEv([[B]]* sret [[TEMP]])
     // CHECK-NEXT: [[BOOL:%.*]] = call zeroext i1 @_ZN5test31BcvbEv([[B]]* [[TEMP]])
@@ -109,7 +109,7 @@ namespace test3 {
 
 
   A test2(B &x) {
-    // CHECK:    define void @_ZN5test35test2ERNS_1BE(
+    // CHECK-LABEL:    define void @_ZN5test35test2ERNS_1BE(
     // CHECK:      [[X:%.*]] = alloca [[B]]*,
     // CHECK-NEXT: store [[B]]* {{%.*}}, [[B]]** [[X]]
     // CHECK-NEXT: [[T0:%.*]] = load [[B]]** [[X]]
@@ -124,7 +124,7 @@ namespace test3 {
   }
 
   A test3() {
-    // CHECK:    define void @_ZN5test35test3Ev(
+    // CHECK-LABEL:    define void @_ZN5test35test3Ev(
     // CHECK:      [[TEMP:%.*]] = alloca [[B]],
     // CHECK-NEXT: call  void @_ZN5test312test3_helperEv([[B]]* sret [[TEMP]])
     // CHECK-NEXT: [[BOOL:%.*]] = call zeroext i1 @_ZN5test31BcvbEv([[B]]* [[TEMP]])
index d5382872f9d93d650fe6085fc0671d95fdb872f7..a3cc2fef1e8fda42ab7694d252f50521cfa80f75 100644 (file)
@@ -36,19 +36,19 @@ Checker c;
 
 }
 
-// CHECK: define i32 @_Z12getCtorCallsv()
+// CHECK-LABEL: define i32 @_Z12getCtorCallsv()
 int getCtorCalls() {
   // CHECK: ret i32 5
   return ctorcalls;
 }
 
-// CHECK: define i32 @_Z12getDtorCallsv()
+// CHECK-LABEL: define i32 @_Z12getDtorCallsv()
 int getDtorCalls() {
   // CHECK: ret i32 5
   return dtorcalls;
 }
 
-// CHECK: define zeroext i1 @_Z7successv()
+// CHECK-LABEL: define zeroext i1 @_Z7successv()
 bool success() {
   // CHECK: ret i1 true
   return ctorcalls == dtorcalls;
index 691795f77619a8b51fd3edba30311af8c293770a..4f6d635e95d1ead126f38550e1ec4239a587af26 100644 (file)
@@ -5,7 +5,7 @@
 // PR6521
 void bar();
 struct Foo {
-  // CHECK: define linkonce_odr void @_ZN3Foo3fooEv
+  // CHECK-LABEL: define linkonce_odr void @_ZN3Foo3fooEv
   static void foo() __attribute__((constructor)) {
     bar();
   }
index 0a492f954c4a6c783749db34fd0e18edd93d10cf..707a70ef2c19751373ff743d84afe6a8c46a21ec 100644 (file)
@@ -31,15 +31,15 @@ B::B(int *i) : i_(i) { }
 B::~B() { }
 #endif
 
-// CHECKGEN: define void @_ZN1BC1EPi(%class.B* %this, i32* %i)
-// CHECKGEN: define void @_ZN1BC2EPi(%class.B* %this, i32* %i)
-// CHECKGEN: define void @_ZN1BD1Ev(%class.B* %this)
-// CHECKGEN: define void @_ZN1BD2Ev(%class.B* %this)
+// CHECKGEN-LABEL: define void @_ZN1BC1EPi(%class.B* %this, i32* %i)
+// CHECKGEN-LABEL: define void @_ZN1BC2EPi(%class.B* %this, i32* %i)
+// CHECKGEN-LABEL: define void @_ZN1BD1Ev(%class.B* %this)
+// CHECKGEN-LABEL: define void @_ZN1BD2Ev(%class.B* %this)
 
-// CHECKARM: define %class.B* @_ZN1BC1EPi(%class.B* returned %this, i32* %i)
-// CHECKARM: define %class.B* @_ZN1BC2EPi(%class.B* returned %this, i32* %i)
-// CHECKARM: define %class.B* @_ZN1BD1Ev(%class.B* returned %this)
-// CHECKARM: define %class.B* @_ZN1BD2Ev(%class.B* returned %this)
+// CHECKARM-LABEL: define %class.B* @_ZN1BC1EPi(%class.B* returned %this, i32* %i)
+// CHECKARM-LABEL: define %class.B* @_ZN1BC2EPi(%class.B* returned %this, i32* %i)
+// CHECKARM-LABEL: define %class.B* @_ZN1BD1Ev(%class.B* returned %this)
+// CHECKARM-LABEL: define %class.B* @_ZN1BD2Ev(%class.B* returned %this)
 
 // CHECKMS: define %class.B* @"\01??0B@@QEAA@PEAH@Z"(%class.B* returned %this, i32* %i)
 
@@ -56,17 +56,17 @@ C::C(int *i, char *c) : B(i), c_(c) { }
 C::~C() { }
 #endif
 
-// CHECKGEN: define void @_ZN1CC1EPiPc(%class.C* %this, i32* %i, i8* %c)
-// CHECKGEN: define void @_ZN1CC2EPiPc(%class.C* %this, i32* %i, i8* %c)
-// CHECKGEN: define void @_ZN1CD0Ev(%class.C* %this)
-// CHECKGEN: define void @_ZN1CD1Ev(%class.C* %this)
-// CHECKGEN: define void @_ZN1CD2Ev(%class.C* %this)
+// CHECKGEN-LABEL: define void @_ZN1CC1EPiPc(%class.C* %this, i32* %i, i8* %c)
+// CHECKGEN-LABEL: define void @_ZN1CC2EPiPc(%class.C* %this, i32* %i, i8* %c)
+// CHECKGEN-LABEL: define void @_ZN1CD0Ev(%class.C* %this)
+// CHECKGEN-LABEL: define void @_ZN1CD1Ev(%class.C* %this)
+// CHECKGEN-LABEL: define void @_ZN1CD2Ev(%class.C* %this)
 
-// CHECKARM: define %class.C* @_ZN1CC1EPiPc(%class.C* returned %this, i32* %i, i8* %c)
-// CHECKARM: define %class.C* @_ZN1CC2EPiPc(%class.C* returned %this, i32* %i, i8* %c)
-// CHECKARM: define void @_ZN1CD0Ev(%class.C* %this)
-// CHECKARM: define %class.C* @_ZN1CD1Ev(%class.C* returned %this)
-// CHECKARM: define %class.C* @_ZN1CD2Ev(%class.C* returned %this)
+// CHECKARM-LABEL: define %class.C* @_ZN1CC1EPiPc(%class.C* returned %this, i32* %i, i8* %c)
+// CHECKARM-LABEL: define %class.C* @_ZN1CC2EPiPc(%class.C* returned %this, i32* %i, i8* %c)
+// CHECKARM-LABEL: define void @_ZN1CD0Ev(%class.C* %this)
+// CHECKARM-LABEL: define %class.C* @_ZN1CD1Ev(%class.C* returned %this)
+// CHECKARM-LABEL: define %class.C* @_ZN1CD2Ev(%class.C* returned %this)
 
 // CHECKMS: define %class.C* @"\01??0C@@QEAA@PEAHPEAD@Z"(%class.C* returned %this, i32* %i, i8* %c)
 
@@ -81,15 +81,15 @@ D::D() { }
 D::~D() { }
 #endif
 
-// CHECKGEN: define void @_ZN1DC1Ev(%class.D* %this)
-// CHECKGEN: define void @_ZN1DC2Ev(%class.D* %this, i8** %vtt)
-// CHECKGEN: define void @_ZN1DD1Ev(%class.D* %this)
-// CHECKGEN: define void @_ZN1DD2Ev(%class.D* %this, i8** %vtt)
+// CHECKGEN-LABEL: define void @_ZN1DC1Ev(%class.D* %this)
+// CHECKGEN-LABEL: define void @_ZN1DC2Ev(%class.D* %this, i8** %vtt)
+// CHECKGEN-LABEL: define void @_ZN1DD1Ev(%class.D* %this)
+// CHECKGEN-LABEL: define void @_ZN1DD2Ev(%class.D* %this, i8** %vtt)
 
-// CHECKARM: define %class.D* @_ZN1DC1Ev(%class.D* returned %this)
-// CHECKARM: define %class.D* @_ZN1DC2Ev(%class.D* returned %this, i8** %vtt)
-// CHECKARM: define %class.D* @_ZN1DD1Ev(%class.D* returned %this)
-// CHECKARM: define %class.D* @_ZN1DD2Ev(%class.D* returned %this, i8** %vtt)
+// CHECKARM-LABEL: define %class.D* @_ZN1DC1Ev(%class.D* returned %this)
+// CHECKARM-LABEL: define %class.D* @_ZN1DC2Ev(%class.D* returned %this, i8** %vtt)
+// CHECKARM-LABEL: define %class.D* @_ZN1DD1Ev(%class.D* returned %this)
+// CHECKARM-LABEL: define %class.D* @_ZN1DD2Ev(%class.D* returned %this, i8** %vtt)
 
 class E {
 public:
@@ -105,7 +105,7 @@ void test_destructor() {
   e2->~E();
 }
 
-// CHECKARM: define void @_Z15test_destructorv()
+// CHECKARM-LABEL: define void @_Z15test_destructorv()
 
 // Verify that virtual calls to destructors are not marked with a 'returned'
 // this parameter at the call site...
index b33184e3966e99a7064fe3bd21083cf738f90b99..477a439f337a231d3494fa1073e8e56782e785ad 100644 (file)
@@ -70,7 +70,7 @@ template <class T> struct A {
   operator int() {return 0;}
 };
 
-// CHECK: define void @_Z1fv()
+// CHECK-LABEL: define void @_Z1fv()
 void f() {
   // CHECK: call void @_ZN1AIsEC1Ei
   A<short> a4 = 97;
@@ -93,7 +93,7 @@ namespace InitVTable {
     B(int);
   };
 
-  // CHECK: define void @_ZN10InitVTable1BC2Ev(%"struct.InitVTable::B"* %this) unnamed_addr
+  // CHECK-LABEL: define void @_ZN10InitVTable1BC2Ev(%"struct.InitVTable::B"* %this) unnamed_addr
   // CHECK:      [[T0:%.*]] = bitcast [[B:%.*]]* [[THIS:%.*]] to i8***
   // CHECK-NEXT: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN10InitVTable1BE, i64 0, i64 2), i8*** [[T0]]
   // CHECK:      [[VTBL:%.*]] = load i32 ([[B]]*)*** {{%.*}}
@@ -106,7 +106,7 @@ namespace InitVTable {
   // CHECK-NEXT: ret void
   B::B() : A(foo()) {}
 
-  // CHECK: define void @_ZN10InitVTable1BC2Ei(%"struct.InitVTable::B"* %this, i32 %x) unnamed_addr
+  // CHECK-LABEL: define void @_ZN10InitVTable1BC2Ei(%"struct.InitVTable::B"* %this, i32 %x) unnamed_addr
   // CHECK:      [[ARG:%.*]] = add nsw i32 {{%.*}}, 5
   // CHECK-NEXT: call void @_ZN10InitVTable1AC2Ei({{.*}}* {{%.*}}, i32 [[ARG]])
   // CHECK-NEXT: [[T0:%.*]] = bitcast [[B]]* {{%.*}} to i8***
@@ -120,7 +120,7 @@ namespace rdar9694300 {
     int x;
   };
 
-  // CHECK: define void @_ZN11rdar96943001fEv
+  // CHECK-LABEL: define void @_ZN11rdar96943001fEv
   void f() {
     // CHECK: alloca
     X x;
@@ -163,7 +163,7 @@ template<typename T> struct X;
 
 // Make sure that the instantiated constructor initializes start and
 // end properly.
-// CHECK: define linkonce_odr void @_ZN1XIiEC2ERKS0_(%struct.X* %this, %struct.X* %other) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN1XIiEC2ERKS0_(%struct.X* %this, %struct.X* %other) unnamed_addr
 // CHECK: {{store.*null}}
 // CHECK: {{store.*null}}
 // CHECK: ret
@@ -200,7 +200,7 @@ namespace PR10720 {
     // CHECK-PR10720: ret
     pair2 &operator=(pair2&&) = default;
 
-    // CHECK-PR10720: define linkonce_odr void @_ZN7PR107205pair2C2EOS0_
+    // CHECK-PR10720-LABEL: define linkonce_odr void @_ZN7PR107205pair2C2EOS0_
     // CHECK-PR10720-NOT: ret
     // CHECK-PR10720: load
     // CHECK-PR10720: icmp ult
@@ -210,7 +210,7 @@ namespace PR10720 {
     // CHECK-PR10720: ret void
     pair2(pair2&&) = default;
 
-    // CHECK-PR10720: define linkonce_odr void @_ZN7PR107205pair2C2ERKS0_
+    // CHECK-PR10720-LABEL: define linkonce_odr void @_ZN7PR107205pair2C2ERKS0_
     // CHECK-PR10720-NOT: ret
     // CHECK-PR10720: load
     // CHECK-PR10720: icmp ult
@@ -223,7 +223,7 @@ namespace PR10720 {
 
   struct pair : X { // Make the copy constructor non-trivial, so we actually generate it.
     int second[4];
-    // CHECK-PR10720: define linkonce_odr void @_ZN7PR107204pairC2ERKS0_
+    // CHECK-PR10720-LABEL: define linkonce_odr void @_ZN7PR107204pairC2ERKS0_
     // CHECK-PR10720-NOT: ret
     // CHECK-PR10720: call void @llvm.memcpy
     // CHECK-PR10720-NEXT: ret void
index 9e2da31f046aff0b90d560a225556bcfc092e4f7..f730b9ef491a947723458f83264fd1903c43dd88 100644 (file)
@@ -21,18 +21,18 @@ struct A {
 A::A(struct Undeclared &ref) : mem(0) {}
 
 // Check that delegation works.
-// CHECK: define void @_ZN1AC1ER10Undeclared(%struct.A* %this, %struct.Undeclared* %ref) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AC1ER10Undeclared(%struct.A* %this, %struct.Undeclared* %ref) unnamed_addr
 // CHECK: call void @_ZN1AC2ER10Undeclared(
 
-// CHECK: define void @_ZN1AC2ER10Undeclared(%struct.A* %this, %struct.Undeclared* %ref) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AC2ER10Undeclared(%struct.A* %this, %struct.Undeclared* %ref) unnamed_addr
 // CHECK: call void @_ZN6MemberC1Ei(
 
 A::A(ValueClass v) : mem(v.y - v.x) {}
 
-// CHECK: define void @_ZN1AC1E10ValueClass(%struct.A* %this, i64 %v.coerce) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AC1E10ValueClass(%struct.A* %this, i64 %v.coerce) unnamed_addr
 // CHECK: call void @_ZN1AC2E10ValueClass(
 
-// CHECK: define void @_ZN1AC2E10ValueClass(%struct.A* %this, i64 %v.coerce) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AC2E10ValueClass(%struct.A* %this, i64 %v.coerce) unnamed_addr
 // CHECK: call void @_ZN6MemberC1Ei(
 
 
@@ -44,10 +44,10 @@ struct B : A {
 
 B::B(struct Undeclared &ref) : A(ref), mem(1) {}
 
-// CHECK: define void @_ZN1BC1ER10Undeclared(%struct.B* %this, %struct.Undeclared* %ref) unnamed_addr
+// CHECK-LABEL: define void @_ZN1BC1ER10Undeclared(%struct.B* %this, %struct.Undeclared* %ref) unnamed_addr
 // CHECK: call void @_ZN1BC2ER10Undeclared(
 
-// CHECK: define void @_ZN1BC2ER10Undeclared(%struct.B* %this, %struct.Undeclared* %ref) unnamed_addr
+// CHECK-LABEL: define void @_ZN1BC2ER10Undeclared(%struct.B* %this, %struct.Undeclared* %ref) unnamed_addr
 // CHECK: call void @_ZN1AC2ER10Undeclared(
 // CHECK: call void @_ZN6MemberC1Ei(
 
@@ -64,12 +64,12 @@ struct C : virtual A {
 };
 C::C(int x) : A(ValueClass(x, x+1)), mem(x * x) {}
 
-// CHECK: define void @_ZN1CC1Ei(%struct.C* %this, i32 %x) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CC1Ei(%struct.C* %this, i32 %x) unnamed_addr
 // CHECK: call void @_ZN10ValueClassC1Eii(
 // CHECK: call void @_ZN1AC2E10ValueClass(
 // CHECK: call void @_ZN6MemberC1Ei(
 
-// CHECK: define void @_ZN1CC2Ei(%struct.C* %this, i8** %vtt, i32 %x) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CC2Ei(%struct.C* %this, i8** %vtt, i32 %x) unnamed_addr
 // CHECK: call void @_ZN6MemberC1Ei(
 
 
@@ -83,12 +83,12 @@ struct D : A {
 
 D::D(int x, ...) : A(ValueClass(x, x+1)), mem(x*x) {}
 
-// CHECK: define void @_ZN1DC1Eiz(%struct.D* %this, i32 %x, ...) unnamed_addr
+// CHECK-LABEL: define void @_ZN1DC1Eiz(%struct.D* %this, i32 %x, ...) unnamed_addr
 // CHECK: call void @_ZN10ValueClassC1Eii(
 // CHECK: call void @_ZN1AC2E10ValueClass(
 // CHECK: call void @_ZN6MemberC1Ei(
 
-// CHECK: define void @_ZN1DC2Eiz(%struct.D* %this, i32 %x, ...) unnamed_addr
+// CHECK-LABEL: define void @_ZN1DC2Eiz(%struct.D* %this, i32 %x, ...) unnamed_addr
 // CHECK: call void @_ZN10ValueClassC1Eii(
 // CHECK: call void @_ZN1AC2E10ValueClass(
 // CHECK: call void @_ZN6MemberC1Ei(
@@ -109,7 +109,7 @@ namespace test1 {
   struct A { A(); void *ptr; };
   struct B { B(); int x; A a[0]; };
   B::B() {}
-  // CHECK:    define void @_ZN5test11BC2Ev(
+  // CHECK-LABEL:    define void @_ZN5test11BC2Ev(
   // CHECK:      [[THIS:%.*]] = load [[B:%.*]]**
   // CHECK-NEXT: ret void
 }
index c25e0467fad5bba8c5a5b35f47e3325fe3478794..18e92f98ebdef8789e5aafabe5fe39b9e92ecd9b 100644 (file)
@@ -1,4 +1,4 @@
 // RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s
 struct A {};
 A& (A::*x)(const A&) = &A::operator=;
-// CHECK: define linkonce_odr %struct.A* @_ZN1AaSERKS_
+// CHECK-LABEL: define linkonce_odr %struct.A* @_ZN1AaSERKS_
index b1447040e6c9d94193eb1bf857603ed687af1da3..727af1ba7cd3d4c64d33ee0cdd709609db6c45e0 100644 (file)
@@ -2,7 +2,7 @@
 
 struct A { int x; A(int); ~A(); };
 A f() { return A(0); }
-// CHECK: define void @_Z1fv
+// CHECK-LABEL: define void @_Z1fv
 // CHECK: call {{.*}} @_ZN1AC1Ei
 // CHECK-NEXT: ret void
 
@@ -63,7 +63,7 @@ namespace PR12139 {
     static A makeA() { A a; a.value = 2; return a; }
   };
 
-  // CHECK: define i32 @_ZN7PR121394testEv
+  // CHECK-LABEL: define i32 @_ZN7PR121394testEv
   int test() {
     // CHECK: call void @_ZN7PR121391A5makeAEv
     // CHECK-NEXT: call %"struct.PR12139::A"* @_ZN7PR121391AC1ERKS0_i
index f6c38219517ca196684ce222903970338d578865..c8b265ca2d123db5aa245176d0930f999c8cf5f9 100644 (file)
@@ -21,7 +21,7 @@ struct P {
 };
 
 
-// CHECK: define linkonce_odr void @_ZN1XC1ERKS_(%struct.X* %this, %struct.X*) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN1XC1ERKS_(%struct.X* %this, %struct.X*) unnamed_addr
 struct X  : M, N, P { // ...
   X() : f1(1.0), d1(2.0), i1(3), name("HELLO"), bf1(0xff), bf2(0xabcd),
         au_i1(1234), au1_4("MASKED") {}
@@ -148,7 +148,7 @@ void f(B b1) {
 // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[T4]], i8* [[T5]], i64 8, i32 8, i1 false)
 // CHECK-NEXT: ret [[A]]* [[THIS]]
 
-// CHECK:    define linkonce_odr void @_ZN12rdar138169401AC2ERKS0_(
+// CHECK-LABEL:    define linkonce_odr void @_ZN12rdar138169401AC2ERKS0_(
 // CHECK:      [[THIS:%.*]] = load [[A]]**
 // CHECK-NEXT: [[T0:%.*]] = bitcast [[A]]* [[THIS]] to i8***
 // CHECK-NEXT: store i8** getelementptr inbounds ([4 x i8*]* @_ZTVN12rdar138169401AE, i64 0, i64 2), i8*** [[T0]]
@@ -162,7 +162,7 @@ void f(B b1) {
 // CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[T4]], i8* [[T5]], i64 8, i32 8, i1 false)
 // CHECK-NEXT: ret void
 
-// CHECK: define linkonce_odr void @_ZN6PR66281BC2ERKS0_(%"struct.PR6628::B"* %this, %"struct.PR6628::B"*) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN6PR66281BC2ERKS0_(%"struct.PR6628::B"* %this, %"struct.PR6628::B"*) unnamed_addr
 // CHECK: call void @_ZN6PR66281TC1Ev
 // CHECK: call void @_ZN6PR66281TC1Ev
 // CHECK: call void @_ZN6PR66281AC2ERKS0_RKNS_1TES5_
index aecd64ec1aac5a15e54e800e2eb22b4a27ed4a21..1a16013a81a9df3960e36e65f39d9fc968a77f41 100644 (file)
@@ -12,7 +12,7 @@ struct Bar {
 
 void f(Foo);
 
-// CHECK: define void @_Z1g3Foo(%struct.Foo* %foo)
+// CHECK-LABEL: define void @_Z1g3Foo(%struct.Foo* %foo)
 void g(Foo foo) {
   // CHECK: call void @_ZN3BarC1Ev
   // CHECK: @_ZNK3BarcvRK3FooEv
index b98906599603c948ef030141030650c8037adf92..ff868fcdd06f5b6216ca62f2bc658186d121ff79 100644 (file)
@@ -25,9 +25,9 @@ main()
         return 0;
 }
 
-// CHECK: define internal void @__copy_helper_block_
+// CHECK-LABEL: define internal void @__copy_helper_block_
 // CHECK: call void @_ZN1AC1ERKS_
 
 
-// CHECK:define internal void @__destroy_helper_block_
+// CHECK-LABEL:define internal void @__destroy_helper_block_
 // CHECK: call void @_ZN1AD1Ev
index e909f03204542241b41bb3ac9a011858065f2e8a..c48e61fd14e03c29342891d7e2411ae7f38bf891 100644 (file)
@@ -87,7 +87,7 @@ namespace PR14588 {
     virtual void squawk() { other(); }
   };
 
-  // CHECK: define void @_ZN7PR145883FooC1Ev(%"class.PR14588::Foo"*
+  // CHECK-LABEL: define void @_ZN7PR145883FooC1Ev(%"class.PR14588::Foo"*
   // CHECK: call void @_ZN7PR145883FooC1EPKv(
   // CHECK: invoke void @_ZN7PR145885otherEv()
   // CHECK: call void @_ZN7PR145883FooD1Ev
index 3144e941ef4276a19e9878a93b6605e772edd0c2..49bc86fadc781ce934abf186d7df3d6d693f724c 100644 (file)
@@ -6,7 +6,7 @@ struct A { int a[1]; };
 typedef A x[];
 int f() {
   x{{{1}}};
-  // CHECK: define i32 @_Z1fv
+  // CHECK-LABEL: define i32 @_Z1fv
   // CHECK: store i32 1
   // (It's okay if the output changes here, as long as we don't crash.)
   return 0;
@@ -33,7 +33,7 @@ namespace ValueInitArrayOfMemPtr {
     S1();
   };
 
-  // CHECK: define void @_ZN22ValueInitArrayOfMemPtr1fEi
+  // CHECK-LABEL: define void @_ZN22ValueInitArrayOfMemPtr1fEi
   void f(int n) {
     Agg1 a = { n };
     // CHECK: store i32 -1,
@@ -42,7 +42,7 @@ namespace ValueInitArrayOfMemPtr {
     // CHECK: call void @llvm.memcpy.p0i8.p0i8.i32(i8* %{{.*}}, i8* bitcast ([3 x i32]* @[[THREE_NULL_MEMPTRS]] to i8*), i32 12, i32 4, i1 false)
   }
 
-  // CHECK: define void @_ZN22ValueInitArrayOfMemPtr1gEv
+  // CHECK-LABEL: define void @_ZN22ValueInitArrayOfMemPtr1gEv
   void g() {
     // CHECK: store i32 -1,
     f(a{});
@@ -54,7 +54,7 @@ namespace array_dtor {
   using T = S[3];
   void f(const T &);
   void f(T *);
-  // CHECK: define void @_ZN10array_dtor1gEv(
+  // CHECK-LABEL: define void @_ZN10array_dtor1gEv(
   void g() {
     // CHECK: %[[ARRAY:.*]] = alloca [3 x
     // CHECK: br
@@ -73,7 +73,7 @@ namespace array_dtor {
 
     // CHECK: ret void
   }
-  // CHECK: define void @_ZN10array_dtor1hEv(
+  // CHECK-LABEL: define void @_ZN10array_dtor1hEv(
   void h() {
     // CHECK: %[[ARRAY:.*]] = alloca [3 x
     // CHECK: br
@@ -91,7 +91,7 @@ namespace array_dtor {
 
     // CHECK: ret void
   }
-  // CHECK: define void @_ZN10array_dtor1iEv(
+  // CHECK-LABEL: define void @_ZN10array_dtor1iEv(
   void i() {
     // CHECK: %[[ARRAY:.*]] = alloca [3 x
     // CHECK: br
index efbf318b8178a865770cef2ed38d9e4d9a908d21..f60536e92094db97d8e9ab6d703f1fea5070a226 100644 (file)
@@ -6,21 +6,21 @@ struct S {
 };
 
 void fn1() {
-  // CHECK: define void @_Z3fn1v
+  // CHECK-LABEL: define void @_Z3fn1v
   S s { 1 };
   // CHECK: alloca %struct.S, align 1
   // CHECK: call void @_ZN1SC1Ei(%struct.S* %s, i32 1)
 }
 
 void fn2() {
-  // CHECK: define void @_Z3fn2v
+  // CHECK-LABEL: define void @_Z3fn2v
   S s { 1, 2.0, 3.0 };
   // CHECK: alloca %struct.S, align 1
   // CHECK: call void @_ZN1SC1Eidd(%struct.S* %s, i32 1, double 2.000000e+00, double 3.000000e+00)
 }
 
 void fn3() {
-  // CHECK: define void @_Z3fn3v
+  // CHECK-LABEL: define void @_Z3fn3v
   S sa[] { { 1 }, { 2 }, { 3 } };
   // CHECK: alloca [3 x %struct.S], align 1
   // CHECK: call void @_ZN1SC1Ei(%struct.S* %{{.+}}, i32 1)
@@ -29,7 +29,7 @@ void fn3() {
 }
 
 void fn4() {
-  // CHECK: define void @_Z3fn4v
+  // CHECK-LABEL: define void @_Z3fn4v
   S sa[] { { 1, 2.0, 3.0 }, { 4, 5.0, 6.0 } };
   // CHECK: alloca [2 x %struct.S], align 1
   // CHECK: call void @_ZN1SC1Eidd(%struct.S* %{{.+}}, i32 1, double 2.000000e+00, double 3.000000e+00)
index 458dee73c652b91c730cf92335cd8e397519e9aa..8e0d161bc0f4ec43467788a2caa86be34693e2b0 100644 (file)
@@ -37,7 +37,7 @@ namespace std {
 std::initializer_list<int> globalInitList1 = {1, 2, 3};
 
 void fn1(int i) {
-  // CHECK: define void @_Z3fn1i
+  // CHECK-LABEL: define void @_Z3fn1i
   // temporary array
   // CHECK: [[array:%[^ ]+]] = alloca [3 x i32]
   // CHECK: getelementptr inbounds [3 x i32]* [[array]], i{{32|64}} 0
@@ -66,7 +66,7 @@ struct destroyme2 {
 
 
 void fn2() {
-  // CHECK: define void @_Z3fn2v
+  // CHECK-LABEL: define void @_Z3fn2v
   void target(std::initializer_list<destroyme1>);
   // objects should be destroyed before dm2, after call returns
   target({ destroyme1(), destroyme1() });
@@ -76,7 +76,7 @@ void fn2() {
 }
 
 void fn3() {
-  // CHECK: define void @_Z3fn3v
+  // CHECK-LABEL: define void @_Z3fn3v
   // objects should be destroyed after dm2
   auto list = { destroyme1(), destroyme1() };
   destroyme2 dm2;
index 8dbb05711d2e338a5f47caed6610b38e4233abeb..164cbce027ef45f9747da8bc7ec881e47167e664 100644 (file)
@@ -76,13 +76,13 @@ namespace thread_local_global_array {
 
 
 // thread_local initializer:
-// CHECK: define internal void
+// CHECK-LABEL: define internal void
 // CHECK: store i32* getelementptr inbounds ([4 x i32]* @_ZGRN25thread_local_global_array1xE, i64 0, i64 0),
 // CHECK:       i32** getelementptr inbounds ({{.*}}* @_ZN25thread_local_global_array1xE, i32 0, i32 0), align 8
 // CHECK: store i64 4, i64* getelementptr inbounds ({{.*}}* @_ZN25thread_local_global_array1xE, i32 0, i32 1), align 8
 
 
-// CHECK: define internal void
+// CHECK-LABEL: define internal void
 // CHECK: call void @_ZN8witharg1C1ERK10destroyme1(%[[WITHARG]]* getelementptr inbounds ([2 x %[[WITHARG]]]* @_ZGR15globalInitList2, i{{32|64}} 0, i{{32|64}} 0
 // CHECK: call void @_ZN8witharg1C1ERK10destroyme1(%[[WITHARG]]* getelementptr inbounds ([2 x %[[WITHARG]]]* @_ZGR15globalInitList2, i{{32|64}} 0, i{{32|64}} 1
 // CHECK: __cxa_atexit
@@ -96,7 +96,7 @@ std::initializer_list<witharg1> globalInitList2 = {
 };
 
 void fn1(int i) {
-  // CHECK: define void @_Z3fn1i
+  // CHECK-LABEL: define void @_Z3fn1i
   // temporary array
   // CHECK: [[array:%[^ ]+]] = alloca [3 x i32]
   // CHECK: getelementptr inbounds [3 x i32]* [[array]], i{{32|64}} 0
@@ -116,7 +116,7 @@ void fn1(int i) {
 }
 
 void fn2() {
-  // CHECK: define void @_Z3fn2v
+  // CHECK-LABEL: define void @_Z3fn2v
   void target(std::initializer_list<destroyme1>);
   // objects should be destroyed before dm2, after call returns
   // CHECK: call void @_Z6targetSt16initializer_listI10destroyme1E
@@ -127,7 +127,7 @@ void fn2() {
 }
 
 void fn3() {
-  // CHECK: define void @_Z3fn3v
+  // CHECK-LABEL: define void @_Z3fn3v
   // objects should be destroyed after dm2
   auto list = { destroyme1(), destroyme1() };
   destroyme2 dm2;
@@ -136,7 +136,7 @@ void fn3() {
 }
 
 void fn4() {
-  // CHECK: define void @_Z3fn4v
+  // CHECK-LABEL: define void @_Z3fn4v
   void target(std::initializer_list<witharg1>);
   // objects should be destroyed before dm2, after call returns
   // CHECK: call void @_ZN8witharg1C1ERK10destroyme1
@@ -149,7 +149,7 @@ void fn4() {
 }
 
 void fn5() {
-  // CHECK: define void @_Z3fn5v
+  // CHECK-LABEL: define void @_Z3fn5v
   // temps should be destroyed before dm2
   // objects should be destroyed after dm2
   // CHECK: call void @_ZN8witharg1C1ERK10destroyme1
@@ -161,7 +161,7 @@ void fn5() {
 }
 
 void fn6() {
-  // CHECK: define void @_Z3fn6v
+  // CHECK-LABEL: define void @_Z3fn6v
   void target(const wantslist1&);
   // objects should be destroyed before dm2, after call returns
   // CHECK: call void @_ZN10wantslist1C1ESt16initializer_listI10destroyme1E
@@ -174,7 +174,7 @@ void fn6() {
 }
 
 void fn7() {
-  // CHECK: define void @_Z3fn7v
+  // CHECK-LABEL: define void @_Z3fn7v
   // temps should be destroyed before dm2
   // object should be destroyed after dm2
   // CHECK: call void @_ZN10wantslist1C1ESt16initializer_listI10destroyme1E
@@ -186,7 +186,7 @@ void fn7() {
 }
 
 void fn8() {
-  // CHECK: define void @_Z3fn8v
+  // CHECK-LABEL: define void @_Z3fn8v
   void target(std::initializer_list<std::initializer_list<destroyme1>>);
   // objects should be destroyed before dm2, after call returns
   // CHECK: call void @_Z6targetSt16initializer_listIS_I10destroyme1EE
@@ -200,7 +200,7 @@ void fn8() {
 }
 
 void fn9() {
-  // CHECK: define void @_Z3fn9v
+  // CHECK-LABEL: define void @_Z3fn9v
   // objects should be destroyed after dm2
   std::initializer_list<destroyme1> inner;
   std::initializer_list<std::initializer_list<destroyme1>> list =
@@ -218,7 +218,7 @@ struct haslist1 {
   haslist1();
 };
 
-// CHECK: define void @_ZN8haslist1C2Ev
+// CHECK-LABEL: define void @_ZN8haslist1C2Ev
 haslist1::haslist1()
 // CHECK: alloca [3 x i32]
 // CHECK: store i32 1
@@ -235,7 +235,7 @@ struct haslist2 {
   haslist2();
 };
 
-// CHECK: define void @_ZN8haslist2C2Ev
+// CHECK-LABEL: define void @_ZN8haslist2C2Ev
 haslist2::haslist2()
   : il{destroyme1(), destroyme1()}
 {
@@ -245,7 +245,7 @@ haslist2::haslist2()
 }
 
 void fn10() {
-  // CHECK: define void @_Z4fn10v
+  // CHECK-LABEL: define void @_Z4fn10v
   // CHECK: alloca [3 x i32]
   // CHECK: call noalias i8* @_Znw{{[jm]}}
   // CHECK: store i32 1
@@ -257,7 +257,7 @@ void fn10() {
 }
 
 void fn11() {
-  // CHECK: define void @_Z4fn11v
+  // CHECK-LABEL: define void @_Z4fn11v
   (void) new std::initializer_list<destroyme1> {destroyme1(), destroyme1()};
   // CHECK: call void @_ZN10destroyme1D1Ev
   destroyme2 dm2;
@@ -285,7 +285,7 @@ namespace PR12178 {
 namespace rdar13325066 {
   struct X { ~X(); };
 
-  // CHECK: define void @_ZN12rdar133250664loopERNS_1XES1_
+  // CHECK-LABEL: define void @_ZN12rdar133250664loopERNS_1XES1_
   void loop(X &x1, X &x2) {
     // CHECK: br label
     // CHECK: br i1
@@ -308,7 +308,7 @@ namespace dtors {
   };
   void z();
 
-  // CHECK: define void @_ZN5dtors1fEv(
+  // CHECK-LABEL: define void @_ZN5dtors1fEv(
   void f() {
     // CHECK: call void @_ZN5dtors1SC1Ev(
     // CHECK: call void @_ZN5dtors1SC1Ev(
@@ -325,7 +325,7 @@ namespace dtors {
     // CHECK-NOT: call void @_ZN5dtors1SD1Ev(
   }
 
-  // CHECK: define void @_ZN5dtors1gEv(
+  // CHECK-LABEL: define void @_ZN5dtors1gEv(
   void g() {
     // CHECK: call void @_ZN5dtors1SC1Ev(
     // CHECK: call void @_ZN5dtors1SC1Ev(
@@ -342,7 +342,7 @@ namespace dtors {
     // CHECK-NOT: call void @_ZN5dtors1SD1Ev(
   }
 
-  // CHECK: define void @_ZN5dtors1hEv(
+  // CHECK-LABEL: define void @_ZN5dtors1hEv(
   void h() {
     // CHECK: call void @_ZN5dtors1SC1Ev(
     // CHECK: call void @_ZN5dtors1SC1Ev(
@@ -401,7 +401,7 @@ namespace nested {
   struct B { const A &a; ~B(); };
   struct C { std::initializer_list<B> b; ~C(); };
   void f();
-  // CHECK: define void @_ZN6nested1gEv(
+  // CHECK-LABEL: define void @_ZN6nested1gEv(
   void g() {
     // CHECK: call void @_ZN6nested1AC1Ev(
     // CHECK-NOT: call
index 2ea9acda481538adcf42cb4f7d98c107ab457b86..7759d41b0f920a29af2f384fbec7815708ac570f 100644 (file)
@@ -13,7 +13,7 @@ int &g() { return r; }
 // CHECK: call i32* @_Z1fv()
 // CHECK: store i32* %{{.*}}, i32** @r, align 8
 
-// CHECK: define i32* @_Z1gv()
+// CHECK-LABEL: define i32* @_Z1gv()
 // CHECK: call i32* @_ZTW1r()
 // CHECK: ret i32* %{{.*}}
 
@@ -22,5 +22,5 @@ int &g() { return r; }
 // CHECK: load i32** @r, align 8
 // CHECK: ret i32* %{{.*}}
 
-// CHECK: define internal void @__tls_init()
+// CHECK-LABEL: define internal void @__tls_init()
 // CHECK: call void @[[R_INIT]]()
index 04ca0890d5e3922b935aec70b2148935156bdd73..509562dd8fc1a6752bc1db15f6833d28995544fa 100644 (file)
@@ -55,7 +55,7 @@ int e = V<int>::m;
 // CHECK: call i32 @_Z1fv()
 // CHECK-NEXT: store i32 {{.*}}, i32* @a, align 4
 
-// CHECK: define i32 @_Z1fv()
+// CHECK-LABEL: define i32 @_Z1fv()
 int f() {
   // CHECK: %[[GUARD:.*]] = load i8* @_ZGVZ1fvE1n, align 1
   // CHECK: %[[NEED_INIT:.*]] = icmp eq i8 %[[GUARD]], 0
@@ -76,7 +76,7 @@ int f() {
 // CHECK-NEXT: load i32* %{{.*}}, align 4
 // CHECK-NEXT: store i32 %{{.*}}, i32* @c, align 4
 
-// CHECK: define weak_odr hidden i32* @_ZTW1b()
+// CHECK-LABEL: define weak_odr hidden i32* @_ZTW1b()
 // CHECK: br i1 icmp ne (void ()* @_ZTH1b, void ()* null),
 // not null:
 // CHECK: call void @_ZTH1b()
@@ -97,7 +97,7 @@ int f() {
 // CHECK-NEXT: load i32* %{{.*}}, align 4
 // CHECK-NEXT: store i32 %{{.*}}, i32* @e, align 4
 
-// CHECK: define weak_odr hidden i32* @_ZTWN1VIiE1mE()
+// CHECK-LABEL: define weak_odr hidden i32* @_ZTWN1VIiE1mE()
 // CHECK: call void @_ZTHN1VIiE1mE()
 // CHECK: ret i32* @_ZN1VIiE1mE
 
@@ -105,7 +105,7 @@ int f() {
 struct S { S(); ~S(); };
 struct T { ~T(); };
 
-// CHECK: define void @_Z8tls_dtorv()
+// CHECK-LABEL: define void @_Z8tls_dtorv()
 void tls_dtor() {
   // CHECK: load i8* @_ZGVZ8tls_dtorvE1s
   // CHECK: call void @_ZN1SC1Ev(%struct.S* @_ZZ8tls_dtorvE1s)
@@ -171,10 +171,10 @@ int PR15991() {
 // CHECK: declare extern_weak void @_ZTH1b()
 
 
-// CHECK: define internal hidden i32* @_ZTWL1d()
+// CHECK-LABEL: define internal hidden i32* @_ZTWL1d()
 // CHECK: call void @_ZTHL1d()
 // CHECK: ret i32* @_ZL1d
 
-// CHECK: define weak_odr hidden i32* @_ZTWN1U1mE()
+// CHECK-LABEL: define weak_odr hidden i32* @_ZTWN1U1mE()
 // CHECK: call void @_ZTHN1U1mE()
 // CHECK: ret i32* @_ZN1U1mE
index b3891c148e3e4495eb066558f37d31a80da283f1..bc613149e06816167e148343efb197bafac33894 100644 (file)
@@ -15,13 +15,13 @@ __attribute__((nodebug)) static int j = test();
 
 int main(void) {}
 
-// CHECK: define internal void @__cxx_global_var_init()
+// CHECK-LABEL: define internal void @__cxx_global_var_init()
 // CHECK-NOT: __cxx_global_var_init
 // CHECK: %[[C0:.+]] = call i32 @_Z4testv(), !dbg ![[LINE:.*]]
 // CHECK-NOT: __cxx_global_var_init
 // CHECK: store i32 %[[C0]], i32* @_ZL1i, align 4, !dbg
 // 
-// CHECK: define internal void @__cxx_global_var_init1()
+// CHECK-LABEL: define internal void @__cxx_global_var_init1()
 // CHECK-NOT: dbg
 // CHECK: %[[C1:.+]] = call i32 @_Z4testv()
 // CHECK-NOT: dbg
index 3d741d502834290c8def1fb66aff930418184850..43756006f20935a5d9a375414efd8e0fb405f7c2 100644 (file)
@@ -13,7 +13,7 @@ public:
         X(const X&, const T& t = T());
 };
 
-// CHECK: define void @_Z1gv()
+// CHECK-LABEL: define void @_Z1gv()
 void g() {
   // CHECK:      call void @_ZN1TC1Ev([[T:%.*]]* [[AGG1:%.*]])
   // CHECK-NEXT: call void @_Z1fRK1T([[T]]* [[AGG1]])
@@ -41,7 +41,7 @@ void g() {
 
 
 class obj{ int a; float b; double d; };
-// CHECK: define void @_Z1hv()
+// CHECK-LABEL: define void @_Z1hv()
 void h() {
   // CHECK: call void @llvm.memset.p0i8.i64(
   obj o = obj();
@@ -61,7 +61,7 @@ namespace test1 {
     C c;
     A a;
 
-    // CHECK: define linkonce_odr void @_ZN5test11DC2Ev(%"struct.test1::D"* %this) unnamed_addr
+    // CHECK-LABEL: define linkonce_odr void @_ZN5test11DC2Ev(%"struct.test1::D"* %this) unnamed_addr
     // CHECK:      call void @_ZN5test11BC1Ev(
     // CHECK-NEXT: call void @_ZN5test11CC1ERKNS_1BE(
     // CHECK-NEXT: call void @_ZN5test11BD1Ev(
index 206d4d6c88600484fff7f869f363fbbc257e35a2..83cae3afd5615967ed28e4c0319d50839e42e055 100644 (file)
@@ -26,7 +26,7 @@ struct B {
  B(const A1& = A1(), const A2& = A2());
 };
 
-// CHECK: define void @_Z2f1v()
+// CHECK-LABEL: define void @_Z2f1v()
 void f1() {
 
  // CHECK: call void @_ZN2A1C1Ev(
@@ -42,10 +42,10 @@ struct C {
  C();
 };
 
-// CHECK: define void @_ZN1CC1Ev(%struct.C* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CC1Ev(%struct.C* %this) unnamed_addr
 // CHECK: call void @_ZN1CC2Ev(
 
-// CHECK: define void @_ZN1CC2Ev(%struct.C* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CC2Ev(%struct.C* %this) unnamed_addr
 // CHECK: call void @_ZN2A1C1Ev(
 // CHECK: call void @_ZN2A2C1Ev(
 // CHECK: call void @_ZN1BC1ERK2A1RK2A2(
@@ -53,7 +53,7 @@ struct C {
 // CHECK: call void @_ZN2A1D1Ev
 C::C() { }
 
-// CHECK: define void @_Z2f3v()
+// CHECK-LABEL: define void @_Z2f3v()
 void f3() {
  // CHECK: call void @_ZN2A1C1Ev(
  // CHECK: call void @_ZN2A2C1Ev(
index 24c8c675b006f75612e8edb341d6aeaeb8e34932..deb458f55c7dc6641fdc55acd7b540df611bab7d 100644 (file)
@@ -7,10 +7,10 @@ void* bar() { return a; }
 
 // CHECK: @_ZL1a = internal global i8* null
 
-// CHECK: define internal void @__cxx_global_var_init
+// CHECK-LABEL: define internal void @__cxx_global_var_init
 // CHECK: load i8** @foo
 // CHECK: ret void
 
-// CHECK: define internal void @_GLOBAL__I_a
+// CHECK-LABEL: define internal void @_GLOBAL__I_a
 // CHECK: call void @__cxx_global_var_init()
 // CHECK: ret void
index 6e1113a99338567ca062b8c17d28970a9cee418d..f8e6bff295804e1673f0fe3e16d6a7262e4f1119 100644 (file)
@@ -5,7 +5,7 @@ typedef __typeof(sizeof(int)) size_t;
 namespace test1 {
   struct A { void operator delete(void*,size_t); int x; };
 
-  // CHECK: define void @_ZN5test11aEPNS_1AE(
+  // CHECK-LABEL: define void @_ZN5test11aEPNS_1AE(
   void a(A *x) {
     // CHECK:      load
     // CHECK-NEXT: icmp eq {{.*}}, null
@@ -35,7 +35,7 @@ namespace test2 {
     return ::new A[10];
   }
 
-  // CHECK: define void @_ZN5test24testEPNS_1AE(
+  // CHECK-LABEL: define void @_ZN5test24testEPNS_1AE(
   void test(A *p) {
     // CHECK:      [[P:%.*]] = alloca [[A]]*, align 4
     // CHECK-NEXT: store [[A]]* {{%.*}}, [[A]]** [[P]], align 4
@@ -60,7 +60,7 @@ namespace test3 {
   };  
   struct B : A {};
 
-  // CHECK: define void @_ZN5test34testEv()
+  // CHECK-LABEL: define void @_ZN5test34testEv()
   void test() {
     // CHECK:      call noalias i8* @_Znaj(i32 24)
     // CHECK-NEXT: bitcast
index d11608ef6f51a43993be0c5857b10049265146e2..cdd5a89963e4efbc98cfacabe4b93201c8b72bc2 100644 (file)
@@ -19,7 +19,7 @@ struct T {
   int a;
 };
 
-// CHECK: define void @_Z2t4P1T
+// CHECK-LABEL: define void @_Z2t4P1T
 void t4(T *t) {
   // CHECK: call void @_ZN1TD1Ev
   // CHECK-NEXT: bitcast
@@ -46,7 +46,7 @@ namespace test0 {
     ~A() {}
   };
 
-  // CHECK: define void @_ZN5test04testEPNS_1AE(
+  // CHECK-LABEL: define void @_ZN5test04testEPNS_1AE(
   void test(A *a) {
     // CHECK: call void @_ZN5test01AD1Ev
     // CHECK-NEXT: bitcast
@@ -54,8 +54,8 @@ namespace test0 {
     delete a;
   }
 
-  // CHECK: define linkonce_odr void @_ZN5test01AD1Ev(%"struct.test0::A"* %this) unnamed_addr
-  // CHECK: define linkonce_odr void @_ZN5test01AdlEPv
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test01AD1Ev(%"struct.test0::A"* %this) unnamed_addr
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test01AdlEPv
 }
 
 namespace test1 {
@@ -64,7 +64,7 @@ namespace test1 {
     ~A();
   };
 
-  // CHECK: define void @_ZN5test14testEPA10_A20_NS_1AE(
+  // CHECK-LABEL: define void @_ZN5test14testEPA10_A20_NS_1AE(
   void test(A (*arr)[10][20]) {
     delete [] arr;
     // CHECK:      icmp eq [10 x [20 x [[A:%.*]]]]* [[PTR:%.*]], null
@@ -88,7 +88,7 @@ namespace test1 {
 }
 
 namespace test2 {
-  // CHECK: define void @_ZN5test21fEPb
+  // CHECK-LABEL: define void @_ZN5test21fEPb
   void f(bool *b) {
     // CHECK: call void @_ZdlPv(i8*
     delete b;
@@ -111,7 +111,7 @@ namespace test4 {
     void operator delete (void *);
   };
 
-  // CHECK: define void @_ZN5test421global_delete_virtualEPNS_1XE
+  // CHECK-LABEL: define void @_ZN5test421global_delete_virtualEPNS_1XE
   void global_delete_virtual(X *xp) {
     //   Load the offset-to-top from the vtable and apply it.
     //   This has to be done first because the dtor can mess it up.
@@ -136,7 +136,7 @@ namespace test4 {
 
 namespace test5 {
   struct Incomplete;
-  // CHECK: define void @_ZN5test523array_delete_incompleteEPNS_10IncompleteES1_
+  // CHECK-LABEL: define void @_ZN5test523array_delete_incompleteEPNS_10IncompleteES1_
   void array_delete_incomplete(Incomplete *p1, Incomplete *p2) {
     // CHECK: call void @_ZdlPv
     delete p1;
index 9b15c6804dfc7b46529457fc556e0b2b8d0bec26..675c50c423281744e5f917940fd28149961d4288 100644 (file)
@@ -31,7 +31,7 @@ struct X {
 void test0_helper(A);
 void test0(X x) {
   test0_helper(x);
-  // CHECK:    define void @_Z5test01X(
+  // CHECK-LABEL:    define void @_Z5test01X(
   // CHECK:      [[TMP:%.*]] = alloca [[A:%.*]], align
   // CHECK-NEXT: [[T0:%.*]] = call [[B:%.*]]* @_ZN1XcvR1BEv(
   // CHECK-NEXT: [[T1:%.*]] = bitcast [[B]]* [[T0]] to [[A]]*
@@ -60,7 +60,7 @@ struct Derived : Base {
 
 void test1_helper(Base);
 void test1(Derived bb) {
-  // CHECK:     define void @_Z5test17Derived(
+  // CHECK-LABEL:     define void @_Z5test17Derived(
   // CHECK-NOT: call {{.*}} @_ZN4BasecvR7DerivedEv(
   // CHECK:     call void @_ZN4BaseC1ERKS_(
   // CHECK-NOT: call {{.*}} @_ZN4BasecvR7DerivedEv(
@@ -75,7 +75,7 @@ class Test2a {};
 class Test2b final : public virtual Test2a {};
 void test2(Test2b &x) {
   Test2a &y = x;
-  // CHECK:    define void @_Z5test2R6Test2b(
+  // CHECK-LABEL:    define void @_Z5test2R6Test2b(
   // CHECK:      [[X:%.*]] = alloca [[B:%.*]]*, align 8
   // CHECK-NEXT: [[Y:%.*]] = alloca [[A:%.*]]*, align 8
   // CHECK-NEXT: store [[B]]* {{%.*}}, [[B]]** [[X]], align 8
index 0e153022439b55f4b992f498c11c101d2a2e6dfc..f2ecfc1d38cc17f98f0d6a850b0805b718722459 100644 (file)
@@ -9,7 +9,7 @@ struct D final : virtual C {
   virtual void f();
 };
 
-// CHECK: define %struct.B* @_Z1fR1D
+// CHECK-LABEL: define %struct.B* @_Z1fR1D
 B &f(D &d) {
   // CHECK-NOT: load i8**
   return d;
index 34d885d48b1d465527ea28b688981568b98538d8..f2c6f212ad63fb7082b76af729e9d69a27d070b7 100644 (file)
@@ -40,11 +40,11 @@ namespace PR7526 {
 
   struct allocator_derived : allocator { };
 
-  // CHECK: define void @_ZN6PR75269allocatorD2Ev(%"struct.PR7526::allocator"* %this) unnamed_addr
+  // CHECK-LABEL: define void @_ZN6PR75269allocatorD2Ev(%"struct.PR7526::allocator"* %this) unnamed_addr
   // CHECK: call void @__cxa_call_unexpected
   allocator::~allocator() throw() { foo(); }
 
-  // CHECK: define linkonce_odr void @_ZN6PR752617allocator_derivedD1Ev(%"struct.PR7526::allocator_derived"* %this) unnamed_addr
+  // CHECK-LABEL: define linkonce_odr void @_ZN6PR752617allocator_derivedD1Ev(%"struct.PR7526::allocator_derived"* %this) unnamed_addr
   // CHECK-NOT: call void @__cxa_call_unexpected
   // CHECK:     }
   void foo() {
@@ -93,7 +93,7 @@ namespace test0 {
 
 // complete destructor alias tested above
 
-// CHECK: define void @_ZN5test01AD2Ev(%"struct.test0::A"* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN5test01AD2Ev(%"struct.test0::A"* %this) unnamed_addr
 // CHECK: invoke void @_ZN5test06MemberD1Ev
 // CHECK:   unwind label [[MEM_UNWIND:%[a-zA-Z0-9.]+]]
 // CHECK: invoke void @_ZN5test04BaseD2Ev
@@ -106,7 +106,7 @@ namespace test0 {
   B::~B() try { } catch (int i) {}
   // It will suppress the delegation optimization here, though.
 
-// CHECK: define void @_ZN5test01BD1Ev(%"struct.test0::B"* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN5test01BD1Ev(%"struct.test0::B"* %this) unnamed_addr
 // CHECK: invoke void @_ZN5test06MemberD1Ev
 // CHECK:   unwind label [[MEM_UNWIND:%[a-zA-Z0-9.]+]]
 // CHECK: invoke void @_ZN5test04BaseD2Ev
@@ -114,7 +114,7 @@ namespace test0 {
 // CHECK: invoke void @_ZN5test05VBaseD2Ev
 // CHECK:   unwind label [[VBASE_UNWIND:%[a-zA-Z0-9.]+]]
 
-// CHECK: define void @_ZN5test01BD2Ev(%"struct.test0::B"* %this, i8** %vtt) unnamed_addr
+// CHECK-LABEL: define void @_ZN5test01BD2Ev(%"struct.test0::B"* %this, i8** %vtt) unnamed_addr
 // CHECK: invoke void @_ZN5test06MemberD1Ev
 // CHECK:   unwind label [[MEM_UNWIND:%[a-zA-Z0-9.]+]]
 // CHECK: invoke void @_ZN5test04BaseD2Ev
@@ -142,24 +142,24 @@ namespace test1 {
   O::~O() {} // alias tested above
 
   struct P : NonEmpty, A { ~P(); };
-  P::~P() {} // CHECK: define void @_ZN5test11PD2Ev(%"struct.test1::P"* %this) unnamed_addr
+  P::~P() {} // CHECK-LABEL: define void @_ZN5test11PD2Ev(%"struct.test1::P"* %this) unnamed_addr
 
   struct Q : A, B { ~Q(); };
-  Q::~Q() {} // CHECK: define void @_ZN5test11QD2Ev(%"struct.test1::Q"* %this) unnamed_addr
+  Q::~Q() {} // CHECK-LABEL: define void @_ZN5test11QD2Ev(%"struct.test1::Q"* %this) unnamed_addr
 
   struct R : A { ~R(); };
-  R::~R() { A a; } // CHECK: define void @_ZN5test11RD2Ev(%"struct.test1::R"* %this) unnamed_addr
+  R::~R() { A a; } // CHECK-LABEL: define void @_ZN5test11RD2Ev(%"struct.test1::R"* %this) unnamed_addr
 
   struct S : A { ~S(); int x; };
   S::~S() {} // alias tested above
 
   struct T : A { ~T(); B x; };
-  T::~T() {} // CHECK: define void @_ZN5test11TD2Ev(%"struct.test1::T"* %this) unnamed_addr
+  T::~T() {} // CHECK-LABEL: define void @_ZN5test11TD2Ev(%"struct.test1::T"* %this) unnamed_addr
 
   // The VTT parameter prevents this.  We could still make this work
   // for calling conventions that are safe against extra parameters.
   struct U : A, virtual B { ~U(); };
-  U::~U() {} // CHECK: define void @_ZN5test11UD2Ev(%"struct.test1::U"* %this, i8** %vtt) unnamed_addr
+  U::~U() {} // CHECK-LABEL: define void @_ZN5test11UD2Ev(%"struct.test1::U"* %this, i8** %vtt) unnamed_addr
 }
 
 // PR6471
@@ -168,7 +168,7 @@ namespace test2 {
   struct B : A { ~B(); };
 
   B::~B() {}
-  // CHECK: define void @_ZN5test21BD2Ev(%"struct.test2::B"* %this) unnamed_addr
+  // CHECK-LABEL: define void @_ZN5test21BD2Ev(%"struct.test2::B"* %this) unnamed_addr
   // CHECK: call void @_ZN5test21AD2Ev
 }
 
@@ -195,7 +195,7 @@ namespace test3 {
 namespace test4 {
   struct A { ~A(); };
 
-  // CHECK: define void @_ZN5test43fooEv()
+  // CHECK-LABEL: define void @_ZN5test43fooEv()
   // CHECK: call void @_ZN5test41AD1Ev
   // CHECK: ret void
   void foo() {
@@ -208,7 +208,7 @@ namespace test4 {
     return;
   }
 
-  // CHECK: define void @_ZN5test43barEi(
+  // CHECK-LABEL: define void @_ZN5test43barEi(
   // CHECK:      [[X:%.*]] = alloca i32
   // CHECK-NEXT: [[A:%.*]] = alloca
   // CHECK:      br label
@@ -233,7 +233,7 @@ namespace test4 {
 namespace test5 {
   struct A { ~A(); };
 
-  // CHECK: define void @_ZN5test53fooEv()
+  // CHECK-LABEL: define void @_ZN5test53fooEv()
   // CHECK:      [[ELEMS:%.*]] = alloca [5 x [[A:%.*]]], align
   // CHECK-NEXT: [[EXN:%.*]] = alloca i8*
   // CHECK-NEXT: [[SEL:%.*]] = alloca i32
@@ -272,7 +272,7 @@ namespace test6 {
   };
 
   C::C() { opaque(); }
-  // CHECK: define void @_ZN5test61CC1Ev(%"struct.test6::C"* %this) unnamed_addr
+  // CHECK-LABEL: define void @_ZN5test61CC1Ev(%"struct.test6::C"* %this) unnamed_addr
   // CHECK:   call void @_ZN5test61BILj2EEC2Ev
   // CHECK:   invoke void @_ZN5test61BILj3EEC2Ev
   // CHECK:   invoke void @_ZN5test61BILj0EEC2Ev
@@ -282,7 +282,7 @@ namespace test6 {
   // FIXME: way too much EH cleanup code follows
 
   C::~C() { opaque(); }
-  // CHECK: define void @_ZN5test61CD1Ev(%"struct.test6::C"* %this) unnamed_addr
+  // CHECK-LABEL: define void @_ZN5test61CD1Ev(%"struct.test6::C"* %this) unnamed_addr
   // CHECK:   invoke void @_ZN5test61CD2Ev
   // CHECK:   invoke void @_ZN5test61BILj3EED2Ev
   // CHECK:   call void @_ZN5test61BILj2EED2Ev
@@ -290,7 +290,7 @@ namespace test6 {
   // CHECK:   invoke void @_ZN5test61BILj3EED2Ev
   // CHECK:   invoke void @_ZN5test61BILj2EED2Ev
 
-  // CHECK: define void @_ZN5test61CD2Ev(%"struct.test6::C"* %this, i8** %vtt) unnamed_addr
+  // CHECK-LABEL: define void @_ZN5test61CD2Ev(%"struct.test6::C"* %this, i8** %vtt) unnamed_addr
   // CHECK:   invoke void @_ZN5test66opaqueEv
   // CHECK:   invoke void @_ZN5test61AD1Ev
   // CHECK:   invoke void @_ZN5test61AD1Ev
@@ -318,7 +318,7 @@ namespace test7 {
   };
 
   // Verify that this doesn't get emitted as an alias
-  // CHECK: define void @_ZN5test71BD2Ev(
+  // CHECK-LABEL: define void @_ZN5test71BD2Ev(
   // CHECK:   invoke void @_ZN5test71DD1Ev(
   // CHECK:   call void @_ZN5test71AD2Ev(
   B::~B() {}
@@ -338,7 +338,7 @@ namespace test8 {
   l: die();
   }
 
-  // CHECK:    define void @_ZN5test84testEv()
+  // CHECK-LABEL:    define void @_ZN5test84testEv()
   // CHECK:      [[X:%.*]] = alloca [[A:%.*]], align 1
   // CHECK-NEXT: [[Y:%.*]] = alloca [[A:%.*]], align 1
   // CHECK:      call void @_ZN5test81AC1Ev([[A]]* [[X]])
@@ -368,7 +368,7 @@ namespace test9 {
 
 // Checks from test3:
 
-  // CHECK: define internal void @_ZN5test312_GLOBAL__N_11DD0Ev(%"struct.test3::<anonymous namespace>::D"* %this) unnamed_addr
+  // CHECK-LABEL: define internal void @_ZN5test312_GLOBAL__N_11DD0Ev(%"struct.test3::<anonymous namespace>::D"* %this) unnamed_addr
   // CHECK: invoke void @_ZN5test312_GLOBAL__N_11DD1Ev(
   // CHECK: call void @_ZdlPv({{.*}}) [[NUW:#[0-9]+]]
   // CHECK: ret void
@@ -381,17 +381,17 @@ namespace test9 {
   // @_ZN5test312_GLOBAL__N_11DD1Ev = alias internal {{.*}} @_ZN5test312_GLOBAL__N_11DD2Ev
   // @_ZN5test312_GLOBAL__N_11DD2Ev = alias internal bitcast {{.*}} @_ZN5test312_GLOBAL__N_11CD2Ev
 
-  // CHECK: define internal void @_ZThn8_N5test312_GLOBAL__N_11DD1Ev(
+  // CHECK-LABEL: define internal void @_ZThn8_N5test312_GLOBAL__N_11DD1Ev(
   // CHECK: getelementptr inbounds i8* {{.*}}, i64 -8
   // CHECK: call void @_ZN5test312_GLOBAL__N_11DD1Ev(
   // CHECK: ret void
 
-  // CHECK: define internal void @_ZThn8_N5test312_GLOBAL__N_11DD0Ev(
+  // CHECK-LABEL: define internal void @_ZThn8_N5test312_GLOBAL__N_11DD0Ev(
   // CHECK: getelementptr inbounds i8* {{.*}}, i64 -8
   // CHECK: call void @_ZN5test312_GLOBAL__N_11DD0Ev(
   // CHECK: ret void
 
-  // CHECK: define internal void @_ZN5test312_GLOBAL__N_11CD2Ev(%"struct.test3::<anonymous namespace>::C"* %this) unnamed_addr
+  // CHECK-LABEL: define internal void @_ZN5test312_GLOBAL__N_11CD2Ev(%"struct.test3::<anonymous namespace>::C"* %this) unnamed_addr
   // CHECK: invoke void @_ZN5test31BD2Ev(
   // CHECK: call void @_ZN5test31AD2Ev(
   // CHECK: ret void
@@ -399,7 +399,7 @@ namespace test9 {
   // CHECK: declare void @_ZN5test31BD2Ev(
   // CHECK: declare void @_ZN5test31AD2Ev(
 
-  // CHECK: define internal void @_ZN5test312_GLOBAL__N_11CD0Ev(%"struct.test3::<anonymous namespace>::C"* %this) unnamed_addr
+  // CHECK-LABEL: define internal void @_ZN5test312_GLOBAL__N_11CD0Ev(%"struct.test3::<anonymous namespace>::C"* %this) unnamed_addr
   // CHECK: invoke void @_ZN5test312_GLOBAL__N_11CD1Ev(
   // CHECK: call void @_ZdlPv({{.*}}) [[NUW]]
   // CHECK: ret void
@@ -408,12 +408,12 @@ namespace test9 {
   // CHECK: call void @_ZdlPv({{.*}}) [[NUW]]
   // CHECK: resume { i8*, i32 }
 
-  // CHECK: define internal void @_ZThn8_N5test312_GLOBAL__N_11CD1Ev(
+  // CHECK-LABEL: define internal void @_ZThn8_N5test312_GLOBAL__N_11CD1Ev(
   // CHECK: getelementptr inbounds i8* {{.*}}, i64 -8
   // CHECK: call void @_ZN5test312_GLOBAL__N_11CD1Ev(
   // CHECK: ret void
 
-  // CHECK: define internal void @_ZThn8_N5test312_GLOBAL__N_11CD0Ev(
+  // CHECK-LABEL: define internal void @_ZThn8_N5test312_GLOBAL__N_11CD0Ev(
   // CHECK: getelementptr inbounds i8* {{.*}}, i64 -8
   // CHECK: call void @_ZN5test312_GLOBAL__N_11CD0Ev(
   // CHECK: ret void
index 40f3cada7d46b0d476cc578c3c1c01b54728c61b..11026e8df3e7ab4139586d3a44f3ea26d2ac7821 100644 (file)
@@ -5,7 +5,7 @@ namespace Test1 {
     virtual int f() final;
   };
 
-  // CHECK: define i32 @_ZN5Test11fEPNS_1AE
+  // CHECK-LABEL: define i32 @_ZN5Test11fEPNS_1AE
   int f(A *a) {
     // CHECK: call i32 @_ZN5Test11A1fEv
     return a->f();
@@ -17,7 +17,7 @@ namespace Test2 {
     virtual int f();
   };
 
-  // CHECK: define i32 @_ZN5Test21fEPNS_1AE
+  // CHECK-LABEL: define i32 @_ZN5Test21fEPNS_1AE
   int f(A *a) {
     // CHECK: call i32 @_ZN5Test21A1fEv
     return a->f();
@@ -31,19 +31,19 @@ namespace Test3 {
 
   struct B final : A { };
 
-  // CHECK: define i32 @_ZN5Test31fEPNS_1BE
+  // CHECK-LABEL: define i32 @_ZN5Test31fEPNS_1BE
   int f(B *b) {
     // CHECK: call i32 @_ZN5Test31A1fEv
     return b->f();
   }
 
-  // CHECK: define i32 @_ZN5Test31fERNS_1BE
+  // CHECK-LABEL: define i32 @_ZN5Test31fERNS_1BE
   int f(B &b) {
     // CHECK: call i32 @_ZN5Test31A1fEv
     return b.f();
   }
 
-  // CHECK: define i32 @_ZN5Test31fEPv
+  // CHECK-LABEL: define i32 @_ZN5Test31fEPv
   int f(void *v) {
     // CHECK: call i32 @_ZN5Test31A1fEv
     return static_cast<B*>(v)->f();
@@ -59,7 +59,7 @@ namespace Test4 {
     virtual void f();
   };
 
-  // CHECK: define void @_ZN5Test41fEPNS_1BE
+  // CHECK-LABEL: define void @_ZN5Test41fEPNS_1BE
   void f(B* d) {
     // CHECK: call void @_ZN5Test41B1fEv
     static_cast<A*>(d)->f();
@@ -78,7 +78,7 @@ namespace Test5 {
   struct C final : B {
   };
 
-  // CHECK: define void @_ZN5Test51fEPNS_1CE
+  // CHECK-LABEL: define void @_ZN5Test51fEPNS_1CE
   void f(C* d) {
     // FIXME: It should be possible to devirtualize this case, but that is
     // not implemented yet.
@@ -105,7 +105,7 @@ namespace Test6 {
   struct D final : public C, public B {
   };
 
-  // CHECK: define void @_ZN5Test61fEPNS_1DE
+  // CHECK-LABEL: define void @_ZN5Test61fEPNS_1DE
   void f(D* d) {
     // CHECK: call void @_ZN5Test61DD1Ev
     static_cast<A*>(d)->~A();
@@ -126,7 +126,7 @@ namespace Test7 {
     virtual int f() {return z;}
   };
 
-  // CHECK: define i32 @_ZN5Test71fEPNS_3zedE
+  // CHECK-LABEL: define i32 @_ZN5Test71fEPNS_3zedE
   int f(zed *z) {
     // CHECK: alloca
     // CHECK-NEXT: store
@@ -144,7 +144,7 @@ namespace Test8 {
     virtual int foo() { return b; }
   };
   struct C final : A, B {  };
-  // CHECK: define i32 @_ZN5Test84testEPNS_1CE
+  // CHECK-LABEL: define i32 @_ZN5Test84testEPNS_1CE
   int test(C *c) {
     // CHECK: %[[THIS:.*]] = phi
     // CHECK-NEXT: call i32 @_ZN5Test81B3fooEv(%"struct.Test8::B"* %[[THIS]])
index 52f1cd3fa236d157a1b6a1d0e596af8a943fbb6b..911ddeedd236aaf38cfa9c2aa3efa7b838876409 100644 (file)
@@ -79,7 +79,7 @@ namespace test3 {
   struct D : public B {
   };
   void f(D d) {
-    // CHECK: define void @_ZN5test31fENS_1DE
+    // CHECK-LABEL: define void @_ZN5test31fENS_1DE
     d.B::~B();
   }
 }
index 2060e1d5453e597a3ff09a702cfb2ee87f48f2d3..0e26de5bcf8be30dbde9a72e8f0752be684d503a 100644 (file)
@@ -13,7 +13,7 @@ struct B : public A {
 // does not use runtime support.
 A *upcast(B *b) {
   return dynamic_cast<A *>(b);
-// CHECK: define %struct.A* @_Z6upcastP1B
+// CHECK-LABEL: define %struct.A* @_Z6upcastP1B
 // CHECK-NOT: call i8* @__dynamic_cast
 }
 
@@ -21,6 +21,6 @@ A *upcast(B *b) {
 // runtime support.
 B *samecast(B *b) {
   return dynamic_cast<B *>(b);
-// CHECK: define %struct.B* @_Z8samecastP1B
+// CHECK-LABEL: define %struct.B* @_Z8samecastP1B
 // CHECK-NOT: call i8* @__dynamic_cast
 }
index 70887f7718d0402dd72c3b76304ca4b3acb8efa0..2a61e61bb8184bfcc62048de505761ad2360afcf 100644 (file)
@@ -9,7 +9,7 @@ void test1() {
   throw d1;
 }
 
-// CHECK:     define void @_Z5test1v()
+// CHECK-LABEL:     define void @_Z5test1v()
 // CHECK:       [[EXNOBJ:%.*]] = call i8* @__cxa_allocate_exception(i64 8)
 // CHECK-NEXT:  [[EXN:%.*]] = bitcast i8* [[EXNOBJ]] to [[DSTAR:%[^*]*\*]]
 // CHECK-NEXT:  [[EXN2:%.*]] = bitcast [[DSTAR]] [[EXN]] to i8*
@@ -29,7 +29,7 @@ void test2() {
   throw d2;
 }
 
-// CHECK:     define void @_Z5test2v()
+// CHECK-LABEL:     define void @_Z5test2v()
 // CHECK:       [[EXNVAR:%.*]] = alloca i8*
 // CHECK-NEXT:  [[SELECTORVAR:%.*]] = alloca i32
 // CHECK-NEXT:  [[EXNOBJ:%.*]] = call i8* @__cxa_allocate_exception(i64 16)
@@ -51,7 +51,7 @@ void test3() {
   throw (volatile test3_D *)0;
 }
 
-// CHECK:     define void @_Z5test3v()
+// CHECK-LABEL:     define void @_Z5test3v()
 // CHECK:       [[EXNOBJ:%.*]] = call i8* @__cxa_allocate_exception(i64 8)
 // CHECK-NEXT:  [[EXN:%.*]] = bitcast i8* [[EXNOBJ]] to [[D:%[^*]+]]**
 // CHECK-NEXT:  store [[D]]* null, [[D]]** [[EXN]]
@@ -63,7 +63,7 @@ void test4() {
   throw;
 }
 
-// CHECK:     define void @_Z5test4v()
+// CHECK-LABEL:     define void @_Z5test4v()
 // CHECK:        call void @__cxa_rethrow() [[NR]]
 // CHECK-NEXT:   unreachable
 
@@ -79,7 +79,7 @@ namespace test5 {
   void test() {
     try { throw A(); } catch (A &x) {}
   }
-// CHECK:      define void @_ZN5test54testEv()
+// CHECK-LABEL:      define void @_ZN5test54testEv()
 // CHECK:      [[EXNOBJ:%.*]] = call i8* @__cxa_allocate_exception(i64 1)
 // CHECK:      [[EXNCAST:%.*]] = bitcast i8* [[EXNOBJ]] to [[A:%[^*]*]]*
 // CHECK-NEXT: invoke void @_ZN5test51AC1Ev([[A]]* [[EXNCAST]])
@@ -101,7 +101,7 @@ namespace test6 {
 
 // PR7127
 namespace test7 {
-// CHECK:      define i32 @_ZN5test73fooEv() 
+// CHECK-LABEL:      define i32 @_ZN5test73fooEv() 
   int foo() {
 // CHECK:      [[CAUGHTEXNVAR:%.*]] = alloca i8*
 // CHECK-NEXT: [[SELECTORVAR:%.*]] = alloca i32
@@ -160,7 +160,7 @@ namespace test8 {
   struct A { A(const A&); ~A(); };
   void bar();
 
-  // CHECK: define void @_ZN5test83fooEv()
+  // CHECK-LABEL: define void @_ZN5test83fooEv()
   void foo() {
     try {
       // CHECK:      invoke void @_ZN5test83barEv()
@@ -184,11 +184,11 @@ namespace test9 {
 
   struct A { A(); };
 
-  // CHECK:      define void @_ZN5test91AC1Ev(%"struct.test9::A"* %this) unnamed_addr
+  // CHECK-LABEL:      define void @_ZN5test91AC1Ev(%"struct.test9::A"* %this) unnamed_addr
   // CHECK:      call void @_ZN5test91AC2Ev
   // CHECK-NEXT: ret void
 
-  // CHECK: define void @_ZN5test91AC2Ev(%"struct.test9::A"* %this) unnamed_addr
+  // CHECK-LABEL: define void @_ZN5test91AC2Ev(%"struct.test9::A"* %this) unnamed_addr
   A::A() try {
   // CHECK:      invoke void @_ZN5test96opaqueEv()
     opaque();
@@ -210,7 +210,7 @@ namespace test10 {
   struct A { ~A(); };
   struct B { int x; };
 
-  // CHECK: define void @_ZN6test103fooEv()
+  // CHECK-LABEL: define void @_ZN6test103fooEv()
   void foo() {
     A a; // force a cleanup context
 
@@ -244,7 +244,7 @@ namespace test10 {
 namespace test11 {
   void opaque();
 
-  // CHECK: define void @_ZN6test113fooEv()
+  // CHECK-LABEL: define void @_ZN6test113fooEv()
   void foo() {
     try {
       // CHECK:      invoke void @_ZN6test116opaqueEv()
@@ -261,7 +261,7 @@ namespace test11 {
 
   struct A {};
 
-  // CHECK: define void @_ZN6test113barEv()
+  // CHECK-LABEL: define void @_ZN6test113barEv()
   void bar() {
     try {
       // CHECK:      [[EXNSLOT:%.*]] = alloca i8*
@@ -286,7 +286,7 @@ namespace test12 {
   struct A { ~A() noexcept(false); };
   bool opaque(const A&);
 
-  // CHECK: define void @_ZN6test124testEv()
+  // CHECK-LABEL: define void @_ZN6test124testEv()
   void test() {
     // CHECK: [[X:%.*]] = alloca [[A:%.*]],
     // CHECK: [[EHCLEANUPDEST:%.*]] = alloca i32
@@ -371,7 +371,7 @@ namespace test15 {
 
   bool opaque(int);
 
-  // CHECK: define void @_ZN6test153fooEv()
+  // CHECK-LABEL: define void @_ZN6test153fooEv()
   void foo() {
     A a;
 
@@ -405,7 +405,7 @@ namespace test16 {
   void foo();
   bool cond();
 
-  // CHECK: define void @_ZN6test163barEv()
+  // CHECK-LABEL: define void @_ZN6test163barEv()
   void bar() {
     // CHECK:      [[EXN_SAVE:%.*]] = alloca i8*
     // CHECK-NEXT: [[EXN_ACTIVE:%.*]] = alloca i1
index 1ce1dad40ffa55b508a2232e2e42aff3e057e5ac..8491480bcf54a1ab4cb74f2313997a8ed709f4d5 100644 (file)
@@ -29,7 +29,7 @@ struct D : A, Empty {
 #define CHECK(x) if (!(x)) return __LINE__
 
 // PR7012
-// CHECK: define i32 @_Z1fv()
+// CHECK-LABEL: define i32 @_Z1fv()
 int f() {
   B b1;
 
index f6f5079791abf0cdfd0db0bf566c581c146a808e..d37e6109db4aec3f9194c9aecfa80e4aeacb0321 100644 (file)
@@ -269,7 +269,7 @@ namespace test5 {
 
   void foo();
 
-  // CHECK:    define void @_ZN5test54testEv()
+  // CHECK-LABEL:    define void @_ZN5test54testEv()
   // CHECK:      [[EXNSLOT:%.*]] = alloca i8*
   // CHECK-NEXT: [[SELECTORSLOT:%.*]] = alloca i32
   // CHECK-NEXT: [[A:%.*]] = alloca [[A_T:%.*]], align 1
@@ -403,7 +403,7 @@ namespace test8 {
   void test() {
     throw makeA();
   }
-  // CHECK: define void @_ZN5test84testEv
+  // CHECK-LABEL: define void @_ZN5test84testEv
 }
 
 // Make sure we generate the correct code for the delete[] call which
@@ -432,14 +432,14 @@ namespace test10 {
 
   struct A { ~A(); };
   A::~A() try { cleanup(); } catch (...) { return; }
-  // CHECK:    define void @_ZN6test101AD1Ev(
+  // CHECK-LABEL:    define void @_ZN6test101AD1Ev(
   // CHECK:      invoke void @_ZN6test107cleanupEv()
   // CHECK-NOT:  rethrow
   // CHECK:      ret void
 
   struct B { ~B(); };
   B::~B() try { cleanup(); } catch (...) {}
-  // CHECK:    define void @_ZN6test101BD1Ev(
+  // CHECK-LABEL:    define void @_ZN6test101BD1Ev(
   // CHECK:      invoke void @_ZN6test107cleanupEv()
   // CHECK:      call i8* @__cxa_begin_catch
   // CHECK-NEXT: invoke void @__cxa_rethrow()
@@ -447,7 +447,7 @@ namespace test10 {
 
   struct C { ~C(); };
   C::~C() try { cleanup(); } catch (...) { if (suppress) return; }
-  // CHECK:    define void @_ZN6test101CD1Ev(
+  // CHECK-LABEL:    define void @_ZN6test101CD1Ev(
   // CHECK:      invoke void @_ZN6test107cleanupEv()
   // CHECK:      call i8* @__cxa_begin_catch
   // CHECK-NEXT: load i8* @_ZN6test108suppressE, align 1
@@ -477,7 +477,7 @@ namespace test11 {
   C::C() {
     throw 0;
   }
-  // CHECK:    define void @_ZN6test111CC2Ev(
+  // CHECK-LABEL:    define void @_ZN6test111CC2Ev(
   // CHECK:      [[THIS:%.*]] = load [[C:%.*]]** {{%.*}}
   //   Construct single.
   // CHECK-NEXT: [[SINGLE:%.*]] = getelementptr inbounds [[C]]* [[THIS]], i32 0, i32 0
index 8daf3c6800068fe70d8dc03ebb2a9e2c0e20159b..6a4fd822122fc968b0c175ec1125f85b5d4c2d07 100644 (file)
@@ -13,7 +13,7 @@ Result plus<T, U, Result>::operator()(const T& t, const U& u) const {
   return t + u;
 }
 
-// CHECK: define weak_odr i32 @_ZNK4plusIillEclERKiRKl
+// CHECK-LABEL: define weak_odr i32 @_ZNK4plusIillEclERKiRKl
 template struct plus<int, long, long>;
 
 // Check that we emit definitions from explicit instantiations even when they
@@ -27,16 +27,16 @@ template <typename T> struct S {
   };
 };
 
-// CHECK: define weak_odr void @_ZN1SIiE1fEv
+// CHECK-LABEL: define weak_odr void @_ZN1SIiE1fEv
 template void S<int>::f();
 
-// CHECK: define weak_odr void @_ZN1SIiE1gEv
+// CHECK-LABEL: define weak_odr void @_ZN1SIiE1gEv
 template void S<int>::g();
 
 // See the check line at the top of the file.
 template int S<int>::i;
 
-// CHECK: define weak_odr void @_ZN1SIiE2S21hEv
+// CHECK-LABEL: define weak_odr void @_ZN1SIiE2S21hEv
 template void S<int>::S2::h();
 
 template <typename T> void S<T>::f() {}
index c0a91066727462128ef95025c33c1b347417888a..0326ce53bc4a8fab4a5842c34a7be929af643b06 100644 (file)
@@ -2,7 +2,7 @@
 
 void __attribute__((fastcall)) foo1(int &y);
 void bar1(int &y) {
-  // CHECK: define void @_Z4bar1Ri
+  // CHECK-LABEL: define void @_Z4bar1Ri
   // CHECK: call x86_fastcallcc void @_Z4foo1Ri(i32* inreg %
   foo1(y);
 }
@@ -14,7 +14,7 @@ struct S1 {
 
 void __attribute__((fastcall)) foo2(S1 a, int b);
 void bar2(S1 a, int b) {
-  // CHECK: define void @_Z4bar22S1i
+  // CHECK-LABEL: define void @_Z4bar22S1i
   // CHECK: call x86_fastcallcc void @_Z4foo22S1i(%struct.S1* inreg %{{.*}}, i32 inreg %
   foo2(a, b);
 }
index 926fe445a5ba5feb63764c20c373c046dd60f9b4..6d3677346658ecb357df340362686cce4e8e8850 100644 (file)
@@ -32,7 +32,7 @@ B *end(C&);
 
 extern B array[5];
 
-// CHECK: define void @_Z9for_arrayv(
+// CHECK-LABEL: define void @_Z9for_arrayv(
 void for_array() {
   // CHECK: call void @_ZN1AC1Ev(%struct.A* [[A:.*]])
   A a;
@@ -61,7 +61,7 @@ void for_array() {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z9for_rangev(
+// CHECK-LABEL: define void @_Z9for_rangev(
 void for_range() {
   // CHECK: call void @_ZN1AC1Ev(%struct.A* [[A:.*]])
   A a;
@@ -93,7 +93,7 @@ void for_range() {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z16for_member_rangev(
+// CHECK-LABEL: define void @_Z16for_member_rangev(
 void for_member_range() {
   // CHECK: call void @_ZN1AC1Ev(%struct.A* [[A:.*]])
   A a;
index c1169e013994691b011979a56e58537e2960e1dc..685e4f31cc61a470e64be2849b5f9d0cc1f4c1be 100644 (file)
@@ -3,7 +3,7 @@
 enum MyEnum : char;
 void bar(MyEnum value) { }
 
-// CHECK: define void @_Z3foo6MyEnum
+// CHECK-LABEL: define void @_Z3foo6MyEnum
 void foo(MyEnum value)
 {
   // CHECK: call void @_Z3bar6MyEnum(i8 signext
index 4a056d6c6bbb11ebf15940a526ea1365efee75af..bd5a3194112c74a7d7abbe6b7c2d7b83598fc70a 100644 (file)
@@ -4,9 +4,9 @@
 template <typename T, typename U> struct S { static int i; };
 template <> int S<__fp16, __fp16>::i = 3;
 
-// CHECK: define void @_Z1fPDh(i16* %x)
+// CHECK-LABEL: define void @_Z1fPDh(i16* %x)
 void f (__fp16 *x) { }
 
-// CHECK: define void @_Z1gPDhS_(i16* %x, i16* %y)
+// CHECK-LABEL: define void @_Z1gPDhS_(i16* %x, i16* %y)
 void g (__fp16 *x, __fp16 *y) { }
 
index 21f0127ab489826d1c17834e715f8058d5300518..5d26dcd61cf03812d36d72f3932338c2d6180878 100644 (file)
@@ -3,11 +3,11 @@
 template<typename T> void a(T);
 template<> void a(int) {}
 
-// CHECK: define void @_Z1aIiEvT_
+// CHECK-LABEL: define void @_Z1aIiEvT_
 
 namespace X {
 template<typename T> void b(T);
 template<> void b(int) {}
 }
 
-// CHECK: define void @_ZN1X1bIiEEvT_
+// CHECK-LABEL: define void @_ZN1X1bIiEEvT_
index 350ea548662c8bf38d3392c616ecd8c57c34ff22..762b5d9910df103b2c8daa28cb3913c32e4f8cc3 100644 (file)
@@ -5,23 +5,23 @@ namespace N {
   typedef void (^BL)();
   int func(BL, BL, BL);
 
-// CHECK: define internal void @_ZN1N8ArrBlockE_block_invoke(
-// CHECK: define internal void @_ZN1N8ArrBlockE_block_invoke_2(
-// CHECK: define internal void @_ZN1N8ArrBlockE_block_invoke_3
+// CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke(
+// CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke_2(
+// CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke_3
   BL ArrBlock [] = { ^{}, ^{}, ^{} };
 
-// CHECK: define internal void @_ZN1N4ivalE_block_invoke_4(
-// CHECK: define internal void @_ZN1N4ivalE_block_invoke_5(
-// CHECK: define internal void @_ZN1N4ivalE_block_invoke_6(
+// CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_4(
+// CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_5(
+// CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_6(
   int ival = func(^{}, ^{}, ^{});
 
-// CHECK: define internal void @_ZN1N9gvarlobalE_block_invoke_7(
+// CHECK-LABEL: define internal void @_ZN1N9gvarlobalE_block_invoke_7(
   void (^gvarlobal)(void) = ^{};
 
   struct S {
     BL field = ^{};
   };
 
-// CHECK: define internal void @_ZN1N3blfE_block_invoke_8(
+// CHECK-LABEL: define internal void @_ZN1N3blfE_block_invoke_8(
   S blf;
 };
index 7c4b6aa1e05ff3e9d68b0b09a59c149f16d79a59..9d35e848e3caa642e7987e51559f23395f20c3ae 100644 (file)
@@ -22,7 +22,7 @@ public:
 A a, b;
 
 // PR9593
-// CHECK:      define void @_Z4funcv()
+// CHECK-LABEL:      define void @_Z4funcv()
 // CHECK:      call i32 @__cxa_guard_acquire(i64* @_ZGVZ4funcvE2a1)
 // CHECK:      call void @_ZN1AC1Ev([[A]]* @_ZZ4funcvE2a1)
 // CHECK-NEXT: call i32 @atexit(void ()* @__dtor__ZZ4funcvE2a1)
index de6878fc89ad34e8910c65d35d077f1b75e996f4..69631c278905c68644eb86bc37d5c310c9e41b80 100644 (file)
@@ -45,7 +45,7 @@ namespace test1 {
   const int y = x - 1; // This gets deferred.
   const int z = ~y;    // This also gets deferred, but gets "undeferred" before y.
   int test() { return z; }
-// CHECK:      define i32 @_ZN5test14testEv()
+// CHECK-LABEL:      define i32 @_ZN5test14testEv()
 
   // All of these initializers end up delayed, so we check them later.
 }
index 77b6166aff413685ab56f42eb2769968a4c4a8b1..904f95fb22be1ef45da7da3dd04c7178463b607e 100644 (file)
@@ -5,7 +5,7 @@ namespace test0 {
   struct A { A(); ~A(); };
   struct V { V(const A &a = A()); ~V(); };
 
-  // CHECK: define linkonce_odr i32 @_ZN5test04testILi0EEEii
+  // CHECK-LABEL: define linkonce_odr i32 @_ZN5test04testILi0EEEii
   template<int X> int test(int x) {
     // CHECK:      [[RET:%.*]] = alloca i32
     // CHECK-NEXT: [[X:%.*]] = alloca i32
index 79586fba9af16bb2983cc66ca9e2d945525f5a9b..267402122f8273d1b71458234e6093334d5fd118 100644 (file)
@@ -40,7 +40,7 @@ void test_D(D d1, D d2) {
   d1 = d2;
 }
 
-// CHECK: define linkonce_odr %struct.D* @_ZN1DaSERS_
+// CHECK-LABEL: define linkonce_odr %struct.D* @_ZN1DaSERS_
 // CHECK: {{call.*_ZN1AaSERS_}}
 // CHECK: {{call.*_ZN1BaSERS_}}
 // CHECK: {{call.*_ZN1CaSERKS_}}
index 24e84d57b13d35a0f3b0bbf4195facc56dbc6379..bb04318e73076218e0b5cfa7e32c714abf90b08f 100644 (file)
@@ -40,7 +40,7 @@ void f(D d) {
   D d2(d);
 }
 
-// CHECK: define linkonce_odr void @_ZN1DC1ERS_(%struct.D* %this, %struct.D*) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN1DC1ERS_(%struct.D* %this, %struct.D*) unnamed_addr
 // CHECK: call void @_ZN1AC1Ev
 // CHECK: call void @_ZN1CC2ERS_1A
 // CHECK: call void @_ZN1AD1Ev
index 0f39784929763bb72293053ddeb09818185d7aff..c99a20c730e4222f31976a12f62831d8a27d7562 100644 (file)
@@ -11,18 +11,18 @@ struct C { template<typename T> C(T); };
 struct D : C { using C::C; };
 D d(123);
 
-// CHECK: define void @_ZN1BD0Ev
-// CHECK: define void @_ZN1BD1Ev
-// CHECK: define void @_ZN1BD2Ev
+// CHECK-LABEL: define void @_ZN1BD0Ev
+// CHECK-LABEL: define void @_ZN1BD1Ev
+// CHECK-LABEL: define void @_ZN1BD2Ev
 
-// CHECK: define linkonce_odr void @_ZN1BC1Ei(
+// CHECK-LABEL: define linkonce_odr void @_ZN1BC1Ei(
 // CHECK: call void @_ZN1BC2Ei(
 
-// CHECK: define linkonce_odr void @_ZN1DC1IiEET_(
+// CHECK-LABEL: define linkonce_odr void @_ZN1DC1IiEET_(
 // CHECK: call void @_ZN1DC2IiEET_(
 
-// CHECK: define linkonce_odr void @_ZN1DC2IiEET_(
+// CHECK-LABEL: define linkonce_odr void @_ZN1DC2IiEET_(
 // CHECK: call void @_ZN1CC2IiEET_(
 
-// CHECK: define linkonce_odr void @_ZN1BC2Ei(
+// CHECK-LABEL: define linkonce_odr void @_ZN1BC2Ei(
 // CHECK: call void @_ZN1AC2Ei(
index 9eb19896b6bbc672bc7e4ec10b7d8a8e2f4f2232..2f56e82d7701eba68ad5fb9cba0f0601304a00c0 100644 (file)
@@ -54,7 +54,7 @@ void e() {
 // CHECK: store {{.*}}, i32* @d
 // CHECK: call {{.*}}@llvm.invariant.start(i64 4, i8* bitcast ({{.*}} @d to i8*))
 
-// CHECK: define void @_Z1ev(
+// CHECK-LABEL: define void @_Z1ev(
 // CHECK: call void @_ZN1AC1Ev(%struct.A* @_ZZ1evE1a)
 // CHECK: call {{.*}}@llvm.invariant.start(i64 4, i8* bitcast ({{.*}} @_ZZ1evE1a to i8*))
 // CHECK-NOT: llvm.invariant.end
index 8c011de28a02328a29344670546d87a36a2c8a3f..9f8e536a3b0c80540ccea8d352b5121e6f8be002 100644 (file)
@@ -5,7 +5,7 @@ struct A {
     inline void f();
 };
 
-// CHECK-NOT: define void @_ZN1A1fEv
+// CHECK-NOT-LABEL: define void @_ZN1A1fEv
 void A::f() { }
 
 template<typename> struct B { };
@@ -19,13 +19,13 @@ void B<char>::f() { }
 
 // We need a final CHECK line here.
 
-// CHECK: define void @_Z1fv
+// CHECK-LABEL: define void @_Z1fv
 void f() { }
 
 // <rdar://problem/8740363>
 inline void f1(int);
 
-// CHECK: define linkonce_odr void @_Z2f1i
+// CHECK-LABEL: define linkonce_odr void @_Z2f1i
 void f1(int) { }
 
 void test_f1() { f1(17); }
@@ -38,7 +38,7 @@ namespace test1 {
     void g() {}
   };
 
-  // CHECK: define linkonce_odr void @_ZN5test11C4funcEv(
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test11C4funcEv(
 
   class C {
   public:
@@ -65,5 +65,5 @@ namespace test2 {
     A a;
     f(a);
   }
-  // CHECK: define linkonce_odr void @_ZN5test21fERKNS_1AE
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test21fERKNS_1AE
 }
index 29cfc07e92d8a076e1850228768091ced4701b4a..c08ea781b8cbd654bd8400a46ebba6e188fc87e7 100644 (file)
@@ -18,7 +18,7 @@ void call() {
   Y().get();
 }
 
-// CHECK: define weak_odr void @_Z4callIiEvv
+// CHECK-LABEL: define weak_odr void @_Z4callIiEvv
 // CHECK: call void @_ZN1Y3getEv
 // CHECK-NEXT: call void @_ZN1XD1Ev
 // CHECK-NEXT: ret void
@@ -29,7 +29,7 @@ void compound_literal() {
   (X2){};
 }
 
-// CHECK: define weak_odr void @_Z16compound_literalIiEvv
+// CHECK-LABEL: define weak_odr void @_Z16compound_literalIiEvv
 // CHECK: call void @_ZN1XC1Ev
 // CHECK-NEXT: call void @_ZN2X2D1Ev
 // CHECK-NEXT: ret void
index 68ae68fadbbb38eb91522a2a74de99a7bc2a691d..2f9a4f2d4f55657aa6a3bc1c93990053d28cde89 100644 (file)
@@ -11,27 +11,27 @@ void *use = &used;
 extern "C" auto cvar = []{};
 
 int a() { return []{ return 1; }(); }
-// CHECK: define i32 @_Z1av
+// CHECK-LABEL: define i32 @_Z1av
 // CHECK: call i32 @"_ZZ1avENK3$_0clEv"
-// CHECK: define internal i32 @"_ZZ1avENK3$_0clEv"
+// CHECK-LABEL: define internal i32 @"_ZZ1avENK3$_0clEv"
 // CHECK: ret i32 1
 
 int b(int x) { return [x]{return x;}(); }
-// CHECK: define i32 @_Z1bi
+// CHECK-LABEL: define i32 @_Z1bi
 // CHECK: store i32
 // CHECK: load i32*
 // CHECK: store i32
 // CHECK: call i32 @"_ZZ1biENK3$_1clEv"
-// CHECK: define internal i32 @"_ZZ1biENK3$_1clEv"
+// CHECK-LABEL: define internal i32 @"_ZZ1biENK3$_1clEv"
 // CHECK: load i32*
 // CHECK: ret i32
 
 int c(int x) { return [&x]{return x;}(); }
-// CHECK: define i32 @_Z1ci
+// CHECK-LABEL: define i32 @_Z1ci
 // CHECK: store i32
 // CHECK: store i32*
 // CHECK: call i32 @"_ZZ1ciENK3$_2clEv"
-// CHECK: define internal i32 @"_ZZ1ciENK3$_2clEv"
+// CHECK-LABEL: define internal i32 @"_ZZ1ciENK3$_2clEv"
 // CHECK: load i32**
 // CHECK: load i32*
 // CHECK: ret i32
@@ -39,32 +39,32 @@ int c(int x) { return [&x]{return x;}(); }
 struct D { D(); D(const D&); int x; };
 int d(int x) { D y[10]; [x,y] { return y[x].x; }(); }
 
-// CHECK: define i32 @_Z1di
+// CHECK-LABEL: define i32 @_Z1di
 // CHECK: call void @_ZN1DC1Ev
 // CHECK: icmp ult i64 %{{.*}}, 10
 // CHECK: call void @_ZN1DC1ERKS_
 // CHECK: call i32 @"_ZZ1diENK3$_3clEv"
-// CHECK: define internal i32 @"_ZZ1diENK3$_3clEv"
+// CHECK-LABEL: define internal i32 @"_ZZ1diENK3$_3clEv"
 // CHECK: load i32*
 // CHECK: load i32*
 // CHECK: ret i32
 
 struct E { E(); E(const E&); ~E(); int x; };
 int e(E a, E b, bool cond) { [a,b,cond](){ return (cond ? a : b).x; }(); }
-// CHECK: define i32 @_Z1e1ES_b
+// CHECK-LABEL: define i32 @_Z1e1ES_b
 // CHECK: call void @_ZN1EC1ERKS_
 // CHECK: invoke void @_ZN1EC1ERKS_
 // CHECK: invoke i32 @"_ZZ1e1ES_bENK3$_4clEv"
 // CHECK: call void @"_ZZ1e1ES_bEN3$_4D1Ev"
 // CHECK: call void @"_ZZ1e1ES_bEN3$_4D1Ev"
 
-// CHECK: define internal i32 @"_ZZ1e1ES_bENK3$_4clEv"
+// CHECK-LABEL: define internal i32 @"_ZZ1e1ES_bENK3$_4clEv"
 // CHECK: trunc i8
 // CHECK: load i32*
 // CHECK: ret i32
 
 void f() {
-  // CHECK: define void @_Z1fv()
+  // CHECK-LABEL: define void @_Z1fv()
   // CHECK: @"_ZZ1fvENK3$_5cvPFiiiEEv"
   // CHECK-NEXT: store i32 (i32, i32)*
   // CHECK-NEXT: ret void
@@ -74,7 +74,7 @@ void f() {
 static int k;
 int g() {
   int &r = k;
-  // CHECK: define internal i32 @"_ZZ1gvENK3$_6clEv"(
+  // CHECK-LABEL: define internal i32 @"_ZZ1gvENK3$_6clEv"(
   // CHECK-NOT: }
   // CHECK: load i32* @_ZL1k,
   return [] { return r; } ();
@@ -100,7 +100,7 @@ void h() {
   A (*h)() = [] { return A(); };
 }
 
-// CHECK: define internal i32 @"_ZZ1fvEN3$_58__invokeEii"
+// CHECK-LABEL: define internal i32 @"_ZZ1fvEN3$_58__invokeEii"
 // CHECK: store i32
 // CHECK-NEXT: store i32
 // CHECK-NEXT: load i32*
@@ -108,7 +108,7 @@ void h() {
 // CHECK-NEXT: call i32 @"_ZZ1fvENK3$_5clEii"
 // CHECK-NEXT: ret i32
 
-// CHECK: define internal void @"_ZZ1e1ES_bEN3$_4D2Ev"
+// CHECK-LABEL: define internal void @"_ZZ1e1ES_bEN3$_4D2Ev"
 
 // <rdar://problem/12778708>
 struct XXX {};
index cc4e0909c2134280ba5cd11ad7fc4170905cb40e..19f1b20773c002f0eddef744465d60b424f5d201 100644 (file)
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -std=c++11 -O1 -disable-llvm-optzns %s -o - | FileCheck %s
 
 namespace test1 {
-  // CHECK-DAG: define linkonce_odr void @_ZN5test11fIZNS_1gEvE1SEEvT_(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN5test11fIZNS_1gEvE1SEEvT_(
   template <typename T> void f(T) {}
   inline void *g() {
     struct S {
@@ -12,7 +12,7 @@ namespace test1 {
 }
 
 namespace test2 {
-  // CHECK-DAG: define internal void @_ZN5test21fIZNS_L1gEvE1SEEvT_(
+  // CHECK-DAG-LABEL: define internal void @_ZN5test21fIZNS_L1gEvE1SEEvT_(
   template <typename T> void f(T) {}
   static inline void *g() {
     struct S {
@@ -23,7 +23,7 @@ namespace test2 {
 }
 
 namespace test3 {
-  // CHECK-DAG: define internal void @_ZN5test31fIZNS_1gEvE1SEEvT_(
+  // CHECK-DAG-LABEL: define internal void @_ZN5test31fIZNS_1gEvE1SEEvT_(
   template <typename T> void f(T) {}
   void *g() {
     struct S {
@@ -34,7 +34,7 @@ namespace test3 {
 }
 
 namespace test4 {
-  // CHECK-DAG: define linkonce_odr void @_ZN5test41fIZNS_1gILi1EEEPvvE1SEEvT_(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN5test41fIZNS_1gILi1EEEPvvE1SEEvT_(
   template <typename T> void f(T) {}
   template <int N> inline void *g() {
     struct S {
@@ -46,7 +46,7 @@ namespace test4 {
 }
 
 namespace test5 {
-  // CHECK-DAG: define linkonce_odr void @_ZN5test51fIZNS_1gILi1EEEPvvE1SEEvT_(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN5test51fIZNS_1gILi1EEEPvvE1SEEvT_(
   template <typename T> void f(T) {}
   template <int N> inline void *g() {
     struct S {
@@ -58,7 +58,7 @@ namespace test5 {
 }
 
 namespace test6 {
-  // CHECK-DAG: define linkonce_odr void @_ZN5test61fIZZNS_1gEvEN1S1hEvE1TEEvv(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN5test61fIZZNS_1gEvEN1S1hEvE1TEEvv(
   template <typename T> void f() {}
 
   inline void *g() {
@@ -76,7 +76,7 @@ namespace test6 {
 }
 
 namespace test7 {
-  // CHECK-DAG: define internal void @_ZN5test71fIZZNS_1gEvEN1S1hEvE1TEEvv(
+  // CHECK-DAG-LABEL: define internal void @_ZN5test71fIZZNS_1gEvEN1S1hEvE1TEEvv(
   template <typename T> void f() {}
 
   void *g() {
@@ -94,7 +94,7 @@ namespace test7 {
 }
 
 namespace test8 {
-  // CHECK-DAG: define linkonce_odr void @_ZN5test81fIZNS_1gEvE1SEEvT_(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN5test81fIZNS_1gEvE1SEEvT_(
   template <typename T> void f(T) {}
   inline void *g() {
     enum S {
@@ -105,7 +105,7 @@ namespace test8 {
 }
 
 namespace test9 {
-  // CHECK-DAG: define linkonce_odr void @_ZN5test91fIPZNS_1gEvE1SEEvT_(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN5test91fIPZNS_1gEvE1SEEvT_(
   template <typename T> void f(T) {}
   inline void *g() {
     struct S {
@@ -116,7 +116,7 @@ namespace test9 {
 }
 
 namespace test10 {
-  // CHECK-DAG: define linkonce_odr void @_ZN6test101fIPFZNS_1gEvE1SvEEEvT_(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN6test101fIPFZNS_1gEvE1SvEEEvT_(
   template <typename T> void f(T) {}
   inline void *g() {
     struct S {
@@ -128,7 +128,7 @@ namespace test10 {
 }
 
 namespace test11 {
-  // CHECK-DAG: define internal void @_ZN6test111fIPFZNS_1gEvE1SPNS_12_GLOBAL__N_11IEEEEvT_(
+  // CHECK-DAG-LABEL: define internal void @_ZN6test111fIPFZNS_1gEvE1SPNS_12_GLOBAL__N_11IEEEEvT_(
   namespace {
     struct I {
     };
@@ -145,7 +145,7 @@ namespace test11 {
 }
 
 namespace test12 {
-  // CHECK-DAG: define linkonce_odr void @_ZN6test123fooIZNS_3barIZNS_3zedEvE2S2EEPvvE2S1EEvv
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN6test123fooIZNS_3barIZNS_3zedEvE2S2EEPvvE2S1EEvv
   template <typename T> void foo() {}
   template <typename T> inline void *bar() {
     enum S1 {
@@ -161,7 +161,7 @@ namespace test12 {
 }
 
 namespace test13 {
-  // CHECK-DAG: define linkonce_odr void @_ZZN6test133fooEvEN1S3barEv(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZZN6test133fooEvEN1S3barEv(
   inline void *foo() {
     struct S {
       static void bar() {}
@@ -172,7 +172,7 @@ namespace test13 {
 }
 
 namespace test14 {
-  // CHECK-DAG: define linkonce_odr void @_ZN6test143fooIZNS_1fEvE1SE3barILPS1_0EEEvv(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN6test143fooIZNS_1fEvE1SE3barILPS1_0EEEvv(
   template <typename T> struct foo {
     template <T *P> static void bar() {}
     static void *g() { return (void *)bar<nullptr>; }
@@ -186,7 +186,7 @@ namespace test14 {
 }
 
 namespace test15 {
-  // CHECK-DAG: define linkonce_odr void @_ZN6test153zedIZNS_3fooIiEEPvvE3barEEvv(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN6test153zedIZNS_3fooIiEEPvvE3barEEvv(
   template <class T> void zed() {}
   template <class T> void *foo() {
     class bar {
@@ -197,7 +197,7 @@ namespace test15 {
 }
 
 namespace test16 {
-  // CHECK-DAG: define linkonce_odr void @_ZN6test163zedIZNS_3fooIiE3barEvE1SEEvv(
+  // CHECK-DAG-LABEL: define linkonce_odr void @_ZN6test163zedIZNS_3fooIiE3barEvE1SEEvv(
   template <class T> void zed() {}
   template <class T> struct foo {
     static void *bar();
@@ -212,7 +212,7 @@ namespace test16 {
 
 namespace test17 {
   // CHECK-DAG: @_ZZN6test173fooILi42EEEPivE3bar = linkonce_odr
-  // CHECK-DAG: define weak_odr i32* @_ZN6test173fooILi42EEEPiv(
+  // CHECK-DAG-LABEL: define weak_odr i32* @_ZN6test173fooILi42EEEPiv(
   template<int I>
   int *foo() {
     static int bar;
index 8c5fa4ad44bb7ce95f4ffa44046684c9541b6c6d..86355b27abbf62c573ca86dc7f50a3d4a1afbc55 100644 (file)
@@ -3,7 +3,7 @@
 struct X { int i; float f; };
 struct Y { X x; };
 
-// CHECK: define void @_Z21reinterpret_cast_testRiRfR1X
+// CHECK-LABEL: define void @_Z21reinterpret_cast_testRiRfR1X
 void reinterpret_cast_test(int &ir, float &fr, X &xr) {
   // CHECK: load float**
   // CHECK: bitcast float*
@@ -48,7 +48,7 @@ void reinterpret_cast_test(int &ir, float &fr, X &xr) {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z6c_castRiRfR1X
+// CHECK-LABEL: define void @_Z6c_castRiRfR1X
 void c_cast(int &ir, float &fr, X &xr) {
   // CHECK: load float**
   // CHECK: bitcast float*
@@ -93,7 +93,7 @@ void c_cast(int &ir, float &fr, X &xr) {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z15functional_castRiRfR1X
+// CHECK-LABEL: define void @_Z15functional_castRiRfR1X
 void functional_cast(int &ir, float &fr, X &xr) {
   typedef int &intref;
   typedef float &floatref;
index a9ab6ca42370138bcb396474011b8dfe46f3d6e8..a329caf1d29d20b483bc2111f2ac33ab8750ec0c 100644 (file)
@@ -2,11 +2,11 @@
 
 template <bool B> struct S3 {};
 
-// CHECK: define void @_Z1f2S3ILb1EE
+// CHECK-LABEL: define void @_Z1f2S3ILb1EE
 void f(S3<true>) {}
 
-// CHECK: define void @_Z1f2S3ILb0EE
+// CHECK-LABEL: define void @_Z1f2S3ILb0EE
 void f(S3<false>) {}
 
-// CHECK: define void @_Z2f22S3ILb1EE
+// CHECK-LABEL: define void @_Z2f22S3ILb1EE
 void f2(S3<100>) {}
index ff23c206911cf48070d9e52712e4a349fd921289..4a4a1f3f56e9bdaa60feaf83125376af63fd5f78 100644 (file)
@@ -1,12 +1,12 @@
 // RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: define void @_Z2f0Pc
+// CHECK-LABEL: define void @_Z2f0Pc
 void f0(char *p) { }
-// CHECK: define void @_Z2f0PU3AS1c
+// CHECK-LABEL: define void @_Z2f0PU3AS1c
 void f0(char __attribute__((address_space(1))) *p) { }
 
 struct OpaqueType;
 typedef OpaqueType __attribute__((address_space(100))) * OpaqueTypePtr;
 
-// CHECK: define void @_Z2f0PU5AS10010OpaqueType
+// CHECK-LABEL: define void @_Z2f0PU5AS10010OpaqueType
 void f0(OpaqueTypePtr) { }
index 5ace0b01cc2ededbaea3f1f11c6d1dd3c6a1d579..b6719c5452338137f6cb36982ac11482f561f667 100644 (file)
@@ -15,7 +15,7 @@ template<typename,typename,typename> struct S {};
 template<typename T, typename U> using U = S<T, int, U>;
 template<typename...Ts> void h(U<Ts...>, Ts...);
 
-// CHECK: define void @_Z1zv(
+// CHECK-LABEL: define void @_Z1zv(
 void z() {
   vector<int> VI;
   f(VI);
index 2d7a883526dbbded8ca2c101960d361b350bc8bb..e935f51a46b27dbd4dbda26f14a8b4e2eb35cc6b 100644 (file)
@@ -70,22 +70,22 @@ namespace Casts {
 
   template <int N> T<N> f() { return T<N>(); }
   
-  // CHECK: define weak_odr void @_ZN5Casts8implicitILj4EEEvPN9enable_ifIXleT_Li4EEvE4typeE
+  // CHECK-LABEL: define weak_odr void @_ZN5Casts8implicitILj4EEEvPN9enable_ifIXleT_Li4EEvE4typeE
   template void implicit<4>(void*);
-  // CHECK: define weak_odr void @_ZN5Casts6cstyleILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE
+  // CHECK-LABEL: define weak_odr void @_ZN5Casts6cstyleILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE
   template void cstyle<4>(void*);
-  // CHECK: define weak_odr void @_ZN5Casts10functionalILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE
+  // CHECK-LABEL: define weak_odr void @_ZN5Casts10functionalILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE
   template void functional<4>(void*);
-  // CHECK: define weak_odr void @_ZN5Casts7static_ILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE
+  // CHECK-LABEL: define weak_odr void @_ZN5Casts7static_ILj4EEEvPN9enable_ifIXleT_cvjLi4EEvE4typeE
   template void static_<4>(void*);
 
-  // CHECK: define weak_odr void @_ZN5Casts1fILi6EEENS_1TIXT_EEEv
+  // CHECK-LABEL: define weak_odr void @_ZN5Casts1fILi6EEENS_1TIXT_EEEv
   template T<6> f<6>();
 
-  // CHECK: define weak_odr void @_ZN5Casts5auto_IiEEvDTnw_DapicvT__EEE(
+  // CHECK-LABEL: define weak_odr void @_ZN5Casts5auto_IiEEvDTnw_DapicvT__EEE(
   template void auto_<int>(int*);
 
-  // CHECK: define weak_odr void @_ZN5Casts7scalar_IiEEvDTcmcvT__Ecvi_EE(
+  // CHECK-LABEL: define weak_odr void @_ZN5Casts7scalar_IiEEvDTcmcvT__Ecvi_EE(
   template void scalar_<int>(int);
 }
 
@@ -93,10 +93,10 @@ namespace test1 {
   short foo(short);
   int foo(int);
 
-  // CHECK: define linkonce_odr signext i16 @_ZN5test11aIsEEDTcl3foocvT__EEES1_(
+  // CHECK-LABEL: define linkonce_odr signext i16 @_ZN5test11aIsEEDTcl3foocvT__EEES1_(
   template <class T> auto a(T t) -> decltype(foo(T())) { return foo(t); }
 
-  // CHECK: define linkonce_odr signext i16 @_ZN5test11bIsEEDTcp3foocvT__EEES1_(
+  // CHECK-LABEL: define linkonce_odr signext i16 @_ZN5test11bIsEEDTcp3foocvT__EEES1_(
   template <class T> auto b(T t) -> decltype((foo)(T())) { return (foo)(t); }
 
   void test(short s) {
@@ -124,7 +124,7 @@ namespace test2 {
   float baz(float(*)());
   void fred(float(*)(), float);
 
-  // CHECK: define void @_ZN5test211instantiateEv
+  // CHECK-LABEL: define void @_ZN5test211instantiateEv
   void instantiate() {
     // CHECK: call void @_ZN5test21aIPFfvEEEvT_DTclfL0p_EE(
     a(foo, 0.0f);
@@ -156,7 +156,7 @@ namespace test3 {
     int *member;
   };
 
-  // CHECK: define void @_ZN5test311instantiateEv
+  // CHECK-LABEL: define void @_ZN5test311instantiateEv
   void instantiate() {
     X x;
     int *ip;
index ef2d466e416cca90cc52bd70b5d68e8c34f9939b..9fa678a6f7d4f68fef9536db0decb6594ce663ab 100644 (file)
@@ -2,7 +2,7 @@
 
 struct X { };
 
-// CHECK: define void @_Z1fPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP1XS13_S12_S11_S10_SZ_SY_SX_SW_SV_SU_ST_SS_SR_SQ_SP_SO_SN_SM_SL_SK_SJ_SI_SH_SG_SF_SE_SD_SC_SB_SA_S9_S8_S7_S6_S5_S4_S3_S2_S1_S0_S_(
+// CHECK-LABEL: define void @_Z1fPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP1XS13_S12_S11_S10_SZ_SY_SX_SW_SV_SU_ST_SS_SR_SQ_SP_SO_SN_SM_SL_SK_SJ_SI_SH_SG_SF_SE_SD_SC_SB_SA_S9_S8_S7_S6_S5_S4_S3_S2_S1_S0_S_(
 void f(X****************************************,
        X****************************************,
        X***************************************,
index d618782c3c09be71c2fc430ac6bb8853ac91e553..659b437a0ef3d5ed425a3617c512e28fcfc0b6ff 100644 (file)
@@ -5,7 +5,7 @@
 // CHECK: @_ZZZN7PR12917IJicdEEC1EicdEd0_NKUlvE_clEvE1n = linkonce_odr global i32 0
 // CHECK: @_ZZZN7PR12917IJicdEEC1EicdEd1_NKUlvE_clEvE1n = linkonce_odr global i32 0
 
-// CHECK: define linkonce_odr void @_Z11inline_funci
+// CHECK-LABEL: define linkonce_odr void @_Z11inline_funci
 inline void inline_func(int n) {
   // CHECK: call i32 @_ZZ11inline_funciENKUlvE_clEv
   int i = []{ return 1; }();
@@ -41,7 +41,7 @@ struct S {
 void S::g(int i = []{return 1;}(),
           int j = []{return 2; }()) {}
 
-// CHECK: define void @_Z6test_S1S
+// CHECK-LABEL: define void @_Z6test_S1S
 void test_S(S s) {
   // CHECK: call i32 @_ZZN1S1fEiiEd0_NKUlvE_clEv
   // CHECK-NEXT: call i32 @_ZZN1S1fEiiEd0_NKUlvE0_clEv
@@ -63,15 +63,15 @@ void test_S(S s) {
 }
 
 // Check the linkage of the lambda call operators used in test_S.
-// CHECK: define linkonce_odr i32 @_ZZN1S1fEiiEd0_NKUlvE_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZZN1S1fEiiEd0_NKUlvE_clEv
 // CHECK: ret i32 1
-// CHECK: define linkonce_odr i32 @_ZZN1S1fEiiEd0_NKUlvE0_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZZN1S1fEiiEd0_NKUlvE0_clEv
 // CHECK: ret i32 2
-// CHECK: define linkonce_odr i32 @_ZZN1S1fEiiEd_NKUlvE_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZZN1S1fEiiEd_NKUlvE_clEv
 // CHECK: ret i32 3
-// CHECK: define internal i32 @"_ZNK1S3$_0clEv"
+// CHECK-LABEL: define internal i32 @"_ZNK1S3$_0clEv"
 // CHECK: ret i32 1
-// CHECK: define internal i32 @"_ZNK1S3$_1clEv"
+// CHECK-LABEL: define internal i32 @"_ZNK1S3$_1clEv"
 // CHECK: ret i32 2
 
 template<typename T>
@@ -81,7 +81,7 @@ struct ST {
          T = []{return T(3);}());
 };
 
-// CHECK: define void @_Z7test_ST2STIdE
+// CHECK-LABEL: define void @_Z7test_ST2STIdE
 void test_ST(ST<double> st) {
   // CHECK: call double @_ZZN2STIdE1fEddEd0_NKUlvE_clEv
   // CHECK-NEXT: call double @_ZZN2STIdE1fEddEd0_NKUlvE0_clEv
@@ -94,11 +94,11 @@ void test_ST(ST<double> st) {
 }
 
 // Check the linkage of the lambda call operators used in test_ST.
-// CHECK: define linkonce_odr double @_ZZN2STIdE1fEddEd0_NKUlvE_clEv
+// CHECK-LABEL: define linkonce_odr double @_ZZN2STIdE1fEddEd0_NKUlvE_clEv
 // CHECK: ret double 1
-// CHECK: define linkonce_odr double @_ZZN2STIdE1fEddEd0_NKUlvE0_clEv
+// CHECK-LABEL: define linkonce_odr double @_ZZN2STIdE1fEddEd0_NKUlvE0_clEv
 // CHECK: ret double 2
-// CHECK: define linkonce_odr double @_ZZN2STIdE1fEddEd_NKUlvE_clEv
+// CHECK-LABEL: define linkonce_odr double @_ZZN2STIdE1fEddEd_NKUlvE_clEv
 // CHECK: ret double 3
 
 template<typename T> 
@@ -123,42 +123,42 @@ T StaticMembers<T>::z = accept_lambda([]{return 4;});
 template<typename T>
 int (*StaticMembers<T>::f)() = []{return 5;};
 
-// CHECK: define internal void @__cxx_global_var_init()
+// CHECK-LABEL: define internal void @__cxx_global_var_init()
 // CHECK: call i32 @_ZNK13StaticMembersIfE1xMUlvE_clEv
 // CHECK-NEXT: call i32 @_ZNK13StaticMembersIfE1xMUlvE0_clEv
 // CHECK-NEXT: add nsw
-// CHECK: define linkonce_odr i32 @_ZNK13StaticMembersIfE1xMUlvE_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZNK13StaticMembersIfE1xMUlvE_clEv
 // CHECK: ret i32 1
-// CHECK: define linkonce_odr i32 @_ZNK13StaticMembersIfE1xMUlvE0_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZNK13StaticMembersIfE1xMUlvE0_clEv
 // CHECK: ret i32 2
 template float StaticMembers<float>::x;
 
-// CHECK: define internal void @__cxx_global_var_init1()
+// CHECK-LABEL: define internal void @__cxx_global_var_init1()
 // CHECK: call i32 @_ZNK13StaticMembersIfE1yMUlvE_clEv
-// CHECK: define linkonce_odr i32 @_ZNK13StaticMembersIfE1yMUlvE_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZNK13StaticMembersIfE1yMUlvE_clEv
 // CHECK: ret i32 3
 template float StaticMembers<float>::y;
 
-// CHECK: define internal void @__cxx_global_var_init2()
+// CHECK-LABEL: define internal void @__cxx_global_var_init2()
 // CHECK: call i32 @_Z13accept_lambdaIN13StaticMembersIfE1zMUlvE_EEiT_
 // CHECK: declare i32 @_Z13accept_lambdaIN13StaticMembersIfE1zMUlvE_EEiT_()
 template float StaticMembers<float>::z;
 
-// CHECK: define internal void @__cxx_global_var_init3()
+// CHECK-LABEL: define internal void @__cxx_global_var_init3()
 // CHECK: call {{.*}} @_ZNK13StaticMembersIfE1fMUlvE_cvPFivEEv
-// CHECK: define linkonce_odr i32 ()* @_ZNK13StaticMembersIfE1fMUlvE_cvPFivEEv
+// CHECK-LABEL: define linkonce_odr i32 ()* @_ZNK13StaticMembersIfE1fMUlvE_cvPFivEEv
 template int (*StaticMembers<float>::f)();
 
-// CHECK: define internal void @__cxx_global_var_init4
+// CHECK-LABEL: define internal void @__cxx_global_var_init4
 // CHECK: call i32 @"_ZNK13StaticMembersIdE3$_2clEv"
-// CHECK: define internal i32 @"_ZNK13StaticMembersIdE3$_2clEv"
+// CHECK-LABEL: define internal i32 @"_ZNK13StaticMembersIdE3$_2clEv"
 // CHECK: ret i32 42
 template<> double StaticMembers<double>::z = []{return 42; }();
 
 template<typename T>
 void func_template(T = []{ return T(); }());
 
-// CHECK: define void @_Z17use_func_templatev()
+// CHECK-LABEL: define void @_Z17use_func_templatev()
 void use_func_template() {
   // CHECK: call i32 @"_ZZ13func_templateIiEvT_ENK3$_3clEv"
   func_template<int>();
@@ -192,7 +192,7 @@ namespace PR12123 {
   };
   void B::h() { f(); }
 }
-// CHECK: define linkonce_odr %"struct.PR12123::A"* @_ZZN7PR121231B1fERKSt9type_infoEd_NKUlvE_clEv
+// CHECK-LABEL: define linkonce_odr %"struct.PR12123::A"* @_ZZN7PR121231B1fERKSt9type_infoEd_NKUlvE_clEv
 
 namespace PR12808 {
   template <typename> struct B {
@@ -205,11 +205,11 @@ namespace PR12808 {
   void f() {
     b<int>(1);
   }
-  // CHECK: define linkonce_odr void @_ZZN7PR128081bIiEEviENKUlvE_clEv
-  // CHECK: define linkonce_odr i32 @_ZZZN7PR128081bIiEEviENKUlvE_clEvENKUlvE_clEv
+  // CHECK-LABEL: define linkonce_odr void @_ZZN7PR128081bIiEEviENKUlvE_clEv
+  // CHECK-LABEL: define linkonce_odr i32 @_ZZZN7PR128081bIiEEviENKUlvE_clEvENKUlvE_clEv
 }
 
-// CHECK: define linkonce_odr void @_Z1fIZZNK23TestNestedInstantiationclEvENKUlvE_clEvEUlvE_EvT_
+// CHECK-LABEL: define linkonce_odr void @_Z1fIZZNK23TestNestedInstantiationclEvENKUlvE_clEvEUlvE_EvT_
 
 struct Members {
   int x = [] { return 1; }() + [] { return 2; }();
@@ -217,7 +217,7 @@ struct Members {
 };
 
 void test_Members() {
-  // CHECK: define linkonce_odr void @_ZN7MembersC2Ev
+  // CHECK-LABEL: define linkonce_odr void @_ZN7MembersC2Ev
   // CHECK: call i32 @_ZNK7Members1xMUlvE_clEv
   // CHECK-NEXT: call i32 @_ZNK7Members1xMUlvE0_clE
   // CHECK-NEXT: add nsw i32
@@ -241,21 +241,21 @@ void test_NestedInstantiation() {
 }
 
 // Check the linkage of the lambdas used in test_Members.
-// CHECK: define linkonce_odr i32 @_ZNK7Members1xMUlvE_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZNK7Members1xMUlvE_clEv
 // CHECK: ret i32 1
-// CHECK: define linkonce_odr i32 @_ZNK7Members1xMUlvE0_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZNK7Members1xMUlvE0_clEv
 // CHECK: ret i32 2
-// CHECK: define linkonce_odr i32 @_ZNK7Members1yMUlvE_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZNK7Members1yMUlvE_clEv
 // CHECK: ret i32 3
 
 // Check linkage of the various lambdas.
-// CHECK: define linkonce_odr i32 @_ZZ11inline_funciENKUlvE_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZZ11inline_funciENKUlvE_clEv
 // CHECK: ret i32 1
-// CHECK: define linkonce_odr i32 @_ZZ11inline_funciENKUlvE0_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZZ11inline_funciENKUlvE0_clEv
 // CHECK: ret i32
-// CHECK: define linkonce_odr double @_ZZ11inline_funciENKUlvE1_clEv
+// CHECK-LABEL: define linkonce_odr double @_ZZ11inline_funciENKUlvE1_clEv
 // CHECK: ret double
-// CHECK: define linkonce_odr i32 @_ZZ11inline_funciENKUliE_clEi
+// CHECK-LABEL: define linkonce_odr i32 @_ZZ11inline_funciENKUliE_clEi
 // CHECK: ret i32
-// CHECK: define linkonce_odr i32 @_ZZ11inline_funciENKUlvE2_clEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZZ11inline_funciENKUlvE2_clEv
 // CHECK: ret i32 17
index 07bf52fc9067e9e48cb597a03389771bfe8b1d8b..b55ea6dd2dd436b79cc03d7161490fc7193f1f74 100644 (file)
@@ -2,15 +2,15 @@
 
 template<int *ip> struct IP {};
 
-// CHECK: define void @_Z5test12IPILPi0EE
+// CHECK-LABEL: define void @_Z5test12IPILPi0EE
 void test1(IP<nullptr>) {}
 
 struct X{ };
 template<int X::*pm> struct PM {};
 
-// CHECK: define void @_Z5test22PMILM1Xi0EE
+// CHECK-LABEL: define void @_Z5test22PMILM1Xi0EE
 void test2(PM<nullptr>) { }
 
-// CHECK: define void @_Z5test316DependentTypePtrIPiLS0_0EE
+// CHECK-LABEL: define void @_Z5test316DependentTypePtrIPiLS0_0EE
 template<typename T, T x> struct DependentTypePtr {};
 void test3(DependentTypePtr<int*,nullptr>) { }
index ce2af502e4829b63739e07309587f3e26557ad0c..4552c93ea686d2e0357cd9d6f5f8943c988d2a13 100644 (file)
@@ -5,17 +5,17 @@ struct X {
   int h() const &&;
 };
 
-// CHECK: define i32 @_ZNR1X1fEv
+// CHECK-LABEL: define i32 @_ZNR1X1fEv
 int X::f() & { return 0; }
-// CHECK: define i32 @_ZNO1X1gEv
+// CHECK-LABEL: define i32 @_ZNO1X1gEv
 int X::g() && { return 0; }
-// CHECK: define i32 @_ZNKO1X1hEv
+// CHECK-LABEL: define i32 @_ZNKO1X1hEv
 int X::h() const && { return 0; }
 
-// CHECK: define void @_Z1fM1XFivREMS_FivOEMS_KFivOE
+// CHECK-LABEL: define void @_Z1fM1XFivREMS_FivOEMS_KFivOE
 void f(int (X::*)() &, int (X::*)() &&, int (X::*)() const&&) { }
 
-// CHECK: define void @_Z1g1AIFivEES_IFivREES_IFivOEES_IKFivEES_IKFivREES_IKFivOEES_IVKFivEES_IVKFivREES_IVKFivOEE()
+// CHECK-LABEL: define void @_Z1g1AIFivEES_IFivREES_IFivOEES_IKFivEES_IKFivREES_IKFivOEES_IVKFivEES_IVKFivREES_IVKFivOEE()
 template <class T> struct A {};
 void g(A<int()>, A<int()&>, A<int()&&>,
        A<int() const>, A<int() const &>, A<int() const &&>,
index 04e3e84304e8642176cada0c53044545a271e002..6277c7af21c478589989a61a87ea063fa4a2fc21 100644 (file)
@@ -15,8 +15,8 @@
 namespace std {
   struct A { A(); };
   
-  // CHECK: define void @_ZNSt1AC1Ev(%"struct.std::A"* %this) unnamed_addr
-  // CHECK: define void @_ZNSt1AC2Ev(%"struct.std::A"* %this) unnamed_addr
+  // CHECK-LABEL: define void @_ZNSt1AC1Ev(%"struct.std::A"* %this) unnamed_addr
+  // CHECK-LABEL: define void @_ZNSt1AC2Ev(%"struct.std::A"* %this) unnamed_addr
   A::A() { }
 };
 
@@ -24,14 +24,14 @@ namespace std {
   template<typename> struct allocator { };
 }
 
-// CHECK: define void @_Z1fSaIcESaIiE
+// CHECK-LABEL: define void @_Z1fSaIcESaIiE
 void f(std::allocator<char>, std::allocator<int>) { }
 
 namespace std {
   template<typename, typename, typename> struct basic_string { };
 }
 
-// CHECK: define void @_Z1fSbIcciE
+// CHECK-LABEL: define void @_Z1fSbIcciE
 void f(std::basic_string<char, char, int>) { }
 
 namespace std {
@@ -90,7 +90,7 @@ namespace std
 }
 
 // Make sure we don't treat the following like std::string
-// CHECK: define void @_Z1f12basic_stringIcSt11char_traitsIcESaIcEE
+// CHECK-LABEL: define void @_Z1f12basic_stringIcSt11char_traitsIcESaIcEE
 template<typename, typename, typename> struct basic_string { };
 typedef basic_string<char, std::char_traits<char>, std::allocator<char> > not_string;
 void f(not_string) { }
@@ -106,7 +106,7 @@ namespace N {
   namespace std {
     struct A { void f(); };
     
-    // CHECK: define void @_ZN1N3std1A1fEv
+    // CHECK-LABEL: define void @_ZN1N3std1A1fEv
     void A::f() { }
   }
 }
index d83a081dd76abfcdf6c038a85d8c045a032f99f2..30360aeae317ed70b07329ec97af1244bd87d7dd 100644 (file)
@@ -2,19 +2,19 @@
 
 struct X {};
 
-// CHECK: define void @_Z1f1XS_(
+// CHECK-LABEL: define void @_Z1f1XS_(
 void f(X, X) { }
 
-// CHECK: define void @_Z1fR1XS0_(
+// CHECK-LABEL: define void @_Z1fR1XS0_(
 void f(X&, X&) { }
 
-// CHECK: define void @_Z1fRK1XS1_(
+// CHECK-LABEL: define void @_Z1fRK1XS1_(
 void f(const X&, const X&) { }
 
 typedef void T();
 struct S {};
 
-// CHECK: define void @_Z1fPFvvEM1SFvvE(
+// CHECK-LABEL: define void @_Z1fPFvvEM1SFvvE(
 void f(T*, T (S::*)) {}
 
 namespace A {
@@ -22,14 +22,14 @@ namespace A {
   struct B { };
 };
 
-// CHECK: define void @_Z1fN1A1AENS_1BE(
+// CHECK-LABEL: define void @_Z1fN1A1AENS_1BE(
 void f(A::A a, A::B b) { }
 
 struct C {
   struct D { };
 };
 
-// CHECK: define void @_Z1fN1C1DERS_PS_S1_(
+// CHECK-LABEL: define void @_Z1fN1C1DERS_PS_S1_(
 void f(C::D, C&, C*, C&) { }
 
 template<typename T>
index 6716b58926d722556b630f8485518d1c52598aa1..3ab5f96f6239bc72e2ff7256aa1b8abd01011037 100644 (file)
@@ -3,9 +3,9 @@
 // PR5420
 
 # 1 "fake_system_header.h" 1 3 4
-// CHECK: define void @_ZdlPvS_(
+// CHECK-LABEL: define void @_ZdlPvS_(
 void operator delete (void*, void*) {}
 
 // PR6217
-// CHECK: define void @_Z3barv() 
+// CHECK-LABEL: define void @_Z3barv() 
 void bar() { }
index 03eae53ad02eeae7e5f61ae760f0697f635312c9..3b7f3027f6c244b2331cc79451eff6010deaefab 100644 (file)
@@ -101,7 +101,7 @@ namespace test8 {
   template<typename T>
   void f(int_c<meta<T>::type::value>) { }
 
-  // CHECK: define weak_odr void @_ZN5test81fIiEEvNS_5int_cIXsr4metaIT_E4typeE5valueEEE(
+  // CHECK-LABEL: define weak_odr void @_ZN5test81fIiEEvNS_5int_cIXsr4metaIT_E4typeE5valueEEE(
   template void f<int>(int_c<sizeof(int)>);
 }
 
@@ -160,13 +160,13 @@ namespace test12 {
   const int n = 10;
   template<typename T, T v> void test() {}
   void use() {
-    // CHECK: define internal void @_ZN6test124testIFivEXadL_ZNS_L1fEvEEEEvv(
+    // CHECK-LABEL: define internal void @_ZN6test124testIFivEXadL_ZNS_L1fEvEEEEvv(
     test<int(), &f>();
-    // CHECK: define internal void @_ZN6test124testIRFivELZNS_L1fEvEEEvv(
+    // CHECK-LABEL: define internal void @_ZN6test124testIRFivELZNS_L1fEvEEEvv(
     test<int(&)(), f>();
-    // CHECK: define internal void @_ZN6test124testIPKiXadL_ZNS_L1nEEEEEvv(
+    // CHECK-LABEL: define internal void @_ZN6test124testIPKiXadL_ZNS_L1nEEEEEvv(
     test<const int*, &n>();
-    // CHECK: define internal void @_ZN6test124testIRKiLZNS_L1nEEEEvv(
+    // CHECK-LABEL: define internal void @_ZN6test124testIRKiLZNS_L1nEEEEvv(
     test<const int&, n>();
   }
 }
index 53f381c3a011de626c227707c4bb7df42d744ed0..a62bdd5393c406257e12b905b5cbe3deb2a7bd72 100644 (file)
@@ -80,7 +80,7 @@ template <class T> struct Test8 {
 template <class T> void make_test8(T value) { Test8<T> t(value); }
 void test8() { make_test8(T8); }
 
-// CHECK: define internal void @"_ZNV3$_35test9Ev"(
+// CHECK-LABEL: define internal void @"_ZNV3$_35test9Ev"(
 typedef volatile struct {
   void test9() volatile {}
 } Test9;
@@ -89,4 +89,4 @@ void test9() {
   a.test9();
 }
 
-// CHECK: define internal void @"_ZN5Test8I3$_2EC1ES0_"(
+// CHECK-LABEL: define internal void @"_ZN5Test8I3$_2EC1ES0_"(
index b5bdae234445038539b5213a2160c193ff3fd654..264cc113cd57e50770f3eeda550afb4a019fd209 100644 (file)
@@ -9,59 +9,59 @@ template<typename ...Types> struct tuple { };
 template<int ...Values> struct int_tuple { };
 template<template<typename> class ...Templates> struct template_tuple { };
 
-// CHECK: define weak_odr void @_Z2f0IJEEv1XIXsZT_EJDpRT_EE
+// CHECK-LABEL: define weak_odr void @_Z2f0IJEEv1XIXsZT_EJDpRT_EE
 template<typename ...Types>
 void f0(X<sizeof...(Types), Types&...>) { }
 
 template void f0(X<0>);
 
-// CHECK: define weak_odr void @_Z2f0IJifdEEv1XIXsZT_EJDpRT_EE
+// CHECK-LABEL: define weak_odr void @_Z2f0IJifdEEv1XIXsZT_EJDpRT_EE
 template void f0<int, float, double>(X<3, int&, float&, double&>);
 
 // Mangling for template argument packs
 template<typename ...Types> void f1() {}
-// CHECK: define weak_odr void @_Z2f1IJEEvv
+// CHECK-LABEL: define weak_odr void @_Z2f1IJEEvv
 template void f1<>();
-// CHECK: define weak_odr void @_Z2f1IJiEEvv
+// CHECK-LABEL: define weak_odr void @_Z2f1IJiEEvv
 template void f1<int>();
-// CHECK: define weak_odr void @_Z2f1IJifEEvv
+// CHECK-LABEL: define weak_odr void @_Z2f1IJifEEvv
 template void f1<int, float>();
 
 // Mangling function parameter packs
 template<typename ...Types> void f2(Types...) {}
-// CHECK: define weak_odr void @_Z2f2IJEEvDpT_
+// CHECK-LABEL: define weak_odr void @_Z2f2IJEEvDpT_
 template void f2<>();
-// CHECK: define weak_odr void @_Z2f2IJiEEvDpT_
+// CHECK-LABEL: define weak_odr void @_Z2f2IJiEEvDpT_
 template void f2<int>(int);
-// CHECK: define weak_odr void @_Z2f2IJifEEvDpT_
+// CHECK-LABEL: define weak_odr void @_Z2f2IJifEEvDpT_
 template void f2<int, float>(int, float);
 
 // Mangling non-trivial function parameter packs
 template<typename ...Types> void f3(const Types *...) {}
-// CHECK: define weak_odr void @_Z2f3IJEEvDpPKT_
+// CHECK-LABEL: define weak_odr void @_Z2f3IJEEvDpPKT_
 template void f3<>();
-// CHECK: define weak_odr void @_Z2f3IJiEEvDpPKT_
+// CHECK-LABEL: define weak_odr void @_Z2f3IJiEEvDpPKT_
 template void f3<int>(const int*);
-// CHECK: define weak_odr void @_Z2f3IJifEEvDpPKT_
+// CHECK-LABEL: define weak_odr void @_Z2f3IJifEEvDpPKT_
 template void f3<int, float>(const int*, const float*);
 
 // Mangling of type pack expansions in a template argument
 template<typename ...Types> tuple<Types...> f4() {}
-// CHECK: define weak_odr void @_Z2f4IJifdEE5tupleIJDpT_EEv
+// CHECK-LABEL: define weak_odr void @_Z2f4IJifdEE5tupleIJDpT_EEv
 template tuple<int, float, double> f4();
 
 // Mangling of type pack expansions in a function type
 template<typename R, typename ...ArgTypes> identity<R(ArgTypes...)> f5() {}
-// CHECK: define weak_odr void @_Z2f5IiJifdEE8identityIFT_DpT0_EEv
+// CHECK-LABEL: define weak_odr void @_Z2f5IiJifdEE8identityIFT_DpT0_EEv
 template identity<int(int, float, double)> f5();
 
 // Mangling of non-type template argument expansions
 template<int ...Values> int_tuple<Values...> f6() {}
-// CHECK: define weak_odr void @_Z2f6IJLi1ELi2ELi3EEE9int_tupleIJXspT_EEEv
+// CHECK-LABEL: define weak_odr void @_Z2f6IJLi1ELi2ELi3EEE9int_tupleIJXspT_EEEv
 template int_tuple<1, 2, 3> f6();
 
 // Mangling of template template argument expansions
 template<template<typename> class ...Templates> 
 template_tuple<Templates...> f7() {}
-// CHECK: define weak_odr void @_Z2f7IJ8identity13add_referenceEE14template_tupleIJDpT_EEv
+// CHECK-LABEL: define weak_odr void @_Z2f7IJ8identity13add_referenceEE14template_tupleIJDpT_EEv
 template template_tuple<identity, add_reference> f7();
index 4b601229d341f7b3564c2dd98d7708b0eb9933a4..a9daa0df6194d14a55646930af7e57781bdd29dc 100644 (file)
@@ -11,35 +11,35 @@ struct Y { };
 //CHECK: @pr5966_i = external global
 //CHECK: @_ZL8pr5966_i = internal global
 
-// CHECK: define zeroext i1 @_ZplRK1YRA100_P1X
+// CHECK-LABEL: define zeroext i1 @_ZplRK1YRA100_P1X
 bool operator+(const Y&, X* (&xs)[100]) { return false; }
 
-// CHECK: define void @_Z1f1s
+// CHECK-LABEL: define void @_Z1f1s
 typedef struct { int a; } s;
 void f(s) { }
 
-// CHECK: define void @_Z1f1e
+// CHECK-LABEL: define void @_Z1f1e
 typedef enum { foo } e;
 void f(e) { }
 
-// CHECK: define void @_Z1f1u
+// CHECK-LABEL: define void @_Z1f1u
 typedef union { int a; } u;
 void f(u) { }
 
-// CHECK: define void @_Z1f1x
+// CHECK-LABEL: define void @_Z1f1x
 typedef struct { int a; } x,y;
 void f(y) { }
 
-// CHECK: define void @_Z1fv
+// CHECK-LABEL: define void @_Z1fv
 void f() { }
 
-// CHECK: define void @_ZN1N1fEv
+// CHECK-LABEL: define void @_ZN1N1fEv
 namespace N { void f() { } }
 
-// CHECK: define void @_ZN1N1N1fEv
+// CHECK-LABEL: define void @_ZN1N1N1fEv
 namespace N { namespace N { void f() { } } }
 
-// CHECK: define void @unmangled_function
+// CHECK-LABEL: define void @unmangled_function
 extern "C" { namespace N { void unmangled_function() { } } }
 
 extern "C" { namespace N { int unmangled_variable = 10; } }
@@ -50,41 +50,41 @@ namespace N { int f(int, int) { static int b; return b; } }
 
 namespace N { int h(); void g() { static int a = h(); } }
 
-// CHECK: define void @_Z1fno
+// CHECK-LABEL: define void @_Z1fno
 void f(__int128_t, __uint128_t) { } 
 
 template <typename T> struct S1 {};
 
-// CHECK: define void @_Z1f2S1IiE
+// CHECK-LABEL: define void @_Z1f2S1IiE
 void f(S1<int>) {}
 
-// CHECK: define void @_Z1f2S1IdE
+// CHECK-LABEL: define void @_Z1f2S1IdE
 void f(S1<double>) {}
 
 template <int N> struct S2 {};
-// CHECK: define void @_Z1f2S2ILi100EE
+// CHECK-LABEL: define void @_Z1f2S2ILi100EE
 void f(S2<100>) {}
 
-// CHECK: define void @_Z1f2S2ILin100EE
+// CHECK-LABEL: define void @_Z1f2S2ILin100EE
 void f(S2<-100>) {}
 
 template <bool B> struct S3 {};
 
-// CHECK: define void @_Z1f2S3ILb1EE
+// CHECK-LABEL: define void @_Z1f2S3ILb1EE
 void f(S3<true>) {}
 
-// CHECK: define void @_Z1f2S3ILb0EE
+// CHECK-LABEL: define void @_Z1f2S3ILb0EE
 void f(S3<false>) {}
 
 struct S;
 
-// CHECK: define void @_Z1fM1SKFvvE
+// CHECK-LABEL: define void @_Z1fM1SKFvvE
 void f(void (S::*)() const) {}
 
-// CHECK: define void @_Z1fM1SFvvE
+// CHECK-LABEL: define void @_Z1fM1SFvvE
 void f(void (S::*)()) {}
 
-// CHECK: define void @_Z1fi
+// CHECK-LABEL: define void @_Z1fi
 void f(const int) { }
 
 template<typename T, typename U> void ft1(U u, T t) { }
@@ -238,7 +238,7 @@ template<bool, typename> struct __enable_if {};
 template<typename T> struct __enable_if<true, T> { typedef T __type; };
 template<typename T>
 
-// CHECK: define linkonce_odr void @_ZN6PR57968__fill_aIiEENS_11__enable_ifIXntsr16__is_scalar_typeIT_EE7__valueEvE6__typeEv
+// CHECK-LABEL: define linkonce_odr void @_ZN6PR57968__fill_aIiEENS_11__enable_ifIXntsr16__is_scalar_typeIT_EE7__valueEvE6__typeEv
 typename __enable_if<!__is_scalar_type<T>::__value, void>::__type __fill_a() { };
 
 void f() { __fill_a<int>(); }
@@ -247,26 +247,26 @@ void f() { __fill_a<int>(); }
 namespace Expressions {
 // Unary operators.
 
-// CHECK: define weak_odr void @_ZN11Expressions2f1ILi1EEEvPAplngT_Li2E_i
+// CHECK-LABEL: define weak_odr void @_ZN11Expressions2f1ILi1EEEvPAplngT_Li2E_i
 template <int i> void f1(int (*)[(-i) + 2]) { };
 template void f1<1>(int (*)[1]);
 
-// CHECK: define weak_odr void @_ZN11Expressions2f2ILi1EEEvPApsT__i
+// CHECK-LABEL: define weak_odr void @_ZN11Expressions2f2ILi1EEEvPApsT__i
 template <int i> void f2(int (*)[+i]) { };
 template void f2<1>(int (*)[1]);
 
 // Binary operators.
 
-// CHECK: define weak_odr void @_ZN11Expressions2f3ILi1EEEvPAplT_T__i
+// CHECK-LABEL: define weak_odr void @_ZN11Expressions2f3ILi1EEEvPAplT_T__i
 template <int i> void f3(int (*)[i+i]) { };
 template void f3<1>(int (*)[2]);
 
-// CHECK: define weak_odr void @_ZN11Expressions2f4ILi1EEEvPAplplLi2ET_T__i
+// CHECK-LABEL: define weak_odr void @_ZN11Expressions2f4ILi1EEEvPAplplLi2ET_T__i
 template <int i> void f4(int (*)[2 + i+i]) { };
 template void f4<1>(int (*)[4]);
 
 // The ternary operator.
-// CHECK: define weak_odr void @_ZN11Expressions2f4ILb1EEEvPAquT_Li1ELi2E_i
+// CHECK-LABEL: define weak_odr void @_ZN11Expressions2f4ILb1EEEvPAquT_Li1ELi2E_i
 template <bool b> void f4(int (*)[b ? 1 : 2]) { };
 template void f4<true>(int (*)[1]);
 }
@@ -280,13 +280,13 @@ struct Ops {
   void *v;
 };
 
-// CHECK: define %struct.Ops* @_ZN3OpsplERKS_
+// CHECK-LABEL: define %struct.Ops* @_ZN3OpsplERKS_
 Ops& Ops::operator+(const Ops&) { return *this; }
-// CHECK: define %struct.Ops* @_ZN3OpsmiERKS_
+// CHECK-LABEL: define %struct.Ops* @_ZN3OpsmiERKS_
 Ops& Ops::operator-(const Ops&) { return *this; }
-// CHECK: define %struct.Ops* @_ZN3OpsanERKS_
+// CHECK-LABEL: define %struct.Ops* @_ZN3OpsanERKS_
 Ops& Ops::operator&(const Ops&) { return *this; }
-// CHECK: define %struct.Ops* @_ZN3OpsmlERKS_
+// CHECK-LABEL: define %struct.Ops* @_ZN3OpsmlERKS_
 Ops& Ops::operator*(const Ops&) { return *this; }
 
 // PR5861
@@ -302,11 +302,11 @@ template<typename T, typename = Policy<P, true> > class Alloc
   T *allocate(int, const void*) { return 0; }
 };
 
-// CHECK: define weak_odr i8* @_ZN6PR58615AllocIcNS_6PolicyINS_1PELb1EEEE8allocateEiPKv
+// CHECK-LABEL: define weak_odr i8* @_ZN6PR58615AllocIcNS_6PolicyINS_1PELb1EEEE8allocateEiPKv
 template class Alloc<char>;
 }
 
-// CHECK: define void @_Z1fU13block_pointerFiiiE
+// CHECK-LABEL: define void @_Z1fU13block_pointerFiiiE
 void f(int (^)(int, int)) { }
 
 void pr5966_foo() {
@@ -330,29 +330,29 @@ namespace test0 {
     char buffer[1];
     f(0.0, buffer);
   }
-  // CHECK: define void @_ZN5test05test0Ev()
-  // CHECK: define linkonce_odr void @_ZN5test01fIdEEvT_RAszcl3ovlcvS1__EE_c(
+  // CHECK-LABEL: define void @_ZN5test05test0Ev()
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test01fIdEEvT_RAszcl3ovlcvS1__EE_c(
 
   void test1() {
     char buffer[sizeof(int)];
     f(1, buffer);
   }
-  // CHECK: define void @_ZN5test05test1Ev()
-  // CHECK: define linkonce_odr void @_ZN5test01fIiEEvT_RAszcl3ovlcvS1__EE_c(
+  // CHECK-LABEL: define void @_ZN5test05test1Ev()
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test01fIiEEvT_RAszcl3ovlcvS1__EE_c(
 
   template <class T> void g(char (&buffer)[sizeof(T() + 5.0f)]) {}
   void test2() {
     char buffer[sizeof(float)];
     g<float>(buffer);
   }
-  // CHECK: define linkonce_odr void @_ZN5test01gIfEEvRAszplcvT__ELf40a00000E_c(
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test01gIfEEvRAszplcvT__ELf40a00000E_c(
 
   template <class T> void h(char (&buffer)[sizeof(T() + 5.0)]) {}
   void test3() {
     char buffer[sizeof(double)];
     h<float>(buffer);
   }
-  // CHECK: define linkonce_odr void @_ZN5test01hIfEEvRAszplcvT__ELd4014000000000000E_c(
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test01hIfEEvRAszplcvT__ELd4014000000000000E_c(
 
   template <class T> void j(char (&buffer)[sizeof(T().buffer)]) {}
   struct A { double buffer[128]; };
@@ -360,25 +360,25 @@ namespace test0 {
     char buffer[1024];
     j<A>(buffer);
   }
-  // CHECK: define linkonce_odr void @_ZN5test01jINS_1AEEEvRAszdtcvT__E6buffer_c(
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test01jINS_1AEEEvRAszdtcvT__E6buffer_c(
 
   template <class T> void k(char (&buffer)[sizeof(T() + 0.0f)]) {}
   void test5() {
     char buffer[sizeof(float)];
     k<float>(buffer);
   }
-  // CHECK: define linkonce_odr void @_ZN5test01kIfEEvRAszplcvT__ELf00000000E_c(
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test01kIfEEvRAszplcvT__ELf00000000E_c(
 
 }
 
 namespace test1 {
   template<typename T> struct X { };
   template<template<class> class Y, typename T> void f(Y<T>) { }
-  // CHECK: define weak_odr void @_ZN5test11fINS_1XEiEEvT_IT0_E
+  // CHECK-LABEL: define weak_odr void @_ZN5test11fINS_1XEiEEvT_IT0_E
   template void f(X<int>);
 }
 
-// CHECK: define internal void @_ZL27functionWithInternalLinkagev()
+// CHECK-LABEL: define internal void @_ZL27functionWithInternalLinkagev()
 static void functionWithInternalLinkage() {  }
 void g() { functionWithInternalLinkage(); }
 
@@ -392,7 +392,7 @@ namespace test2 {
     return read_member(obj);
   }
 
-  // CHECK: define linkonce_odr i32 @_ZN5test211read_memberINS_1AEEEDtptcvPT_Li0E6memberERS2_(
+  // CHECK-LABEL: define linkonce_odr i32 @_ZN5test211read_memberINS_1AEEEDtptcvPT_Li0E6memberERS2_(
 }
 
 // rdar://problem/9280586
@@ -402,16 +402,16 @@ namespace test3 {
   struct Path2 : AmbiguousBase { double p; };
   struct Derived : Path1, Path2 { };
 
-  // CHECK: define linkonce_odr i32 @_ZN5test38get_ab_1INS_7DerivedEEEDtptcvPT_Li0Esr5Path1E2abERS2_(
+  // CHECK-LABEL: define linkonce_odr i32 @_ZN5test38get_ab_1INS_7DerivedEEEDtptcvPT_Li0Esr5Path1E2abERS2_(
   template <class T> decltype(((T*) 0)->Path1::ab) get_ab_1(T &ref) { return ref.Path1::ab; }
 
-  // CHECK: define linkonce_odr i32 @_ZN5test38get_ab_2INS_7DerivedEEEDtptcvPT_Li0Esr5Path2E2abERS2_(
+  // CHECK-LABEL: define linkonce_odr i32 @_ZN5test38get_ab_2INS_7DerivedEEEDtptcvPT_Li0Esr5Path2E2abERS2_(
   template <class T> decltype(((T*) 0)->Path2::ab) get_ab_2(T &ref) { return ref.Path2::ab; }
 
-  // CHECK: define linkonce_odr float @_ZN5test37get_p_1INS_7DerivedEEEDtptcvPT_Li0Esr5Path1E1pERS2_(
+  // CHECK-LABEL: define linkonce_odr float @_ZN5test37get_p_1INS_7DerivedEEEDtptcvPT_Li0Esr5Path1E1pERS2_(
   template <class T> decltype(((T*) 0)->Path1::p) get_p_1(T &ref) { return ref.Path1::p; }
 
-  // CHECK: define linkonce_odr double @_ZN5test37get_p_2INS_7DerivedEEEDtptcvPT_Li0Esr5Path2E1pERS2_(
+  // CHECK-LABEL: define linkonce_odr double @_ZN5test37get_p_2INS_7DerivedEEEDtptcvPT_Li0Esr5Path2E1pERS2_(
   template <class T> decltype(((T*) 0)->Path2::p) get_p_2(T &ref) { return ref.Path2::p; }
 
   Derived obj;
@@ -423,7 +423,7 @@ namespace test3 {
   }
 }
 
-// CHECK: define void @_ZN5test41gEPNS_3zedIXadL_ZNS_3foo3barEEEEE
+// CHECK-LABEL: define void @_ZN5test41gEPNS_3zedIXadL_ZNS_3foo3barEEEEE
 namespace test4 {
   struct foo { int bar; };
   template <int (foo::*)>
@@ -431,7 +431,7 @@ namespace test4 {
   void g(zed<&foo::bar>*)
   {}
 }
-// CHECK: define void @_ZN5test51gEPNS_3zedIXadL_ZNS_3foo3barEEEEE
+// CHECK-LABEL: define void @_ZN5test51gEPNS_3zedIXadL_ZNS_3foo3barEEEEE
 namespace test5 {
   struct foo { static int bar; };
   template <int *>
@@ -439,7 +439,7 @@ namespace test5 {
   void g(zed<&foo::bar>*)
   {}
 }
-// CHECK: define void @_ZN5test61gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE
+// CHECK-LABEL: define void @_ZN5test61gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE
 namespace test6 {
   struct foo { int bar(); };
   template <int (foo::*)()>
@@ -447,7 +447,7 @@ namespace test6 {
   void g(zed<&foo::bar>*)
   {}
 }
-// CHECK: define void @_ZN5test71gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE
+// CHECK-LABEL: define void @_ZN5test71gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE
 namespace test7 {
   struct foo { static int bar(); };
   template <int (*f)()>
@@ -455,7 +455,7 @@ namespace test7 {
   void g(zed<&foo::bar>*)
   {}
 }
-// CHECK: define weak_odr void @_ZN5test81AILZNS_1B5valueEEE3incEv
+// CHECK-LABEL: define weak_odr void @_ZN5test81AILZNS_1B5valueEEE3incEv
 namespace test8 {
   template <int &counter> class A { void inc() { counter++; } };
   class B { public: static int value; };
@@ -482,7 +482,7 @@ namespace test10 {
   template <char P1> struct S {};
   template <char P2> void f(struct S<false ? 'a' : P2> ) {}
 
-  // CHECK: define weak_odr void @_ZN6test101fILc3EEEvNS_1SIXquLb0ELc97ET_EEE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test101fILc3EEEvNS_1SIXquLb0ELc97ET_EEE(
   template void f<(char) 3>(struct S<3>);
 }
 
@@ -512,7 +512,7 @@ namespace test13 {
 
   template <template<class> class T> void foo(const A<T> &a) {}
 
-  // CHECK: define weak_odr void @_ZN6test133fooINS_1BEEEvRKNS_1AIT_EE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test133fooINS_1BEEEvRKNS_1AIT_EE(
   template void foo(const A<B> &a);
 }
 
@@ -521,7 +521,7 @@ namespace test14 {
     struct S {
       static int a(), x;
     };
-    // CHECK: define i32 @_ZN6test141S1aEv
+    // CHECK-LABEL: define i32 @_ZN6test141S1aEv
     // CHECK: load i32* @_ZN6test141S1xE
     int S::a() { return S::x; }
   }
@@ -534,7 +534,7 @@ namespace test15 {
 
   template <int I> void f(S<I + e>) {}
 
-  // CHECK: define weak_odr void @_ZN6test151fILi7EEEvNS_1SIXplT_LNS_1EE3EEEE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test151fILi7EEEvNS_1SIXplT_LNS_1EE3EEEE(
   template void f<7>(S<7 + e>);
 }
 
@@ -548,7 +548,7 @@ namespace test17 {
 
   template <class T> A<sizeof(T::foo())> func(void);
 
-  // CHECK: define void @_ZN6test174testEv()
+  // CHECK-LABEL: define void @_ZN6test174testEv()
   // CHECK: call {{.*}} @_ZN6test174funcINS_1BEEENS_1AIXszclsrT_3fooEEEEv()
   void test() {
     func<B>();
@@ -577,10 +577,10 @@ namespace test18 {
   template <typename T> void f(S<&T::operator&>) {}
   template void f<A>(S<&A::operator&>);
 
-  // CHECK: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_plEEE
-  // CHECK: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_miEEE
-  // CHECK: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_mlEEE
-  // CHECK: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_anEEE
+  // CHECK-LABEL: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_plEEE
+  // CHECK-LABEL: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_miEEE
+  // CHECK-LABEL: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_mlEEE
+  // CHECK-LABEL: define weak_odr void @_ZN6test181fINS_1AEEEvNS_1SIXadsrT_anEEE
 }
 
 // rdar://problem/8332117
@@ -599,13 +599,13 @@ namespace test19 {
   template <typename T> void g (S<&T::operator int>) {}
   template <typename T> void g (S<&T::template operator- <double> >) {}
 
-  // CHECK: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_1fIiEEEE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_1fIiEEEE(
   template void g<A>(S<&A::f<int> >);
-  // CHECK: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_plEEE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_plEEE(
   template void g<A>(S<&A::operator+>);
-  // CHECK: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_cviEEE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_cviEEE(
   template void g<A>(S<&A::operator int>);
-  // CHECK: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_miIdEEEE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test191gINS_1AEEEvNS_1SIXadsrT_miIdEEEE(
   template void g<A>(S<&A::operator-<double> >);
 }
 
@@ -613,23 +613,23 @@ namespace test20 {
   template <class T> T *f(const T&);
   template <class T> T *f(T*);
 
-  // CHECK: define weak_odr void @_ZN6test205test0IiEEvDTcl1fIPT_ELi0EEE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test205test0IiEEvDTcl1fIPT_ELi0EEE(
   template <class T> void test0(decltype(f<T*>(0))) {}
   template void test0<int>(decltype(f<int*>(0)));
 
-  // CHECK: define weak_odr void @_ZN6test205test1IiEEvDTcl1fIEcvT__EEE(
+  // CHECK-LABEL: define weak_odr void @_ZN6test205test1IiEEvDTcl1fIEcvT__EEE(
   template <class T> void test1(decltype(f<>(T()))) {}
   template void test1<int>(decltype(f<>(int())));
 }
 
 // rdar:// 8620510
 namespace test21 {
-  // CHECK: define void @_ZN6test2112vla_arg_funcEiPA_i(
+  // CHECK-LABEL: define void @_ZN6test2112vla_arg_funcEiPA_i(
   void vla_arg_func(int X, int a[X][X]) {}
 }
 
 namespace test22 {
-  // CHECK: define void @_ZN6test221fEDn(
+  // CHECK-LABEL: define void @_ZN6test221fEDn(
   void f(decltype(nullptr)) { }
 }
 
@@ -637,12 +637,12 @@ namespace test22 {
 namespace test23 {
   typedef void * const vpc;
 
-  // CHECK: define void @_ZN6test231fERA10_KPv(
+  // CHECK-LABEL: define void @_ZN6test231fERA10_KPv(
   void f(vpc (&)[10]) {}
 
   typedef vpc vpca5[5];
   void f(vpca5 volatile (&)[10]) {}
-  // CHECK: define void @_ZN6test231fERA10_A5_VKPv(
+  // CHECK-LABEL: define void @_ZN6test231fERA10_A5_VKPv(
 }
 
 namespace test24 {
@@ -757,11 +757,11 @@ namespace test31 { // instantiation-dependent mangling of decltype
   void g(int);
   template<class T> auto f3(T p)->decltype(g(p)) {}
 
-  // CHECK: define weak_odr i32 @_ZN6test312f1IiEEiT_(
+  // CHECK-LABEL: define weak_odr i32 @_ZN6test312f1IiEEiT_(
   template int f1(int);
-  // CHECK: define weak_odr i32 @_ZN6test312f2IiEEDtfp_ET_
+  // CHECK-LABEL: define weak_odr i32 @_ZN6test312f2IiEEDtfp_ET_
   template int f2(int);
-  // CHECK: define weak_odr void @_ZN6test312f3IiEEDTcl1gfp_EET_
+  // CHECK-LABEL: define weak_odr void @_ZN6test312f3IiEEDTcl1gfp_EET_
   template void f3(int);
 }
 
@@ -802,14 +802,14 @@ namespace test34 {
   template<typename T>
   void f(decltype(sizeof(decltype(T() + T())))) {}
 
-  // CHECK: define weak_odr void @_ZN6test341fIiEEvDTstDTplcvT__EcvS1__EEE
+  // CHECK-LABEL: define weak_odr void @_ZN6test341fIiEEvDTstDTplcvT__EcvS1__EEE
   template void f<int>(decltype(sizeof(1)));
 
   // Mangling for non-instantiation-dependent sizeof expressions.
   template<unsigned N>
   void f2(int (&)[N + sizeof(int*)]) {}
 
-  // CHECK: define weak_odr void @_ZN6test342f2ILj4EEEvRAplT_Lm8E_i
+  // CHECK-LABEL: define weak_odr void @_ZN6test342f2ILj4EEEvRAplT_Lm8E_i
   template void f2<4>(int (&)[4 + sizeof(int*)]);
 
   // Mangling for non-instantiation-dependent sizeof expressions
@@ -817,7 +817,7 @@ namespace test34 {
   template<unsigned long long N>
   void f3(int (&)[N + sizeof(int*)]) {}
 
-  // CHECK: define weak_odr void @_ZN6test342f3ILy4EEEvRAplT_Ly8E_i
+  // CHECK-LABEL: define weak_odr void @_ZN6test342f3ILy4EEEvRAplT_Ly8E_i
   template void f3<4>(int (&)[4 + sizeof(int*)]);
 
   // Mangling for instantiation-dependent sizeof() expressions as
@@ -826,7 +826,7 @@ namespace test34 {
 
   template<typename T> void f4(::test34::A<sizeof(sizeof(decltype(T() + T())))>) { }
 
-  // CHECK: define weak_odr void @_ZN6test342f4IiEEvNS_1AIXszstDTplcvT__EcvS2__EEEEE
+  // CHECK-LABEL: define weak_odr void @_ZN6test342f4IiEEvNS_1AIXszstDTplcvT__EcvS2__EEEEE
   template void f4<int>(A<sizeof(sizeof(int))>);
 }
 
@@ -839,7 +839,7 @@ namespace test35 {
   template<typename T>
   void f1(decltype(sizeof(&T::template operator+<int>))) {}
 
-  // CHECK: define weak_odr void @_ZN6test352f1INS_1AEEEvDTszadsrT_plIiEE
+  // CHECK-LABEL: define weak_odr void @_ZN6test352f1INS_1AEEEvDTszadsrT_plIiEE
   template void f1<A>(__SIZE_TYPE__);
 }
 
@@ -864,20 +864,20 @@ namespace test37 {
   };
   template<typename T> void func(T) { }
   void test() {
-    // CHECK: define linkonce_odr void @_ZN6test374funcINS_3fooUt_EEEvT_
+    // CHECK-LABEL: define linkonce_odr void @_ZN6test374funcINS_3fooUt_EEEvT_
     func(foo().a);
-    // CHECK: define linkonce_odr void @_ZN6test374funcINS_3fooUt0_EEEvT_
+    // CHECK-LABEL: define linkonce_odr void @_ZN6test374funcINS_3fooUt0_EEEvT_
     func(*foo::c());
-    // CHECK: define linkonce_odr void @_ZN6test374funcINS_3fooUt1_EEEvT_
+    // CHECK-LABEL: define linkonce_odr void @_ZN6test374funcINS_3fooUt1_EEEvT_
     func(foo().d);
   }
 }
 
-// CHECK: define void @_Z6ASfuncPU3AS3i
+// CHECK-LABEL: define void @_Z6ASfuncPU3AS3i
 void ASfunc(__attribute__((address_space(3))) int* x) {}
 
 namespace test38 {
-  // CHECK: define linkonce_odr void @_ZN6test384funcINS_3fooUt_EEEvT_
+  // CHECK-LABEL: define linkonce_odr void @_ZN6test384funcINS_3fooUt_EEEvT_
   typedef struct {
     struct {
     } a;
@@ -888,7 +888,7 @@ namespace test38 {
 }
 
 namespace test39 {
-  // CHECK: define internal void @"_ZN6test394funcINS_3$_03$_1EEEvT_"
+  // CHECK-LABEL: define internal void @"_ZN6test394funcINS_3$_03$_1EEEvT_"
   typedef struct {
     struct {} a;
   } *foo;
index d9fb3940b05b0670acf1d03776f862e6d85e667d..48502727be7f4743c583a7f0519307414dd9a772 100644 (file)
@@ -58,7 +58,7 @@ namespace test4 {
 
   extern C *c_ptr;
 
-  // CHECK: define i32 @_ZN5test44testEv()
+  // CHECK-LABEL: define i32 @_ZN5test44testEv()
   int test() {
     // CHECK: load {{.*}} @_ZN5test45c_ptrE
     // CHECK-NEXT: bitcast
index f8960aac52ef988fcaf83520897557a165ed4d95..99162ebd5863b671910ad900e41d9359647c426f 100644 (file)
@@ -8,14 +8,14 @@ int f(A* a, int (A::*fp)()) {
   return (a->*fp)();
 }
 
-// CHECK: define i32 @_Z2g1v()
+// CHECK-LABEL: define i32 @_Z2g1v()
 // CHECK: ret i32 1
 int g1() {
   A a;
   return f(&a, &A::vf1);
 }
 
-// CHECK: define i32 @_Z2g2v()
+// CHECK-LABEL: define i32 @_Z2g2v()
 // CHECK: ret i32 2
 int g2() {
   A a;
index 23a7b0009f1fe3dbb398a83a54558ddca757eb23..fb06fa77039d9a33fa8a173309d38c341c6354c8 100644 (file)
@@ -229,7 +229,7 @@ namespace test9 {
     fooptr p;
   };
 
-  // CODE-LP64:    define void @_ZN5test94testEv(
+  // CODE-LP64-LABEL:    define void @_ZN5test94testEv(
   // CODE-LP64:      alloca i32
   // CODE-LP64-NEXT: ret void
   void test() {
index 75b354cd0f93af00e15bc5da0e22d4e720cba2e6..1773c67fc8636661b0da04c3bed37f41f8259919 100644 (file)
@@ -5,11 +5,11 @@ struct C {
   void g(int, ...);
 };
 
-// CHECK: define void @_ZN1C1fEv
+// CHECK-LABEL: define void @_ZN1C1fEv
 void C::f() {
 }
 
-// CHECK: define void @_Z5test1v
+// CHECK-LABEL: define void @_Z5test1v
 void test1() {
   C c;
 
@@ -34,7 +34,7 @@ struct S {
   virtual void v() {}
 };
 
-// CHECK: define void @_ZN1S1fEv
+// CHECK-LABEL: define void @_ZN1S1fEv
 void S::f() {
 }
 
@@ -51,13 +51,13 @@ void test2() {
 // CHECK: define linkonce_odr void @_ZN1SC1Ev{{.*}} unnamed_addr
 
 // S::f_inline1()
-// CHECK: define linkonce_odr void @_ZN1S9f_inline1Ev
+// CHECK-LABEL: define linkonce_odr void @_ZN1S9f_inline1Ev
 
 // S::f_inline2()
-// CHECK: define linkonce_odr void @_ZN1S9f_inline2Ev
+// CHECK-LABEL: define linkonce_odr void @_ZN1S9f_inline2Ev
 
 // S::g()
-// CHECK: define linkonce_odr void @_ZN1S1gEv
+// CHECK-LABEL: define linkonce_odr void @_ZN1S1gEv
 
 // S::~S()
 // CHECK: define linkonce_odr void @_ZN1SD1Ev{{.*}} unnamed_addr
@@ -66,7 +66,7 @@ struct T {
   T operator+(const T&);
 };
 
-// CHECK: define void @_Z5test3v
+// CHECK-LABEL: define void @_Z5test3v
 void test3() {
   T t1, t2;
 
index 4db31f0b83fdc1db80df41e895e50f4938a1b068..bfe1667c8c6ce1b03d9a198a00daf8963af50082 100644 (file)
@@ -11,7 +11,7 @@ static union {
 
 int f() { return a; }
 
-// CHECK: define internal void @__cxx_global_var_init
+// CHECK-LABEL: define internal void @__cxx_global_var_init
 // CHECK-NOT: }
 // CHECK: call {{.*}}@"[[CONSTRUCT_GLOBAL:.*]]C1Ev"
 
index c22b99d606270a2c16c568b39bdbcedef626be0d..c98e6bf92362ee22575db64d816af5300b52893a 100644 (file)
@@ -12,7 +12,7 @@ struct B : A {
   int i;
 };
 
-// CHECK: define i32 @_Z1fv() #0
+// CHECK-LABEL: define i32 @_Z1fv() #0
 int f() {
   B b;
   
index 7e4bdca77f38dd31bbe5b821c5b4770a116fc78e..c72dd6e5f5289e2805defdceafe7777c0d08968a 100644 (file)
@@ -15,8 +15,8 @@ struct B {
 
 template<typename T> B::B(T) {}
 
-// CHECK: define weak_odr void @_ZN1BC1IiEET_(%struct.B* %this, i32) unnamed_addr
-// CHECK: define weak_odr void @_ZN1BC2IiEET_(%struct.B* %this, i32) unnamed_addr
+// CHECK-LABEL: define weak_odr void @_ZN1BC1IiEET_(%struct.B* %this, i32) unnamed_addr
+// CHECK-LABEL: define weak_odr void @_ZN1BC2IiEET_(%struct.B* %this, i32) unnamed_addr
 template B::B(int);
 
 template<typename T>
index 7f2fc0a89d7a480a81de8496b006926598676be3..d7fba9911e1ba225e6cba146f5387b8c85660621 100644 (file)
 void foo();
 void __cdecl foo();
 void __cdecl foo() {}
-// GCABI: define void @_Z3foov()
+// GCABI-LABEL: define void @_Z3foov()
 // MSABI: define void @"\01?foo@@YAXXZ"
 
 void __cdecl bar();
 void bar();
 void bar() {}
-// GCABI: define void @_Z3barv()
+// GCABI-LABEL: define void @_Z3barv()
 // MSABI: define void @"\01?bar@@YAXXZ"
 
 // Test that it's OK to mark either the method declaration or method definition
@@ -33,15 +33,15 @@ public:
 };
 
 void METHOD_CC A::baz() {}
-// GCABI: define void @_ZN1A3bazEv
+// GCABI-LABEL: define void @_ZN1A3bazEv
 // MSABI: define x86_thiscallcc void @"\01?baz@A@@QAEXXZ"
 void A::qux() {}
-// GCABI: define void @_ZN1A3quxEv
+// GCABI-LABEL: define void @_ZN1A3quxEv
 // MSABI: define x86_thiscallcc void @"\01?qux@A@@QAEXXZ"
 
 void __cdecl static_baz() {}
-// GCABI: define void @_Z10static_bazv
+// GCABI-LABEL: define void @_Z10static_bazv
 // MSABI: define void @"\01?static_baz@@YAXXZ"
 void static_qux() {}
-// GCABI: define void @_Z10static_quxv
+// GCABI-LABEL: define void @_Z10static_quxv
 // MSABI: define void @"\01?static_qux@@YAXXZ"
index f725b58fb9823f9241d14e4c35bd0636dd626132..c88eb92740da7468d34a047b1ed7ab9686a522cb 100644 (file)
@@ -49,55 +49,55 @@ struct Big {
 
 // Returning structs that fit into a register.
 Small small_return() { return Small(); }
-// LINUX: define void @_Z12small_returnv(%struct.Small* noalias sret %agg.result)
+// LINUX-LABEL: define void @_Z12small_returnv(%struct.Small* noalias sret %agg.result)
 // WIN32: define i32 @"\01?small_return@@YA?AUSmall@@XZ"()
 // WIN64: define i32 @"\01?small_return@@YA?AUSmall@@XZ"()
 
 Medium medium_return() { return Medium(); }
-// LINUX: define void @_Z13medium_returnv(%struct.Medium* noalias sret %agg.result)
+// LINUX-LABEL: define void @_Z13medium_returnv(%struct.Medium* noalias sret %agg.result)
 // WIN32: define i64 @"\01?medium_return@@YA?AUMedium@@XZ"()
 // WIN64: define i64 @"\01?medium_return@@YA?AUMedium@@XZ"()
 
 // Returning structs that fit into a register but are not POD.
 SmallCpp11NotCpp03Pod small_non_pod_return() { return SmallCpp11NotCpp03Pod(); }
-// LINUX: define void @_Z20small_non_pod_returnv(%struct.SmallCpp11NotCpp03Pod* noalias sret %agg.result)
+// LINUX-LABEL: define void @_Z20small_non_pod_returnv(%struct.SmallCpp11NotCpp03Pod* noalias sret %agg.result)
 // WIN32: define void @"\01?small_non_pod_return@@YA?AUSmallCpp11NotCpp03Pod@@XZ"(%struct.SmallCpp11NotCpp03Pod* noalias sret %agg.result)
 // WIN64: define void @"\01?small_non_pod_return@@YA?AUSmallCpp11NotCpp03Pod@@XZ"(%struct.SmallCpp11NotCpp03Pod* noalias sret %agg.result)
 
 SmallWithCtor small_with_ctor_return() { return SmallWithCtor(); }
-// LINUX: define void @_Z22small_with_ctor_returnv(%struct.SmallWithCtor* noalias sret %agg.result)
+// LINUX-LABEL: define void @_Z22small_with_ctor_returnv(%struct.SmallWithCtor* noalias sret %agg.result)
 // WIN32: define void @"\01?small_with_ctor_return@@YA?AUSmallWithCtor@@XZ"(%struct.SmallWithCtor* noalias sret %agg.result)
 // WIN64: define void @"\01?small_with_ctor_return@@YA?AUSmallWithCtor@@XZ"(%struct.SmallWithCtor* noalias sret %agg.result)
 
 SmallWithVftable small_with_vftable_return() { return SmallWithVftable(); }
-// LINUX: define void @_Z25small_with_vftable_returnv(%struct.SmallWithVftable* noalias sret %agg.result)
+// LINUX-LABEL: define void @_Z25small_with_vftable_returnv(%struct.SmallWithVftable* noalias sret %agg.result)
 // WIN32: define void @"\01?small_with_vftable_return@@YA?AUSmallWithVftable@@XZ"(%struct.SmallWithVftable* noalias sret %agg.result)
 // WIN64: define void @"\01?small_with_vftable_return@@YA?AUSmallWithVftable@@XZ"(%struct.SmallWithVftable* noalias sret %agg.result)
 
 MediumWithCopyCtor medium_with_copy_ctor_return() { return MediumWithCopyCtor(); }
-// LINUX: define void @_Z28medium_with_copy_ctor_returnv(%struct.MediumWithCopyCtor* noalias sret %agg.result)
+// LINUX-LABEL: define void @_Z28medium_with_copy_ctor_returnv(%struct.MediumWithCopyCtor* noalias sret %agg.result)
 // WIN32: define void @"\01?medium_with_copy_ctor_return@@YA?AUMediumWithCopyCtor@@XZ"(%struct.MediumWithCopyCtor* noalias sret %agg.result)
 // WIN64: define void @"\01?medium_with_copy_ctor_return@@YA?AUMediumWithCopyCtor@@XZ"(%struct.MediumWithCopyCtor* noalias sret %agg.result)
 
 // Returning a large struct that doesn't fit into a register.
 Big big_return() { return Big(); }
-// LINUX: define void @_Z10big_returnv(%struct.Big* noalias sret %agg.result)
+// LINUX-LABEL: define void @_Z10big_returnv(%struct.Big* noalias sret %agg.result)
 // WIN32: define void @"\01?big_return@@YA?AUBig@@XZ"(%struct.Big* noalias sret %agg.result)
 // WIN64: define void @"\01?big_return@@YA?AUBig@@XZ"(%struct.Big* noalias sret %agg.result)
 
 
 void small_arg(Small s) {}
-// LINUX: define void @_Z9small_arg5Small(%struct.Small* byval align 4 %s)
+// LINUX-LABEL: define void @_Z9small_arg5Small(%struct.Small* byval align 4 %s)
 // WIN32: define void @"\01?small_arg@@YAXUSmall@@@Z"(%struct.Small* byval align 4 %s)
 // WIN64: define void @"\01?small_arg@@YAXUSmall@@@Z"(i32 %s.coerce)
 
 void medium_arg(Medium s) {}
-// LINUX: define void @_Z10medium_arg6Medium(%struct.Medium* byval align 4 %s)
+// LINUX-LABEL: define void @_Z10medium_arg6Medium(%struct.Medium* byval align 4 %s)
 // WIN32: define void @"\01?medium_arg@@YAXUMedium@@@Z"(%struct.Medium* byval align 4 %s)
 // WIN64: define void @"\01?medium_arg@@YAXUMedium@@@Z"(i64 %s.coerce)
 
 void small_arg_with_ctor(SmallWithCtor s) {}
-// LINUX: define void @_Z19small_arg_with_ctor13SmallWithCtor(%struct.SmallWithCtor* byval align 4 %s)
+// LINUX-LABEL: define void @_Z19small_arg_with_ctor13SmallWithCtor(%struct.SmallWithCtor* byval align 4 %s)
 // WIN32: define void @"\01?small_arg_with_ctor@@YAXUSmallWithCtor@@@Z"(%struct.SmallWithCtor* byval align 4 %s)
 // WIN64: define void @"\01?small_arg_with_ctor@@YAXUSmallWithCtor@@@Z"(i32 %s.coerce)
 
@@ -140,17 +140,17 @@ void eh_cleanup_arg_with_dtor() {
 // WIN32: }
 
 void small_arg_with_vftable(SmallWithVftable s) {}
-// LINUX: define void @_Z22small_arg_with_vftable16SmallWithVftable(%struct.SmallWithVftable* %s)
+// LINUX-LABEL: define void @_Z22small_arg_with_vftable16SmallWithVftable(%struct.SmallWithVftable* %s)
 // WIN32: define void @"\01?small_arg_with_vftable@@YAXUSmallWithVftable@@@Z"(%struct.SmallWithVftable* byval align 4 %s)
 // WIN64: define void @"\01?small_arg_with_vftable@@YAXUSmallWithVftable@@@Z"(%struct.SmallWithVftable* byval %s)
 
 void medium_arg_with_copy_ctor(MediumWithCopyCtor s) {}
-// LINUX: define void @_Z25medium_arg_with_copy_ctor18MediumWithCopyCtor(%struct.MediumWithCopyCtor* %s)
+// LINUX-LABEL: define void @_Z25medium_arg_with_copy_ctor18MediumWithCopyCtor(%struct.MediumWithCopyCtor* %s)
 // WIN32: define void @"\01?medium_arg_with_copy_ctor@@YAXUMediumWithCopyCtor@@@Z"(%struct.MediumWithCopyCtor* byval align 4 %s)
 // WIN64: define void @"\01?medium_arg_with_copy_ctor@@YAXUMediumWithCopyCtor@@@Z"(%struct.MediumWithCopyCtor* byval %s)
 
 void big_arg(Big s) {}
-// LINUX: define void @_Z7big_arg3Big(%struct.Big* byval align 4 %s)
+// LINUX-LABEL: define void @_Z7big_arg3Big(%struct.Big* byval align 4 %s)
 // WIN32: define void @"\01?big_arg@@YAXUBig@@@Z"(%struct.Big* byval align 4 %s)
 // WIN64: define void @"\01?big_arg@@YAXUBig@@@Z"(%struct.Big* %s)
 
index 0b44bab7385458ba05f56f6b9c322fa8d2e4b449..419075a863032e1337b8fa92e1c22cb67e432121 100644 (file)
@@ -19,25 +19,25 @@ int fn() {
 
 // CHECK: @_ZTV1S = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTI1S to i8*), i8* bitcast (i32 (%struct.S*)* @_ZN1S4testEv to i8*)]
 
-// CHECK: define i32 @_Z2fnv()
+// CHECK-LABEL: define i32 @_Z2fnv()
 // CHECK:   call void @_ZN1SC1Ev(%struct.S* %s)
 // CHECK:   %{{[.0-9A-Z_a-z]+}} = call i32 @_ZN1S4testEv(%struct.S* %s)
 
-// CHECK: define linkonce_odr void @_ZN1SC1Ev(%struct.S* %this)
+// CHECK-LABEL: define linkonce_odr void @_ZN1SC1Ev(%struct.S* %this)
 // CHECK:   call void @_ZN1SC2Ev(%struct.S* %{{[.0-9A-Z_a-z]+}})
 
-// CHECK: define linkonce_odr i32 @_ZN1S4testEv(%struct.S* %this)
+// CHECK-LABEL: define linkonce_odr i32 @_ZN1S4testEv(%struct.S* %this)
 // CHECK:   %{{[.0-9A-Z_a-z]+}} = call i32 @_ZN1I4testEv(%__interface.I* %{{[.0-9A-Z_a-z]+}})
 
-// CHECK: define linkonce_odr i32 @_ZN1I4testEv(%__interface.I* %this)
+// CHECK-LABEL: define linkonce_odr i32 @_ZN1I4testEv(%__interface.I* %this)
 // CHECK:   ret i32 1
 
-// CHECK: define linkonce_odr void @_ZN1SC2Ev(%struct.S* %this)
+// CHECK-LABEL: define linkonce_odr void @_ZN1SC2Ev(%struct.S* %this)
 // CHECK:   call void @_ZN1IC2Ev(%__interface.I* %{{[.0-9A-Z_a-z]+}})
 // CHECK:   store i8** getelementptr inbounds ([3 x i8*]* @_ZTV1S, i64 0, i64 2), i8*** %{{[.0-9A-Z_a-z]+}}
 
-// CHECK: define linkonce_odr void @_ZN1IC2Ev(%__interface.I* %this)
+// CHECK-LABEL: define linkonce_odr void @_ZN1IC2Ev(%__interface.I* %this)
 // CHECK:   store i8** getelementptr inbounds ([3 x i8*]* @_ZTV1I, i64 0, i64 2), i8*** %{{[.0-9A-Z_a-z]+}}
 
-// CHECK-NOT: define linkonce_odr %__interface.I* @_ZN1IaSERKS_(%__interface.I* %this, %__interface.I*)
-// CHECK-NOT: define linkonce_odr %__interface.I* @_ZN1IaSEOS_(%__interface.I* %this, %__interface.I*)
+// CHECK-NOT-LABEL: define linkonce_odr %__interface.I* @_ZN1IaSERKS_(%__interface.I* %this, %__interface.I*)
+// CHECK-NOT-LABEL: define linkonce_odr %__interface.I* @_ZN1IaSEOS_(%__interface.I* %this, %__interface.I*)
index 5d9cc9fa636d46cf7660d04221366b2f0bd5eed5..5cfb75744d545ebf5b8108159cb4ad4987fcafc2 100644 (file)
@@ -7,7 +7,7 @@ struct Throws {
   ~Throws();
 };
 
-// CHECK: define void @_Z7cleanupi
+// CHECK-LABEL: define void @_Z7cleanupi
 void cleanup(int n) {
   // CHECK: invoke void @_ZN6ThrowsC1Ei
   // CHECK-NEXT: to label %{{[^ ]+}} unwind label %[[LPAD:[^ ]+]]
@@ -25,7 +25,7 @@ void cleanup(int n) {
 }
 
 
-// CHECK: define void @_Z7cleanupv
+// CHECK-LABEL: define void @_Z7cleanupv
 void cleanup() {
   // CHECK: invoke void @_ZN6ThrowsC1Ei
   // CHECK-NEXT: to label %{{[^ ]+}} unwind label %[[LPAD2:[^ ]+]]
index 231df24781ae7edb121b758819ca0e8474201353..0e925c0a67ebfb322aad7b63aa5d17699c3f0150 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -std=c++11 -triple i386-unknown-unknown %s -emit-llvm -o - | FileCheck %s
 
-// CHECK: define void @_Z2fni
+// CHECK-LABEL: define void @_Z2fni
 void fn(int n) {
   // CHECK: icmp ult i{{32|64}} %{{[^ ]+}}, 3
   // CHECK: store i32 1
@@ -11,21 +11,21 @@ void fn(int n) {
   new int[n] { 1, 2, 3 };
 }
 
-// CHECK: define void @_Z15const_underflowv
+// CHECK-LABEL: define void @_Z15const_underflowv
 void const_underflow() {
   // CHECK-NOT: icmp ult i{{32|64}} %{{[^ ]+}}, 3
   // CHECK: call noalias i8* @_Zna{{.}}(i{{32|64}} -1)
   new int[2] { 1, 2, 3 };
 }
 
-// CHECK: define void @_Z11const_exactv
+// CHECK-LABEL: define void @_Z11const_exactv
 void const_exact() {
   // CHECK-NOT: icmp ult i{{32|64}} %{{[^ ]+}}, 3
   // CHECK-NOT: icmp eq i32*
   new int[3] { 1, 2, 3 };
 }
 
-// CHECK: define void @_Z16const_sufficientv
+// CHECK-LABEL: define void @_Z16const_sufficientv
 void const_sufficient() {
   // CHECK-NOT: icmp ult i{{32|64}} %{{[^ ]+}}, 3
   new int[4] { 1, 2, 3 };
index a6e082502df2317188b0141373edee57646d4d97..91da77a0838a9820ad2c9642708ae35626141a46 100644 (file)
@@ -116,7 +116,7 @@ A* t10() {
   return new(1, 2, 3.45, 100) A;
 }
 
-// CHECK: define void @_Z3t11i
+// CHECK-LABEL: define void @_Z3t11i
 struct B { int a; };
 struct Bmemptr { int Bmemptr::* memptr; int a; };
 
@@ -140,7 +140,7 @@ void t11(int n) {
 struct Empty { };
 
 // We don't need to initialize an empty class.
-// CHECK: define void @_Z3t12v
+// CHECK-LABEL: define void @_Z3t12v
 void t12() {
   // CHECK: call noalias i8* @_Znam
   // CHECK-NOT: br
@@ -154,7 +154,7 @@ void t12() {
 }
 
 // Zero-initialization
-// CHECK: define void @_Z3t13i
+// CHECK-LABEL: define void @_Z3t13i
 void t13(int n) {
   // CHECK: call noalias i8* @_Znwm
   // CHECK: store i32 0, i32*
@@ -189,7 +189,7 @@ void f() {
 namespace test15 {
   struct A { A(); ~A(); };
 
-  // CHECK:    define void @_ZN6test155test0EPv(
+  // CHECK-LABEL:    define void @_ZN6test155test0EPv(
   // CHECK:      [[P:%.*]] = load i8*
   // CHECK-NEXT: icmp eq i8* [[P]], null
   // CHECK-NEXT: br i1
@@ -199,7 +199,7 @@ namespace test15 {
     new (p) A();
   }
 
-  // CHECK:    define void @_ZN6test155test1EPv(
+  // CHECK-LABEL:    define void @_ZN6test155test1EPv(
   // CHECK:      [[P:%.*]] = load i8**
   // CHECK-NEXT: icmp eq i8* [[P]], null
   // CHECK-NEXT: br i1
@@ -217,7 +217,7 @@ namespace test15 {
 
   // TODO: it's okay if all these size calculations get dropped.
   // FIXME: maybe we should try to throw on overflow?
-  // CHECK:    define void @_ZN6test155test2EPvi(
+  // CHECK-LABEL:    define void @_ZN6test155test2EPvi(
   // CHECK:      [[N:%.*]] = load i32*
   // CHECK-NEXT: [[T0:%.*]] = sext i32 [[N]] to i64
   // CHECK-NEXT: [[T1:%.*]] = icmp slt i64 [[T0]], 0
@@ -238,7 +238,7 @@ namespace test15 {
 }
 
 namespace PR10197 {
-  // CHECK: define weak_odr void @_ZN7PR101971fIiEEvv()
+  // CHECK-LABEL: define weak_odr void @_ZN7PR101971fIiEEvv()
   template<typename T>
   void f() {
     // CHECK: [[CALL:%.*]] = call noalias i8* @_Znwm
@@ -253,7 +253,7 @@ namespace PR10197 {
 namespace PR11523 {
   class MyClass;
   typedef int MyClass::* NewTy;
-  // CHECK: define i64* @_ZN7PR115231fEv
+  // CHECK-LABEL: define i64* @_ZN7PR115231fEv
   // CHECK: store i64 -1
   NewTy* f() { return new NewTy[2](); }
 }
@@ -272,7 +272,7 @@ namespace PR11757 {
 namespace PR13380 {
   struct A { A() {} };
   struct B : public A { int x; };
-  // CHECK: define i8* @_ZN7PR133801fEv
+  // CHECK-LABEL: define i8* @_ZN7PR133801fEv
   // CHECK: call noalias i8* @_Znam(
   // CHECK: call void @llvm.memset.p0i8
   // CHECK-NEXT: call void @_ZN7PR133801BC1Ev
@@ -285,7 +285,7 @@ void *operator new(size_t, MyPlacementType);
 namespace N3664 {
   struct S { S() throw(int); };
 
-  // CHECK-LABEL: define void @_ZN5N36641fEv
+  // CHECK-LABEL-LABEL: define void @_ZN5N36641fEv
   void f() {
     // CHECK: call noalias i8* @_Znwm(i64 4) [[ATTR_BUILTIN_NEW:#[^ ]*]]
     int *p = new int;
@@ -307,7 +307,7 @@ namespace N3664 {
   // FIXME: Can we mark this noalias?
   // CHECK: declare i8* @_ZnamRKSt9nothrow_t(i64, {{.*}}) [[ATTR_NOBUILTIN_NOUNWIND]]
 
-  // CHECK-LABEL: define void @_ZN5N36641gEv
+  // CHECK-LABEL-LABEL: define void @_ZN5N36641gEv
   void g() {
     // It's OK for there to be attributes here, so long as we don't have a
     // 'builtin' attribute.
index e542e4a9348cfe94cb7702924b8244c1539ddea3..db27f11b87e26bda6d7c063a3cb8566ff85dfe3b 100644 (file)
@@ -14,7 +14,7 @@ void foo (void) {
   gs = gs;
   ls = gs;
 }
-// CHECK: define void @_Z3foov()
+// CHECK-LABEL: define void @_Z3foov()
 // CHECK: %[[LS:.*]] = alloca %struct.s, align 4
 // CHECK-NEXT: %[[ZERO:.*]] = bitcast %struct.s* %[[LS]] to i8*
 // CHECK-NEXT:  %[[ONE:.*]] = bitcast %struct.s* %[[LS]] to i8*
@@ -34,7 +34,7 @@ void fee (void) {
   s = s;
   s.y = gs;
 }
-// CHECK: define void @_Z3feev()
+// CHECK-LABEL: define void @_Z3feev()
 // CHECK: call void @llvm.memcpy.{{.*}}(i8* getelementptr inbounds (%struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i8* getelementptr inbounds (%struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i64 132, i32 4, i1 true)
 // CHECK-NEXT: call void @llvm.memcpy.{{.*}}(i8* getelementptr inbounds (%struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i8* getelementptr inbounds (%struct.s* @gs, i32 0, i32 0, i32 0), i64 132, i32 4, i1 true)
 
@@ -46,5 +46,5 @@ d gd;
 void gorf(void) {
   gd = gd;
 }
-// CHECK: define void @_Z4gorfv()
+// CHECK-LABEL: define void @_Z4gorfv()
 // CHECK:   call void @llvm.memcpy.{{.*}}(i8* getelementptr inbounds (%struct.d* @gd, i32 0, i32 0, i32 0, i32 0, i32 0), i8* getelementptr inbounds (%struct.d* @gd, i32 0, i32 0, i32 0, i32 0, i32 0), i64 132, i32 4, i1 true)
index 4ee149ed8dd0a60333db604a1452e150b52fe6ea..dd4cfda1d896b70f623a505918b3bde42c60e861 100644 (file)
@@ -16,7 +16,7 @@ namespace test0 {
     foo();
   }
 }
-// CHECK:    define void @_ZN5test04testEv()
+// CHECK-LABEL:    define void @_ZN5test04testEv()
 // CHECK:      [[EXN:%.*]] = alloca i8*
 //   This goes to the terminate lpad.
 // CHECK:      invoke void @_ZN5test01AC1Ev(
@@ -43,7 +43,7 @@ namespace test0 {
 // CHECK-NEXT: call void @__clang_call_terminate(i8* [[T0]])
 // CHECK-NEXT: unreachable
 
-// CHECK:  define linkonce_odr hidden void @__clang_call_terminate(
+// CHECK-LABEL:  define linkonce_odr hidden void @__clang_call_terminate(
 // CHECK:      call i8* @__cxa_begin_catch(
 // CHECK-NEXT: call void @_ZSt9terminatev()
 // CHECK-NEXT: unreachable
index 747ab6db63eb38771732af981e4a179a5875ac0d..b83dd727e0bb88264380de42aa154ad7e32c5a6d 100644 (file)
@@ -9,8 +9,8 @@ public:
   ~X();
 };
 
-// CHECK: define void @_Z5test0v
-// CHECK-EH: define void @_Z5test0v
+// CHECK-LABEL: define void @_Z5test0v
+// CHECK-EH-LABEL: define void @_Z5test0v
 X test0() {
   X x;
   // CHECK:          call {{.*}} @_ZN1XC1Ev
@@ -21,8 +21,8 @@ X test0() {
   return x;
 }
 
-// CHECK: define void @_Z5test1b(
-// CHECK-EH: define void @_Z5test1b(
+// CHECK-LABEL: define void @_Z5test1b(
+// CHECK-EH-LABEL: define void @_Z5test1b(
 X test1(bool B) {
   // CHECK:      tail call {{.*}} @_ZN1XC1Ev
   // CHECK-NEXT: ret void
@@ -34,8 +34,8 @@ X test1(bool B) {
   // CHECK-EH-NEXT: ret void
 }
 
-// CHECK: define void @_Z5test2b
-// CHECK-EH: define void @_Z5test2b
+// CHECK-LABEL: define void @_Z5test2b
+// CHECK-EH-LABEL: define void @_Z5test2b
 X test2(bool B) {
   // No NRVO.
 
@@ -120,7 +120,7 @@ X test3(bool B) {
 
 extern "C" void exit(int) throw();
 
-// CHECK: define void @_Z5test4b
+// CHECK-LABEL: define void @_Z5test4b
 X test4(bool B) {
   {
     // CHECK: tail call {{.*}} @_ZN1XC1Ev
@@ -135,7 +135,7 @@ X test4(bool B) {
 }
 
 #ifdef __EXCEPTIONS
-// CHECK-EH: define void @_Z5test5
+// CHECK-EH-LABEL: define void @_Z5test5
 void may_throw();
 X test5() {
   try {
@@ -150,7 +150,7 @@ X test5() {
 #endif
 
 // rdar://problem/10430868
-// CHECK: define void @_Z5test6v
+// CHECK-LABEL: define void @_Z5test6v
 X test6() {
   X a __attribute__((aligned(8)));
   return a;
index f232a159eda5dac13df0d64fedd313a67a010963..22daebe47baa299e172c93e12777dd618cd18757 100644 (file)
@@ -11,7 +11,7 @@ namespace test0 {
     A as[10] = { 5, 7 };
     opaque();
   }
-  // CHECK:    define void @_ZN5test04testEv()
+  // CHECK-LABEL:    define void @_ZN5test04testEv()
   // CHECK:      [[AS:%.*]] = alloca [10 x [[A:%.*]]], align
   // CHECK-NEXT: [[ENDVAR:%.*]] = alloca [[A]]*
   // CHECK-NEXT: [[EXN:%.*]] = alloca i8*
@@ -98,7 +98,7 @@ namespace test1 {
   void test() {
     B v = { 5, 6, 7, 8 };
   }
-  // CHECK:    define void @_ZN5test14testEv()
+  // CHECK-LABEL:    define void @_ZN5test14testEv()
   // CHECK:      [[V:%.*]] = alloca [[B:%.*]], align 4
   // CHECK-NEXT: alloca i8*
   // CHECK-NEXT: alloca i32
@@ -128,7 +128,7 @@ namespace test2 {
   void test() {
     A v[4][7];
 
-    // CHECK:    define void @_ZN5test24testEv()
+    // CHECK-LABEL:    define void @_ZN5test24testEv()
     // CHECK:      [[V:%.*]] = alloca [4 x [7 x [[A:%.*]]]], align 1
     // CHECK-NEXT: alloca i8*
     // CHECK-NEXT: alloca i32
index 534d5d19e99afcf21fbabb2dacebcb286ab78877..577505a6b2f0e2a493113f6c27cc6f1b6beb5505 100644 (file)
@@ -108,35 +108,35 @@ CALL_AO(InnerClassMember)
 CALL_AO(PackedMembers)
 
 // Basic copy-assignment:
-// CHECK: define linkonce_odr %struct.Basic* @_ZN5BasicaSERKS_(%struct.Basic* %this, %struct.Basic*)
+// CHECK-LABEL: define linkonce_odr %struct.Basic* @_ZN5BasicaSERKS_(%struct.Basic* %this, %struct.Basic*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: tail call %struct.NonPOD* @_ZN6NonPODaSERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: ret %struct.Basic* %this
 
 // PODMember copy-assignment:
-// CHECK: define linkonce_odr %struct.PODMember* @_ZN9PODMemberaSERKS_(%struct.PODMember* %this, %struct.PODMember*)
+// CHECK-LABEL: define linkonce_odr %struct.PODMember* @_ZN9PODMemberaSERKS_(%struct.PODMember* %this, %struct.PODMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 32, i32 4{{.*}})
 // CHECK: tail call %struct.NonPOD* @_ZN6NonPODaSERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: ret %struct.PODMember* %this
 
 // PODLikeMember copy-assignment:
-// CHECK: define linkonce_odr %struct.PODLikeMember* @_ZN13PODLikeMemberaSERKS_(%struct.PODLikeMember* %this, %struct.PODLikeMember*)
+// CHECK-LABEL: define linkonce_odr %struct.PODLikeMember* @_ZN13PODLikeMemberaSERKS_(%struct.PODLikeMember* %this, %struct.PODLikeMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 32, i32 4{{.*}})
 // CHECK: tail call %struct.NonPOD* @_ZN6NonPODaSERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: ret %struct.PODLikeMember* %this
 
 // ArrayMember copy-assignment:
-// CHECK: define linkonce_odr %struct.ArrayMember* @_ZN11ArrayMemberaSERKS_(%struct.ArrayMember* %this, %struct.ArrayMember*)
+// CHECK-LABEL: define linkonce_odr %struct.ArrayMember* @_ZN11ArrayMemberaSERKS_(%struct.ArrayMember* %this, %struct.ArrayMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 64, i32 4{{.*}})
 // CHECK: tail call %struct.NonPOD* @_ZN6NonPODaSERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 64, i32 4{{.*}})
 // CHECK: ret %struct.ArrayMember* %this
 
 // VolatileMember copy-assignment:
-// CHECK: define linkonce_odr %struct.VolatileMember* @_ZN14VolatileMemberaSERKS_(%struct.VolatileMember* %this, %struct.VolatileMember*)
+// CHECK-LABEL: define linkonce_odr %struct.VolatileMember* @_ZN14VolatileMemberaSERKS_(%struct.VolatileMember* %this, %struct.VolatileMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: load volatile i32* {{.*}}, align 4
 // CHECK: store volatile i32 {{.*}}, align 4
@@ -145,21 +145,21 @@ CALL_AO(PackedMembers)
 // CHECK: ret %struct.VolatileMember* %this
 
 // BitfieldMember copy-assignment:
-// CHECK: define linkonce_odr %struct.BitfieldMember* @_ZN14BitfieldMemberaSERKS_(%struct.BitfieldMember* %this, %struct.BitfieldMember*)
+// CHECK-LABEL: define linkonce_odr %struct.BitfieldMember* @_ZN14BitfieldMemberaSERKS_(%struct.BitfieldMember* %this, %struct.BitfieldMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: tail call %struct.NonPOD* @_ZN6NonPODaSERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 3, i32 1{{.*}})
 // CHECK: ret %struct.BitfieldMember* %this
 
 // InnerClass copy-assignment:
-// CHECK: define linkonce_odr %struct.InnerClassMember* @_ZN16InnerClassMemberaSERKS_(%struct.InnerClassMember* %this, %struct.InnerClassMember*)
+// CHECK-LABEL: define linkonce_odr %struct.InnerClassMember* @_ZN16InnerClassMemberaSERKS_(%struct.InnerClassMember* %this, %struct.InnerClassMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 32, i32 4{{.*}})
 // CHECK: tail call %struct.NonPOD* @_ZN6NonPODaSERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: ret %struct.InnerClassMember* %this
 
 // PackedMembers copy-assignment:
-// CHECK: define linkonce_odr %struct.PackedMembers* @_ZN13PackedMembersaSERKS_(%struct.PackedMembers* %this, %struct.PackedMembers*)
+// CHECK-LABEL: define linkonce_odr %struct.PackedMembers* @_ZN13PackedMembersaSERKS_(%struct.PackedMembers* %this, %struct.PackedMembers*)
 // CHECK: tail call %struct.NonPOD* @_ZN6NonPODaSERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 1{{.*}})
 // CHECK: ret %struct.PackedMembers* %this
@@ -184,21 +184,21 @@ CALL_CC(PODMember)
 CALL_CC(Basic)
 
 // Basic copy-constructor:
-// CHECK: define linkonce_odr void @_ZN5BasicC2ERKS_(%struct.Basic* %this, %struct.Basic*)
+// CHECK-LABEL: define linkonce_odr void @_ZN5BasicC2ERKS_(%struct.Basic* %this, %struct.Basic*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: tail call void @_ZN6NonPODC1ERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: ret void
 
 // PODMember copy-constructor:
-// CHECK: define linkonce_odr void @_ZN9PODMemberC2ERKS_(%struct.PODMember* %this, %struct.PODMember*)
+// CHECK-LABEL: define linkonce_odr void @_ZN9PODMemberC2ERKS_(%struct.PODMember* %this, %struct.PODMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 32, i32 4{{.*}})
 // CHECK: tail call void @_ZN6NonPODC1ERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: ret void
 
 // PODLikeMember copy-constructor:
-// CHECK: define linkonce_odr void @_ZN13PODLikeMemberC2ERKS_(%struct.PODLikeMember* %this, %struct.PODLikeMember*)
+// CHECK-LABEL: define linkonce_odr void @_ZN13PODLikeMemberC2ERKS_(%struct.PODLikeMember* %this, %struct.PODLikeMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 32, i32 4{{.*}})
 // CHECK: invoke void @_ZN6NonPODC1ERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
@@ -207,14 +207,14 @@ CALL_CC(Basic)
 // CHECK: invoke void @_ZN7PODLikeD1Ev
 
 // ArrayMember copy-constructor:
-// CHECK: define linkonce_odr void @_ZN11ArrayMemberC2ERKS_(%struct.ArrayMember* %this, %struct.ArrayMember*)
+// CHECK-LABEL: define linkonce_odr void @_ZN11ArrayMemberC2ERKS_(%struct.ArrayMember* %this, %struct.ArrayMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 64, i32 4{{.*}})
 // CHECK: tail call void @_ZN6NonPODC1ERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 64, i32 4{{.*}})
 // CHECK: ret void
 
 // VolatileMember copy-constructor:
-// CHECK: define linkonce_odr void @_ZN14VolatileMemberC2ERKS_(%struct.VolatileMember* %this, %struct.VolatileMember*)
+// CHECK-LABEL: define linkonce_odr void @_ZN14VolatileMemberC2ERKS_(%struct.VolatileMember* %this, %struct.VolatileMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: load volatile i32* {{.*}}, align 4
 // CHECK: store volatile i32 {{.*}}, align 4
@@ -223,34 +223,34 @@ CALL_CC(Basic)
 // CHECK: ret void
 
 // BitfieldMember copy-constructor:
-// CHECK: define linkonce_odr void @_ZN14BitfieldMemberC2ERKS_(%struct.BitfieldMember* %this, %struct.BitfieldMember*)
+// CHECK-LABEL: define linkonce_odr void @_ZN14BitfieldMemberC2ERKS_(%struct.BitfieldMember* %this, %struct.BitfieldMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: tail call void @_ZN6NonPODC1ERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 3, i32 1{{.*}})
 // CHECK: ret void
 
 // InnerClass copy-constructor:
-// CHECK: define linkonce_odr void @_ZN16InnerClassMemberC2ERKS_(%struct.InnerClassMember* %this, %struct.InnerClassMember*)
+// CHECK-LABEL: define linkonce_odr void @_ZN16InnerClassMemberC2ERKS_(%struct.InnerClassMember* %this, %struct.InnerClassMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 32, i32 4{{.*}})
 // CHECK: tail call void @_ZN6NonPODC1ERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4{{.*}})
 // CHECK: ret void
 
 // ReferenceMember copy-constructor:
-// CHECK: define linkonce_odr void @_ZN15ReferenceMemberC2ERKS_(%struct.ReferenceMember* %this, %struct.ReferenceMember*)
+// CHECK-LABEL: define linkonce_odr void @_ZN15ReferenceMemberC2ERKS_(%struct.ReferenceMember* %this, %struct.ReferenceMember*)
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 8{{.*}})
 // CHECK: tail call void @_ZN6NonPODC1ERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 8{{.*}})
 // CHECK: ret void
 
 // BitfieldMember2 copy-constructor:
-// CHECK-2: define linkonce_odr void @_ZN15BitfieldMember2C2ERKS_(%struct.BitfieldMember2* %this, %struct.BitfieldMember2*)
+// CHECK-2-LABEL: define linkonce_odr void @_ZN15BitfieldMember2C2ERKS_(%struct.BitfieldMember2* %this, %struct.BitfieldMember2*)
 // CHECK-2: call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 4, i1 false)
 // CHECK-2: call void @_ZN6NonPODC1ERKS_
 // CHECK-2: ret void
 
 // PackedMembers copy-assignment:
-// CHECK: define linkonce_odr void @_ZN13PackedMembersC2ERKS_(%struct.PackedMembers* %this, %struct.PackedMembers*)
+// CHECK-LABEL: define linkonce_odr void @_ZN13PackedMembersC2ERKS_(%struct.PackedMembers* %this, %struct.PackedMembers*)
 // CHECK: tail call void @_ZN6NonPODC1ERKS_
 // CHECK: tail call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}i64 16, i32 1{{.*}})
 // CHECK: ret void
index 7335c97dd975f58b5ca9bbfbcc2d9541b0ca4bf1..f0199c851dcd1b953a8a0c29cc0331904ebb55a3 100644 (file)
@@ -124,7 +124,7 @@ struct A {
   A();
 };
 
-// CHECK: define void @_ZN9ValueInit1AC2Ev(%"struct.ValueInit::A"* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN9ValueInit1AC2Ev(%"struct.ValueInit::A"* %this) unnamed_addr
 // CHECK: store i64 -1, i64*
 // CHECK: ret void
 A::A() : a() {}
@@ -202,7 +202,7 @@ namespace BoolPtrToMember {
     bool member;
   };
 
-  // CHECK: define i8* @_ZN15BoolPtrToMember1fERNS_1XEMS0_b
+  // CHECK-LABEL: define i8* @_ZN15BoolPtrToMember1fERNS_1XEMS0_b
   bool &f(X &x, bool X::*member) {
     // CHECK: {{bitcast.* to i8\*}}
     // CHECK-NEXT: getelementptr inbounds i8*
@@ -249,7 +249,7 @@ namespace PR13097 {
   };
   A f();
   X g() { return f().*&A::x; }
-  // CHECK: define void @_ZN7PR130971gEv
+  // CHECK-LABEL: define void @_ZN7PR130971gEv
   // CHECK: call void @_ZN7PR130971fEv
   // CHECK-NOT: memcpy
   // CHECK: call void @_ZN7PR130971XC1ERKS0_
index 05221acc84f378bd0dfee495fc42a669a6719f73..1098372ce3894ec25dcf5c4fec2cfda6cb55d856 100644 (file)
@@ -5,4 +5,4 @@ namespace std __attribute__ ((__visibility__ ("default"))) {}
 void foo() {
 }
 #pragma GCC visibility pop
-// CHECK: define void @_Z3foov()
+// CHECK-LABEL: define void @_Z3foov()
index 261c558002158b05e4d2f286ff711594c3e03ae2..bb1c82dc8153fa529ad2398b415d1ce39cf32407 100644 (file)
@@ -4,12 +4,12 @@
 bool f(bool *x) {
   return *x;
 }
-// CHECK: define zeroext i1 @_Z1fPb
+// CHECK-LABEL: define zeroext i1 @_Z1fPb
 // CHECK: load i8* %{{[^ ]*}}, align 1, !range [[RANGE_i8_0_2:![^ ]*]]
 
 // Only enum-tests follow. Ensure that after the bool test, no further range
 // metadata shows up when strict enums are disabled.
-// NO-STRICT-ENUMS: define zeroext i1 @_Z1fPb
+// NO-STRICT-ENUMS-LABEL: define zeroext i1 @_Z1fPb
 // NO-STRICT-ENUMS: load i8* %{{[^ ]*}}, align 1, !range
 // NO-STRICT-ENUMS-NOT: !range
 
@@ -17,84 +17,84 @@ enum e1 { };
 e1 g1(e1 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g1P2e1
+// CHECK-LABEL: define i32 @_Z2g1P2e1
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_0_1:![^ ]*]]
 
 enum e2 { e2_a = 0 };
 e2 g2(e2 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g2P2e2
+// CHECK-LABEL: define i32 @_Z2g2P2e2
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_0_1]]
 
 enum e3 { e3_a = 16 };
 e3 g3(e3 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g3P2e3
+// CHECK-LABEL: define i32 @_Z2g3P2e3
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_0_32:![^ ]*]]
 
 enum e4 { e4_a = -16};
 e4 g4(e4 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g4P2e4
+// CHECK-LABEL: define i32 @_Z2g4P2e4
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_m16_16:![^ ]*]]
 
 enum e5 { e5_a = -16, e5_b = 16};
 e5 g5(e5 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g5P2e5
+// CHECK-LABEL: define i32 @_Z2g5P2e5
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_m32_32:![^ ]*]]
 
 enum e6 { e6_a = -1 };
 e6 g6(e6 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g6P2e6
+// CHECK-LABEL: define i32 @_Z2g6P2e6
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_m1_1:![^ ]*]]
 
 enum e7 { e7_a = -16, e7_b = 2};
 e7 g7(e7 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g7P2e7
+// CHECK-LABEL: define i32 @_Z2g7P2e7
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_m16_16]]
 
 enum e8 { e8_a = -17};
 e8 g8(e8 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g8P2e8
+// CHECK-LABEL: define i32 @_Z2g8P2e8
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_m32_32:![^ ]*]]
 
 enum e9 { e9_a = 17};
 e9 g9(e9 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z2g9P2e9
+// CHECK-LABEL: define i32 @_Z2g9P2e9
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_0_32]]
 
 enum e10 { e10_a = -16, e10_b = 32};
 e10 g10(e10 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z3g10P3e10
+// CHECK-LABEL: define i32 @_Z3g10P3e10
 // CHECK: load i32* %x, align 4, !range [[RANGE_i32_m64_64:![^ ]*]]
 
 enum e11 {e11_a = 4294967296 };
 enum e11 g11(enum e11 *x) {
   return *x;
 }
-// CHECK: define i64 @_Z3g11P3e11
+// CHECK-LABEL: define i64 @_Z3g11P3e11
 // CHECK: load i64* %x, align {{[84]}}, !range [[RANGE_i64_0_2pow33:![^ ]*]]
 
 enum e12 {e12_a = 9223372036854775808U };
 enum e12 g12(enum e12 *x) {
   return *x;
 }
-// CHECK: define i64 @_Z3g12P3e12
+// CHECK-LABEL: define i64 @_Z3g12P3e12
 // CHECK: load i64* %x, align {{[84]}}
 // CHECK-NOT: range
 // CHECK: ret
@@ -103,7 +103,7 @@ enum e13 : char {e13_a = -1 };
 e13 g13(e13 *x) {
   return *x;
 }
-// CHECK: define signext i8 @_Z3g13P3e13
+// CHECK-LABEL: define signext i8 @_Z3g13P3e13
 // CHECK: load i8* %x, align 1
 // CHECK-NOT: range
 // CHECK: ret
@@ -112,7 +112,7 @@ enum class e14 {e14_a = 1};
 e14 g14(e14 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z3g14P3e14
+// CHECK-LABEL: define i32 @_Z3g14P3e14
 // CHECK: load i32* %x, align 4
 // CHECK-NOT: range
 // CHECK: ret
@@ -121,7 +121,7 @@ enum e15 { e15_a = 2147483648 };
 e15 g15(e15 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z3g15P3e15
+// CHECK-LABEL: define i32 @_Z3g15P3e15
 // CHECK: load i32* %x, align 4
 // CHECK-NOT: range
 // CHECK: ret
@@ -130,7 +130,7 @@ enum e16 { e16_a = -2147483648 };
 e16 g16(e16 *x) {
   return *x;
 }
-// CHECK: define i32 @_Z3g16P3e16
+// CHECK-LABEL: define i32 @_Z3g16P3e16
 // CHECK: load i32* %x, align 4
 // CHECK-NOT: range
 // CHECK: ret
index 7d4e2ce74f0420e3a7ef462a9382448c9e2cb53c..3d582c51006b47d3483985cee6cf02842a3cc7d9 100644 (file)
@@ -7,13 +7,13 @@ struct foo {
 };
 
 foo::foo() {
-  // CHECK: define void @_ZN3fooC1Ev(%struct.foo* inreg %this)
-  // CHECK: define void @_ZN3fooC2Ev(%struct.foo* inreg %this)
+  // CHECK-LABEL: define void @_ZN3fooC1Ev(%struct.foo* inreg %this)
+  // CHECK-LABEL: define void @_ZN3fooC2Ev(%struct.foo* inreg %this)
 }
 
 foo::~foo() {
-  // CHECK: define void @_ZN3fooD1Ev(%struct.foo* inreg %this)
-  // CHECK: define void @_ZN3fooD2Ev(%struct.foo* inreg %this)
+  // CHECK-LABEL: define void @_ZN3fooD1Ev(%struct.foo* inreg %this)
+  // CHECK-LABEL: define void @_ZN3fooD2Ev(%struct.foo* inreg %this)
 }
 
 void dummy() {
@@ -21,6 +21,6 @@ void dummy() {
   // older clangs accept:
   // template foo::foo(int x);
   foo x(10);
-  // CHECK: define linkonce_odr void @_ZN3fooC1IiEET_(%struct.foo* inreg %this, i32 inreg %x)
-  // CHECK: define linkonce_odr void @_ZN3fooC2IiEET_(%struct.foo* inreg %this, i32 inreg %x)
+  // CHECK-LABEL: define linkonce_odr void @_ZN3fooC1IiEET_(%struct.foo* inreg %this, i32 inreg %x)
+  // CHECK-LABEL: define linkonce_odr void @_ZN3fooC2IiEET_(%struct.foo* inreg %this, i32 inreg %x)
 }
index b28f3940e4e64d174a7d5b510e71ea89645d64f4..e726e5a80b0ab2a48d26258465553d56601981a3 100644 (file)
@@ -11,4 +11,4 @@ class nsVorbisState : public nsOggCodecState {
 nsVorbisState::~nsVorbisState() {
 }
 
-// CHECK: define linkonce_odr i32 @_ZN15nsOggCodecState9StartTimeEv
+// CHECK-LABEL: define linkonce_odr i32 @_ZN15nsOggCodecState9StartTimeEv
index 0d267ff70372f43300984812383c5b568bb11523..c2d54e19215d718231816c21ee5c359c039ea015 100644 (file)
@@ -8,7 +8,7 @@ struct X : A // default constructor is not trivial
 };
 
 X<int> x;
-// CHECK: define internal void @__cxx_global_var_init()
+// CHECK-LABEL: define internal void @__cxx_global_var_init()
 // CHECK: call {{.*}} @_ZN1XIiEC1Ev
 // CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC1Ev
 // CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC2Ev
index 0640d4244eba27d6098bacdd08d4464209bb3791..c0ba9046c8c4d8fee2c889b8a13ec9f9d236e780 100644 (file)
@@ -28,8 +28,8 @@ template<> int x4<int>::y = 10;
 template<int x> int f() { return x; }
 extern "C" int g() { return f<3>(); }
 #pragma GCC visibility pop
-// CHECK: define hidden i32 @g()
-// CHECK: define linkonce_odr hidden i32 @_Z1fILi3EEiv()
+// CHECK-LABEL: define hidden i32 @g()
+// CHECK-LABEL: define linkonce_odr hidden i32 @_Z1fILi3EEiv()
 
 #pragma GCC visibility push(hidden)
 template<class T> struct x5 {
@@ -37,19 +37,19 @@ template<class T> struct x5 {
 };
 #pragma GCC visibility pop
 template<> void x5<int>::y() {}
-// CHECK: define hidden void @_ZN2x5IiE1yEv
+// CHECK-LABEL: define hidden void @_ZN2x5IiE1yEv
 
 #pragma GCC visibility push(hidden)
 namespace n __attribute((visibility("default"))) {
   void f() {}
-  // CHECK: define void @_ZN1n1fEv
+  // CHECK-LABEL: define void @_ZN1n1fEv
 }
 #pragma GCC visibility pop
 
 namespace n __attribute((visibility("default")))  {
 #pragma GCC visibility push(hidden)
   void g() {}
-  // CHECK: define hidden void @_ZN1n1gEv
+  // CHECK-LABEL: define hidden void @_ZN1n1gEv
 #pragma GCC visibility pop
 }
 
@@ -69,6 +69,6 @@ namespace test2 {
     bar<foo>::f();
     bar<int>::f();
   }
-  // CHECK: define linkonce_odr hidden void @_ZN5test23barINS_3fooEE1fEv
-  // CHECK: define linkonce_odr void @_ZN5test23barIiE1fEv
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN5test23barINS_3fooEE1fEv
+  // CHECK-LABEL: define linkonce_odr void @_ZN5test23barIiE1fEv
 }
index ed537ffcd297086d206df2ba208ff484715ab3c6..c033079140405c0bb03124842930acb909171ba8 100644 (file)
@@ -10,22 +10,22 @@ int zex;
 #pragma weak foo
 struct S {  void foo(); };
 void S::foo() {}
-// CHECK: define void @_ZN1S3fooEv(
+// CHECK-LABEL: define void @_ZN1S3fooEv(
 
 #pragma weak zed
 namespace bar {  void zed() {} }
-// CHECK: define void @_ZN3bar3zedEv(
+// CHECK-LABEL: define void @_ZN3bar3zedEv(
 
 #pragma weak bah
 void bah() {}
-// CHECK: define void @_Z3bahv(
+// CHECK-LABEL: define void @_Z3bahv(
 
 #pragma weak baz
 extern "C" void baz() {}
-// CHECK: define weak void @baz(
+// CHECK-LABEL: define weak void @baz(
 
 #pragma weak _Z3baxv
 void bax() {}
 // GCC produces a weak symbol for this one, but it doesn't look like a good
 // idea to expose the mangling to the pragma unless we really have to.
-// CHECK: define void @_Z3baxv(
+// CHECK-LABEL: define void @_Z3baxv(
index f157ae99f9a2d7944d8cc4826a5939d90794cf51..60ea393af96c78d28ca534a95b24e655a0f9ec5a 100644 (file)
@@ -15,7 +15,7 @@ const int &lvalue_noop_cast() {
   return 17;
 }
 
-// CHECK: define i16* @_Z20lvalue_integral_castv() 
+// CHECK-LABEL: define i16* @_Z20lvalue_integral_castv() 
 const short &lvalue_integral_cast() {
   if (i == 0)
     // CHECK: store i16 17, i16*
@@ -27,7 +27,7 @@ const short &lvalue_integral_cast() {
   return 17;
 }
 
-// CHECK: define i16* @_Z29lvalue_floating_integral_castv()
+// CHECK-LABEL: define i16* @_Z29lvalue_floating_integral_castv()
 const short &lvalue_floating_integral_cast() {
   if (i == 0)
     // CHECK: store i16 17, i16*
@@ -39,7 +39,7 @@ const short &lvalue_floating_integral_cast() {
   return 17.5;
 }
 
-// CHECK: define float* @_Z29lvalue_integral_floating_castv()
+// CHECK-LABEL: define float* @_Z29lvalue_integral_floating_castv()
 const float &lvalue_integral_floating_cast() {
   if (i == 0)
     // CHECK: store float 1.700000e+{{0*}}1, float*
@@ -51,7 +51,7 @@ const float &lvalue_integral_floating_cast() {
   return 17;
 }
 
-// CHECK: define float* @_Z20lvalue_floating_castv()
+// CHECK-LABEL: define float* @_Z20lvalue_floating_castv()
 const float &lvalue_floating_cast() {
   if (i == 0)
     // CHECK: store float 1.700000e+{{0*}}1, float*
@@ -65,7 +65,7 @@ const float &lvalue_floating_cast() {
 
 int get_int();
 
-// CHECK: define i8* @_Z24lvalue_integer_bool_castv()
+// CHECK-LABEL: define i8* @_Z24lvalue_integer_bool_castv()
 const bool &lvalue_integer_bool_cast() {
   if (i == 0)
     // CHECK: call i32 @_Z7get_intv()
@@ -82,7 +82,7 @@ const bool &lvalue_integer_bool_cast() {
 
 float get_float();
 
-// CHECK: define i8* @_Z25lvalue_floating_bool_castv()
+// CHECK-LABEL: define i8* @_Z25lvalue_floating_bool_castv()
 const bool &lvalue_floating_bool_cast() {
   if (i == 0)
     // CHECK: call float @_Z9get_floatv()
@@ -107,7 +107,7 @@ typedef int (X::*pmf)(int);
 pm get_pointer_to_member_data();
 pmf get_pointer_to_member_function();
 
-// CHECK: define i8* @_Z26lvalue_ptrmem_to_bool_castv()
+// CHECK-LABEL: define i8* @_Z26lvalue_ptrmem_to_bool_castv()
 const bool &lvalue_ptrmem_to_bool_cast() {
   if (i == 0)
     // CHECK: call i64 @_Z26get_pointer_to_member_datav()
@@ -125,7 +125,7 @@ const bool &lvalue_ptrmem_to_bool_cast() {
   return get_pointer_to_member_data();
 }
 
-// CHECK: define i8* @_Z27lvalue_ptrmem_to_bool_cast2v
+// CHECK-LABEL: define i8* @_Z27lvalue_ptrmem_to_bool_cast2v
 const bool &lvalue_ptrmem_to_bool_cast2() {
   if (i == 0)
     // CHECK: {{call.*_Z30get_pointer_to_member_functionv}}
@@ -169,7 +169,7 @@ const _Complex float &f1() {
   return get_complex_double();
 }
 
-// CHECK: define i32 @_Z7pr10592RKi(i32*
+// CHECK-LABEL: define i32 @_Z7pr10592RKi(i32*
 unsigned pr10592(const int &v) {
   // CHECK: [[VADDR:%[a-zA-Z0-9.]+]] = alloca i32*
   // CHECK-NEXT: [[REFTMP:%[a-zA-Z0-9.]+]] = alloca i32
@@ -189,7 +189,7 @@ namespace PR10650 {
   unsigned long long test(Helper *obj) {
     return static_cast<const unsigned long long&>(obj->id());
   }
-  // CHECK: define i64 @_ZN7PR106504testEPNS_6HelperE
+  // CHECK-LABEL: define i64 @_ZN7PR106504testEPNS_6HelperE
   // CHECK: store i64
 }
 
index 35dd14e5d31b4a6abc7b433889d882ce19c020e2..ec7a3d5daa8f6c8d87b4c8d68a8fe38fd4f617b2 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: not %clang_cc1 -triple x86_64-apple-darwin -verify -emit-llvm -o - %s | FileCheck %s
 void t1() {
-  // CHECK: define void @_Z2t1v
+  // CHECK-LABEL: define void @_Z2t1v
   // CHECK: [[REFLOAD:%.*]] = load i32** @a, align 8
   // CHECK: load i32* [[REFLOAD]], align 4
   extern int& a;
@@ -8,7 +8,7 @@ void t1() {
 }
 
 void t2(int& a) {
-  // CHECK: define void @_Z2t2Ri
+  // CHECK-LABEL: define void @_Z2t2Ri
   // CHECK: [[REFLOAD2:%.*]] = load i32** {{.*}}, align 8
   // CHECK: load i32* [[REFLOAD2]], align 4
   int b = a;
@@ -189,7 +189,7 @@ namespace N2 {
 
   P getP();
 
-  // CHECK: define void @_ZN2N21fEi
+  // CHECK-LABEL: define void @_ZN2N21fEi
   // CHECK: call void @_ZN2N24getPEv
   // CHECK: getelementptr inbounds
   // CHECK: store i32 17
@@ -218,7 +218,7 @@ namespace N2 {
 
   Z getZ();
 
-  // CHECK: define void @_ZN2N21gEi
+  // CHECK-LABEL: define void @_ZN2N21gEi
   // CHECK: call void @_ZN2N24getZEv
   // CHECK: {{getelementptr inbounds.*i32 0, i32 0}}
   // CHECK: {{getelementptr inbounds.*i32 0, i32 0}}
@@ -240,7 +240,7 @@ struct A {
   ~A();
 };
 
-// CHECK: define internal void @__cxx_global_var_init
+// CHECK-LABEL: define internal void @__cxx_global_var_init
 // CHECK: call void @_ZN2N31AC1Ei(%"struct.N3::A"* @_ZGRN2N35sA123E, i32 123)
 // CHECK: call i32 @__cxa_atexit
 // CHECK: ret void
@@ -255,7 +255,7 @@ struct A {
 };
 
 void f() {
-  // CHECK: define void @_ZN2N41fEv
+  // CHECK-LABEL: define void @_ZN2N41fEv
   // CHECK: call void @_ZN2N41AC1Ev(%"struct.N4::A"* @_ZGRZN2N41fEvE2ar)
   // CHECK: call i32 @__cxa_atexit
   // CHECK: ret void
@@ -279,7 +279,7 @@ void h() {
 // PR9565
 namespace PR9565 {
   struct a { int a : 10, b : 10; };
-  // CHECK: define void @_ZN6PR95651fEv()
+  // CHECK-LABEL: define void @_ZN6PR95651fEv()
   void f() {
     // CHECK: call void @llvm.memcpy
     a x = { 0, 0 };
@@ -306,7 +306,7 @@ namespace PR9565 {
 namespace N6 {
   extern struct x {char& x;}y;
   int a() { return y.x; }
-  // CHECK: define i32 @_ZN2N61aEv
+  // CHECK-LABEL: define i32 @_ZN2N61aEv
   // CHECK: [[REFLOAD3:%.*]] = load i8** getelementptr inbounds (%"struct.N6::x"* @_ZN2N61yE, i32 0, i32 0), align 8
   // CHECK: load i8* [[REFLOAD3]], align 1
 }
index 7128c4e4d07bc5966f1b8f76bd4067d6f9d3886b..0db257731f4228a5b74426cdcbbd7e7cd6733b1f 100644 (file)
@@ -101,7 +101,7 @@ struct B {
   static int (B::*d)[10];
 };
 
-// CHECK: define i32 @_Z1fv()
+// CHECK-LABEL: define i32 @_Z1fv()
 int f() {
   // Vectors should be treated as fundamental types.
   typedef short __v4hi __attribute__ ((__vector_size__ (8)));
index 66d3f41589d1b7d31008cf123ec1cea2a708162c..646c61e0fd8fb76dc36c2e66e0d3fd0894e4fd23 100644 (file)
@@ -20,7 +20,7 @@ namespace test0 {
   };
 
   A global;
-// CHECK:    define internal arm_aapcscc void @__cxx_global_var_init()
+// CHECK-LABEL:    define internal arm_aapcscc void @__cxx_global_var_init()
 // CHECK:      call arm_aapcscc [[A]]* @_ZN5test01AC1Ev([[A]]* @_ZN5test06globalE)
 // CHECK-NEXT: call arm_aapcscc i32 @__cxa_atexit(void (i8*)* bitcast ([[A]]* ([[A]]*)* @_ZN5test01AD1Ev to void (i8*)*), i8* bitcast ([[A]]* @_ZN5test06globalE to i8*), i8* @__dso_handle) [[NOUNWIND:#[0-9]+]]
 // CHECK-NEXT: ret void
@@ -33,7 +33,7 @@ namespace test1 {
     throw 0;
   }
 
-// CHECK:    define arm_aapcscc void @_ZN5test14testEv()
+// CHECK-LABEL:    define arm_aapcscc void @_ZN5test14testEv()
 // CHECK:      [[T0:%.*]] = call arm_aapcscc i8* @__cxa_allocate_exception(i32 4) [[NOUNWIND]]
 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* [[T0]] to i32*
 // CHECK-NEXT: store i32 0, i32* [[T1]]
@@ -45,7 +45,7 @@ namespace test1 {
 
 // CHECK: declare arm_aapcscc void @__cxa_throw(i8*, i8*, i8*)
 
-// CHECK: define internal arm_aapcscc void @_GLOBAL__I_a()
+// CHECK-LABEL: define internal arm_aapcscc void @_GLOBAL__I_a()
 // CHECK:   call arm_aapcscc void @__cxx_global_var_init()
 
 
index b8d47dcfbe2f42768cc3f6026ee2ae9e723f81fd..2e0fa829ec90df65e31cbb5422692c47f17940b8 100644 (file)
@@ -7,7 +7,7 @@ struct B : Spacer, A { };
 
 B &getB();
 
-// CHECK: define %struct.A* @_Z4getAv()
+// CHECK-LABEL: define %struct.A* @_Z4getAv()
 // CHECK: call %struct.B* @_Z4getBv()
 // CHECK-NEXT: bitcast %struct.B*
 // CHECK-NEXT: getelementptr inbounds i8*
@@ -19,17 +19,17 @@ int &getIntLValue();
 int &&getIntXValue();
 int getIntPRValue();
 
-// CHECK: define i32* @_Z2f0v()
+// CHECK-LABEL: define i32* @_Z2f0v()
 // CHECK: call i32* @_Z12getIntLValuev()
 // CHECK-NEXT: ret i32*
 int &&f0() { return static_cast<int&&>(getIntLValue()); }
 
-// CHECK: define i32* @_Z2f1v()
+// CHECK-LABEL: define i32* @_Z2f1v()
 // CHECK: call i32* @_Z12getIntXValuev()
 // CHECK-NEXT: ret i32*
 int &&f1() { return static_cast<int&&>(getIntXValue()); }
 
-// CHECK: define i32* @_Z2f2v
+// CHECK-LABEL: define i32* @_Z2f2v
 // CHECK: call i32 @_Z13getIntPRValuev()
 // CHECK-NEXT: store i32 {{.*}}, i32*
 // CHECK-NEXT: ret i32*
@@ -59,7 +59,7 @@ public:
 
 C test();
 
-// CHECK: define void @_Z15elide_copy_initv
+// CHECK-LABEL: define void @_Z15elide_copy_initv
 void elide_copy_init() {
   ok = false;
   // CHECK: call void @_Z4testv
@@ -68,7 +68,7 @@ void elide_copy_init() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @_Z16test_move_returnv
+// CHECK-LABEL: define void @_Z16test_move_returnv
 C test_move_return() {
   // CHECK: call void @_ZN1CC1Ei
   C a1(3);
@@ -94,7 +94,7 @@ namespace test1 {
     B(int i);
   };
 
-  // CHECK:    define void @_ZN5test11BC2Ei(
+  // CHECK-LABEL:    define void @_ZN5test11BC2Ei(
   // CHECK:      [[T0:%.*]] = call i32* @_ZN5test14moveERi(
   // CHECK-NEXT: [[T1:%.*]] = load i32* [[T0]]
   // CHECK-NEXT: call void @_ZN5test11AC1Ei({{.*}}, i32 [[T1]])
index 84697be4a4cd7cccead357b43af812d372c75760..29926b91b7956e0b6452c3bcba6d465c17297357 100644 (file)
@@ -10,7 +10,7 @@ struct A {
   ~A();
 };
 
-// CHECK: define void @_ZN5Test11AD2Ev
+// CHECK-LABEL: define void @_ZN5Test11AD2Ev
 // CHECK-NOT: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5Test11AE, i64 0, i64 2), i8***
 A::~A() 
 {
@@ -26,7 +26,7 @@ struct A {
   ~A();
 };
 
-// CHECK: define void @_ZN5Test21AD2Ev
+// CHECK-LABEL: define void @_ZN5Test21AD2Ev
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5Test21AE, i64 0, i64 2), i8***
 A::~A() {
   f();
@@ -49,7 +49,7 @@ struct A {
   Field field;
 };
 
-// CHECK: define void @_ZN5Test31AD2Ev
+// CHECK-LABEL: define void @_ZN5Test31AD2Ev
 // CHECK-NOT: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5Test31AE, i64 0, i64 2), i8***
 A::~A() {
   
@@ -75,7 +75,7 @@ struct A {
   Field field;
 };
 
-// CHECK: define void @_ZN5Test41AD2Ev
+// CHECK-LABEL: define void @_ZN5Test41AD2Ev
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5Test41AE, i64 0, i64 2), i8***
 A::~A()
 {
@@ -99,7 +99,7 @@ struct A {
   Field field;
 };
 
-// CHECK: define void @_ZN5Test51AD2Ev
+// CHECK-LABEL: define void @_ZN5Test51AD2Ev
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5Test51AE, i64 0, i64 2), i8***
 A::~A()
 {
@@ -127,7 +127,7 @@ struct A {
   Field field;
 };
 
-// CHECK: define void @_ZN5Test61AD2Ev
+// CHECK-LABEL: define void @_ZN5Test61AD2Ev
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5Test61AE, i64 0, i64 2), i8***
 A::~A()
 {
@@ -153,7 +153,7 @@ struct A {
   Field field;
 };
 
-// CHECK: define void @_ZN5Test71AD2Ev
+// CHECK-LABEL: define void @_ZN5Test71AD2Ev
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5Test71AE, i64 0, i64 2), i8***
 A::~A()
 {
@@ -179,7 +179,7 @@ struct A {
   Field field;
 };
 
-// CHECK: define void @_ZN5Test81AD2Ev
+// CHECK-LABEL: define void @_ZN5Test81AD2Ev
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5Test81AE, i64 0, i64 2), i8***
 A::~A()
 {
index 4ad339db985be7c23ec7c73dc934ab3f16dc436a..eea979494843b2cbc6040ac1973083b9e82fbbbb 100644 (file)
@@ -42,7 +42,7 @@ namespace test2 {
     template struct A<int>;
   }
 
-  // CHECK: define internal void @__cxx_global_var_init()
+  // CHECK-LABEL: define internal void @__cxx_global_var_init()
   // CHECK:      [[TMP:%.*]] = call i32 @_ZN5test23fooEv()
   // CHECK-NEXT: store i32 [[TMP]], i32* @_ZN5test212_GLOBAL__N_11AIiE1xE, align 4
   // CHECK-NEXT: ret void
@@ -60,7 +60,7 @@ namespace test3 {
   template <class T> int A<T>::x = foo();
   template struct A<int>;
 
-  // CHECK: define internal void @__cxx_global_var_init1()
+  // CHECK-LABEL: define internal void @__cxx_global_var_init1()
   // CHECK:      [[GUARDBYTE:%.*]] = load i8* bitcast (i64* @_ZGVN5test31AIiE1xE to i8*)
   // CHECK-NEXT: [[UNINITIALIZED:%.*]] = icmp eq i8 [[GUARDBYTE]], 0
   // CHECK-NEXT: br i1 [[UNINITIALIZED]]
@@ -79,7 +79,7 @@ namespace test4 {
   };
 
   int f(A *a) {
-    // CHECK: define i32 @_ZN5test41fEPNS_1AE
+    // CHECK-LABEL: define i32 @_ZN5test41fEPNS_1AE
     // CHECK: ret i32 76
     return a->n;
   }
index 74278f7128c886bfb892b9c9961b87cb7ef21a9d..f522775c109efe3563d97eaabe308735e7d2cb5b 100644 (file)
@@ -54,7 +54,7 @@ namespace test0 {
 }
 
 namespace test1 {
-  // CHECK: define internal i32 @_ZN5test1L6getvarEi(
+  // CHECK-LABEL: define internal i32 @_ZN5test1L6getvarEi(
   static inline int getvar(int index) {
     static const int var[] = { 1, 0, 2, 4 };
     return var[index];
@@ -68,7 +68,7 @@ char base_req[] = { "foo" };
 unsigned char base_req_uchar[] = { "bar" };
 
 namespace union_static_local {
-  // CHECK: define internal void @_ZZN18union_static_local4testEvEN1c4mainEv
+  // CHECK-LABEL: define internal void @_ZZN18union_static_local4testEvEN1c4mainEv
   // CHECK: call void @_ZN18union_static_local1fEPNS_1xE(%"union.union_static_local::x"* bitcast ({ [2 x i8*] }* @_ZZN18union_static_local4testEvE3foo to %"union.union_static_local::x"*))
   union x { long double y; const char *x[2]; };
   void f(union x*);
@@ -103,14 +103,14 @@ namespace test2 {
   B::B() {
     static int x = foo();
   }
-  // CHECK: define void @_ZN5test21BC1Ev
+  // CHECK-LABEL: define void @_ZN5test21BC1Ev
   // CHECK:   load atomic i8* bitcast (i64* @_ZGVZN5test21BC1EvE1x to i8*) acquire,
   // CHECK:   call i32 @__cxa_guard_acquire(i64* @_ZGVZN5test21BC1EvE1x)
   // CHECK:   [[T0:%.*]] = call i32 @_ZN5test23fooEv()
   // CHECK:   store i32 [[T0]], i32* @_ZZN5test21BC1EvE1x,
   // CHECK:   call void @__cxa_guard_release(i64* @_ZGVZN5test21BC1EvE1x)
 
-  // CHECK: define void @_ZN5test21BC2Ev
+  // CHECK-LABEL: define void @_ZN5test21BC2Ev
   // CHECK:   load atomic i8* bitcast (i64* @_ZGVZN5test21BC1EvE1x to i8*) acquire,
   // CHECK:   call i32 @__cxa_guard_acquire(i64* @_ZGVZN5test21BC1EvE1x)
   // CHECK:   [[T0:%.*]] = call i32 @_ZN5test23fooEv()
@@ -122,10 +122,10 @@ namespace test2 {
   B::~B() {
     static int y = foo();
   }
-  // CHECK: define void @_ZN5test21BD1Ev(
+  // CHECK-LABEL: define void @_ZN5test21BD1Ev(
   // CHECK:   call void @_ZN5test21BD2Ev(
 
-  // CHECK: define void @_ZN5test21BD2Ev(
+  // CHECK-LABEL: define void @_ZN5test21BD2Ev(
   // CHECK:   load atomic i8* bitcast (i64* @_ZGVZN5test21BD1EvE1y to i8*) acquire,
   // CHECK:   call i32 @__cxa_guard_acquire(i64* @_ZGVZN5test21BD1EvE1y)
   // CHECK:   [[T0:%.*]] = call i32 @_ZN5test23fooEv()
@@ -149,6 +149,6 @@ namespace test3 {
     union U { char x; int i; };
     static U u = { 'a' };
   }
-  // CHECK: define void @_ZN5test31BC1Ev(
-  // CHECK: define void @_ZN5test31BC2Ev(
+  // CHECK-LABEL: define void @_ZN5test31BC1Ev(
+  // CHECK-LABEL: define void @_ZN5test31BC2Ev(
 }
index 3df487a33f3c85fc54f9e4e0dc7fe5c4224705cb..f4d6549e83381147ccaf956e10ad0534c83ba3f7 100644 (file)
@@ -19,19 +19,19 @@ template <typename T> int f(T t) {
 void test() {
   // Look for two instantiations, one for FOO's
   // type and one for BAR's.
-  // CHECK: define linkonce_odr i32 @_Z1fIN1SUt_EEiT_(i32 %t)
+  // CHECK-LABEL: define linkonce_odr i32 @_Z1fIN1SUt_EEiT_(i32 %t)
   (void)f(S::FOO);
-  // CHECK: define linkonce_odr i32 @_Z1fIN1SUt0_EEiT_(i32 %t)
+  // CHECK-LABEL: define linkonce_odr i32 @_Z1fIN1SUt0_EEiT_(i32 %t)
   (void)f(S::BAR);
 
   // Now check for the class template instantiations. Annoyingly, they are in
   // reverse order.
   //
   // BAR's instantiation of X:
-  // CHECK: define linkonce_odr i32 @_ZN1XIN1SUt0_EE1fEv(%struct.X* %this)
-  // CHECK: define linkonce_odr void @_ZN1XIN1SUt0_EEC2ES1_(%struct.X* %this, i32 %t) unnamed_addr
+  // CHECK-LABEL: define linkonce_odr i32 @_ZN1XIN1SUt0_EE1fEv(%struct.X* %this)
+  // CHECK-LABEL: define linkonce_odr void @_ZN1XIN1SUt0_EEC2ES1_(%struct.X* %this, i32 %t) unnamed_addr
   //
   // FOO's instantiation of X:
-  // CHECK: define linkonce_odr i32 @_ZN1XIN1SUt_EE1fEv(%struct.X.0* %this)
-  // CHECK: define linkonce_odr void @_ZN1XIN1SUt_EEC2ES1_(%struct.X.0* %this, i32 %t) unnamed_addr
+  // CHECK-LABEL: define linkonce_odr i32 @_ZN1XIN1SUt_EE1fEv(%struct.X.0* %this)
+  // CHECK-LABEL: define linkonce_odr void @_ZN1XIN1SUt_EEC2ES1_(%struct.X.0* %this, i32 %t) unnamed_addr
 }
index cc1ce866fe2d53644d6834d3dbef0180da7d48f9..ca980c3ff685498613ccd1c8c410c42a4913dd17 100644 (file)
@@ -18,7 +18,7 @@ void IntToString(T a)
 }
 
 int main() {
-// CHECK: define linkonce_odr void @_Z11IntToStringIcEvT_(
+// CHECK-LABEL: define linkonce_odr void @_Z11IntToStringIcEvT_(
   IntToString('a');
 }
 
index 2c62b60b1100b88b3d329cf185e0ec4db7617366..de86f10f6c30de570d294c90c53ae12e059f90a2 100644 (file)
@@ -2,8 +2,8 @@
 
 // Verify that symbols are hidden.
 // CHECK: @_ZN1CIiE5Inner6Inner26StaticE = weak_odr hidden global
-// CHECK: define weak_odr hidden void @_ZN1CIiE5Inner1fEv
-// CHECK: define weak_odr hidden void @_ZN1CIiE5Inner6Inner21gEv
+// CHECK-LABEL: define weak_odr hidden void @_ZN1CIiE5Inner1fEv
+// CHECK-LABEL: define weak_odr hidden void @_ZN1CIiE5Inner6Inner21gEv
 
 template<typename T>
 struct C {
index b90716ba1ae6a3e47356d9b644724c5fb164e709..80283a1edd047f1af37a6a353c9a9e75a4a2fbe6 100644 (file)
 // CHECK-NOT: _ZTVN5test31SIiEE
 // CHECK-NOT: _ZTSN5test31SIiEE
 
-// CHECK: define linkonce_odr void @_ZN5test21CIiEC1Ev(%"class.test2::C"* %this) unnamed_addr
-// CHECK: define linkonce_odr void @_ZN5test21CIiE6foobarIdEEvT_(
-// CHECK: define available_externally void @_ZN5test21CIiE6zedbarEd(
-
-// CHECK: define linkonce_odr void @_ZN7PR106662g1ENS_1SILi1EEE()
-// CHECK: define linkonce_odr void @_ZN7PR106662g1ENS_1SILi2EEE()
-// CHECK: define linkonce_odr void @_ZN7PR106662g1ENS_1SILi3EEE()
-// CHECK: define linkonce_odr void @_ZN7PR106662g2ENS_1SILi1EEE()
-// CHECK: define linkonce_odr void @_ZN7PR106662g2ENS_1SILi2EEE()
-// CHECK: define linkonce_odr void @_ZN7PR106662g2ENS_1SILi3EEE()
+// CHECK-LABEL: define linkonce_odr void @_ZN5test21CIiEC1Ev(%"class.test2::C"* %this) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN5test21CIiE6foobarIdEEvT_(
+// CHECK-LABEL: define available_externally void @_ZN5test21CIiE6zedbarEd(
+
+// CHECK-LABEL: define linkonce_odr void @_ZN7PR106662g1ENS_1SILi1EEE()
+// CHECK-LABEL: define linkonce_odr void @_ZN7PR106662g1ENS_1SILi2EEE()
+// CHECK-LABEL: define linkonce_odr void @_ZN7PR106662g1ENS_1SILi3EEE()
+// CHECK-LABEL: define linkonce_odr void @_ZN7PR106662g2ENS_1SILi1EEE()
+// CHECK-LABEL: define linkonce_odr void @_ZN7PR106662g2ENS_1SILi2EEE()
+// CHECK-LABEL: define linkonce_odr void @_ZN7PR106662g2ENS_1SILi3EEE()
 // CHECK: declare void @_ZN7PR106662h1ENS_1SILi1EEE()
 // CHECK: declare void @_ZN7PR106662h1ENS_1SILi2EEE()
 // CHECK: declare void @_ZN7PR106662h1ENS_1SILi3EEE()
index 3acd12ef0bc532e01b9de92478b84216119fab3a..a84affab7622bcee0bdee27163e125305c4cd074 100644 (file)
@@ -9,19 +9,19 @@ template<typename T> struct A {
 
 // Explicit instantiations have external linkage.
 
-// CHECK: define weak_odr void @_ZN1AIiE1gEv(
+// CHECK-LABEL: define weak_odr void @_ZN1AIiE1gEv(
 template void A<int>::g();
 
-// CHECK: define weak_odr void @_ZN1AIfE1fEf(
-// CHECK: define weak_odr void @_ZN1AIfE1gEv(
+// CHECK-LABEL: define weak_odr void @_ZN1AIfE1fEf(
+// CHECK-LABEL: define weak_odr void @_ZN1AIfE1gEv(
 // FIXME: This should also emit the vtable.
 template struct A<float>;
 
-// CHECK: define weak_odr void @_Z1fIiEvT_
+// CHECK-LABEL: define weak_odr void @_Z1fIiEvT_
 template <typename T> void f(T) { }
 template void f<int>(int);
 
-// CHECK: define weak_odr void @_Z1gIiEvT_
+// CHECK-LABEL: define weak_odr void @_Z1gIiEvT_
 template <typename T> inline void g(T) { }
 template void g<int>(int);
 
@@ -40,7 +40,7 @@ template<typename T> void X1<T>::blarg() { }
 extern template struct X0<char>;
 extern template struct X1<char>;
 
-// CHECK: define linkonce_odr void @_ZN2X1IcED1Ev(%struct.X1* %this) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN2X1IcED1Ev(%struct.X1* %this) unnamed_addr
 void test_X1() {
   X1<char> i1c;
 }
index 6e4a7cbcf0bf106831e3536f3ac69a6538cfc7c1..e8a7a1f255961b665d24f314fc95961320aa6c95 100644 (file)
@@ -254,7 +254,7 @@ namespace PR5867 {
   };
 
   void f(S, int);
-  // CHECK: define void @_ZN6PR58671gEv
+  // CHECK-LABEL: define void @_ZN6PR58671gEv
   void g() {
     // CHECK: call void @_ZN6PR58671SC1Ev
     // CHECK-NEXT: call void @_ZN6PR58671fENS_1SEi
@@ -263,7 +263,7 @@ namespace PR5867 {
     (f)(S(), 0);
   }
 
-  // CHECK: define linkonce_odr void @_ZN6PR58672g2IiEEvT_
+  // CHECK-LABEL: define linkonce_odr void @_ZN6PR58672g2IiEEvT_
   template<typename T>
   void g2(T) {
     // CHECK: call void @_ZN6PR58671SC1Ev
@@ -284,7 +284,7 @@ namespace PR6199 {
 
   struct B { operator A(); };
 
-  // CHECK: define weak_odr void @_ZN6PR61992f2IiEENS_1AET_
+  // CHECK-LABEL: define weak_odr void @_ZN6PR61992f2IiEENS_1AET_
   template<typename T> A f2(T) {
     B b;
     // CHECK: call void @_ZN6PR61991BcvNS_1AEEv
@@ -306,7 +306,7 @@ struct A {
 
 int& f(int);
 
-// CHECK: define void @_ZN3T121gEv
+// CHECK-LABEL: define void @_ZN3T121gEv
 void g() {
   // CHECK: call void @_ZN3T121AC1Ev
   // CHECK-NEXT: call i32 @_ZN3T121A1fEv(
@@ -353,7 +353,7 @@ namespace PR7556 {
   struct A { ~A(); }; 
   struct B { int i; ~B(); }; 
   struct C { int C::*pm; ~C(); }; 
-  // CHECK: define void @_ZN6PR75563fooEv()
+  // CHECK-LABEL: define void @_ZN6PR75563fooEv()
   void foo() { 
     // CHECK: call void @_ZN6PR75561AD1Ev
     A(); 
@@ -378,7 +378,7 @@ namespace Elision {
   A fooA();
   void takeA(A a);
 
-  // CHECK: define void @_ZN7Elision5test0Ev()
+  // CHECK-LABEL: define void @_ZN7Elision5test0Ev()
   void test0() {
     // CHECK:      [[I:%.*]] = alloca [[A:%.*]], align 8
     // CHECK-NEXT: [[J:%.*]] = alloca [[A]], align 8
@@ -406,7 +406,7 @@ namespace Elision {
   }
 
 
-  // CHECK: define void @_ZN7Elision5test1EbNS_1AE(
+  // CHECK-LABEL: define void @_ZN7Elision5test1EbNS_1AE(
   void test1(bool c, A x) {
     // CHECK:      [[I:%.*]] = alloca [[A]], align 8
     // CHECK-NEXT: [[J:%.*]] = alloca [[A]], align 8
@@ -445,7 +445,7 @@ namespace Elision {
     // CHECK:      ret void
   }
 
-  // CHECK: define void @_ZN7Elision5test4Ev()
+  // CHECK-LABEL: define void @_ZN7Elision5test4Ev()
   void test4() {
     // CHECK:      [[X:%.*]] = alloca [[A]], align 8
     // CHECK-NEXT: [[XS:%.*]] = alloca [2 x [[A]]], align 16
@@ -521,7 +521,7 @@ namespace Elision {
 namespace PR8623 {
   struct A { A(int); ~A(); };
 
-  // CHECK: define void @_ZN6PR86233fooEb(
+  // CHECK-LABEL: define void @_ZN6PR86233fooEb(
   void foo(bool b) {
     // CHECK:      [[TMP:%.*]] = alloca [[A:%.*]], align 1
     // CHECK-NEXT: [[LCONS:%.*]] = alloca i1
@@ -551,7 +551,7 @@ namespace PR8623 {
 namespace PR11365 {
   struct A { A(); ~A(); };
 
-  // CHECK: define void @_ZN7PR113653fooEv(
+  // CHECK-LABEL: define void @_ZN7PR113653fooEv(
   void foo() {
     // CHECK: [[BEGIN:%.*]] = getelementptr inbounds [3 x [[A:%.*]]]* {{.*}}, i32 0, i32 0
     // CHECK-NEXT: [[END:%.*]] = getelementptr inbounds [[A]]* [[BEGIN]], i64 3
@@ -570,7 +570,7 @@ namespace AssignmentOp {
   struct A { ~A(); };
   struct B { A operator=(const B&); };
   struct C : B { B b1, b2; };
-  // CHECK: define void @_ZN12AssignmentOp1fE
+  // CHECK-LABEL: define void @_ZN12AssignmentOp1fE
   void f(C &c1, const C &c2) {
     // CHECK: call {{.*}} @_ZN12AssignmentOp1CaSERKS0_(
     c1 = c2;
@@ -669,7 +669,7 @@ namespace ImplicitTemporaryCleanup {
   struct A { A(int); ~A(); };
   void g();
 
-  // CHECK: define void @_ZN24ImplicitTemporaryCleanup1fEv(
+  // CHECK-LABEL: define void @_ZN24ImplicitTemporaryCleanup1fEv(
   void f() {
     // CHECK: call {{.*}} @_ZN24ImplicitTemporaryCleanup1AC1Ei(
     A &&a = 0;
index ff531255bba935f998e5c8c2d1b1520ee85bc1ed..65fb74d76931194be17cb89a366483cdf387d6ca 100644 (file)
@@ -29,7 +29,7 @@ public:
   }
 };
 
-// CHECK: define void @_Z4testv()
+// CHECK-LABEL: define void @_Z4testv()
 void test( void ) {
 // CHECK: call void @_ZN1CC1Ev(%class.C* [[C:%.+]])
   C c;
index 769d120be32301b64c3f1ba0c48fe780a0948b92..70decc98a1091c4cb00e9a5ab218b8b113a40e81 100644 (file)
@@ -7,7 +7,7 @@ struct X {
 
 struct Y { };
 
-// CHECK: define void @_Z1fv
+// CHECK-LABEL: define void @_Z1fv
 void f() {
   // CHECK: call i32 @__cxa_guard_acquire(i64* @_ZGVZ1fvE1x)
   // CHECK: invoke void @_ZN1XC1Ev
index e1ecd3804679f7c072631d61d718cd2188a0fc77..9944e161a8178b62432f0e31509a1d9900a3402a 100644 (file)
@@ -14,7 +14,7 @@ void f() {
   } catch (...) { }
 }
 
-// CHECK: define void @_Z1fv
+// CHECK-LABEL: define void @_Z1fv
 // CHECK: call void @_ZN5ErrorC1ERK1X
 // CHECK: invoke void @__cxa_throw
 // CHECK: landingpad
index 87c481b25fe6e715f416f4cd6d51419f4844ef21..d9bf8fdd59ea7f114c61b70db4bb30b99cbdf365 100644 (file)
@@ -23,7 +23,7 @@ int test4() {
 int test5(bool x, bool y, int z) {
   return (x ? throw 1 : y) ? z : throw 2;
 }
-// CHECK: define i32 @_Z5test5bbi(
+// CHECK-LABEL: define i32 @_Z5test5bbi(
 // CHECK: br i1
 //
 // x.true:
@@ -47,7 +47,7 @@ int test5(bool x, bool y, int z) {
 int test6(bool x, bool y, int z) {
   return (x ? throw 1 : y) ? z : (throw 2);
 }
-// CHECK: define i32 @_Z5test6bbi(
+// CHECK-LABEL: define i32 @_Z5test6bbi(
 // CHECK: br i1
 //
 // x.true:
index dfdb786b18ee7b03d1f8432e4b2958675d63a9b9..2997c364ab2786b0ba70b93520ede5ea1e28adc6 100644 (file)
@@ -58,10 +58,10 @@ static void f(B* b) {
   b->f();
 }
 
-// CHECK: define void @_ZN5Test21fEv()
+// CHECK-LABEL: define void @_ZN5Test21fEv()
 // CHECK: call void @_ZN5Test21C1fEv
 // CHECK: ret void
-// CHECK: define available_externally void @_ZThn16_N5Test21C1fEv
+// CHECK-LABEL: define available_externally void @_ZThn16_N5Test21C1fEv
 void f() {
   C c;
   f(&c);
index 488c2a06b5e4b5e859fecaa1c7ef95f7d4140008..f5a85ef6b4d03c80899ab164e7c34ea149ed1b04 100644 (file)
@@ -19,7 +19,7 @@ struct C : A, B {
   virtual void f();
 };
 
-// CHECK: define void @_ZThn8_N5Test11C1fEv(
+// CHECK-LABEL: define void @_ZThn8_N5Test11C1fEv(
 void C::f() { }
 
 }
@@ -37,7 +37,7 @@ struct B : virtual A {
   virtual void f();
 };
 
-// CHECK: define void @_ZTv0_n24_N5Test21B1fEv(
+// CHECK-LABEL: define void @_ZTv0_n24_N5Test21B1fEv(
 void B::f() { }
 
 }
@@ -82,7 +82,7 @@ struct __attribute__((visibility("protected"))) C : A, B {
   virtual void f();
 };
 
-// CHECK: define protected void @_ZThn8_N5Test41C1fEv(
+// CHECK-LABEL: define protected void @_ZThn8_N5Test41C1fEv(
 void C::f() { }
 
 }
@@ -165,7 +165,7 @@ namespace Test6 {
     virtual X f();
   };
 
-  // CHECK: define void @_ZThn16_N5Test66Thunks1fEv
+  // CHECK-LABEL: define void @_ZThn16_N5Test66Thunks1fEv
   // CHECK-NOT: memcpy
   // CHECK: {{call void @_ZN5Test66Thunks1fEv.*sret}}
   // CHECK: ret void
@@ -211,7 +211,7 @@ namespace Test7 {
 
   void D::baz(X, X&, _Complex float, Small, Small&, Large) { }
 
-  // CHECK: define void @_ZThn8_N5Test71D3bazENS_1XERS1_CfNS_5SmallERS4_NS_5LargeE(
+  // CHECK-LABEL: define void @_ZThn8_N5Test71D3bazENS_1XERS1_CfNS_5SmallERS4_NS_5LargeE(
   // CHECK-NOT: memcpy
   // CHECK: ret void
   void testD() { D d; }
@@ -226,7 +226,7 @@ namespace Test8 {
   // CHECK: define void @_ZN5Test81C6helperENS_6NonPODE([[NONPODTYPE:%.*]]*
   void C::helper(NonPOD var) {}
 
-  // CHECK: define void @_ZThn8_N5Test81C3barENS_6NonPODE(
+  // CHECK-LABEL: define void @_ZThn8_N5Test81C3barENS_6NonPODE(
   // CHECK-NOT: load [[NONPODTYPE]]*
   // CHECK-NOT: memcpy
   // CHECK: ret void
@@ -250,8 +250,8 @@ namespace Test10 {
   struct B { virtual void foo(); };
   struct C : A, B { void foo() {} };
 
-  // CHECK-HIDDEN: define linkonce_odr void @_ZN6Test101C3fooEv
-  // CHECK-HIDDEN: define linkonce_odr hidden void @_ZThn8_N6Test101C3fooEv
+  // CHECK-HIDDEN-LABEL: define linkonce_odr void @_ZN6Test101C3fooEv
+  // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZThn8_N6Test101C3fooEv
 
   void test() {
     C c;
@@ -345,7 +345,7 @@ namespace Test14 {
 /**** The following has to go at the end of the file ****/
 
 // This is from Test5:
-// CHECK: define linkonce_odr void @_ZTv0_n24_N5Test51B1fEv
-// CHECK: define internal void @_ZThn8_N6Test4B12_GLOBAL__N_11C1fEv(
+// CHECK-LABEL: define linkonce_odr void @_ZTv0_n24_N5Test51B1fEv
+// CHECK-LABEL: define internal void @_ZThn8_N6Test4B12_GLOBAL__N_11C1fEv(
 
 // CHECK: attributes [[NUW]] = { nounwind uwtable{{.*}} }
index 5c45611991ceb8189df0a490fbe7859fdf0cd85b..11e5091fd279d78702e6f01ca6d760a8235d2e92 100644 (file)
@@ -26,11 +26,11 @@ namespace temp0 {
   };
 
   template struct B<A>;
-  // FUNS:        define weak_odr void @_ZN5temp01BINS_1AEE3fooEv(
+  // FUNS-LABEL:        define weak_odr void @_ZN5temp01BINS_1AEE3fooEv(
   // VARS:        @_ZTVN5temp01BINS_1AEEE = weak_odr unnamed_addr constant
   // VARS:        @_ZTSN5temp01BINS_1AEEE = weak_odr constant
   // VARS:        @_ZTIN5temp01BINS_1AEEE = weak_odr unnamed_addr constant
-  // FUNS-HIDDEN: define weak_odr hidden void @_ZN5temp01BINS_1AEE3fooEv(
+  // FUNS-HIDDEN-LABEL: define weak_odr hidden void @_ZN5temp01BINS_1AEE3fooEv(
   // VARS-HIDDEN: @_ZTVN5temp01BINS_1AEEE = weak_odr hidden unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5temp01BINS_1AEEE = weak_odr hidden constant
   // VARS-HIDDEN: @_ZTIN5temp01BINS_1AEEE = weak_odr hidden unnamed_addr constant
@@ -43,11 +43,11 @@ namespace temp1 {
   };
 
   template struct B<A>;
-  // FUNS:        define weak_odr void @_ZN5temp11BINS_1AEE3fooEv(
+  // FUNS-LABEL:        define weak_odr void @_ZN5temp11BINS_1AEE3fooEv(
   // VARS:        @_ZTVN5temp11BINS_1AEEE = weak_odr unnamed_addr constant
   // VARS:        @_ZTSN5temp11BINS_1AEEE = weak_odr constant
   // VARS:        @_ZTIN5temp11BINS_1AEEE = weak_odr unnamed_addr constant
-  // FUNS-HIDDEN: define weak_odr hidden void @_ZN5temp11BINS_1AEE3fooEv(
+  // FUNS-HIDDEN-LABEL: define weak_odr hidden void @_ZN5temp11BINS_1AEE3fooEv(
   // VARS-HIDDEN: @_ZTVN5temp11BINS_1AEEE = weak_odr unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5temp11BINS_1AEEE = weak_odr constant
   // VARS-HIDDEN: @_ZTIN5temp11BINS_1AEEE = weak_odr unnamed_addr constant
@@ -60,11 +60,11 @@ namespace temp2 {
   };
 
   template struct B<A>;
-  // FUNS:        define weak_odr void @_ZN5temp21BINS_1AEE3fooEv(
+  // FUNS-LABEL:        define weak_odr void @_ZN5temp21BINS_1AEE3fooEv(
   // VARS:        @_ZTVN5temp21BINS_1AEEE = weak_odr unnamed_addr constant
   // VARS:        @_ZTSN5temp21BINS_1AEEE = weak_odr constant
   // VARS:        @_ZTIN5temp21BINS_1AEEE = weak_odr unnamed_addr constant
-  // FUNS-HIDDEN: define weak_odr hidden void @_ZN5temp21BINS_1AEE3fooEv(
+  // FUNS-HIDDEN-LABEL: define weak_odr hidden void @_ZN5temp21BINS_1AEE3fooEv(
   // VARS-HIDDEN: @_ZTVN5temp21BINS_1AEEE = weak_odr hidden unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5temp21BINS_1AEEE = weak_odr hidden constant
   // VARS-HIDDEN: @_ZTIN5temp21BINS_1AEEE = weak_odr hidden unnamed_addr constant
@@ -77,11 +77,11 @@ namespace temp3 {
   };
 
   template struct B<A>;
-  // FUNS:        define weak_odr hidden void @_ZN5temp31BINS_1AEE3fooEv(
+  // FUNS-LABEL:        define weak_odr hidden void @_ZN5temp31BINS_1AEE3fooEv(
   // VARS:        @_ZTVN5temp31BINS_1AEEE = weak_odr hidden unnamed_addr constant
   // VARS:        @_ZTSN5temp31BINS_1AEEE = weak_odr hidden constant
   // VARS:        @_ZTIN5temp31BINS_1AEEE = weak_odr hidden unnamed_addr constant
-  // FUNS-HIDDEN: define weak_odr hidden void @_ZN5temp31BINS_1AEE3fooEv(
+  // FUNS-HIDDEN-LABEL: define weak_odr hidden void @_ZN5temp31BINS_1AEE3fooEv(
   // VARS-HIDDEN: @_ZTVN5temp31BINS_1AEEE = weak_odr hidden unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5temp31BINS_1AEEE = weak_odr hidden constant
   // VARS-HIDDEN: @_ZTIN5temp31BINS_1AEEE = weak_odr hidden unnamed_addr constant
@@ -94,11 +94,11 @@ namespace temp4 {
   };
 
   template struct B<A>;
-  // FUNS:        define weak_odr void @_ZN5temp41BINS_1AEE3fooEv(
+  // FUNS-LABEL:        define weak_odr void @_ZN5temp41BINS_1AEE3fooEv(
   // VARS:        @_ZTVN5temp41BINS_1AEEE = weak_odr hidden unnamed_addr constant
   // VARS:        @_ZTSN5temp41BINS_1AEEE = weak_odr hidden constant
   // VARS:        @_ZTIN5temp41BINS_1AEEE = weak_odr hidden unnamed_addr constant
-  // FUNS-HIDDEN: define weak_odr hidden void @_ZN5temp41BINS_1AEE3fooEv(
+  // FUNS-HIDDEN-LABEL: define weak_odr hidden void @_ZN5temp41BINS_1AEE3fooEv(
   // VARS-HIDDEN: @_ZTVN5temp41BINS_1AEEE = weak_odr hidden unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5temp41BINS_1AEEE = weak_odr hidden constant
   // VARS-HIDDEN: @_ZTIN5temp41BINS_1AEEE = weak_odr hidden unnamed_addr constant
@@ -110,11 +110,11 @@ namespace type0 {
   };
 
   void A::foo() {}
-  // FUNS:        define void @_ZN5type01A3fooEv(
+  // FUNS-LABEL:        define void @_ZN5type01A3fooEv(
   // VARS:        @_ZTVN5type01AE = unnamed_addr constant
   // VARS:        @_ZTSN5type01AE = constant
   // VARS:        @_ZTIN5type01AE = unnamed_addr constant
-  // FUNS-HIDDEN: define hidden void @_ZN5type01A3fooEv(
+  // FUNS-HIDDEN-LABEL: define hidden void @_ZN5type01A3fooEv(
   // VARS-HIDDEN: @_ZTVN5type01AE = unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5type01AE = constant
   // VARS-HIDDEN: @_ZTIN5type01AE = unnamed_addr constant
@@ -126,11 +126,11 @@ namespace type1 {
   };
 
   void A::foo() {}
-  // FUNS:        define hidden void @_ZN5type11A3fooEv(
+  // FUNS-LABEL:        define hidden void @_ZN5type11A3fooEv(
   // VARS:        @_ZTVN5type11AE = unnamed_addr constant
   // VARS:        @_ZTSN5type11AE = constant
   // VARS:        @_ZTIN5type11AE = unnamed_addr constant
-  // FUNS-HIDDEN: define hidden void @_ZN5type11A3fooEv(
+  // FUNS-HIDDEN-LABEL: define hidden void @_ZN5type11A3fooEv(
   // VARS-HIDDEN: @_ZTVN5type11AE = unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5type11AE = constant
   // VARS-HIDDEN: @_ZTIN5type11AE = unnamed_addr constant
@@ -142,11 +142,11 @@ namespace type2 {
   };
 
   void A::foo() {}
-  // FUNS:        define void @_ZN5type21A3fooEv(
+  // FUNS-LABEL:        define void @_ZN5type21A3fooEv(
   // VARS:        @_ZTVN5type21AE = hidden unnamed_addr constant
   // VARS:        @_ZTSN5type21AE = hidden constant
   // VARS:        @_ZTIN5type21AE = hidden unnamed_addr constant
-  // FUNS-HIDDEN: define hidden void @_ZN5type21A3fooEv(
+  // FUNS-HIDDEN-LABEL: define hidden void @_ZN5type21A3fooEv(
   // VARS-HIDDEN: @_ZTVN5type21AE = hidden unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5type21AE = hidden constant
   // VARS-HIDDEN: @_ZTIN5type21AE = hidden unnamed_addr constant
@@ -158,11 +158,11 @@ namespace type3 {
   };
 
   void A::foo() {}
-  // FUNS:        define void @_ZN5type31A3fooEv(
+  // FUNS-LABEL:        define void @_ZN5type31A3fooEv(
   // VARS:        @_ZTVN5type31AE = hidden unnamed_addr constant
   // VARS:        @_ZTSN5type31AE = hidden constant
   // VARS:        @_ZTIN5type31AE = hidden unnamed_addr constant
-  // FUNS-HIDDEN: define void @_ZN5type31A3fooEv(
+  // FUNS-HIDDEN-LABEL: define void @_ZN5type31A3fooEv(
   // VARS-HIDDEN: @_ZTVN5type31AE = hidden unnamed_addr constant
   // VARS-HIDDEN: @_ZTSN5type31AE = hidden constant
   // VARS-HIDDEN: @_ZTIN5type31AE = hidden unnamed_addr constant
index a1bc967d74d20bb855c4d821ba6f20b41cb5afe7..f54b60d0cd274fedb9fa0c253e8f3b28c7597001 100644 (file)
@@ -27,7 +27,7 @@ extern A &a;
 // CHECK: @_ZN5Test14a_tiE = global
 const std::type_info &a_ti = typeid(a);
 
-// CHECK: define i8* @_ZN5Test11fEv
+// CHECK-LABEL: define i8* @_ZN5Test11fEv
 const char *f() {
   try {
     // CHECK: br i1
index 60dca99045ffbfbec5862c13ab08c8596804ac96..fad459b481bfc52c520fec9acbb17712e05e86e4 100644 (file)
@@ -74,7 +74,7 @@ namespace ptrmem {
     int S::*mem2;
   };
 
-  // CHECK: define i32 @_ZN6ptrmem4testEPNS_1SE
+  // CHECK-LABEL: define i32 @_ZN6ptrmem4testEPNS_1SE
   int test(S *s) {
     // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64
     // CHECK: getelementptr
@@ -99,7 +99,7 @@ struct Test2 {
 
 struct Test3 : public Test { };
 
-// CHECK: define void @_ZN6PR98011fEv
+// CHECK-LABEL: define void @_ZN6PR98011fEv
 void f() {
   // CHECK-NOT: call void @llvm.memset.p0i8.i64
   // CHECK: call void @_ZN6PR98014TestC1Ei
@@ -131,7 +131,7 @@ void f() {
 namespace zeroinit {
   struct S { int i; };
 
-  // CHECK: define i32 @_ZN8zeroinit4testEv()
+  // CHECK-LABEL: define i32 @_ZN8zeroinit4testEv()
   int test() {
     // CHECK: call void @llvm.memset.p0i8.i64
     // CHECK: ret i32 0
@@ -148,7 +148,7 @@ namespace zeroinit {
     void f();
   };
 
-  // CHECK: define void @_ZN8zeroinit9testX0_X1Ev
+  // CHECK-LABEL: define void @_ZN8zeroinit9testX0_X1Ev
   void testX0_X1() {
     // CHECK: call void @llvm.memset.p0i8.i64
     // CHECK-NEXT: call void @_ZN8zeroinit2X1C1Ev
@@ -169,7 +169,7 @@ namespace zeroinit {
   };
   
 
-  // CHECK: define void @_ZN8zeroinit9testX0_X3Ev
+  // CHECK-LABEL: define void @_ZN8zeroinit9testX0_X3Ev
   void testX0_X3() {
     // CHECK-NOT: call void @llvm.memset
     // CHECK: call void @_ZN8zeroinit2X3IiEC1Ev
@@ -201,7 +201,7 @@ namespace test6 {
   void test() {
     A arr[10][20] = { 5 };
   };
-  // CHECK:    define void @_ZN5test64testEv()
+  // CHECK-LABEL:    define void @_ZN5test64testEv()
   // CHECK:      [[ARR:%.*]] = alloca [10 x [20 x [[A:%.*]]]],
 
   // CHECK-NEXT: [[INNER:%.*]] = getelementptr inbounds [10 x [20 x [[A]]]]* [[ARR]], i64 0, i64 0
@@ -243,7 +243,7 @@ namespace PR11124 {
   struct B : virtual A { int b; };
   struct C : B { C(); };      
   C::C() : A(3), B() {}
-  // CHECK: define void @_ZN7PR111241CC1Ev
+  // CHECK-LABEL: define void @_ZN7PR111241CC1Ev
   // CHECK: call void @llvm.memset.p0i8.i64(i8* {{.*}}, i8 0, i64 12, i32 8, i1 false)
   // CHECK-NEXT: call void @_ZN7PR111241BC2Ev
   // Make sure C::C doesn't overwrite parts of A while it is zero-initializing B
@@ -251,18 +251,18 @@ namespace PR11124 {
   struct B2 : virtual A { int B::*b; };
   struct C2 : B2 { C2(); };      
   C2::C2() : A(3), B2() {}
-  // CHECK: define void @_ZN7PR111242C2C1Ev
+  // CHECK-LABEL: define void @_ZN7PR111242C2C1Ev
   // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %{{.*}}, i8* {{.*}}, i64 16, i32 8, i1 false)
   // CHECK-NEXT: call void @_ZN7PR111242B2C2Ev
 }
 
 // Ensure we produce an i1 here, and don't assert.
-// CHECK: define void @_Z9r170806_bv(
+// CHECK-LABEL: define void @_Z9r170806_bv(
 // CHECK: call void @_Z9r170806_ab(i1 zeroext false)
 void r170806_a(bool b = bool());
 void r170806_b() { r170806_a(); }
 
-// CHECK: define linkonce_odr void @_ZN8zeroinit2X3IiEC2Ev(%"struct.zeroinit::X3"* %this) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN8zeroinit2X3IiEC2Ev(%"struct.zeroinit::X3"* %this) unnamed_addr
 // CHECK: call void @llvm.memset.p0i8.i64
 // CHECK-NEXT: call void @_ZN8zeroinit2X2IiEC2Ev
 // CHECK-NEXT: ret void
index 6c6f459ce5059b2d255e27b243919705ef4bc885..9497179ddf05022465d04227c2bb588e8ee6b5a2 100644 (file)
@@ -8,7 +8,7 @@ struct X {
 
 void vararg(...);
 
-// CHECK: define void @_Z4test1X
+// CHECK-LABEL: define void @_Z4test1X
 void test(X x) {
   // CHECK: call void @llvm.trap()
   vararg(x);
index af34336a0ae29b47a76c0f1a417b2b5ecedde58f..31bbee9863a554e98f918d48548b1c8bb00d2b2f 100644 (file)
@@ -7,7 +7,7 @@ namespace test0 {
   // though there is no way to do a va_begin.  Otherwise, the optimizer
   // will warn about 'dropped arguments' at the call site.
 
-  // CHECK: define i32 @_ZN5test05test1Ez(...)
+  // CHECK-LABEL: define i32 @_ZN5test05test1Ez(...)
   int test1(...) {
     return -1;
   }
@@ -30,7 +30,7 @@ namespace test1 {
     A x;
     foo(x);
   }
-  // CHECK:    define void @_ZN5test14testEv()
+  // CHECK-LABEL:    define void @_ZN5test14testEv()
   // CHECK:      [[X:%.*]] = alloca [[A:%.*]], align 4
   // CHECK-NEXT: [[TMP:%.*]] = alloca [[A]], align 4
   // CHECK-NEXT: [[T0:%.*]] = bitcast [[A]]* [[TMP]] to i8*
index c56bec33a0f869155119a971ec789030a42c26a8..4974b6517b89fd45e192d29b095e6947112db474 100644 (file)
@@ -5,7 +5,7 @@ int get_num_types(Types...) {
   return sizeof...(Types);
 }
 
-// CHECK: define weak_odr i32 @_Z13get_num_typesIJifdEEiDpT_
+// CHECK-LABEL: define weak_odr i32 @_Z13get_num_typesIJifdEEiDpT_
 // CHECK: ret i32 3
 template int get_num_types(int, float, double);
 
@@ -13,7 +13,7 @@ template int get_num_types(int, float, double);
 namespace test1 {
   template <class... T> void foo() {
     int values[sizeof...(T)+1] = { T::value... };
-    // CHECK: define linkonce_odr void @_ZN5test13fooIJEEEvv()
+    // CHECK-LABEL: define linkonce_odr void @_ZN5test13fooIJEEEvv()
     // CHECK: alloca [1 x i32], align 4
   }
 
index 1a6c583c34f2c74748795118bfbf3f4da182ced1..78a0b8193d74a1f0ffe071cbb75c54a1f8063142 100644 (file)
@@ -7,4 +7,4 @@ class Foo {
 };
 Foo::~Foo() {}
 
-// CHECK: define void @_ZN3FooD0Ev(%class.Foo* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN3FooD0Ev(%class.Foo* %this) unnamed_addr
index c9f13f853d1bb143d59d25d920349964b9edcc10..2878e95b52cdb94f550a729889bc35c56e871eab 100644 (file)
@@ -5,23 +5,23 @@ struct A {
 };
 
 // CHECK: @_ZN1AC1Ev = alias {{.*}} @_ZN1AC2Ev
-// CHECK: define void @_ZN1AC2Ev(%struct.A* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AC2Ev(%struct.A* %this) unnamed_addr
 A::A() { }
 
 struct B : virtual A { 
   B();
 };
 
-// CHECK: define void @_ZN1BC1Ev(%struct.B* %this) unnamed_addr
-// CHECK: define void @_ZN1BC2Ev(%struct.B* %this, i8** %vtt) unnamed_addr
+// CHECK-LABEL: define void @_ZN1BC1Ev(%struct.B* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1BC2Ev(%struct.B* %this, i8** %vtt) unnamed_addr
 B::B() { }
 
 struct C : virtual A {
   C(bool);
 };
 
-// CHECK: define void @_ZN1CC1Eb(%struct.C* %this, i1 zeroext) unnamed_addr
-// CHECK: define void @_ZN1CC2Eb(%struct.C* %this, i8** %vtt, i1 zeroext) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CC1Eb(%struct.C* %this, i1 zeroext) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CC2Eb(%struct.C* %this, i8** %vtt, i1 zeroext) unnamed_addr
 C::C(bool) { }
 
 // PR6251
@@ -39,7 +39,7 @@ struct D : B, C  {
   D();
 };
 
-// CHECK: define void @_ZN6PR62511DC1Ev(%"struct.PR6251::D"* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN6PR62511DC1Ev(%"struct.PR6251::D"* %this) unnamed_addr
 // CHECK: call void @_ZN6PR62511AIcEC2Ev
 // CHECK-NOT: call void @_ZN6PR62511AIcEC2Ev
 // CHECK: ret void
index 7ef50b23fa7c037892a3ef1efb654dcc1dfbd889..0c03c9f1f3d3f35f5313fed5bfb939776d1cd1a6 100644 (file)
@@ -21,12 +21,12 @@ struct B : A {
 // CHECK: @_ZN1CD2Ev = alias bitcast {{.*}} @_ZN1BD2Ev
 
 // Deleting dtor: defers to the complete dtor.
-// CHECK: define void @_ZN1BD0Ev(%struct.B* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1BD0Ev(%struct.B* %this) unnamed_addr
 // CHECK: call void @_ZN1BD1Ev
 // CHECK: call void @_ZdlPv
 
 // Base dtor: actually calls A's base dtor.
-// CHECK: define void @_ZN1BD2Ev(%struct.B* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1BD2Ev(%struct.B* %this) unnamed_addr
 // CHECK: call void @_ZN6MemberD1Ev
 // CHECK: call void @_ZN1AD2Ev
 
@@ -41,7 +41,7 @@ C::~C() { }
 // Complete dtor: just an alias (checked above).
 
 // Deleting dtor: defers to the complete dtor.
-// CHECK: define void @_ZN1CD0Ev(%struct.C* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CD0Ev(%struct.C* %this) unnamed_addr
 // CHECK: call void @_ZN1CD1Ev
 // CHECK: call void @_ZdlPv
 
index afa658f7d374ca06e53237744fb3ee4ac0375e36..624c89dcdae440df4b5f971901d0e8234d8d2e8f 100644 (file)
@@ -9,7 +9,7 @@ struct B {
 
 void B::f() { }
 
-// CHECK: define i32 @_ZN1D1gEv(%struct.D* %this)
+// CHECK-LABEL: define i32 @_ZN1D1gEv(%struct.D* %this)
 // CHECK: declare void @_ZN1B1gEv()
 
 struct C;
index 7629b77c2ceef4e212f52a96e6c85b0b2612625f..549e674740ffa10e8cda2cb26312133a3d5182db 100644 (file)
@@ -14,13 +14,13 @@ extern template struct X<char>;
 
 // <rdar://problem/8109763>
 void test_X(X<int> xi, X<char> xc) {
-  // CHECK: define weak_odr hidden void @_ZN1XIiE1fEv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN1XIiE1fEv
   xi.f();
-  // CHECK: define weak_odr hidden void @_ZN1XIiE1gEv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN1XIiE1gEv
   xi.g();
   // CHECK: declare void @_ZN1XIcE1fEv
   xc.f();
-  // CHECK: define available_externally void @_ZN1XIcE1gEv
+  // CHECK-LABEL: define available_externally void @_ZN1XIcE1gEv
   xc.g();
 }
 
index e5bc743e4da9de0ad217f6a1395b4e75f3d8952c..7c0757b2829a0b385f89c45683ac4df26c548091 100644 (file)
@@ -37,31 +37,31 @@ struct __attribute__((visibility("default"))) X2 {
 extern template struct X1<float>;
 
 void use(X0 *x0, X1<int> *x1, X2 *x2, X1<float> *x3) {
-  // CHECK: define linkonce_odr void @_ZN2X02f1Ev
+  // CHECK-LABEL: define linkonce_odr void @_ZN2X02f1Ev
   x0->f1();
-  // CHECK: define linkonce_odr hidden void @_ZN2X02f2Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X02f2Ev
   x0->f2();
-  // CHECK: define linkonce_odr hidden void @_ZN2X02f3Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X02f3Ev
   x0->f3();
-  // CHECK: define linkonce_odr hidden void @_ZN2X02f5Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X02f5Ev
   X0::f5();
-  // CHECK: define linkonce_odr hidden void @_ZN2X02f6Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X02f6Ev
   x0->X0::f6();
-  // CHECK: define linkonce_odr void @_ZN2X1IiE2f1Ev
+  // CHECK-LABEL: define linkonce_odr void @_ZN2X1IiE2f1Ev
   x1->f1();
-  // CHECK: define linkonce_odr hidden void @_ZN2X1IiE2f2Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X1IiE2f2Ev
   x1->f2();
-  // CHECK: define linkonce_odr hidden void @_ZN2X1IiE2f3Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X1IiE2f3Ev
   x1->f3();
-  // CHECK: define linkonce_odr hidden void @_ZN2X1IiE2f4Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X1IiE2f4Ev
   x1->f4();
-  // CHECK: define linkonce_odr hidden void @_ZN2X1IiE2f5Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X1IiE2f5Ev
   X1<int>::f5();
-  // CHECK: define linkonce_odr hidden void @_ZN2X1IiE2f6Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X1IiE2f6Ev
   x1->X1::f6();
-  // CHECK: define linkonce_odr hidden void @_ZN2X22f2Ev
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN2X22f2Ev
   x2->f2();
-  // CHECK: define available_externally void @_ZN2X1IfE2f2Ev
+  // CHECK-LABEL: define available_externally void @_ZN2X1IfE2f2Ev
   x3->f2();
 }
 
@@ -95,7 +95,7 @@ namespace test2 {
     ns::foo<arg>();
   }
 
-  // CHECK: define available_externally void @_ZN5test22ns3fooINS_1BINS_1AEEEEEvv()
+  // CHECK-LABEL: define available_externally void @_ZN5test22ns3fooINS_1BINS_1AEEEEEvv()
 }
 
 namespace PR11642 {
@@ -106,7 +106,7 @@ namespace PR11642 {
   };
   extern template class Foo<int>;
   template class Foo<int>;
-  // CHECK: define weak_odr i32 @_ZN7PR116423FooIiE3fooEi
+  // CHECK-LABEL: define weak_odr i32 @_ZN7PR116423FooIiE3fooEi
 }
 
 // Test that clang implements the new gcc behaviour for inline functions.
@@ -122,9 +122,9 @@ namespace test3 {
     foo();
     zed<int>();
   }
-  // CHECK: define weak_odr void @_ZN5test33zedIfEEvv
-  // CHECK: define linkonce_odr hidden void @_ZN5test33fooEv
-  // CHECK: define linkonce_odr hidden void @_ZN5test33zedIiEEvv
+  // CHECK-LABEL: define weak_odr void @_ZN5test33zedIfEEvv
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN5test33fooEv
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN5test33zedIiEEvv
 }
 
 namespace test4 {
@@ -133,7 +133,7 @@ namespace test4 {
   void bar() {
     foo();
   }
-  // CHECK: define available_externally void @_ZN5test43fooE
+  // CHECK-LABEL: define available_externally void @_ZN5test43fooE
 }
 
 namespace test5 {
index 58a8fed62e0490fc7fd5987f492508227777b33d..25446cdf06f9aee574fd0bffc8f8f4252f93077e 100644 (file)
@@ -22,7 +22,7 @@ namespace test0 {
   };
 
   void A::foo() { bar(); }
-  // CHECK: define hidden void @_ZN5test01A3fooEv()
+  // CHECK-LABEL: define hidden void @_ZN5test01A3fooEv()
   // CHECK: declare void @_ZN5test01A3barEv()
 
   const std::type_info &ti = typeid(A);
@@ -38,7 +38,7 @@ namespace test1 {
   };
 
   void A::foo() { bar(); }
-  // CHECK: define hidden void @_ZN5test11A3fooEv()
+  // CHECK-LABEL: define hidden void @_ZN5test11A3fooEv()
   // CHECK: declare hidden void @_ZN5test11A3barEv()
 
   const std::type_info &ti = typeid(A);
@@ -54,7 +54,7 @@ namespace test2 {
   };
 
   void A::foo() { bar(); }
-  // CHECK: define void @_ZN5test21A3fooEv()
+  // CHECK-LABEL: define void @_ZN5test21A3fooEv()
   // CHECK: declare void @_ZN5test21A3barEv()
 
   const std::type_info &ti = typeid(A);
@@ -71,7 +71,7 @@ namespace test3 {
   };
 
   template void B<A>::foo();
-  // CHECK: define weak_odr hidden void @_ZN5test31BINS_1AEE3fooEv()
+  // CHECK-LABEL: define weak_odr hidden void @_ZN5test31BINS_1AEE3fooEv()
   // CHECK: declare void @_ZN5test31BINS_1AEE3barEv()
 
   const std::type_info &ti = typeid(B<A>);
@@ -87,7 +87,7 @@ namespace test4 {
   };
 
   template void B<A>::foo();
-  // CHECK: define weak_odr void @_ZN5test41BINS_1AEE3fooEv()
+  // CHECK-LABEL: define weak_odr void @_ZN5test41BINS_1AEE3fooEv()
   // CHECK: declare void @_ZN5test41BINS_1AEE3barEv()
 
   const std::type_info &ti = typeid(B<A>);
@@ -103,7 +103,7 @@ namespace test5 {
   };
 
   template void B<A>::foo();
-  // CHECK: define weak_odr hidden void @_ZN5test51BINS_1AEE3fooEv()
+  // CHECK-LABEL: define weak_odr hidden void @_ZN5test51BINS_1AEE3fooEv()
   // CHECK: declare hidden void @_ZN5test51BINS_1AEE3barEv()
 
   const std::type_info &ti = typeid(B<A>);
index c5c47abd2b9f40583df8a4131875f4a72ecf66f6..6049bf8d2bcc79b3e6db379d074bcb5edc7c3575 100644 (file)
@@ -148,7 +148,7 @@ namespace test27 {
 // CHECK: @_ZTVN5Test63fooE = linkonce_odr hidden unnamed_addr constant 
 
 namespace Test1 {
-  // CHECK: define hidden void @_ZN5Test11fEv
+  // CHECK-LABEL: define hidden void @_ZN5Test11fEv
   void HIDDEN f() { }
   
 }
@@ -159,7 +159,7 @@ namespace Test2 {
   };
 
   // A::f is a member function of a hidden class.
-  // CHECK: define hidden void @_ZN5Test21A1fEv
+  // CHECK-LABEL: define hidden void @_ZN5Test21A1fEv
   void A::f() { }
 }
  
@@ -171,7 +171,7 @@ namespace Test3 {
   };
 
   // B is a nested class where its parent class is hidden.
-  // CHECK: define hidden void @_ZN5Test31A1B1fEv
+  // CHECK-LABEL: define hidden void @_ZN5Test31A1B1fEv
   void A::B::f() { }  
 }
 
@@ -179,7 +179,7 @@ namespace Test4 HIDDEN {
   int VariableInHiddenNamespace = 10;
 
   // Test4::g is in a hidden namespace.
-  // CHECK: define hidden void @_ZN5Test41gEv
+  // CHECK-LABEL: define hidden void @_ZN5Test41gEv
   void g() { } 
   
   struct DEFAULT A {
@@ -187,7 +187,7 @@ namespace Test4 HIDDEN {
   };
   
   // A has default visibility.
-  // CHECK: define void @_ZN5Test41A1fEv
+  // CHECK-LABEL: define void @_ZN5Test41A1fEv
   void A::f() { } 
 }
 
@@ -195,13 +195,13 @@ namespace Test5 {
 
   namespace NS HIDDEN {
     // f is in NS which is hidden.
-    // CHECK: define hidden void @_ZN5Test52NS1fEv()
+    // CHECK-LABEL: define hidden void @_ZN5Test52NS1fEv()
     void f() { }
   }
   
   namespace NS {
     // g is in NS, but this NS decl is not hidden.
-    // CHECK: define void @_ZN5Test52NS1gEv
+    // CHECK-LABEL: define void @_ZN5Test52NS1gEv
     void g() { }
   }
 }
@@ -235,7 +235,7 @@ namespace Test7 {
   class B : public A {};
   B b; // top of file
 
-  // CHECK: define linkonce_odr hidden void @_ZN5Test74ArefILZNS_1aEEE3fooEv()
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN5Test74ArefILZNS_1aEEE3fooEv()
   void test() {
     Aref<a>::foo();
   }
@@ -244,7 +244,7 @@ namespace Test7 {
 namespace Test8 {
   void foo();
   void bar() {}
-  // CHECK-HIDDEN: define hidden void @_ZN5Test83barEv()
+  // CHECK-HIDDEN-LABEL: define hidden void @_ZN5Test83barEv()
   // CHECK-HIDDEN: declare void @_ZN5Test83fooEv()
 
   void test() {
@@ -260,8 +260,8 @@ namespace Test9 {
     void DEFAULT test9_fun(struct A *a) { }
     struct A DEFAULT test9_var; // above
   }
-  // CHECK: define void @test9_fun(
-  // CHECK-HIDDEN: define void @test9_fun(
+  // CHECK-LABEL: define void @test9_fun(
+  // CHECK-HIDDEN-LABEL: define void @test9_fun(
 
   void test() {
     A a = test9_var;
@@ -277,8 +277,8 @@ namespace Test10 {
     void foo(A*);
   };
 
-  // CHECK: define void @_ZN6Test101B3fooEPNS_1AE(
-  // CHECK-HIDDEN: define void @_ZN6Test101B3fooEPNS_1AE(
+  // CHECK-LABEL: define void @_ZN6Test101B3fooEPNS_1AE(
+  // CHECK-HIDDEN-LABEL: define void @_ZN6Test101B3fooEPNS_1AE(
   void B::foo(A*) {}
 }
 
@@ -295,10 +295,10 @@ namespace Test11 {
     a.bar();
   }
 
-  // CHECK: define linkonce_odr void @_ZN6Test111A3fooEv(
-  // CHECK: define linkonce_odr void @_ZN6Test111A3barEv(
-  // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6Test111A3fooEv(
-  // CHECK-HIDDEN: define linkonce_odr void @_ZN6Test111A3barEv(
+  // CHECK-LABEL: define linkonce_odr void @_ZN6Test111A3fooEv(
+  // CHECK-LABEL: define linkonce_odr void @_ZN6Test111A3barEv(
+  // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6Test111A3fooEv(
+  // CHECK-HIDDEN-LABEL: define linkonce_odr void @_ZN6Test111A3barEv(
 }
 
 // Tested at top of file.
@@ -485,7 +485,7 @@ namespace Test20 {
     static void test1();
   };
 
-  // CHECK: define hidden void @_ZN6Test201AILj0EE5test0Ev()
+  // CHECK-LABEL: define hidden void @_ZN6Test201AILj0EE5test0Ev()
   void A<0>::test0() {}
 
   // CHECK: declare hidden void @_ZN6Test201AILj0EE5test1Ev()
@@ -499,7 +499,7 @@ namespace Test20 {
     static void test3();
   };
 
-  // CHECK: define void @_ZN6Test201AILj1EE5test2Ev()
+  // CHECK-LABEL: define void @_ZN6Test201AILj1EE5test2Ev()
   void A<1>::test2() {}
 
   // CHECK: declare void @_ZN6Test201AILj1EE5test3Ev()
@@ -515,7 +515,7 @@ namespace Test20 {
     static void test5();
   };
 
-  // CHECK: define linkonce_odr hidden void @_ZN6Test201BINS_1AILj2EEEE5test4Ev()
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN6Test201BINS_1AILj2EEEE5test4Ev()
   void test4() {
     B<A<2> >::test4();
   }
@@ -533,7 +533,7 @@ namespace test21 {
     DEFAULT void foo() {}
   };
 
-  // CHECK: define weak_odr void @_ZN6test211AILNS_2EnE0EE3fooEv(
+  // CHECK-LABEL: define weak_odr void @_ZN6test211AILNS_2EnE0EE3fooEv(
   template void A<en>::foo();
 }
 
@@ -560,13 +560,13 @@ namespace test22 {
     B<A2>::bar();
   }
   // CHECK: declare void @_ZN6test221BINS_2A1EE3fooEv()
-  // CHECK: define linkonce_odr void @_ZN6test221BINS_2A1EE3barEv()
+  // CHECK-LABEL: define linkonce_odr void @_ZN6test221BINS_2A1EE3barEv()
   // CHECK: declare void @_ZN6test221BINS_2A2EE3fooEv()
-  // CHECK: define linkonce_odr void @_ZN6test221BINS_2A2EE3barEv()
+  // CHECK-LABEL: define linkonce_odr void @_ZN6test221BINS_2A2EE3barEv()
   // CHECK-HIDDEN: declare void @_ZN6test221BINS_2A1EE3fooEv()
-  // CHECK-HIDDEN: define linkonce_odr void @_ZN6test221BINS_2A1EE3barEv()
+  // CHECK-HIDDEN-LABEL: define linkonce_odr void @_ZN6test221BINS_2A1EE3barEv()
   // CHECK-HIDDEN: declare void @_ZN6test221BINS_2A2EE3fooEv()
-  // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test221BINS_2A2EE3barEv()
+  // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6test221BINS_2A2EE3barEv()
 }
 
 namespace PR10113 {
@@ -577,14 +577,14 @@ namespace PR10113 {
     };
   }
   template class foo::bar<char>;
-  // CHECK: define weak_odr void @_ZN7PR101133foo3barIcE3zedEv
-  // CHECK-HIDDEN: define weak_odr void @_ZN7PR101133foo3barIcE3zedEv
+  // CHECK-LABEL: define weak_odr void @_ZN7PR101133foo3barIcE3zedEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN7PR101133foo3barIcE3zedEv
 
   struct zed {
   };
   template class foo::bar<zed>;
-  // CHECK: define weak_odr void @_ZN7PR101133foo3barINS_3zedEE3zedEv
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN7PR101133foo3barINS_3zedEE3zedEv
+  // CHECK-LABEL: define weak_odr void @_ZN7PR101133foo3barINS_3zedEE3zedEv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN7PR101133foo3barINS_3zedEE3zedEv
 }
 
 namespace PR11690 {
@@ -593,13 +593,13 @@ namespace PR11690 {
     }
   };
   template class DEFAULT Class<char>;
-  // CHECK: define weak_odr void @_ZNK7PR116905ClassIcE4sizeEv
-  // CHECK-HIDDEN: define weak_odr void @_ZNK7PR116905ClassIcE4sizeEv
+  // CHECK-LABEL: define weak_odr void @_ZNK7PR116905ClassIcE4sizeEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZNK7PR116905ClassIcE4sizeEv
 
   template<class T> void Method() {}
   template  DEFAULT void Method<char>();
-  // CHECK: define weak_odr void @_ZN7PR116906MethodIcEEvv
-  // CHECK-HIDDEN: define weak_odr void @_ZN7PR116906MethodIcEEvv
+  // CHECK-LABEL: define weak_odr void @_ZN7PR116906MethodIcEEvv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN7PR116906MethodIcEEvv
 }
 
 namespace PR11690_2 {
@@ -614,8 +614,8 @@ namespace PR11690_2 {
   struct baz {
   };
   template class foo::zed<baz>;
-  // CHECK: define weak_odr void @_ZN9PR11690_23foo3zedINS_3bazENS0_3barEE3barEv
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN9PR11690_23foo3zedINS_3bazENS0_3barEE3barEv
+  // CHECK-LABEL: define weak_odr void @_ZN9PR11690_23foo3zedINS_3bazENS0_3barEE3barEv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN9PR11690_23foo3zedINS_3bazENS0_3barEE3barEv
 }
 
 namespace test23 {
@@ -633,8 +633,8 @@ namespace test23 {
     X<A> y;
     y.f();
   }
-  // CHECK: define linkonce_odr void @_ZN6test231XINS_1AEE1fEv
-  // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test231XINS_1AEE1fEv
+  // CHECK-LABEL: define linkonce_odr void @_ZN6test231XINS_1AEE1fEv
+  // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6test231XINS_1AEE1fEv
 }
 
 namespace PR12001 {
@@ -647,8 +647,8 @@ namespace PR12001 {
   void f() {
     Bind(Version());
   }
-  // CHECK: define linkonce_odr void @_ZN7PR120014BindINS_7VersionEEEvRKT_
-  // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN7PR120014BindINS_7VersionEEEvRKT_
+  // CHECK-LABEL: define linkonce_odr void @_ZN7PR120014BindINS_7VersionEEEvRKT_
+  // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN7PR120014BindINS_7VersionEEEvRKT_
 }
 
 namespace test24 {
@@ -663,8 +663,8 @@ namespace test24 {
     S s;
     s.mem<A>();
   }
-  // CHECK: define linkonce_odr void @_ZN6test241S3memINS_1AEEEvv
-  // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test241S3memINS_1AEEEvv
+  // CHECK-LABEL: define linkonce_odr void @_ZN6test241S3memINS_1AEEEvv
+  // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6test241S3memINS_1AEEEvv
 }
 
 namespace test26 {
@@ -676,8 +676,8 @@ namespace test26 {
   template<>
   void C<int>::f() { }
 
-  // CHECK: define void @_ZN6test261CIiE1fEv
-  // CHECK-HIDDEN: define void @_ZN6test261CIiE1fEv
+  // CHECK-LABEL: define void @_ZN6test261CIiE1fEv
+  // CHECK-HIDDEN-LABEL: define void @_ZN6test261CIiE1fEv
 }
 
 namespace test31 {
@@ -701,8 +701,8 @@ namespace test32 {
   };
   void A::B::baz() {
   }
-  // CHECK: define void @_ZN6test321A1B3bazEv
-  // CHECK-HIDDEN: define void @_ZN6test321A1B3bazEv
+  // CHECK-LABEL: define void @_ZN6test321A1B3bazEv
+  // CHECK-HIDDEN-LABEL: define void @_ZN6test321A1B3bazEv
 }
 
 namespace test33 {
@@ -713,8 +713,8 @@ namespace test33 {
   struct HIDDEN zed {
   };
   template class DEFAULT foo<zed>;
-  // CHECK: define weak_odr void @_ZN6test333fooINS_3zedEE3barEv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test333fooINS_3zedEE3barEv
+  // CHECK-LABEL: define weak_odr void @_ZN6test333fooINS_3zedEE3barEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test333fooINS_3zedEE3barEv
 }
 
 namespace test34 {
@@ -723,8 +723,8 @@ namespace test34 {
   template<class T>
   void bar() {}
   template DEFAULT void bar<foo>();
-  // CHECK: define weak_odr void @_ZN6test343barINS_3fooEEEvv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test343barINS_3fooEEEvv
+  // CHECK-LABEL: define weak_odr void @_ZN6test343barINS_3fooEEEvv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test343barINS_3fooEEEvv
 }
 
 namespace test35 {
@@ -741,8 +741,8 @@ namespace test35 {
   template class foo<zed>;
   class DEFAULT zed {
   };
-  // CHECK: define weak_odr void @_ZN6test353fooINS_3zedEE3barEv
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test353fooINS_3zedEE3barEv
+  // CHECK-LABEL: define weak_odr void @_ZN6test353fooINS_3zedEE3barEv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN6test353fooINS_3zedEE3barEv
 }
 
 namespace test36 {
@@ -753,8 +753,8 @@ namespace test36 {
   class DEFAULT S1 {};
   struct HIDDEN S2 {};
   template class foo<S1, S2>;
-  // CHECK: define weak_odr hidden void @_ZN6test363fooINS_2S1ENS_2S2EE3barEv
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test363fooINS_2S1ENS_2S2EE3barEv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN6test363fooINS_2S1ENS_2S2EE3barEv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN6test363fooINS_2S1ENS_2S2EE3barEv
 }
 
 namespace test37 {
@@ -763,8 +763,8 @@ namespace test37 {
   template<class T>
   DEFAULT void bar() {}
   template DEFAULT void bar<foo>();
-  // CHECK: define weak_odr void @_ZN6test373barINS_3fooEEEvv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test373barINS_3fooEEEvv
+  // CHECK-LABEL: define weak_odr void @_ZN6test373barINS_3fooEEEvv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test373barINS_3fooEEEvv
 }
 
 namespace test38 {
@@ -775,8 +775,8 @@ namespace test38 {
   struct HIDDEN zed {
   };
   template class foo<zed>;
-  // CHECK: define weak_odr hidden void @_ZN6test383fooINS_3zedEE3barEv
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test383fooINS_3zedEE3barEv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN6test383fooINS_3zedEE3barEv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN6test383fooINS_3zedEE3barEv
 }
 
 namespace test39 {
@@ -794,19 +794,19 @@ namespace test39 {
   template void A<hidden_t>::B<hidden_t>::temp<default_t>();
   template void A<hidden_t>::B<hidden_t>::temp<hidden_t>();
 
-  // CHECK: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E6hiddenEv
-  // CHECK: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E6noattrEv
-  // CHECK: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempINS_9default_tEEEvv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E6hiddenEv
+  // CHECK-LABEL: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E6noattrEv
+  // CHECK-LABEL: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempINS_9default_tEEEvv
 
   // GCC produces a default for this one. Why?
-  // CHECK: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempIS1_EEvv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempIS1_EEvv
 
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E6hiddenEv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E6noattrEv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempINS_9default_tEEEvv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E6hiddenEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E6noattrEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempINS_9default_tEEEvv
 
   // GCC produces a default for this one. Why?
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempIS1_EEvv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN6test391AINS_8hidden_tEE1BIS1_E4tempIS1_EEvv
 }
 
 namespace test42 {
@@ -821,8 +821,8 @@ namespace test42 {
   };
   void bar<foo>::zed() {
   }
-  // CHECK: define void @_ZN6test423barINS_3fooEE3zedEv
-  // CHECK-HIDDEN: define void @_ZN6test423barINS_3fooEE3zedEv
+  // CHECK-LABEL: define void @_ZN6test423barINS_3fooEE3zedEv
+  // CHECK-HIDDEN-LABEL: define void @_ZN6test423barINS_3fooEE3zedEv
 }
 
 namespace test43 {
@@ -834,8 +834,8 @@ namespace test43 {
   template <>
   DEFAULT void bar<foo>() {
   }
-  // CHECK: define void @_ZN6test433barINS_3fooEEEvv
-  // CHECK-HIDDEN: define void @_ZN6test433barINS_3fooEEEvv
+  // CHECK-LABEL: define void @_ZN6test433barINS_3fooEEEvv
+  // CHECK-HIDDEN-LABEL: define void @_ZN6test433barINS_3fooEEEvv
 }
 
 namespace test44 {
@@ -848,8 +848,8 @@ namespace test44 {
   }
   template struct DEFAULT foo<bar>;
   foo<bar> x;
-  // CHECK: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
-  // CHECK-HIDDEN: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
+  // CHECK-LABEL: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
+  // CHECK-HIDDEN-LABEL: define internal void @_ZN6test443fooINS_12_GLOBAL__N_13barEEC1Ev
 }
 
 namespace test45 {
@@ -865,8 +865,8 @@ namespace test45 {
   }
   template struct DEFAULT foo<int>::bar<zed>;
   foo<int>::bar<zed> x;
-  // CHECK: define internal void @_ZN6test453fooIiE3barINS_12_GLOBAL__N_13zedEEC1Ev
-  // CHECK-HIDDEN: define internal void @_ZN6test453fooIiE3barINS_12_GLOBAL__N_13zedEEC1Ev
+  // CHECK-LABEL: define internal void @_ZN6test453fooIiE3barINS_12_GLOBAL__N_13zedEEC1Ev
+  // CHECK-HIDDEN-LABEL: define internal void @_ZN6test453fooIiE3barINS_12_GLOBAL__N_13zedEEC1Ev
 }
 
 namespace test46 {
@@ -880,8 +880,8 @@ namespace test46 {
   void zed() {
     foo<bar>();
   }
-  // CHECK: define internal void @_ZN6test463fooINS_12_GLOBAL__N_13barEEEvv
-  // CHECK-HIDDEN: define internal void @_ZN6test463fooINS_12_GLOBAL__N_13barEEEvv
+  // CHECK-LABEL: define internal void @_ZN6test463fooINS_12_GLOBAL__N_13barEEEvv
+  // CHECK-HIDDEN-LABEL: define internal void @_ZN6test463fooINS_12_GLOBAL__N_13barEEEvv
 }
 
 namespace test47 {
@@ -897,8 +897,8 @@ namespace test47 {
   void baz() {
     foo::bar<zed>();
   }
-  // CHECK: define internal void @_ZN6test473foo3barINS_12_GLOBAL__N_13zedEEEvv
-  // CHECK-HIDDEN: define internal void @_ZN6test473foo3barINS_12_GLOBAL__N_13zedEEEvv
+  // CHECK-LABEL: define internal void @_ZN6test473foo3barINS_12_GLOBAL__N_13zedEEEvv
+  // CHECK-HIDDEN-LABEL: define internal void @_ZN6test473foo3barINS_12_GLOBAL__N_13zedEEEvv
 }
 
 namespace test49 {
@@ -918,8 +918,8 @@ namespace test49 {
   };
 
   template void bar::zed<&x>();
-  // CHECK: define weak_odr hidden void @_ZN6test493bar3zedIXadL_ZNS_1xEEEEEvv
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test493bar3zedIXadL_ZNS_1xEEEEEvv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN6test493bar3zedIXadL_ZNS_1xEEEEEvv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN6test493bar3zedIXadL_ZNS_1xEEEEEvv
 }
 
 namespace test50 {
@@ -936,8 +936,8 @@ namespace test50 {
     }
   };
   template void bar<&x>::zed();
-  // CHECK: define weak_odr hidden void @_ZN6test503barIXadL_ZNS_1xEEEE3zedEv
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test503barIXadL_ZNS_1xEEEE3zedEv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN6test503barIXadL_ZNS_1xEEEE3zedEv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN6test503barIXadL_ZNS_1xEEEE3zedEv
 }
 
 namespace test51 {
@@ -952,8 +952,8 @@ namespace test51 {
   void DEFAULT zed() {
   }
   template void zed<&x>();
-  // CHECK: define weak_odr hidden void @_ZN6test513zedIXadL_ZNS_1xEEEEEvv
-  // CHECK-HIDDEN: define weak_odr hidden void @_ZN6test513zedIXadL_ZNS_1xEEEEEvv
+  // CHECK-LABEL: define weak_odr hidden void @_ZN6test513zedIXadL_ZNS_1xEEEEEvv
+  // CHECK-HIDDEN-LABEL: define weak_odr hidden void @_ZN6test513zedIXadL_ZNS_1xEEEEEvv
 }
 
 namespace test52 {
@@ -971,8 +971,8 @@ namespace test52 {
   void f() {
     zed<nullptr>();
   }
-  // CHECK: define internal void @_ZN6test523zedILPNS_12_GLOBAL__N_13fooE0EEEvv
-  // CHECK-HIDDEN: define internal void @_ZN6test523zedILPNS_12_GLOBAL__N_13fooE0EEEvv
+  // CHECK-LABEL: define internal void @_ZN6test523zedILPNS_12_GLOBAL__N_13fooE0EEEvv
+  // CHECK-HIDDEN-LABEL: define internal void @_ZN6test523zedILPNS_12_GLOBAL__N_13fooE0EEEvv
 }
 
 namespace test53 {
@@ -1074,8 +1074,8 @@ namespace test58 {
     bar<foo>::zed();
   }
 #pragma GCC visibility pop
-  // CHECK: define linkonce_odr hidden void @_ZN6test583barINS_3fooEE3zedEv
-  // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test583barINS_3fooEE3zedEv
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test583barINS_3fooEE3zedEv
+  // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6test583barINS_3fooEE3zedEv
 }
 
 namespace test59 {
@@ -1086,12 +1086,12 @@ namespace test59 {
   void test() {}
   void use() {
     test<&g, &f>();
-    // CHECK: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1gEvEEXadL_ZNS_1fEvEEEEvv
-    // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1gEvEEXadL_ZNS_1fEvEEEEvv
+    // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1gEvEEXadL_ZNS_1fEvEEEEvv
+    // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1gEvEEXadL_ZNS_1fEvEEEEvv
 
     test<&f, &g>();
-    // CHECK: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1fEvEEXadL_ZNS_1gEvEEEEvv
-    // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1fEvEEXadL_ZNS_1gEvEEEEvv
+    // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1fEvEEXadL_ZNS_1gEvEEEEvv
+    // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6test594testIXadL_ZNS_1fEvEEXadL_ZNS_1gEvEEEEvv
   }
 }
 
@@ -1104,12 +1104,12 @@ namespace test60 {
   void test() {}
   void use() {
     test<a, b>();
-    // CHECK: define linkonce_odr hidden void @_ZN6test604testINS_1aENS_1bEEEvv
-    // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test604testINS_1aENS_1bEEEvv
+    // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test604testINS_1aENS_1bEEEvv
+    // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6test604testINS_1aENS_1bEEEvv
 
     test<b, a>();
-    // CHECK: define linkonce_odr hidden void @_ZN6test604testINS_1bENS_1aEEEvv
-    // CHECK-HIDDEN: define linkonce_odr hidden void @_ZN6test604testINS_1bENS_1aEEEvv
+    // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test604testINS_1bENS_1aEEEvv
+    // CHECK-HIDDEN-LABEL: define linkonce_odr hidden void @_ZN6test604testINS_1bENS_1aEEEvv
   }
 }
 
@@ -1171,8 +1171,8 @@ namespace test63 {
     A::foo<E0>();
     A::B<E0>::foo();
   }
-  // CHECK: define linkonce_odr hidden void @_ZN6test631A3fooILNS_1EE0EEEvv()
-  // CHECK: define linkonce_odr hidden void @_ZN6test631A1BILNS_1EE0EE3fooEv()
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test631A3fooILNS_1EE0EEEvv()
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test631A1BILNS_1EE0EE3fooEv()
 }
 
 // Don't ignore the visibility of template arguments just because we
@@ -1184,7 +1184,7 @@ namespace test64 {
   };
 
   template class B<A>;
-  // CHECK: define weak_odr hidden void @_ZN6test641BINS_1AEE3fooEv()
+  // CHECK-LABEL: define weak_odr hidden void @_ZN6test641BINS_1AEE3fooEv()
 }
 
 namespace test65 {
@@ -1200,23 +1200,23 @@ namespace test65 {
     static void foo() {}
   };
 
-  // CHECK: define void @_ZN6test651BINS_1AEE4funcEv()
+  // CHECK-LABEL: define void @_ZN6test651BINS_1AEE4funcEv()
   template <> DEFAULT void B<A>::func() {}
 
-  // CHECK: define void @_ZN6test651BINS_1AEE6funcT2IS1_EEvv()
+  // CHECK-LABEL: define void @_ZN6test651BINS_1AEE6funcT2IS1_EEvv()
   template <> template <> DEFAULT void B<A>::funcT2<A>() {}
 
-  // CHECK: define linkonce_odr void @_ZN6test651BINS_1AEE6funcT1IiEEvv()
-  // CHECK: define linkonce_odr hidden void @_ZN6test651BINS_1AEE6funcT1IS1_EEvv()
+  // CHECK-LABEL: define linkonce_odr void @_ZN6test651BINS_1AEE6funcT1IiEEvv()
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test651BINS_1AEE6funcT1IS1_EEvv()
   template <> template <class T> DEFAULT void B<A>::funcT1() {}
 
-  // CHECK: define linkonce_odr void @_ZN6test651BINS_1AEE5Inner3fooEv()
+  // CHECK-LABEL: define linkonce_odr void @_ZN6test651BINS_1AEE5Inner3fooEv()
   template <> struct DEFAULT B<A>::Inner {
     static void foo() {}
   };
 
-  // CHECK: define linkonce_odr void @_ZN6test651BINS_1AEE6InnerTIiE3fooEv()
-  // CHECK: define linkonce_odr hidden void @_ZN6test651BINS_1AEE6InnerTIS1_E3fooEv()
+  // CHECK-LABEL: define linkonce_odr void @_ZN6test651BINS_1AEE6InnerTIiE3fooEv()
+  // CHECK-LABEL: define linkonce_odr hidden void @_ZN6test651BINS_1AEE6InnerTIS1_E3fooEv()
   template <> template <class U> struct DEFAULT B<A>::InnerT {
     static void foo() {}
   };
@@ -1240,8 +1240,8 @@ namespace test66 {
   class foo;
   class DEFAULT foo;
   template struct barT<foo>;
-  // CHECK: define weak_odr void @_ZN6test664barTINS_3fooEE3zedEv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test664barTINS_3fooEE3zedEv
+  // CHECK-LABEL: define weak_odr void @_ZN6test664barTINS_3fooEE3zedEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test664barTINS_3fooEE3zedEv
 
   template <int* I>
   struct DEFAULT barI {
@@ -1250,8 +1250,8 @@ namespace test66 {
   extern int I;
   extern int I DEFAULT;
   template struct barI<&I>;
-  // CHECK: define weak_odr void @_ZN6test664barIIXadL_ZNS_1IEEEE3zedEv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test664barIIXadL_ZNS_1IEEEE3zedEv
+  // CHECK-LABEL: define weak_odr void @_ZN6test664barIIXadL_ZNS_1IEEEE3zedEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test664barIIXadL_ZNS_1IEEEE3zedEv
 
   typedef void (*fType)(void);
   template<fType F>
@@ -1261,8 +1261,8 @@ namespace test66 {
   void F();
   void F() DEFAULT;
   template struct barF<F>;
-  // CHECK: define weak_odr void @_ZN6test664barFIXadL_ZNS_1FEvEEE3zedEv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test664barFIXadL_ZNS_1FEvEEE3zedEv
+  // CHECK-LABEL: define weak_odr void @_ZN6test664barFIXadL_ZNS_1FEvEEE3zedEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test664barFIXadL_ZNS_1FEvEEE3zedEv
 }
 
 namespace test67 {
@@ -1278,8 +1278,8 @@ namespace test67 {
   class DEFAULT foo;
 
   template struct bar<foo>;
-  // CHECK: define weak_odr void @_ZN6test673barINS_3fooEE3zedEv
-  // CHECK-HIDDEN: define weak_odr void @_ZN6test673barINS_3fooEE3zedEv
+  // CHECK-LABEL: define weak_odr void @_ZN6test673barINS_3fooEE3zedEv
+  // CHECK-HIDDEN-LABEL: define weak_odr void @_ZN6test673barINS_3fooEE3zedEv
 }
 
 namespace test68 {
index b523c769d541f9b2c07cc208fa6a4bc978fdf879..b22f21c3faf3e23a2861fd314703cfa1e2952d6b 100644 (file)
@@ -16,7 +16,7 @@ int f() {
 
 // rdar://problem/9506377
 void test0(void *array, int n) {
-  // CHECK: define void @_Z5test0Pvi(
+  // CHECK-LABEL: define void @_Z5test0Pvi(
   // CHECK:      [[ARRAY:%.*]] = alloca i8*, align 8
   // CHECK-NEXT: [[N:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[REF:%.*]] = alloca i16*, align 8
index 6ebb2f11fca5e2946844a353a07bdb95bf1aaf30..38c8829347c2d32af6b0900b5d4bdf1de80c8d99 100644 (file)
@@ -11,7 +11,7 @@ namespace test0 {
 
   volatile A *array;
 
-  // CHECK: define void @_ZN5test04testENS_1AE(
+  // CHECK-LABEL: define void @_ZN5test04testENS_1AE(
   void test(A t) {
     // CHECK:      [[ARR:%.*]] = load [[A:%.*]]** @_ZN5test05arrayE, align 8
     // CHECK-NEXT: [[IDX:%.*]] = getelementptr inbounds [[A]]* [[ARR]], i64 0
@@ -24,7 +24,7 @@ namespace test0 {
 namespace test1 {
   volatile int *x;
 
-  // CHECK: define void @_ZN5test14testEv()
+  // CHECK-LABEL: define void @_ZN5test14testEv()
   void test() {
     // CHECK:      [[TMP:%.*]] = load i32** @_ZN5test11xE, align 8
     // CHECK-NEXT: ret void
index 693b36abe502c735f4ed80a5591eb1f0824567fd..1c910dcc934f4f6ee5bc1b7526d1b82cac29e9a5 100644 (file)
@@ -28,7 +28,7 @@ void f(A* a) {
   a->f();
 };
 
-// CHECK: define void @_ZN5Test11gEv
+// CHECK-LABEL: define void @_ZN5Test11gEv
 // CHECK: call void @_ZN5Test11A1fEv
 void g() {
   A a;
@@ -106,7 +106,7 @@ void f() {
 }
 
 // PR9130, test that we emit a definition of A::f.
-// CHECK-TEST5: define linkonce_odr void @_ZN5Test51A1fEv
+// CHECK-TEST5-LABEL: define linkonce_odr void @_ZN5Test51A1fEv
 namespace Test5 {
 
 struct A {
@@ -160,7 +160,7 @@ struct c28 : virtual c11{
   void f6 ();
 };
 
-// CHECK-TEST7: define void @_ZN5Test79check_c28Ev
+// CHECK-TEST7-LABEL: define void @_ZN5Test79check_c28Ev
 // CHECK-TEST7: call void @_ZN5Test73c282f6Ev
 // CHECK-TEST7: ret void
 void check_c28 () {
index 9b1eaa5ba7753f1af5585a08b298a6b46c384b41..85e08d8f0f9bf07ed452fffb8dd4a0a327063477 100644 (file)
@@ -19,14 +19,14 @@ struct A : Base {
   Field field;
 };
 
-// CHECK: define void @_ZN1AC2Ev(%struct.A* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AC2Ev(%struct.A* %this) unnamed_addr
 // CHECK: call void @_ZN4BaseC2Ev(
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTV1A, i64 0, i64 2)
 // CHECK: call void @_ZN5FieldC1Ev(
 // CHECK: ret void
 A::A() { }
 
-// CHECK: define void @_ZN1AD2Ev(%struct.A* %this) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AD2Ev(%struct.A* %this) unnamed_addr
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTV1A, i64 0, i64 2)
 // CHECK: call void @_ZN5FieldD1Ev(
 // CHECK: call void @_ZN4BaseD2Ev(
@@ -41,16 +41,16 @@ struct B : Base {
 
 void f() { B b; }
 
-// CHECK: define linkonce_odr void @_ZN1BC1Ev(%struct.B* %this) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN1BC1Ev(%struct.B* %this) unnamed_addr
 // CHECK: call void @_ZN1BC2Ev(
 
-// CHECK: define linkonce_odr void @_ZN1BD1Ev(%struct.B* %this) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN1BD1Ev(%struct.B* %this) unnamed_addr
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTV1B, i64 0, i64 2)
 // CHECK: call void @_ZN5FieldD1Ev(
 // CHECK: call void @_ZN4BaseD2Ev(
 // CHECK: ret void
 
-// CHECK: define linkonce_odr void @_ZN1BC2Ev(%struct.B* %this) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN1BC2Ev(%struct.B* %this) unnamed_addr
 // CHECK: call void @_ZN4BaseC2Ev(
 // CHECK: store i8** getelementptr inbounds ([3 x i8*]* @_ZTV1B, i64 0, i64 2)
 // CHECK: call void @_ZN5FieldC1Ev
index 4404de0f88e5b3cb4a64786a19ba5f5cd08270a3..2c7234e038c9ec926ab15810842caea71aee048d 100644 (file)
@@ -6,9 +6,9 @@ struct S {
   short s;
 };
 
-// CHECK: define void @_Z1fv(%struct.S* noalias sret %
+// CHECK-LABEL: define void @_Z1fv(%struct.S* noalias sret %
 S f() { return S(); }
-// CHECK: define void @_Z1f1S(%struct.S*)
+// CHECK-LABEL: define void @_Z1f1S(%struct.S*)
 void f(S) { }
 
 // Non-trivial dtors, should both be passed indirectly.
@@ -18,10 +18,10 @@ public:
   double c;
 };
 
-// CHECK: define void @_Z1gv(%class.C* noalias sret %
+// CHECK-LABEL: define void @_Z1gv(%class.C* noalias sret %
 C g() { return C(); }
 
-// CHECK: define void @_Z1f1C(%class.C*) 
+// CHECK-LABEL: define void @_Z1f1C(%class.C*) 
 void f(C) { }
 
 
@@ -29,7 +29,7 @@ void f(C) { }
 
 // PR7058 - Missing byval on MI thunk definition.
 
-// CHECK: define void @_ZThn4_N18BasicAliasAnalysis13getModRefInfoE8CallSite
+// CHECK-LABEL: define void @_ZThn4_N18BasicAliasAnalysis13getModRefInfoE8CallSite
 // ...
 // CHECK: %struct.CallSite* byval align 4 %CS)
 struct CallSite {
@@ -57,38 +57,38 @@ void BasicAliasAnalysis::getModRefInfo(CallSite CS) {
 //
 // PR7098.
 
-// CHECK: define i64 @_Z2f0v()
+// CHECK-LABEL: define i64 @_Z2f0v()
 struct s0_0 { int x; };
 struct s0_1 : s0_0 { int* y; };
 s0_1 f0() { return s0_1(); }
 
-// CHECK: define i32 @_Z2f1v()
+// CHECK-LABEL: define i32 @_Z2f1v()
 struct s1_0 { int x; };
 struct s1_1 : s1_0 { };
 s1_1 f1() { return s1_1(); }
 
-// CHECK: define double @_Z2f2v()
+// CHECK-LABEL: define double @_Z2f2v()
 struct s2_0 { double x; };
 struct s2_1 : s2_0 { };
 s2_1 f2() { return s2_1(); }
 
-// CHECK: define double @_Z2f3v()
+// CHECK-LABEL: define double @_Z2f3v()
 struct s3_0 { };
 struct s3_1 { double x; };
 struct s3_2 : s3_0, s3_1 { };
 s3_2 f3() { return s3_2(); }
 
-// CHECK: define i64 @_Z2f4v()
+// CHECK-LABEL: define i64 @_Z2f4v()
 struct s4_0 { float x; };
 struct s4_1 { float x; };
 struct s4_2 : s4_0, s4_1 { };
 s4_2 f4() { return s4_2(); }
 
-// CHECK: define i32* @_Z2f5v()
+// CHECK-LABEL: define i32* @_Z2f5v()
 struct s5 { s5(); int &x; };
 s5 f5() { return s5(); }
 
-// CHECK: define i32 @_Z4f6_0M2s6i(i32 %a)
+// CHECK-LABEL: define i32 @_Z4f6_0M2s6i(i32 %a)
 // CHECK: define i64 @_Z4f6_1M2s6FivE({ i32, i32 }* byval align 4)
 // FIXME: It would be nice to avoid byval on the previous case.
 struct s6 {};
@@ -97,19 +97,19 @@ typedef int (s6::*s6_mfp)();
 s6_mdp f6_0(s6_mdp a) { return a; }
 s6_mfp f6_1(s6_mfp a) { return a; }
 
-// CHECK: define double @_Z2f7v()
+// CHECK-LABEL: define double @_Z2f7v()
 struct s7_0 { unsigned : 0; };
 struct s7_1 { double x; };
 struct s7 : s7_0, s7_1 { };
 s7 f7() { return s7(); }
 
-// CHECK: define void @_Z2f8v(%struct.s8* noalias sret %agg.result)
+// CHECK-LABEL: define void @_Z2f8v(%struct.s8* noalias sret %agg.result)
 struct s8_0 { };
 struct s8_1 { double x; };
 struct s8 { s8_0 a; s8_1 b; };
 s8 f8() { return s8(); }
 
-// CHECK: define void @_Z2f9v(%struct.s9* noalias sret %agg.result)
+// CHECK-LABEL: define void @_Z2f9v(%struct.s9* noalias sret %agg.result)
 struct s9_0 { unsigned : 0; };
 struct s9_1 { double x; };
 struct s9 { s9_0 a; s9_1 b; };
index 672180363fcacc7860cadf4dcfc7a865716ff85f..2172e0810d752c337b882796d039961a5af499e2 100644 (file)
@@ -3,28 +3,28 @@
 // Basic base class test.
 struct f0_s0 { unsigned a; };
 struct f0_s1 : public f0_s0 { void *b; };
-// CHECK: define void @_Z2f05f0_s1(i32 %a0.coerce0, i8* %a0.coerce1)
+// CHECK-LABEL: define void @_Z2f05f0_s1(i32 %a0.coerce0, i8* %a0.coerce1)
 void f0(f0_s1 a0) { }
 
 // Check with two eight-bytes in base class.
 struct f1_s0 { unsigned a; unsigned b; float c; };
 struct f1_s1 : public f1_s0 { float d;};
-// CHECK: define void @_Z2f15f1_s1(i64 %a0.coerce0, <2 x float> %a0.coerce1)
+// CHECK-LABEL: define void @_Z2f15f1_s1(i64 %a0.coerce0, <2 x float> %a0.coerce1)
 void f1(f1_s1 a0) { }
 
 // Check with two eight-bytes in base class and merge.
 struct f2_s0 { unsigned a; unsigned b; float c; };
 struct f2_s1 : public f2_s0 { char d;};
-// CHECK: define void @_Z2f25f2_s1(i64 %a0.coerce0, i64 %a0.coerce1)
+// CHECK-LABEL: define void @_Z2f25f2_s1(i64 %a0.coerce0, i64 %a0.coerce1)
 void f2(f2_s1 a0) { }
 
 // PR5831
-// CHECK: define void @_Z2f34s3_1(i64 %x.coerce)
+// CHECK-LABEL: define void @_Z2f34s3_1(i64 %x.coerce)
 struct s3_0 {};
 struct s3_1 { struct s3_0 a; long b; };
 void f3(struct s3_1 x) {}
 
-// CHECK: define i64 @_Z4f4_0M2s4i(i64 %a)
+// CHECK-LABEL: define i64 @_Z4f4_0M2s4i(i64 %a)
 // CHECK: define {{.*}} @_Z4f4_1M2s4FivE(i64 %a.coerce0, i64 %a.coerce1)
 struct s4 {};
 typedef int s4::* s4_mdp;
@@ -41,7 +41,7 @@ struct StringRef {
 void AddKeyword(StringRef, int x);
 
 void foo() {
-  // CHECK: define void @_ZN6PR75233fooEv()
+  // CHECK-LABEL: define void @_ZN6PR75233fooEv()
   // CHECK: call void @_ZN6PR752310AddKeywordENS_9StringRefEi(i8* {{.*}}, i32 4)
   AddKeyword(StringRef(), 4);
 }
@@ -54,7 +54,7 @@ namespace PR7742 { // Also rdar://8250764
   
   struct c2 : public s2 {};
   
-  // CHECK: define <2 x float> @_ZN6PR77423fooEPNS_2c2E(%"struct.PR7742::c2"* %P)
+  // CHECK-LABEL: define <2 x float> @_ZN6PR77423fooEPNS_2c2E(%"struct.PR7742::c2"* %P)
   c2 foo(c2 *P) {
     return c2();
   }
@@ -72,7 +72,7 @@ namespace PR5179 {
     B1 b1;
   };
 
-  // CHECK: define i8* @_ZN6PR51793barENS_2B2E(i32* %b2.coerce)
+  // CHECK-LABEL: define i8* @_ZN6PR51793barENS_2B2E(i32* %b2.coerce)
   const void *bar(B2 b2) {
     return b2.b1.pa;
   }
@@ -114,7 +114,7 @@ namespace test6 {
   int test(outer x) {
     return x.x + x.f;
   }
-  // CHECK: define i32 @_ZN5test64testENS_5outerE(i64 %x.coerce0, i32 %x.coerce1)
+  // CHECK-LABEL: define i32 @_ZN5test64testENS_5outerE(i64 %x.coerce0, i32 %x.coerce1)
 }
 
 namespace test7 {
index 3ba742637515e10d3557b998f8b2d7b06dae401d..afe7c0bdc18bbbab2aae74ed63e28f2cbf93234b 100644 (file)
@@ -8,14 +8,14 @@ void use_int(int);
 
 void test0(int i) {
   block_t block = ^{ use_int(i); };
-  // CHECK:   define void @test0(
+  // CHECK-LABEL:   define void @test0(
   // CHECK:     call i8* @objc_retainBlock(i8* {{%.*}}) [[NUW:#[0-9]+]], !clang.arc.copy_on_escape
   // CHECK:     ret void
 }
 
 void test1(int i) {
   id block = ^{ use_int(i); };
-  // CHECK:   define void @test1(
+  // CHECK-LABEL:   define void @test1(
   // CHECK:     call i8* @objc_retainBlock(i8* {{%.*}}) [[NUW]]
   // CHECK-NOT: !clang.arc.copy_on_escape
   // CHECK:     ret void
index c9ba2f615347ee6be59d7de76c453657617b9d81..4ba3f05fd9f63f4de7a64eaa8c7d310ca12a10bf 100644 (file)
@@ -7,7 +7,7 @@ void test0(id (^maker)(void)) {
 }
 
 int (^test1(int x))(void) {
-  // CHECK:    define i32 ()* @test1(
+  // CHECK-LABEL:    define i32 ()* @test1(
   // CHECK:      [[X:%.*]] = alloca i32,
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK-NEXT: store i32 {{%.*}}, i32* [[X]]
@@ -23,7 +23,7 @@ int (^test1(int x))(void) {
 }
 
 void test2(id x) {
-// CHECK:    define void @test2(
+// CHECK-LABEL:    define void @test2(
 // CHECK:      [[X:%.*]] = alloca i8*,
 // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
 // CHECK-NEXT: [[PARM:%.*]] = call i8* @objc_retain(i8* {{%.*}})
@@ -43,7 +43,7 @@ void test2(id x) {
   extern void test2_helper(id (^)(void));
   test2_helper(^{ return x; });
 
-// CHECK:    define internal void @__copy_helper_block_
+// CHECK-LABEL:    define internal void @__copy_helper_block_
 // CHECK:      [[T0:%.*]] = load i8**
 // CHECK-NEXT: [[SRC:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
 // CHECK-NEXT: [[T0:%.*]] = load i8**
@@ -53,7 +53,7 @@ void test2(id x) {
 // CHECK-NEXT: [[T2:%.*]] = call i8* @objc_retain(i8* [[T1]]) [[NUW]]
 // CHECK-NEXT: ret void
 
-// CHECK:    define internal void @__destroy_helper_block_
+// CHECK-LABEL:    define internal void @__destroy_helper_block_
 // CHECK:      [[T0:%.*]] = load i8**
 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
 // CHECK-NEXT: [[T2:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[T1]], i32 0, i32 5
@@ -66,7 +66,7 @@ void test3(void (^sink)(id*)) {
   __strong id strong;
   sink(&strong);
 
-  // CHECK:    define void @test3(
+  // CHECK-LABEL:    define void @test3(
   // CHECK:      [[SINK:%.*]] = alloca void (i8**)*
   // CHECK-NEXT: [[STRONG:%.*]] = alloca i8*
   // CHECK-NEXT: [[TEMP:%.*]] = alloca i8*
@@ -108,7 +108,7 @@ void test4(void) {
   __block id var = test4_source();
   test4_helper(^{ var = 0; });
 
-  // CHECK:    define void @test4()
+  // CHECK-LABEL:    define void @test4()
   // CHECK:      [[VAR:%.*]] = alloca [[BYREF_T:%.*]],
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* [[VAR]], i32 0, i32 2
@@ -130,7 +130,7 @@ void test4(void) {
   // CHECK-NEXT: call void @objc_release(i8* [[T0]])
   // CHECK: ret void
 
-  // CHECK:    define internal void @__Block_byref_object_copy_
+  // CHECK-LABEL:    define internal void @__Block_byref_object_copy_
   // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
   // CHECK-NEXT: load i8**
   // CHECK-NEXT: bitcast i8* {{%.*}} to [[BYREF_T]]*
@@ -139,22 +139,22 @@ void test4(void) {
   // CHECK-NEXT: store i8* [[T2]], i8** [[T0]]
   // CHECK-NEXT: store i8* null, i8** [[T1]]
 
-  // CHECK:    define internal void @__Block_byref_object_dispose_
+  // CHECK-LABEL:    define internal void @__Block_byref_object_dispose_
   // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
   // CHECK-NEXT: [[T1:%.*]] = load i8** [[T0]]
   // CHECK-NEXT: call void @objc_release(i8* [[T1]])
 
-  // CHECK:    define internal void @__test4_block_invoke
+  // CHECK-LABEL:    define internal void @__test4_block_invoke
   // CHECK:      [[SLOT:%.*]] = getelementptr inbounds {{.*}}, i32 0, i32 6
   // CHECK-NEXT: [[T0:%.*]] = load i8** [[SLOT]], align 8
   // CHECK-NEXT: store i8* null, i8** [[SLOT]],
   // CHECK-NEXT: call void @objc_release(i8* [[T0]])
   // CHECK-NEXT: ret void
 
-  // CHECK:    define internal void @__copy_helper_block_
+  // CHECK-LABEL:    define internal void @__copy_helper_block_
   // CHECK:      call void @_Block_object_assign(i8* {{%.*}}, i8* {{%.*}}, i32 8)
 
-  // CHECK:    define internal void @__destroy_helper_block_
+  // CHECK-LABEL:    define internal void @__destroy_helper_block_
   // CHECK:      call void @_Block_object_dispose(i8* {{%.*}}, i32 8)
 }
 
@@ -164,7 +164,7 @@ void test5(void) {
   __unsafe_unretained id var = test5_source();
   test5_helper(^{ (void) var; });
 
-  // CHECK:    define void @test5()
+  // CHECK-LABEL:    define void @test5()
   // CHECK:      [[VAR:%.*]] = alloca i8*
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK: [[T0:%.*]] = call i8* @test5_source()
@@ -187,7 +187,7 @@ void test6(void) {
   __block __weak id var = test6_source();
   test6_helper(^{ var = 0; });
 
-  // CHECK:    define void @test6()
+  // CHECK-LABEL:    define void @test6()
   // CHECK:      [[VAR:%.*]] = alloca [[BYREF_T:%.*]],
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* [[VAR]], i32 0, i32 2
@@ -209,27 +209,27 @@ void test6(void) {
   // CHECK-NEXT: call void @objc_destroyWeak(i8** [[SLOT]])
   // CHECK: ret void
 
-  // CHECK:    define internal void @__Block_byref_object_copy_
+  // CHECK-LABEL:    define internal void @__Block_byref_object_copy_
   // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
   // CHECK-NEXT: load i8**
   // CHECK-NEXT: bitcast i8* {{%.*}} to [[BYREF_T]]*
   // CHECK-NEXT: [[T1:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
   // CHECK-NEXT: call void @objc_moveWeak(i8** [[T0]], i8** [[T1]])
 
-  // CHECK:    define internal void @__Block_byref_object_dispose_
+  // CHECK-LABEL:    define internal void @__Block_byref_object_dispose_
   // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
   // CHECK-NEXT: call void @objc_destroyWeak(i8** [[T0]])
 
-  // CHECK:    define internal void @__test6_block_invoke
+  // CHECK-LABEL:    define internal void @__test6_block_invoke
   // CHECK:      [[SLOT:%.*]] = getelementptr inbounds {{.*}}, i32 0, i32 6
   // CHECK-NEXT: call i8* @objc_storeWeak(i8** [[SLOT]], i8* null)
   // CHECK-NEXT: ret void
 
-  // CHECK:    define internal void @__copy_helper_block_
+  // CHECK-LABEL:    define internal void @__copy_helper_block_
   // 0x8 - FIELD_IS_BYREF (no FIELD_IS_WEAK because clang in control)
   // CHECK:      call void @_Block_object_assign(i8* {{%.*}}, i8* {{%.*}}, i32 8)
 
-  // CHECK:    define internal void @__destroy_helper_block_
+  // CHECK-LABEL:    define internal void @__destroy_helper_block_
   // 0x8 - FIELD_IS_BYREF (no FIELD_IS_WEAK because clang in control)
   // CHECK:      call void @_Block_object_dispose(i8* {{%.*}}, i32 8)
 }
@@ -241,7 +241,7 @@ void test7(void) {
   __weak id var = test7_source();
   test7_helper(^{ test7_consume(var); });
 
-  // CHECK:    define void @test7()
+  // CHECK-LABEL:    define void @test7()
   // CHECK:      [[VAR:%.*]] = alloca i8*,
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK:      [[T0:%.*]] = call i8* @test7_source()
@@ -258,19 +258,19 @@ void test7(void) {
   // CHECK-NEXT: call void @objc_destroyWeak(i8** [[VAR]])
   // CHECK: ret void
 
-  // CHECK:    define internal void @__test7_block_invoke
+  // CHECK-LABEL:    define internal void @__test7_block_invoke
   // CHECK:      [[SLOT:%.*]] = getelementptr inbounds [[BLOCK_T]]* {{%.*}}, i32 0, i32 5
   // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_loadWeakRetained(i8** [[SLOT]])
   // CHECK-NEXT: call void @test7_consume(i8* [[T0]])
   // CHECK-NEXT: call void @objc_release(i8* [[T0]])
   // CHECK: ret void
 
-  // CHECK:    define internal void @__copy_helper_block_
+  // CHECK-LABEL:    define internal void @__copy_helper_block_
   // CHECK:      getelementptr
   // CHECK-NEXT: getelementptr
   // CHECK-NEXT: call void @objc_copyWeak(
 
-  // CHECK:    define internal void @__destroy_helper_block_
+  // CHECK-LABEL:    define internal void @__destroy_helper_block_
   // CHECK:      getelementptr
   // CHECK-NEXT: call void @objc_destroyWeak(
 }
@@ -311,7 +311,7 @@ id test9(void) {
       return test9_produce();
   }();
 
-// CHECK:    define i8* @test9(
+// CHECK-LABEL:    define i8* @test9(
 // CHECK:      load i8** getelementptr
 // CHECK-NEXT: bitcast i8*
 // CHECK-NEXT: call i8* 
@@ -328,7 +328,7 @@ id test9(void) {
 // when the initialization captures the variable.
 void test10a(void) {
   __block void (^block)(void) = ^{ block(); };
-  // CHECK:    define void @test10a()
+  // CHECK-LABEL:    define void @test10a()
   // CHECK:      [[BYREF:%.*]] = alloca [[BYREF_T:%.*]],
 
   // Zero-initialization before running the initializer.
@@ -362,7 +362,7 @@ void test10a(void) {
 // We can also use _Block_object_assign/destroy with
 // BLOCK_FIELD_IS_BLOCK as long as we don't pass BLOCK_BYREF_CALLER.
 
-// CHECK: define internal void @__Block_byref_object_copy
+// CHECK-LABEL: define internal void @__Block_byref_object_copy
 // CHECK:      [[D0:%.*]] = load i8** {{%.*}}
 // CHECK-NEXT: [[D1:%.*]] = bitcast i8* [[D0]] to [[BYREF_T]]*
 // CHECK-NEXT: [[D2:%.*]] = getelementptr inbounds [[BYREF_T]]* [[D1]], i32 0, i32 6
@@ -376,7 +376,7 @@ void test10a(void) {
 // CHECK-NEXT: store void ()* [[T3]], void ()** [[D2]], align 8
 // CHECK: ret void
 
-// CHECK: define internal void @__Block_byref_object_dispose
+// CHECK-LABEL: define internal void @__Block_byref_object_dispose
 // CHECK:      [[T0:%.*]] = load i8** {{%.*}}
 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* [[T0]] to [[BYREF_T]]*
 // CHECK-NEXT: [[T2:%.*]] = getelementptr inbounds [[BYREF_T]]* [[T1]], i32 0, i32 6
@@ -391,7 +391,7 @@ void test10b(void) {
   __block void (^block)(void);
   block = ^{ block(); };
 
-  // CHECK:    define void @test10b()
+  // CHECK-LABEL:    define void @test10b()
   // CHECK:      [[BYREF:%.*]] = alloca [[BYREF_T:%.*]],
 
   // Zero-initialize.
@@ -427,7 +427,7 @@ void test11a(void) {
   int x;
   test11_helper(^{ (void) x; });
 
-  // CHECK:    define void @test11a()
+  // CHECK-LABEL:    define void @test11a()
   // CHECK:      [[X:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]], align 8
   // CHECK:      [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to void ()*
@@ -444,7 +444,7 @@ void test11b(void) {
   int x;
   id b = ^{ (void) x; };
 
-  // CHECK:    define void @test11b()
+  // CHECK-LABEL:    define void @test11b()
   // CHECK:      [[X:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[B:%.*]] = alloca i8*, align 8
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]], align 8
@@ -487,7 +487,7 @@ void test13(id x) {
   void (^b)(void) = (x ? ^{test13_helper(x);} : 0);
   test13_use(b);
 
-  // CHECK:    define void @test13(
+  // CHECK-LABEL:    define void @test13(
   // CHECK:      [[X:%.*]] = alloca i8*, align 8
   // CHECK-NEXT: [[B:%.*]] = alloca void ()*, align 8
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:.*]], align 8
@@ -547,7 +547,7 @@ void test15(int a) {
 void test16() {
   void (^BLKVAR)(void) = ^{ BLKVAR(); };
 
-  // CHECK: define void @test16(
+  // CHECK-LABEL: define void @test16(
   // CHECK: [[BLKVAR:%.*]]  = alloca void ()*, align 8
   // CHECK-NEXT:  [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK-NEXT:  [[SLOTREL:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[BLOCK]], i32 0, i32 5
@@ -567,7 +567,7 @@ id (^test17(id self, int which))(void) {
   }
   return (void*) 0;
 }
-// CHECK:    define i8* ()* @test17(
+// CHECK-LABEL:    define i8* ()* @test17(
 // CHECK:      [[RET:%.*]] = alloca i8* ()*, align
 // CHECK-NEXT: [[SELF:%.*]] = alloca i8*,
 // CHECK:      [[B0:%.*]] = alloca [[BLOCK:<.*>]], align
@@ -612,7 +612,7 @@ id (^test17(id self, int which))(void) {
 // CHECK-NEXT: br label
 
 void test18(id x) {
-// CHECK-UNOPT:    define void @test18(
+// CHECK-UNOPT-LABEL:    define void @test18(
 // CHECK-UNOPT:      [[X:%.*]] = alloca i8*,
 // CHECK-UNOPT-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
 // CHECK-UNOPT-NEXT: store i8* null, i8** [[X]]
@@ -630,7 +630,7 @@ void test18(id x) {
   extern void test18_helper(id (^)(void));
   test18_helper(^{ return x; });
 
-// CHECK-UNOPT:    define internal void @__copy_helper_block_
+// CHECK-UNOPT-LABEL:    define internal void @__copy_helper_block_
 // CHECK-UNOPT:      [[T0:%.*]] = load i8**
 // CHECK-UNOPT-NEXT: [[SRC:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
 // CHECK-UNOPT-NEXT: [[T0:%.*]] = load i8**
@@ -642,7 +642,7 @@ void test18(id x) {
 // CHECK-UNOPT-NEXT: call void @objc_storeStrong(i8** [[T1]], i8* [[T2]]) [[NUW]]
 // CHECK-UNOPT-NEXT: ret void
 
-// CHECK-UNOPT:    define internal void @__destroy_helper_block_
+// CHECK-UNOPT-LABEL:    define internal void @__destroy_helper_block_
 // CHECK-UNOPT:      [[T0:%.*]] = load i8**
 // CHECK-UNOPT-NEXT: [[T1:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
 // CHECK-UNOPT-NEXT: [[T2:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[T1]], i32 0, i32 5
@@ -653,7 +653,7 @@ void test18(id x) {
 // rdar://13588325
 void test19_sink(void (^)(int));
 void test19(void (^b)(void)) {
-// CHECK:    define void @test19(
+// CHECK-LABEL:    define void @test19(
 //   Prologue.
 // CHECK:      [[B:%.*]] = alloca void ()*,
 // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
index eb9045d3d8404ad71c7a869534b0baf6111c639e..cdfe1dbfc55fedb40fde1293eb95dc5fdce2b462 100644 (file)
@@ -14,7 +14,7 @@ CFStringRef CFGetString(void);
 id CreateSomething(void);
 NSString *CreateNSString(void);
 
-// CHECK: define void @bridge_transfer_from_cf
+// CHECK-LABEL: define void @bridge_transfer_from_cf
 void bridge_transfer_from_cf(int *i) {
   // CHECK: store i32 7
   *i = 7;
@@ -34,7 +34,7 @@ void bridge_transfer_from_cf(int *i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @bridge_from_cf
+// CHECK-LABEL: define void @bridge_from_cf
 void bridge_from_cf(int *i) {
   // CHECK: store i32 7
   *i = 7;
@@ -53,7 +53,7 @@ void bridge_from_cf(int *i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @bridge_retained_of_cf
+// CHECK-LABEL: define void @bridge_retained_of_cf
 void bridge_retained_of_cf(int *i) {
   *i = 7;
   // CHECK: call i8* @CreateSomething()
@@ -70,7 +70,7 @@ void bridge_retained_of_cf(int *i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @bridge_of_cf
+// CHECK-LABEL: define void @bridge_of_cf
 void bridge_of_cf(int *i) {
   // CHECK: store i32 7
   *i = 7;
index aa3d2f3640ca131b0d731d49b753bb0b75958525..dafffd81f506bedf5f388d3cf58226e2ee9de342 100644 (file)
@@ -11,7 +11,7 @@ void test0(void) {
   } @catch (Ety *e) {
   }
 }
-// CHECK: define void @test0()
+// CHECK-LABEL: define void @test0()
 // CHECK:      [[E:%.*]] = alloca [[ETY:%.*]]*, align 8
 // CHECK-NEXT: invoke void @test0_helper()
 // CHECK:      [[T0:%.*]] = call i8* @objc_begin_catch(
@@ -31,7 +31,7 @@ void test1(void) {
   } @catch (__weak Ety *e) {
   }
 }
-// CHECK: define void @test1()
+// CHECK-LABEL: define void @test1()
 // CHECK:      [[E:%.*]] = alloca [[ETY:%.*]]*, align 8
 // CHECK-NEXT: invoke void @test1_helper()
 // CHECK:      [[T0:%.*]] = call i8* @objc_begin_catch(
index 4bf4f85bd3eef50f7e67d6f24727b35faea41c17..ea4da657cedabee7865d2bc7f2d57ecb8cc3fd85 100644 (file)
@@ -22,7 +22,7 @@ void test0(NSArray *array) {
   }
 }
 
-// CHECK-LP64:    define void @test0(
+// CHECK-LP64-LABEL:    define void @test0(
 // CHECK-LP64:      [[ARRAY:%.*]] = alloca [[ARRAY_T:%.*]]*,
 // CHECK-LP64-NEXT: [[X:%.*]] = alloca i8*,
 // CHECK-LP64-NEXT: [[STATE:%.*]] = alloca [[STATE_T:%.*]],
@@ -82,7 +82,7 @@ void test0(NSArray *array) {
 // CHECK-LP64-NEXT: call void @objc_storeStrong(i8** [[T0]], i8* null)
 // CHECK-LP64-NEXT: ret void
 
-// CHECK-LP64:    define internal void @__test0_block_invoke
+// CHECK-LP64-LABEL:    define internal void @__test0_block_invoke
 // CHECK-LP64:      [[BLOCK:%.*]] = bitcast i8* {{%.*}} to [[BLOCK_T]]*
 // CHECK-LP64-NOT:  ret
 // CHECK-LP64:      [[T0:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[BLOCK]], i32 0, i32 5
@@ -95,7 +95,7 @@ void test1(NSArray *array) {
   }
 }
 
-// CHECK-LP64:    define void @test1(
+// CHECK-LP64-LABEL:    define void @test1(
 // CHECK-LP64:      alloca [[ARRAY_T:%.*]]*,
 // CHECK-LP64-NEXT: [[X:%.*]] = alloca i8*,
 // CHECK-LP64-NEXT: [[STATE:%.*]] = alloca [[STATE_T:%.*]],
@@ -128,7 +128,7 @@ void test2(Test2 *a) {
   }
 }
 
-// CHECK-LP64:    define void @test2(
+// CHECK-LP64-LABEL:    define void @test2(
 // CHECK-LP64:      [[T0:%.*]] = call [[ARRAY_T]]* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to [[ARRAY_T]]* (i8*, i8*)*)(
 // CHECK-LP64-NEXT: [[T1:%.*]] = bitcast [[ARRAY_T]]* [[T0]] to i8*
 // CHECK-LP64-NEXT: [[T2:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T1]])
@@ -160,7 +160,7 @@ void test3(NSArray *array) {
     use(x);
   }
 
-  // CHECK-LP64:    define void @test3(
+  // CHECK-LP64-LABEL:    define void @test3(
   // CHECK-LP64:      [[ARRAY:%.*]] = alloca [[ARRAY_T]]*, align 8
   // CHECK-LP64-NEXT: [[X:%.*]] = alloca i8*, align 8
   // CHECK-LP64:      [[T0:%.*]] = load i8** [[X]], align 8
index 78c5d9d23721832f391831561bf7722b5c03a802..19a5516dc7ca48e5f38a6af6ddf70b1253ea1f53 100644 (file)
@@ -12,7 +12,7 @@
 // CHECK: c"dictionaryWithObjects:forKeys:count:\00"
 // CHECK: c"prop\00"
 
-// CHECK: define void @test_numeric()
+// CHECK-LABEL: define void @test_numeric()
 void test_numeric() {
   // CHECK: {{call.*objc_msgSend.*i32 17}}
   // CHECK: call i8* @objc_retainAutoreleasedReturnValue
@@ -33,7 +33,7 @@ void test_numeric() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @test_array
+// CHECK-LABEL: define void @test_array
 void test_array(id a, id b) {
   // CHECK: [[A:%.*]] = alloca i8*,
   // CHECK: [[B:%.*]] = alloca i8*,
@@ -65,7 +65,7 @@ void test_array(id a, id b) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @test_dictionary
+// CHECK-LABEL: define void @test_dictionary
 void test_dictionary(id k1, id o1, id k2, id o2) {
   // CHECK: [[K1:%.*]] = alloca i8*,
   // CHECK: [[O1:%.*]] = alloca i8*,
@@ -119,7 +119,7 @@ void test_dictionary(id k1, id o1, id k2, id o2) {
 @property (retain) A* prop;
 @end
 
-// CHECK: define void @test_property
+// CHECK-LABEL: define void @test_property
 void test_property(B *b) {
   // Retain parameter
   // CHECK: call i8* @objc_retain
index 00d25fac0db92b2a580a56f3c53ace43a427642c..a84719d606dee31a374a601c99e848853029e0ff 100644 (file)
@@ -42,7 +42,7 @@ void test1(int cond) {
   test34_sink(cond ? &weak : 0);
 }
 
-// CHECK: define void @test1(
+// CHECK-LABEL: define void @test1(
 // CHECK: [[CONDADDR:%.*]] = alloca i32
 // CHECK-NEXT: [[WEAK:%.*]] = alloca i8*
 // CHECK-NEXT: [[INCRTEMP:%.*]] = alloca i8*
index 008c848987e107f90f2cd9176bda718b7d3f34fd..79043544fd4a70b09025ecf5fbc1987ccb2aa149 100644 (file)
@@ -8,10 +8,10 @@
 void thrower(void);
 void not(void) __attribute__((nothrow));
 
-// CHECK: define void @test0(
+// CHECK-LABEL: define void @test0(
 // CHECK: call void @thrower(), !clang.arc.no_objc_arc_exceptions !
 // CHECK: call void @not() [[NUW:#[0-9]+]], !clang.arc.no_objc_arc_exceptions !
-// NO-METADATA: define void @test0(
+// NO-METADATA-LABEL: define void @test0(
 // NO-METADATA-NOT: !clang.arc.no_objc_arc_exceptions
 // NO-METADATA: }
 void test0(void) {
@@ -19,10 +19,10 @@ void test0(void) {
   not();
 }
 
-// CHECK: define void @test1(
+// CHECK-LABEL: define void @test1(
 // CHECK: call void @thrower(), !clang.arc.no_objc_arc_exceptions !
 // CHECK: call void @not() [[NUW]], !clang.arc.no_objc_arc_exceptions !
-// NO-METADATA: define void @test1(
+// NO-METADATA-LABEL: define void @test1(
 // NO-METADATA-NOT: !clang.arc.no_objc_arc_exceptions
 // NO-METADATA: }
 void test1(id x) {
@@ -33,10 +33,10 @@ void test1(id x) {
 
 void NSLog(id, ...);
 
-// CHECK: define void @test2(
+// CHECK-LABEL: define void @test2(
 // CHECK: invoke void (i8*, ...)* @NSLog(i8* bitcast (%struct.NSConstantString* @_unnamed_cfstring_ to i8*), i32* %{{.*}})
 // CHECK:   to label %{{.*}} unwind label %{{.*}}, !clang.arc.no_objc_arc_exceptions !
-// NO-METADATA: define void @test2(
+// NO-METADATA-LABEL: define void @test2(
 // NO-METADATA-NOT: !clang.arc.no_objc_arc_exceptions
 // NO-METADATA: }
 void test2(void) {
@@ -46,10 +46,10 @@ void test2(void) {
     }
 }
 
-// CHECK: define void @test3(
+// CHECK-LABEL: define void @test3(
 // CHECK: invoke void %{{.*}}(i8* %{{.*}})
 // CHECK:   to label %{{.*}} unwind label %{{.*}}, !clang.arc.no_objc_arc_exceptions !
-// NO-METADATA: define void @test3(
+// NO-METADATA-LABEL: define void @test3(
 // NO-METADATA-NOT: !clang.arc.no_objc_arc_exceptions
 // NO-METADATA: }
 void test3(void) {
@@ -61,10 +61,10 @@ void test3(void) {
     }
 }
 
-// CHECK: define void @test4(
+// CHECK-LABEL: define void @test4(
 // CHECK: invoke void %{{.*}}(i8* %{{.*}})
 // CHECK:   to label %{{.*}} unwind label %{{.*}}, !clang.arc.no_objc_arc_exceptions !
-// NO-METADATA: define void @test4(
+// NO-METADATA-LABEL: define void @test4(
 // NO-METADATA-NOT: !clang.arc.no_objc_arc_exceptions
 // NO-METADATA: }
 void test4(void) {
index 595a4f9fdf26dc2d7c7b5adee7506cd0cd74b203..cb809a2b78146a9dba8de90f26baf0ce0d752b58 100644 (file)
@@ -29,7 +29,7 @@ void test0() {
 @end
 extern Test1 *test1_helper(void);
 
-// CHECK: define void @test1a()
+// CHECK-LABEL: define void @test1a()
 void test1a(void) {
   // CHECK:      [[T0:%.*]] = call [[TEST1:%.*]]* @test1_helper()
   // CHECK-NEXT: [[T1:%.*]] = bitcast [[TEST1]]* [[T0]] to i8*
@@ -52,7 +52,7 @@ void test1a(void) {
   char *c = [(ptr) interior];
 }
 
-// CHECK: define void @test1b()
+// CHECK-LABEL: define void @test1b()
 void test1b(void) {
   // CHECK:      [[T0:%.*]] = call [[TEST1:%.*]]* @test1_helper()
   // CHECK-NEXT: [[T1:%.*]] = bitcast [[TEST1]]* [[T0]] to i8*
@@ -78,7 +78,7 @@ void test1b(void) {
   id ivar;
 }
 @end
-// CHECK:      define void @test2(
+// CHECK-LABEL:      define void @test2(
 void test2(Test2 *x) {
   x->ivar = 0;
   // CHECK:      [[X:%.*]] = alloca [[TEST2:%.*]]*
@@ -104,7 +104,7 @@ void test2(Test2 *x) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK:      define void @test3(i8*
+// CHECK-LABEL:      define void @test3(i8*
 void test3(PRECISE_LIFETIME id x) {
   // CHECK:      [[X:%.*]] = alloca i8*,
   // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_retain(i8* {{%.*}}) [[NUW]]
index dde02d7dd710b62ba3b74bab6fe925a24eb5d0ee..c3c7e2bc11ece95c1de2066cf344c872f179062d 100644 (file)
@@ -7,7 +7,7 @@
 void test0(Test0 *t0, id value) {
   t0.value = value;
 }
-// CHECK: define void @test0(
+// CHECK-LABEL: define void @test0(
 // CHECK: call void @objc_storeStrong
 // CHECK: call void @objc_storeStrong
 // CHECK: @objc_msgSend
index e8b97012cdcc2b20255609617fc056c75784bd20..72d287187920a7a94852411d0d3c8fd641d44057 100644 (file)
@@ -6,7 +6,7 @@
 void test0(Test0 *val) {
   Test0 *x = [val self];
 
-// CHECK:    define void @test0(
+// CHECK-LABEL:    define void @test0(
 // CHECK:      [[VAL:%.*]] = alloca [[TEST0:%.*]]*
 // CHECK-NEXT: [[X:%.*]] = alloca [[TEST0]]*
 // CHECK-NEXT: store [[TEST0]]* null
index f70e8864a04747bc65f153cc536563a1d24b0c9f..217db80194175fbec8136685aec3529fa9337901 100644 (file)
@@ -3,7 +3,7 @@
 void test0(_Bool cond) {
   id test0_helper(void) __attribute__((ns_returns_retained));
 
-  // CHECK:      define void @test0(
+  // CHECK-LABEL:      define void @test0(
   // CHECK:      [[COND:%.*]] = alloca i8,
   // CHECK-NEXT: [[X:%.*]] = alloca i8*,
   // CHECK-NEXT: [[RELVAL:%.*]] = alloca i8*
@@ -40,7 +40,7 @@ void test1(int cond) {
   test1_sink(cond ? &strong : 0);
   test1_sink(cond ? &weak : 0);
 
-  // CHECK:    define void @test1(
+  // CHECK-LABEL:    define void @test1(
   // CHECK:      [[COND:%.*]] = alloca i32
   // CHECK-NEXT: [[STRONG:%.*]] = alloca i8*
   // CHECK-NEXT: [[WEAK:%.*]] = alloca i8*
@@ -106,7 +106,7 @@ void test2(int cond) {
   for (id obj in cond ? test2_producer() : (void*) 0) {
   }
 
-  // CHECK:    define void @test2(
+  // CHECK-LABEL:    define void @test2(
   // CHECK:      [[COND:%.*]] = alloca i32,
   // CHECK:      alloca i8*
   // CHECK:      [[CLEANUP_SAVE:%.*]] = alloca i8*
index 84f5d34b196ef687bd2d7440c75b5d20ae7a81d3..c0e67dfd3b0f8c685b7c322d0eb6a07810ee7134 100644 (file)
@@ -55,7 +55,7 @@ void test5(void) {
   if ((x = y))
     y = 0;
 
-// CHECK:    define void @test5()
+// CHECK-LABEL:    define void @test5()
 // CHECK:      [[X:%.*]] = alloca [[TEST5:%.*]]*,
 // CHECK-NEXT: [[Y:%.*]] = alloca [[TEST5:%.*]]*,
 // CHECK-NEXT: store [[TEST5]]* null, [[TEST5]]** [[X]],
index d3189e15d3d197d44c4ae5ae544f670f932710bc..4a30c6af7f1c6697e5e1015e9e0c43723d76b74d 100644 (file)
@@ -3,7 +3,7 @@
 
 void test19() {
    __block id x;
-// CHECK-UNOPT: define internal void @__Block_byref_object_copy
+// CHECK-UNOPT-LABEL: define internal void @__Block_byref_object_copy
 // CHECK-UNOPT: [[X:%.*]] = getelementptr inbounds [[BYREF_T:%.*]]* [[VAR:%.*]], i32 0, i32 6
 // CHECK-UNOPT: [[X2:%.*]] = getelementptr inbounds [[BYREF_T:%.*]]* [[VAR1:%.*]], i32 0, i32 6
 // CHECK-UNOPT-NEXT: [[SIX:%.*]] = load i8** [[X2]], align 8
index 257037679af05fd578507cd92cecd8979980ff92..e5295159ce5e95f36b8af1329ec0f4eae072cfcf 100644 (file)
@@ -9,7 +9,7 @@ void test() {
 
 // TODO: We should probably emit this specific pattern without the reclaim.
 
-// CHECK:    define void @test()
+// CHECK-LABEL:    define void @test()
 // CHECK:      [[T0:%.*]] = call i8* @make()
 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
 // CHECK-NEXT: [[T2:%.*]] = call i8* @objc_autorelease(i8* [[T1]])
index 21ff43128cc9880a124a42d5a09d39ee27c48dfc..00cdb6fcc529824c633bc1fbdb9a2342cfbb38d1 100644 (file)
@@ -32,7 +32,7 @@
 // ARC-NATIVE: declare i8* @objc_autorelease(i8*)
 // ARC-NATIVE: declare i8* @objc_retainAutorelease(i8*)
 
-// CHECK: define void @test0
+// CHECK-LABEL: define void @test0
 void test0(id x) {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[PARM:%.*]] = call i8* @objc_retain(i8* {{.*}})
@@ -42,7 +42,7 @@ void test0(id x) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define i8* @test1(i8*
+// CHECK-LABEL: define i8* @test1(i8*
 id test1(id x) {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[Y:%.*]] = alloca i8*
@@ -94,7 +94,7 @@ id test1(id x) {
 - (id) copy;
 @end
 
-// CHECK: define void @test3_unelided()
+// CHECK-LABEL: define void @test3_unelided()
 void test3_unelided() {
   extern void test3_helper(void);
 
@@ -125,7 +125,7 @@ void test3_unelided() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @test3()
+// CHECK-LABEL: define void @test3()
 void test3() {
   // CHECK:      [[X:%.*]] = alloca i8*
 
@@ -166,7 +166,7 @@ void test3() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define i8* @test4()
+// CHECK-LABEL: define i8* @test4()
 id test4() {
   // Call to +alloc.
   // CHECK:      load {{.*}}* @"\01L_OBJC_CLASSLIST_REFERENCES_
@@ -197,7 +197,7 @@ id test4() {
 }
 @end
 
-// CHECK: define void @test5
+// CHECK-LABEL: define void @test5
 void test5(Test5 *x, id y) {
   // Prologue.
   // CHECK:      [[X:%.*]] = alloca [[TEST5:%.*]]*,
@@ -241,7 +241,7 @@ void test5(Test5 *x, id y) {
 }
 
 id test6_helper(void) __attribute__((ns_returns_retained));
-// CHECK: define void @test6()
+// CHECK-LABEL: define void @test6()
 void test6() {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[CALL:%.*]] = call i8* @test6_helper()
@@ -253,7 +253,7 @@ void test6() {
 }
 
 void test7_helper(id __attribute__((ns_consumed)));
-// CHECK: define void @test7()
+// CHECK-LABEL: define void @test7()
 void test7() {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: store i8* null, i8** [[X]]
@@ -284,7 +284,7 @@ void test10() {
   Test10 *x;
   id y = x.me.me;
 
-  // CHECK:      define void @test10()
+  // CHECK-LABEL:      define void @test10()
   // CHECK:      [[X:%.*]] = alloca [[TEST10:%.*]]*, align
   // CHECK-NEXT: [[Y:%.*]] = alloca i8*, align
   // CHECK-NEXT: store [[TEST10]]* null, [[TEST10]]** [[X]]
@@ -314,7 +314,7 @@ void test10() {
 }
 
 void test11(id (*f)(void) __attribute__((ns_returns_retained))) {
-  // CHECK:      define void @test11(
+  // CHECK-LABEL:      define void @test11(
   // CHECK:      [[F:%.*]] = alloca i8* ()*, align
   // CHECK-NEXT: [[X:%.*]] = alloca i8*, align
   // CHECK-NEXT: store i8* ()* {{%.*}}, i8* ()** [[F]], align
@@ -330,7 +330,7 @@ void test11(id (*f)(void) __attribute__((ns_returns_retained))) {
 void test12(void) {
   extern id test12_helper(void);
 
-  // CHECK:      define void @test12()
+  // CHECK-LABEL:      define void @test12()
   // CHECK:      [[X:%.*]] = alloca i8*, align
   // CHECK-NEXT: [[Y:%.*]] = alloca i8*, align
 
@@ -358,7 +358,7 @@ void test12(void) {
 
 // Indirect consuming calls.
 void test13(void) {
-  // CHECK:      define void @test13()
+  // CHECK-LABEL:      define void @test13()
   // CHECK:      [[X:%.*]] = alloca i8*, align
   // CHECK-NEXT: store i8* null, i8** [[X]], align
   id x;
@@ -458,7 +458,7 @@ void test13(void) {
 @end
 
 void test19() {
-  // CHECK: define void @test19()
+  // CHECK-LABEL: define void @test19()
   // CHECK:      [[X:%.*]] = alloca [5 x i8*], align 16
   // CHECK: call void @llvm.lifetime.start
   // CHECK-NEXT: [[T0:%.*]] = bitcast [5 x i8*]* [[X]] to i8*
@@ -490,7 +490,7 @@ void test19() {
 }
 
 void test20(unsigned n) {
-  // CHECK: define void @test20
+  // CHECK-LABEL: define void @test20
   // CHECK:      [[N:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[SAVED_STACK:%.*]] = alloca i8*
   // CHECK-NEXT: store i32 {{%.*}}, i32* [[N]], align 4
@@ -531,7 +531,7 @@ void test20(unsigned n) {
 }
 
 void test21(unsigned n) {
-  // CHECK: define void @test21
+  // CHECK-LABEL: define void @test21
   // CHECK:      [[N:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[SAVED_STACK:%.*]] = alloca i8*
   // CHECK-NEXT: store i32 {{%.*}}, i32* [[N]], align 4
@@ -829,7 +829,7 @@ char *helper;
 @end
 
 __attribute__((ns_returns_retained)) id test32(void) {
-// CHECK:    define i8* @test32()
+// CHECK-LABEL:    define i8* @test32()
 // CHECK:      [[CALL:%.*]] = call i8* @test32_helper()
 // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[CALL]])
 // CHECK-NEXT: ret i8* [[T0]]
@@ -932,7 +932,7 @@ void test33(Test33 *ptr) {
 }
 
 
-// CHECK: define void @test36
+// CHECK-LABEL: define void @test36
 void test36(id x) {
   // CHECK: [[X:%.*]] = alloca i8*
 
@@ -960,7 +960,7 @@ void test37(void) {
   Test37 *var;
   test37_helper(&var);
 
-  // CHECK:    define void @test37()
+  // CHECK-LABEL:    define void @test37()
   // CHECK:      [[VAR:%.*]] = alloca [[TEST37:%.*]]*,
   // CHECK-NEXT: [[TEMP:%.*]] = alloca i8*
   // CHECK-NEXT: store [[TEST37]]* null, [[TEST37]]** [[VAR]]
@@ -1037,7 +1037,7 @@ void test47(void) {
   extern id test47_helper(void);
   id x = x = test47_helper();
 
-  // CHECK:    define void @test47()
+  // CHECK-LABEL:    define void @test47()
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: store i8* null, i8** [[X]]
   // CHECK-NEXT: [[CALL:%.*]] = call i8* @test47_helper()
@@ -1057,7 +1057,7 @@ void test47(void) {
 void test48(void) {
   extern id test48_helper(void);
   __weak id x = x = test48_helper();
-  // CHECK:    define void @test48()
+  // CHECK-LABEL:    define void @test48()
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_initWeak(i8** [[X]], i8* null)
   // CHECK-NEXT: [[T1:%.*]] = call i8* @test48_helper()
@@ -1072,7 +1072,7 @@ void test48(void) {
 void test49(void) {
   extern id test49_helper(void);
   __autoreleasing id x = x = test49_helper();
-  // CHECK:    define void @test49()
+  // CHECK-LABEL:    define void @test49()
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: store i8* null, i8** [[X]]
   // CHECK-NEXT: [[CALL:%.*]] = call i8* @test49_helper()
@@ -1113,7 +1113,7 @@ id test52(void) {
   id test52_helper(int) __attribute__((ns_returns_retained));
   return ({ int x = 5; test52_helper(x); });
 
-// CHECK:    define i8* @test52()
+// CHECK-LABEL:    define i8* @test52()
 // CHECK:      [[X:%.*]] = alloca i32
 // CHECK-NEXT: [[TMPALLOCA:%.*]] = alloca i8*
 // CHECK-NEXT: store i32 5, i32* [[X]],
@@ -1130,7 +1130,7 @@ void test53(void) {
   id test53_helper(void);
   id x = ({ id y = test53_helper(); y; });
   (void) x;
-// CHECK:    define void @test53()
+// CHECK-LABEL:    define void @test53()
 // CHECK:      [[X:%.*]] = alloca i8*,
 // CHECK-NEXT: [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: [[TMPALLOCA:%.*]] = alloca i8*,
@@ -1151,7 +1151,7 @@ void test53(void) {
 }
 
 // <rdar://problem/9758798>
-// CHECK: define void @test54(i32 %first, ...)
+// CHECK-LABEL: define void @test54(i32 %first, ...)
 void test54(int first, ...) {
   __builtin_va_list arglist;
   // CHECK: call void @llvm.va_start
@@ -1191,7 +1191,7 @@ void test54(int first, ...) {
 @end
 void test56_test(void) {
   id x = [Test56 make];
-  // CHECK: define void @test56_test()
+  // CHECK-LABEL: define void @test56_test()
   // CHECK:      [[X:%.*]] = alloca i8*, align 8
   // CHECK:      [[T0:%.*]] = call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(
   // CHECK-NEXT: store i8* [[T0]], i8** [[X]]
@@ -1245,7 +1245,7 @@ void test59(void) {
     test59_body();
   }
 
-  // CHECK:    define void @test59()
+  // CHECK-LABEL:    define void @test59()
   // CHECK:      [[T0:%.*]] = call i8* @test59_getlock()
   // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
   // CHECK-NEXT: call i32 @objc_sync_enter(i8* [[T1]])
@@ -1263,7 +1263,7 @@ void test59(void) {
 - (id) test61_id;
 @end
 void test61(void) {
-  // CHECK:    define void @test61()
+  // CHECK-LABEL:    define void @test61()
   // CHECK:      [[Y:%.*]] = alloca i8*, align 8
 
   extern id test61_make(void);
@@ -1293,7 +1293,7 @@ void test61(void) {
 
 // rdar://problem/9891815
 void test62(void) {
-  // CHECK:    define void @test62()
+  // CHECK-LABEL:    define void @test62()
   // CHECK:      [[I:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[CLEANUP_VALUE:%.*]] = alloca i8*
   // CHECK-NEXT: [[CLEANUP_REQUIRED:%.*]] = alloca i1
@@ -1365,7 +1365,7 @@ void test66(void) {
   extern id test66_arg(void);
   [test66_receiver() consume: test66_arg()];
 }
-// CHECK:    define void @test66()
+// CHECK-LABEL:    define void @test66()
 // CHECK:      [[T0:%.*]] = call [[TEST66:%.*]]* @test66_receiver()
 // CHECK-NEXT: [[T1:%.*]] = bitcast [[TEST66]]* [[T0]] to i8*
 // CHECK-NEXT: [[T2:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T1]])
@@ -1389,7 +1389,7 @@ Class test67_helper(void);
 void test67(void) {
   Class cl = test67_helper();
 }
-// CHECK:    define void @test67()
+// CHECK-LABEL:    define void @test67()
 // CHECK:      [[CL:%.*]] = alloca i8*, align 8
 // CHECK-NEXT: [[T0:%.*]] = call i8* @test67_helper()
 // CHECK-NEXT: store i8* [[T0]], i8** [[CL]], align 8
@@ -1399,7 +1399,7 @@ Class test68_helper(void);
 void test68(void) {
   __strong Class cl = test67_helper();
 }
-// CHECK:    define void @test68()
+// CHECK-LABEL:    define void @test68()
 // CHECK:      [[CL:%.*]] = alloca i8*, align 8
 // CHECK-NEXT: [[T0:%.*]] = call i8* @test67_helper()
 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
@@ -1421,7 +1421,7 @@ void test68(void) {
 
 // rdar://problem/10907547
 void test70(id i) {
-  // CHECK: define void @test70
+  // CHECK-LABEL: define void @test70
   // CHECK: store i8* null, i8**
   // CHECK: store i8* null, i8**
   // CHECK: [[ID:%.*]] = call i8* @objc_retain(i8*
index bdc99c635835753ffcdfd347813230b4f32a98c7..7d0c06f7435341b15c111bf0b1260737db014748 100644 (file)
@@ -12,7 +12,7 @@ struct s0 {
 
 // Check that we get exactly the message sends we expect, and no more.
 //
-// CHECK: define void @f0
+// CHECK-LABEL: define void @f0
 void f0(C0 *a) {
 // CHECK: objc_msgSend
   int l0 = (a.x0 = 1);
index f89b81a8acb9d8b6ebd958df19211450820bae78..4b8101720123de8c5ce7b3d6740c1b7816114e95 100644 (file)
@@ -39,7 +39,7 @@ int tryTo(int (*f)(void)) {
     return 0;
   }
 }
-// CHECK:    define i32 @tryTo(i32 ()*
+// CHECK-LABEL:    define i32 @tryTo(i32 ()*
 // CHECK:      [[RET:%.*]] = alloca i32,
 // CHECK:      [[T0:%.*]] = call i8* @objc_autoreleasePoolPush()
 // CHECK-NEXT: [[T1:%.*]] = load i32 ()** {{%.*}},
index 597fe35679421e75bc703cd32ec4a7ccc354246f..2b8039df9ec1368810f2ad4e16945242bb1ae46c 100644 (file)
@@ -14,7 +14,7 @@
 // Check that we don't try to use an i32 load here, which would reach beyond the
 // end of the structure.
 //
-// CHECK-I386: define i32 @f0(
+// CHECK-I386-LABEL: define i32 @f0(
 // CHECK-I386:   [[t0_0:%.*]] = load i8* {{.*}}, align 1
 // CHECK-I386:   lshr i8 [[t0_0]], 7
 // CHECK-I386: }
@@ -24,7 +24,7 @@ int f0(I0 *a) {
 
 // Check that we can handled straddled loads.
 //
-// CHECK-ARM: define i32 @f1(
+// CHECK-ARM-LABEL: define i32 @f1(
 // CHECK-ARM:    [[t1_ptr:%.*]] = getelementptr
 // CHECK-ARM:    [[t1_base:%.*]] = bitcast i8* [[t1_ptr]] to i40*
 // CHECK-ARM:    [[t1_0:%.*]] = load i40* [[t1_base]], align 1
index 57b9ea3fa6eacf8f54f322e45cfbeabb10b6abb8..b04b1893191c1402615a87010af13f5e2c2514a7 100644 (file)
@@ -2,7 +2,7 @@
 // rdar://8893785
 
 void MYFUNC() {
-// CHECK:    define void @MYFUNC()
+// CHECK-LABEL:    define void @MYFUNC()
 // CHECK:      [[OBSERVER_SLOT:%.*]] = alloca [[OBSERVER_T:%.*]], align 8
 
 // CHECK:      [[T0:%.*]] = getelementptr inbounds [[OBSERVER_T]]* [[OBSERVER_SLOT]], i32 0, i32 1
index d872e17051bdf57e4c209d489a5932047dbc96d0..5245679dd42db4cadb8b1e05c71528781fc990bf 100644 (file)
@@ -43,7 +43,7 @@ void foo(T *P) {
 @interface Test2 -(void) destroy; @end
 void test2(Test2 *x) {
   extern void test2_helper(void (^)(void));
-  // CHECK:    define void @test2(
+  // CHECK-LABEL:    define void @test2(
   // CHECK:      [[X:%.*]] = alloca [[TEST2:%.*]]*,
   // CHECK-NEXT: [[WEAKX:%.*]] = alloca [[WEAK_T:%.*]],
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
@@ -91,7 +91,7 @@ void test2(Test2 *x) {
 // rdar://problem/9124263
 // In the test above, check that the use in the invocation function
 // doesn't require a read barrier.
-// CHECK:    define internal void @__test2_block_invoke
+// CHECK-LABEL:    define internal void @__test2_block_invoke
 // CHECK:      [[BLOCK:%.*]] = bitcast i8* {{%.*}} to [[BLOCK_T]]*
 // CHECK-NOT:  bitcast
 // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[BLOCK]], i32 0, i32 5
@@ -107,7 +107,7 @@ void test2(Test2 *x) {
 void test3(void (^block)(int, ...)) {
   block(0, 1, 2, 3);
 }
-// CHECK:    define void @test3(
+// CHECK-LABEL:    define void @test3(
 // CHECK:      [[BLOCK:%.*]] = alloca void (i32, ...)*, align 4
 // CHECK-NEXT: store void (i32, ...)*
 // CHECK-NEXT: [[T0:%.*]] = load void (i32, ...)** [[BLOCK]], align 4
@@ -122,7 +122,7 @@ void test3(void (^block)(int, ...)) {
 void test4(void (^block)()) {
   block(0, 1, 2, 3);
 }
-// CHECK:    define void @test4(
+// CHECK-LABEL:    define void @test4(
 // CHECK:      [[BLOCK:%.*]] = alloca void (...)*, align 4
 // CHECK-NEXT: store void (...)*
 // CHECK-NEXT: [[T0:%.*]] = load void (...)** [[BLOCK]], align 4
index 0c5744805e6db70f596870276b2a0610cebae4a3..37d8c7a3e95dc61eaf5391773d8818962a9df0d8 100644 (file)
@@ -3,5 +3,5 @@
 void test0(id receiver, SEL sel, const char *str) {
   short s = ((short (*)(id, SEL, const char*)) objc_msgSend)(receiver, sel, str);
 }
-// CHECK: define void @test0(
+// CHECK-LABEL: define void @test0(
 // CHECK:   call signext i16 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i16 (i8*, i8*, i8*)*)(
index 1f389269983913536731e60a0f05e3f7076f14fe..212a1eedd45f2fcc8115d6f8094599b8ea61037c 100644 (file)
@@ -26,6 +26,6 @@ void test2(void) {
     test2_helper();
   }
 
-  // CHECK: define void @test2()
+  // CHECK-LABEL: define void @test2()
   // CHECK-NOT: call void @test2_helper()
 }
index 408b94d385faa531582c5128fef6cb8b914ce696..92f68292fff0744b55e6969a95ec25a32f0fe88c 100644 (file)
@@ -14,7 +14,7 @@ void f0() {
   }
 }
 
-// CHECK: define void @f1()
+// CHECK-LABEL: define void @f1()
 void f1() {
   extern void foo(void);
 
@@ -40,7 +40,7 @@ void f1() {
 // Test that modifications to local variables are respected under
 // optimization.  rdar://problem/8160285
 
-// CHECK: define i32 @f2()
+// CHECK-LABEL: define i32 @f2()
 int f2() {
   extern void foo(void);
 
@@ -77,7 +77,7 @@ int f2() {
 
 // Test that the cleanup destination is saved when entering a finally
 // block.  rdar://problem/8293901
-// CHECK: define void @f3()
+// CHECK-LABEL: define void @f3()
 void f3() {
   extern void f3_helper(int, int*);
 
@@ -130,7 +130,7 @@ void f3() {
 void f4() {
   extern void f4_help(int);
 
-  // CHECK: define void @f4()
+  // CHECK-LABEL: define void @f4()
   // CHECK:      [[EXNDATA:%.*]] = alloca [[EXNDATA_T:%.*]], align
   // CHECK:      call void @objc_exception_try_enter([[EXNDATA_T]]* [[EXNDATA]])
   // CHECK:      call i32 @_setjmp
index 2e65332ec974369c015743480048bd64aa9acd40..5f7c76d6cdd8d30ea7c9d5f47276b291006df4e0 100644 (file)
 @end
 
 
-// CHECK-X86_32: define void @t0()
+// CHECK-X86_32-LABEL: define void @t0()
 // CHECK-X86_32: call void bitcast {{.*}} @objc_msgSend_stret to
 // CHECK-X86_32: }
 //
-// CHECK-X86_64: define void @t0()
+// CHECK-X86_64-LABEL: define void @t0()
 // CHECK-X86_64: call { x86_fp80, x86_fp80 } bitcast {{.*}} @objc_msgSend_fp2ret to
 // CHECK-X86_64: }
 //
-// CHECK-ARMV7: define void @t0()
+// CHECK-ARMV7-LABEL: define void @t0()
 // CHECK-ARMV7: call i128 bitcast {{.*}} @objc_msgSend to
 // CHECK-ARMV7: }
 void t0() {
index cabef108df48d20a1a5ebc6b70e5a478830a5477..7fe550177d4c172946fe380a1cd98129bbb54ea2 100644 (file)
 @end
 
 
-// CHECK-X86_32: define void @t0()
+// CHECK-X86_32-LABEL: define void @t0()
 // CHECK-X86_32: call float bitcast {{.*}} @objc_msgSend_fpret to
 // CHECK-X86_32: call double bitcast {{.*}} @objc_msgSend_fpret to
 // CHECK-X86_32: call x86_fp80 bitcast {{.*}} @objc_msgSend_fpret to
 // CHECK-X86_32: }
 //
-// CHECK-X86_64: define void @t0()
+// CHECK-X86_64-LABEL: define void @t0()
 // CHECK-X86_64: call float bitcast {{.*}} @objc_msgSend to
 // CHECK-X86_64: call double bitcast {{.*}} @objc_msgSend to
 // CHECK-X86_64: call x86_fp80 bitcast {{.*}} @objc_msgSend_fpret to
 // CHECK-X86_64: }
 //
-// CHECK-ARMV7: define void @t0()
+// CHECK-ARMV7-LABEL: define void @t0()
 // CHECK-ARMV7: call float bitcast {{.*}} @objc_msgSend to
 // CHECK-ARMV7: call double bitcast {{.*}} @objc_msgSend to
 // CHECK-ARMV7: call double bitcast {{.*}} @objc_msgSend to
index ce2611ecf8ae0a26ac783480e2c403da73cf2885..729cf107a90304fe0dcf2f690add32c9e81e6e71 100644 (file)
@@ -4,7 +4,7 @@ void test0(void) {
   extern id test0_helper(void);
   __attribute__((objc_precise_lifetime)) id x = test0_helper();
   test0_helper();
-  // CHECK: define void @test0()
+  // CHECK-LABEL: define void @test0()
   // CHECK:      [[T0:%.*]] = call i8* @test0_helper()
   // CHECK-NEXT: store i8* [[T0]], i8** [[X:%.*]], align 8
   // CHECK-NEXT: call i8* @test0_helper()
index 7cafee70073fc154daced14dac28b2e959186a30..ef17ffc12f783b25898375668cc2f9fdeddcaba5 100644 (file)
@@ -40,7 +40,7 @@ void * variant_load_1(int i) {
     return ptr;
 }
 
-// CHECK: define i8* @variant_load_1(i32 %i)
+// CHECK-LABEL: define i8* @variant_load_1(i32 %i)
 // CHECK: [[IVAR:%.*]] = load i64* @"OBJC_IVAR_$_Derived.member"{{$}}
 
 @interface Container : Derived @end
@@ -61,7 +61,7 @@ void * variant_load_1(int i) {
 }
 @end
 
-// CHECK: define internal i8* @block_block_invoke
+// CHECK-LABEL: define internal i8* @block_block_invoke
 // CHECK: load i64* @"OBJC_IVAR_$_ForBlock.foo"
 id (^block)(ForBlock*) = ^(ForBlock* a) {
   return a->foo;
index 6a31a808f4c84104ef8de3cee0acb440a83995fa..d4502ec0426397c2ce5bbe53b6d9f2a10448575a 100644 (file)
@@ -16,7 +16,7 @@ void test0(void) {
   id obj = [NSObject new];
   [x isEqual : obj];
 }
-// CHECK:     define void @test0()
+// CHECK-LABEL:     define void @test0()
 // CHECK:       [[FIVE:%.*]] = call i8* @objc_retain
 // CHECK-NEXT:  [[SIX:%.*]] = bitcast
 // CHECK-NEXT:  [[SEVEN:%.*]]  = icmp eq i8* [[SIX]], null
@@ -36,7 +36,7 @@ void test1(void) {
   __weak id weakObj = obj;
   _Complex float result = [x asComplexWithArg: obj];
 }
-// CHECK:    define void @test1()
+// CHECK-LABEL:    define void @test1()
 // CHECK:      [[OBJ:%.*]] = alloca i8*, align 8
 // CHECK-NEXT: [[WEAKOBJ:%.*]] = alloca i8*, align 8
 // CHECK-NEXT: [[RESULT:%.*]] = alloca { float, float }, align 4
index a6b20000d8026191434894ae4ee37b45ad0b9245..aa944f89519fbb33b873b8e85e87ec72dc8b79fe 100644 (file)
@@ -1,15 +1,15 @@
 // RUN: %clang_cc1 -fobjc-dispatch-method=mixed -triple i386-apple-darwin10 -emit-llvm -o - %s | FileCheck -check-prefix=CHECK_NEW_DISPATCH %s
 //
-// CHECK_NEW_DISPATCH: define void @f0
+// CHECK_NEW_DISPATCH-LABEL: define void @f0
 // CHECK_NEW_DISPATCH: bitcast {{.*}}objc_msgSend_fixup_alloc
-// CHECK_NEW_DISPATCH: define void @f1
+// CHECK_NEW_DISPATCH-LABEL: define void @f1
 // CHECK_NEW_DISPATCH: load {{.*}}OBJC_SELECTOR_REFERENCES
 //
 // RUN: %clang_cc1 -fobjc-dispatch-method=legacy -emit-llvm -o - %s | FileCheck -check-prefix=CHECK_OLD_DISPATCH %s
 //
-// CHECK_OLD_DISPATCH: define void @f0
+// CHECK_OLD_DISPATCH-LABEL: define void @f0
 // CHECK_OLD_DISPATCH: load {{.*}}OBJC_SELECTOR_REFERENCES
-// CHECK_OLD_DISPATCH: define void @f1
+// CHECK_OLD_DISPATCH-LABEL: define void @f1
 // CHECK_OLD_DISPATCH: load {{.*}}OBJC_SELECTOR_REFERENCES
 
 @interface A
index 98e3fb02652d2d47ac57e3496ff25000d45319c7..8e72867fcde62b9b1df952e2ecff5b9154827035 100644 (file)
@@ -8,7 +8,7 @@
 void test0(void) {
   [Test0 test];
 }
-// CHECK:    define void @test0()
+// CHECK-LABEL:    define void @test0()
 // CHECK:      [[T0:%.*]] = call i8* (i8*, i8*, ...)* (i8*, i8*)* @objc_msg_lookup(i8* bitcast (i64* @_OBJC_CLASS_Test0 to i8*),
 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* (i8*, i8*, ...)* [[T0]] to void (i8*, i8*)*
 // CHECK-NEXT: call void [[T1]](i8* bitcast (i64* @_OBJC_CLASS_Test0 to i8*), 
index 6a438268c78fa6862778cabcc3d5eee17a88be58..e156270f66fef0975acafc854bdb22beac725629 100644 (file)
@@ -54,7 +54,7 @@ int printf(const char *, ...);
 @end
 
 // Test that compound operations only compute the base once.
-// CHECK: define void @test2
+// CHECK-LABEL: define void @test2
 A *test2_helper(void);
 void test2() {
   // CHECK:      [[BASE:%.*]] = call [[A:%.*]]* @test2_helper()
@@ -94,7 +94,7 @@ void test3(test3_object *p) {
 @interface Test4  {}
 @property float f;
 @end
-// CHECK: define void @test4
+// CHECK-LABEL: define void @test4
 void test4(Test4 *t) {
   extern int test4_printf(const char *, ...);
   // CHECK: [[TMP:%.*]] = call float {{.*}} @objc_msgSend
index ef38661f94c0d4c0968ab6c9eb12cc83501771ee..cd7847421812b33773b7eb4a9ce534dc04b6a59e 100644 (file)
@@ -9,7 +9,7 @@
 @interface NSString : NSObject
 @end
 
-// CHECK: define void @test1()
+// CHECK-LABEL: define void @test1()
 void test1() {
   // CHECK: {{call.*@objc_msgSend}}
   // CHECK: {{call.*@objc_msgSend}}
@@ -18,7 +18,7 @@ void test1() {
   NSString *str1 = [[[NSString alloc] init] retain];
 }
 
-// CHECK: define void @test2()
+// CHECK-LABEL: define void @test2()
 void test2() {
   // CHECK: {{call.*@objc_msgSend}}
   // CHECK: {{call.*@objc_msgSend}}
index 89d184cd6b6488a9439bb15d1347a24b018b331b..3f7303d4adcfd20f0e49c84086edec70b1668368 100644 (file)
@@ -18,12 +18,12 @@ void test0(void) {
   (void)t;
 }
 
-// HASSTRET: define void @test0()
+// HASSTRET-LABEL: define void @test0()
 // HASSTRET: [[T0:%.*]] = call i8* (i8*, i8*, ...)* (i8*, i8*)* @objc_msg_lookup_stret(i8* bitcast (i64* @_OBJC_CLASS_Test0 to i8*),
 // HASSTRET-NEXT: [[T1:%.*]] = bitcast i8* (i8*, i8*, ...)* [[T0]] to void (%struct.test*, i8*, i8*)*
 // HASSTRET-NEXT: call void [[T1]](%struct.test* sret {{.*}}, i8* bitcast (i64* @_OBJC_CLASS_Test0 to i8*),
 
-// NOSTRET: define void @test0()
+// NOSTRET-LABEL: define void @test0()
 // NOSTRET: [[T0:%.*]] = call i8* (i8*, i8*, ...)* (i8*, i8*)* @objc_msg_lookup(i8*
 // NOSTRET-NEXT: [[T1:%.*]] = bitcast i8* (i8*, i8*, ...)* [[T0]] to void (%struct.test*, i8*, i8*)*
 // NOSTRET-NEXT: call void [[T1]](%struct.test* sret {{.*}}, i8* {{.*}}, i8* bitcast ([2 x { i8*, i8* }]*
index e927882b3f735f12365e8221af2367075a80e30d..015e55b8f8af83661ce0f3721e614bdef04dd054 100644 (file)
@@ -20,7 +20,7 @@
 
 @end
 
-// CHECK: define void @foo(
+// CHECK-LABEL: define void @foo(
 void foo(id a) {
   // CHECK: [[A:%.*]] = alloca i8*
   // CHECK: [[SYNC:%.*]] = alloca i8*
@@ -47,7 +47,7 @@ void foo(id a) {
 
 }
 
-// CHECK: define i32 @f0(
+// CHECK-LABEL: define i32 @f0(
 int f0(id a) {
   // TODO: we can optimize the ret to a constant if we can figure out
   // either that x isn't stored to within the synchronized block or
@@ -64,7 +64,7 @@ int f0(id a) {
   return x;
 }
 
-// CHECK: define void @f1(
+// CHECK-LABEL: define void @f1(
 void f1(id a) {
   // Check that the return doesn't go through the cleanup.
   extern void opaque(void);
index b7e1c4601fed8f9249f90f8a0ef1074091e90e46..714c1a402336a41bb2e7105b7da856ffaa12be18 100644 (file)
@@ -34,7 +34,7 @@ static inline void _inlineFunction() {
 // CHECK: @__CFConstantStringClassReference = common global [24 x i32] zeroinitializer, align 16
 // CHECK: @_unnamed_cfstring_{{.*}} = private constant %struct.NSConstantString { i32* getelementptr inbounds ([24 x i32]* @__CFConstantStringClassReference, i32 0, i32 0)
 
-// CHECK: define internal void @_inlineFunction()
+// CHECK-LABEL: define internal void @_inlineFunction()
 // CHECK:  [[ZERO:%.*]] = load %struct._class_t** @"\01L_OBJC_CLASSLIST_REFERENCES_
 // CHECK-NEXT:   [[ONE:%.*]] = load i8** @"\01L_OBJC_SELECTOR_REFERENCES_"
 // CHECK-NEXT:   [[TWO:%.*]] = bitcast %struct._class_t* [[ZERO]] to i8*
index 8728ec4598bf5a843d650b1b9fcdcad55a0f3056..4992b998b3952492934b67f9a1f1b2efcda44120 100644 (file)
@@ -9,7 +9,7 @@ void test0(void) {
   void *ptr __attribute__((cleanup(destroy)));
   test0_helper();
 
-  // CHECK-WITH:       define void @test0()
+  // CHECK-WITH-LABEL:       define void @test0()
   // CHECK-WITH:         [[PTR:%.*]] = alloca i8*,
   // CHECK-WITH:         call void @destroy(i8** [[PTR]])
   // CHECK-WITH-NEXT:    ret void
@@ -18,7 +18,7 @@ void test0(void) {
   // CHECK-WITH-NEXT:      catch i8* null
   // CHECK-WITH-NEXT:    call void @objc_terminate()
 
-  // CHECK-WITHOUT:    define void @test0()
+  // CHECK-WITHOUT-LABEL:    define void @test0()
   // CHECK-WITHOUT:      [[PTR:%.*]] = alloca i8*,
   // CHECK-WITHOUT:      call void @destroy(i8** [[PTR]])
   // CHECK-WITHOUT-NEXT: ret void
index dab5b15e284e50a14c163f9404a5de2f8d72cb8f..9cb4b134e67d5ff3a71b9aa2fea4d9c201c6cda7 100644 (file)
@@ -5,7 +5,7 @@ struct Coerce {
 
 struct Coerce coerce_func(void);
 
-// CHECK: define void @Coerce_test()
+// CHECK-LABEL: define void @Coerce_test()
 void Coerce_test(void) {
   struct Coerce c;
   
@@ -21,7 +21,7 @@ struct Indirect {
 
 struct Indirect indirect_func(void);
 
-// CHECK: define void @Indirect_test()
+// CHECK-LABEL: define void @Indirect_test()
 void Indirect_test(void) {
   struct Indirect i;
   
index 57ccb6cdeae08742439eae18b11fa5e6c5b4aca5..42ee9571a6657285bf0baffb267cd3d189a55583 100644 (file)
@@ -4,7 +4,7 @@ id makeObject1() __attribute__((ns_returns_retained));
 id makeObject2() __attribute__((ns_returns_retained));
 void releaseObject(__attribute__((ns_consumed)) id);
 
-// CHECK: define void @_Z10sanityTestv
+// CHECK-LABEL: define void @_Z10sanityTestv
 void sanityTest() {
   // CHECK: [[X:%.*]] = alloca i8*, align 8
   // CHECK-NEXT: [[OBJ1:%.*]] = call i8* @_Z11makeObject1v()
@@ -28,7 +28,7 @@ T makeObjectT2() __attribute__((ns_returns_retained));
 template <typename T>
 void releaseObjectT(__attribute__((ns_consumed)) T);  
 
-// CHECK: define void @_Z12templateTestv
+// CHECK-LABEL: define void @_Z12templateTestv
 void templateTest() {
   // CHECK: [[X:%.*]] = alloca i8*, align 8
   // CHECK-NEXT: [[OBJ1:%.*]] = call i8* @_Z12makeObjectT1IU8__strongP11objc_objectET_v()
index 810c0e09cc9d700f17acb7d3a79df71a5040c927..ebb9d21c61f60ed22f4fb283a8881c0d921ed494 100644 (file)
@@ -16,7 +16,7 @@ namespace test0 {
   void foo() {
     __block A v;
   }
-  // CHECK:    define void @_ZN5test03fooEv() 
+  // CHECK-LABEL:    define void @_ZN5test03fooEv() 
   // CHECK:      [[V:%.*]] = alloca [[BYREF_A:%.*]], align 8
   // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BYREF_A]]* [[V]], i32 0, i32 4
   // CHECK-NEXT: store i8* bitcast (void (i8*, i8*)* [[COPY_HELPER:@.*]] to i8*), i8** [[T0]]
index b5ed257e94854fe05eb93ded2164c578ecca1911..0bb11d52ff60ed76834b4deed700ccabf2823aaa 100644 (file)
@@ -11,7 +11,7 @@ void test0(void) {
   } @catch (Ety *e) {
   }
 }
-// CHECK: define void @_Z5test0v()
+// CHECK-LABEL: define void @_Z5test0v()
 // CHECK:      [[E:%.*]] = alloca [[ETY:%.*]]*, align 8
 // CHECK-NEXT: invoke void @_Z12test0_helperv()
 // CHECK:      [[T0:%.*]] = call i8* @objc_begin_catch(
@@ -31,7 +31,7 @@ void test1(void) {
   } @catch (__weak Ety *e) {
   }
 }
-// CHECK: define void @_Z5test1v()
+// CHECK-LABEL: define void @_Z5test1v()
 // CHECK:      [[E:%.*]] = alloca [[ETY:%.*]]*, align 8
 // CHECK-NEXT: invoke void @_Z12test1_helperv()
 // CHECK:      [[T0:%.*]] = call i8* @objc_begin_catch(
@@ -50,7 +50,7 @@ void test2(void) {
   } catch (Ety *e) {
   }
 }
-// CHECK: define void @_Z5test2v()
+// CHECK-LABEL: define void @_Z5test2v()
 // CHECK:      [[E:%.*]] = alloca [[ETY:%.*]]*, align 8
 // CHECK-NEXT: invoke void @_Z12test2_helperv()
 // CHECK:      [[T0:%.*]] = call i8* @__cxa_begin_catch(
@@ -70,7 +70,7 @@ void test3(void) {
   } catch (Ety * __weak e) {
   }
 }
-// CHECK: define void @_Z5test3v()
+// CHECK-LABEL: define void @_Z5test3v()
 // CHECK:      [[E:%.*]] = alloca [[ETY:%.*]]*, align 8
 // CHECK-NEXT: invoke void @_Z12test3_helperv()
 // CHECK:      [[T0:%.*]] = call i8* @__cxa_begin_catch(
@@ -93,7 +93,7 @@ namespace test4 {
   A::A() {
     throw 0;
   }
-  // CHECK:    define void @_ZN5test41AC2Ev(
+  // CHECK-LABEL:    define void @_ZN5test41AC2Ev(
   // CHECK:      [[THIS:%.*]] = load [[A:%.*]]** {{%.*}}
   //   Construct single.
   // CHECK-NEXT: [[SINGLE:%.*]] = getelementptr inbounds [[A]]* [[THIS]], i32 0, i32 0
index 958d1d872c28656ecb61e039828ad5e7adc8db41..84ea180bca7d51f7f2da2387d4802fe99029f03e 100644 (file)
@@ -5,21 +5,21 @@
 // autorelease pool.
 id getObject();
 
-// CHECK: define internal void @__cxx_global_var_init
+// CHECK-LABEL: define internal void @__cxx_global_var_init
 // CHECK: call i8* @_Z9getObjectv
 // CHECK-NEXT: call i8* @objc_retainAutoreleasedReturnValue
 // CHECK-NEXT: {{store i8*.*@global_obj}}
 // CHECK-NEXT: ret void
 id global_obj = getObject();
 
-// CHECK: define internal void @__cxx_global_var_init
+// CHECK-LABEL: define internal void @__cxx_global_var_init
 // CHECK: call i8* @_Z9getObjectv
 // CHECK-NEXT: call i8* @objc_retainAutoreleasedReturnValue
 // CHECK-NEXT: {{store i8*.*@global_obj2}}
 // CHECK-NEXT: ret void
 id global_obj2 = getObject();
 
-// CHECK: define internal void @_GLOBAL__I_a
+// CHECK-LABEL: define internal void @_GLOBAL__I_a
 // CHECK: call i8* @objc_autoreleasePoolPush()
 // CHECK-NEXT: call void @__cxx_global_var_init
 // CHECK-NEXT: call void @__cxx_global_var_init1
index c2b5817c73b3fe9de26a0f3e46d7d4abbe198924..10c4f68451f845d9f648928505e724ab3625c7b2 100644 (file)
@@ -1,25 +1,25 @@
 // RUN: %clang_cc1 -fobjc-arc -fobjc-runtime-has-weak -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: define void @_Z1fPU8__strongP11objc_object(i8**)
+// CHECK-LABEL: define void @_Z1fPU8__strongP11objc_object(i8**)
 void f(__strong id *) {}
-// CHECK: define void @_Z1fPU6__weakP11objc_object(i8**)
+// CHECK-LABEL: define void @_Z1fPU6__weakP11objc_object(i8**)
 void f(__weak id *) {}
-// CHECK: define void @_Z1fPU15__autoreleasingP11objc_object(i8**)
+// CHECK-LABEL: define void @_Z1fPU15__autoreleasingP11objc_object(i8**)
 void f(__autoreleasing id *) {}
-// CHECK: define void @_Z1fPP11objc_object(i8**)
+// CHECK-LABEL: define void @_Z1fPP11objc_object(i8**)
 void f(__unsafe_unretained id *) {}
-// CHECK: define void @_Z1fPKU8__strongP11objc_object(i8**)
+// CHECK-LABEL: define void @_Z1fPKU8__strongP11objc_object(i8**)
 void f(const __strong id *) {}
-// CHECK: define void @_Z1fPKU6__weakP11objc_object(i8**)
+// CHECK-LABEL: define void @_Z1fPKU6__weakP11objc_object(i8**)
 void f(const __weak id *) {}
-// CHECK: define void @_Z1fPKU15__autoreleasingP11objc_object(i8**)
+// CHECK-LABEL: define void @_Z1fPKU15__autoreleasingP11objc_object(i8**)
 void f(const __autoreleasing id *) {}
-// CHECK: define void @_Z1fPKP11objc_object(i8**)
+// CHECK-LABEL: define void @_Z1fPKP11objc_object(i8**)
 void f(const __unsafe_unretained id *) {}
 
 
 template<unsigned N> struct unsigned_c { };
 
-// CHECK: define weak_odr void @_Z1gIKvEvP10unsigned_cIXplszv1U8__bridgecvPT_v1U8__bridgecvP11objc_objectcvS3_Li0ELi1EEE
+// CHECK-LABEL: define weak_odr void @_Z1gIKvEvP10unsigned_cIXplszv1U8__bridgecvPT_v1U8__bridgecvP11objc_objectcvS3_Li0ELi1EEE
 template<typename T>void g(unsigned_c<sizeof((__bridge T*)(__bridge id)(T*)0) + 1>*) {}
 template void g<const void>(unsigned_c<sizeof(id) + 1> *);
index cf3051dd1fe6483e5797d00b7bf77728680c283e..0a8286ded438b55d123ab961b803ca4504edcb88 100644 (file)
@@ -31,7 +31,7 @@ typename remove_reference<T>::type&& move(T &&x) {
   return static_cast<typename remove_reference<T>::type&&>(x); 
 }
 
-// CHECK: define void @_Z12library_moveRU8__strongP11objc_objectS2_
+// CHECK-LABEL: define void @_Z12library_moveRU8__strongP11objc_objectS2_
 void library_move(__strong id &x, __strong id &y) {
   // CHECK: call i8** @_Z4moveIRU8__strongP11objc_objectEON16remove_referenceIT_E4typeEOS5_
   // CHECK: load i8**
@@ -44,7 +44,7 @@ void library_move(__strong id &x, __strong id &y) {
   x = move(y);
 }
 
-// CHECK: define void @_Z12library_moveRU8__strongP11objc_object
+// CHECK-LABEL: define void @_Z12library_moveRU8__strongP11objc_object
 void library_move(__strong id &y) {
   // CHECK: [[Y:%[a-zA-Z0-9]+]] = call i8** @_Z4moveIRU8__strongP11objc_objectEON16remove_referenceIT_E4typeEOS5_
   // Load the object
@@ -62,7 +62,7 @@ void library_move(__strong id &y) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @_Z10const_moveRKU8__strongP11objc_object(
+// CHECK-LABEL: define void @_Z10const_moveRKU8__strongP11objc_object(
 void const_move(const __strong id &x) {
   // CHECK:      [[Y:%.*]] = alloca i8*,
   // CHECK:      [[X:%.*]] = call i8** @_Z4moveIRKU8__strongP11objc_objectEON16remove_referenceIT_E4typeEOS5_(
index c061e5dbdff8fa9fc45f6b7fa6a56fca4496bb69..9d42b03a7c4cf4e44b19765c9bc907aebf4d0e3c 100644 (file)
@@ -3,7 +3,7 @@
 typedef __strong id strong_id;
 typedef __weak id weak_id;
 
-// CHECK: define void @_Z8test_newP11objc_object
+// CHECK-LABEL: define void @_Z8test_newP11objc_object
 void test_new(id invalue) {
   // CHECK: [[INVALUEADDR:%.*]] = alloca i8*
   // CHECK-NEXT: store i8* null, i8** [[INVALUEADDR]]
@@ -40,7 +40,7 @@ void test_new(id invalue) {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z14test_array_new
+// CHECK-LABEL: define void @_Z14test_array_new
 void test_array_new() {
   // CHECK: call noalias i8* @_Znam
   // CHECK: store i64 17, i64*
@@ -54,7 +54,7 @@ void test_array_new() {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z11test_deletePU8__strongP11objc_objectPU6__weakS0_
+// CHECK-LABEL: define void @_Z11test_deletePU8__strongP11objc_objectPU6__weakS0_
 void test_delete(__strong id *sptr, __weak id *wptr) {
   // CHECK: br i1
   // CHECK: load i8**
@@ -69,7 +69,7 @@ void test_delete(__strong id *sptr, __weak id *wptr) {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z17test_array_deletePU8__strongP11objc_objectPU6__weakS0_
+// CHECK-LABEL: define void @_Z17test_array_deletePU8__strongP11objc_objectPU6__weakS0_
 void test_array_delete(__strong id *sptr, __weak id *wptr) {
   // CHECK: icmp eq i8** [[BEGIN:%.*]], null
   // CHECK: [[LEN:%.*]] = load i64* {{%.*}}
index 2f8d9e1878bb8c4a07fc535fa8b2533e394e697c..0a69487b9e7cabfe22b0b73862551b3aac35f118 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -fobjc-arc -fobjc-runtime-has-weak -fblocks -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: define void @_Z28test_objc_object_pseudo_dtorPU8__strongP11objc_objectPU6__weakS0_
+// CHECK-LABEL: define void @_Z28test_objc_object_pseudo_dtorPU8__strongP11objc_objectPU6__weakS0_
 void test_objc_object_pseudo_dtor(__strong id *ptr, __weak id *wptr) {
   // CHECK: load i8***
   // CHECK-NEXT: load i8** 
index 121077435da37e9a8b68cd5782764f8f36d36cec..10e7f64198dbba2761f50a1a03c732edcefde477 100644 (file)
@@ -7,7 +7,7 @@ id getObject();
 void callee();
 
 // Lifetime extension for binding a reference to an rvalue
-// CHECK: define void @_Z5test0v()
+// CHECK-LABEL: define void @_Z5test0v()
 void test0() {
   // CHECK: call i8* @_Z9getObjectv
   // CHECK-NEXT: call i8* @objc_retainAutoreleasedReturnValue
@@ -25,7 +25,7 @@ void test0() {
 }
 
 // No lifetime extension when we're binding a reference to an lvalue.
-// CHECK: define void @_Z5test1RU8__strongP11objc_objectRU6__weakS0_
+// CHECK-LABEL: define void @_Z5test1RU8__strongP11objc_objectRU6__weakS0_
 void test1(__strong id &x, __weak id &y) {
   // CHECK-NOT: release
   const __strong id &ref1 = x;
@@ -47,7 +47,7 @@ void test3() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @_Z5test4RU8__strongP11objc_object
+// CHECK-LABEL: define void @_Z5test4RU8__strongP11objc_object
 void test4(__strong id &x) {
   // CHECK: call i8* @objc_retain
   __strong A* const &ar = x;
@@ -59,7 +59,7 @@ void test4(__strong id &x) {
 
 void sink(__strong A* &&);
 
-// CHECK: define void @_Z5test5RU8__strongP11objc_object
+// CHECK-LABEL: define void @_Z5test5RU8__strongP11objc_object
 void test5(__strong id &x) {
   // CHECK:      [[REFTMP:%.*]] = alloca {{%.*}}*, align 8
   // CHECK:      [[OBJ_ID:%.*]] = call i8* @objc_retain(
@@ -75,7 +75,7 @@ void test5(__strong id &x) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define internal void @__cxx_global_var_init(
+// CHECK-LABEL: define internal void @__cxx_global_var_init(
 // CHECK: call i8* @_Z9getObjectv
 // CHECK-NEXT: call i8* @objc_retainAutoreleasedReturnValue
 const __strong id &global_ref = getObject();
index 0b34538d13ef21faceae763abade34367e63a1c5..49077ffec494bf5e8f4fe3a1a46f90e3875888bf 100644 (file)
@@ -12,14 +12,14 @@ struct ObjCBlockMember {
   int (^bp)(int);
 };
 
-// CHECK: define void @_Z42test_ObjCMember_default_construct_destructv(
+// CHECK-LABEL: define void @_Z42test_ObjCMember_default_construct_destructv(
 void test_ObjCMember_default_construct_destruct() {
   // CHECK: call void @_ZN10ObjCMemberC1Ev
   // CHECK: call void @_ZN10ObjCMemberD1Ev
   ObjCMember m1;
 }
 
-// CHECK: define void @_Z39test_ObjCMember_copy_construct_destruct10ObjCMember
+// CHECK-LABEL: define void @_Z39test_ObjCMember_copy_construct_destruct10ObjCMember
 void test_ObjCMember_copy_construct_destruct(ObjCMember m1) {
   // CHECK: call void @_ZN10ObjCMemberC1ERKS_
   // CHECK: call void @_ZN10ObjCMemberD1Ev
@@ -27,7 +27,7 @@ void test_ObjCMember_copy_construct_destruct(ObjCMember m1) {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z27test_ObjCMember_copy_assign10ObjCMemberS_
+// CHECK-LABEL: define void @_Z27test_ObjCMember_copy_assign10ObjCMemberS_
 void test_ObjCMember_copy_assign(ObjCMember m1, ObjCMember m2) {
   // CHECK: {{call.*_ZN10ObjCMemberaSERKS_}}
   m1 = m2;
@@ -39,7 +39,7 @@ void test_ObjCMember_copy_assign(ObjCMember m1, ObjCMember m2) {
 // CHECK:      call void @objc_storeStrong
 // CHECK:      ret
 
-// CHECK: define void @_Z47test_ObjCArrayMember_default_construct_destructv
+// CHECK-LABEL: define void @_Z47test_ObjCArrayMember_default_construct_destructv
 void test_ObjCArrayMember_default_construct_destruct() {
   // CHECK: call void @_ZN15ObjCArrayMemberC1Ev
   ObjCArrayMember m1;
@@ -47,7 +47,7 @@ void test_ObjCArrayMember_default_construct_destruct() {
   // CHECK: ret void
 }
 
-// CHECK: define void @_Z44test_ObjCArrayMember_copy_construct_destruct15ObjCArrayMember
+// CHECK-LABEL: define void @_Z44test_ObjCArrayMember_copy_construct_destruct15ObjCArrayMember
 void test_ObjCArrayMember_copy_construct_destruct(ObjCArrayMember m1) {
   // CHECK: call void @_ZN15ObjCArrayMemberC1ERKS_
   ObjCArrayMember m2 = m1;
@@ -67,7 +67,7 @@ void test_ObjCArrayMember_copy_assign(ObjCArrayMember m1, ObjCArrayMember m2) {
 // CHECK-NEXT: br label
 // CHECK: ret
 
-// CHECK: define void @_Z47test_ObjCBlockMember_default_construct_destructv
+// CHECK-LABEL: define void @_Z47test_ObjCBlockMember_default_construct_destructv
 void test_ObjCBlockMember_default_construct_destruct() {
   // CHECK: call void @_ZN15ObjCBlockMemberC1Ev
   ObjCBlockMember m;
@@ -75,7 +75,7 @@ void test_ObjCBlockMember_default_construct_destruct() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @_Z44test_ObjCBlockMember_copy_construct_destruct15ObjCBlockMember
+// CHECK-LABEL: define void @_Z44test_ObjCBlockMember_copy_construct_destruct15ObjCBlockMember
 void test_ObjCBlockMember_copy_construct_destruct(ObjCBlockMember m1) {
   // CHECK: call void @_ZN15ObjCBlockMemberC1ERKS_
   ObjCBlockMember m2 = m1;
@@ -83,7 +83,7 @@ void test_ObjCBlockMember_copy_construct_destruct(ObjCBlockMember m1) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @_Z32test_ObjCBlockMember_copy_assign15ObjCBlockMemberS_
+// CHECK-LABEL: define void @_Z32test_ObjCBlockMember_copy_assign15ObjCBlockMemberS_
 void test_ObjCBlockMember_copy_assign(ObjCBlockMember m1, ObjCBlockMember m2) {
   // CHECK: {{call.*_ZN15ObjCBlockMemberaSERKS_}}
   m1 = m2;
@@ -105,22 +105,22 @@ void test_ObjCBlockMember_copy_assign(ObjCBlockMember m1, ObjCBlockMember m2) {
 // CHECK-NEXT: ret
 
 // Implicitly-generated copy constructor for ObjCBlockMember
-// CHECK: define linkonce_odr void @_ZN15ObjCBlockMemberC2ERKS_
+// CHECK-LABEL: define linkonce_odr void @_ZN15ObjCBlockMemberC2ERKS_
 // CHECK: call i8* @objc_retainBlock
 // CHECK: ret
 
 // Implicitly-generated destructor for ObjCBlockMember
-// CHECK: define linkonce_odr void @_ZN15ObjCBlockMemberD2Ev
+// CHECK-LABEL: define linkonce_odr void @_ZN15ObjCBlockMemberD2Ev
 // CHECK: call void @objc_storeStrong(i8*
 // CHECK: ret
 
 // Implicitly-generated default constructor for ObjCBlockMember
-// CHECK: define linkonce_odr void @_ZN15ObjCBlockMemberC2Ev
+// CHECK-LABEL: define linkonce_odr void @_ZN15ObjCBlockMemberC2Ev
 // CHECK: store {{.*}} null,
 // CHECK-NEXT: ret void
 
 // Implicitly-generated copy constructor for ObjCArrayMember
-// CHECK: define linkonce_odr void @_ZN15ObjCArrayMemberC2ERKS_
+// CHECK-LABEL: define linkonce_odr void @_ZN15ObjCArrayMemberC2ERKS_
 // CHECK: br i1
 // CHECK: call i8* @objc_retain
 // CHECK-NEXT: store i8*
@@ -128,7 +128,7 @@ void test_ObjCBlockMember_copy_assign(ObjCBlockMember m1, ObjCBlockMember m2) {
 // CHECK: ret
 
 // Implicitly-generated destructor for ObjCArrayMember
-// CHECK:    define linkonce_odr void @_ZN15ObjCArrayMemberD2Ev
+// CHECK-LABEL:    define linkonce_odr void @_ZN15ObjCArrayMemberD2Ev
 // CHECK:      [[BEGIN:%.*]] = getelementptr inbounds [2 x [3 x i8*]]*
 // CHECK-NEXT: [[END:%.*]] = getelementptr inbounds i8** [[BEGIN]], i64 6
 // CHECK-NEXT: br label
@@ -140,24 +140,24 @@ void test_ObjCBlockMember_copy_assign(ObjCBlockMember m1, ObjCBlockMember m2) {
 // CHECK:      ret void
 
 // Implicitly-generated default constructor for ObjCArrayMember
-// CHECK: define linkonce_odr void @_ZN15ObjCArrayMemberC2Ev
+// CHECK-LABEL: define linkonce_odr void @_ZN15ObjCArrayMemberC2Ev
 // CHECK: call void @llvm.memset.p0i8.i64
 // CHECK: ret
 
 // Implicitly-generated copy constructor for ObjCMember
-// CHECK: define linkonce_odr void @_ZN10ObjCMemberC2ERKS_
+// CHECK-LABEL: define linkonce_odr void @_ZN10ObjCMemberC2ERKS_
 // CHECK-NOT: objc_release
 // CHECK: call i8* @objc_retain
 // CHECK-NEXT: store i8*
 // CHECK-NEXT: ret void
 
 // Implicitly-generated destructor for ObjCMember
-// CHECK: define linkonce_odr void @_ZN10ObjCMemberD2Ev
+// CHECK-LABEL: define linkonce_odr void @_ZN10ObjCMemberD2Ev
 // CHECK: call void @objc_storeStrong
 // CHECK: ret void
 
 // Implicitly-generated default constructor for ObjCMember
-// CHECK: define linkonce_odr void @_ZN10ObjCMemberC2Ev
+// CHECK-LABEL: define linkonce_odr void @_ZN10ObjCMemberC2Ev
 // CHECK-NOT: objc_release
 // CHECK: store i8* null
 // CHECK-NEXT: ret void
index e3e86a0b0d53ff99d369f0d3f89f0c05b47b8432..e31b0943b75ef9d35f3924b709f45785e42bc36a 100644 (file)
@@ -55,7 +55,7 @@ void test34(int cond) {
   test34_sink(cond ? &strong : 0);
   test34_sink(cond ? &weak : 0);
 
-  // CHECK:    define void @_Z6test34i(
+  // CHECK-LABEL:    define void @_Z6test34i(
   // CHECK:      [[COND:%.*]] = alloca i32
   // CHECK-NEXT: [[STRONG:%.*]] = alloca i8*
   // CHECK-NEXT: [[WEAK:%.*]] = alloca i8*
@@ -118,7 +118,7 @@ struct Test35_Helper {
   id makeObject4();
 };
 
-// CHECK: define void @_Z6test3513Test35_HelperPS_
+// CHECK-LABEL: define void @_Z6test3513Test35_HelperPS_
 void test35(Test35_Helper x0, Test35_Helper *x0p) {
   // CHECK: call i8* @_ZN13Test35_Helper11makeObject1Ev
   // CHECK-NOT: call i8* @objc_retain
@@ -146,7 +146,7 @@ void test35(Test35_Helper x0, Test35_Helper *x0p) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @_Z7test35b13Test35_HelperPS_
+// CHECK-LABEL: define void @_Z7test35b13Test35_HelperPS_
 void test35b(Test35_Helper x0, Test35_Helper *x0p) {
   // CHECK: call i8* @_ZN13Test35_Helper11makeObject3Ev
   // CHECK: call i8* @objc_retain
@@ -174,7 +174,7 @@ void test35b(Test35_Helper x0, Test35_Helper *x0p) {
 }
 
 // rdar://problem/9603128
-// CHECK: define i8* @_Z6test36P11objc_object(
+// CHECK-LABEL: define i8* @_Z6test36P11objc_object(
 id test36(id z) {
   // CHECK: objc_retain
   // CHECK: objc_retain
@@ -196,7 +196,7 @@ template <class T> void test37(T *a) {
 }
 extern template void test37<Test37>(Test37 *a);
 template void test37<Test37>(Test37 *a);
-// CHECK: define weak_odr void @_Z6test37I6Test37EvPT_(
+// CHECK-LABEL: define weak_odr void @_Z6test37I6Test37EvPT_(
 // CHECK:      [[T0:%.*]] = call [[NSARRAY]]* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to [[NSARRAY]]* (i8*, i8*)*)(
 // CHECK-NEXT: [[T1:%.*]] = bitcast [[NSARRAY]]* [[T0]] to i8*
 // CHECK-NEXT: [[T2:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T1]])
@@ -224,7 +224,7 @@ void send_release() {
   [Test37 array];
 }
 
-// CHECK: define weak_odr void @_Z12send_releaseIiEvv(
+// CHECK-LABEL: define weak_odr void @_Z12send_releaseIiEvv(
 // CHECK: call %0* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
 // CHECK-NEXT: bitcast
 // CHECK-NEXT: call i8* @objc_retainAutoreleasedReturnValue
@@ -240,7 +240,7 @@ Test37 *instantiate_init() {
   return result;
 }
 
-// CHECK: define weak_odr %2* @_Z16instantiate_initIiEP6Test37v
+// CHECK-LABEL: define weak_odr %2* @_Z16instantiate_initIiEP6Test37v
 // CHECK: call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
 // CHECK: call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
 // CHECK: call i8* @objc_retain
@@ -257,7 +257,7 @@ template <class T> class Test38 {
     ^{ (void) x; }, ({ x; });
   }
 };
-// CHECK: define weak_odr void @_ZN6Test38IiE4testEi(
+// CHECK-LABEL: define weak_odr void @_ZN6Test38IiE4testEi(
 template class Test38<int>;
 
 // rdar://problem/11964832
@@ -272,7 +272,7 @@ class Test39 : Test39_base1, Test39_base2 { // base2 is at non-zero offset
 };
 id Test39::bar() { return 0; }
 // Note lack of autorelease.
-// CHECK:    define i8* @_ZThn8_N6Test393barEv(
+// CHECK-LABEL:    define i8* @_ZThn8_N6Test393barEv(
 // CHECK:      call i8* @_ZN6Test393barEv(
 // CHECK-NEXT: ret i8*
 
@@ -287,7 +287,7 @@ template <class T> void test40_helper() {
   [Test40 foo: &x];
 };
 template void test40_helper<int>();
-// CHECK:    define weak_odr void @_Z13test40_helperIiEvv()
+// CHECK-LABEL:    define weak_odr void @_Z13test40_helperIiEvv()
 // CHECK:      [[X:%.*]] = alloca i8*
 // CHECK-NEXT: [[TEMP:%.*]] = alloca i8*
 // CHECK-NEXT: store i8* null, i8** [[X]]
index a31ba36660ab3874d0c8eacd6b0f77feabd6362a..5de90bbb5611a228f61adb736926bf782e8b4c8d 100644 (file)
@@ -12,7 +12,7 @@ void test0(id obj) {
     foo();
   }
 }
-// CHECK:    define void @_Z5test0P11objc_object(
+// CHECK-LABEL:    define void @_Z5test0P11objc_object(
 //   Enter the @synchronized block.
 // CHECK:      call i32 @objc_sync_enter(i8* [[OBJ:%.*]])
 // CHECK:      call void @objc_exception_try_enter([[BUF_T:%.*]]* [[BUF:%.*]])
@@ -52,7 +52,7 @@ void test1(id obj, bool *failed) {
     *failed = true;
   }
 }
-// CHECK:    define void @_Z5test1P11objc_objectPb(
+// CHECK-LABEL:    define void @_Z5test1P11objc_objectPb(
 //   Enter the @try block.
 // CHECK:      call void @objc_exception_try_enter([[BUF_T]]* [[BUF:%.*]])
 // CHECK-NEXT: [[T0:%.*]] = getelementptr [[BUF_T]]* [[BUF]], i32 0, i32 0, i32 0
index 031c22204d8b1482b0431aa0b0a49a0255fe1068..a62a82b08cbd2cf4628189684a96eb3f0eb16234 100644 (file)
@@ -5,7 +5,7 @@ void opaque();
 
 namespace test0 {
 
-  // CHECK: define void @_ZN5test03fooEv
+  // CHECK-LABEL: define void @_ZN5test03fooEv
   void foo() {
     try {
       // CHECK: invoke void @_Z6opaquev
index a504892bcbdf91fccb0a6a7890a8969fcba1d0bd..1659dbf7a44543a14df2c41ee6a2ea775adc6c51 100644 (file)
@@ -9,7 +9,7 @@ namespace test0 {
   };
   A::A() : x(test0::x) {}
 
-// CHECK:    define void @_ZN5test01AC2Ev(
+// CHECK-LABEL:    define void @_ZN5test01AC2Ev(
 // CHECK:      [[THIS:%.*]] = alloca [[TEST0:%.*]]*, align 8
 // CHECK-NEXT: store 
 // CHECK-NEXT: [[T0:%.*]] = load [[TEST0]]** [[THIS]]
index a5ce78960914c5d3e08d0bdb00bf4d2f8ba51cb9..88837c1713ba537eb58ea0ce5c580d5fc687cec6 100644 (file)
@@ -43,7 +43,7 @@ void test_D(D d1, D d2) {
   d1 = d2;
 }
 
-// CHECK-OBJ: define linkonce_odr %struct.D* @_ZN1DaSERS_
+// CHECK-OBJ-LABEL: define linkonce_odr %struct.D* @_ZN1DaSERS_
 // CHECK-OBJ: {{call.*_ZN1AaSERS_}}
 // CHECK-OBJ: {{call.*_ZN1BaSERS_}}
 // CHECK-OBJ: {{call.*_ZN1CaSERKS_}}
index 5cd6f42a6c422c7a20e870e42437b5bf5d1d96b0..6dbd39e152231c3ccfa749c19a30b1c3f66be99f 100644 (file)
@@ -41,7 +41,7 @@ void f(D d) {
   D d2(d);
 }
 
-// CHECK: define linkonce_odr void @_ZN1DC1ERS_(%struct.D* %this, %struct.D*) unnamed_addr
+// CHECK-LABEL: define linkonce_odr void @_ZN1DC1ERS_(%struct.D* %this, %struct.D*) unnamed_addr
 // CHECK: call void @_ZN1AC1Ev
 // CHECK: call void @_ZN1CC2ERS_1A
 // CHECK: call void @_ZN1AD1Ev
index 84ebeb9d7bc8c974171375f3489e73e70af3b62c..2468eb1e71a4c94d0aa220497e315c82cf6e60f9 100644 (file)
@@ -6,16 +6,16 @@ fp f() { auto x = []{ return 3; }; return x; }
 
 // MRC: @"\01L_OBJC_METH_VAR_NAME{{.*}}" = internal global [5 x i8] c"copy\00"
 // MRC: @"\01L_OBJC_METH_VAR_NAME{{.*}}" = internal global [12 x i8] c"autorelease\00"
-// MRC: define i32 ()* @_Z1fv(
-// MRC: define internal i32 ()* @"_ZZ1fvENK3$_0cvU13block_pointerFivEEv"
+// MRC-LABEL: define i32 ()* @_Z1fv(
+// MRC-LABEL: define internal i32 ()* @"_ZZ1fvENK3$_0cvU13block_pointerFivEEv"
 // MRC: store i8* bitcast (i8** @_NSConcreteStackBlock to i8*)
 // MRC: store i8* bitcast (i32 (i8*)* @"___ZZ1fvENK3$_0cvU13block_pointerFivEEv_block_invoke" to i8*)
 // MRC: call i32 ()* (i8*, i8*)* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 ()* (i8*, i8*)*)
 // MRC: call i32 ()* (i8*, i8*)* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 ()* (i8*, i8*)*)
 // MRC: ret i32 ()*
 
-// ARC: define i32 ()* @_Z1fv(
-// ARC: define internal i32 ()* @"_ZZ1fvENK3$_0cvU13block_pointerFivEEv"
+// ARC-LABEL: define i32 ()* @_Z1fv(
+// ARC-LABEL: define internal i32 ()* @"_ZZ1fvENK3$_0cvU13block_pointerFivEEv"
 // ARC: store i8* bitcast (i8** @_NSConcreteStackBlock to i8*)
 // ARC: store i8* bitcast (i32 (i8*)* @"___ZZ1fvENK3$_0cvU13block_pointerFivEEv_block_invoke" to i8*)
 // ARC: call i8* @objc_retainBlock
@@ -35,7 +35,7 @@ void f2() { global = []{ return 3; }; }
 // ARC: store i8* bitcast (i32 (i8*)* @___Z2f2v_block_invoke to i8*),
 // ARC: call i8* @objc_retainBlock
 // ARC: call void @objc_release
-// ARC: define internal i32 @___Z2f2v_block_invoke
+// ARC-LABEL: define internal i32 @___Z2f2v_block_invoke
 // ARC: call i32 @"_ZZ2f2vENK3$_1clEv
 
 template <class T> void take_lambda(T &&lambda) { lambda(); }
@@ -61,7 +61,7 @@ void take_block(void (^block)()) { block(); }
 @end
 
 // Check lines for BlockInLambda test below
-// ARC: define internal i32 @___ZZN13BlockInLambda1X1fEvENKUlvE_clEv_block_invoke
+// ARC-LABEL: define internal i32 @___ZZN13BlockInLambda1X1fEvENKUlvE_clEv_block_invoke
 // ARC: [[Y:%.*]] = getelementptr inbounds %"struct.BlockInLambda::X"* {{.*}}, i32 0, i32 1
 // ARC-NEXT: [[YVAL:%.*]] = load i32* [[Y]], align 4
 // ARC-NEXT: ret i32 [[YVAL]]
@@ -73,7 +73,7 @@ template<typename T> struct StaticMembers {
 template<typename T>
 fptr StaticMembers<T>::f = [] { auto f = []{return 5;}; return fptr(f); }();
 template fptr StaticMembers<float>::f;
-// ARC: define linkonce_odr i32 ()* @_ZZNK13StaticMembersIfE1fMUlvE_clEvENKUlvE_cvU13block_pointerFivEEv
+// ARC-LABEL: define linkonce_odr i32 ()* @_ZZNK13StaticMembersIfE1fMUlvE_clEvENKUlvE_cvU13block_pointerFivEEv
 
 namespace BlockInLambda {
   struct X {
index b8946fa3f805f7bc096687fa2be85529f1db01b8..f21bba75f3747a51d83119139e4de2d301033876 100644 (file)
@@ -14,7 +14,7 @@ struct Y {
   operator id() const;
 };
 
-// CHECK: define void @_Z10test_arrayv
+// CHECK-LABEL: define void @_Z10test_arrayv
 void test_array() {
   // CHECK: [[OBJECTS:%[a-zA-Z0-9.]+]] = alloca [2 x i8*]
 
@@ -60,7 +60,7 @@ void test_array() {
   // CHECK: unreachable
 }
 
-// CHECK: define weak_odr void @_Z24test_array_instantiationIiEvv
+// CHECK-LABEL: define weak_odr void @_Z24test_array_instantiationIiEvv
 template<typename T>
 void test_array_instantiation() {
   // CHECK: [[OBJECTS:%[a-zA-Z0-9.]+]] = alloca [2 x i8*]
index 4c85229a0e02e6d3ac003a94817a59e36cdabd64..405e5282cda7e7b20a043b25a43ea9b033b37d7d 100644 (file)
@@ -8,7 +8,7 @@
 int f();
 
 void foo() {
-  // CHECK: define internal i32 @___Z3foov_block_invoke
+  // CHECK-LABEL: define internal i32 @___Z3foov_block_invoke
   // CHECK: call i32 @__cxa_guard_acquire(i64* @_ZGVZZ3foovEUb_E5value
   (void)^(int x) { 
     static int value = f();
@@ -16,7 +16,7 @@ void foo() {
   };
 }
 
-// CHECK: define internal i32 @i_block_invoke
+// CHECK-LABEL: define internal i32 @i_block_invoke
 int i = ^(int x) { return x;}(i);
 
 @interface A
@@ -42,7 +42,7 @@ void foo(int) {
 }
 
 namespace N {
-  // CHECK: define internal signext i8 @___Z3fooi_block_invoke
+  // CHECK-LABEL: define internal signext i8 @___Z3fooi_block_invoke
   void bar() {
     (void)^(int x) { 
       // CHECK: @_ZZZN1N3barEvEUb2_E4name
index 7b2ffe3802530e733370cf47e4111a97cb898451..5b944caf1f4155fbd02c09f51e05c952c072e170 100644 (file)
@@ -81,20 +81,20 @@ void test2(Test2 *t) {
 
 @protocol P;
 void overload1(A<P>*) {}
-// CHECK: define void @_Z9overload1PU11objcproto1P1A
+// CHECK-LABEL: define void @_Z9overload1PU11objcproto1P1A
 void overload1(const A<P>*) {}
-// CHECK: define void @_Z9overload1PKU11objcproto1P1A
+// CHECK-LABEL: define void @_Z9overload1PKU11objcproto1P1A
 void overload1(A<P>**) {}
-// CHECK: define void @_Z9overload1PPU11objcproto1P1A
+// CHECK-LABEL: define void @_Z9overload1PPU11objcproto1P1A
 void overload1(A<P>*const*) {}
-// CHECK: define void @_Z9overload1PKPU11objcproto1P1A
+// CHECK-LABEL: define void @_Z9overload1PKPU11objcproto1P1A
 void overload1(A<P>***) {}
-// CHECK: define void @_Z9overload1PPPU11objcproto1P1A
+// CHECK-LABEL: define void @_Z9overload1PPPU11objcproto1P1A
 void overload1(void (f)(A<P>*)) {}
-// CHECK: define void @_Z9overload1PFvPU11objcproto1P1AE
+// CHECK-LABEL: define void @_Z9overload1PFvPU11objcproto1P1AE
 
 template<typename T> struct X { void f(); };
 template<> void X<A*>::f() {}
-// CHECK: define void @_ZN1XIP1AE1fEv
+// CHECK-LABEL: define void @_ZN1XIP1AE1fEv
 template<> void X<A<P>*>::f() {}
-// CHECK: define void @_ZN1XIPU11objcproto1P1AE1fEv
+// CHECK-LABEL: define void @_ZN1XIPU11objcproto1P1AE1fEv
index 1268a79d63b786dd3d8e778d627560708f7eb870..af3d81f16c98f0f61501e3b6b0489dbecc603cd6 100644 (file)
@@ -15,7 +15,7 @@ namespace test0 {
     [a foo];
   }
   template void foo<int>();
-  // CHECK:    define weak_odr void @_ZN5test03fooIiEEvv()
+  // CHECK-LABEL:    define weak_odr void @_ZN5test03fooIiEEvv()
   // CHECK:      [[T0:%.*]] = call [[TEST0:%.*]]* @_ZN5test01AcvP5Test0Ev(
   // CHECK-NEXT: [[T1:%.*]] = load i8**
   // CHECK-NEXT: [[T2:%.*]] = bitcast [[TEST0]]* [[T0]] to i8*
index 47460c2fb3dbdec59ac26c58966d43a99c7e6d81..0a7dff50c5a0eef9c549edf0932138dc1b9c015b 100644 (file)
@@ -22,7 +22,7 @@ struct X {
 
 X blocksNRVO() {
   return ^{
-    // CHECK: define internal void @___Z10blocksNRVOv_block_invoke
+    // CHECK-LABEL: define internal void @___Z10blocksNRVOv_block_invoke
     X x;
     // CHECK: tail call void @_ZN1XC1Ev
     // CHECK-NEXT: ret void
index c0dd0f8bae4de98a110f713fabb3a214ee2c1eeb..48c5f5cc2cf2cbf094d9c6422a04390809f04ae2 100644 (file)
@@ -34,7 +34,7 @@ template <class T> void test2(NSMutableArray *a) {
   a[10] = 0;
 }
 template void test2<int>(NSMutableArray*);
-// CHECK: define weak_odr void @_Z5test2IiEvP14NSMutableArray
+// CHECK-LABEL: define weak_odr void @_Z5test2IiEvP14NSMutableArray
 // CHECK: @objc_msgSend 
 // CHECK: ret void
 
@@ -44,7 +44,7 @@ template <class T> void test3(NSMutableArray *a) {
 }
 
 template void test3<int>(NSMutableArray*);
-// CHECK: define weak_odr void @_Z5test3IiEvP14NSMutableArray
+// CHECK-LABEL: define weak_odr void @_Z5test3IiEvP14NSMutableArray
 // CHECK: @objc_msgSend
 // CHECK: ret void
 
index dfe48e9d6dc891f9c5f9e2c551b3d6bbca74f539..d9069023b951b494b683581d0f8cc886e034d7f1 100644 (file)
@@ -33,7 +33,7 @@ template <class T> void test2(NSMutableArray *a) {
   a[10] = 0;
 }
 template void test2<int>(NSMutableArray*);
-// CHECK: define weak_odr void @_Z5test2IiEvP14NSMutableArray
+// CHECK-LABEL: define weak_odr void @_Z5test2IiEvP14NSMutableArray
 // CHECK: @objc_msgSend 
 // CHECK: ret void
 
@@ -43,11 +43,11 @@ template <class T> void test3(NSMutableArray *a) {
 }
 
 template void test3<int>(NSMutableArray*);
-// CHECK: define weak_odr void @_Z5test3IiEvP14NSMutableArray
+// CHECK-LABEL: define weak_odr void @_Z5test3IiEvP14NSMutableArray
 // CHECK: @objc_msgSend
 // CHECK: ret void
 
-// CHECK: define void @_Z11static_dataP14NSMutableArray
+// CHECK-LABEL: define void @_Z11static_dataP14NSMutableArray
 void static_data(NSMutableArray *array) {
   // CHECK: call i32 @__cxa_guard_acquire
   // CHECK: {{call i8*.*@objc_msgSend }}
index e64b397cc026a5dee3854225ddc21f71348439f4..be6742aef25f7de76fe8fe75bd3bfdf1e79792b5 100644 (file)
@@ -50,7 +50,7 @@ void test2() {
     void(obj.myProperty);
     void(obj.myGetter);
 }
-// CHECK: define void @_Z5test2v()
+// CHECK-LABEL: define void @_Z5test2v()
 // CHECK: call i32 bitcast
 // CHECK: call double bitcast
 // CHECK: call i32 bitcast
index 25bfdf848d3a5ae8f53458423be83cb775d9fea8..542967c48e65d2ff3d83976a61446207d823f5c8 100644 (file)
@@ -29,7 +29,7 @@ struct TCPPObject
   @synthesize MyProperty1 = _cppObject1;
 @end
 
-// CHECK: define internal void @__copy_helper_atomic_property_(
+// CHECK-LABEL: define internal void @__copy_helper_atomic_property_(
 // CHECK: [[TWO:%.*]] = load %struct.TCPPObject** [[ADDR:%.*]], align 8
 // CHECK: [[THREE:%.*]] = load %struct.TCPPObject** [[ADDR1:%.*]], align 8
 // CHECK: [[CALL:%.*]] = call i32 @_Z7DEFAULTv()
@@ -43,7 +43,7 @@ struct TCPPObject
 // CHECK: call void @objc_copyCppObjectAtomic(i8* [[THREE]], i8* [[TWO]], i8* bitcast (void (%struct.TCPPObject*, %struct.TCPPObject*)* @__copy_helper_atomic_property_ to i8*))
 // CHECK: ret void
 
-// CHECK: define internal void @__assign_helper_atomic_property_(
+// CHECK-LABEL: define internal void @__assign_helper_atomic_property_(
 // CHECK: [[TWO:%.*]] = load %struct.TCPPObject** [[ADDR:%.*]], align 8
 // CHECK: [[THREE:%.*]] = load %struct.TCPPObject** [[ADDR1:%.*]], align 8
 // CHECK: [[CALL:%.*]] = call %struct.TCPPObject* @_ZN10TCPPObjectaSERKS_(%struct.TCPPObject* [[TWO]], %struct.TCPPObject* [[THREE]])
index a3c2ed37466ef0ab717f7898beafd75ddff21d2f..88e992c81a4b2ec0b5165ecd4f5960fcc00748b7 100644 (file)
@@ -54,7 +54,7 @@ struct CGRect {
 
 @end
 
-// CHECK: define i32 @main
+// CHECK-LABEL: define i32 @main
 // CHECK: call void @_ZN1SC1ERKS_(%class.S* [[AGGTMP:%[a-zA-Z0-9\.]+]], %class.S* {{%[a-zA-Z0-9\.]+}})
 // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %class.S*)*)(i8* {{%[a-zA-Z0-9\.]+}}, i8* {{%[a-zA-Z0-9\.]+}}, %class.S* [[AGGTMP]])
 // CHECK-NEXT: ret i32 0
@@ -66,7 +66,7 @@ int main() {
 }
 
 // rdar://8379892
-// CHECK: define void @_Z1fP1A
+// CHECK-LABEL: define void @_Z1fP1A
 // CHECK: call void @_ZN1XC1Ev(%struct.X* [[LVTEMP:%[a-zA-Z0-9\.]+]])
 // CHECK: call void @_ZN1XC1ERKS_(%struct.X* [[AGGTMP:%[a-zA-Z0-9\.]+]], %struct.X* [[LVTEMP]])
 // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %struct.X*)*)({{.*}} %struct.X* [[AGGTMP]])
index 0e4897b749479d99b9da4b0b108b71f13e2534fe..a4af90010b3bf9b3c6aeae22dc8c09fffee094ec 100644 (file)
@@ -64,7 +64,7 @@ template <class T> void test2(Test2 *a) {
   a.prop += x;
 }
 template void test2<int>(Test2*);
-// CHECK: define weak_odr void @_Z5test2IiEvP5Test2(
+// CHECK-LABEL: define weak_odr void @_Z5test2IiEvP5Test2(
 // CHECK: [[X:%.*]] = alloca i32,
 // CHECK:      @objc_msgSend
 // CHECK:      store i32 {{%.*}}, i32* [[X]],
@@ -83,7 +83,7 @@ template <class T> void test3(Test2 *a) {
   a.prop += (sizeof(T), x);
 }
 template void test3<int>(Test2*);
-// CHECK: define weak_odr void @_Z5test3IiEvP5Test2(
+// CHECK-LABEL: define weak_odr void @_Z5test3IiEvP5Test2(
 // CHECK: [[X:%.*]] = alloca i32,
 // CHECK:      @objc_msgSend
 // CHECK:      store i32 {{%.*}}, i32* [[X]],
index 6265c7be7613fc970f0486b4e8c40f928f02c706..39abd8a305f64f8e8a335febde4b568f178c5528 100644 (file)
@@ -17,7 +17,7 @@ struct A { ~A(); };
 
 @end
 
-// CHECK: define void @_Z1fP1B
+// CHECK-LABEL: define void @_Z1fP1B
 // CHECK: objc_msgSend to
 // CHECK-NOT: call void @_ZN1AD1Ev
 // CHECK: ret void
index 0e146d42c9eefe54497f516b0b59dfd262475a1f..4731fcc76dfead20e33ec8ceec2e2e759ba90012 100644 (file)
@@ -6,7 +6,7 @@
 void test0(A *a) {
   (void) [a test0: (float) 2.0];
 }
-// CHECK: define void @_Z5test0P1A(
+// CHECK-LABEL: define void @_Z5test0P1A(
 // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, float)*)(
 
 @interface B
@@ -15,6 +15,6 @@ void test0(A *a) {
 void test1(B *b) {
   (void) [b test1: (float) 2.0];
 }
-// CHECK: define void @_Z5test1P1B(
+// CHECK-LABEL: define void @_Z5test1P1B(
 // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, float)*)(
 
index b4bd0085dfad650da366c3068bfe5cd082bfccdb..852fa438f508354f07ce8d1f59aee01294b3b6ed 100644 (file)
@@ -6,7 +6,7 @@ __kernel void foo(void) {
   ++i;
 }
 
-// CHECK: define void @_Z3barPU3AS2i
+// CHECK-LABEL: define void @_Z3barPU3AS2i
 __kernel void __attribute__((__overloadable__)) bar(local int *x) {
   *x = 5;
 }
index b1e558db9b9c00c73b5a35cabe2b32d25600bfde..7e99fc548ec53d992c51e8521d670e511b5ed8ff 100644 (file)
@@ -22,7 +22,7 @@ void fnc3(image3d_t img) {}
 // CHECK: @fnc3(%opencl.image3d_t*
 
 void fnc4smp(sampler_t s) {}
-// CHECK: define void @fnc4smp(i32
+// CHECK-LABEL: define void @fnc4smp(i32
 
 kernel void foo(image1d_t img) {
        sampler_t smp = 5;
index d9904513e5184d8208ec21b98706363679b49f0d..00f2a0e4c04283f88259afeb725958e5200c616f 100644 (file)
@@ -2,12 +2,12 @@
 
 void device_function() {
 }
-// CHECK: define void @device_function()
+// CHECK-LABEL: define void @device_function()
 
 __kernel void kernel_function() {
   device_function();
 }
-// CHECK: define void @kernel_function()
+// CHECK-LABEL: define void @kernel_function()
 // CHECK: call void @device_function()
 // CHECK: !{{[0-9]+}} = metadata !{void ()* @kernel_function, metadata !"kernel", i32 1}
 
index 07648e4015079b42601fdd496b73ba4fb3ae5802..49d207f023c85f4689347262896d479a0e108e65 100644 (file)
@@ -2,10 +2,10 @@
 
 void device_function() {
 }
-// CHECK: define void @device_function()
+// CHECK-LABEL: define void @device_function()
 
 __kernel void kernel_function() {
 }
-// CHECK: define void @kernel_function()
+// CHECK-LABEL: define void @kernel_function()
 
 // CHECK: !{{[0-9]+}} = metadata !{void ()* @kernel_function, metadata !"kernel", i32 1}