[llvm-branch-commits] [clang] 6b33517 - [test] Add {{.*}} to make tests immune to dso_local/dso_preemptable/(none) differences

Fangrui Song via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Dec 30 20:57:04 PST 2020


Author: Fangrui Song
Date: 2020-12-30T20:52:01-08:00
New Revision: 6b3351792c6c9a362a3e8b826bc1d96f8e1918e0

URL: https://github.com/llvm/llvm-project/commit/6b3351792c6c9a362a3e8b826bc1d96f8e1918e0
DIFF: https://github.com/llvm/llvm-project/commit/6b3351792c6c9a362a3e8b826bc1d96f8e1918e0.diff

LOG: [test] Add {{.*}} to make tests immune to dso_local/dso_preemptable/(none) differences

For a definition (of most linkage types), dso_local is set for ELF -fno-pic/-fpie
and COFF, but not for Mach-O.  This nuance causes unneeded binary format differences.

This patch replaces (function) `define ` with `define{{.*}} `,
(variable/constant/alias) `= ` with `={{.*}} `, or inserts appropriate `{{.*}} `
if there is an explicit linkage.

* Clang will set dso_local for Mach-O, which is currently implied by TargetMachine.cpp. This will make COFF/Mach-O and executable ELF similar.
* Eventually I hope we can make dso_local the textual LLVM IR default (write explicit "dso_preemptable" when applicable) and -fpic ELF will be similar to everything else. This patch helps move toward that goal.

Added: 
    

Modified: 
    clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks-irgen.mm
    clang/test/CXX/special/class.copy/p3.cpp
    clang/test/CXX/temp/temp.spec/temp.expl.spec/p14.cpp
    clang/test/CodeGen/2008-03-05-syncPtr.c
    clang/test/CodeGen/2008-04-08-NoExceptions.c
    clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
    clang/test/CodeGen/2008-08-07-AlignPadding1.c
    clang/test/CodeGen/2009-10-20-GlobalDebug.c
    clang/test/CodeGen/64bit-swiftcall.c
    clang/test/CodeGen/Atomics.c
    clang/test/CodeGen/PR32874.c
    clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
    clang/test/CodeGen/X86/x86-long-double.cpp
    clang/test/CodeGen/X86/x86-vec-i128.c
    clang/test/CodeGen/X86/x86_32-arguments-darwin.c
    clang/test/CodeGen/X86/x86_32-arguments-realign.c
    clang/test/CodeGen/aarch64-args.cpp
    clang/test/CodeGen/aarch64-arguments-hfa-v3.c
    clang/test/CodeGen/aarch64-neon-vget.c
    clang/test/CodeGen/address-space-field1.c
    clang/test/CodeGen/address-space.c
    clang/test/CodeGen/align-param.c
    clang/test/CodeGen/aligned-sret.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-interrupt-attr.c
    clang/test/CodeGen/arm-swiftcall.c
    clang/test/CodeGen/arm-target-attr.c
    clang/test/CodeGen/arm-vector-arguments.c
    clang/test/CodeGen/arm64-arguments.c
    clang/test/CodeGen/arm64_32-vaarg.c
    clang/test/CodeGen/arm64_32.c
    clang/test/CodeGen/arm64_vcopy.c
    clang/test/CodeGen/arm64_vdupq_n_f64.c
    clang/test/CodeGen/armv7k-abi.c
    clang/test/CodeGen/asm-label.c
    clang/test/CodeGen/asm-reg-var-local.c
    clang/test/CodeGen/atomic-arm64.c
    clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
    clang/test/CodeGen/attr-disable-tail-calls.c
    clang/test/CodeGen/attr-func-def.c
    clang/test/CodeGen/attr-naked.c
    clang/test/CodeGen/attr-weak-import.c
    clang/test/CodeGen/available-externally-suppress.c
    clang/test/CodeGen/block-byref-aggr.c
    clang/test/CodeGen/builtins.c
    clang/test/CodeGen/byval-memcpy-elim.c
    clang/test/CodeGen/c11atomics-ios.c
    clang/test/CodeGen/complex-indirect.c
    clang/test/CodeGen/complex-init-list.c
    clang/test/CodeGen/compound-literal.c
    clang/test/CodeGen/constructor-attribute.c
    clang/test/CodeGen/darwin-thread-specifier.c
    clang/test/CodeGen/disable-tail-calls.c
    clang/test/CodeGen/exceptions.c
    clang/test/CodeGen/ext-int-cc.c
    clang/test/CodeGen/fixed-point-tbaa.c
    clang/test/CodeGen/func-aligned.c
    clang/test/CodeGen/func-return-member.c
    clang/test/CodeGen/incomplete-function-type-2.c
    clang/test/CodeGen/incomplete-function-type.c
    clang/test/CodeGen/inline2.c
    clang/test/CodeGen/integer-overflow.c
    clang/test/CodeGen/matrix-type-builtins.c
    clang/test/CodeGen/matrix-type-operators.c
    clang/test/CodeGen/matrix-type.c
    clang/test/CodeGen/mms-bitfields.c
    clang/test/CodeGen/ms-inline-asm-align.c
    clang/test/CodeGen/ms-inline-asm.c
    clang/test/CodeGen/ms-inline-asm.cpp
    clang/test/CodeGen/ms_struct-bitfield.c
    clang/test/CodeGen/no-bitfield-type-align.c
    clang/test/CodeGen/no-opt-volatile-memcpy.c
    clang/test/CodeGen/nonnull.c
    clang/test/CodeGen/object-size.c
    clang/test/CodeGen/object-size.cpp
    clang/test/CodeGen/pass-object-size.c
    clang/test/CodeGen/pr12251.c
    clang/test/CodeGen/pragma-pack-1.c
    clang/test/CodeGen/pragma-visibility.c
    clang/test/CodeGen/private-extern-redef.c
    clang/test/CodeGen/restrict.c
    clang/test/CodeGen/sanitize-atomic-int-overflow.c
    clang/test/CodeGen/tbaa-class.cpp
    clang/test/CodeGen/tbaa-vec.cpp
    clang/test/CodeGen/tbaa.cpp
    clang/test/CodeGen/trapv.c
    clang/test/CodeGen/ubsan-builtin-checks.c
    clang/test/CodeGen/ubsan-pass-object-size.c
    clang/test/CodeGen/ubsan-pointer-overflow.c
    clang/test/CodeGen/ubsan-pointer-overflow.m
    clang/test/CodeGen/ubsan-promoted-arith.cpp
    clang/test/CodeGen/ubsan-shift.c
    clang/test/CodeGen/unsigned-overflow.c
    clang/test/CodeGen/unsigned-promotion.c
    clang/test/CodeGen/vector.c
    clang/test/CodeGen/volatile-2.c
    clang/test/CodeGenCXX/DynArrayInit.cpp
    clang/test/CodeGenCXX/abstract-class-ctors-dtors.cpp
    clang/test/CodeGenCXX/address-space-ref.cpp
    clang/test/CodeGenCXX/alloc-size.cpp
    clang/test/CodeGenCXX/anonymous-namespaces.cpp
    clang/test/CodeGenCXX/anonymous-union-member-initializer.cpp
    clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
    clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
    clang/test/CodeGenCXX/apple-kext-linkage.cpp
    clang/test/CodeGenCXX/apple-kext.cpp
    clang/test/CodeGenCXX/arm-swiftcall.cpp
    clang/test/CodeGenCXX/arm.cpp
    clang/test/CodeGenCXX/arm64.cpp
    clang/test/CodeGenCXX/armv7k.cpp
    clang/test/CodeGenCXX/atomicinit.cpp
    clang/test/CodeGenCXX/attr-notail.cpp
    clang/test/CodeGenCXX/bitfield-layout.cpp
    clang/test/CodeGenCXX/block-byref.cpp
    clang/test/CodeGenCXX/blocks.cpp
    clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp
    clang/test/CodeGenCXX/builtin-bit-cast.cpp
    clang/test/CodeGenCXX/c99-variable-length-array.cpp
    clang/test/CodeGenCXX/condition.cpp
    clang/test/CodeGenCXX/conditional-temporaries.cpp
    clang/test/CodeGenCXX/const-init-cxx1y.cpp
    clang/test/CodeGenCXX/constructor-destructor-return-this.cpp
    clang/test/CodeGenCXX/constructor-init.cpp
    clang/test/CodeGenCXX/constructors.cpp
    clang/test/CodeGenCXX/copy-initialization.cpp
    clang/test/CodeGenCXX/cxx-apple-kext.cpp
    clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
    clang/test/CodeGenCXX/cxx11-thread-local.cpp
    clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
    clang/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp
    clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
    clang/test/CodeGenCXX/debug-info-template-member.cpp
    clang/test/CodeGenCXX/default-arg-temps.cpp
    clang/test/CodeGenCXX/default-arguments.cpp
    clang/test/CodeGenCXX/delete.cpp
    clang/test/CodeGenCXX/derived-to-base-conv.cpp
    clang/test/CodeGenCXX/derived-to-base.cpp
    clang/test/CodeGenCXX/destructors.cpp
    clang/test/CodeGenCXX/eh.cpp
    clang/test/CodeGenCXX/empty-classes.cpp
    clang/test/CodeGenCXX/for-range.cpp
    clang/test/CodeGenCXX/forward-enum.cpp
    clang/test/CodeGenCXX/global-init.cpp
    clang/test/CodeGenCXX/inheriting-constructor-cleanup.cpp
    clang/test/CodeGenCXX/inheriting-constructor.cpp
    clang/test/CodeGenCXX/inline-functions.cpp
    clang/test/CodeGenCXX/key-function-vtable.cpp
    clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
    clang/test/CodeGenCXX/lambda-expressions.cpp
    clang/test/CodeGenCXX/lvalue-bitcasts.cpp
    clang/test/CodeGenCXX/mangle-98.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-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.cpp
    clang/test/CodeGenCXX/matrix-type-builtins.cpp
    clang/test/CodeGenCXX/matrix-type-operators.cpp
    clang/test/CodeGenCXX/matrix-type.cpp
    clang/test/CodeGenCXX/member-expressions.cpp
    clang/test/CodeGenCXX/member-function-pointer-calls.cpp
    clang/test/CodeGenCXX/member-functions.cpp
    clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
    clang/test/CodeGenCXX/ms_struct.cpp
    clang/test/CodeGenCXX/no-exceptions.cpp
    clang/test/CodeGenCXX/no-opt-volatile-memcpy.cpp
    clang/test/CodeGenCXX/no_destroy.cpp
    clang/test/CodeGenCXX/noescape.cpp
    clang/test/CodeGenCXX/noexcept.cpp
    clang/test/CodeGenCXX/non-const-init-cxx2a.cpp
    clang/test/CodeGenCXX/partial-destruction.cpp
    clang/test/CodeGenCXX/pass-object-size.cpp
    clang/test/CodeGenCXX/pointers-to-data-members.cpp
    clang/test/CodeGenCXX/pragma-followup_inner.cpp
    clang/test/CodeGenCXX/pragma-followup_outer.cpp
    clang/test/CodeGenCXX/reference-cast.cpp
    clang/test/CodeGenCXX/references.cpp
    clang/test/CodeGenCXX/rtti-fundamental.cpp
    clang/test/CodeGenCXX/rtti-layout.cpp
    clang/test/CodeGenCXX/rtti-linkage.cpp
    clang/test/CodeGenCXX/runtimecc.cpp
    clang/test/CodeGenCXX/rvalue-references.cpp
    clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
    clang/test/CodeGenCXX/static-member-variable-explicit-specialization.cpp
    clang/test/CodeGenCXX/strict-vtable-pointers.cpp
    clang/test/CodeGenCXX/template-instantiation.cpp
    clang/test/CodeGenCXX/temporaries.cpp
    clang/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
    clang/test/CodeGenCXX/threadsafe-statics.cpp
    clang/test/CodeGenCXX/trivial_abi.cpp
    clang/test/CodeGenCXX/typeid-cxx11.cpp
    clang/test/CodeGenCXX/typeid.cpp
    clang/test/CodeGenCXX/ubsan-bitfields.cpp
    clang/test/CodeGenCXX/ubsan-global-alignment.cpp
    clang/test/CodeGenCXX/ubsan-nullability-assign.cpp
    clang/test/CodeGenCXX/ubsan-suppress-checks.cpp
    clang/test/CodeGenCXX/ubsan-type-checks.cpp
    clang/test/CodeGenCXX/ubsan-unreachable.cpp
    clang/test/CodeGenCXX/uncode-string.cpp
    clang/test/CodeGenCXX/value-init.cpp
    clang/test/CodeGenCXX/varargs.cpp
    clang/test/CodeGenCXX/vector-splat-conversion.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-ms-compat.cpp
    clang/test/CodeGenCXX/visibility-pr36810.cpp
    clang/test/CodeGenCXX/vla.cpp
    clang/test/CodeGenCXX/volatile.cpp
    clang/test/CodeGenCXX/vtable-align.cpp
    clang/test/CodeGenCXX/vtable-assume-load.cpp
    clang/test/CodeGenCXX/vtable-available-externally.cpp
    clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
    clang/test/CodeGenCXX/vtt-layout.cpp
    clang/test/CodeGenCXX/x86_32-arguments.cpp
    clang/test/CodeGenObjC/2010-02-01-utf16-with-null.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-i386.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-unsafeclaim.m
    clang/test/CodeGenObjC/arc-weak.m
    clang/test/CodeGenObjC/arc-with-atthrow.m
    clang/test/CodeGenObjC/arc.m
    clang/test/CodeGenObjC/attr-exception.m
    clang/test/CodeGenObjC/attr-objc-runtime-visible.m
    clang/test/CodeGenObjC/autorelease.m
    clang/test/CodeGenObjC/bitfield-access.m
    clang/test/CodeGenObjC/block-6.m
    clang/test/CodeGenObjC/blocks-1.m
    clang/test/CodeGenObjC/blocks-2.m
    clang/test/CodeGenObjC/blocks.m
    clang/test/CodeGenObjC/builtin-constant-p.m
    clang/test/CodeGenObjC/builtins.m
    clang/test/CodeGenObjC/class-stubs.m
    clang/test/CodeGenObjC/constant-string-class.m
    clang/test/CodeGenObjC/direct-method.m
    clang/test/CodeGenObjC/disable-tail-call-escaping-block.m
    clang/test/CodeGenObjC/empty-collection-literals.m
    clang/test/CodeGenObjC/encode-test-5.m
    clang/test/CodeGenObjC/encode-test-6.m
    clang/test/CodeGenObjC/encode-test.m
    clang/test/CodeGenObjC/exceptions-asm-attribute.m
    clang/test/CodeGenObjC/exceptions-nonfragile.m
    clang/test/CodeGenObjC/exceptions.m
    clang/test/CodeGenObjC/extern-void-class-decl.m
    clang/test/CodeGenObjC/externally-retained.m
    clang/test/CodeGenObjC/for-in.m
    clang/test/CodeGenObjC/fp2ret.m
    clang/test/CodeGenObjC/fpret.m
    clang/test/CodeGenObjC/fragile-arc.m
    clang/test/CodeGenObjC/gc.m
    clang/test/CodeGenObjC/ivar-invariant.m
    clang/test/CodeGenObjC/local-static-block.m
    clang/test/CodeGenObjC/matrix-type-builtins.m
    clang/test/CodeGenObjC/messages-2.m
    clang/test/CodeGenObjC/metadata-symbols-64.m
    clang/test/CodeGenObjC/metadata_symbols.m
    clang/test/CodeGenObjC/mrc-weak.m
    clang/test/CodeGenObjC/noescape.m
    clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
    clang/test/CodeGenObjC/nontrivial-struct-param-init.m
    clang/test/CodeGenObjC/ns_consume_null_check.m
    clang/test/CodeGenObjC/nsvalue-objc-boxable-ios-arc.m
    clang/test/CodeGenObjC/nsvalue-objc-boxable-ios.m
    clang/test/CodeGenObjC/nsvalue-objc-boxable-mac-arc.m
    clang/test/CodeGenObjC/nsvalue-objc-boxable-mac.m
    clang/test/CodeGenObjC/objc-asm-attribute-test.m
    clang/test/CodeGenObjC/objc-dispatch-null-check.m
    clang/test/CodeGenObjC/objc-literal-tests.m
    clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
    clang/test/CodeGenObjC/objc2-legacy-dispatch.m
    clang/test/CodeGenObjC/os_log.m
    clang/test/CodeGenObjC/parameterized_classes.m
    clang/test/CodeGenObjC/strong-in-c-struct.m
    clang/test/CodeGenObjC/synchronized.m
    clang/test/CodeGenObjC/tentative-cfconstantstring.m
    clang/test/CodeGenObjC/terminate.m
    clang/test/CodeGenObjC/ubsan-nonnull-and-nullability.m
    clang/test/CodeGenObjC/ubsan-nonnull.m
    clang/test/CodeGenObjC/ubsan-nullability.m
    clang/test/CodeGenObjC/weak-in-c-struct.m
    clang/test/CodeGenObjC/weak-metaclass-visibility.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-constexpr.mm
    clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
    clang/test/CodeGenObjCXX/arc-exceptions.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-weak.mm
    clang/test/CodeGenObjCXX/arc.mm
    clang/test/CodeGenObjCXX/auto-release-result-assert.mm
    clang/test/CodeGenObjCXX/block-nested-in-lambda.mm
    clang/test/CodeGenObjCXX/copy.mm
    clang/test/CodeGenObjCXX/destroy.mm
    clang/test/CodeGenObjCXX/encode.mm
    clang/test/CodeGenObjCXX/exception-cxx.mm
    clang/test/CodeGenObjCXX/exceptions-legacy.mm
    clang/test/CodeGenObjCXX/exceptions.mm
    clang/test/CodeGenObjCXX/gc.mm
    clang/test/CodeGenObjCXX/inheriting-constructor-cleanup.mm
    clang/test/CodeGenObjCXX/lambda-expressions.mm
    clang/test/CodeGenObjCXX/lambda-to-block.mm
    clang/test/CodeGenObjCXX/literals.mm
    clang/test/CodeGenObjCXX/mangle.mm
    clang/test/CodeGenObjCXX/mrc-weak.mm
    clang/test/CodeGenObjCXX/objc-container-subscripting.mm
    clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
    clang/test/CodeGenObjCXX/personality-abuse.mm
    clang/test/CodeGenObjCXX/property-dot-copy-elision.mm
    clang/test/CodeGenObjCXX/property-dot-reference.mm
    clang/test/CodeGenObjCXX/property-lvalue-lambda.mm
    clang/test/CodeGenObjCXX/property-objects.mm
    clang/test/CodeGenObjCXX/references.mm
    clang/test/CodeGenObjCXX/ubsan-nullability-return-notypeloc.mm
    clang/test/CodeGenObjCXX/unknown-anytype.mm
    clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    clang/test/CodeGenOpenCL/builtins-f16.cl
    clang/test/Headers/xmmintrin.c
    clang/test/Modules/irgen.c
    clang/test/OpenMP/allocate_codegen.cpp
    clang/test/OpenMP/for_firstprivate_codegen.cpp
    clang/test/OpenMP/for_lastprivate_codegen.cpp
    clang/test/OpenMP/for_linear_codegen.cpp
    clang/test/OpenMP/for_reduction_codegen.cpp
    clang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp
    clang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp
    clang/test/OpenMP/master_taskloop_private_codegen.cpp
    clang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp
    clang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp
    clang/test/OpenMP/master_taskloop_simd_private_codegen.cpp
    clang/test/OpenMP/parallel_for_linear_codegen.cpp
    clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
    clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
    clang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp
    clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
    clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
    clang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp
    clang/test/OpenMP/parallel_reduction_codegen.cpp
    clang/test/OpenMP/sections_firstprivate_codegen.cpp
    clang/test/OpenMP/sections_lastprivate_codegen.cpp
    clang/test/OpenMP/sections_reduction_codegen.cpp
    clang/test/OpenMP/single_firstprivate_codegen.cpp
    clang/test/OpenMP/task_codegen.cpp
    clang/test/OpenMP/task_firstprivate_codegen.cpp
    clang/test/OpenMP/task_if_codegen.cpp
    clang/test/OpenMP/task_private_codegen.cpp
    clang/test/OpenMP/taskloop_firstprivate_codegen.cpp
    clang/test/OpenMP/taskloop_lastprivate_codegen.cpp
    clang/test/OpenMP/taskloop_private_codegen.cpp
    clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
    clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
    clang/test/OpenMP/taskloop_simd_private_codegen.cpp
    clang/test/PCH/arc-blocks.mm
    clang/test/PCH/chain-external-defs.c
    clang/test/PCH/external-defs.c
    clang/test/Profile/c-captured.c
    clang/test/Profile/c-ternary.c
    clang/test/SemaCXX/linkage.cpp
    clang/test/SemaObjC/debugger-support.m

Removed: 
    


################################################################################
diff  --git a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks-irgen.mm b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks-irgen.mm
index 24ce2cd6c198..2b4c99872462 100644
--- a/clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks-irgen.mm
+++ b/clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks-irgen.mm
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -std=c++11 -fblocks -emit-llvm -o - -triple x86_64-apple-darwin11.3 %s | FileCheck %s
 
 namespace PR12746 {
-  // CHECK: define zeroext i1 @_ZN7PR127462f1EPi
+  // CHECK: define{{.*}} zeroext i1 @_ZN7PR127462f1EPi
   bool f1(int *x) {
     // CHECK: store i8* bitcast (i1 (i8*)* @___ZN7PR127462f1EPi_block_invoke to i8*)
     bool (^outer)() = ^ {

diff  --git a/clang/test/CXX/special/class.copy/p3.cpp b/clang/test/CXX/special/class.copy/p3.cpp
index 3d87266ef327..adec6c20b588 100644
--- a/clang/test/CXX/special/class.copy/p3.cpp
+++ b/clang/test/CXX/special/class.copy/p3.cpp
@@ -13,7 +13,7 @@ void f(X<int>) { }
 struct Y : X<int> { };
 struct Z : X<float> { };
 
-// CHECK: define i32 @main()
+// CHECK: define{{.*}} i32 @main()
 int main() {
   // CHECK: call void @_ZN1YC1Ev
   // CHECK: call void @_ZN1XIiEC1ERKS0_

diff  --git a/clang/test/CXX/temp/temp.spec/temp.expl.spec/p14.cpp b/clang/test/CXX/temp/temp.spec/temp.expl.spec/p14.cpp
index aba9d3640801..e4244835dee4 100644
--- a/clang/test/CXX/temp/temp.spec/temp.expl.spec/p14.cpp
+++ b/clang/test/CXX/temp/temp.spec/temp.expl.spec/p14.cpp
@@ -3,7 +3,7 @@
 template<class T> void f(T) { /* ... */ }
 template<class T> inline void g(T) { /* ... */ }
 
-// CHECK: define void @_Z1gIiEvT_
+// CHECK: define{{.*}} void @_Z1gIiEvT_
 template<> void g<>(int) { /* ... */ }
 
 template<class T>
@@ -21,10 +21,10 @@ template<class T>
 inline void X<T>::h() {
 }
 
-// CHECK: define void @_ZN1XIiE1fEv
+// CHECK: define{{.*}} void @_ZN1XIiE1fEv
 template<> void X<int>::f() { }
 
-// CHECK: define void @_ZN1XIiE1hEv
+// CHECK: define{{.*}} void @_ZN1XIiE1hEv
 template<> void X<int>::h() { }
 
 // CHECK: define linkonce_odr void @_Z1fIiEvT_

diff  --git a/clang/test/CodeGen/2008-03-05-syncPtr.c b/clang/test/CodeGen/2008-03-05-syncPtr.c
index 4df94829f572..7c83d9fe355f 100644
--- a/clang/test/CodeGen/2008-03-05-syncPtr.c
+++ b/clang/test/CodeGen/2008-03-05-syncPtr.c
@@ -3,38 +3,38 @@
 int* foo(int** a, int* b, int* c) {
 return __sync_val_compare_and_swap (a, b, c);
 }
-// CHECK-LABEL: 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-LABEL: define i32 @foo2
+// CHECK-LABEL: define{{.*}} i32 @foo2
 // CHECK: cmpxchg
 
 int* foo3(int** a, int b) {
   return __sync_fetch_and_add (a, b);
 }
-// CHECK-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: define i32* @foo6
+// CHECK-LABEL: define{{.*}} i32* @foo6
 // CHECK: atomicrmw xchg

diff  --git a/clang/test/CodeGen/2008-04-08-NoExceptions.c b/clang/test/CodeGen/2008-04-08-NoExceptions.c
index 6528c35b5485..9388efb825a1 100644
--- a/clang/test/CodeGen/2008-04-08-NoExceptions.c
+++ b/clang/test/CodeGen/2008-04-08-NoExceptions.c
@@ -2,7 +2,7 @@
 
 void f(void);
 void g(void) {
-  // CHECK: define void @g() [[NUW:#[0-9]+]]
+  // CHECK: define{{.*}} void @g() [[NUW:#[0-9]+]]
   // CHECK-NOT: call void @f() nounwind
   f();
 }

diff  --git a/clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c b/clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
index 7401e114ddd0..b72d689659e6 100644
--- a/clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
+++ b/clang/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
@@ -8,4 +8,4 @@ struct et7 {
   52, 
 };
 
-// CHECK: @yv7 = global %struct.et7 { [0 x float] zeroinitializer, i8 52 }
+// CHECK: @yv7 ={{.*}} global %struct.et7 { [0 x float] zeroinitializer, i8 52 }

diff  --git a/clang/test/CodeGen/2008-08-07-AlignPadding1.c b/clang/test/CodeGen/2008-08-07-AlignPadding1.c
index 74468a8acdae..481a09a38514 100644
--- a/clang/test/CodeGen/2008-08-07-AlignPadding1.c
+++ b/clang/test/CodeGen/2008-08-07-AlignPadding1.c
@@ -22,7 +22,7 @@ struct gc_generation {
 
 // The idea is that there are 6 undefs in this structure initializer to cover
 // the padding between elements.
-// CHECK: @generations = global [3 x %struct.gc_generation] [%struct.gc_generation { %union._gc_head { %struct.anon { %union._gc_head* getelementptr inbounds ([3 x %struct.gc_generation], [3 x %struct.gc_generation]* @generations, i32 0, i32 0, i32 0), %union._gc_head* getelementptr inbounds ([3 x %struct.gc_generation], [3 x %struct.gc_generation]* @generations, i32 0, i32 0, i32 0), i64 0 }, [8 x i8] undef }, i32 700, i32 0, [8 x i8] undef }, %struct.gc_generation { %union._gc_head { %struct.anon { %union._gc_head* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.gc_generation]* @generations to i8*), i64 48) to %union._gc_head*), %union._gc_head* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.gc_generation]* @generations to i8*), i64 48) to %union._gc_head*), i64 0 }, [8 x i8] undef }, i32 10, i32 0, [8 x i8] undef }, %struct.gc_generation { %union._gc_head { %struct.anon { %union._gc_head* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.gc_generation]* @generations to i8*), i64 96) to %union._gc_head*), %union._gc_head* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.gc_generation]* @generations to i8*), i64 96) to %union._gc_head*), i64 0 }, [8 x i8] undef }, i32 10, i32 0, [8 x i8] undef }]
+// CHECK: @generations ={{.*}} global [3 x %struct.gc_generation] [%struct.gc_generation { %union._gc_head { %struct.anon { %union._gc_head* getelementptr inbounds ([3 x %struct.gc_generation], [3 x %struct.gc_generation]* @generations, i32 0, i32 0, i32 0), %union._gc_head* getelementptr inbounds ([3 x %struct.gc_generation], [3 x %struct.gc_generation]* @generations, i32 0, i32 0, i32 0), i64 0 }, [8 x i8] undef }, i32 700, i32 0, [8 x i8] undef }, %struct.gc_generation { %union._gc_head { %struct.anon { %union._gc_head* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.gc_generation]* @generations to i8*), i64 48) to %union._gc_head*), %union._gc_head* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.gc_generation]* @generations to i8*), i64 48) to %union._gc_head*), i64 0 }, [8 x i8] undef }, i32 10, i32 0, [8 x i8] undef }, %struct.gc_generation { %union._gc_head { %struct.anon { %union._gc_head* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.gc_generation]* @generations to i8*), i64 96) to %union._gc_head*), %union._gc_head* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.gc_generation]* @generations to i8*), i64 96) to %union._gc_head*), i64 0 }, [8 x i8] undef }, i32 10, i32 0, [8 x i8] undef }]
 /* linked lists of container objects */
 struct gc_generation generations[3] = {
         /* PyGC_Head,                           threshold,      count */

diff  --git a/clang/test/CodeGen/2009-10-20-GlobalDebug.c b/clang/test/CodeGen/2009-10-20-GlobalDebug.c
index 14b832013630..f8bdebca5836 100644
--- a/clang/test/CodeGen/2009-10-20-GlobalDebug.c
+++ b/clang/test/CodeGen/2009-10-20-GlobalDebug.c
@@ -2,7 +2,7 @@
 // RUN: %clang -target i386-apple-darwin10 -flto -S -g %s -o - | FileCheck %s
 
 // CHECK: @main.localstatic = internal global i32 0, align 4, !dbg [[L:![0-9]+]]
-// CHECK: @global = global i32 0, align 4, !dbg [[G:![0-9]+]]
+// CHECK: @global ={{.*}} global i32 0, align 4, !dbg [[G:![0-9]+]]
 
 int global;
 int main() {

diff  --git a/clang/test/CodeGen/64bit-swiftcall.c b/clang/test/CodeGen/64bit-swiftcall.c
index fc1fcd5d10f3..b8b1e56b1b17 100644
--- a/clang/test/CodeGen/64bit-swiftcall.c
+++ b/clang/test/CodeGen/64bit-swiftcall.c
@@ -48,7 +48,7 @@ void test_context_error_1() {
   float *error;
   context_error_1(&x, &error);
 }
-// CHECK-LABEL: define void @test_context_error_1()
+// CHECK-LABEL: define{{.*}} void @test_context_error_1()
 // CHECK:       [[X:%.*]] = alloca i32, align 4
 // CHECK:       [[ERROR:%.*]] = alloca float*, align 8
 // CHECK:       [[TEMP:%.*]] = alloca swifterror float*, align 8
@@ -109,7 +109,7 @@ typedef struct {
   int f1;
 } struct_1;
 TEST(struct_1);
-// CHECK-LABEL: define swiftcc { i64, i64 } @return_struct_1() {{.*}}{
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i64 } @return_struct_1() {{.*}}{
 // CHECK:   [[RET:%.*]] = alloca [[STRUCT1:%.*]], align 4
 // CHECK:   call void @llvm.memset
 // CHECK:   [[CAST:%.*]] = bitcast [[STRUCT1]]* %retval to { i64, i64 }*
@@ -121,7 +121,7 @@ TEST(struct_1);
 // CHECK:   [[R1:%.*]] = insertvalue { i64, i64 } [[R0]], i64 [[T1]], 1
 // CHECK:   ret { i64, i64 } [[R1]]
 // CHECK: }
-// CHECK-LABEL: define swiftcc void @take_struct_1(i64 %0, i64 %1) {{.*}}{
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_1(i64 %0, i64 %1) {{.*}}{
 // CHECK:   [[V:%.*]] = alloca [[STRUCT1:%.*]], align 4
 // CHECK:   [[CAST:%.*]] = bitcast [[STRUCT1]]* [[V]] to { i64, i64 }*
 // CHECK:   [[GEP0:%.*]] = getelementptr inbounds { i64, i64 }, { i64, i64 }* [[CAST]], i32 0, i32 0
@@ -130,7 +130,7 @@ TEST(struct_1);
 // CHECK:   store i64 %1, i64* [[GEP1]], align 4
 // CHECK:   ret void
 // CHECK: }
-// CHECK-LABEL: define void @test_struct_1() {{.*}}{
+// CHECK-LABEL: define{{.*}} void @test_struct_1() {{.*}}{
 // CHECK:   [[AGG:%.*]] = alloca [[STRUCT1:%.*]], align 4
 // CHECK:   [[RET:%.*]] = call swiftcc { i64, i64 } @return_struct_1()
 // CHECK:   [[CAST:%.*]] = bitcast [[STRUCT1]]* [[AGG]] to { i64, i64 }*
@@ -157,7 +157,7 @@ typedef struct {
   int f1;
 } struct_2;
 TEST(struct_2);
-// CHECK-LABEL: define swiftcc { i64, i64 } @return_struct_2() {{.*}}{
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i64 } @return_struct_2() {{.*}}{
 // CHECK:   [[RET:%.*]] = alloca [[STRUCT2_TYPE]], align 4
 // CHECK:   [[CASTVAR:%.*]] = bitcast {{.*}} [[RET]]
 // CHECK:   call void @llvm.memcpy{{.*}}({{.*}}[[CASTVAR]], {{.*}}[[STRUCT2_RESULT]]
@@ -170,7 +170,7 @@ TEST(struct_2);
 // CHECK:   [[R1:%.*]] = insertvalue { i64, i64 } [[R0]], i64 [[T1]], 1
 // CHECK:   ret { i64, i64 } [[R1]]
 // CHECK: }
-// CHECK-LABEL: define swiftcc void @take_struct_2(i64 %0, i64 %1) {{.*}}{
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_2(i64 %0, i64 %1) {{.*}}{
 // CHECK:   [[V:%.*]] = alloca [[STRUCT:%.*]], align 4
 // CHECK:   [[CAST:%.*]] = bitcast [[STRUCT]]* [[V]] to { i64, i64 }*
 // CHECK:   [[GEP0:%.*]] = getelementptr inbounds { i64, i64 }, { i64, i64 }* [[CAST]], i32 0, i32 0
@@ -179,7 +179,7 @@ TEST(struct_2);
 // CHECK:   store i64 %1, i64* [[GEP1]], align 4
 // CHECK:   ret void
 // CHECK: }
-// CHECK-LABEL: define void @test_struct_2() {{.*}} {
+// CHECK-LABEL: define{{.*}} void @test_struct_2() {{.*}} {
 // CHECK:   [[TMP:%.*]] = alloca [[STRUCT2_TYPE]], align 4
 // CHECK:   [[CALL:%.*]] = call swiftcc { i64, i64 } @return_struct_2()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[STRUCT2_TYPE]]* [[TMP]] to { i64, i64 }*
@@ -209,7 +209,7 @@ typedef struct {
   __attribute__((packed)) float f;
 } struct_misaligned_1;
 TEST(struct_misaligned_1)
-// CHECK-LABEL: define swiftcc i64 @return_struct_misaligned_1()
+// CHECK-LABEL: define{{.*}} swiftcc i64 @return_struct_misaligned_1()
 // CHECK:  [[RET:%.*]] = alloca [[STRUCT:%.*]], align 1
 // CHECK:  [[CAST:%.*]] = bitcast [[STRUCT]]* [[RET]] to i8*
 // CHECK:  call void @llvm.memset{{.*}}(i8* align 1 [[CAST]], i8 0, i64 5
@@ -218,14 +218,14 @@ TEST(struct_misaligned_1)
 // CHECK:  [[R0:%.*]] = load i64, i64* [[GEP]], align 1
 // CHECK:  ret i64 [[R0]]
 // CHECK:}
-// CHECK-LABEL: define swiftcc void @take_struct_misaligned_1(i64 %0) {{.*}}{
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_misaligned_1(i64 %0) {{.*}}{
 // CHECK:   [[V:%.*]] = alloca [[STRUCT:%.*]], align 1
 // CHECK:   [[CAST:%.*]] = bitcast [[STRUCT]]* [[V]] to { i64 }*
 // CHECK:   [[GEP:%.*]] = getelementptr inbounds { i64 }, { i64 }* [[CAST]], i32 0, i32 0
 // CHECK:   store i64 %0, i64* [[GEP]], align 1
 // CHECK:   ret void
 // CHECK: }
-// CHECK: define void @test_struct_misaligned_1() {{.*}}{
+// CHECK: define{{.*}} void @test_struct_misaligned_1() {{.*}}{
 // CHECK:   [[AGG:%.*]] = alloca [[STRUCT:%.*]], align 1
 // CHECK:   [[CALL:%.*]] = call swiftcc i64 @return_struct_misaligned_1()
 // CHECK:   [[T0:%.*]] = bitcast [[STRUCT]]* [[AGG]] to { i64 }*
@@ -258,7 +258,7 @@ typedef union {
   double d;
 } union_het_fp;
 TEST(union_het_fp)
-// CHECK-LABEL: define swiftcc i64 @return_union_het_fp()
+// CHECK-LABEL: define{{.*}} swiftcc i64 @return_union_het_fp()
 // CHECK:  [[RET:%.*]] = alloca [[UNION:%.*]], align 8
 // CHECK:  [[CAST:%.*]] = bitcast [[UNION]]* [[RET]] to i8*
 // CHECK:  call void @llvm.memcpy{{.*}}(i8* align 8 [[CAST]]
@@ -266,14 +266,14 @@ TEST(union_het_fp)
 // CHECK:  [[GEP:%.*]] = getelementptr inbounds { i64 }, { i64 }* [[CAST]], i32 0, i32 0
 // CHECK:  [[R0:%.*]] = load i64, i64* [[GEP]], align 8
 // CHECK:  ret i64 [[R0]]
-// CHECK-LABEL: define swiftcc void @take_union_het_fp(i64 %0) {{.*}}{
+// CHECK-LABEL: define{{.*}} swiftcc void @take_union_het_fp(i64 %0) {{.*}}{
 // CHECK:   [[V:%.*]] = alloca [[UNION:%.*]], align 8
 // CHECK:   [[CAST:%.*]] = bitcast [[UNION]]* [[V]] to { i64 }*
 // CHECK:   [[GEP:%.*]] = getelementptr inbounds { i64 }, { i64 }* [[CAST]], i32 0, i32 0
 // CHECK:   store i64 %0, i64* [[GEP]], align 8
 // CHECK:   ret void
 // CHECK: }
-// CHECK-LABEL: define void @test_union_het_fp() {{.*}}{
+// CHECK-LABEL: define{{.*}} void @test_union_het_fp() {{.*}}{
 // CHECK:   [[AGG:%.*]] = alloca [[UNION:%.*]], align 8
 // CHECK:   [[CALL:%.*]] = call swiftcc i64 @return_union_het_fp()
 // CHECK:   [[T0:%.*]] = bitcast [[UNION]]* [[AGG]] to { i64 }*
@@ -292,7 +292,7 @@ typedef union {
   float f2;
 } union_hom_fp;
 TEST(union_hom_fp)
-// CHECK-LABEL: define void @test_union_hom_fp()
+// CHECK-LABEL: define{{.*}} void @test_union_hom_fp()
 // CHECK:   [[TMP:%.*]] = alloca [[REC:%.*]], align 4
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] float @return_union_hom_fp()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[TMP]] to [[AGG:{ float }]]*
@@ -309,7 +309,7 @@ typedef union {
   float4 fv2;
 } union_hom_fp_partial;
 TEST(union_hom_fp_partial)
-// CHECK: define void @test_union_hom_fp_partial()
+// CHECK: define{{.*}} void @test_union_hom_fp_partial()
 // CHECK:   [[AGG:%.*]] = alloca [[UNION:%.*]], align 16
 // CHECK:   [[CALL:%.*]] = call swiftcc { float, float, float, float } @return_union_hom_fp_partial()
 // CHECK:   [[CAST:%.*]] = bitcast [[UNION]]* [[AGG]] to { float, float, float, float }*
@@ -343,7 +343,7 @@ typedef union {
   float4 fv2;
 } union_het_fpv_partial;
 TEST(union_het_fpv_partial)
-// CHECK-LABEL: define void @test_union_het_fpv_partial()
+// CHECK-LABEL: define{{.*}} void @test_union_het_fpv_partial()
 // CHECK:   [[AGG:%.*]] = alloca [[UNION:%.*]], align 16
 // CHECK:   [[CALL:%.*]] = call swiftcc { i64, float, float } @return_union_het_fpv_partial()
 // CHECK:   [[CAST:%.*]] = bitcast [[UNION]]* [[AGG]] to { i64, float, float }*
@@ -398,7 +398,7 @@ TEST(int8)
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 1
 // CHECK:   store <4 x i32> %1, <4 x i32>* [[T0]], align
 // CHECK:   ret void
-// CHECK-LABEL: define void @test_int8()
+// CHECK-LABEL: define{{.*}} void @test_int8()
 // CHECK:   [[TMP1:%.*]] = alloca [[REC]], align
 // CHECK:   [[TMP2:%.*]] = alloca [[REC]], align
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG]] @return_int8()
@@ -442,7 +442,7 @@ TEST(int5)
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 1
 // CHECK:   store i32 %1, i32* [[T0]], align
 // CHECK:   ret void
-// CHECK-LABEL: define void @test_int5()
+// CHECK-LABEL: define{{.*}} void @test_int5()
 // CHECK:   [[TMP1:%.*]] = alloca [[REC]], align
 // CHECK:   [[TMP2:%.*]] = alloca [[REC]], align
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG]] @return_int5()
@@ -468,22 +468,22 @@ typedef struct {
   int3 v __attribute__((packed));
 } misaligned_int3;
 TEST(misaligned_int3)
-// CHECK-LABEL: define swiftcc void @take_misaligned_int3(i64 %0, i64 %1)
+// CHECK-LABEL: define{{.*}} swiftcc void @take_misaligned_int3(i64 %0, i64 %1)
 
 typedef struct {
   float f0;
 } struct_f1;
 TEST(struct_f1)
-// CHECK-LABEL: define swiftcc float @return_struct_f1()
-// CHECK-LABEL: define swiftcc void @take_struct_f1(float %0)
+// CHECK-LABEL: define{{.*}} swiftcc float @return_struct_f1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_f1(float %0)
 
 typedef struct {
   float f0;
   float f1;
 } struct_f2;
 TEST(struct_f2)
-// CHECK-LABEL: define swiftcc { float, float } @return_struct_f2()
-// CHECK-LABEL: define swiftcc void @take_struct_f2(float %0, float %1)
+// CHECK-LABEL: define{{.*}} swiftcc { float, float } @return_struct_f2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_f2(float %0, float %1)
 
 typedef struct {
   float f0;
@@ -491,8 +491,8 @@ typedef struct {
   float f2;
 } struct_f3;
 TEST(struct_f3)
-// CHECK-LABEL: define swiftcc { float, float, float } @return_struct_f3()
-// CHECK-LABEL: define swiftcc void @take_struct_f3(float %0, float %1, float %2)
+// CHECK-LABEL: define{{.*}} swiftcc { float, float, float } @return_struct_f3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_f3(float %0, float %1, float %2)
 
 typedef struct {
   float f0;
@@ -501,16 +501,16 @@ typedef struct {
   float f3;
 } struct_f4;
 TEST(struct_f4)
-// CHECK-LABEL: define swiftcc { float, float, float, float } @return_struct_f4()
-// CHECK-LABEL: define swiftcc void @take_struct_f4(float %0, float %1, float %2, float %3)
+// CHECK-LABEL: define{{.*}} swiftcc { float, float, float, float } @return_struct_f4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_f4(float %0, float %1, float %2, float %3)
 
 
 typedef struct {
   double d0;
 } struct_d1;
 TEST(struct_d1)
-// CHECK-LABEL: define swiftcc double @return_struct_d1()
-// CHECK-LABEL: define swiftcc void @take_struct_d1(double %0)
+// CHECK-LABEL: define{{.*}} swiftcc double @return_struct_d1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_d1(double %0)
 
 typedef struct {
   double d0;
@@ -518,16 +518,16 @@ typedef struct {
 } struct_d2;
 TEST(struct_d2)
 
-// CHECK-LABEL: define swiftcc { double, double } @return_struct_d2()
-// CHECK-LABEL: define swiftcc void @take_struct_d2(double %0, double %1)
+// CHECK-LABEL: define{{.*}} swiftcc { double, double } @return_struct_d2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_d2(double %0, double %1)
 typedef struct {
   double d0;
   double d1;
   double d2;
 } struct_d3;
 TEST(struct_d3)
-// CHECK-LABEL: define swiftcc { double, double, double } @return_struct_d3()
-// CHECK-LABEL: define swiftcc void @take_struct_d3(double %0, double %1, double %2)
+// CHECK-LABEL: define{{.*}} swiftcc { double, double, double } @return_struct_d3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_d3(double %0, double %1, double %2)
 
 typedef struct {
   double d0;
@@ -536,8 +536,8 @@ typedef struct {
   double d3;
 } struct_d4;
 TEST(struct_d4)
-// CHECK-LABEL: define swiftcc { double, double, double, double } @return_struct_d4()
-// CHECK-LABEL: define swiftcc void @take_struct_d4(double %0, double %1, double %2, double %3)
+// CHECK-LABEL: define{{.*}} swiftcc { double, double, double, double } @return_struct_d4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_d4(double %0, double %1, double %2, double %3)
 
 typedef struct {
   double d0;
@@ -547,23 +547,23 @@ typedef struct {
   double d4;
 } struct_d5;
 TEST(struct_d5)
-// CHECK: define swiftcc void @return_struct_d5([[STRUCT5:%.*]]* noalias sret([[STRUCT5]])
-// CHECK: define swiftcc void @take_struct_d5([[STRUCT5]]
+// CHECK: define{{.*}} swiftcc void @return_struct_d5([[STRUCT5:%.*]]* noalias sret([[STRUCT5]])
+// CHECK: define{{.*}} swiftcc void @take_struct_d5([[STRUCT5]]
 
 typedef struct {
   char c0;
 } struct_c1;
 TEST(struct_c1)
-// CHECK-LABEL: define swiftcc i8 @return_struct_c1()
-// CHECK-LABEL: define swiftcc void @take_struct_c1(i8 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i8 @return_struct_c1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c1(i8 %0)
 
 typedef struct {
   char c0;
   char c1;
 } struct_c2;
 TEST(struct_c2)
-// CHECK-LABEL: define swiftcc i16 @return_struct_c2()
-// CHECK-LABEL: define swiftcc void @take_struct_c2(i16 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i16 @return_struct_c2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c2(i16 %0)
 //
 
 typedef struct {
@@ -572,8 +572,8 @@ typedef struct {
   char c2;
 } struct_c3;
 TEST(struct_c3)
-// CHECK-LABEL: define swiftcc i32 @return_struct_c3()
-// CHECK-LABEL: define swiftcc void @take_struct_c3(i32 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i32 @return_struct_c3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c3(i32 %0)
 
 typedef struct {
   char c0;
@@ -582,8 +582,8 @@ typedef struct {
   char c3;
 } struct_c4;
 TEST(struct_c4)
-// CHECK-LABEL: define swiftcc i32 @return_struct_c4()
-// CHECK-LABEL: define swiftcc void @take_struct_c4(i32 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i32 @return_struct_c4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c4(i32 %0)
 
 typedef struct {
   char c0;
@@ -593,8 +593,8 @@ typedef struct {
   char c4;
 } struct_c5;
 TEST(struct_c5)
-// CHECK-LABEL: define swiftcc i64 @return_struct_c5()
-// CHECK-LABEL: define swiftcc void @take_struct_c5(i64 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i64 @return_struct_c5()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c5(i64 %0)
 //
 typedef struct {
   char c0;
@@ -608,23 +608,23 @@ typedef struct {
   char c8;
 } struct_c9;
 TEST(struct_c9)
-// CHECK-LABEL: define swiftcc { i64, i8 } @return_struct_c9()
-// CHECK-LABEL: define swiftcc void @take_struct_c9(i64 %0, i8 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i8 } @return_struct_c9()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c9(i64 %0, i8 %1)
 
 typedef struct {
   short s0;
 } struct_s1;
 TEST(struct_s1)
-// CHECK-LABEL: define swiftcc i16 @return_struct_s1()
-// CHECK-LABEL: define swiftcc void @take_struct_s1(i16 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i16 @return_struct_s1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s1(i16 %0)
 
 typedef struct {
   short s0;
   short s1;
 } struct_s2;
 TEST(struct_s2)
-// CHECK-LABEL: define swiftcc i32 @return_struct_s2()
-// CHECK-LABEL: define swiftcc void @take_struct_s2(i32 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i32 @return_struct_s2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s2(i32 %0)
 //
 
 typedef struct {
@@ -633,8 +633,8 @@ typedef struct {
   short s2;
 } struct_s3;
 TEST(struct_s3)
-// CHECK-LABEL: define swiftcc i64 @return_struct_s3()
-// CHECK-LABEL: define swiftcc void @take_struct_s3(i64 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i64 @return_struct_s3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s3(i64 %0)
 
 typedef struct {
   short s0;
@@ -643,8 +643,8 @@ typedef struct {
   short s3;
 } struct_s4;
 TEST(struct_s4)
-// CHECK-LABEL: define swiftcc i64 @return_struct_s4()
-// CHECK-LABEL: define swiftcc void @take_struct_s4(i64 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i64 @return_struct_s4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s4(i64 %0)
 
 typedef struct {
   short s0;
@@ -654,24 +654,24 @@ typedef struct {
   short s4;
 } struct_s5;
 TEST(struct_s5)
-// CHECK-LABEL: define swiftcc { i64, i16 } @return_struct_s5()
-// CHECK-LABEL: define swiftcc void @take_struct_s5(i64 %0, i16 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i16 } @return_struct_s5()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s5(i64 %0, i16 %1)
 
 
 typedef struct {
   int i0;
 } struct_i1;
 TEST(struct_i1)
-// CHECK-LABEL: define swiftcc i32 @return_struct_i1()
-// CHECK-LABEL: define swiftcc void @take_struct_i1(i32 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i32 @return_struct_i1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_i1(i32 %0)
 
 typedef struct {
   int i0;
   int i1;
 } struct_i2;
 TEST(struct_i2)
-// CHECK-LABEL: define swiftcc i64 @return_struct_i2()
-// CHECK-LABEL: define swiftcc void @take_struct_i2(i64 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i64 @return_struct_i2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_i2(i64 %0)
 
 typedef struct {
   int i0;
@@ -679,8 +679,8 @@ typedef struct {
   int i2;
 } struct_i3;
 TEST(struct_i3)
-// CHECK-LABEL: define swiftcc { i64, i32 } @return_struct_i3()
-// CHECK-LABEL: define swiftcc void @take_struct_i3(i64 %0, i32 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i32 } @return_struct_i3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_i3(i64 %0, i32 %1)
 
 typedef struct {
   int i0;
@@ -689,23 +689,23 @@ typedef struct {
   int i3;
 } struct_i4;
 TEST(struct_i4)
-// CHECK-LABEL: define swiftcc { i64, i64 } @return_struct_i4()
-// CHECK-LABEL: define swiftcc void @take_struct_i4(i64 %0, i64 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i64 } @return_struct_i4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_i4(i64 %0, i64 %1)
 
 typedef struct {
   long long l0;
 } struct_l1;
 TEST(struct_l1)
-// CHECK-LABEL: define swiftcc i64 @return_struct_l1()
-// CHECK-LABEL: define swiftcc void @take_struct_l1(i64 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i64 @return_struct_l1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_l1(i64 %0)
 
 typedef struct {
   long long l0;
   long long l1;
 } struct_l2;
 TEST(struct_l2)
-// CHECK-LABEL: define swiftcc { i64, i64 } @return_struct_l2()
-// CHECK-LABEL: define swiftcc void @take_struct_l2(i64 %0, i64 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i64 } @return_struct_l2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_l2(i64 %0, i64 %1)
 
 typedef struct {
   long long l0;
@@ -713,8 +713,8 @@ typedef struct {
   long long l2;
 } struct_l3;
 TEST(struct_l3)
-// CHECK-LABEL: define swiftcc { i64, i64, i64 } @return_struct_l3()
-// CHECK-LABEL: define swiftcc void @take_struct_l3(i64 %0, i64 %1, i64 %2)
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i64, i64 } @return_struct_l3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_l3(i64 %0, i64 %1, i64 %2)
 
 typedef struct {
   long long l0;
@@ -723,8 +723,8 @@ typedef struct {
   long long l3;
 } struct_l4;
 TEST(struct_l4)
-// CHECK-LABEL: define swiftcc { i64, i64, i64, i64 } @return_struct_l4()
-// CHECK-LABEL: define swiftcc void @take_struct_l4(i64 %0, i64 %1, i64 %2, i64 %3)
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i64, i64, i64 } @return_struct_l4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_l4(i64 %0, i64 %1, i64 %2, i64 %3)
 
 typedef struct {
   long long l0;
@@ -734,23 +734,23 @@ typedef struct {
   long long l4;
 } struct_l5;
 TEST(struct_l5)
-// CHECK: define swiftcc void @return_struct_l5([[STRUCT5:%.*]]* noalias sret([[STRUCT5]])
-// CHECK: define swiftcc void @take_struct_l5([[STRUCT5]]*
+// CHECK: define{{.*}} swiftcc void @return_struct_l5([[STRUCT5:%.*]]* noalias sret([[STRUCT5]])
+// CHECK: define{{.*}} swiftcc void @take_struct_l5([[STRUCT5]]*
 
 typedef struct {
   char16 c0;
 } struct_vc1;
 TEST(struct_vc1)
-// CHECK-LABEL: define swiftcc <16 x i8> @return_struct_vc1()
-// CHECK-LABEL: define swiftcc void @take_struct_vc1(<16 x i8> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <16 x i8> @return_struct_vc1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vc1(<16 x i8> %0)
 
 typedef struct {
   char16 c0;
   char16 c1;
 } struct_vc2;
 TEST(struct_vc2)
-// CHECK-LABEL: define swiftcc { <16 x i8>, <16 x i8> } @return_struct_vc2()
-// CHECK-LABEL: define swiftcc void @take_struct_vc2(<16 x i8> %0, <16 x i8> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <16 x i8>, <16 x i8> } @return_struct_vc2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vc2(<16 x i8> %0, <16 x i8> %1)
 
 typedef struct {
   char16 c0;
@@ -758,8 +758,8 @@ typedef struct {
   char16 c2;
 } struct_vc3;
 TEST(struct_vc3)
-// CHECK-LABEL: define swiftcc { <16 x i8>, <16 x i8>, <16 x i8> } @return_struct_vc3()
-// CHECK-LABEL: define swiftcc void @take_struct_vc3(<16 x i8> %0, <16 x i8> %1, <16 x i8> %2)
+// CHECK-LABEL: define{{.*}} swiftcc { <16 x i8>, <16 x i8>, <16 x i8> } @return_struct_vc3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vc3(<16 x i8> %0, <16 x i8> %1, <16 x i8> %2)
 
 typedef struct {
   char16 c0;
@@ -768,8 +768,8 @@ typedef struct {
   char16 c3;
 } struct_vc4;
 TEST(struct_vc4)
-// CHECK-LABEL: define swiftcc { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } @return_struct_vc4()
-// CHECK-LABEL: define swiftcc void @take_struct_vc4(<16 x i8> %0, <16 x i8> %1, <16 x i8> %2, <16 x i8> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } @return_struct_vc4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vc4(<16 x i8> %0, <16 x i8> %1, <16 x i8> %2, <16 x i8> %3)
 
 typedef struct {
   char16 c0;
@@ -779,23 +779,23 @@ typedef struct {
   char16 c4;
 } struct_vc5;
 TEST(struct_vc5)
-// CHECK: define swiftcc void @return_struct_vc5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vc5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vc5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vc5([[STRUCT]]
 
 typedef struct {
   short8 c0;
 } struct_vs1;
 TEST(struct_vs1)
-// CHECK-LABEL: define swiftcc <8 x i16> @return_struct_vs1()
-// CHECK-LABEL: define swiftcc void @take_struct_vs1(<8 x i16> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <8 x i16> @return_struct_vs1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vs1(<8 x i16> %0)
 
 typedef struct {
   short8 c0;
   short8 c1;
 } struct_vs2;
 TEST(struct_vs2)
-// CHECK-LABEL: define swiftcc { <8 x i16>, <8 x i16> } @return_struct_vs2()
-// CHECK-LABEL: define swiftcc void @take_struct_vs2(<8 x i16> %0, <8 x i16> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <8 x i16>, <8 x i16> } @return_struct_vs2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vs2(<8 x i16> %0, <8 x i16> %1)
 
 typedef struct {
   short8 c0;
@@ -803,8 +803,8 @@ typedef struct {
   short8 c2;
 } struct_vs3;
 TEST(struct_vs3)
-// CHECK-LABEL: define swiftcc { <8 x i16>, <8 x i16>, <8 x i16> } @return_struct_vs3()
-// CHECK-LABEL: define swiftcc void @take_struct_vs3(<8 x i16> %0, <8 x i16> %1, <8 x i16> %2)
+// CHECK-LABEL: define{{.*}} swiftcc { <8 x i16>, <8 x i16>, <8 x i16> } @return_struct_vs3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vs3(<8 x i16> %0, <8 x i16> %1, <8 x i16> %2)
 
 typedef struct {
   short8 c0;
@@ -813,8 +813,8 @@ typedef struct {
   short8 c3;
 } struct_vs4;
 TEST(struct_vs4)
-// CHECK-LABEL: define swiftcc { <8 x i16>, <8 x i16>, <8 x i16>, <8 x i16> } @return_struct_vs4()
-// CHECK-LABEL: define swiftcc void @take_struct_vs4(<8 x i16> %0, <8 x i16> %1, <8 x i16> %2, <8 x i16> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <8 x i16>, <8 x i16>, <8 x i16>, <8 x i16> } @return_struct_vs4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vs4(<8 x i16> %0, <8 x i16> %1, <8 x i16> %2, <8 x i16> %3)
 
 typedef struct {
   short8 c0;
@@ -824,23 +824,23 @@ typedef struct {
   short8 c4;
 } struct_vs5;
 TEST(struct_vs5)
-// CHECK: define swiftcc void @return_struct_vs5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vs5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vs5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vs5([[STRUCT]]
 
 typedef struct {
   int4 c0;
 } struct_vi1;
 TEST(struct_vi1)
-// CHECK-LABEL: define swiftcc <4 x i32> @return_struct_vi1()
-// CHECK-LABEL: define swiftcc void @take_struct_vi1(<4 x i32> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <4 x i32> @return_struct_vi1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vi1(<4 x i32> %0)
 
 typedef struct {
   int4 c0;
   int4 c1;
 } struct_vi2;
 TEST(struct_vi2)
-// CHECK-LABEL: define swiftcc { <4 x i32>, <4 x i32> } @return_struct_vi2()
-// CHECK-LABEL: define swiftcc void @take_struct_vi2(<4 x i32> %0, <4 x i32> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x i32>, <4 x i32> } @return_struct_vi2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vi2(<4 x i32> %0, <4 x i32> %1)
 
 typedef struct {
   int4 c0;
@@ -848,8 +848,8 @@ typedef struct {
   int4 c2;
 } struct_vi3;
 TEST(struct_vi3)
-// CHECK-LABEL: define swiftcc { <4 x i32>, <4 x i32>, <4 x i32> } @return_struct_vi3()
-// CHECK-LABEL: define swiftcc void @take_struct_vi3(<4 x i32> %0, <4 x i32> %1, <4 x i32> %2)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x i32>, <4 x i32>, <4 x i32> } @return_struct_vi3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vi3(<4 x i32> %0, <4 x i32> %1, <4 x i32> %2)
 
 typedef struct {
   int4 c0;
@@ -858,8 +858,8 @@ typedef struct {
   int4 c3;
 } struct_vi4;
 TEST(struct_vi4)
-// CHECK-LABEL: define swiftcc { <4 x i32>, <4 x i32>, <4 x i32>, <4 x i32> } @return_struct_vi4()
-// CHECK-LABEL: define swiftcc void @take_struct_vi4(<4 x i32> %0, <4 x i32> %1, <4 x i32> %2, <4 x i32> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x i32>, <4 x i32>, <4 x i32>, <4 x i32> } @return_struct_vi4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vi4(<4 x i32> %0, <4 x i32> %1, <4 x i32> %2, <4 x i32> %3)
 
 typedef struct {
   int4 c0;
@@ -869,15 +869,15 @@ typedef struct {
   int4 c4;
 } struct_vi5;
 TEST(struct_vi5)
-// CHECK: define swiftcc void @return_struct_vi5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vi5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vi5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vi5([[STRUCT]]
 
 typedef struct {
   long2 c0;
 } struct_vl1;
 TEST(struct_vl1)
-// CHECK-LABEL: define swiftcc <2 x i64> @return_struct_vl1()
-// CHECK-LABEL: define swiftcc void @take_struct_vl1(<2 x i64> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <2 x i64> @return_struct_vl1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vl1(<2 x i64> %0)
 
 typedef struct {
   long2 c0;
@@ -886,8 +886,8 @@ typedef struct {
   long2 c3;
 } struct_vl4;
 TEST(struct_vl4)
-// CHECK-LABEL: define swiftcc { <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @return_struct_vl4()
-// CHECK-LABEL: define swiftcc void @take_struct_vl4(<2 x i64> %0, <2 x i64> %1, <2 x i64> %2, <2 x i64> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @return_struct_vl4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vl4(<2 x i64> %0, <2 x i64> %1, <2 x i64> %2, <2 x i64> %3)
 
 typedef struct {
   long2 c0;
@@ -897,15 +897,15 @@ typedef struct {
   long2 c4;
 } struct_vl5;
 TEST(struct_vl5)
-// CHECK: define swiftcc void @return_struct_vl5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vl5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vl5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vl5([[STRUCT]]
 
 typedef struct {
   double2 c0;
 } struct_vd1;
 TEST(struct_vd1)
-// CHECK-LABEL: define swiftcc <2 x double> @return_struct_vd1()
-// CHECK-LABEL: define swiftcc void @take_struct_vd1(<2 x double> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <2 x double> @return_struct_vd1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vd1(<2 x double> %0)
 
 typedef struct {
   double2 c0;
@@ -914,8 +914,8 @@ typedef struct {
   double2 c3;
 } struct_vd4;
 TEST(struct_vd4)
-// CHECK-LABEL: define swiftcc { <2 x double>, <2 x double>, <2 x double>, <2 x double> } @return_struct_vd4()
-// CHECK-LABEL: define swiftcc void @take_struct_vd4(<2 x double> %0, <2 x double> %1, <2 x double> %2, <2 x double> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x double>, <2 x double>, <2 x double>, <2 x double> } @return_struct_vd4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vd4(<2 x double> %0, <2 x double> %1, <2 x double> %2, <2 x double> %3)
 
 typedef struct {
   double2 c0;
@@ -925,23 +925,23 @@ typedef struct {
   double2 c4;
 } struct_vd5;
 TEST(struct_vd5)
-// CHECK: define swiftcc void @return_struct_vd5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vd5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vd5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vd5([[STRUCT]]
 
 typedef struct {
   double4 c0;
 } struct_vd41;
 TEST(struct_vd41)
-// CHECK-LABEL: define swiftcc { <2 x double>, <2 x double> } @return_struct_vd41()
-// CHECK-LABEL: define swiftcc void @take_struct_vd41(<2 x double> %0, <2 x double> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x double>, <2 x double> } @return_struct_vd41()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vd41(<2 x double> %0, <2 x double> %1)
 
 typedef struct {
   double4 c0;
   double4 c1;
 } struct_vd42;
 TEST(struct_vd42)
-// CHECK-LABEL: define swiftcc { <2 x double>, <2 x double>, <2 x double>, <2 x double> } @return_struct_vd42()
-// CHECK-LABEL: define swiftcc void @take_struct_vd42(<2 x double> %0, <2 x double> %1, <2 x double> %2, <2 x double> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x double>, <2 x double>, <2 x double>, <2 x double> } @return_struct_vd42()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vd42(<2 x double> %0, <2 x double> %1, <2 x double> %2, <2 x double> %3)
 
 typedef struct {
   double4 c0;
@@ -949,23 +949,23 @@ typedef struct {
   double4 c2;
 } struct_vd43;
 TEST(struct_vd43)
-// CHECK: define swiftcc void @return_struct_vd43([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vd43([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vd43([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vd43([[STRUCT]]
 
 typedef struct {
   float4 c0;
 } struct_vf1;
 TEST(struct_vf1)
-// CHECK-LABEL: define swiftcc <4 x float> @return_struct_vf1()
-// CHECK-LABEL: define swiftcc void @take_struct_vf1(<4 x float> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <4 x float> @return_struct_vf1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vf1(<4 x float> %0)
 
 typedef struct {
   float4 c0;
   float4 c1;
 } struct_vf2;
 TEST(struct_vf2)
-// CHECK-LABEL: define swiftcc { <4 x float>, <4 x float> } @return_struct_vf2()
-// CHECK-LABEL: define swiftcc void @take_struct_vf2(<4 x float> %0, <4 x float> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x float>, <4 x float> } @return_struct_vf2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vf2(<4 x float> %0, <4 x float> %1)
 
 typedef struct {
   float4 c0;
@@ -974,8 +974,8 @@ typedef struct {
   float4 c3;
 } struct_vf4;
 TEST(struct_vf4)
-// CHECK-LABEL: define swiftcc { <4 x float>, <4 x float>, <4 x float>, <4 x float> } @return_struct_vf4()
-// CHECK-LABEL: define swiftcc void @take_struct_vf4(<4 x float> %0, <4 x float> %1, <4 x float> %2, <4 x float> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x float>, <4 x float>, <4 x float>, <4 x float> } @return_struct_vf4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vf4(<4 x float> %0, <4 x float> %1, <4 x float> %2, <4 x float> %3)
 
 typedef struct {
   float4 c0;
@@ -985,15 +985,15 @@ typedef struct {
   float4 c4;
 } struct_vf5;
 TEST(struct_vf5)
-// CHECK: define swiftcc void @return_struct_vf5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vf5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vf5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vf5([[STRUCT]]
 
 typedef struct {
   float8 c0;
 } struct_vf81;
 TEST(struct_vf81)
-// CHECK-LABEL: define swiftcc { <4 x float>, <4 x float> } @return_struct_vf81()
-// CHECK-LABEL: define swiftcc void @take_struct_vf81(<4 x float> %0, <4 x float> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x float>, <4 x float> } @return_struct_vf81()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vf81(<4 x float> %0, <4 x float> %1)
 
 // Don't crash.
 typedef union {
@@ -1010,15 +1010,15 @@ struct {
 } s;
 } union_het_vecint;
 TEST(union_het_vecint)
-// CHECK: define swiftcc void @return_union_het_vecint([[UNION:%.*]]* noalias sret([[UNION]])
-// CHECK: define swiftcc void @take_union_het_vecint([[UNION]]*
+// CHECK: define{{.*}} swiftcc void @return_union_het_vecint([[UNION:%.*]]* noalias sret([[UNION]])
+// CHECK: define{{.*}} swiftcc void @take_union_het_vecint([[UNION]]*
 
 typedef struct {
   float3 f3;
 } struct_v1f3;
 TEST(struct_v1f3)
-// ARM64-LABEL: define swiftcc { <2 x float>, float } @return_struct_v1f3()
-// ARM64-LABEL: define swiftcc void @take_struct_v1f3(<2 x float> %0, float %1)
+// ARM64-LABEL: define{{.*}} swiftcc { <2 x float>, float } @return_struct_v1f3()
+// ARM64-LABEL: define{{.*}} swiftcc void @take_struct_v1f3(<2 x float> %0, float %1)
 
 typedef struct {
   int3 vect;
@@ -1040,7 +1040,7 @@ TEST(union_hom_fp_partial2)
 // At one point, we emitted lifetime.ends without a matching lifetime.start for
 // CoerceAndExpanded args. Since we're not performing optimizations, neither
 // intrinsic should be emitted.
-// CHECK-LABEL: define void @no_lifetime_markers
+// CHECK-LABEL: define{{.*}} void @no_lifetime_markers
 void no_lifetime_markers() {
   // CHECK-NOT: call void @llvm.lifetime.
   take_int5(return_int5());

diff  --git a/clang/test/CodeGen/Atomics.c b/clang/test/CodeGen/Atomics.c
index ebc9c139775a..4f76bccf7082 100644
--- a/clang/test/CodeGen/Atomics.c
+++ b/clang/test/CodeGen/Atomics.c
@@ -13,7 +13,7 @@ unsigned long long ull;
 __int128 s128;
 unsigned  __int128 u128;
 
-void test_op_ignore (void) // CHECK-LABEL: 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
@@ -73,7 +73,7 @@ void test_op_ignore (void) // CHECK-LABEL: define void @test_op_ignore
 
 }
 
-void test_fetch_and_op (void) // CHECK-LABEL: 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

diff  --git a/clang/test/CodeGen/PR32874.c b/clang/test/CodeGen/PR32874.c
index f8aa1c2a66f4..8f94b996a48a 100644
--- a/clang/test/CodeGen/PR32874.c
+++ b/clang/test/CodeGen/PR32874.c
@@ -2,7 +2,7 @@
 // RUN:   -w -fsanitize=signed-integer-overflow,unsigned-integer-overflow,integer-divide-by-zero,float-divide-by-zero \
 // RUN:   | FileCheck %s
 
-// CHECK-LABEL: define void @foo
+// CHECK-LABEL: define{{.*}} void @foo
 // CHECK-NOT: !nosanitize
 void foo(const int *p) {
   // __builtin_prefetch expects its optional arguments to be constant integers.
@@ -23,7 +23,7 @@ void foo(const int *p) {
   __builtin_prefetch(p, 3U % 2U, 3U % 1U);
 }
 
-// CHECK-LABEL: define void @ub_constant_arithmetic
+// CHECK-LABEL: define{{.*}} void @ub_constant_arithmetic
 void ub_constant_arithmetic() {
   // Check that we still instrument unsafe arithmetic, even if it is known to
   // be unsafe at compile time.

diff  --git a/clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c b/clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
index d32eb4b00040..68cdbd28356a 100644
--- a/clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
+++ b/clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
@@ -131,7 +131,7 @@ unsigned int test_mm512_reduce_max_epu32(__m512i __W){
 }
 
 float test_mm512_reduce_max_ps(__m512 __W){
-  // CHECK-LABEL: define float @test_mm512_reduce_max_ps(
+  // CHECK-LABEL: define{{.*}} float @test_mm512_reduce_max_ps(
   // CHECK:    shufflevector <8 x double> %{{.*}}, <8 x double> poison, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
   // CHECK:    shufflevector <8 x double> %{{.*}}, <8 x double> poison, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
   // CHECK:    call <8 x float> @llvm.x86.avx.max.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}})
@@ -159,7 +159,7 @@ unsigned int test_mm512_reduce_min_epu32(__m512i __W){
 }
 
 float test_mm512_reduce_min_ps(__m512 __W){
-  // CHECK-LABEL: define float @test_mm512_reduce_min_ps(
+  // CHECK-LABEL: define{{.*}} float @test_mm512_reduce_min_ps(
   // CHECK:    shufflevector <8 x double> %{{.*}}, <8 x double> poison, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
   // CHECK:    shufflevector <8 x double> %{{.*}}, <8 x double> poison, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
   // CHECK:    call <8 x float> @llvm.x86.avx.min.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}})
@@ -191,7 +191,7 @@ unsigned int test_mm512_mask_reduce_max_epu32(__mmask16 __M, __m512i __W){
 }
 
 float test_mm512_mask_reduce_max_ps(__mmask16 __M, __m512 __W){
-  // CHECK-LABEL: define float @test_mm512_mask_reduce_max_ps(
+  // CHECK-LABEL: define{{.*}} float @test_mm512_mask_reduce_max_ps(
   // CHECK:    bitcast i16 %{{.*}} to <16 x i1>
   // CHECK:    select <16 x i1> %{{.*}}, <16 x float> %{{.*}}, <16 x float> %{{.*}}
   // CHECK:    shufflevector <8 x double> %{{.*}}, <8 x double> poison, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
@@ -225,7 +225,7 @@ unsigned int test_mm512_mask_reduce_min_epu32(__mmask16 __M, __m512i __W){
 }
 
 float test_mm512_mask_reduce_min_ps(__mmask16 __M, __m512 __W){
-  // CHECK-LABEL: define float @test_mm512_mask_reduce_min_ps(
+  // CHECK-LABEL: define{{.*}} float @test_mm512_mask_reduce_min_ps(
   // CHECK:    bitcast i16 %{{.*}} to <16 x i1>
   // CHECK:    select <16 x i1> %{{.*}}, <16 x float> %{{.*}}, <16 x float> %{{.*}}
   // CHECK:    shufflevector <8 x double> %{{.*}}, <8 x double> poison, <4 x i32> <i32 0, i32 1, i32 2, i32 3>

diff  --git a/clang/test/CodeGen/X86/x86-long-double.cpp b/clang/test/CodeGen/X86/x86-long-double.cpp
index 40ac29715fd6..7b8610d5af0a 100644
--- a/clang/test/CodeGen/X86/x86-long-double.cpp
+++ b/clang/test/CodeGen/X86/x86-long-double.cpp
@@ -34,20 +34,20 @@
 long double x = 0;
 int size = sizeof(x);
 
-// FP80-ELF32: @x = global x86_fp80 {{.*}}, align 4
-// FP80-ELF32: @size = global i32 12
-// FP80-ELF64: @x = global x86_fp80 {{.*}}, align 16
-// FP80-ELF64: @size = global i32 16
-// FP80-DARWIN: @x = global x86_fp80 {{.*}}, align 16
-// FP80-DARWIN: @size = global i32 16
-
-// FP64-X32: @x = global double {{.*}}, align 4
-// FP64-X32: @size = global i32 8
-// FP64-X64: @x = global double {{.*}}, align 8
-// FP64-X64: @size = global i32 8
-
-// FP128: @x = global fp128 {{.*}}, align 16
-// FP128: @size = global i32 16
+// FP80-ELF32: @x ={{.*}} global x86_fp80 {{.*}}, align 4
+// FP80-ELF32: @size ={{.*}} global i32 12
+// FP80-ELF64: @x ={{.*}} global x86_fp80 {{.*}}, align 16
+// FP80-ELF64: @size ={{.*}} global i32 16
+// FP80-DARWIN: @x ={{.*}} global x86_fp80 {{.*}}, align 16
+// FP80-DARWIN: @size ={{.*}} global i32 16
+
+// FP64-X32: @x ={{.*}} global double {{.*}}, align 4
+// FP64-X32: @size ={{.*}} global i32 8
+// FP64-X64: @x ={{.*}} global double {{.*}}, align 8
+// FP64-X64: @size ={{.*}} global i32 8
+
+// FP128: @x ={{.*}} global fp128 {{.*}}, align 16
+// FP128: @size ={{.*}} global i32 16
 
 long double foo(long double d) { return d; }
 

diff  --git a/clang/test/CodeGen/X86/x86-vec-i128.c b/clang/test/CodeGen/X86/x86-vec-i128.c
index aee3b9efe7b1..cd2236980952 100644
--- a/clang/test/CodeGen/X86/x86-vec-i128.c
+++ b/clang/test/CodeGen/X86/x86-vec-i128.c
@@ -23,8 +23,8 @@ typedef unsigned long long v16u64 __attribute__((vector_size(16)));
 typedef unsigned __int128 v16u128 __attribute__((vector_size(16)));
 
 v16u64 test_v16u128(v16u64 a, v16u128 b) {
-// CLANG10ABI128: define <2 x i64> @test_v16u128(<2 x i64> %{{.*}}, <2 x i64> %{{.*}})
-// CLANG9ABI128: define <2 x i64> @test_v16u128(<2 x i64> %{{.*}}, <1 x i128> %{{.*}})
+// CLANG10ABI128: define{{.*}} <2 x i64> @test_v16u128(<2 x i64> %{{.*}}, <2 x i64> %{{.*}})
+// CLANG9ABI128: define{{.*}} <2 x i64> @test_v16u128(<2 x i64> %{{.*}}, <1 x i128> %{{.*}})
   return a + (v16u64)b;
 }
 
@@ -32,10 +32,10 @@ typedef unsigned long long v32u64 __attribute__((vector_size(32)));
 typedef unsigned __int128 v32u128 __attribute__((vector_size(32)));
 
 v32u64 test_v32u128(v32u64 a, v32u128 b) {
-// MEM256ALIGN16: define <4 x i64> @test_v32u128(<4 x i64>* byval(<4 x i64>) align 16 %{{.*}}, <2 x i128>* byval(<2 x i128>) align 16 %{{.*}})
-// MEM256ALIGN32: define <4 x i64> @test_v32u128(<4 x i64>* byval(<4 x i64>) align 32 %{{.*}}, <2 x i128>* byval(<2 x i128>) align 32 %{{.*}})
-// CLANG10ABI256: define <4 x i64> @test_v32u128(<4 x i64> %{{.*}}, <2 x i128>* byval(<2 x i128>) align 32 %{{.*}})
-// CLANG9ABI256: define <4 x i64> @test_v32u128(<4 x i64> %{{.*}}, <2 x i128> %{{.*}})
+// MEM256ALIGN16: define{{.*}} <4 x i64> @test_v32u128(<4 x i64>* byval(<4 x i64>) align 16 %{{.*}}, <2 x i128>* byval(<2 x i128>) align 16 %{{.*}})
+// MEM256ALIGN32: define{{.*}} <4 x i64> @test_v32u128(<4 x i64>* byval(<4 x i64>) align 32 %{{.*}}, <2 x i128>* byval(<2 x i128>) align 32 %{{.*}})
+// CLANG10ABI256: define{{.*}} <4 x i64> @test_v32u128(<4 x i64> %{{.*}}, <2 x i128>* byval(<2 x i128>) align 32 %{{.*}})
+// CLANG9ABI256: define{{.*}} <4 x i64> @test_v32u128(<4 x i64> %{{.*}}, <2 x i128> %{{.*}})
   return a + (v32u64)b;
 }
 
@@ -43,10 +43,10 @@ typedef unsigned long long v64u64 __attribute__((vector_size(64)));
 typedef unsigned __int128 v64u128 __attribute__((vector_size(64)));
 
 v64u64 test_v64u128(v64u64 a, v64u128 b) {
-// MEM512ALIGN16: define <8 x i64> @test_v64u128(<8 x i64>* byval(<8 x i64>) align 16 %{{.*}}, <4 x i128>* byval(<4 x i128>) align 16 %{{.*}})
-// MEM512ALIGN32: define <8 x i64> @test_v64u128(<8 x i64>* byval(<8 x i64>) align 32 %{{.*}}, <4 x i128>* byval(<4 x i128>) align 32 %{{.*}})
-// MEM512ALIGN64: define <8 x i64> @test_v64u128(<8 x i64>* byval(<8 x i64>) align 64 %{{.*}}, <4 x i128>* byval(<4 x i128>) align 64 %{{.*}})
-// CLANG10ABI512: define <8 x i64> @test_v64u128(<8 x i64> %{{.*}}, <4 x i128>* byval(<4 x i128>) align 64 %{{.*}})
-// CLANG9ABI512: define <8 x i64> @test_v64u128(<8 x i64> %{{.*}}, <4 x i128> %{{.*}})
+// MEM512ALIGN16: define{{.*}} <8 x i64> @test_v64u128(<8 x i64>* byval(<8 x i64>) align 16 %{{.*}}, <4 x i128>* byval(<4 x i128>) align 16 %{{.*}})
+// MEM512ALIGN32: define{{.*}} <8 x i64> @test_v64u128(<8 x i64>* byval(<8 x i64>) align 32 %{{.*}}, <4 x i128>* byval(<4 x i128>) align 32 %{{.*}})
+// MEM512ALIGN64: define{{.*}} <8 x i64> @test_v64u128(<8 x i64>* byval(<8 x i64>) align 64 %{{.*}}, <4 x i128>* byval(<4 x i128>) align 64 %{{.*}})
+// CLANG10ABI512: define{{.*}} <8 x i64> @test_v64u128(<8 x i64> %{{.*}}, <4 x i128>* byval(<4 x i128>) align 64 %{{.*}})
+// CLANG9ABI512: define{{.*}} <8 x i64> @test_v64u128(<8 x i64> %{{.*}}, <4 x i128> %{{.*}})
   return a + (v64u64)b;
 }

diff  --git a/clang/test/CodeGen/X86/x86_32-arguments-darwin.c b/clang/test/CodeGen/X86/x86_32-arguments-darwin.c
index d5a2f8563b0d..b8b22bed440b 100644
--- a/clang/test/CodeGen/X86/x86_32-arguments-darwin.c
+++ b/clang/test/CodeGen/X86/x86_32-arguments-darwin.c
@@ -1,44 +1,44 @@
 // RUN: %clang_cc1 -w -fblocks -triple i386-apple-darwin9 -target-cpu yonah -emit-llvm -o - %s | FileCheck %s
 
-// CHECK-LABEL: define signext i8 @f0()
+// CHECK-LABEL: define{{.*}} signext i8 @f0()
 char f0(void) {
   return 0;
 }
 
-// CHECK-LABEL: define signext i16 @f1()
+// CHECK-LABEL: define{{.*}} signext i16 @f1()
 short f1(void) {
   return 0;
 }
 
-// CHECK-LABEL: define i32 @f2()
+// CHECK-LABEL: define{{.*}} i32 @f2()
 int f2(void) {
   return 0;
 }
 
-// CHECK-LABEL: define float @f3()
+// CHECK-LABEL: define{{.*}} float @f3()
 float f3(void) {
   return 0;
 }
 
-// CHECK-LABEL: define double @f4()
+// CHECK-LABEL: define{{.*}} double @f4()
 double f4(void) {
   return 0;
 }
 
-// CHECK-LABEL: define x86_fp80 @f5()
+// CHECK-LABEL: define{{.*}} x86_fp80 @f5()
 long double f5(void) {
   return 0;
 }
 
-// CHECK-LABEL: 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-LABEL: define void @f7(i32 %a0)
+// CHECK-LABEL: define{{.*}} void @f7(i32 %a0)
 typedef enum { A, B, C } e7;
 void f7(e7 a0) {}
 
-// CHECK-LABEL: define i64 @f8_1()
-// CHECK-LABEL: 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-LABEL: 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-LABEL: define void @f9_2(%struct.s9* byval(%struct.s9) align 4 %a0)
+// CHECK-LABEL: define{{.*}} void @f9_2(%struct.s9* byval(%struct.s9) 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(%struct.s28) align 4 %agg.result)
 struct s28 { int a; int b[]; } f28(void) { while (1) {} }
 
-// CHECK-LABEL: define i16 @f29()
+// CHECK-LABEL: define{{.*}} i16 @f29()
 struct s29 { struct { } a[1]; char b; char c; } f29(void) { while (1) {} }
 
-// CHECK-LABEL: define i16 @f30()
+// CHECK-LABEL: define{{.*}} i16 @f30()
 struct s30 { char a; char b : 4; } f30(void) { while (1) {} }
 
-// CHECK-LABEL: define float @f31()
+// CHECK-LABEL: define{{.*}} float @f31()
 struct s31 { char : 0; float b; char : 0; } f31(void) { while (1) {} }
 
-// CHECK-LABEL: define i32 @f32()
+// CHECK-LABEL: define{{.*}} i32 @f32()
 struct s32 { char a; unsigned : 0; } f32(void) { while (1) {} }
 
-// CHECK-LABEL: define float @f33()
+// CHECK-LABEL: define{{.*}} float @f33()
 struct s33 { float a; long long : 0; } f33(void) { while (1) {} }
 
-// CHECK-LABEL: define float @f34()
+// CHECK-LABEL: define{{.*}} float @f34()
 struct s34 { struct { int : 0; } a; float b; } f34(void) { while (1) {} }
 
-// CHECK-LABEL: define i16 @f35()
+// CHECK-LABEL: define{{.*}} i16 @f35()
 struct s35 { struct { int : 0; } a; char b; char c; } f35(void) { while (1) {} }
 
-// CHECK-LABEL: 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-LABEL: define float @f37()
+// CHECK-LABEL: define{{.*}} float @f37()
 struct s37 { float c[1][1]; } f37(void) { while (1) {} }
 
-// CHECK-LABEL: define void @f38(%struct.s38* noalias sret(%struct.s38) align 2 %agg.result)
+// CHECK-LABEL: define{{.*}} void @f38(%struct.s38* noalias sret(%struct.s38) align 2 %agg.result)
 struct s38 { char a[3]; short b; } f38(void) { while (1) {} }
 
-// CHECK-LABEL: define void @f39(%struct.s39* byval(%struct.s39) align 16 %x)
+// CHECK-LABEL: define{{.*}} void @f39(%struct.s39* byval(%struct.s39) align 16 %x)
 typedef int v39 __attribute((vector_size(16)));
 struct s39 { v39 x; };
 void f39(struct s39 x) {}
 
 // <rdar://problem/7247671>
-// CHECK-LABEL: define i32 @f40()
+// CHECK-LABEL: define{{.*}} i32 @f40()
 enum e40 { ec0 = 0 };
 enum e40 f40(void) { }
 
-// CHECK-LABEL: define void ()* @f41()
+// CHECK-LABEL: define{{.*}} void ()* @f41()
 typedef void (^vvbp)(void);
 vvbp f41(void) { }
 
-// CHECK-LABEL: define i32 @f42()
+// CHECK-LABEL: define{{.*}} i32 @f42()
 struct s42 { enum e40 f0; } f42(void) {  }
 
-// CHECK-LABEL: define i64 @f43()
+// CHECK-LABEL: define{{.*}} i64 @f43()
 struct s43 { enum e40 f0; int f1; } f43(void) {  }
 
-// CHECK-LABEL: define void ()* @f44()
+// CHECK-LABEL: define{{.*}} void ()* @f44()
 struct s44 { vvbp f0; } f44(void) {  }
 
-// CHECK-LABEL: define i64 @f45()
+// CHECK-LABEL: define{{.*}} i64 @f45()
 struct s45 { vvbp f0; int f1; } f45(void) {  }
 
-// CHECK-LABEL: define void @f46(i32 %a0)
+// CHECK-LABEL: define{{.*}} void @f46(i32 %a0)
 void f46(enum e40 a0) { }
 
-// CHECK-LABEL: define void @f47(void ()* %a1)
+// CHECK-LABEL: define{{.*}} void @f47(void ()* %a1)
 void f47(vvbp a1) { }
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL: define void @f50(void ()* %a0.0)
+// CHECK-LABEL: define{{.*}} void @f50(void ()* %a0.0)
 struct s50 { vvbp f0; };
 void f50(struct s50 a0) { }
 
-// CHECK-LABEL: 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-LABEL: define void @f52(%struct.s52* byval(%struct.s52) align 4 %0)
+// CHECK-LABEL: define{{.*}} void @f52(%struct.s52* byval(%struct.s52) align 4 %0)
 struct s52 {
   long double a;
 };
 void f52(struct s52 x) {}
 
-// CHECK-LABEL: define void @f53(%struct.s53* byval(%struct.s53) align 4 %0)
+// CHECK-LABEL: define{{.*}} void @f53(%struct.s53* byval(%struct.s53) align 4 %0)
 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-LABEL: 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-LABEL: 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-LABEL: define void @f56(
+// CHECK-LABEL: define{{.*}} void @f56(
 // CHECK: i8 signext %a0, %struct.s56_0* byval(%struct.s56_0) align 4 %a1,
 // CHECK: i64 %a2.coerce, %struct.s56_1* byval(%struct.s56_1) align 4 %0,
 // CHECK: i64 %a4.coerce, %struct.s56_2* byval(%struct.s56_2) align 4 %1,
@@ -276,34 +276,34 @@ void f56(char a0, struct s56_0 a1,
         a10, a11, a12, a13);
 }
 
-// CHECK-LABEL: 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-LABEL: define void @f58()
+// CHECK-LABEL: define{{.*}} void @f58()
 union u58 {};
 void f58(union u58 x) {}
 
-// CHECK-LABEL: define i64 @f59()
+// CHECK-LABEL: define{{.*}} i64 @f59()
 struct s59 { float x __attribute((aligned(8))); };
 struct s59 f59() { while (1) {} }
 
-// CHECK-LABEL: define void @f60(%struct.s60* byval(%struct.s60) align 4 %0, i32 %y)
+// CHECK-LABEL: define{{.*}} void @f60(%struct.s60* byval(%struct.s60) align 4 %0, i32 %y)
 struct s60 { int x __attribute((aligned(8))); };
 void f60(struct s60 x, int y) {}
 
-// CHECK-LABEL: define void @f61(i32 %x, %struct.s61* byval(%struct.s61) align 16 %y)
+// CHECK-LABEL: define{{.*}} void @f61(i32 %x, %struct.s61* byval(%struct.s61) align 16 %y)
 typedef int T61 __attribute((vector_size(16)));
 struct s61 { T61 x; int y; };
 void f61(int x, struct s61 y) {}
 
-// CHECK-LABEL: define void @f62(i32 %x, %struct.s62* byval(%struct.s62) align 4 %0)
+// CHECK-LABEL: define{{.*}} void @f62(i32 %x, %struct.s62* byval(%struct.s62) align 4 %0)
 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-LABEL: 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-LABEL: define void @f64(%struct.s64* byval(%struct.s64) align 4 %x)
+// CHECK-LABEL: define{{.*}} void @f64(%struct.s64* byval(%struct.s64) align 4 %x)
 struct s64 { signed char a[0]; signed char b[]; };
 void f64(struct s64 x) {}
 
-// CHECK-LABEL: define float @f65()
+// CHECK-LABEL: define{{.*}} float @f65()
 struct s65 { signed char a[0]; float b; };
 struct s65 f65() { return (struct s65){{},2}; }
 
-// CHECK-LABEL: 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-LABEL: define void @f67(%struct.s67* byval(%struct.s67) align 4 %x)
+// CHECK-LABEL: define{{.*}} void @f67(%struct.s67* byval(%struct.s67) align 4 %x)

diff  --git a/clang/test/CodeGen/X86/x86_32-arguments-realign.c b/clang/test/CodeGen/X86/x86_32-arguments-realign.c
index 4de87d285b20..dd473777ce18 100644
--- a/clang/test/CodeGen/X86/x86_32-arguments-realign.c
+++ b/clang/test/CodeGen/X86/x86_32-arguments-realign.c
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -w -fblocks -triple i386-apple-darwin9 -emit-llvm -o %t %s
 // RUN: FileCheck < %t %s
 
-// CHECK-LABEL: define void @f0(%struct.s0* byval(%struct.s0) align 4 %0)
+// CHECK-LABEL: define{{.*}} void @f0(%struct.s0* byval(%struct.s0) align 4 %0)
 // CHECK:   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 16 %{{.*}}, i8* align 4 %{{.*}}, i32 16, i1 false)
 // CHECK: }
 struct s0 { long double a; };

diff  --git a/clang/test/CodeGen/aarch64-args.cpp b/clang/test/CodeGen/aarch64-args.cpp
index 409773627261..c54a8e44e140 100644
--- a/clang/test/CodeGen/aarch64-args.cpp
+++ b/clang/test/CodeGen/aarch64-args.cpp
@@ -15,16 +15,16 @@
 
 struct Empty {};
 
-// CHECK: define i32 @empty_arg(i32 %a)
-// CHECK-GNU-C: define i32 @empty_arg(i32 %a)
-// CHECK-GNU-CXX: define i32 @empty_arg(i8 %e.coerce, i32 %a)
+// CHECK: define{{.*}} i32 @empty_arg(i32 %a)
+// CHECK-GNU-C: define{{.*}} i32 @empty_arg(i32 %a)
+// CHECK-GNU-CXX: define{{.*}} i32 @empty_arg(i8 %e.coerce, i32 %a)
 EXTERNC int empty_arg(struct Empty e, int a) {
   return a;
 }
 
-// CHECK: define void @empty_ret()
-// CHECK-GNU-C: define void @empty_ret()
-// CHECK-GNU-CXX: define void @empty_ret()
+// CHECK: define{{.*}} void @empty_ret()
+// CHECK-GNU-C: define{{.*}} void @empty_ret()
+// CHECK-GNU-CXX: define{{.*}} void @empty_ret()
 EXTERNC struct Empty empty_ret() {
   struct Empty e;
   return e;
@@ -38,9 +38,9 @@ struct SuperEmpty {
   int arr[0];
 };
 
-// CHECK: define i32 @super_empty_arg(i32 %a)
-// CHECK-GNU-C: define i32 @super_empty_arg(i32 %a)
-// CHECK-GNU-CXX: define i32 @super_empty_arg(i32 %a)
+// CHECK: define{{.*}} i32 @super_empty_arg(i32 %a)
+// CHECK-GNU-C: define{{.*}} i32 @super_empty_arg(i32 %a)
+// CHECK-GNU-CXX: define{{.*}} i32 @super_empty_arg(i32 %a)
 EXTERNC int super_empty_arg(struct SuperEmpty e, int a) {
   return a;
 }
@@ -51,16 +51,16 @@ struct SortOfEmpty {
   struct SuperEmpty e;
 };
 
-// CHECK: define i32 @sort_of_empty_arg(i32 %a)
-// CHECK-GNU-C: define i32 @sort_of_empty_arg(i32 %a)
-// CHECK-GNU-CXX: define i32 @sort_of_empty_arg(i8 %e.coerce, i32 %a)
+// CHECK: define{{.*}} i32 @sort_of_empty_arg(i32 %a)
+// CHECK-GNU-C: define{{.*}} i32 @sort_of_empty_arg(i32 %a)
+// CHECK-GNU-CXX: define{{.*}} i32 @sort_of_empty_arg(i8 %e.coerce, i32 %a)
 EXTERNC int sort_of_empty_arg(struct Empty e, int a) {
   return a;
 }
 
-// CHECK: define void @sort_of_empty_ret()
-// CHECK-GNU-C: define void @sort_of_empty_ret()
-// CHECK-GNU-CXX: define void @sort_of_empty_ret()
+// CHECK: define{{.*}} void @sort_of_empty_ret()
+// CHECK-GNU-C: define{{.*}} void @sort_of_empty_ret()
+// CHECK-GNU-CXX: define{{.*}} void @sort_of_empty_ret()
 EXTERNC struct SortOfEmpty sort_of_empty_ret() {
   struct SortOfEmpty e;
   return e;

diff  --git a/clang/test/CodeGen/aarch64-arguments-hfa-v3.c b/clang/test/CodeGen/aarch64-arguments-hfa-v3.c
index 59fa5e959ed2..a575ee418bef 100644
--- a/clang/test/CodeGen/aarch64-arguments-hfa-v3.c
+++ b/clang/test/CodeGen/aarch64-arguments-hfa-v3.c
@@ -9,12 +9,12 @@ typedef struct { float32x3_t arr[4]; } HFAv3;
 // CHECK: %struct.MixedHFAv3 = type { [3 x <3 x float>], <16 x i8> }
 typedef struct { float32x3_t arr[3]; int8x16_t b; } MixedHFAv3;
 
-// CHECK: define %struct.HFAv3 @test([4 x <4 x float>] %{{.*}}, [4 x <4 x float>] %{{.*}}, [4 x <4 x float>] %{{.*}})
+// CHECK: define{{.*}} %struct.HFAv3 @test([4 x <4 x float>] %{{.*}}, [4 x <4 x float>] %{{.*}}, [4 x <4 x float>] %{{.*}})
 HFAv3 test(HFAv3 a0, HFAv3 a1, HFAv3 a2) {
   return a2;
 }
 
-// CHECK: define %struct.MixedHFAv3 @test_mixed([4 x <4 x float>] %{{.*}}, [4 x <4 x float>] %{{.*}}, [4 x <4 x float>] %{{.*}})
+// CHECK: define{{.*}} %struct.MixedHFAv3 @test_mixed([4 x <4 x float>] %{{.*}}, [4 x <4 x float>] %{{.*}}, [4 x <4 x float>] %{{.*}})
 MixedHFAv3 test_mixed(MixedHFAv3 a0, MixedHFAv3 a1, MixedHFAv3 a2) {
   return a2;
 }

diff  --git a/clang/test/CodeGen/aarch64-neon-vget.c b/clang/test/CodeGen/aarch64-neon-vget.c
index cd918c77a4f7..9f88acc17cb1 100644
--- a/clang/test/CodeGen/aarch64-neon-vget.c
+++ b/clang/test/CodeGen/aarch64-neon-vget.c
@@ -4,70 +4,70 @@
 
 #include <arm_neon.h>
 
-// CHECK-LABEL: define i8 @test_vget_lane_u8(<8 x i8> %a) #0 {
+// CHECK-LABEL: define{{.*}} i8 @test_vget_lane_u8(<8 x i8> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <8 x i8> %a, i32 7
 // CHECK:   ret i8 [[VGET_LANE]]
 uint8_t test_vget_lane_u8(uint8x8_t a) {
   return vget_lane_u8(a, 7);
 }
 
-// CHECK-LABEL: define i16 @test_vget_lane_u16(<4 x i16> %a) #0 {
+// CHECK-LABEL: define{{.*}} i16 @test_vget_lane_u16(<4 x i16> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <4 x i16> %a, i32 3
 // CHECK:   ret i16 [[VGET_LANE]]
 uint16_t test_vget_lane_u16(uint16x4_t a) {
   return vget_lane_u16(a, 3);
 }
 
-// CHECK-LABEL: define i32 @test_vget_lane_u32(<2 x i32> %a) #0 {
+// CHECK-LABEL: define{{.*}} i32 @test_vget_lane_u32(<2 x i32> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <2 x i32> %a, i32 1
 // CHECK:   ret i32 [[VGET_LANE]]
 uint32_t test_vget_lane_u32(uint32x2_t a) {
   return vget_lane_u32(a, 1);
 }
 
-// CHECK-LABEL: define i8 @test_vget_lane_s8(<8 x i8> %a) #0 {
+// CHECK-LABEL: define{{.*}} i8 @test_vget_lane_s8(<8 x i8> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <8 x i8> %a, i32 7
 // CHECK:   ret i8 [[VGET_LANE]]
 int8_t test_vget_lane_s8(int8x8_t a) {
   return vget_lane_s8(a, 7);
 }
 
-// CHECK-LABEL: define i16 @test_vget_lane_s16(<4 x i16> %a) #0 {
+// CHECK-LABEL: define{{.*}} i16 @test_vget_lane_s16(<4 x i16> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <4 x i16> %a, i32 3
 // CHECK:   ret i16 [[VGET_LANE]]
 int16_t test_vget_lane_s16(int16x4_t a) {
   return vget_lane_s16(a, 3);
 }
 
-// CHECK-LABEL: define i32 @test_vget_lane_s32(<2 x i32> %a) #0 {
+// CHECK-LABEL: define{{.*}} i32 @test_vget_lane_s32(<2 x i32> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <2 x i32> %a, i32 1
 // CHECK:   ret i32 [[VGET_LANE]]
 int32_t test_vget_lane_s32(int32x2_t a) {
   return vget_lane_s32(a, 1);
 }
 
-// CHECK-LABEL: define i8 @test_vget_lane_p8(<8 x i8> %a) #0 {
+// CHECK-LABEL: define{{.*}} i8 @test_vget_lane_p8(<8 x i8> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <8 x i8> %a, i32 7
 // CHECK:   ret i8 [[VGET_LANE]]
 poly8_t test_vget_lane_p8(poly8x8_t a) {
   return vget_lane_p8(a, 7);
 }
 
-// CHECK-LABEL: define i16 @test_vget_lane_p16(<4 x i16> %a) #0 {
+// CHECK-LABEL: define{{.*}} i16 @test_vget_lane_p16(<4 x i16> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <4 x i16> %a, i32 3
 // CHECK:   ret i16 [[VGET_LANE]]
 poly16_t test_vget_lane_p16(poly16x4_t a) {
   return vget_lane_p16(a, 3);
 }
 
-// CHECK-LABEL: define float @test_vget_lane_f32(<2 x float> %a) #0 {
+// CHECK-LABEL: define{{.*}} float @test_vget_lane_f32(<2 x float> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <2 x float> %a, i32 1
 // CHECK:   ret float [[VGET_LANE]]
 float32_t test_vget_lane_f32(float32x2_t a) {
   return vget_lane_f32(a, 1);
 }
 
-// CHECK-LABEL: define float @test_vget_lane_f16(<4 x half> %a) #0 {
+// CHECK-LABEL: define{{.*}} float @test_vget_lane_f16(<4 x half> %a) #0 {
 // CHECK:   [[__REINT_242:%.*]] = alloca <4 x half>, align 8
 // CHECK:   [[__REINT1_242:%.*]] = alloca i16, align 2
 // CHECK:   store <4 x half> %a, <4 x half>* [[__REINT_242]], align 8
@@ -83,70 +83,70 @@ float32_t test_vget_lane_f16(float16x4_t a) {
   return vget_lane_f16(a, 1);
 }
 
-// CHECK-LABEL: define i8 @test_vgetq_lane_u8(<16 x i8> %a) #1 {
+// CHECK-LABEL: define{{.*}} i8 @test_vgetq_lane_u8(<16 x i8> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <16 x i8> %a, i32 15
 // CHECK:   ret i8 [[VGETQ_LANE]]
 uint8_t test_vgetq_lane_u8(uint8x16_t a) {
   return vgetq_lane_u8(a, 15);
 }
 
-// CHECK-LABEL: define i16 @test_vgetq_lane_u16(<8 x i16> %a) #1 {
+// CHECK-LABEL: define{{.*}} i16 @test_vgetq_lane_u16(<8 x i16> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <8 x i16> %a, i32 7
 // CHECK:   ret i16 [[VGETQ_LANE]]
 uint16_t test_vgetq_lane_u16(uint16x8_t a) {
   return vgetq_lane_u16(a, 7);
 }
 
-// CHECK-LABEL: define i32 @test_vgetq_lane_u32(<4 x i32> %a) #1 {
+// CHECK-LABEL: define{{.*}} i32 @test_vgetq_lane_u32(<4 x i32> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <4 x i32> %a, i32 3
 // CHECK:   ret i32 [[VGETQ_LANE]]
 uint32_t test_vgetq_lane_u32(uint32x4_t a) {
   return vgetq_lane_u32(a, 3);
 }
 
-// CHECK-LABEL: define i8 @test_vgetq_lane_s8(<16 x i8> %a) #1 {
+// CHECK-LABEL: define{{.*}} i8 @test_vgetq_lane_s8(<16 x i8> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <16 x i8> %a, i32 15
 // CHECK:   ret i8 [[VGETQ_LANE]]
 int8_t test_vgetq_lane_s8(int8x16_t a) {
   return vgetq_lane_s8(a, 15);
 }
 
-// CHECK-LABEL: define i16 @test_vgetq_lane_s16(<8 x i16> %a) #1 {
+// CHECK-LABEL: define{{.*}} i16 @test_vgetq_lane_s16(<8 x i16> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <8 x i16> %a, i32 7
 // CHECK:   ret i16 [[VGETQ_LANE]]
 int16_t test_vgetq_lane_s16(int16x8_t a) {
   return vgetq_lane_s16(a, 7);
 }
 
-// CHECK-LABEL: define i32 @test_vgetq_lane_s32(<4 x i32> %a) #1 {
+// CHECK-LABEL: define{{.*}} i32 @test_vgetq_lane_s32(<4 x i32> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <4 x i32> %a, i32 3
 // CHECK:   ret i32 [[VGETQ_LANE]]
 int32_t test_vgetq_lane_s32(int32x4_t a) {
   return vgetq_lane_s32(a, 3);
 }
 
-// CHECK-LABEL: define i8 @test_vgetq_lane_p8(<16 x i8> %a) #1 {
+// CHECK-LABEL: define{{.*}} i8 @test_vgetq_lane_p8(<16 x i8> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <16 x i8> %a, i32 15
 // CHECK:   ret i8 [[VGETQ_LANE]]
 poly8_t test_vgetq_lane_p8(poly8x16_t a) {
   return vgetq_lane_p8(a, 15);
 }
 
-// CHECK-LABEL: define i16 @test_vgetq_lane_p16(<8 x i16> %a) #1 {
+// CHECK-LABEL: define{{.*}} i16 @test_vgetq_lane_p16(<8 x i16> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <8 x i16> %a, i32 7
 // CHECK:   ret i16 [[VGETQ_LANE]]
 poly16_t test_vgetq_lane_p16(poly16x8_t a) {
   return vgetq_lane_p16(a, 7);
 }
 
-// CHECK-LABEL: define float @test_vgetq_lane_f32(<4 x float> %a) #1 {
+// CHECK-LABEL: define{{.*}} float @test_vgetq_lane_f32(<4 x float> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <4 x float> %a, i32 3
 // CHECK:   ret float [[VGETQ_LANE]]
 float32_t test_vgetq_lane_f32(float32x4_t a) {
   return vgetq_lane_f32(a, 3);
 }
 
-// CHECK-LABEL: define float @test_vgetq_lane_f16(<8 x half> %a) #1 {
+// CHECK-LABEL: define{{.*}} float @test_vgetq_lane_f16(<8 x half> %a) #1 {
 // CHECK:   [[__REINT_244:%.*]] = alloca <8 x half>, align 16
 // CHECK:   [[__REINT1_244:%.*]] = alloca i16, align 2
 // CHECK:   store <8 x half> %a, <8 x half>* [[__REINT_244]], align 16
@@ -162,28 +162,28 @@ float32_t test_vgetq_lane_f16(float16x8_t a) {
   return vgetq_lane_f16(a, 3);
 }
 
-// CHECK-LABEL: define i64 @test_vget_lane_s64(<1 x i64> %a) #0 {
+// CHECK-LABEL: define{{.*}} i64 @test_vget_lane_s64(<1 x i64> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <1 x i64> %a, i32 0
 // CHECK:   ret i64 [[VGET_LANE]]
 int64_t test_vget_lane_s64(int64x1_t a) {
   return vget_lane_s64(a, 0);
 }
 
-// CHECK-LABEL: define i64 @test_vget_lane_u64(<1 x i64> %a) #0 {
+// CHECK-LABEL: define{{.*}} i64 @test_vget_lane_u64(<1 x i64> %a) #0 {
 // CHECK:   [[VGET_LANE:%.*]] = extractelement <1 x i64> %a, i32 0
 // CHECK:   ret i64 [[VGET_LANE]]
 uint64_t test_vget_lane_u64(uint64x1_t a) {
   return vget_lane_u64(a, 0);
 }
 
-// CHECK-LABEL: define i64 @test_vgetq_lane_s64(<2 x i64> %a) #1 {
+// CHECK-LABEL: define{{.*}} i64 @test_vgetq_lane_s64(<2 x i64> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <2 x i64> %a, i32 1
 // CHECK:   ret i64 [[VGETQ_LANE]]
 int64_t test_vgetq_lane_s64(int64x2_t a) {
   return vgetq_lane_s64(a, 1);
 }
 
-// CHECK-LABEL: define i64 @test_vgetq_lane_u64(<2 x i64> %a) #1 {
+// CHECK-LABEL: define{{.*}} i64 @test_vgetq_lane_u64(<2 x i64> %a) #1 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <2 x i64> %a, i32 1
 // CHECK:   ret i64 [[VGETQ_LANE]]
 uint64_t test_vgetq_lane_u64(uint64x2_t a) {
@@ -191,70 +191,70 @@ uint64_t test_vgetq_lane_u64(uint64x2_t a) {
 }
 
 
-// CHECK-LABEL: define <8 x i8> @test_vset_lane_u8(i8 %a, <8 x i8> %b) #0 {
+// CHECK-LABEL: define{{.*}} <8 x i8> @test_vset_lane_u8(i8 %a, <8 x i8> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <8 x i8> %b, i8 %a, i32 7
 // CHECK:   ret <8 x i8> [[VSET_LANE]]
 uint8x8_t test_vset_lane_u8(uint8_t a, uint8x8_t b) {
   return vset_lane_u8(a, b, 7);
 }
 
-// CHECK-LABEL: define <4 x i16> @test_vset_lane_u16(i16 %a, <4 x i16> %b) #0 {
+// CHECK-LABEL: define{{.*}} <4 x i16> @test_vset_lane_u16(i16 %a, <4 x i16> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x i16> %b, i16 %a, i32 3
 // CHECK:   ret <4 x i16> [[VSET_LANE]]
 uint16x4_t test_vset_lane_u16(uint16_t a, uint16x4_t b) {
   return vset_lane_u16(a, b, 3);
 }
 
-// CHECK-LABEL: define <2 x i32> @test_vset_lane_u32(i32 %a, <2 x i32> %b) #0 {
+// CHECK-LABEL: define{{.*}} <2 x i32> @test_vset_lane_u32(i32 %a, <2 x i32> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <2 x i32> %b, i32 %a, i32 1
 // CHECK:   ret <2 x i32> [[VSET_LANE]]
 uint32x2_t test_vset_lane_u32(uint32_t a, uint32x2_t b) {
   return vset_lane_u32(a, b, 1);
 }
 
-// CHECK-LABEL: define <8 x i8> @test_vset_lane_s8(i8 %a, <8 x i8> %b) #0 {
+// CHECK-LABEL: define{{.*}} <8 x i8> @test_vset_lane_s8(i8 %a, <8 x i8> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <8 x i8> %b, i8 %a, i32 7
 // CHECK:   ret <8 x i8> [[VSET_LANE]]
 int8x8_t test_vset_lane_s8(int8_t a, int8x8_t b) {
   return vset_lane_s8(a, b, 7);
 }
 
-// CHECK-LABEL: define <4 x i16> @test_vset_lane_s16(i16 %a, <4 x i16> %b) #0 {
+// CHECK-LABEL: define{{.*}} <4 x i16> @test_vset_lane_s16(i16 %a, <4 x i16> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x i16> %b, i16 %a, i32 3
 // CHECK:   ret <4 x i16> [[VSET_LANE]]
 int16x4_t test_vset_lane_s16(int16_t a, int16x4_t b) {
   return vset_lane_s16(a, b, 3);
 }
 
-// CHECK-LABEL: define <2 x i32> @test_vset_lane_s32(i32 %a, <2 x i32> %b) #0 {
+// CHECK-LABEL: define{{.*}} <2 x i32> @test_vset_lane_s32(i32 %a, <2 x i32> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <2 x i32> %b, i32 %a, i32 1
 // CHECK:   ret <2 x i32> [[VSET_LANE]]
 int32x2_t test_vset_lane_s32(int32_t a, int32x2_t b) {
   return vset_lane_s32(a, b, 1);
 }
 
-// CHECK-LABEL: define <8 x i8> @test_vset_lane_p8(i8 %a, <8 x i8> %b) #0 {
+// CHECK-LABEL: define{{.*}} <8 x i8> @test_vset_lane_p8(i8 %a, <8 x i8> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <8 x i8> %b, i8 %a, i32 7
 // CHECK:   ret <8 x i8> [[VSET_LANE]]
 poly8x8_t test_vset_lane_p8(poly8_t a, poly8x8_t b) {
   return vset_lane_p8(a, b, 7);
 }
 
-// CHECK-LABEL: define <4 x i16> @test_vset_lane_p16(i16 %a, <4 x i16> %b) #0 {
+// CHECK-LABEL: define{{.*}} <4 x i16> @test_vset_lane_p16(i16 %a, <4 x i16> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x i16> %b, i16 %a, i32 3
 // CHECK:   ret <4 x i16> [[VSET_LANE]]
 poly16x4_t test_vset_lane_p16(poly16_t a, poly16x4_t b) {
   return vset_lane_p16(a, b, 3);
 }
 
-// CHECK-LABEL: define <2 x float> @test_vset_lane_f32(float %a, <2 x float> %b) #0 {
+// CHECK-LABEL: define{{.*}} <2 x float> @test_vset_lane_f32(float %a, <2 x float> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <2 x float> %b, float %a, i32 1
 // CHECK:   ret <2 x float> [[VSET_LANE]]
 float32x2_t test_vset_lane_f32(float32_t a, float32x2_t b) {
   return vset_lane_f32(a, b, 1);
 }
 
-// CHECK-LABEL: define <4 x half> @test_vset_lane_f16(half* %a, <4 x half> %b) #0 {
+// CHECK-LABEL: define{{.*}} <4 x half> @test_vset_lane_f16(half* %a, <4 x half> %b) #0 {
 // CHECK:   [[__REINT_246:%.*]] = alloca half, align 2
 // CHECK:   [[__REINT1_246:%.*]] = alloca <4 x half>, align 8
 // CHECK:   [[__REINT2_246:%.*]] = alloca <4 x i16>, align 8
@@ -274,70 +274,70 @@ float16x4_t test_vset_lane_f16(float16_t *a, float16x4_t b) {
   return vset_lane_f16(*a, b, 3);
 }
 
-// CHECK-LABEL: define <16 x i8> @test_vsetq_lane_u8(i8 %a, <16 x i8> %b) #1 {
+// CHECK-LABEL: define{{.*}} <16 x i8> @test_vsetq_lane_u8(i8 %a, <16 x i8> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <16 x i8> %b, i8 %a, i32 15
 // CHECK:   ret <16 x i8> [[VSET_LANE]]
 uint8x16_t test_vsetq_lane_u8(uint8_t a, uint8x16_t b) {
   return vsetq_lane_u8(a, b, 15);
 }
 
-// CHECK-LABEL: define <8 x i16> @test_vsetq_lane_u16(i16 %a, <8 x i16> %b) #1 {
+// CHECK-LABEL: define{{.*}} <8 x i16> @test_vsetq_lane_u16(i16 %a, <8 x i16> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <8 x i16> %b, i16 %a, i32 7
 // CHECK:   ret <8 x i16> [[VSET_LANE]]
 uint16x8_t test_vsetq_lane_u16(uint16_t a, uint16x8_t b) {
   return vsetq_lane_u16(a, b, 7);
 }
 
-// CHECK-LABEL: define <4 x i32> @test_vsetq_lane_u32(i32 %a, <4 x i32> %b) #1 {
+// CHECK-LABEL: define{{.*}} <4 x i32> @test_vsetq_lane_u32(i32 %a, <4 x i32> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x i32> %b, i32 %a, i32 3
 // CHECK:   ret <4 x i32> [[VSET_LANE]]
 uint32x4_t test_vsetq_lane_u32(uint32_t a, uint32x4_t b) {
   return vsetq_lane_u32(a, b, 3);
 }
 
-// CHECK-LABEL: define <16 x i8> @test_vsetq_lane_s8(i8 %a, <16 x i8> %b) #1 {
+// CHECK-LABEL: define{{.*}} <16 x i8> @test_vsetq_lane_s8(i8 %a, <16 x i8> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <16 x i8> %b, i8 %a, i32 15
 // CHECK:   ret <16 x i8> [[VSET_LANE]]
 int8x16_t test_vsetq_lane_s8(int8_t a, int8x16_t b) {
   return vsetq_lane_s8(a, b, 15);
 }
 
-// CHECK-LABEL: define <8 x i16> @test_vsetq_lane_s16(i16 %a, <8 x i16> %b) #1 {
+// CHECK-LABEL: define{{.*}} <8 x i16> @test_vsetq_lane_s16(i16 %a, <8 x i16> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <8 x i16> %b, i16 %a, i32 7
 // CHECK:   ret <8 x i16> [[VSET_LANE]]
 int16x8_t test_vsetq_lane_s16(int16_t a, int16x8_t b) {
   return vsetq_lane_s16(a, b, 7);
 }
 
-// CHECK-LABEL: define <4 x i32> @test_vsetq_lane_s32(i32 %a, <4 x i32> %b) #1 {
+// CHECK-LABEL: define{{.*}} <4 x i32> @test_vsetq_lane_s32(i32 %a, <4 x i32> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x i32> %b, i32 %a, i32 3
 // CHECK:   ret <4 x i32> [[VSET_LANE]]
 int32x4_t test_vsetq_lane_s32(int32_t a, int32x4_t b) {
   return vsetq_lane_s32(a, b, 3);
 }
 
-// CHECK-LABEL: define <16 x i8> @test_vsetq_lane_p8(i8 %a, <16 x i8> %b) #1 {
+// CHECK-LABEL: define{{.*}} <16 x i8> @test_vsetq_lane_p8(i8 %a, <16 x i8> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <16 x i8> %b, i8 %a, i32 15
 // CHECK:   ret <16 x i8> [[VSET_LANE]]
 poly8x16_t test_vsetq_lane_p8(poly8_t a, poly8x16_t b) {
   return vsetq_lane_p8(a, b, 15);
 }
 
-// CHECK-LABEL: define <8 x i16> @test_vsetq_lane_p16(i16 %a, <8 x i16> %b) #1 {
+// CHECK-LABEL: define{{.*}} <8 x i16> @test_vsetq_lane_p16(i16 %a, <8 x i16> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <8 x i16> %b, i16 %a, i32 7
 // CHECK:   ret <8 x i16> [[VSET_LANE]]
 poly16x8_t test_vsetq_lane_p16(poly16_t a, poly16x8_t b) {
   return vsetq_lane_p16(a, b, 7);
 }
 
-// CHECK-LABEL: define <4 x float> @test_vsetq_lane_f32(float %a, <4 x float> %b) #1 {
+// CHECK-LABEL: define{{.*}} <4 x float> @test_vsetq_lane_f32(float %a, <4 x float> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x float> %b, float %a, i32 3
 // CHECK:   ret <4 x float> [[VSET_LANE]]
 float32x4_t test_vsetq_lane_f32(float32_t a, float32x4_t b) {
   return vsetq_lane_f32(a, b, 3);
 }
 
-// CHECK-LABEL: define <8 x half> @test_vsetq_lane_f16(half* %a, <8 x half> %b) #1 {
+// CHECK-LABEL: define{{.*}} <8 x half> @test_vsetq_lane_f16(half* %a, <8 x half> %b) #1 {
 // CHECK:   [[__REINT_248:%.*]] = alloca half, align 2
 // CHECK:   [[__REINT1_248:%.*]] = alloca <8 x half>, align 16
 // CHECK:   [[__REINT2_248:%.*]] = alloca <8 x i16>, align 16
@@ -357,28 +357,28 @@ float16x8_t test_vsetq_lane_f16(float16_t *a, float16x8_t b) {
   return vsetq_lane_f16(*a, b, 7);
 }
 
-// CHECK-LABEL: define <1 x i64> @test_vset_lane_s64(i64 %a, <1 x i64> %b) #0 {
+// CHECK-LABEL: define{{.*}} <1 x i64> @test_vset_lane_s64(i64 %a, <1 x i64> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <1 x i64> %b, i64 %a, i32 0
 // CHECK:   ret <1 x i64> [[VSET_LANE]]
 int64x1_t test_vset_lane_s64(int64_t a, int64x1_t b) {
   return vset_lane_s64(a, b, 0);
 }
 
-// CHECK-LABEL: define <1 x i64> @test_vset_lane_u64(i64 %a, <1 x i64> %b) #0 {
+// CHECK-LABEL: define{{.*}} <1 x i64> @test_vset_lane_u64(i64 %a, <1 x i64> %b) #0 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <1 x i64> %b, i64 %a, i32 0
 // CHECK:   ret <1 x i64> [[VSET_LANE]]
 uint64x1_t test_vset_lane_u64(uint64_t a, uint64x1_t b) {
   return vset_lane_u64(a, b, 0);
 }
 
-// CHECK-LABEL: define <2 x i64> @test_vsetq_lane_s64(i64 %a, <2 x i64> %b) #1 {
+// CHECK-LABEL: define{{.*}} <2 x i64> @test_vsetq_lane_s64(i64 %a, <2 x i64> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <2 x i64> %b, i64 %a, i32 1
 // CHECK:   ret <2 x i64> [[VSET_LANE]]
 int64x2_t test_vsetq_lane_s64(int64_t a, int64x2_t b) {
   return vsetq_lane_s64(a, b, 1);
 }
 
-// CHECK-LABEL: define <2 x i64> @test_vsetq_lane_u64(i64 %a, <2 x i64> %b) #1 {
+// CHECK-LABEL: define{{.*}} <2 x i64> @test_vsetq_lane_u64(i64 %a, <2 x i64> %b) #1 {
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <2 x i64> %b, i64 %a, i32 1
 // CHECK:   ret <2 x i64> [[VSET_LANE]]
 uint64x2_t test_vsetq_lane_u64(uint64_t a, uint64x2_t b) {

diff  --git a/clang/test/CodeGen/address-space-field1.c b/clang/test/CodeGen/address-space-field1.c
index 64b51aefc9a1..fa3c5e095edc 100644
--- a/clang/test/CodeGen/address-space-field1.c
+++ b/clang/test/CodeGen/address-space-field1.c
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -emit-llvm -triple x86_64-apple-darwin10 < %s -o - | FileCheck %s
 // CHECK:%struct.S = type { i32, i32 }
-// CHECK:define void @test_addrspace(%struct.S addrspace(1)* %p1, %struct.S addrspace(2)* %p2) [[NUW:#[0-9]+]]
+// CHECK:define{{.*}} void @test_addrspace(%struct.S addrspace(1)* %p1, %struct.S addrspace(2)* %p2) [[NUW:#[0-9]+]]
 // CHECK:  [[p1addr:%.*]] = alloca %struct.S addrspace(1)*
 // CHECK:  [[p2addr:%.*]] = alloca %struct.S addrspace(2)*
 // CHECK:  store %struct.S addrspace(1)* %p1, %struct.S addrspace(1)** [[p1addr]]

diff  --git a/clang/test/CodeGen/address-space.c b/clang/test/CodeGen/address-space.c
index baefb4b983fc..0d894ad5885e 100644
--- a/clang/test/CodeGen/address-space.c
+++ b/clang/test/CodeGen/address-space.c
@@ -1,20 +1,20 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm < %s | FileCheck -enable-var-scope -check-prefixes=CHECK,X86 %s
 // RUN: %clang_cc1 -triple amdgcn -emit-llvm < %s | FileCheck -enable-var-scope -check-prefixes=CHECK,AMDGCN %s
 
-// CHECK: @foo = addrspace(1) global
+// CHECK: @foo ={{.*}} addrspace(1) global
 int foo __attribute__((address_space(1)));
 
-// CHECK: @ban = addrspace(1) global
+// CHECK: @ban ={{.*}} addrspace(1) global
 int ban[10] __attribute__((address_space(1)));
 
-// CHECK: @a = global
+// CHECK: @a ={{.*}} global
 int a __attribute__((address_space(0)));
 
-// CHECK-LABEL: define i32 @test1()
+// CHECK-LABEL: define{{.*}} i32 @test1()
 // CHECK: load i32, i32 addrspace(1)* @foo
 int test1() { return foo; }
 
-// CHECK-LABEL: define i32 @test2(i32 %i)
+// CHECK-LABEL: define{{.*}} i32 @test2(i32 %i)
 // CHECK: load i32, i32 addrspace(1)*
 // CHECK-NEXT: ret i32
 int test2(int i) { return ban[i]; }
@@ -22,7 +22,7 @@ int test2(int i) { return ban[i]; }
 // Both A and B point into addrspace(2).
 __attribute__((address_space(2))) int *A, *B;
 
-// CHECK-LABEL: define void @test3()
+// CHECK-LABEL: define{{.*}} void @test3()
 // X86: load i32 addrspace(2)*, i32 addrspace(2)** @B
 // AMDGCN: load i32 addrspace(2)*, i32 addrspace(2)** addrspacecast (i32 addrspace(2)* addrspace(1)* @B to i32 addrspace(2)**)
 // CHECK: load i32, i32 addrspace(2)*
@@ -38,7 +38,7 @@ typedef struct {
   float aData[1];
 } MyStruct;
 
-// CHECK-LABEL: 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) {
@@ -60,7 +60,7 @@ void_ptr_arithmetic_test(void __attribute__((address_space(1))) *arg) {
     return arg + 4;
 }
 
-// CHECK-LABEL: define i32* @test5(
+// CHECK-LABEL: define{{.*}} i32* @test5(
 const unsigned *test5() {
   // Intentionally leave a part of an array uninitialized. This triggers a
   // 
diff erent code path contrary to a fully initialized array.

diff  --git a/clang/test/CodeGen/align-param.c b/clang/test/CodeGen/align-param.c
index 78e57b5b1f8c..d3b0f3f16606 100644
--- a/clang/test/CodeGen/align-param.c
+++ b/clang/test/CodeGen/align-param.c
@@ -5,7 +5,7 @@
 int test (long long x) {
   return (int)x;
 }
-// CHECK-LABEL: 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-LABEL: define i32 @test2
+// CHECK-LABEL: define{{.*}} i32 @test2
 // CHECK: alloca %struct.X, align 16

diff  --git a/clang/test/CodeGen/aligned-sret.c b/clang/test/CodeGen/aligned-sret.c
index c8009d7ae3c6..fba6b0b5e039 100644
--- a/clang/test/CodeGen/aligned-sret.c
+++ b/clang/test/CodeGen/aligned-sret.c
@@ -4,7 +4,7 @@ typedef __attribute__((__ext_vector_type__(4),__aligned__(16))) double simd_doub
 typedef struct { simd_double4 columns[4]; } simd_double4x4;
 typedef simd_double4x4 matrix_double4x4;
 
-// CHECK: define void @ident(%struct.simd_double4x4* noalias sret(%struct.simd_double4x4) align 16 %agg.result
+// CHECK: define{{.*}} void @ident(%struct.simd_double4x4* noalias sret(%struct.simd_double4x4) align 16 %agg.result
 matrix_double4x4 ident(matrix_double4x4 x) {
   return x;
 }

diff  --git a/clang/test/CodeGen/annotations-var.c b/clang/test/CodeGen/annotations-var.c
index 77d27823847c..c945c081cc7e 100644
--- a/clang/test/CodeGen/annotations-var.c
+++ b/clang/test/CodeGen/annotations-var.c
@@ -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-LABEL: 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], [15 x i8]* @{{.*}}), i8* getelementptr inbounds ({{.*}}), i32 33, i8* null)
@@ -43,14 +43,14 @@ void local_after_return(void) {
     return;
     int localvar __attribute__((annotate("localvar_after_return"))) = 3;
 // Test we are not emitting instructions like bitcast or call outside of a basic block.
-// LOCAL-LABEL: define void @local_after_return()
+// LOCAL-LABEL: define{{.*}} void @local_after_return()
 // LOCAL:      [[LOCALVAR:%.*]] = alloca i32,
 // LOCAL-NEXT: ret void
 }
 
 void undef(void) {
     int undefvar __attribute__((annotate("undefvar_ann_0")));
-// UNDEF-LABEL: 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], [15 x i8]* @{{.*}}), i8* getelementptr inbounds ({{.*}}), i32 52, i8* null)

diff  --git a/clang/test/CodeGen/arm-aapcs-vfp.c b/clang/test/CodeGen/arm-aapcs-vfp.c
index 56dea832a77e..1d10c7c36363 100644
--- a/clang/test/CodeGen/arm-aapcs-vfp.c
+++ b/clang/test/CodeGen/arm-aapcs-vfp.c
@@ -24,14 +24,14 @@ struct homogeneous_struct {
   float f3;
   float f4;
 };
-// CHECK: define arm_aapcs_vfpcc %struct.homogeneous_struct @test_struct(%struct.homogeneous_struct %{{.*}})
-// CHECK64: define %struct.homogeneous_struct @test_struct([4 x float] %{{.*}})
+// CHECK: define{{.*}} arm_aapcs_vfpcc %struct.homogeneous_struct @test_struct(%struct.homogeneous_struct %{{.*}})
+// CHECK64: define{{.*}} %struct.homogeneous_struct @test_struct([4 x float] %{{.*}})
 extern struct homogeneous_struct struct_callee(struct homogeneous_struct);
 struct homogeneous_struct test_struct(struct homogeneous_struct arg) {
   return struct_callee(arg);
 }
 
-// CHECK: define arm_aapcs_vfpcc void @test_struct_variadic(%struct.homogeneous_struct* {{.*}}, ...)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_struct_variadic(%struct.homogeneous_struct* {{.*}}, ...)
 struct homogeneous_struct test_struct_variadic(struct homogeneous_struct arg, ...) {
   return struct_callee(arg);
 }
@@ -39,23 +39,23 @@ struct homogeneous_struct test_struct_variadic(struct homogeneous_struct arg, ..
 struct nested_array {
   double d[4];
 };
-// CHECK: define arm_aapcs_vfpcc void @test_array(%struct.nested_array %{{.*}})
-// CHECK64: define void @test_array([4 x double] %{{.*}})
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_array(%struct.nested_array %{{.*}})
+// CHECK64: define{{.*}} void @test_array([4 x double] %{{.*}})
 extern void array_callee(struct nested_array);
 void test_array(struct nested_array arg) {
   array_callee(arg);
 }
 
 extern void complex_callee(__complex__ double);
-// CHECK: define arm_aapcs_vfpcc void @test_complex({ double, double } %{{.*}})
-// CHECK64: define void @test_complex([2 x double] %cd.coerce)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_complex({ double, double } %{{.*}})
+// CHECK64: define{{.*}} void @test_complex([2 x double] %cd.coerce)
 void test_complex(__complex__ double cd) {
   complex_callee(cd);
 }
 
 // Long double is the same as double on AAPCS, it should be homogeneous.
 extern void complex_long_callee(__complex__ long double);
-// CHECK: define arm_aapcs_vfpcc void @test_complex_long({ double, double } %{{.*}})
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_complex_long({ double, double } %{{.*}})
 void test_complex_long(__complex__ long double cd) {
   complex_callee(cd);
 }
@@ -69,8 +69,8 @@ struct big_struct {
   float f3;
   float f4;
 };
-// CHECK: define arm_aapcs_vfpcc void @test_big([5 x i32] %{{.*}})
-// CHECK64: define void @test_big(%struct.big_struct* %{{.*}})
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_big([5 x i32] %{{.*}})
+// CHECK64: define{{.*}} void @test_big(%struct.big_struct* %{{.*}})
 // CHECK64: call void @llvm.memcpy
 // CHECK64: call void @big_callee(%struct.big_struct*
 extern void big_callee(struct big_struct);
@@ -85,16 +85,16 @@ struct heterogeneous_struct {
   float f1;
   int i2;
 };
-// CHECK: define arm_aapcs_vfpcc void @test_hetero([2 x i32] %{{.*}})
-// CHECK64: define void @test_hetero(i64 %{{.*}})
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_hetero([2 x i32] %{{.*}})
+// CHECK64: define{{.*}} void @test_hetero(i64 %{{.*}})
 extern void hetero_callee(struct heterogeneous_struct);
 void test_hetero(struct heterogeneous_struct arg) {
   hetero_callee(arg);
 }
 
 // Neon multi-vector types are homogeneous aggregates.
-// CHECK: define arm_aapcs_vfpcc <16 x i8> @f0(%struct.int8x16x4_t %{{.*}})
-// CHECK64: define <16 x i8> @f0([4 x <16 x i8>] %{{.*}})
+// CHECK: define{{.*}} arm_aapcs_vfpcc <16 x i8> @f0(%struct.int8x16x4_t %{{.*}})
+// CHECK64: define{{.*}} <16 x i8> @f0([4 x <16 x i8>] %{{.*}})
 int8x16_t f0(int8x16x4_t v4) {
   return vaddq_s8(v4.val[0], v4.val[3]);
 }
@@ -107,43 +107,43 @@ struct neon_struct {
   int32x2_t v3;
   int16x4_t v4;
 };
-// CHECK: define arm_aapcs_vfpcc void @test_neon(%struct.neon_struct %{{.*}})
-// CHECK64: define void @test_neon([4 x <8 x i8>] %{{.*}})
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_neon(%struct.neon_struct %{{.*}})
+// CHECK64: define{{.*}} void @test_neon([4 x <8 x i8>] %{{.*}})
 extern void neon_callee(struct neon_struct);
 void test_neon(struct neon_struct arg) {
   neon_callee(arg);
 }
 
-// CHECK-LABEL: define arm_aapcs_vfpcc void @f33(%struct.s33* byval(%struct.s33) align 4 %s)
+// CHECK-LABEL: define{{.*}} arm_aapcs_vfpcc void @f33(%struct.s33* byval(%struct.s33) align 4 %s)
 struct s33 { char buf[32*32]; };
 void f33(struct s33 s) { }
 
 typedef struct { long long x; int y; } struct_long_long_int;
-// CHECK: define arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_1(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, i64 %k, i32 %l)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_1(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, i64 %k, i32 %l)
 void test_vfp_stack_gpr_split_1(double a, double b, double c, double d, double e, double f, double g, double h, double i, int j, long long k, int l) {}
 
-// CHECK: define arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_2(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, [2 x i64] %k.coerce)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_2(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, [2 x i64] %k.coerce)
 void test_vfp_stack_gpr_split_2(double a, double b, double c, double d, double e, double f, double g, double h, double i, int j, struct_long_long_int k) {}
 
-// CHECK: define arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_3(%struct.struct_long_long_int* noalias sret(%struct.struct_long_long_int) align 8 %agg.result, double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, [2 x i64] %k.coerce)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_3(%struct.struct_long_long_int* noalias sret(%struct.struct_long_long_int) align 8 %agg.result, double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, [2 x i64] %k.coerce)
 struct_long_long_int test_vfp_stack_gpr_split_3(double a, double b, double c, double d, double e, double f, double g, double h, double i, struct_long_long_int k) {}
 
 typedef struct { int a; int b:4; int c; } struct_int_bitfield_int;
-// CHECK: define arm_aapcs_vfpcc void @test_test_vfp_stack_gpr_split_bitfield(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, i32 %k, [3 x i32] %l.coerce)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_test_vfp_stack_gpr_split_bitfield(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, i32 %k, [3 x i32] %l.coerce)
 void test_test_vfp_stack_gpr_split_bitfield(double a, double b, double c, double d, double e, double f, double g, double h, double i, int j, int k, struct_int_bitfield_int l) {}
 
 // Note: this struct requires internal padding
 typedef struct { int x; long long y; } struct_int_long_long;
-// CHECK: define arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_4(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, [2 x i64] %k.coerce)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_4(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, [2 x i64] %k.coerce)
 void test_vfp_stack_gpr_split_4(double a, double b, double c, double d, double e, double f, double g, double h, double i, int j, struct_int_long_long k) {}
 
 // This very large struct (passed byval) uses up the GPRs, so no padding is needed
 typedef struct { int x[17]; } struct_seventeen_ints;
 typedef struct { int x[4]; } struct_four_ints;
-// CHECK: define arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_5(%struct.struct_seventeen_ints* byval(%struct.struct_seventeen_ints) align 4 %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, double %j, [4 x i32] %k.coerce)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_5(%struct.struct_seventeen_ints* byval(%struct.struct_seventeen_ints) align 4 %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, double %j, [4 x i32] %k.coerce)
 void test_vfp_stack_gpr_split_5(struct_seventeen_ints a, double b, double c, double d, double e, double f, double g, double h, double i, double j, struct_four_ints k) {}
 
 // Here, parameter k would need padding to prevent it from being split, but it
 // is passed ByVal (due to being > 64 bytes), so the backend handles this instead.
 void test_vfp_stack_gpr_split_6(double a, double b, double c, double d, double e, double f, double g, double h, double i, int j, struct_seventeen_ints k) {}
-// CHECK: define arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_6(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, %struct.struct_seventeen_ints* byval(%struct.struct_seventeen_ints) align 4 %k)
+// CHECK: define{{.*}} arm_aapcs_vfpcc void @test_vfp_stack_gpr_split_6(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, i32 %j, %struct.struct_seventeen_ints* byval(%struct.struct_seventeen_ints) align 4 %k)

diff  --git a/clang/test/CodeGen/arm-arguments.c b/clang/test/CodeGen/arm-arguments.c
index b8488372e993..ad1b89431ee2 100644
--- a/clang/test/CodeGen/arm-arguments.c
+++ b/clang/test/CodeGen/arm-arguments.c
@@ -2,77 +2,77 @@
 // RUN: %clang_cc1 -triple armv7-apple-darwin9 -target-feature +neon -target-abi apcs-gnu -emit-llvm -w -o - %s | FileCheck -check-prefix=APCS-GNU %s
 // RUN: %clang_cc1 -triple armv7-apple-darwin9 -target-feature +neon -target-abi aapcs -emit-llvm -w -o - %s | FileCheck -check-prefix=AAPCS %s
 
-// APCS-GNU-LABEL: define signext i8 @f0()
-// AAPCS-LABEL: 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-LABEL: define i8 @f1()
-// AAPCS-LABEL: 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-LABEL: define i16 @f2()
-// AAPCS-LABEL: 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-LABEL: define i32 @f3()
-// AAPCS-LABEL: 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-LABEL: define i32 @f4()
-// AAPCS-LABEL: 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-LABEL: define void @f5(
+// APCS-GNU-LABEL: define{{.*}} void @f5(
 // APCS-GNU: struct.s5* noalias sret
-// AAPCS-LABEL: define arm_aapcscc i32 @f5()
+// AAPCS-LABEL: define{{.*}} arm_aapcscc i32 @f5()
 struct s5 { struct { } f0; int f1; };
 struct s5 f5(void) {}
 
-// APCS-GNU-LABEL: define void @f6(
+// APCS-GNU-LABEL: define{{.*}} void @f6(
 // APCS-GNU: struct.s6* noalias sret
-// AAPCS-LABEL: define arm_aapcscc i32 @f6()
+// AAPCS-LABEL: define{{.*}} arm_aapcscc i32 @f6()
 struct s6 { int f0[1]; };
 struct s6 f6(void) {}
 
-// APCS-GNU-LABEL: define void @f7()
-// AAPCS-LABEL: 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-LABEL: define void @f8(
+// APCS-GNU-LABEL: define{{.*}} void @f8(
 // APCS-GNU: struct.s8* noalias sret
-// AAPCS-LABEL: 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-LABEL: define i32 @f9()
-// AAPCS-LABEL: 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-LABEL: define i32 @f10()
-// AAPCS-LABEL: 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-LABEL: define void @f11(
+// APCS-GNU-LABEL: define{{.*}} void @f11(
 // APCS-GNU: struct.s11* noalias sret
-// AAPCS-LABEL: define arm_aapcscc i32 @f11()
+// AAPCS-LABEL: define{{.*}} arm_aapcscc i32 @f11()
 struct s11 { int : 0; int f0; };
 struct s11 f11(void) {}
 
-// APCS-GNU-LABEL: define i32 @f12()
-// AAPCS-LABEL: 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-LABEL: define void @f13(
+// APCS-GNU-LABEL: define{{.*}} void @f13(
 // APCS-GNU: struct.s13* noalias sret
 
 // FIXME: This should return a float.
@@ -80,59 +80,59 @@ union u12 f12(void) {}
 struct s13 { float f0; };
 struct s13 f13(void) {}
 
-// APCS-GNU-LABEL: define void @f14(
+// APCS-GNU-LABEL: define{{.*}} void @f14(
 // APCS-GNU: union.u14* noalias sret
-// AAPCS-LABEL: define arm_aapcscc i32 @f14()
+// AAPCS-LABEL: define{{.*}} arm_aapcscc i32 @f14()
 union u14 { float f0; };
 union u14 f14(void) {}
 
-// APCS-GNU-LABEL: define void @f15()
-// AAPCS-LABEL: 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-LABEL: define void @f16()
-// AAPCS-LABEL: 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-LABEL: define i32 @f17()
-// AAPCS-LABEL: 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-LABEL: define i32 @f18()
-// AAPCS-LABEL: 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-LABEL: define void @f19(
+// APCS-GNU-LABEL: define{{.*}} void @f19(
 // APCS-GNU: struct.s19* noalias sret
-// AAPCS-LABEL: 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-LABEL: define void @f20(
+// APCS-GNU-LABEL: define{{.*}} void @f20(
 // APCS-GNU: struct.s20* noalias sret
-// AAPCS-LABEL: 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-LABEL: define i8 @f21()
-// AAPCS-LABEL: 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-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
-// AAPCS: define arm_aapcscc void @f27({{.*}} noalias sret
+// 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
+// AAPCS: define{{.*}} arm_aapcscc void @f27({{.*}} noalias sret
 _Complex char       f22(void) {}
 _Complex short      f23(void) {}
 _Complex int        f24(void) {}
@@ -140,18 +140,18 @@ _Complex long long  f25(void) {}
 _Complex float      f26(void) {}
 _Complex double     f27(void) {}
 
-// APCS-GNU-LABEL: define i16 @f28()
-// AAPCS-LABEL: 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-LABEL: define i32 @f29()
-// AAPCS-LABEL: 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() {}
 
-// APCS-GNU: define void @f30({{.*}} noalias sret
-// AAPCS: define arm_aapcscc void @f30({{.*}} noalias sret
+// APCS-GNU: define{{.*}} void @f30({{.*}} noalias sret
+// AAPCS: define{{.*}} arm_aapcscc void @f30({{.*}} noalias sret
 struct s30 { _Complex int f0; };
 struct s30 f30() {}
 
@@ -176,8 +176,8 @@ void f32(struct s32 s) { }
 // PR13350
 struct s33 { char buf[32*32]; };
 void f33(struct s33 s) { }
-// APCS-GNU-LABEL: define void @f33(%struct.s33* byval(%struct.s33) align 4 %s)
-// AAPCS-LABEL: define arm_aapcscc void @f33(%struct.s33* byval(%struct.s33) align 4 %s)
+// APCS-GNU-LABEL: define{{.*}} void @f33(%struct.s33* byval(%struct.s33) align 4 %s)
+// AAPCS-LABEL: define{{.*}} arm_aapcscc void @f33(%struct.s33* byval(%struct.s33) align 4 %s)
 
 // PR14048
 struct s34 { char c; };
@@ -204,7 +204,7 @@ float32x4_t f35(int i, s35_with_align s1, s35_with_align s2) {
                             *(float32x4_t *)&s2);
   return v;
 }
-// APCS-GNU-LABEL: define <4 x float> @f35(i32 %i, %struct.s35* byval(%struct.s35) align 4 %0, %struct.s35* byval(%struct.s35) align 4 %1)
+// APCS-GNU-LABEL: define{{.*}} <4 x float> @f35(i32 %i, %struct.s35* byval(%struct.s35) align 4 %0, %struct.s35* byval(%struct.s35) align 4 %1)
 // 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*
@@ -212,7 +212,7 @@ float32x4_t f35(int i, s35_with_align s1, s35_with_align s2) {
 // APCS-GNU: %[[d:.*]] = bitcast %struct.s35* %[[a]] to <4 x float>*
 // APCS-GNU: load <4 x float>, <4 x float>* %[[d]], align 16
 
-// AAPCS-LABEL: define arm_aapcscc <4 x float> @f35(i32 %i, %struct.s35* byval(%struct.s35) align 4 %s1, %struct.s35* byval(%struct.s35) align 4 %s2)
+// AAPCS-LABEL: define{{.*}} arm_aapcscc <4 x float> @f35(i32 %i, %struct.s35* byval(%struct.s35) align 4 %s1, %struct.s35* byval(%struct.s35) align 4 %s2)
 // AAPCS: %[[a_addr:.*]] = alloca <4 x float>, align 16
 // AAPCS: %[[b_addr:.*]] = alloca <4 x float>, align 16
 // AAPCS: %[[p1:.*]] = bitcast %struct.s35* %s1 to <4 x float>*

diff  --git a/clang/test/CodeGen/arm-cc.c b/clang/test/CodeGen/arm-cc.c
index b506834d1506..a95ca8e964e1 100644
--- a/clang/test/CodeGen/arm-cc.c
+++ b/clang/test/CodeGen/arm-cc.c
@@ -8,9 +8,9 @@
 // RUN: %clang_cc1 -triple armv7-none-eabihf -target-abi aapcs-vfp -emit-llvm -w -o - %s | FileCheck -check-prefix=BAREMETAL-AAPCS_VFP %s
 
 
-// DARWIN-APCS-LABEL: define void @f()
+// DARWIN-APCS-LABEL: define{{.*}} void @f()
 // DARWIN-APCS: call void @g
-// DARWIN-AAPCS-LABEL: define arm_aapcscc void @f()
+// DARWIN-AAPCS-LABEL: define{{.*}} arm_aapcscc void @f()
 // DARWIN-AAPCS: call arm_aapcscc void @g
 // LINUX-APCS-LABEL: define arm_apcscc void @f()
 // LINUX-APCS: call arm_apcscc void @g

diff  --git a/clang/test/CodeGen/arm-interrupt-attr.c b/clang/test/CodeGen/arm-interrupt-attr.c
index fcbf1c721bd1..2aa8dee06f08 100644
--- a/clang/test/CodeGen/arm-interrupt-attr.c
+++ b/clang/test/CodeGen/arm-interrupt-attr.c
@@ -2,30 +2,30 @@
 // RUN: %clang_cc1 -triple arm-apple-darwin -target-abi apcs-gnu -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-APCS
 
 __attribute__((interrupt)) void test_generic_interrupt() {
-  // CHECK: define arm_aapcscc void @test_generic_interrupt() [[GENERIC_ATTR:#[0-9]+]]
+  // CHECK: define{{.*}} arm_aapcscc void @test_generic_interrupt() [[GENERIC_ATTR:#[0-9]+]]
 
-  // CHECK-APCS: define void @test_generic_interrupt() [[GENERIC_ATTR:#[0-9]+]]
+  // CHECK-APCS: define{{.*}} void @test_generic_interrupt() [[GENERIC_ATTR:#[0-9]+]]
 }
 
 __attribute__((interrupt("IRQ"))) void test_irq_interrupt() {
-  // CHECK: define arm_aapcscc void @test_irq_interrupt() [[IRQ_ATTR:#[0-9]+]]
+  // CHECK: define{{.*}} arm_aapcscc void @test_irq_interrupt() [[IRQ_ATTR:#[0-9]+]]
 }
 
 __attribute__((interrupt("FIQ"))) void test_fiq_interrupt() {
-  // CHECK: define arm_aapcscc void @test_fiq_interrupt() [[FIQ_ATTR:#[0-9]+]]
+  // CHECK: define{{.*}} arm_aapcscc void @test_fiq_interrupt() [[FIQ_ATTR:#[0-9]+]]
 }
 
 __attribute__((interrupt("SWI"))) void test_swi_interrupt() {
-  // CHECK: define arm_aapcscc void @test_swi_interrupt() [[SWI_ATTR:#[0-9]+]]
+  // CHECK: define{{.*}} arm_aapcscc void @test_swi_interrupt() [[SWI_ATTR:#[0-9]+]]
 }
 
 __attribute__((interrupt("ABORT"))) void test_abort_interrupt() {
-  // CHECK: define arm_aapcscc void @test_abort_interrupt() [[ABORT_ATTR:#[0-9]+]]
+  // CHECK: define{{.*}} arm_aapcscc void @test_abort_interrupt() [[ABORT_ATTR:#[0-9]+]]
 }
 
 
 __attribute__((interrupt("UNDEF"))) void test_undef_interrupt() {
-  // CHECK: define arm_aapcscc void @test_undef_interrupt() [[UNDEF_ATTR:#[0-9]+]]
+  // CHECK: define{{.*}} arm_aapcscc void @test_undef_interrupt() [[UNDEF_ATTR:#[0-9]+]]
 }
 
 // CHECK: attributes [[GENERIC_ATTR]] = { {{.*}} {{"interrupt"[^=]}}

diff  --git a/clang/test/CodeGen/arm-swiftcall.c b/clang/test/CodeGen/arm-swiftcall.c
index 9f6f53a7afb2..0bba85f4c40d 100644
--- a/clang/test/CodeGen/arm-swiftcall.c
+++ b/clang/test/CodeGen/arm-swiftcall.c
@@ -12,24 +12,24 @@
 /*****************************************************************************/
 
 SWIFTCALL void indirect_result_1(OUT int *arg0, OUT float *arg1) {}
-// CHECK-LABEL: define {{.*}} void @indirect_result_1(i32* noalias sret(i32*) align 4 dereferenceable(4){{.*}}, float* noalias align 4 dereferenceable(4){{.*}})
+// CHECK-LABEL: define{{.*}} void @indirect_result_1(i32* noalias sret(i32*) align 4 dereferenceable(4){{.*}}, float* noalias align 4 dereferenceable(4){{.*}})
 
 // TODO: maybe this shouldn't suppress sret.
 SWIFTCALL int indirect_result_2(OUT int *arg0, OUT float *arg1) {  __builtin_unreachable(); }
-// CHECK-LABEL: define {{.*}} i32 @indirect_result_2(i32* noalias align 4 dereferenceable(4){{.*}}, float* noalias align 4 dereferenceable(4){{.*}})
+// CHECK-LABEL: define{{.*}} i32 @indirect_result_2(i32* noalias align 4 dereferenceable(4){{.*}}, float* noalias align 4 dereferenceable(4){{.*}})
 
 typedef struct { char array[1024]; } struct_reallybig;
 SWIFTCALL struct_reallybig indirect_result_3(OUT int *arg0, OUT float *arg1) { __builtin_unreachable(); }
-// CHECK-LABEL: define {{.*}} void @indirect_result_3({{.*}}* noalias sret(%struct.struct_reallybig) {{.*}}, i32* noalias align 4 dereferenceable(4){{.*}}, float* noalias align 4 dereferenceable(4){{.*}})
+// CHECK-LABEL: define{{.*}} void @indirect_result_3({{.*}}* noalias sret(%struct.struct_reallybig) {{.*}}, i32* noalias align 4 dereferenceable(4){{.*}}, float* noalias align 4 dereferenceable(4){{.*}})
 
 SWIFTCALL void context_1(CONTEXT void *self) {}
-// CHECK-LABEL: define {{.*}} void @context_1(i8* swiftself
+// CHECK-LABEL: define{{.*}} void @context_1(i8* swiftself
 
 SWIFTCALL void context_2(void *arg0, CONTEXT void *self) {}
-// CHECK-LABEL: define {{.*}} void @context_2(i8*{{.*}}, i8* swiftself
+// CHECK-LABEL: define{{.*}} void @context_2(i8*{{.*}}, i8* swiftself
 
 SWIFTCALL void context_error_1(CONTEXT int *self, ERROR float **error) {}
-// CHECK-LABEL: define {{.*}} void @context_error_1(i32* swiftself{{.*}}, float** swifterror %0)
+// CHECK-LABEL: define{{.*}} void @context_error_1(i32* swiftself{{.*}}, float** swifterror %0)
 // CHECK:       [[TEMP:%.*]] = alloca float*, align 4
 // CHECK:       [[T0:%.*]] = load float*, float** [[ERRORARG:%.*]], align 4
 // CHECK:       store float* [[T0]], float** [[TEMP]], align 4
@@ -40,7 +40,7 @@ void test_context_error_1() {
   float *error;
   context_error_1(&x, &error);
 }
-// CHECK-LABEL: define void @test_context_error_1()
+// CHECK-LABEL: define{{.*}} void @test_context_error_1()
 // CHECK:       [[X:%.*]] = alloca i32, align 4
 // CHECK:       [[ERROR:%.*]] = alloca float*, align 4
 // CHECK:       [[TEMP:%.*]] = alloca swifterror float*, align 4
@@ -51,7 +51,7 @@ void test_context_error_1() {
 // CHECK:       store float* [[T0]], float** [[ERROR]], align 4
 
 SWIFTCALL void context_error_2(short s, CONTEXT int *self, ERROR float **error) {}
-// CHECK-LABEL: define {{.*}} void @context_error_2(i16{{.*}}, i32* swiftself{{.*}}, float** swifterror %0)
+// CHECK-LABEL: define{{.*}} void @context_error_2(i16{{.*}}, i32* swiftself{{.*}}, float** swifterror %0)
 
 /*****************************************************************************/
 /********************************** LOWERING *********************************/
@@ -88,9 +88,9 @@ typedef long long long2 __attribute__((ext_vector_type(2)));
 typedef struct {
 } struct_empty;
 TEST(struct_empty);
-// CHECK-LABEL: define {{.*}} @return_struct_empty()
+// CHECK-LABEL: define{{.*}} @return_struct_empty()
 // CHECK:   ret void
-// CHECK-LABEL: define {{.*}} @take_struct_empty()
+// CHECK-LABEL: define{{.*}} @take_struct_empty()
 // CHECK:   ret void
 
 typedef struct {
@@ -101,7 +101,7 @@ typedef struct {
   float f1;
 } struct_1;
 TEST(struct_1);
-// CHECK-LABEL: define {{.*}} @return_struct_1()
+// CHECK-LABEL: define{{.*}} @return_struct_1()
 // CHECK:   [[RET:%.*]] = alloca [[REC:%.*]], align 4
 // CHECK:   @llvm.memset
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[RET]] to [[AGG:{ i32, i16, \[2 x i8\], float, float }]]*
@@ -118,7 +118,7 @@ TEST(struct_1);
 // CHECK:   [[T2:%.*]] = insertvalue [[UAGG]] [[T1]], float [[THIRD]], 2
 // CHECK:   [[T3:%.*]] = insertvalue [[UAGG]] [[T2]], float [[FOURTH]], 3
 // CHECK:   ret [[UAGG]] [[T3]]
-// CHECK-LABEL: define {{.*}} @take_struct_1(i32 %0, i16 %1, float %2, float %3)
+// CHECK-LABEL: define{{.*}} @take_struct_1(i32 %0, i16 %1, float %2, float %3)
 // CHECK:   [[V:%.*]] = alloca [[REC]], align 4
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[V]] to [[AGG]]*
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 0
@@ -130,7 +130,7 @@ TEST(struct_1);
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 4
 // CHECK:   store float %3, float* [[T0]], align 4
 // CHECK:   ret void
-// CHECK-LABEL: define void @test_struct_1()
+// CHECK-LABEL: define{{.*}} void @test_struct_1()
 // CHECK:   [[TMP:%.*]] = alloca [[REC]], align 4
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG]] @return_struct_1()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[TMP]] to [[AGG]]*
@@ -166,7 +166,7 @@ typedef struct {
   float f1;
 } struct_2;
 TEST(struct_2);
-// CHECK-LABEL: define {{.*}} @return_struct_2()
+// CHECK-LABEL: define{{.*}} @return_struct_2()
 // CHECK:   [[RET:%.*]] = alloca [[REC:%.*]], align 4
 // CHECK:   @llvm.memcpy
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[RET]] to [[AGG:{ i32, i32, float, float }]]*
@@ -183,7 +183,7 @@ TEST(struct_2);
 // CHECK:   [[T2:%.*]] = insertvalue [[UAGG]] [[T1]], float [[THIRD]], 2
 // CHECK:   [[T3:%.*]] = insertvalue [[UAGG]] [[T2]], float [[FOURTH]], 3
 // CHECK:   ret [[UAGG]] [[T3]]
-// CHECK-LABEL: define {{.*}} @take_struct_2(i32 %0, i32 %1, float %2, float %3)
+// CHECK-LABEL: define{{.*}} @take_struct_2(i32 %0, i32 %1, float %2, float %3)
 // CHECK:   [[V:%.*]] = alloca [[REC]], align 4
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[V]] to [[AGG]]*
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 0
@@ -195,7 +195,7 @@ TEST(struct_2);
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 3
 // CHECK:   store float %3, float* [[T0]], align 4
 // CHECK:   ret void
-// CHECK-LABEL: define void @test_struct_2()
+// CHECK-LABEL: define{{.*}} void @test_struct_2()
 // CHECK:   [[TMP:%.*]] = alloca [[REC]], align 4
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG]] @return_struct_2()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[TMP]] to [[AGG]]*
@@ -234,7 +234,7 @@ typedef struct {
   __attribute__((packed)) float f;
 } struct_misaligned_1;
 TEST(struct_misaligned_1)
-// CHECK-LABEL: define {{.*}} @return_struct_misaligned_1()
+// CHECK-LABEL: define{{.*}} @return_struct_misaligned_1()
 // CHECK:   [[RET:%.*]] = alloca [[REC:%.*]], align
 // CHECK:   @llvm.memset
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[RET]] to [[AGG:{ i32, i8 }]]*
@@ -245,7 +245,7 @@ TEST(struct_misaligned_1)
 // CHECK:   [[T0:%.*]] = insertvalue [[UAGG:{ i32, i8 }]] undef, i32 [[FIRST]], 0
 // CHECK:   [[T1:%.*]] = insertvalue [[UAGG]] [[T0]], i8 [[SECOND]], 1
 // CHECK:   ret [[UAGG]] [[T1]]
-// CHECK-LABEL: define {{.*}} @take_struct_misaligned_1(i32 %0, i8 %1)
+// CHECK-LABEL: define{{.*}} @take_struct_misaligned_1(i32 %0, i8 %1)
 // CHECK:   [[V:%.*]] = alloca [[REC]], align
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[V]] to [[AGG]]*
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 0
@@ -260,10 +260,10 @@ typedef struct {
 } struct_big_1;
 TEST(struct_big_1)
 
-// CHECK-LABEL: define {{.*}} void @return_struct_big_1({{.*}} noalias sret({{.*}})
+// CHECK-LABEL: define{{.*}} void @return_struct_big_1({{.*}} noalias sret({{.*}})
 
 // Should not be byval.
-// CHECK-LABEL: define {{.*}} void @take_struct_big_1({{.*}}*{{( %.*)?}})
+// CHECK-LABEL: define{{.*}} void @take_struct_big_1({{.*}}*{{( %.*)?}})
 
 /*****************************************************************************/
 /********************************* TYPE MERGING ******************************/
@@ -274,7 +274,7 @@ typedef union {
   double d;
 } union_het_fp;
 TEST(union_het_fp)
-// CHECK-LABEL: define {{.*}} @return_union_het_fp()
+// CHECK-LABEL: define{{.*}} @return_union_het_fp()
 // CHECK:   [[RET:%.*]] = alloca [[REC:%.*]], align {{(4|8)}}
 // CHECK:   @llvm.memcpy
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[RET]] to [[AGG:{ i32, i32 }]]*
@@ -285,7 +285,7 @@ TEST(union_het_fp)
 // CHECK:   [[T0:%.*]] = insertvalue [[UAGG:{ i32, i32 }]] undef, i32 [[FIRST]], 0
 // CHECK:   [[T1:%.*]] = insertvalue [[UAGG]] [[T0]], i32 [[SECOND]], 1
 // CHECK:   ret [[UAGG]] [[T1]]
-// CHECK-LABEL: define {{.*}} @take_union_het_fp(i32 %0, i32 %1)
+// CHECK-LABEL: define{{.*}} @take_union_het_fp(i32 %0, i32 %1)
 // CHECK:   [[V:%.*]] = alloca [[REC]], align {{(4|8)}}
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[V]] to [[AGG]]*
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 0
@@ -293,7 +293,7 @@ TEST(union_het_fp)
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 1
 // CHECK:   store i32 %1, i32* [[T0]], align {{(4|8)}}
 // CHECK:   ret void
-// CHECK-LABEL: define void @test_union_het_fp()
+// CHECK-LABEL: define{{.*}} void @test_union_het_fp()
 // CHECK:   [[TMP:%.*]] = alloca [[REC]], align {{(4|8)}}
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG]] @return_union_het_fp()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[TMP]] to [[AGG]]*
@@ -317,7 +317,7 @@ typedef union {
   float f2;
 } union_hom_fp;
 TEST(union_hom_fp)
-// CHECK-LABEL: define void @test_union_hom_fp()
+// CHECK-LABEL: define{{.*}} void @test_union_hom_fp()
 // CHECK:   [[TMP:%.*]] = alloca [[REC:%.*]], align 4
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] float @return_union_hom_fp()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[TMP]] to [[AGG:{ float }]]*
@@ -334,7 +334,7 @@ typedef union {
   float4 fv2;
 } union_hom_fp_partial;
 TEST(union_hom_fp_partial)
-// CHECK-LABEL: define void @test_union_hom_fp_partial()
+// CHECK-LABEL: define{{.*}} void @test_union_hom_fp_partial()
 // CHECK:   [[TMP:%.*]] = alloca [[REC:%.*]], align 16
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG:{ float, float, float, float }]] @return_union_hom_fp_partial()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[TMP]] to [[AGG:{ float, float, float, float }]]*
@@ -367,7 +367,7 @@ typedef union {
   float4 fv2;
 } union_het_fpv_partial;
 TEST(union_het_fpv_partial)
-// CHECK-LABEL: define void @test_union_het_fpv_partial()
+// CHECK-LABEL: define{{.*}} void @test_union_het_fpv_partial()
 // CHECK:   [[TMP:%.*]] = alloca [[REC:%.*]], align 16
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG:{ i32, i32, float, float }]] @return_union_het_fpv_partial()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[TMP]] to [[AGG:{ i32, i32, float, float }]]*
@@ -400,11 +400,11 @@ TEST(union_het_fpv_partial)
 /*****************************************************************************/
 
 TEST(int4)
-// CHECK-LABEL: define {{.*}} <4 x i32> @return_int4()
-// CHECK-LABEL: define {{.*}} @take_int4(<4 x i32>
+// CHECK-LABEL: define{{.*}} <4 x i32> @return_int4()
+// CHECK-LABEL: define{{.*}} @take_int4(<4 x i32>
 
 TEST(int8)
-// CHECK-LABEL: define {{.*}} @return_int8()
+// CHECK-LABEL: define{{.*}} @return_int8()
 // CHECK:   [[RET:%.*]] = alloca [[REC:<8 x i32>]], align 32
 // CHECK:   store
 // CHECK:   load
@@ -417,7 +417,7 @@ TEST(int8)
 // CHECK:   [[T0:%.*]] = insertvalue [[UAGG:{ <4 x i32>, <4 x i32> }]] undef, <4 x i32> [[FIRST]], 0
 // CHECK:   [[T1:%.*]] = insertvalue [[UAGG]] [[T0]], <4 x i32> [[SECOND]], 1
 // CHECK:   ret [[UAGG]] [[T1]]
-// CHECK-LABEL: define {{.*}} @take_int8(<4 x i32> %0, <4 x i32> %1)
+// CHECK-LABEL: define{{.*}} @take_int8(<4 x i32> %0, <4 x i32> %1)
 // CHECK:   [[V:%.*]] = alloca [[REC]], align
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[V]] to [[AGG]]*
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 0
@@ -425,7 +425,7 @@ TEST(int8)
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 1
 // CHECK:   store <4 x i32> %1, <4 x i32>* [[T0]], align
 // CHECK:   ret void
-// CHECK-LABEL: define void @test_int8()
+// CHECK-LABEL: define{{.*}} void @test_int8()
 // CHECK:   [[TMP1:%.*]] = alloca [[REC]], align
 // CHECK:   [[TMP2:%.*]] = alloca [[REC]], align
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG]] @return_int8()
@@ -447,7 +447,7 @@ TEST(int8)
 // CHECK:   ret void
 
 TEST(int5)
-// CHECK-LABEL: define {{.*}} @return_int5()
+// CHECK-LABEL: define{{.*}} @return_int5()
 // CHECK:   [[RET:%.*]] = alloca [[REC:<5 x i32>]], align 32
 // CHECK:   store
 // CHECK:   load
@@ -460,7 +460,7 @@ TEST(int5)
 // CHECK:   [[T0:%.*]] = insertvalue [[UAGG:{ <4 x i32>, i32 }]] undef, <4 x i32> [[FIRST]], 0
 // CHECK:   [[T1:%.*]] = insertvalue [[UAGG]] [[T0]], i32 [[SECOND]], 1
 // CHECK:   ret [[UAGG]] [[T1]]
-// CHECK-LABEL: define {{.*}} @take_int5(<4 x i32> %0, i32 %1)
+// CHECK-LABEL: define{{.*}} @take_int5(<4 x i32> %0, i32 %1)
 // CHECK:   [[V:%.*]] = alloca [[REC]], align
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[V]] to [[AGG]]*
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 0
@@ -468,7 +468,7 @@ TEST(int5)
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 1
 // CHECK:   store i32 %1, i32* [[T0]], align
 // CHECK:   ret void
-// CHECK-LABEL: define void @test_int5()
+// CHECK-LABEL: define{{.*}} void @test_int5()
 // CHECK:   [[TMP1:%.*]] = alloca [[REC]], align
 // CHECK:   [[TMP2:%.*]] = alloca [[REC]], align
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC]] [[UAGG]] @return_int5()
@@ -494,22 +494,22 @@ typedef struct {
   int3 v __attribute__((packed));
 } misaligned_int3;
 TEST(misaligned_int3)
-// CHECK-LABEL: define {{.*}} @take_misaligned_int3(i32 %0, i32 %1, i32 %2, i32 %3)
+// CHECK-LABEL: define{{.*}} @take_misaligned_int3(i32 %0, i32 %1, i32 %2, i32 %3)
 
 typedef struct {
   float f0;
 } struct_f1;
 TEST(struct_f1)
-// CHECK-LABEL: define swiftcc float @return_struct_f1()
-// CHECK-LABEL: define swiftcc void @take_struct_f1(float %0)
+// CHECK-LABEL: define{{.*}} swiftcc float @return_struct_f1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_f1(float %0)
 
 typedef struct {
   float f0;
   float f1;
 } struct_f2;
 TEST(struct_f2)
-// CHECK-LABEL: define swiftcc { float, float } @return_struct_f2()
-// CHECK-LABEL: define swiftcc void @take_struct_f2(float %0, float %1)
+// CHECK-LABEL: define{{.*}} swiftcc { float, float } @return_struct_f2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_f2(float %0, float %1)
 
 typedef struct {
   float f0;
@@ -517,8 +517,8 @@ typedef struct {
   float f2;
 } struct_f3;
 TEST(struct_f3)
-// CHECK-LABEL: define swiftcc { float, float, float } @return_struct_f3()
-// CHECK-LABEL: define swiftcc void @take_struct_f3(float %0, float %1, float %2)
+// CHECK-LABEL: define{{.*}} swiftcc { float, float, float } @return_struct_f3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_f3(float %0, float %1, float %2)
 
 typedef struct {
   float f0;
@@ -527,24 +527,24 @@ typedef struct {
   float f3;
 } struct_f4;
 TEST(struct_f4)
-// CHECK-LABEL: define swiftcc { float, float, float, float } @return_struct_f4()
-// CHECK-LABEL: define swiftcc void @take_struct_f4(float %0, float %1, float %2, float %3)
+// CHECK-LABEL: define{{.*}} swiftcc { float, float, float, float } @return_struct_f4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_f4(float %0, float %1, float %2, float %3)
 
 
 typedef struct {
   double d0;
 } struct_d1;
 TEST(struct_d1)
-// CHECK-LABEL: define swiftcc double @return_struct_d1()
-// CHECK-LABEL: define swiftcc void @take_struct_d1(double %0)
+// CHECK-LABEL: define{{.*}} swiftcc double @return_struct_d1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_d1(double %0)
 
 typedef struct {
   double d0;
   double d1;
 } struct_d2;
 TEST(struct_d2)
-// CHECK-LABEL: define swiftcc { double, double } @return_struct_d2()
-// CHECK-LABEL: define swiftcc void @take_struct_d2(double %0, double %1)
+// CHECK-LABEL: define{{.*}} swiftcc { double, double } @return_struct_d2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_d2(double %0, double %1)
 
 typedef struct {
   double d0;
@@ -552,8 +552,8 @@ typedef struct {
   double d2;
 } struct_d3;
 TEST(struct_d3)
-// CHECK-LABEL: define swiftcc { double, double, double } @return_struct_d3()
-// CHECK-LABEL: define swiftcc void @take_struct_d3(double %0, double %1, double %2)
+// CHECK-LABEL: define{{.*}} swiftcc { double, double, double } @return_struct_d3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_d3(double %0, double %1, double %2)
 
 typedef struct {
   double d0;
@@ -562,8 +562,8 @@ typedef struct {
   double d3;
 } struct_d4;
 TEST(struct_d4)
-// CHECK-LABEL: define swiftcc { double, double, double, double } @return_struct_d4()
-// CHECK-LABEL: define swiftcc void @take_struct_d4(double %0, double %1, double %2, double %3)
+// CHECK-LABEL: define{{.*}} swiftcc { double, double, double, double } @return_struct_d4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_d4(double %0, double %1, double %2, double %3)
 
 typedef struct {
   double d0;
@@ -573,23 +573,23 @@ typedef struct {
   double d4;
 } struct_d5;
 TEST(struct_d5)
-// CHECK: define swiftcc void @return_struct_d5([[STRUCT5:%.*]]* noalias sret([[STRUCT5]])
-// CHECK: define swiftcc void @take_struct_d5([[STRUCT5]]
+// CHECK: define{{.*}} swiftcc void @return_struct_d5([[STRUCT5:%.*]]* noalias sret([[STRUCT5]])
+// CHECK: define{{.*}} swiftcc void @take_struct_d5([[STRUCT5]]
 
 typedef struct {
   char c0;
 } struct_c1;
 TEST(struct_c1)
-// CHECK-LABEL: define swiftcc i8 @return_struct_c1()
-// CHECK-LABEL: define swiftcc void @take_struct_c1(i8 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i8 @return_struct_c1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c1(i8 %0)
 
 typedef struct {
   char c0;
   char c1;
 } struct_c2;
 TEST(struct_c2)
-// CHECK-LABEL: define swiftcc i16 @return_struct_c2()
-// CHECK-LABEL: define swiftcc void @take_struct_c2(i16 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i16 @return_struct_c2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c2(i16 %0)
 //
 
 typedef struct {
@@ -598,8 +598,8 @@ typedef struct {
   char c2;
 } struct_c3;
 TEST(struct_c3)
-// CHECK-LABEL: define swiftcc i32 @return_struct_c3()
-// CHECK-LABEL: define swiftcc void @take_struct_c3(i32 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i32 @return_struct_c3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c3(i32 %0)
 
 typedef struct {
   char c0;
@@ -608,8 +608,8 @@ typedef struct {
   char c3;
 } struct_c4;
 TEST(struct_c4)
-// CHECK-LABEL: define swiftcc i32 @return_struct_c4()
-// CHECK-LABEL: define swiftcc void @take_struct_c4(i32 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i32 @return_struct_c4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c4(i32 %0)
 
 typedef struct {
   char c0;
@@ -619,23 +619,23 @@ typedef struct {
   char c4;
 } struct_c5;
 TEST(struct_c5)
-// CHECK-LABEL: define swiftcc { i32, i8 } @return_struct_c5()
-// CHECK-LABEL: define swiftcc void @take_struct_c5(i32 %0, i8 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i32, i8 } @return_struct_c5()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_c5(i32 %0, i8 %1)
 
 typedef struct {
   short s0;
 } struct_s1;
 TEST(struct_s1)
-// CHECK-LABEL: define swiftcc i16 @return_struct_s1()
-// CHECK-LABEL: define swiftcc void @take_struct_s1(i16 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i16 @return_struct_s1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s1(i16 %0)
 
 typedef struct {
   short s0;
   short s1;
 } struct_s2;
 TEST(struct_s2)
-// CHECK-LABEL: define swiftcc i32 @return_struct_s2()
-// CHECK-LABEL: define swiftcc void @take_struct_s2(i32 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i32 @return_struct_s2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s2(i32 %0)
 
 typedef struct {
   short s0;
@@ -643,8 +643,8 @@ typedef struct {
   short s2;
 } struct_s3;
 TEST(struct_s3)
-// CHECK-LABEL: define swiftcc { i32, i16 } @return_struct_s3()
-// CHECK-LABEL: define swiftcc void @take_struct_s3(i32 %0, i16 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i32, i16 } @return_struct_s3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s3(i32 %0, i16 %1)
 
 typedef struct {
   short s0;
@@ -653,8 +653,8 @@ typedef struct {
   short s3;
 } struct_s4;
 TEST(struct_s4)
-// CHECK-LABEL: define swiftcc { i32, i32 } @return_struct_s4()
-// CHECK-LABEL: define swiftcc void @take_struct_s4(i32 %0, i32 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i32, i32 } @return_struct_s4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s4(i32 %0, i32 %1)
 
 typedef struct {
   short s0;
@@ -664,24 +664,24 @@ typedef struct {
   short s4;
 } struct_s5;
 TEST(struct_s5)
-// CHECK-LABEL: define swiftcc { i32, i32, i16 } @return_struct_s5()
-// CHECK-LABEL: define swiftcc void @take_struct_s5(i32 %0, i32 %1, i16 %2)
+// CHECK-LABEL: define{{.*}} swiftcc { i32, i32, i16 } @return_struct_s5()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_s5(i32 %0, i32 %1, i16 %2)
 
 
 typedef struct {
   int i0;
 } struct_i1;
 TEST(struct_i1)
-// CHECK-LABEL: define swiftcc i32 @return_struct_i1()
-// CHECK-LABEL: define swiftcc void @take_struct_i1(i32 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i32 @return_struct_i1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_i1(i32 %0)
 
 typedef struct {
   int i0;
   int i1;
 } struct_i2;
 TEST(struct_i2)
-// CHECK-LABEL: define swiftcc { i32, i32 } @return_struct_i2()
-// CHECK-LABEL: define swiftcc void @take_struct_i2(i32 %0, i32 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i32, i32 } @return_struct_i2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_i2(i32 %0, i32 %1)
 
 typedef struct {
   int i0;
@@ -689,8 +689,8 @@ typedef struct {
   int i2;
 } struct_i3;
 TEST(struct_i3)
-// CHECK-LABEL: define swiftcc { i32, i32, i32 } @return_struct_i3()
-// CHECK-LABEL: define swiftcc void @take_struct_i3(i32 %0, i32 %1, i32 %2)
+// CHECK-LABEL: define{{.*}} swiftcc { i32, i32, i32 } @return_struct_i3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_i3(i32 %0, i32 %1, i32 %2)
 
 typedef struct {
   int i0;
@@ -699,23 +699,23 @@ typedef struct {
   int i3;
 } struct_i4;
 TEST(struct_i4)
-// CHECK-LABEL: define swiftcc { i32, i32, i32, i32 } @return_struct_i4()
-// CHECK-LABEL: define swiftcc void @take_struct_i4(i32 %0, i32 %1, i32 %2, i32 %3)
+// CHECK-LABEL: define{{.*}} swiftcc { i32, i32, i32, i32 } @return_struct_i4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_i4(i32 %0, i32 %1, i32 %2, i32 %3)
 
 typedef struct {
   long long l0;
 } struct_l1;
 TEST(struct_l1)
-// CHECK-LABEL: define swiftcc i64 @return_struct_l1()
-// CHECK-LABEL: define swiftcc void @take_struct_l1(i64 %0)
+// CHECK-LABEL: define{{.*}} swiftcc i64 @return_struct_l1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_l1(i64 %0)
 
 typedef struct {
   long long l0;
   long long l1;
 } struct_l2;
 TEST(struct_l2)
-// CHECK-LABEL: define swiftcc { i64, i64 } @return_struct_l2()
-// CHECK-LABEL: define swiftcc void @take_struct_l2(i64 %0, i64 %1)
+// CHECK-LABEL: define{{.*}} swiftcc { i64, i64 } @return_struct_l2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_l2(i64 %0, i64 %1)
 
 typedef struct {
   long long l0;
@@ -723,8 +723,8 @@ typedef struct {
   long long l2;
 } struct_l3;
 TEST(struct_l3)
-// CHECK: define swiftcc void @return_struct_l3([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_l3([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_l3([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_l3([[STRUCT]]
 
 typedef struct {
   long long l0;
@@ -733,8 +733,8 @@ typedef struct {
   long long l3;
 } struct_l4;
 TEST(struct_l4)
-// CHECK: define swiftcc void @return_struct_l4([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_l4([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_l4([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_l4([[STRUCT]]
 
 typedef struct {
   long long l0;
@@ -744,23 +744,23 @@ typedef struct {
   long long l4;
 } struct_l5;
 TEST(struct_l5)
-// CHECK: define swiftcc void @return_struct_l5([[STRUCT5:%.*]]* noalias sret([[STRUCT5]])
-// CHECK: define swiftcc void @take_struct_l5([[STRUCT5]]*
+// CHECK: define{{.*}} swiftcc void @return_struct_l5([[STRUCT5:%.*]]* noalias sret([[STRUCT5]])
+// CHECK: define{{.*}} swiftcc void @take_struct_l5([[STRUCT5]]*
 
 typedef struct {
   char16 c0;
 } struct_vc1;
 TEST(struct_vc1)
-// CHECK-LABEL: define swiftcc <16 x i8> @return_struct_vc1()
-// CHECK-LABEL: define swiftcc void @take_struct_vc1(<16 x i8> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <16 x i8> @return_struct_vc1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vc1(<16 x i8> %0)
 
 typedef struct {
   char16 c0;
   char16 c1;
 } struct_vc2;
 TEST(struct_vc2)
-// CHECK-LABEL: define swiftcc { <16 x i8>, <16 x i8> } @return_struct_vc2()
-// CHECK-LABEL: define swiftcc void @take_struct_vc2(<16 x i8> %0, <16 x i8> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <16 x i8>, <16 x i8> } @return_struct_vc2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vc2(<16 x i8> %0, <16 x i8> %1)
 
 typedef struct {
   char16 c0;
@@ -768,8 +768,8 @@ typedef struct {
   char16 c2;
 } struct_vc3;
 TEST(struct_vc3)
-// CHECK-LABEL: define swiftcc { <16 x i8>, <16 x i8>, <16 x i8> } @return_struct_vc3()
-// CHECK-LABEL: define swiftcc void @take_struct_vc3(<16 x i8> %0, <16 x i8> %1, <16 x i8> %2)
+// CHECK-LABEL: define{{.*}} swiftcc { <16 x i8>, <16 x i8>, <16 x i8> } @return_struct_vc3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vc3(<16 x i8> %0, <16 x i8> %1, <16 x i8> %2)
 
 typedef struct {
   char16 c0;
@@ -778,8 +778,8 @@ typedef struct {
   char16 c3;
 } struct_vc4;
 TEST(struct_vc4)
-// CHECK-LABEL: define swiftcc { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } @return_struct_vc4()
-// CHECK-LABEL: define swiftcc void @take_struct_vc4(<16 x i8> %0, <16 x i8> %1, <16 x i8> %2, <16 x i8> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } @return_struct_vc4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vc4(<16 x i8> %0, <16 x i8> %1, <16 x i8> %2, <16 x i8> %3)
 
 typedef struct {
   char16 c0;
@@ -789,23 +789,23 @@ typedef struct {
   char16 c4;
 } struct_vc5;
 TEST(struct_vc5)
-// CHECK: define swiftcc void @return_struct_vc5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vc5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vc5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vc5([[STRUCT]]
 
 typedef struct {
   short8 c0;
 } struct_vs1;
 TEST(struct_vs1)
-// CHECK-LABEL: define swiftcc <8 x i16> @return_struct_vs1()
-// CHECK-LABEL: define swiftcc void @take_struct_vs1(<8 x i16> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <8 x i16> @return_struct_vs1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vs1(<8 x i16> %0)
 
 typedef struct {
   short8 c0;
   short8 c1;
 } struct_vs2;
 TEST(struct_vs2)
-// CHECK-LABEL: define swiftcc { <8 x i16>, <8 x i16> } @return_struct_vs2()
-// CHECK-LABEL: define swiftcc void @take_struct_vs2(<8 x i16> %0, <8 x i16> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <8 x i16>, <8 x i16> } @return_struct_vs2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vs2(<8 x i16> %0, <8 x i16> %1)
 
 typedef struct {
   short8 c0;
@@ -813,8 +813,8 @@ typedef struct {
   short8 c2;
 } struct_vs3;
 TEST(struct_vs3)
-// CHECK-LABEL: define swiftcc { <8 x i16>, <8 x i16>, <8 x i16> } @return_struct_vs3()
-// CHECK-LABEL: define swiftcc void @take_struct_vs3(<8 x i16> %0, <8 x i16> %1, <8 x i16> %2)
+// CHECK-LABEL: define{{.*}} swiftcc { <8 x i16>, <8 x i16>, <8 x i16> } @return_struct_vs3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vs3(<8 x i16> %0, <8 x i16> %1, <8 x i16> %2)
 
 typedef struct {
   short8 c0;
@@ -823,8 +823,8 @@ typedef struct {
   short8 c3;
 } struct_vs4;
 TEST(struct_vs4)
-// CHECK-LABEL: define swiftcc { <8 x i16>, <8 x i16>, <8 x i16>, <8 x i16> } @return_struct_vs4()
-// CHECK-LABEL: define swiftcc void @take_struct_vs4(<8 x i16> %0, <8 x i16> %1, <8 x i16> %2, <8 x i16> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <8 x i16>, <8 x i16>, <8 x i16>, <8 x i16> } @return_struct_vs4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vs4(<8 x i16> %0, <8 x i16> %1, <8 x i16> %2, <8 x i16> %3)
 
 typedef struct {
   short8 c0;
@@ -834,23 +834,23 @@ typedef struct {
   short8 c4;
 } struct_vs5;
 TEST(struct_vs5)
-// CHECK: define swiftcc void @return_struct_vs5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vs5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vs5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vs5([[STRUCT]]
 
 typedef struct {
   int4 c0;
 } struct_vi1;
 TEST(struct_vi1)
-// CHECK-LABEL: define swiftcc <4 x i32> @return_struct_vi1()
-// CHECK-LABEL: define swiftcc void @take_struct_vi1(<4 x i32> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <4 x i32> @return_struct_vi1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vi1(<4 x i32> %0)
 
 typedef struct {
   int4 c0;
   int4 c1;
 } struct_vi2;
 TEST(struct_vi2)
-// CHECK-LABEL: define swiftcc { <4 x i32>, <4 x i32> } @return_struct_vi2()
-// CHECK-LABEL: define swiftcc void @take_struct_vi2(<4 x i32> %0, <4 x i32> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x i32>, <4 x i32> } @return_struct_vi2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vi2(<4 x i32> %0, <4 x i32> %1)
 
 typedef struct {
   int4 c0;
@@ -858,8 +858,8 @@ typedef struct {
   int4 c2;
 } struct_vi3;
 TEST(struct_vi3)
-// CHECK-LABEL: define swiftcc { <4 x i32>, <4 x i32>, <4 x i32> } @return_struct_vi3()
-// CHECK-LABEL: define swiftcc void @take_struct_vi3(<4 x i32> %0, <4 x i32> %1, <4 x i32> %2)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x i32>, <4 x i32>, <4 x i32> } @return_struct_vi3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vi3(<4 x i32> %0, <4 x i32> %1, <4 x i32> %2)
 
 typedef struct {
   int4 c0;
@@ -868,8 +868,8 @@ typedef struct {
   int4 c3;
 } struct_vi4;
 TEST(struct_vi4)
-// CHECK-LABEL: define swiftcc { <4 x i32>, <4 x i32>, <4 x i32>, <4 x i32> } @return_struct_vi4()
-// CHECK-LABEL: define swiftcc void @take_struct_vi4(<4 x i32> %0, <4 x i32> %1, <4 x i32> %2, <4 x i32> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x i32>, <4 x i32>, <4 x i32>, <4 x i32> } @return_struct_vi4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vi4(<4 x i32> %0, <4 x i32> %1, <4 x i32> %2, <4 x i32> %3)
 
 typedef struct {
   int4 c0;
@@ -879,15 +879,15 @@ typedef struct {
   int4 c4;
 } struct_vi5;
 TEST(struct_vi5)
-// CHECK: define swiftcc void @return_struct_vi5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vi5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vi5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vi5([[STRUCT]]
 
 typedef struct {
   long2 c0;
 } struct_vl1;
 TEST(struct_vl1)
-// CHECK-LABEL: define swiftcc <2 x i64> @return_struct_vl1()
-// CHECK-LABEL: define swiftcc void @take_struct_vl1(<2 x i64> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <2 x i64> @return_struct_vl1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vl1(<2 x i64> %0)
 
 typedef struct {
   long2 c0;
@@ -896,8 +896,8 @@ typedef struct {
   long2 c3;
 } struct_vl4;
 TEST(struct_vl4)
-// CHECK-LABEL: define swiftcc { <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @return_struct_vl4()
-// CHECK-LABEL: define swiftcc void @take_struct_vl4(<2 x i64> %0, <2 x i64> %1, <2 x i64> %2, <2 x i64> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @return_struct_vl4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vl4(<2 x i64> %0, <2 x i64> %1, <2 x i64> %2, <2 x i64> %3)
 
 typedef struct {
   long2 c0;
@@ -907,15 +907,15 @@ typedef struct {
   long2 c4;
 } struct_vl5;
 TEST(struct_vl5)
-// CHECK: define swiftcc void @return_struct_vl5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vl5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vl5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vl5([[STRUCT]]
 
 typedef struct {
   double2 c0;
 } struct_vd1;
 TEST(struct_vd1)
-// CHECK-LABEL: define swiftcc <2 x double> @return_struct_vd1()
-// CHECK-LABEL: define swiftcc void @take_struct_vd1(<2 x double> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <2 x double> @return_struct_vd1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vd1(<2 x double> %0)
 
 typedef struct {
   double2 c0;
@@ -924,8 +924,8 @@ typedef struct {
   double2 c3;
 } struct_vd4;
 TEST(struct_vd4)
-// CHECK-LABEL: define swiftcc { <2 x double>, <2 x double>, <2 x double>, <2 x double> } @return_struct_vd4()
-// CHECK-LABEL: define swiftcc void @take_struct_vd4(<2 x double> %0, <2 x double> %1, <2 x double> %2, <2 x double> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x double>, <2 x double>, <2 x double>, <2 x double> } @return_struct_vd4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vd4(<2 x double> %0, <2 x double> %1, <2 x double> %2, <2 x double> %3)
 
 typedef struct {
   double2 c0;
@@ -935,23 +935,23 @@ typedef struct {
   double2 c4;
 } struct_vd5;
 TEST(struct_vd5)
-// CHECK: define swiftcc void @return_struct_vd5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vd5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vd5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vd5([[STRUCT]]
 
 typedef struct {
   double4 c0;
 } struct_vd41;
 TEST(struct_vd41)
-// CHECK-LABEL: define swiftcc { <2 x double>, <2 x double> } @return_struct_vd41()
-// CHECK-LABEL: define swiftcc void @take_struct_vd41(<2 x double> %0, <2 x double> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x double>, <2 x double> } @return_struct_vd41()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vd41(<2 x double> %0, <2 x double> %1)
 
 typedef struct {
   double4 c0;
   double4 c1;
 } struct_vd42;
 TEST(struct_vd42)
-// CHECK-LABEL: define swiftcc { <2 x double>, <2 x double>, <2 x double>, <2 x double> } @return_struct_vd42()
-// CHECK-LABEL: define swiftcc void @take_struct_vd42(<2 x double> %0, <2 x double> %1, <2 x double> %2, <2 x double> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x double>, <2 x double>, <2 x double>, <2 x double> } @return_struct_vd42()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vd42(<2 x double> %0, <2 x double> %1, <2 x double> %2, <2 x double> %3)
 
 typedef struct {
   double4 c0;
@@ -959,23 +959,23 @@ typedef struct {
   double4 c2;
 } struct_vd43;
 TEST(struct_vd43)
-// CHECK: define swiftcc void @return_struct_vd43([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vd43([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vd43([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vd43([[STRUCT]]
 
 typedef struct {
   float4 c0;
 } struct_vf1;
 TEST(struct_vf1)
-// CHECK-LABEL: define swiftcc <4 x float> @return_struct_vf1()
-// CHECK-LABEL: define swiftcc void @take_struct_vf1(<4 x float> %0)
+// CHECK-LABEL: define{{.*}} swiftcc <4 x float> @return_struct_vf1()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vf1(<4 x float> %0)
 
 typedef struct {
   float4 c0;
   float4 c1;
 } struct_vf2;
 TEST(struct_vf2)
-// CHECK-LABEL: define swiftcc { <4 x float>, <4 x float> } @return_struct_vf2()
-// CHECK-LABEL: define swiftcc void @take_struct_vf2(<4 x float> %0, <4 x float> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x float>, <4 x float> } @return_struct_vf2()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vf2(<4 x float> %0, <4 x float> %1)
 
 typedef struct {
   float4 c0;
@@ -984,8 +984,8 @@ typedef struct {
   float4 c3;
 } struct_vf4;
 TEST(struct_vf4)
-// CHECK-LABEL: define swiftcc { <4 x float>, <4 x float>, <4 x float>, <4 x float> } @return_struct_vf4()
-// CHECK-LABEL: define swiftcc void @take_struct_vf4(<4 x float> %0, <4 x float> %1, <4 x float> %2, <4 x float> %3)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x float>, <4 x float>, <4 x float>, <4 x float> } @return_struct_vf4()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vf4(<4 x float> %0, <4 x float> %1, <4 x float> %2, <4 x float> %3)
 
 typedef struct {
   float4 c0;
@@ -995,19 +995,19 @@ typedef struct {
   float4 c4;
 } struct_vf5;
 TEST(struct_vf5)
-// CHECK: define swiftcc void @return_struct_vf5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
-// CHECK: define swiftcc void @take_struct_vf5([[STRUCT]]
+// CHECK: define{{.*}} swiftcc void @return_struct_vf5([[STRUCT:%.*]]* noalias sret([[STRUCT]])
+// CHECK: define{{.*}} swiftcc void @take_struct_vf5([[STRUCT]]
 
 typedef struct {
   float8 c0;
 } struct_vf81;
 TEST(struct_vf81)
-// CHECK-LABEL: define swiftcc { <4 x float>, <4 x float> } @return_struct_vf81()
-// CHECK-LABEL: define swiftcc void @take_struct_vf81(<4 x float> %0, <4 x float> %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <4 x float>, <4 x float> } @return_struct_vf81()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_vf81(<4 x float> %0, <4 x float> %1)
 
 typedef struct {
   float3 f3;
 } struct_v1f3;
 TEST(struct_v1f3)
-// CHECK-LABEL: define swiftcc { <2 x float>, float } @return_struct_v1f3()
-// CHECK-LABEL: define swiftcc void @take_struct_v1f3(<2 x float> %0, float %1)
+// CHECK-LABEL: define{{.*}} swiftcc { <2 x float>, float } @return_struct_v1f3()
+// CHECK-LABEL: define{{.*}} swiftcc void @take_struct_v1f3(<2 x float> %0, float %1)

diff  --git a/clang/test/CodeGen/arm-target-attr.c b/clang/test/CodeGen/arm-target-attr.c
index 42fe8d15aaf4..dbfeec550a05 100644
--- a/clang/test/CodeGen/arm-target-attr.c
+++ b/clang/test/CodeGen/arm-target-attr.c
@@ -4,13 +4,13 @@
 // RUN: %clang_cc1 -triple arm-apple-darwin -emit-llvm -o - %s | FileCheck --check-prefix CHECKNEG %s
 
 __attribute__((target("arm"))) void test_target_arm() {
-  // CHECKPOS: define void @test_target_arm() [[ARM_ATTRS:#[0-9]+]]
-  // CHECKNEG: define void @test_target_arm() [[ARM_ATTRS:#[0-9]+]]
+  // CHECKPOS: define{{.*}} void @test_target_arm() [[ARM_ATTRS:#[0-9]+]]
+  // CHECKNEG: define{{.*}} void @test_target_arm() [[ARM_ATTRS:#[0-9]+]]
 }
 
 __attribute__((target("thumb"))) void test_target_thumb() {
-  // CHECKPOS: define void @test_target_thumb() [[THUMB_ATTRS:#[0-9]+]]
-  // CHECKNEG: define void @test_target_thumb() [[THUMB_ATTRS:#[0-9]+]]
+  // CHECKPOS: define{{.*}} void @test_target_thumb() [[THUMB_ATTRS:#[0-9]+]]
+  // CHECKNEG: define{{.*}} void @test_target_thumb() [[THUMB_ATTRS:#[0-9]+]]
 }
 
 // CHECKPOS: attributes [[ARM_ATTRS]] = { {{.*}} "target-features"="{{.*}}-thumb-mode{{.*}}"

diff  --git a/clang/test/CodeGen/arm-vector-arguments.c b/clang/test/CodeGen/arm-vector-arguments.c
index 9b9b38cfc9e4..0086270d1807 100644
--- a/clang/test/CodeGen/arm-vector-arguments.c
+++ b/clang/test/CodeGen/arm-vector-arguments.c
@@ -9,7 +9,7 @@
 
 #include <arm_neon.h>
 
-// CHECK: define void @f0(%struct.int8x16x2_t* noalias sret(%struct.int8x16x2_t) align 16 %agg.result, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})
+// CHECK: define{{.*}} void @f0(%struct.int8x16x2_t* noalias sret(%struct.int8x16x2_t) align 16 %agg.result, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})
 int8x16x2_t f0(int8x16_t a0, int8x16_t a1) {
   return vzipq_s8(a0, a1);
 }
@@ -21,11 +21,11 @@ typedef float T_float32x4 __attribute__ ((__vector_size__ (16)));
 typedef float T_float32x8 __attribute__ ((__vector_size__ (32)));
 typedef float T_float32x16 __attribute__ ((__vector_size__ (64)));
 
-// CHECK: define <2 x float> @f1_0(<2 x float> %{{.*}})
+// CHECK: define{{.*}} <2 x float> @f1_0(<2 x float> %{{.*}})
 T_float32x2 f1_0(T_float32x2 a0) { return a0; }
-// CHECK: define <4 x float> @f1_1(<4 x float> %{{.*}})
+// CHECK: define{{.*}} <4 x float> @f1_1(<4 x float> %{{.*}})
 T_float32x4 f1_1(T_float32x4 a0) { return a0; }
-// CHECK: define void @f1_2(<8 x float>* noalias sret(<8 x float>) align 32 %{{.*}}, <8 x float> %{{.*}})
+// CHECK: define{{.*}} void @f1_2(<8 x float>* noalias sret(<8 x float>) align 32 %{{.*}}, <8 x float> %{{.*}})
 T_float32x8 f1_2(T_float32x8 a0) { return a0; }
-// CHECK: define void @f1_3(<16 x float>* noalias sret(<16 x float>) align 64 %{{.*}}, <16 x float> %{{.*}})
+// CHECK: define{{.*}} void @f1_3(<16 x float>* noalias sret(<16 x float>) align 64 %{{.*}}, <16 x float> %{{.*}})
 T_float32x16 f1_3(T_float32x16 a0) { return a0; }

diff  --git a/clang/test/CodeGen/arm64-arguments.c b/clang/test/CodeGen/arm64-arguments.c
index 5981b21a7bbe..a40e5365cc51 100644
--- a/clang/test/CodeGen/arm64-arguments.c
+++ b/clang/test/CodeGen/arm64-arguments.c
@@ -1,100 +1,100 @@
 // RUN: %clang_cc1 -triple arm64-apple-ios7 -target-feature +neon -target-abi darwinpcs -ffreestanding -emit-llvm -w -o - %s | FileCheck %s
 
-// CHECK: define signext i8 @f0()
+// CHECK: define{{.*}} signext i8 @f0()
 char f0(void) {
   return 0;
 }
 
 // Struct as return type. Aggregates <= 16 bytes are passed directly and round
 // up to multiple of 8 bytes.
-// CHECK: define i64 @f1()
+// CHECK: define{{.*}} i64 @f1()
 struct s1 { char f0; };
 struct s1 f1(void) {}
 
-// CHECK: define i64 @f2()
+// CHECK: define{{.*}} i64 @f2()
 struct s2 { short f0; };
 struct s2 f2(void) {}
 
-// CHECK: define i64 @f3()
+// CHECK: define{{.*}} i64 @f3()
 struct s3 { int f0; };
 struct s3 f3(void) {}
 
-// CHECK: define i64 @f4()
+// CHECK: define{{.*}} i64 @f4()
 struct s4 { struct s4_0 { int f0; } f0; };
 struct s4 f4(void) {}
 
-// CHECK: define i64 @f5()
+// CHECK: define{{.*}} i64 @f5()
 struct s5 { struct { } f0; int f1; };
 struct s5 f5(void) {}
 
-// CHECK: define i64 @f6()
+// CHECK: define{{.*}} i64 @f6()
 struct s6 { int f0[1]; };
 struct s6 f6(void) {}
 
-// CHECK: define void @f7()
+// CHECK: define{{.*}} void @f7()
 struct s7 { struct { int : 0; } f0; };
 struct s7 f7(void) {}
 
-// CHECK: define void @f8()
+// CHECK: define{{.*}} void @f8()
 struct s8 { struct { int : 0; } f0[1]; };
 struct s8 f8(void) {}
 
-// CHECK: define i64 @f9()
+// CHECK: define{{.*}} i64 @f9()
 struct s9 { int f0; int : 0; };
 struct s9 f9(void) {}
 
-// CHECK: define i64 @f10()
+// CHECK: define{{.*}} i64 @f10()
 struct s10 { int f0; int : 0; int : 0; };
 struct s10 f10(void) {}
 
-// CHECK: define i64 @f11()
+// CHECK: define{{.*}} i64 @f11()
 struct s11 { int : 0; int f0; };
 struct s11 f11(void) {}
 
-// CHECK: define i64 @f12()
+// CHECK: define{{.*}} i64 @f12()
 union u12 { char f0; short f1; int f2; };
 union u12 f12(void) {}
 
 // Homogeneous Aggregate as return type will be passed directly.
-// CHECK: define %struct.s13 @f13()
+// CHECK: define{{.*}} %struct.s13 @f13()
 struct s13 { float f0; };
 struct s13 f13(void) {}
-// CHECK: define %union.u14 @f14()
+// CHECK: define{{.*}} %union.u14 @f14()
 union u14 { float f0; };
 union u14 f14(void) {}
 
-// CHECK: define void @f15()
+// CHECK: define{{.*}} void @f15()
 void f15(struct s7 a0) {}
 
-// CHECK: define void @f16()
+// CHECK: define{{.*}} void @f16()
 void f16(struct s8 a0) {}
 
-// CHECK: define i64 @f17()
+// CHECK: define{{.*}} i64 @f17()
 struct s17 { short f0 : 13; char f1 : 4; };
 struct s17 f17(void) {}
 
-// CHECK: define i64 @f18()
+// CHECK: define{{.*}} i64 @f18()
 struct s18 { short f0; char f1 : 4; };
 struct s18 f18(void) {}
 
-// CHECK: define i64 @f19()
+// CHECK: define{{.*}} i64 @f19()
 struct s19 { int f0; struct s8 f1; };
 struct s19 f19(void) {}
 
-// CHECK: define i64 @f20()
+// CHECK: define{{.*}} i64 @f20()
 struct s20 { struct s8 f1; int f0; };
 struct s20 f20(void) {}
 
-// CHECK: define i64 @f21()
+// CHECK: define{{.*}} i64 @f21()
 struct s21 { struct {} f1; int f0 : 4; };
 struct s21 f21(void) {}
 
-// CHECK: define i64 @f22()
-// CHECK: define i64 @f23()
-// CHECK: define i64 @f24()
-// CHECK: define [2 x i64] @f25()
-// CHECK: define { float, float } @f26()
-// CHECK: define { double, double } @f27()
+// CHECK: define{{.*}} i64 @f22()
+// CHECK: define{{.*}} i64 @f23()
+// CHECK: define{{.*}} i64 @f24()
+// CHECK: define{{.*}} [2 x i64] @f25()
+// CHECK: define{{.*}} { float, float } @f26()
+// CHECK: define{{.*}} { double, double } @f27()
 _Complex char       f22(void) {}
 _Complex short      f23(void) {}
 _Complex int        f24(void) {}
@@ -102,21 +102,21 @@ _Complex long long  f25(void) {}
 _Complex float      f26(void) {}
 _Complex double     f27(void) {}
 
-// CHECK: define i64 @f28()
+// CHECK: define{{.*}} i64 @f28()
 struct s28 { _Complex char f0; };
 struct s28 f28() {}
 
-// CHECK: define i64 @f29()
+// CHECK: define{{.*}} i64 @f29()
 struct s29 { _Complex short f0; };
 struct s29 f29() {}
 
-// CHECK: define i64 @f30()
+// CHECK: define{{.*}} i64 @f30()
 struct s30 { _Complex int f0; };
 struct s30 f30() {}
 
 struct s31 { char x; };
 void f31(struct s31 s) { }
-// CHECK: define void @f31(i64 %s.coerce)
+// CHECK: define{{.*}} void @f31(i64 %s.coerce)
 // CHECK: %s = alloca %struct.s31, align 1
 // CHECK: trunc i64 %s.coerce to i8
 // CHECK: store i8 %{{.*}},
@@ -128,7 +128,7 @@ void f32(struct s32 s) { }
 // A composite type larger than 16 bytes should be passed indirectly.
 struct s33 { char buf[32*32]; };
 void f33(struct s33 s) { }
-// CHECK: define void @f33(%struct.s33* %s)
+// CHECK: define{{.*}} void @f33(%struct.s33* %s)
 
 struct s34 { char c; };
 void f34(struct s34 s);
@@ -165,7 +165,7 @@ double t2(int i, ...) {
 #include <arm_neon.h>
 
 // Homogeneous Vector Aggregate as return type and argument type.
-// CHECK: define %struct.int8x16x2_t @f0_0(<16 x i8> %{{.*}}, <16 x i8> %{{.*}})
+// CHECK: define{{.*}} %struct.int8x16x2_t @f0_0(<16 x i8> %{{.*}}, <16 x i8> %{{.*}})
 int8x16x2_t f0_0(int8x16_t a0, int8x16_t a1) {
   return vzipq_s8(a0, a1);
 }
@@ -176,14 +176,14 @@ typedef float T_float32x4 __attribute__ ((__vector_size__ (16)));
 typedef float T_float32x8 __attribute__ ((__vector_size__ (32)));
 typedef float T_float32x16 __attribute__ ((__vector_size__ (64)));
 
-// CHECK: define <2 x float> @f1_0(<2 x float> %{{.*}})
+// CHECK: define{{.*}} <2 x float> @f1_0(<2 x float> %{{.*}})
 T_float32x2 f1_0(T_float32x2 a0) { return a0; }
-// CHECK: define <4 x float> @f1_1(<4 x float> %{{.*}})
+// CHECK: define{{.*}} <4 x float> @f1_1(<4 x float> %{{.*}})
 T_float32x4 f1_1(T_float32x4 a0) { return a0; }
 // Vector with length bigger than 16-byte is illegal and is passed indirectly.
-// CHECK: define void @f1_2(<8 x float>* noalias sret(<8 x float>) align 16 %{{.*}}, <8 x float>* %0)
+// CHECK: define{{.*}} void @f1_2(<8 x float>* noalias sret(<8 x float>) align 16 %{{.*}}, <8 x float>* %0)
 T_float32x8 f1_2(T_float32x8 a0) { return a0; }
-// CHECK: define void @f1_3(<16 x float>* noalias sret(<16 x float>) align 16 %{{.*}}, <16 x float>* %0)
+// CHECK: define{{.*}} void @f1_3(<16 x float>* noalias sret(<16 x float>) align 16 %{{.*}}, <16 x float>* %0)
 T_float32x16 f1_3(T_float32x16 a0) { return a0; }
 
 // Testing alignment with aggregates: HFA, aggregates with size <= 16 bytes and
@@ -196,7 +196,7 @@ typedef struct s35 s35_with_align;
 
 typedef __attribute__((neon_vector_type(4))) float float32x4_t;
 float32x4_t f35(int i, s35_with_align s1, s35_with_align s2) {
-// CHECK: define <4 x float> @f35(i32 %i, [4 x float] %s1.coerce, [4 x float] %s2.coerce)
+// CHECK: define{{.*}} <4 x float> @f35(i32 %i, [4 x float] %s1.coerce, [4 x float] %s2.coerce)
 // CHECK: %s1 = alloca %struct.s35, align 16
 // CHECK: %s2 = alloca %struct.s35, align 16
 // CHECK: %[[a:.*]] = bitcast %struct.s35* %s1 to <4 x float>*
@@ -216,7 +216,7 @@ typedef struct s36 s36_with_align;
 
 typedef __attribute__((neon_vector_type(4))) int int32x4_t;
 int32x4_t f36(int i, s36_with_align s1, s36_with_align s2) {
-// CHECK: define <4 x i32> @f36(i32 %i, i128 %s1.coerce, i128 %s2.coerce)
+// CHECK: define{{.*}} <4 x i32> @f36(i32 %i, i128 %s1.coerce, i128 %s2.coerce)
 // CHECK: %s1 = alloca %struct.s36, align 16
 // CHECK: %s2 = alloca %struct.s36, align 16
 // CHECK: store i128 %s1.coerce, i128* %{{.*}}, align 16
@@ -237,7 +237,7 @@ struct s37
 typedef struct s37 s37_with_align;
 
 int32x4_t f37(int i, s37_with_align s1, s37_with_align s2) {
-// CHECK: define <4 x i32> @f37(i32 %i, %struct.s37* %s1, %struct.s37* %s2)
+// CHECK: define{{.*}} <4 x i32> @f37(i32 %i, %struct.s37* %s1, %struct.s37* %s2)
 // CHECK: %[[a:.*]] = bitcast %struct.s37* %s1 to <4 x i32>*
 // CHECK: load <4 x i32>, <4 x i32>* %[[a]], align 16
 // CHECK: %[[b:.*]] = bitcast %struct.s37* %s2 to <4 x i32>*
@@ -272,7 +272,7 @@ typedef struct s38 s38_no_align;
 // passing structs in registers
 __attribute__ ((noinline))
 int f38(int i, s38_no_align s1, s38_no_align s2) {
-// CHECK: define i32 @f38(i32 %i, i64 %s1.coerce, i64 %s2.coerce)
+// CHECK: define{{.*}} i32 @f38(i32 %i, i64 %s1.coerce, i64 %s2.coerce)
 // CHECK: %s1 = alloca %struct.s38, align 4
 // CHECK: %s2 = alloca %struct.s38, align 4
 // CHECK: store i64 %s1.coerce, i64* %{{.*}}, align 4
@@ -286,7 +286,7 @@ int f38(int i, s38_no_align s1, s38_no_align s2) {
 s38_no_align g38;
 s38_no_align g38_2;
 int caller38() {
-// CHECK: define i32 @caller38()
+// CHECK: define{{.*}} i32 @caller38()
 // CHECK: %[[a:.*]] = load i64, i64* bitcast (%struct.s38* @g38 to i64*), align 4
 // CHECK: %[[b:.*]] = load i64, i64* bitcast (%struct.s38* @g38_2 to i64*), align 4
 // CHECK: call i32 @f38(i32 3, i64 %[[a]], i64 %[[b]])
@@ -296,7 +296,7 @@ int caller38() {
 __attribute__ ((noinline))
 int f38_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
               int i9, s38_no_align s1, s38_no_align s2) {
-// CHECK: define i32 @f38_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, i64 %s1.coerce, i64 %s2.coerce)
+// CHECK: define{{.*}} i32 @f38_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, i64 %s1.coerce, i64 %s2.coerce)
 // CHECK: %s1 = alloca %struct.s38, align 4
 // CHECK: %s2 = alloca %struct.s38, align 4
 // CHECK: store i64 %s1.coerce, i64* %{{.*}}, align 4
@@ -308,7 +308,7 @@ int f38_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
   return s1.i + s2.i + i + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + s1.s + s2.s;
 }
 int caller38_stack() {
-// CHECK: define i32 @caller38_stack()
+// CHECK: define{{.*}} i32 @caller38_stack()
 // CHECK: %[[a:.*]] = load i64, i64* bitcast (%struct.s38* @g38 to i64*), align 4
 // CHECK: %[[b:.*]] = load i64, i64* bitcast (%struct.s38* @g38_2 to i64*), align 4
 // CHECK: call i32 @f38_stack(i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i64 %[[a]], i64 %[[b]])
@@ -325,7 +325,7 @@ typedef struct s39 s39_with_align;
 // passing aligned structs in registers
 __attribute__ ((noinline))
 int f39(int i, s39_with_align s1, s39_with_align s2) {
-// CHECK: define i32 @f39(i32 %i, i128 %s1.coerce, i128 %s2.coerce)
+// CHECK: define{{.*}} i32 @f39(i32 %i, i128 %s1.coerce, i128 %s2.coerce)
 // CHECK: %s1 = alloca %struct.s39, align 16
 // CHECK: %s2 = alloca %struct.s39, align 16
 // CHECK: store i128 %s1.coerce, i128* %{{.*}}, align 16
@@ -339,7 +339,7 @@ int f39(int i, s39_with_align s1, s39_with_align s2) {
 s39_with_align g39;
 s39_with_align g39_2;
 int caller39() {
-// CHECK: define i32 @caller39()
+// CHECK: define{{.*}} i32 @caller39()
 // CHECK: %[[a:.*]] = load i128, i128* bitcast (%struct.s39* @g39 to i128*), align 16
 // CHECK: %[[b:.*]] = load i128, i128* bitcast (%struct.s39* @g39_2 to i128*), align 16
 // CHECK: call i32 @f39(i32 3, i128 %[[a]], i128 %[[b]])
@@ -349,7 +349,7 @@ int caller39() {
 __attribute__ ((noinline))
 int f39_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
               int i9, s39_with_align s1, s39_with_align s2) {
-// CHECK: define i32 @f39_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, i128 %s1.coerce, i128 %s2.coerce)
+// CHECK: define{{.*}} i32 @f39_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, i128 %s1.coerce, i128 %s2.coerce)
 // CHECK: %s1 = alloca %struct.s39, align 16
 // CHECK: %s2 = alloca %struct.s39, align 16
 // CHECK: store i128 %s1.coerce, i128* %{{.*}}, align 16
@@ -361,7 +361,7 @@ int f39_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
   return s1.i + s2.i + i + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + s1.s + s2.s;
 }
 int caller39_stack() {
-// CHECK: define i32 @caller39_stack()
+// CHECK: define{{.*}} i32 @caller39_stack()
 // CHECK: %[[a:.*]] = load i128, i128* bitcast (%struct.s39* @g39 to i128*), align 16
 // CHECK: %[[b:.*]] = load i128, i128* bitcast (%struct.s39* @g39_2 to i128*), align 16
 // CHECK: call i32 @f39_stack(i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i128 %[[a]], i128 %[[b]])
@@ -380,7 +380,7 @@ typedef struct s40 s40_no_align;
 // passing structs in registers
 __attribute__ ((noinline))
 int f40(int i, s40_no_align s1, s40_no_align s2) {
-// CHECK: define i32 @f40(i32 %i, [2 x i64] %s1.coerce, [2 x i64] %s2.coerce)
+// CHECK: define{{.*}} i32 @f40(i32 %i, [2 x i64] %s1.coerce, [2 x i64] %s2.coerce)
 // CHECK: %s1 = alloca %struct.s40, align 4
 // CHECK: %s2 = alloca %struct.s40, align 4
 // CHECK: store [2 x i64] %s1.coerce, [2 x i64]* %{{.*}}, align 4
@@ -394,7 +394,7 @@ int f40(int i, s40_no_align s1, s40_no_align s2) {
 s40_no_align g40;
 s40_no_align g40_2;
 int caller40() {
-// CHECK: define i32 @caller40()
+// CHECK: define{{.*}} i32 @caller40()
 // CHECK: %[[a:.*]] = load [2 x i64], [2 x i64]* bitcast (%struct.s40* @g40 to [2 x i64]*), align 4
 // CHECK: %[[b:.*]] = load [2 x i64], [2 x i64]* bitcast (%struct.s40* @g40_2 to [2 x i64]*), align 4
 // CHECK: call i32 @f40(i32 3, [2 x i64] %[[a]], [2 x i64] %[[b]])
@@ -404,7 +404,7 @@ int caller40() {
 __attribute__ ((noinline))
 int f40_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
               int i9, s40_no_align s1, s40_no_align s2) {
-// CHECK: define i32 @f40_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, [2 x i64] %s1.coerce, [2 x i64] %s2.coerce)
+// CHECK: define{{.*}} i32 @f40_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, [2 x i64] %s1.coerce, [2 x i64] %s2.coerce)
 // CHECK: %s1 = alloca %struct.s40, align 4
 // CHECK: %s2 = alloca %struct.s40, align 4
 // CHECK: store [2 x i64] %s1.coerce, [2 x i64]* %{{.*}}, align 4
@@ -416,7 +416,7 @@ int f40_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
   return s1.i + s2.i + i + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + s1.s + s2.s;
 }
 int caller40_stack() {
-// CHECK: define i32 @caller40_stack()
+// CHECK: define{{.*}} i32 @caller40_stack()
 // CHECK: %[[a:.*]] = load [2 x i64], [2 x i64]* bitcast (%struct.s40* @g40 to [2 x i64]*), align 4
 // CHECK: %[[b:.*]] = load [2 x i64], [2 x i64]* bitcast (%struct.s40* @g40_2 to [2 x i64]*), align 4
 // CHECK: call i32 @f40_stack(i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, [2 x i64] %[[a]], [2 x i64] %[[b]])
@@ -435,7 +435,7 @@ typedef struct s41 s41_with_align;
 // passing aligned structs in registers
 __attribute__ ((noinline))
 int f41(int i, s41_with_align s1, s41_with_align s2) {
-// CHECK: define i32 @f41(i32 %i, i128 %s1.coerce, i128 %s2.coerce)
+// CHECK: define{{.*}} i32 @f41(i32 %i, i128 %s1.coerce, i128 %s2.coerce)
 // CHECK: %s1 = alloca %struct.s41, align 16
 // CHECK: %s2 = alloca %struct.s41, align 16
 // CHECK: store i128 %s1.coerce, i128* %{{.*}}, align 16
@@ -449,7 +449,7 @@ int f41(int i, s41_with_align s1, s41_with_align s2) {
 s41_with_align g41;
 s41_with_align g41_2;
 int caller41() {
-// CHECK: define i32 @caller41()
+// CHECK: define{{.*}} i32 @caller41()
 // CHECK: %[[a:.*]] = load i128, i128* bitcast (%struct.s41* @g41 to i128*), align 16
 // CHECK: %[[b:.*]] = load i128, i128* bitcast (%struct.s41* @g41_2 to i128*), align 16
 // CHECK: call i32 @f41(i32 3, i128 %[[a]], i128 %[[b]])
@@ -459,7 +459,7 @@ int caller41() {
 __attribute__ ((noinline))
 int f41_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
               int i9, s41_with_align s1, s41_with_align s2) {
-// CHECK: define i32 @f41_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, i128 %s1.coerce, i128 %s2.coerce)
+// CHECK: define{{.*}} i32 @f41_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, i128 %s1.coerce, i128 %s2.coerce)
 // CHECK: %s1 = alloca %struct.s41, align 16
 // CHECK: %s2 = alloca %struct.s41, align 16
 // CHECK: store i128 %s1.coerce, i128* %{{.*}}, align 16
@@ -471,7 +471,7 @@ int f41_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
   return s1.i + s2.i + i + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + s1.s + s2.s;
 }
 int caller41_stack() {
-// CHECK: define i32 @caller41_stack()
+// CHECK: define{{.*}} i32 @caller41_stack()
 // CHECK: %[[a:.*]] = load i128, i128* bitcast (%struct.s41* @g41 to i128*), align 16
 // CHECK: %[[b:.*]] = load i128, i128* bitcast (%struct.s41* @g41_2 to i128*), align 16
 // CHECK: call i32 @f41_stack(i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i128 %[[a]], i128 %[[b]])
@@ -492,7 +492,7 @@ typedef struct s42 s42_no_align;
 // passing structs in registers
 __attribute__ ((noinline))
 int f42(int i, s42_no_align s1, s42_no_align s2) {
-// CHECK: define i32 @f42(i32 %i, %struct.s42* %s1, %struct.s42* %s2)
+// CHECK: define{{.*}} i32 @f42(i32 %i, %struct.s42* %s1, %struct.s42* %s2)
 // CHECK: getelementptr inbounds %struct.s42, %struct.s42* %s1, i32 0, i32 0
 // CHECK: getelementptr inbounds %struct.s42, %struct.s42* %s2, i32 0, i32 0
 // CHECK: getelementptr inbounds %struct.s42, %struct.s42* %s1, i32 0, i32 1
@@ -502,7 +502,7 @@ int f42(int i, s42_no_align s1, s42_no_align s2) {
 s42_no_align g42;
 s42_no_align g42_2;
 int caller42() {
-// CHECK: define i32 @caller42()
+// CHECK: define{{.*}} i32 @caller42()
 // CHECK: %[[a:.*]] = alloca %struct.s42, align 4
 // CHECK: %[[b:.*]] = alloca %struct.s42, align 4
 // CHECK: %[[c:.*]] = bitcast %struct.s42* %[[a]] to i8*
@@ -516,7 +516,7 @@ int caller42() {
 __attribute__ ((noinline))
 int f42_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
               int i9, s42_no_align s1, s42_no_align s2) {
-// CHECK: define i32 @f42_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, %struct.s42* %s1, %struct.s42* %s2)
+// CHECK: define{{.*}} i32 @f42_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, %struct.s42* %s1, %struct.s42* %s2)
 // CHECK: getelementptr inbounds %struct.s42, %struct.s42* %s1, i32 0, i32 0
 // CHECK: getelementptr inbounds %struct.s42, %struct.s42* %s2, i32 0, i32 0
 // CHECK: getelementptr inbounds %struct.s42, %struct.s42* %s1, i32 0, i32 1
@@ -524,7 +524,7 @@ int f42_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
   return s1.i + s2.i + i + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + s1.s + s2.s;
 }
 int caller42_stack() {
-// CHECK: define i32 @caller42_stack()
+// CHECK: define{{.*}} i32 @caller42_stack()
 // CHECK: %[[a:.*]] = alloca %struct.s42, align 4
 // CHECK: %[[b:.*]] = alloca %struct.s42, align 4
 // CHECK: %[[c:.*]] = bitcast %struct.s42* %[[a]] to i8*
@@ -549,7 +549,7 @@ typedef struct s43 s43_with_align;
 // passing aligned structs in registers
 __attribute__ ((noinline))
 int f43(int i, s43_with_align s1, s43_with_align s2) {
-// CHECK: define i32 @f43(i32 %i, %struct.s43* %s1, %struct.s43* %s2)
+// CHECK: define{{.*}} i32 @f43(i32 %i, %struct.s43* %s1, %struct.s43* %s2)
 // CHECK: getelementptr inbounds %struct.s43, %struct.s43* %s1, i32 0, i32 0
 // CHECK: getelementptr inbounds %struct.s43, %struct.s43* %s2, i32 0, i32 0
 // CHECK: getelementptr inbounds %struct.s43, %struct.s43* %s1, i32 0, i32 1
@@ -559,7 +559,7 @@ int f43(int i, s43_with_align s1, s43_with_align s2) {
 s43_with_align g43;
 s43_with_align g43_2;
 int caller43() {
-// CHECK: define i32 @caller43()
+// CHECK: define{{.*}} i32 @caller43()
 // CHECK: %[[a:.*]] = alloca %struct.s43, align 16
 // CHECK: %[[b:.*]] = alloca %struct.s43, align 16
 // CHECK: %[[c:.*]] = bitcast %struct.s43* %[[a]] to i8*
@@ -573,7 +573,7 @@ int caller43() {
 __attribute__ ((noinline))
 int f43_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
               int i9, s43_with_align s1, s43_with_align s2) {
-// CHECK: define i32 @f43_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, %struct.s43* %s1, %struct.s43* %s2)
+// CHECK: define{{.*}} i32 @f43_stack(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i32 %i8, i32 %i9, %struct.s43* %s1, %struct.s43* %s2)
 // CHECK: getelementptr inbounds %struct.s43, %struct.s43* %s1, i32 0, i32 0
 // CHECK: getelementptr inbounds %struct.s43, %struct.s43* %s2, i32 0, i32 0
 // CHECK: getelementptr inbounds %struct.s43, %struct.s43* %s1, i32 0, i32 1
@@ -581,7 +581,7 @@ int f43_stack(int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8,
   return s1.i + s2.i + i + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + s1.s + s2.s;
 }
 int caller43_stack() {
-// CHECK: define i32 @caller43_stack()
+// CHECK: define{{.*}} i32 @caller43_stack()
 // CHECK: %[[a:.*]] = alloca %struct.s43, align 16
 // CHECK: %[[b:.*]] = alloca %struct.s43, align 16
 // CHECK: %[[c:.*]] = bitcast %struct.s43* %[[a]] to i8*
@@ -597,11 +597,11 @@ int caller43_stack() {
 __attribute__ ((noinline))
 int f40_split(int i, int i2, int i3, int i4, int i5, int i6, int i7,
               s40_no_align s1, s40_no_align s2) {
-// CHECK: define i32 @f40_split(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, [2 x i64] %s1.coerce, [2 x i64] %s2.coerce)
+// CHECK: define{{.*}} i32 @f40_split(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, [2 x i64] %s1.coerce, [2 x i64] %s2.coerce)
   return s1.i + s2.i + i + i2 + i3 + i4 + i5 + i6 + i7 + s1.s + s2.s;
 }
 int caller40_split() {
-// CHECK: define i32 @caller40_split()
+// CHECK: define{{.*}} i32 @caller40_split()
 // CHECK: call i32 @f40_split(i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, [2 x i64] %{{.*}} [2 x i64] %{{.*}})
   return f40_split(1, 2, 3, 4, 5, 6, 7, g40, g40_2);
 }
@@ -609,11 +609,11 @@ int caller40_split() {
 __attribute__ ((noinline))
 int f41_split(int i, int i2, int i3, int i4, int i5, int i6, int i7,
               s41_with_align s1, s41_with_align s2) {
-// CHECK: define i32 @f41_split(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i128 %s1.coerce, i128 %s2.coerce)
+// CHECK: define{{.*}} i32 @f41_split(i32 %i, i32 %i2, i32 %i3, i32 %i4, i32 %i5, i32 %i6, i32 %i7, i128 %s1.coerce, i128 %s2.coerce)
   return s1.i + s2.i + i + i2 + i3 + i4 + i5 + i6 + i7 + s1.s + s2.s;
 }
 int caller41_split() {
-// CHECK: define i32 @caller41_split()
+// CHECK: define{{.*}} i32 @caller41_split()
 // CHECK: call i32 @f41_split(i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i128 %{{.*}}, i128 %{{.*}})
   return f41_split(1, 2, 3, 4, 5, 6, 7, g41, g41_2);
 }
@@ -624,7 +624,7 @@ struct HFA {
 };
 
 float test_hfa(int n, ...) {
-// CHECK-LABEL: define float @test_hfa(i32 %n, ...)
+// CHECK-LABEL: define{{.*}} float @test_hfa(i32 %n, ...)
 // CHECK: [[THELIST:%.*]] = alloca i8*
 // CHECK: [[CURLIST:%.*]] = load i8*, i8** [[THELIST]]
 
@@ -640,7 +640,7 @@ float test_hfa(int n, ...) {
 }
 
 float test_hfa_call(struct HFA *a) {
-// CHECK-LABEL: define float @test_hfa_call(%struct.HFA* %a)
+// CHECK-LABEL: define{{.*}} float @test_hfa_call(%struct.HFA* %a)
 // CHECK: call float (i32, ...) @test_hfa(i32 1, [4 x float] {{.*}})
   test_hfa(1, *a);
 }
@@ -650,7 +650,7 @@ struct TooBigHFA {
 };
 
 float test_toobig_hfa(int n, ...) {
-// CHECK-LABEL: define float @test_toobig_hfa(i32 %n, ...)
+// CHECK-LABEL: define{{.*}} float @test_toobig_hfa(i32 %n, ...)
 // CHECK: [[THELIST:%.*]] = alloca i8*
 // CHECK: [[CURLIST:%.*]] = load i8*, i8** [[THELIST]]
 
@@ -672,7 +672,7 @@ struct HVA {
 };
 
 int32x4_t test_hva(int n, ...) {
-// CHECK-LABEL: define <4 x i32> @test_hva(i32 %n, ...)
+// CHECK-LABEL: define{{.*}} <4 x i32> @test_hva(i32 %n, ...)
 // CHECK: [[THELIST:%.*]] = alloca i8*
 // CHECK: [[CURLIST:%.*]] = load i8*, i8** [[THELIST]]
 
@@ -698,7 +698,7 @@ struct TooBigHVA {
 };
 
 int32x4_t test_toobig_hva(int n, ...) {
-// CHECK-LABEL: define <4 x i32> @test_toobig_hva(i32 %n, ...)
+// CHECK-LABEL: define{{.*}} <4 x i32> @test_toobig_hva(i32 %n, ...)
 // CHECK: [[THELIST:%.*]] = alloca i8*
 // CHECK: [[CURLIST:%.*]] = load i8*, i8** [[THELIST]]
 
@@ -719,7 +719,7 @@ typedef __attribute__((__ext_vector_type__(3))) float float32x3_t;
 typedef struct { float32x3_t arr[4]; } HFAv3;
 
 float32x3_t test_hva_v3(int n, ...) {
-// CHECK-LABEL: define <3 x float> @test_hva_v3(i32 %n, ...)
+// CHECK-LABEL: define{{.*}} <3 x float> @test_hva_v3(i32 %n, ...)
 // CHECK: [[THELIST:%.*]] = alloca i8*
 // CHECK: [[CURLIST:%.*]] = load i8*, i8** [[THELIST]]
 
@@ -741,7 +741,7 @@ float32x3_t test_hva_v3(int n, ...) {
 }
 
 float32x3_t test_hva_v3_call(HFAv3 *a) {
-// CHECK-LABEL: define <3 x float> @test_hva_v3_call(%struct.HFAv3* %a)
+// CHECK-LABEL: define{{.*}} <3 x float> @test_hva_v3_call(%struct.HFAv3* %a)
 // CHECK: call <3 x float> (i32, ...) @test_hva_v3(i32 1, [4 x <4 x float>] {{.*}})
   return test_hva_v3(1, *a);
 }

diff  --git a/clang/test/CodeGen/arm64_32-vaarg.c b/clang/test/CodeGen/arm64_32-vaarg.c
index 0f88841c7848..225e43995bd8 100644
--- a/clang/test/CodeGen/arm64_32-vaarg.c
+++ b/clang/test/CodeGen/arm64_32-vaarg.c
@@ -8,7 +8,7 @@ typedef struct {
 
 // No realignment should be needed here: slot size is 4 bytes.
 int test_int(OneInt input, va_list *mylist) {
-// CHECK-LABEL: define i32 @test_int(i32 %input
+// CHECK-LABEL: define{{.*}} i32 @test_int(i32 %input
 // CHECK: [[START:%.*]] = load i8*, i8** %mylist
 // CHECK: [[NEXT:%.*]] = getelementptr inbounds i8, i8* [[START]], i32 4
 // CHECK: store i8* [[NEXT]], i8** %mylist
@@ -27,7 +27,7 @@ typedef struct {
 
 // Minimum slot size is 4 bytes, so address needs rounding up to multiple of 8.
 long long test_longlong(OneLongLong input, va_list *mylist) {
-  // CHECK-LABEL: define i64 @test_longlong(i64 %input
+  // CHECK-LABEL: define{{.*}} i64 @test_longlong(i64 %input
   // CHECK: [[STARTPTR:%.*]] = load i8*, i8** %mylist
   // CHECK: [[START:%.*]] = ptrtoint i8* [[STARTPTR]] to i32
 
@@ -52,7 +52,7 @@ typedef struct {
 
 // HFAs take priority over passing large structs indirectly.
 float test_hfa(va_list *mylist) {
-// CHECK-LABEL: define float @test_hfa
+// CHECK-LABEL: define{{.*}} float @test_hfa
 // CHECK: [[START:%.*]] = load i8*, i8** %mylist
 
 // CHECK: [[NEXT:%.*]] = getelementptr inbounds i8, i8* [[START]], i32 16
@@ -68,7 +68,7 @@ float test_hfa(va_list *mylist) {
 // armv7k does not return HFAs normally for variadic functions, so we must match
 // that.
 HFA test_hfa_return(int n, ...) {
-// CHECK-LABEL: define [2 x i64] @test_hfa_return
+// CHECK-LABEL: define{{.*}} [2 x i64] @test_hfa_return
   HFA h = {0};
   return h;
 }
@@ -81,7 +81,7 @@ typedef struct {
 // Structs bigger than 16 bytes are passed indirectly: a pointer is placed on
 // the stack.
 long long test_bigstruct(BigStruct input, va_list *mylist) {
-// CHECK-LABEL: define i64 @test_bigstruct(%struct.BigStruct*
+// CHECK-LABEL: define{{.*}} i64 @test_bigstruct(%struct.BigStruct*
 // CHECK: [[START:%.*]] = load i8*, i8** %mylist
 // CHECK: [[NEXT:%.*]] = getelementptr inbounds i8, i8* [[START]], i32 4
 // CHECK: store i8* [[NEXT]], i8** %mylist
@@ -103,7 +103,7 @@ typedef struct {
 // alignment must be passed via "[N x i32]" to be correctly allocated in the
 // backend.
 short test_threeshorts(ThreeShorts input, va_list *mylist) {
-// CHECK-LABEL: define signext i16 @test_threeshorts([2 x i32] %input
+// CHECK-LABEL: define{{.*}} signext i16 @test_threeshorts([2 x i32] %input
 
 // CHECK: [[START:%.*]] = load i8*, i8** %mylist
 // CHECK: [[NEXT:%.*]] = getelementptr inbounds i8, i8* [[START]], i32 8

diff  --git a/clang/test/CodeGen/arm64_32.c b/clang/test/CodeGen/arm64_32.c
index 72b6faa171a9..c2e44c71f4bf 100644
--- a/clang/test/CodeGen/arm64_32.c
+++ b/clang/test/CodeGen/arm64_32.c
@@ -6,25 +6,25 @@ struct Foo {
 };
 
 int BitfieldOffset = sizeof(struct Foo);
-// CHECK: @BitfieldOffset = global i32 2
+// CHECK: @BitfieldOffset ={{.*}} global i32 2
 
 int PointerSize = sizeof(void *);
-// CHECK: @PointerSize = global i32 4
+// CHECK: @PointerSize ={{.*}} global i32 4
 
 int PointerAlign = __alignof(void *);
-// CHECK: @PointerAlign = global i32 4
+// CHECK: @PointerAlign ={{.*}} global i32 4
 
 int LongSize = sizeof(long);
-// CHECK: @LongSize = global i32 4
+// CHECK: @LongSize ={{.*}} global i32 4
 
 int LongAlign = __alignof(long);
-// CHECK: @LongAlign = global i32 4
+// CHECK: @LongAlign ={{.*}} global i32 4
 
 // Not expected to change, but it's a 
diff erence between AAPCS and DarwinPCS
 // that we need to be preserved for compatibility with ARMv7k.
 long double LongDoubleVar = 0.0;
-// CHECK: @LongDoubleVar = global double
+// CHECK: @LongDoubleVar ={{.*}} global double
 
 typedef float __attribute__((ext_vector_type(16))) v16f32;
 v16f32 func(v16f32 in) { return in; }
-// CHECK: define void @func(<16 x float>* noalias sret(<16 x float>) align 16 {{%.*}}, <16 x float> {{%.*}})
+// CHECK: define{{.*}} void @func(<16 x float>* noalias sret(<16 x float>) align 16 {{%.*}}, <16 x float> {{%.*}})

diff  --git a/clang/test/CodeGen/arm64_vcopy.c b/clang/test/CodeGen/arm64_vcopy.c
index ecf1386384a7..ece0623bfcc5 100644
--- a/clang/test/CodeGen/arm64_vcopy.c
+++ b/clang/test/CodeGen/arm64_vcopy.c
@@ -4,7 +4,7 @@
 
 #include <arm_neon.h>
 
-// CHECK-LABEL: define <16 x i8> @test_vcopyq_laneq_s8(<16 x i8> %a1, <16 x i8> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <16 x i8> @test_vcopyq_laneq_s8(<16 x i8> %a1, <16 x i8> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <16 x i8> %a2, i32 13
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <16 x i8> %a1, i8 [[VGETQ_LANE]], i32 3
 // CHECK:   ret <16 x i8> [[VSET_LANE]]
@@ -12,7 +12,7 @@ int8x16_t test_vcopyq_laneq_s8(int8x16_t a1, int8x16_t a2) {
   return vcopyq_laneq_s8(a1, (int64_t) 3, a2, (int64_t) 13);
 }
 
-// CHECK-LABEL: define <16 x i8> @test_vcopyq_laneq_u8(<16 x i8> %a1, <16 x i8> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <16 x i8> @test_vcopyq_laneq_u8(<16 x i8> %a1, <16 x i8> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <16 x i8> %a2, i32 13
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <16 x i8> %a1, i8 [[VGETQ_LANE]], i32 3
 // CHECK:   ret <16 x i8> [[VSET_LANE]]
@@ -21,7 +21,7 @@ uint8x16_t test_vcopyq_laneq_u8(uint8x16_t a1, uint8x16_t a2) {
 
 }
 
-// CHECK-LABEL: define <8 x i16> @test_vcopyq_laneq_s16(<8 x i16> %a1, <8 x i16> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <8 x i16> @test_vcopyq_laneq_s16(<8 x i16> %a1, <8 x i16> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <8 x i16> %a2, i32 7
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <8 x i16> %a1, i16 [[VGETQ_LANE]], i32 3
 // CHECK:   ret <8 x i16> [[VSET_LANE]]
@@ -30,7 +30,7 @@ int16x8_t test_vcopyq_laneq_s16(int16x8_t a1, int16x8_t a2) {
 
 }
 
-// CHECK-LABEL: define <8 x i16> @test_vcopyq_laneq_u16(<8 x i16> %a1, <8 x i16> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <8 x i16> @test_vcopyq_laneq_u16(<8 x i16> %a1, <8 x i16> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <8 x i16> %a2, i32 7
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <8 x i16> %a1, i16 [[VGETQ_LANE]], i32 3
 // CHECK:   ret <8 x i16> [[VSET_LANE]]
@@ -39,7 +39,7 @@ uint16x8_t test_vcopyq_laneq_u16(uint16x8_t a1, uint16x8_t a2) {
 
 }
 
-// CHECK-LABEL: define <4 x i32> @test_vcopyq_laneq_s32(<4 x i32> %a1, <4 x i32> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <4 x i32> @test_vcopyq_laneq_s32(<4 x i32> %a1, <4 x i32> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <4 x i32> %a2, i32 3
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x i32> %a1, i32 [[VGETQ_LANE]], i32 3
 // CHECK:   ret <4 x i32> [[VSET_LANE]]
@@ -47,7 +47,7 @@ int32x4_t test_vcopyq_laneq_s32(int32x4_t a1, int32x4_t a2) {
   return vcopyq_laneq_s32(a1, (int64_t) 3, a2, (int64_t) 3);
 }
 
-// CHECK-LABEL: define <4 x i32> @test_vcopyq_laneq_u32(<4 x i32> %a1, <4 x i32> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <4 x i32> @test_vcopyq_laneq_u32(<4 x i32> %a1, <4 x i32> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <4 x i32> %a2, i32 3
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x i32> %a1, i32 [[VGETQ_LANE]], i32 3
 // CHECK:   ret <4 x i32> [[VSET_LANE]]
@@ -55,7 +55,7 @@ uint32x4_t test_vcopyq_laneq_u32(uint32x4_t a1, uint32x4_t a2) {
   return vcopyq_laneq_u32(a1, (int64_t) 3, a2, (int64_t) 3);
 }
 
-// CHECK-LABEL: define <2 x i64> @test_vcopyq_laneq_s64(<2 x i64> %a1, <2 x i64> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <2 x i64> @test_vcopyq_laneq_s64(<2 x i64> %a1, <2 x i64> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <2 x i64> %a2, i32 1
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <2 x i64> %a1, i64 [[VGETQ_LANE]], i32 0
 // CHECK:   ret <2 x i64> [[VSET_LANE]]
@@ -63,7 +63,7 @@ int64x2_t test_vcopyq_laneq_s64(int64x2_t a1, int64x2_t a2) {
   return vcopyq_laneq_s64(a1, (int64_t) 0, a2, (int64_t) 1);
 }
 
-// CHECK-LABEL: define <2 x i64> @test_vcopyq_laneq_u64(<2 x i64> %a1, <2 x i64> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <2 x i64> @test_vcopyq_laneq_u64(<2 x i64> %a1, <2 x i64> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <2 x i64> %a2, i32 1
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <2 x i64> %a1, i64 [[VGETQ_LANE]], i32 0
 // CHECK:   ret <2 x i64> [[VSET_LANE]]
@@ -71,7 +71,7 @@ uint64x2_t test_vcopyq_laneq_u64(uint64x2_t a1, uint64x2_t a2) {
   return vcopyq_laneq_u64(a1, (int64_t) 0, a2, (int64_t) 1);
 }
 
-// CHECK-LABEL: define <4 x float> @test_vcopyq_laneq_f32(<4 x float> %a1, <4 x float> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <4 x float> @test_vcopyq_laneq_f32(<4 x float> %a1, <4 x float> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <4 x float> %a2, i32 3
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <4 x float> %a1, float [[VGETQ_LANE]], i32 0
 // CHECK:   ret <4 x float> [[VSET_LANE]]
@@ -79,7 +79,7 @@ float32x4_t test_vcopyq_laneq_f32(float32x4_t a1, float32x4_t a2) {
   return vcopyq_laneq_f32(a1, 0, a2, 3);
 }
 
-// CHECK-LABEL: define <2 x double> @test_vcopyq_laneq_f64(<2 x double> %a1, <2 x double> %a2) #0 {
+// CHECK-LABEL: define{{.*}} <2 x double> @test_vcopyq_laneq_f64(<2 x double> %a1, <2 x double> %a2) #0 {
 // CHECK:   [[VGETQ_LANE:%.*]] = extractelement <2 x double> %a2, i32 1
 // CHECK:   [[VSET_LANE:%.*]] = insertelement <2 x double> %a1, double [[VGETQ_LANE]], i32 0
 // CHECK:   ret <2 x double> [[VSET_LANE]]

diff  --git a/clang/test/CodeGen/arm64_vdupq_n_f64.c b/clang/test/CodeGen/arm64_vdupq_n_f64.c
index 5c6f61e7acf9..ac5d1a9436a3 100644
--- a/clang/test/CodeGen/arm64_vdupq_n_f64.c
+++ b/clang/test/CodeGen/arm64_vdupq_n_f64.c
@@ -4,7 +4,7 @@
 
 // vdupq_n_f64 -> dup.2d v0, v0[0]
 //
-// CHECK-LABEL: define <2 x double> @test_vdupq_n_f64(double %w) #0 {
+// CHECK-LABEL: define{{.*}} <2 x double> @test_vdupq_n_f64(double %w) #0 {
 // CHECK:   [[VECINIT_I:%.*]] = insertelement <2 x double> undef, double %w, i32 0
 // CHECK:   [[VECINIT1_I:%.*]] = insertelement <2 x double> [[VECINIT_I]], double %w, i32 1
 // CHECK:   ret <2 x double> [[VECINIT1_I]]
@@ -14,7 +14,7 @@ float64x2_t test_vdupq_n_f64(float64_t w) {
 
 // might as well test this while we're here
 // vdupq_n_f32 -> dup.4s v0, v0[0]
-// CHECK-LABEL: define <4 x float> @test_vdupq_n_f32(float %w) #0 {
+// CHECK-LABEL: define{{.*}} <4 x float> @test_vdupq_n_f32(float %w) #0 {
 // CHECK:   [[VECINIT_I:%.*]] = insertelement <4 x float> undef, float %w, i32 0
 // CHECK:   [[VECINIT1_I:%.*]] = insertelement <4 x float> [[VECINIT_I]], float %w, i32 1
 // CHECK:   [[VECINIT2_I:%.*]] = insertelement <4 x float> [[VECINIT1_I]], float %w, i32 2
@@ -27,7 +27,7 @@ float32x4_t test_vdupq_n_f32(float32_t w) {
 // vdupq_lane_f64 -> dup.2d v0, v0[0]
 // this was in <rdar://problem/11778405>, but had already been implemented,
 // test anyway
-// CHECK-LABEL: define <2 x double> @test_vdupq_lane_f64(<1 x double> %V) #0 {
+// CHECK-LABEL: define{{.*}} <2 x double> @test_vdupq_lane_f64(<1 x double> %V) #0 {
 // CHECK:   [[TMP0:%.*]] = bitcast <1 x double> %V to <8 x i8>
 // CHECK:   [[TMP1:%.*]] = bitcast <8 x i8> [[TMP0]] to <1 x double>
 // CHECK:   [[SHUFFLE:%.*]] = shufflevector <1 x double> [[TMP1]], <1 x double> [[TMP1]], <2 x i32> zeroinitializer
@@ -38,7 +38,7 @@ float64x2_t test_vdupq_lane_f64(float64x1_t V) {
 
 // vmovq_n_f64 -> dup Vd.2d,X0
 // this wasn't in <rdar://problem/11778405>, but it was between the vdups
-// CHECK-LABEL: define <2 x double> @test_vmovq_n_f64(double %w) #0 {
+// CHECK-LABEL: define{{.*}} <2 x double> @test_vmovq_n_f64(double %w) #0 {
 // CHECK:   [[VECINIT_I:%.*]] = insertelement <2 x double> undef, double %w, i32 0
 // CHECK:   [[VECINIT1_I:%.*]] = insertelement <2 x double> [[VECINIT_I]], double %w, i32 1
 // CHECK:   ret <2 x double> [[VECINIT1_I]]
@@ -46,7 +46,7 @@ float64x2_t test_vmovq_n_f64(float64_t w) {
   return vmovq_n_f64(w);
 }
 
-// CHECK-LABEL: define <4 x half> @test_vmov_n_f16(half* %a1) #1 {
+// CHECK-LABEL: define{{.*}} <4 x half> @test_vmov_n_f16(half* %a1) #1 {
 // CHECK:   [[TMP0:%.*]] = load half, half* %a1, align 2
 // CHECK:   [[VECINIT:%.*]] = insertelement <4 x half> undef, half [[TMP0]], i32 0
 // CHECK:   [[VECINIT1:%.*]] = insertelement <4 x half> [[VECINIT]], half [[TMP0]], i32 1
@@ -63,7 +63,7 @@ float64x1_t test_vmov_n_f64(float64_t a1) {
 }
 */
 
-// CHECK-LABEL: define <8 x half> @test_vmovq_n_f16(half* %a1) #0 {
+// CHECK-LABEL: define{{.*}} <8 x half> @test_vmovq_n_f16(half* %a1) #0 {
 // CHECK:   [[TMP0:%.*]] = load half, half* %a1, align 2
 // CHECK:   [[VECINIT:%.*]] = insertelement <8 x half> undef, half [[TMP0]], i32 0
 // CHECK:   [[VECINIT1:%.*]] = insertelement <8 x half> [[VECINIT]], half [[TMP0]], i32 1

diff  --git a/clang/test/CodeGen/armv7k-abi.c b/clang/test/CodeGen/armv7k-abi.c
index c17bc9d2f293..a7e04dc3611b 100644
--- a/clang/test/CodeGen/armv7k-abi.c
+++ b/clang/test/CodeGen/armv7k-abi.c
@@ -10,10 +10,10 @@ typedef struct {
   float arr[4];
 } HFA;
 
-// CHECK: define void @simple_hfa([4 x float] %h.coerce)
+// CHECK: define{{.*}} void @simple_hfa([4 x float] %h.coerce)
 void simple_hfa(HFA h) {}
 
-// CHECK: define %struct.HFA @return_simple_hfa
+// CHECK: define{{.*}} %struct.HFA @return_simple_hfa
 HFA return_simple_hfa() {}
 
 typedef struct {
@@ -37,10 +37,10 @@ typedef struct {
   double z;
 } BigStruct;
 
-// CHECK: define void @big_struct_indirect(%struct.BigStruct* %b)
+// CHECK: define{{.*}} void @big_struct_indirect(%struct.BigStruct* %b)
 void big_struct_indirect(BigStruct b) {}
 
-// CHECK: define void @return_big_struct_indirect(%struct.BigStruct* noalias sret
+// CHECK: define{{.*}} void @return_big_struct_indirect(%struct.BigStruct* noalias sret
 BigStruct return_big_struct_indirect() {}
 
 // Structs smaller than 16 bytes should be passed directly, and coerced to
@@ -52,10 +52,10 @@ typedef struct {
   double z;
 } SmallStruct;
 
-// CHECK: define void @small_struct_direct([2 x i64] %s.coerce)
+// CHECK: define{{.*}} void @small_struct_direct([2 x i64] %s.coerce)
 void small_struct_direct(SmallStruct s) {}
 
-// CHECK: define [4 x i32] @return_small_struct_direct()
+// CHECK: define{{.*}} [4 x i32] @return_small_struct_direct()
 SmallStruct return_small_struct_direct() {}
 
 typedef struct {
@@ -64,7 +64,7 @@ typedef struct {
   int z;
 } SmallStructSmallAlign;
 
-// CHECK: define void @small_struct_align_direct([3 x i32] %s.coerce)
+// CHECK: define{{.*}} void @small_struct_align_direct([3 x i32] %s.coerce)
 void small_struct_align_direct(SmallStructSmallAlign s) {}
 
 typedef struct {
@@ -72,17 +72,17 @@ typedef struct {
   short y;
 } PaddedSmallStruct;
 
-// CHECK: define i32 @return_padded_small_struct()
+// CHECK: define{{.*}} i32 @return_padded_small_struct()
 PaddedSmallStruct return_padded_small_struct() {}
 
 typedef struct {
   char arr[7];
 } OddlySizedStruct;
 
-// CHECK: define [2 x i32] @return_oddly_sized_struct()
+// CHECK: define{{.*}} [2 x i32] @return_oddly_sized_struct()
 OddlySizedStruct return_oddly_sized_struct() {}
 
-// CHECK: define <4 x float> @test_va_arg_vec(i8* %l)
+// CHECK: define{{.*}} <4 x float> @test_va_arg_vec(i8* %l)
 // CHECK:   [[ALIGN_TMP:%.*]] = add i32 {{%.*}}, 15
 // CHECK:   [[ALIGNED:%.*]] = and i32 [[ALIGN_TMP]], -16
 // CHECK:   [[ALIGNED_I8:%.*]] = inttoptr i32 [[ALIGNED]] to i8*

diff  --git a/clang/test/CodeGen/asm-label.c b/clang/test/CodeGen/asm-label.c
index 093f31fc59c4..c9f30cc3be5a 100644
--- a/clang/test/CodeGen/asm-label.c
+++ b/clang/test/CodeGen/asm-label.c
@@ -11,11 +11,11 @@ int *test(void) {
 }
 
 // LINUX: @bar = internal global i32 0
-// LINUX: @foo = global i32 0
+// LINUX: @foo ={{.*}} global i32 0
 // LINUX: declare i8* @alias(i32)
 
 // DARWIN: @"\01bar" = internal global i32 0
-// DARWIN: @"\01foo" = global i32 0
+// DARWIN: @"\01foo" ={{.*}} global i32 0
 // DARWIN: declare i8* @"\01alias"(i32)
 
 extern void *memcpy(void *__restrict, const void *__restrict, unsigned long);

diff  --git a/clang/test/CodeGen/asm-reg-var-local.c b/clang/test/CodeGen/asm-reg-var-local.c
index 56dcab4cb906..19c61ab85c9a 100644
--- a/clang/test/CodeGen/asm-reg-var-local.c
+++ b/clang/test/CodeGen/asm-reg-var-local.c
@@ -2,7 +2,7 @@
 // Exercise various use cases for local asm "register variables".
 
 int foo() {
-// CHECK-LABEL: define i32 @foo()
+// CHECK-LABEL: define{{.*}} i32 @foo()
 // CHECK: [[A:%[a-zA-Z0-9]+]] = alloca i32
 
   register int a asm("rsi")=5;
@@ -25,7 +25,7 @@ int foo() {
 }
 
 int earlyclobber() {
-// CHECK-LABEL: define i32 @earlyclobber()
+// CHECK-LABEL: define{{.*}} i32 @earlyclobber()
 // CHECK: [[A:%[a-zA-Z0-9]+]] = alloca i32
 
   register int a asm("rsi")=5;

diff  --git a/clang/test/CodeGen/atomic-arm64.c b/clang/test/CodeGen/atomic-arm64.c
index 0e79846085cf..ed229920372c 100644
--- a/clang/test/CodeGen/atomic-arm64.c
+++ b/clang/test/CodeGen/atomic-arm64.c
@@ -21,7 +21,7 @@ extern _Atomic(void*) a_pointer;
 extern _Atomic(pointer_pair_t) a_pointer_pair;
 extern _Atomic(pointer_quad_t) a_pointer_quad;
 
-// CHECK-LABEL:define void @test0()
+// CHECK-LABEL:define{{.*}} void @test0()
 // CHECK:      [[TEMP:%.*]] = alloca i8, align 1
 // CHECK-NEXT: store i8 1, i8* [[TEMP]]
 // CHECK-NEXT: [[T0:%.*]] = load i8, i8* [[TEMP]], align 1
@@ -30,7 +30,7 @@ void test0() {
   __c11_atomic_store(&a_bool, 1, memory_order_seq_cst);
 }
 
-// CHECK-LABEL:define void @test1()
+// CHECK-LABEL:define{{.*}} void @test1()
 // CHECK:      [[TEMP:%.*]] = alloca float, align 4
 // CHECK-NEXT: store float 3.000000e+00, float* [[TEMP]]
 // CHECK-NEXT: [[T0:%.*]] = bitcast float* [[TEMP]] to i32*
@@ -40,7 +40,7 @@ void test1() {
   __c11_atomic_store(&a_float, 3, memory_order_seq_cst);
 }
 
-// CHECK-LABEL:define void @test2()
+// CHECK-LABEL:define{{.*}} void @test2()
 // CHECK:      [[TEMP:%.*]] = alloca i8*, align 8
 // CHECK-NEXT: store i8* @a_bool, i8** [[TEMP]]
 // CHECK-NEXT: [[T0:%.*]] = bitcast i8** [[TEMP]] to i64*
@@ -50,7 +50,7 @@ void test2() {
   __c11_atomic_store(&a_pointer, &a_bool, memory_order_seq_cst);
 }
 
-// CHECK-LABEL:define void @test3(
+// CHECK-LABEL:define{{.*}} void @test3(
 // CHECK:      [[PAIR:%.*]] = alloca [[PAIR_T:%.*]], align 8
 // CHECK-NEXT: [[TEMP:%.*]] = alloca [[PAIR_T]], align 8
 // CHECK:      llvm.memcpy
@@ -61,7 +61,7 @@ void test3(pointer_pair_t pair) {
   __c11_atomic_store(&a_pointer_pair, pair, memory_order_seq_cst);
 }
 
-// CHECK-LABEL:define void @test4(
+// CHECK-LABEL:define{{.*}} void @test4(
 // CHECK:      [[TEMP:%.*]] = alloca [[QUAD_T:%.*]], align 8
 // CHECK-NEXT: [[T0:%.*]] = bitcast [[QUAD_T]]* [[TEMP]] to i8*
 // CHECK-NEXT: [[T1:%.*]] = bitcast [[QUAD_T]]* {{%.*}} to i8*

diff  --git a/clang/test/CodeGen/attr-arm-sve-vector-bits-types.c b/clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
index 27366dea3d34..b8598fd7e945 100644
--- a/clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
+++ b/clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
@@ -584,7 +584,7 @@ void f() {
 //===----------------------------------------------------------------------===//
 // ILP32 ABI
 //===----------------------------------------------------------------------===//
-// CHECK-ILP32: @global_i32 = global <16 x i32> zeroinitializer, align 16
-// CHECK-ILP32: @global_i64 = global <8 x i64> zeroinitializer, align 16
-// CHECK-ILP32: @global_u32 = global <16 x i32> zeroinitializer, align 16
-// CHECK-ILP32: @global_u64 = global <8 x i64> zeroinitializer, align 16
+// CHECK-ILP32: @global_i32 ={{.*}} global <16 x i32> zeroinitializer, align 16
+// CHECK-ILP32: @global_i64 ={{.*}} global <8 x i64> zeroinitializer, align 16
+// CHECK-ILP32: @global_u32 ={{.*}} global <16 x i32> zeroinitializer, align 16
+// CHECK-ILP32: @global_u64 ={{.*}} global <8 x i64> zeroinitializer, align 16

diff  --git a/clang/test/CodeGen/attr-disable-tail-calls.c b/clang/test/CodeGen/attr-disable-tail-calls.c
index d47b14fe8bad..cd44346037f9 100644
--- a/clang/test/CodeGen/attr-disable-tail-calls.c
+++ b/clang/test/CodeGen/attr-disable-tail-calls.c
@@ -1,10 +1,10 @@
 // RUN: %clang_cc1 -triple x86_64-apple-macosx10.7.0 %s -emit-llvm -mdisable-tail-calls -o - | FileCheck %s -check-prefix=DISABLE
 // RUN: %clang_cc1 -triple x86_64-apple-macosx10.7.0 %s -emit-llvm -o - | FileCheck %s -check-prefix=ENABLE
 
-// DISABLE: define i32 @f1() [[ATTRTRUE:#[0-9]+]] {
-// DISABLE: define i32 @f2() [[ATTRTRUE]] {
-// ENABLE: define i32 @f1() [[ATTRFALSE:#[0-9]+]] {
-// ENABLE: define i32 @f2() [[ATTRTRUE:#[0-9]+]] {
+// DISABLE: define{{.*}} i32 @f1() [[ATTRTRUE:#[0-9]+]] {
+// DISABLE: define{{.*}} i32 @f2() [[ATTRTRUE]] {
+// ENABLE: define{{.*}} i32 @f1() [[ATTRFALSE:#[0-9]+]] {
+// ENABLE: define{{.*}} i32 @f2() [[ATTRTRUE:#[0-9]+]] {
 
 int f1() {
   return 0;

diff  --git a/clang/test/CodeGen/attr-func-def.c b/clang/test/CodeGen/attr-func-def.c
index a295488baa0d..36210977f020 100644
--- a/clang/test/CodeGen/attr-func-def.c
+++ b/clang/test/CodeGen/attr-func-def.c
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-macosx10.10.0 -emit-llvm -Oz -o - %s | FileCheck %s
 
-// CHECK: define i32 @foo2(i32 %a) local_unnamed_addr [[ATTRS2:#[0-9]+]] {
-// CHECK: define i32 @foo1(i32 %a) local_unnamed_addr [[ATTRS1:#[0-9]+]] {
+// CHECK: define{{.*}} i32 @foo2(i32 %a) local_unnamed_addr [[ATTRS2:#[0-9]+]] {
+// CHECK: define{{.*}} i32 @foo1(i32 %a) local_unnamed_addr [[ATTRS1:#[0-9]+]] {
 
 int foo1(int);
 

diff  --git a/clang/test/CodeGen/attr-naked.c b/clang/test/CodeGen/attr-naked.c
index dba923f04c7a..1a3e73eef36f 100644
--- a/clang/test/CodeGen/attr-naked.c
+++ b/clang/test/CodeGen/attr-naked.c
@@ -4,20 +4,20 @@ void t1() __attribute__((naked));
 
 // Basic functionality check
 // (Note that naked needs to imply noinline to work properly.)
-// CHECK: define void @t1() [[NAKED_OPTNONE:#[0-9]+]] {
+// CHECK: define{{.*}} void @t1() [[NAKED_OPTNONE:#[0-9]+]] {
 void t1()
 {
 }
 
 // Make sure this doesn't explode in the verifier.
 // (It doesn't really make sense, but it isn't invalid.)
-// CHECK: define void @t2() [[NAKED:#[0-9]+]] {
+// CHECK: define{{.*}} void @t2() [[NAKED:#[0-9]+]] {
 __attribute((naked, always_inline)) void t2() {
 }
 
 // Make sure not to generate prolog or epilog for naked functions.
 __attribute((naked)) void t3(int x) {
-// CHECK: define void @t3(i32 %0)
+// CHECK: define{{.*}} void @t3(i32 %0)
 // CHECK-NOT: alloca
 // CHECK-NOT: store
 // CHECK: unreachable

diff  --git a/clang/test/CodeGen/attr-weak-import.c b/clang/test/CodeGen/attr-weak-import.c
index f02d09e81509..23d02c10dca1 100644
--- a/clang/test/CodeGen/attr-weak-import.c
+++ b/clang/test/CodeGen/attr-weak-import.c
@@ -18,9 +18,9 @@ extern int E __attribute__((weak_import));
 int E;
 extern int E __attribute__((weak_import));
 
-// CHECK: @A = global i32
+// CHECK: @A ={{.*}} global i32
 // CHECK-NOT: @B =
-// CHECK: @C = global i32
-// CHECK: @D = global i32
-// CHECK: @E = global i32
+// CHECK: @C ={{.*}} global i32
+// CHECK: @D ={{.*}} global i32
+// CHECK: @E ={{.*}} global i32
 

diff  --git a/clang/test/CodeGen/available-externally-suppress.c b/clang/test/CodeGen/available-externally-suppress.c
index 1e79750fb9d6..e015f5f20d5a 100644
--- a/clang/test/CodeGen/available-externally-suppress.c
+++ b/clang/test/CodeGen/available-externally-suppress.c
@@ -12,9 +12,9 @@ int x;
 
 inline void f0(int y) { x = y; }
 
-// CHECK-LABEL: define void @test()
+// CHECK-LABEL: define{{.*}} void @test()
 // CHECK: declare void @f0(i32)
-// LTO-LABEL: define void @test()
+// LTO-LABEL: define{{.*}} void @test()
 // LTO: define available_externally void @f0
 void test() {
   f0(17);

diff  --git a/clang/test/CodeGen/block-byref-aggr.c b/clang/test/CodeGen/block-byref-aggr.c
index db105768993f..f77fcdc40e85 100644
--- a/clang/test/CodeGen/block-byref-aggr.c
+++ b/clang/test/CodeGen/block-byref-aggr.c
@@ -13,7 +13,7 @@ void test0() {
 
  a = makeAgg();
 }
-// CHECK-LABEL:    define void @test0()
+// CHECK-LABEL:    define{{.*}} void @test0()
 // CHECK:      [[A:%.*]] = alloca [[BYREF:%.*]], align 8
 // CHECK-NEXT: alloca <{ i8*, i32, i32, i8*, %{{.*}}*, i8* }>, align 8
 // CHECK-NEXT: [[TEMP:%.*]] = alloca [[AGG]], align 4
@@ -40,7 +40,7 @@ void test1() {
   ^{ (void)a; (void)b; };
   a = b = makeAgg();
 }
-// CHECK-LABEL:    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: alloca <{ i8*, i32, i32, i8*, %{{.*}}*, i8*, i8* }>, align 8

diff  --git a/clang/test/CodeGen/builtins.c b/clang/test/CodeGen/builtins.c
index 9f2a74f6c873..2bb4a500dde5 100644
--- a/clang/test/CodeGen/builtins.c
+++ b/clang/test/CodeGen/builtins.c
@@ -143,7 +143,7 @@ void foo() {
  __builtin_strcat(0, 0);
 }
 
-// CHECK-LABEL: define void @bar(
+// CHECK-LABEL: define{{.*}} void @bar(
 void bar() {
   float f;
   double d;
@@ -178,7 +178,7 @@ void bar() {
 }
 // CHECK: }
 
-// CHECK-LABEL: define void @test_conditional_bzero
+// CHECK-LABEL: define{{.*}} void @test_conditional_bzero
 void test_conditional_bzero() {
   char dst[20];
   int _sz = 20, len = 20;
@@ -192,7 +192,7 @@ void test_conditional_bzero() {
   // CHECK-NOT: phi
 }
 
-// CHECK-LABEL: define void @test_float_builtins
+// CHECK-LABEL: define{{.*}} void @test_float_builtins
 void test_float_builtins(__fp16 *H, float F, double D, long double LD) {
   volatile int res;
   res = __builtin_isinf(*H);
@@ -275,7 +275,7 @@ void test_float_builtins(__fp16 *H, float F, double D, long double LD) {
   // CHECK: call i32 @llvm.flt.rounds(
 }
 
-// CHECK-LABEL: define void @test_float_builtin_ops
+// CHECK-LABEL: define{{.*}} void @test_float_builtin_ops
 void test_float_builtin_ops(float F, double D, long double LD) {
   volatile float resf;
   volatile double resd;
@@ -428,7 +428,7 @@ void test_float_builtin_ops(float F, double D, long double LD) {
 // __builtin_longjmp isn't supported on all platforms, so only test it on X86.
 #ifdef __x86_64__
 
-// CHECK-LABEL: 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]])
@@ -438,14 +438,14 @@ void test_builtin_longjmp(void **buffer) {
 
 #endif
 
-// CHECK-LABEL: 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();
 }
 
 /// __builtin_launder should be a NOP in C since there are no vtables.
-// CHECK-LABEL: define void @test_builtin_launder
+// CHECK-LABEL: define{{.*}} void @test_builtin_launder
 void test_builtin_launder(int *p) {
   // CHECK: [[TMP:%.*]] = load i32*,
   // CHECK-NOT: @llvm.launder
@@ -454,7 +454,7 @@ void test_builtin_launder(int *p) {
 }
 
 // __warn_memset_zero_len should be NOP, see https://sourceware.org/bugzilla/show_bug.cgi?id=25399
-// CHECK-LABEL: define void @test___warn_memset_zero_len
+// CHECK-LABEL: define{{.*}} void @test___warn_memset_zero_len
 void test___warn_memset_zero_len() {
   // CHECK-NOT: @__warn_memset_zero_len
   __warn_memset_zero_len();
@@ -463,7 +463,7 @@ void test___warn_memset_zero_len() {
 // Behavior of __builtin_os_log 
diff ers between platforms, so only test on X86
 #ifdef __x86_64__
 
-// CHECK-LABEL: define void @test_builtin_os_log
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log
 // CHECK: (i8* %[[BUF:.*]], i32 %[[I:.*]], i8* %[[DATA:.*]])
 void test_builtin_os_log(void *buf, int i, const char *data) {
   volatile int len;
@@ -587,7 +587,7 @@ void test_builtin_os_log(void *buf, int i, const char *data) {
 // CHECK: %[[V3:.*]] = load i64, i64* %[[ARG3_ADDR]], align 8
 // CHECK: store i64 %[[V3]], i64* %[[ARGDATACAST12]], align 1
 
-// CHECK-LABEL: define void @test_builtin_os_log_wide
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log_wide
 // CHECK: (i8* %[[BUF:.*]], i8* %[[DATA:.*]], i32* %[[STR:.*]])
 typedef int wchar_t;
 void test_builtin_os_log_wide(void *buf, const char *data, wchar_t *str) {
@@ -633,7 +633,7 @@ void test_builtin_os_log_wide(void *buf, const char *data, wchar_t *str) {
 // CHECK: %[[V0:.*]] = load i64, i64* %[[ARG0_ADDR]], align 8
 // CHECK: store i64 %[[V0]], i64* %[[ARGDATACAST]], align 1
 
-// CHECK-LABEL: define void @test_builtin_os_log_precision_width
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log_precision_width
 // CHECK: (i8* %[[BUF:.*]], i8* %[[DATA:.*]], i32 %[[PRECISION:.*]], i32 %[[WIDTH:.*]])
 void test_builtin_os_log_precision_width(void *buf, const char *data,
                                          int precision, int width) {
@@ -701,7 +701,7 @@ void test_builtin_os_log_precision_width(void *buf, const char *data,
 // CHECK: %[[V2:.*]] = load i64, i64* %[[ARG2_ADDR]], align 8
 // CHECK: store i64 %[[V2]], i64* %[[ARGDATACAST8]], align 1
 
-// CHECK-LABEL: define void @test_builtin_os_log_invalid
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log_invalid
 // CHECK: (i8* %[[BUF:.*]], i32 %[[DATA:.*]])
 void test_builtin_os_log_invalid(void *buf, int data) {
   volatile int len;
@@ -742,7 +742,7 @@ void test_builtin_os_log_invalid(void *buf, int data) {
 // CHECK: %[[V0:.*]] = load i32, i32* %[[ARG0_ADDR]], align 4
 // CHECK: store i32 %[[V0]], i32* %[[ARGDATACAST]], align 1
 
-// CHECK-LABEL: define void @test_builtin_os_log_percent
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log_percent
 // CHECK: (i8* %[[BUF:.*]], i8* %[[DATA1:.*]], i8* %[[DATA2:.*]])
 // Check that the %% which does not consume any argument is correctly handled
 void test_builtin_os_log_percent(void *buf, const char *data1, const char *data2) {
@@ -801,7 +801,7 @@ void test_builtin_os_log_percent(void *buf, const char *data1, const char *data2
 
 // Check that the following two functions call the same helper function.
 
-// CHECK-LABEL: define void @test_builtin_os_log_merge_helper0
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log_merge_helper0
 // CHECK: call void @__os_log_helper_1_0_2_4_0_8_0(
 void test_builtin_os_log_merge_helper0(void *buf, int i, double d) {
   __builtin_os_log_format(buf, "%d %f", i, d);
@@ -809,7 +809,7 @@ void test_builtin_os_log_merge_helper0(void *buf, int i, double d) {
 
 // CHECK-LABEL: define linkonce_odr hidden void @__os_log_helper_1_0_2_4_0_8_0(
 
-// CHECK-LABEL: define void @test_builtin_os_log_merge_helper1
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log_merge_helper1
 // CHECK: call void @__os_log_helper_1_0_2_4_0_8_0(
 void test_builtin_os_log_merge_helper1(void *buf, unsigned u, long long ll) {
   __builtin_os_log_format(buf, "%u %lld", u, ll);
@@ -817,7 +817,7 @@ void test_builtin_os_log_merge_helper1(void *buf, unsigned u, long long ll) {
 
 // Check that this function doesn't write past the end of array 'buf'.
 
-// CHECK-LABEL: define void @test_builtin_os_log_errno
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log_errno
 void test_builtin_os_log_errno() {
   // CHECK-NOT: @stacksave
   // CHECK: %[[BUF:.*]] = alloca [4 x i8], align 1
@@ -845,7 +845,7 @@ void test_builtin_os_log_errno() {
 // CHECK: store i8 0, i8* %[[ARGSIZE]], align 1
 // CHECK-NEXT: ret void
 
-// CHECK-LABEL: define void @test_builtin_os_log_long_double
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log_long_double
 // CHECK: (i8* %[[BUF:.*]], x86_fp80 %[[LD:.*]])
 void test_builtin_os_log_long_double(void *buf, long double ld) {
   // CHECK: %[[BUF_ADDR:.*]] = alloca i8*, align 8

diff  --git a/clang/test/CodeGen/byval-memcpy-elim.c b/clang/test/CodeGen/byval-memcpy-elim.c
index d4b751a48bd9..4fae6d79a0f7 100644
--- a/clang/test/CodeGen/byval-memcpy-elim.c
+++ b/clang/test/CodeGen/byval-memcpy-elim.c
@@ -12,7 +12,7 @@ struct Test2S {
 
 // Make sure we don't generate extra memcpy for lvalues
 void test1a(struct Test1S, struct Test2S);
-// CHECK-LABEL: 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-LABEL: 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-LABEL: define void @test3(
+// CHECK-LABEL: define{{.*}} void @test3(
 // CHECK: alloca %struct.Test3S, align 8
 // CHECK: call void @fooey
 // CHECK-NOT: memcpy

diff  --git a/clang/test/CodeGen/c11atomics-ios.c b/clang/test/CodeGen/c11atomics-ios.c
index 8df4c78fe698..bb632a249b79 100644
--- a/clang/test/CodeGen/c11atomics-ios.c
+++ b/clang/test/CodeGen/c11atomics-ios.c
@@ -6,7 +6,7 @@
 
 // This work was done in pursuit of <rdar://13338582>.
 
-// CHECK-LABEL: define void @testFloat(float*
+// CHECK-LABEL: define{{.*}} void @testFloat(float*
 void testFloat(_Atomic(float) *fp) {
 // CHECK:      [[FP:%.*]] = alloca float*
 // CHECK-NEXT: [[X:%.*]] = alloca float
@@ -37,7 +37,7 @@ void testFloat(_Atomic(float) *fp) {
 // CHECK-NEXT: ret void
 }
 
-// CHECK: define void @testComplexFloat([[CF:{ float, float }]]*
+// CHECK: define{{.*}} void @testComplexFloat([[CF:{ float, float }]]*
 void testComplexFloat(_Atomic(_Complex float) *fp) {
 // CHECK:      [[FP:%.*]] = alloca [[CF]]*, align 4
 // CHECK-NEXT: [[X:%.*]] = alloca [[CF]], align 8
@@ -93,7 +93,7 @@ void testComplexFloat(_Atomic(_Complex float) *fp) {
 }
 
 typedef struct { short x, y, z, w; } S;
-// CHECK: define void @testStruct([[S:.*]]*
+// CHECK: define{{.*}} void @testStruct([[S:.*]]*
 void testStruct(_Atomic(S) *fp) {
 // CHECK:      [[FP:%.*]] = alloca [[S]]*, align 4
 // CHECK-NEXT: [[X:%.*]] = alloca [[S]], align 8
@@ -143,7 +143,7 @@ void testStruct(_Atomic(S) *fp) {
 }
 
 typedef struct { short x, y, z; } PS;
-// CHECK: define void @testPromotedStruct([[APS:.*]]*
+// CHECK: define{{.*}} void @testPromotedStruct([[APS:.*]]*
 void testPromotedStruct(_Atomic(PS) *fp) {
 // CHECK:      [[FP:%.*]] = alloca [[APS]]*, align 4
 // CHECK-NEXT: [[X:%.*]] = alloca [[APS]], align 8
@@ -275,7 +275,7 @@ PS test_promoted_exchange(_Atomic(PS) *addr, PS *val) {
 }
 
 _Bool test_promoted_cmpxchg(_Atomic(PS) *addr, PS *desired, PS *new) {
-  // CHECK:   define zeroext i1 @test_promoted_cmpxchg({ %struct.PS, [2 x i8] }* %addr, %struct.PS* %desired, %struct.PS* %new) #0 {
+  // CHECK:   define{{.*}} zeroext i1 @test_promoted_cmpxchg({ %struct.PS, [2 x i8] }* %addr, %struct.PS* %desired, %struct.PS* %new) #0 {
   // CHECK:   [[ADDR_ARG:%.*]] = alloca { %struct.PS, [2 x i8] }*, align 4
   // CHECK:   [[DESIRED_ARG:%.*]] = alloca %struct.PS*, align 4
   // CHECK:   [[NEW_ARG:%.*]] = alloca %struct.PS*, align 4

diff  --git a/clang/test/CodeGen/complex-indirect.c b/clang/test/CodeGen/complex-indirect.c
index cb84f7f49725..783b8269637f 100644
--- a/clang/test/CodeGen/complex-indirect.c
+++ b/clang/test/CodeGen/complex-indirect.c
@@ -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-LABEL: 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 {{.*}})

diff  --git a/clang/test/CodeGen/complex-init-list.c b/clang/test/CodeGen/complex-init-list.c
index bc38e2caf21f..262b44d213b3 100644
--- a/clang/test/CodeGen/complex-init-list.c
+++ b/clang/test/CodeGen/complex-init-list.c
@@ -5,14 +5,14 @@
 // extensive description and test in test/Sema/complex-init-list.c.)
 
 _Complex float x = { 1.0f, 1.0f/0.0f };
-// CHECK: @x = global { float, float } { float 1.000000e+00, float 0x7FF0000000000000 }, align 4
+// 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-LABEL: 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-LABEL: define <2 x float> @f2
+// CHECK-LABEL: define{{.*}} <2 x float> @f2
 // CHECK: alloca { float, float }
 // CHECK: alloca { float, float }

diff  --git a/clang/test/CodeGen/compound-literal.c b/clang/test/CodeGen/compound-literal.c
index 17a24d47f2f0..6def0b8c68c2 100644
--- a/clang/test/CodeGen/compound-literal.c
+++ b/clang/test/CodeGen/compound-literal.c
@@ -2,7 +2,7 @@
 
 // Capture the type and name so matching later is cleaner.
 struct CompoundTy { int a; };
-// CHECK: @MyCLH = constant [[MY_CLH:[^,]+]]
+// CHECK: @MyCLH ={{.*}} constant [[MY_CLH:[^,]+]]
 const struct CompoundTy *const MyCLH = &(struct CompoundTy){3};
 
 int* a = &(int){1};
@@ -13,7 +13,7 @@ v4i32 *y = &(v4i32){1,2,3,4};
 
 // Check generated code for GNU constant array init from compound literal,
 // for a global variable.
-// CHECK: @compound_array = global [8 x i32] [i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8]
+// CHECK: @compound_array ={{.*}} global [8 x i32] [i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8]
 int compound_array[] = __extension__(__builtin_choose_expr(0, 0, _Generic(1, int: (int[]){1, 2, 3, 4, 5, 6, 7, 8})));
 
 void xxx() {
@@ -22,7 +22,7 @@ struct s {int a, b, c;} * b = &(struct s) {1, 2, 3};
 _Complex double * x = &(_Complex double){1.0f};
 }
 
-// CHECK-LABEL: 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.]+]],
@@ -43,7 +43,7 @@ void f() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: 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
@@ -79,7 +79,7 @@ struct G g(int x, int y, int z) {
 
 // We had a bug where we'd emit a new GlobalVariable for each time we used a
 // const pointer to a variable initialized by a compound literal.
-// CHECK-LABEL: define i32 @compareMyCLH() #0
+// CHECK-LABEL: define{{.*}} i32 @compareMyCLH() #0
 int compareMyCLH() {
   // CHECK: store i8* bitcast ([[MY_CLH]] to i8*)
   const void *a = MyCLH;
@@ -90,7 +90,7 @@ int compareMyCLH() {
 
 // Check generated code for GNU constant array init from compound literal,
 // for a local variable.
-// CHECK-LABEL: define i32 @compound_array_fn()
+// CHECK-LABEL: define{{.*}} i32 @compound_array_fn()
 // CHECK: [[COMPOUND_ARRAY:%.*]] = alloca [8 x i32]
 // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}, i64 32, i1 false)
 int compound_array_fn() {

diff  --git a/clang/test/CodeGen/constructor-attribute.c b/clang/test/CodeGen/constructor-attribute.c
index 562e57b8b122..e58143a2165a 100644
--- a/clang/test/CodeGen/constructor-attribute.c
+++ b/clang/test/CodeGen/constructor-attribute.c
@@ -7,15 +7,15 @@
 // WITHATEXIT: @llvm.global_ctors = appending global [5 x { i32, void ()*, i8* }]{{.*}}i32 65535, void ()* @A,{{.*}}i32 65535, void ()* @C,{{.*}}i32 123, void ()* @__GLOBAL_init_123,{{.*}}i32 789, void ()* @[[GLOBAL_INIT_789:__GLOBAL_init_789.[0-9]+]],{{.*}}i32 65535, void ()* @__GLOBAL_init_65535,
 // WITHATEXIT-NOT: global_dtors
 
-// CHECK: define void @A()
-// CHECK: define void @B()
+// CHECK: define{{.*}} void @A()
+// CHECK: define{{.*}} void @B()
 // CHECK: define internal void @E()
 // CHECK: define internal void @F()
 // CHECK: define internal void @G()
-// CHECK: define i32 @__GLOBAL_init_789(i32 %{{.*}})
+// CHECK: define{{.*}} i32 @__GLOBAL_init_789(i32 %{{.*}})
 // CHECK: define internal void @C()
 // CHECK: define internal void @D()
-// CHECK: define i32 @main()
+// CHECK: define{{.*}} i32 @main()
 // CHECK: define internal i32 @foo()
 // WITHOUTATEXIT-NOT: define
 

diff  --git a/clang/test/CodeGen/darwin-thread-specifier.c b/clang/test/CodeGen/darwin-thread-specifier.c
index 605d461aca72..6aa3cd87b14d 100644
--- a/clang/test/CodeGen/darwin-thread-specifier.c
+++ b/clang/test/CodeGen/darwin-thread-specifier.c
@@ -1,3 +1,3 @@
 // RUN: %clang_cc1 -triple x86_64-apple-macosx10.7.0 -emit-llvm -o - %s | FileCheck %s
-// CHECK: @b = thread_local global i32 5, align 4
+// CHECK: @b ={{.*}} thread_local global i32 5, align 4
 __thread int b = 5;

diff  --git a/clang/test/CodeGen/disable-tail-calls.c b/clang/test/CodeGen/disable-tail-calls.c
index b06610022659..7cc5d19306c7 100644
--- a/clang/test/CodeGen/disable-tail-calls.c
+++ b/clang/test/CodeGen/disable-tail-calls.c
@@ -5,7 +5,7 @@ typedef struct List {
   int data;
 } List;
 
-// CHECK-LABEL: define %struct.List* @find
+// CHECK-LABEL: define{{.*}} %struct.List* @find
 List *find(List *head, int data) {
   if (!head)
     return 0;

diff  --git a/clang/test/CodeGen/exceptions.c b/clang/test/CodeGen/exceptions.c
index 2c50340c07e0..1618add89542 100644
--- a/clang/test/CodeGen/exceptions.c
+++ b/clang/test/CodeGen/exceptions.c
@@ -5,8 +5,8 @@
 void test1() {
   extern void test1_helper(void (^)(int));
 
-  // CHECK-LABEL:     define void @test1() {{.*}} personality i8* bitcast (i32 (...)* @__gcc_personality_v0 to i8*)
-  // CHECK-ARM-LABEL: define arm_aapcscc void @test1() {{.*}} personality i8* bitcast (i32 (...)* @__gcc_personality_sj0 to i8*)
+  // CHECK-LABEL:     define{{.*}} void @test1() {{.*}} personality i8* bitcast (i32 (...)* @__gcc_personality_v0 to i8*)
+  // CHECK-ARM-LABEL: define{{.*}} arm_aapcscc void @test1() {{.*}} personality i8* bitcast (i32 (...)* @__gcc_personality_sj0 to i8*)
 
   __block int x = 10;
 

diff  --git a/clang/test/CodeGen/ext-int-cc.c b/clang/test/CodeGen/ext-int-cc.c
index dd21845592a8..92ce3a09a5f5 100644
--- a/clang/test/CodeGen/ext-int-cc.c
+++ b/clang/test/CodeGen/ext-int-cc.c
@@ -32,243 +32,243 @@
 // Make sure 128 and 64 bit versions are passed like integers, and that >128
 // is passed indirectly.
 void ParamPassing(_ExtInt(129) a, _ExtInt(128) b, _ExtInt(64) c) {}
-// LIN64: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i64 %{{.+}}, i64 %{{.+}}, i64 %{{.+}})
+// LIN64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i64 %{{.+}}, i64 %{{.+}}, i64 %{{.+}})
 // WIN64: define dso_local void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
-// LIN32: define void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
+// LIN32: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
 // WIN32: define dso_local void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
-// NACL: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
-// NVPTX64: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
-// NVPTX: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
-// SPARCV9: define void @ParamPassing(i129* %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
-// SPARC: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
-// MIPS64: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 signext  %{{.+}}, i64 signext %{{.+}})
-// MIPS: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 signext %{{.+}})
+// NACL: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+// NVPTX64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
+// NVPTX: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+// SPARCV9: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
+// SPARC: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+// MIPS64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 signext  %{{.+}}, i64 signext %{{.+}})
+// MIPS: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 signext %{{.+}})
 // SPIR64: define spir_func void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
 // SPIR: define spir_func void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
-// HEX: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
-// LANAI: define void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 %{{.+}})
-// R600: define void @ParamPassing(i129 addrspace(5)* byval(i129) align 8 %{{.+}}, i128 addrspace(5)* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
-// ARC: define void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 inreg %{{.+}})
-// XCORE: define void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 %{{.+}})
-// RISCV64: define void @ParamPassing(i129* %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
-// RISCV32: define void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
-// WASM: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
-// SYSTEMZ: define void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
-// PPC64: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
-// PPC32: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
-// AARCH64: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
-// AARCH64DARWIN: define void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
-// ARM: define arm_aapcscc void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+// HEX: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+// LANAI: define{{.*}} void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 %{{.+}})
+// R600: define{{.*}} void @ParamPassing(i129 addrspace(5)* byval(i129) align 8 %{{.+}}, i128 addrspace(5)* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+// ARC: define{{.*}} void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 inreg %{{.+}})
+// XCORE: define{{.*}} void @ParamPassing(i129* byval(i129) align 4 %{{.+}}, i128* byval(i128) align 4 %{{.+}}, i64 %{{.+}})
+// RISCV64: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
+// RISCV32: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
+// WASM: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
+// SYSTEMZ: define{{.*}} void @ParamPassing(i129* %{{.+}}, i128* %{{.+}}, i64 %{{.+}})
+// PPC64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
+// PPC32: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
+// AARCH64: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
+// AARCH64DARWIN: define{{.*}} void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128 %{{.+}}, i64 %{{.+}})
+// ARM: define{{.*}} arm_aapcscc void @ParamPassing(i129* byval(i129) align 8 %{{.+}}, i128* byval(i128) align 8 %{{.+}}, i64 %{{.+}})
 
 void ParamPassing2(_ExtInt(129) a, _ExtInt(127) b, _ExtInt(63) c) {}
-// LIN64: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i64 %{{.+}}, i64 %{{.+}}, i64 %{{.+}})
+// LIN64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i64 %{{.+}}, i64 %{{.+}}, i64 %{{.+}})
 // WIN64: define dso_local void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
-// LIN32: define void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
+// LIN32: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
 // WIN32: define dso_local void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
-// NACL: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
-// NVPTX64: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
-// NVPTX: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
-// SPARCV9: define void @ParamPassing2(i129* %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
-// SPARC: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
-// MIPS64: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 signext  %{{.+}}, i63 signext %{{.+}})
-// MIPS: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 signext %{{.+}})
+// NACL: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+// NVPTX64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
+// NVPTX: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+// SPARCV9: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
+// SPARC: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+// MIPS64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 signext  %{{.+}}, i63 signext %{{.+}})
+// MIPS: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 signext %{{.+}})
 // SPIR64: define spir_func void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
 // SPIR: define spir_func void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
-// HEX: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
-// LANAI: define void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 %{{.+}})
-// R600: define void @ParamPassing2(i129 addrspace(5)* byval(i129) align 8 %{{.+}}, i127 addrspace(5)* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
-// ARC: define void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 inreg %{{.+}})
-// XCORE: define void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 %{{.+}})
-// RISCV64: define void @ParamPassing2(i129* %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
-// RISCV32: define void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
-// WASM: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
-// SYSTEMZ: define void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 signext %{{.+}})
-// PPC64: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
-// PPC32: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
-// AARCH64: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
-// AARCH64DARWIN: define void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
-// ARM: define arm_aapcscc void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+// HEX: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+// LANAI: define{{.*}} void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 %{{.+}})
+// R600: define{{.*}} void @ParamPassing2(i129 addrspace(5)* byval(i129) align 8 %{{.+}}, i127 addrspace(5)* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+// ARC: define{{.*}} void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 inreg %{{.+}})
+// XCORE: define{{.*}} void @ParamPassing2(i129* byval(i129) align 4 %{{.+}}, i127* byval(i127) align 4 %{{.+}}, i63 %{{.+}})
+// RISCV64: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
+// RISCV32: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 %{{.+}})
+// WASM: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
+// SYSTEMZ: define{{.*}} void @ParamPassing2(i129* %{{.+}}, i127* %{{.+}}, i63 signext %{{.+}})
+// PPC64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 signext %{{.+}})
+// PPC32: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
+// AARCH64: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
+// AARCH64DARWIN: define{{.*}} void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127 %{{.+}}, i63 %{{.+}})
+// ARM: define{{.*}} arm_aapcscc void @ParamPassing2(i129* byval(i129) align 8 %{{.+}}, i127* byval(i127) align 8 %{{.+}}, i63 %{{.+}})
 
 // Make sure we follow the signext rules for promotable integer types.
 void ParamPassing3(_ExtInt(15) a, _ExtInt(31) b) {}
-// LIN64: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// LIN64: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
 // WIN64: define dso_local void @ParamPassing3(i15 %{{.+}}, i31 %{{.+}})
-// LIN32: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// LIN32: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
 // WIN32: define dso_local void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// NACL: define void @ParamPassing3(i15 %{{.+}}, i31 %{{.+}})
-// NVPTX64: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// NVPTX: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// SPARCV9: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// SPARC: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// MIPS64: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// MIPS: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// NACL: define{{.*}} void @ParamPassing3(i15 %{{.+}}, i31 %{{.+}})
+// NVPTX64: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// NVPTX: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// SPARCV9: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// SPARC: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// MIPS64: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// MIPS: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
 // SPIR64: define spir_func void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
 // SPIR: define spir_func void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// HEX: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// LANAI: define void @ParamPassing3(i15 inreg %{{.+}}, i31 inreg %{{.+}})
-// R600: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// ARC: define void @ParamPassing3(i15 inreg signext %{{.+}}, i31 inreg signext %{{.+}})
-// XCORE: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// RISCV64: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// RISCV32: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// WASM: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// SYSTEMZ: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// PPC64: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// PPC32: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// AARCH64: define void @ParamPassing3(i15 %{{.+}}, i31 %{{.+}})
-// AARCH64DARWIN: define void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
-// ARM: define arm_aapcscc void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// HEX: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// LANAI: define{{.*}} void @ParamPassing3(i15 inreg %{{.+}}, i31 inreg %{{.+}})
+// R600: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// ARC: define{{.*}} void @ParamPassing3(i15 inreg signext %{{.+}}, i31 inreg signext %{{.+}})
+// XCORE: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// RISCV64: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// RISCV32: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// WASM: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// SYSTEMZ: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// PPC64: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// PPC32: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// AARCH64: define{{.*}} void @ParamPassing3(i15 %{{.+}}, i31 %{{.+}})
+// AARCH64DARWIN: define{{.*}} void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
+// ARM: define{{.*}} arm_aapcscc void @ParamPassing3(i15 signext %{{.+}}, i31 signext %{{.+}})
 
 _ExtInt(63) ReturnPassing(){}
-// LIN64: define i64 @ReturnPassing(
+// LIN64: define{{.*}} i64 @ReturnPassing(
 // WIN64: define dso_local i63 @ReturnPassing(
-// LIN32: define i63 @ReturnPassing(
+// LIN32: define{{.*}} i63 @ReturnPassing(
 // WIN32: define dso_local i63 @ReturnPassing(
-// NACL: define i63 @ReturnPassing(
-// NVPTX64: define i63 @ReturnPassing(
-// NVPTX: define i63 @ReturnPassing(
-// SPARCV9: define signext i63 @ReturnPassing(
-// SPARC: define i63 @ReturnPassing(
-// MIPS64: define i63 @ReturnPassing(
-// MIPS: define i63 @ReturnPassing(
+// NACL: define{{.*}} i63 @ReturnPassing(
+// NVPTX64: define{{.*}} i63 @ReturnPassing(
+// NVPTX: define{{.*}} i63 @ReturnPassing(
+// SPARCV9: define{{.*}} signext i63 @ReturnPassing(
+// SPARC: define{{.*}} i63 @ReturnPassing(
+// MIPS64: define{{.*}} i63 @ReturnPassing(
+// MIPS: define{{.*}} i63 @ReturnPassing(
 // SPIR64: define spir_func i63 @ReturnPassing(
 // SPIR: define spir_func i63 @ReturnPassing(
-// HEX: define i63 @ReturnPassing(
-// LANAI: define i63 @ReturnPassing(
-// R600: define i63 @ReturnPassing(
-// ARC: define i63 @ReturnPassing(
-// XCORE: define i63 @ReturnPassing(
-// RISCV64: define signext i63 @ReturnPassing(
-// RISCV32: define i63 @ReturnPassing(
-// WASM: define i63 @ReturnPassing(
-// SYSTEMZ: define signext i63 @ReturnPassing(
-// PPC64: define signext i63 @ReturnPassing(
-// PPC32: define i63 @ReturnPassing(
-// AARCH64: define i63 @ReturnPassing(
-// AARCH64DARWIN: define i63 @ReturnPassing(
-// ARM: define arm_aapcscc i63 @ReturnPassing(
+// HEX: define{{.*}} i63 @ReturnPassing(
+// LANAI: define{{.*}} i63 @ReturnPassing(
+// R600: define{{.*}} i63 @ReturnPassing(
+// ARC: define{{.*}} i63 @ReturnPassing(
+// XCORE: define{{.*}} i63 @ReturnPassing(
+// RISCV64: define{{.*}} signext i63 @ReturnPassing(
+// RISCV32: define{{.*}} i63 @ReturnPassing(
+// WASM: define{{.*}} i63 @ReturnPassing(
+// SYSTEMZ: define{{.*}} signext i63 @ReturnPassing(
+// PPC64: define{{.*}} signext i63 @ReturnPassing(
+// PPC32: define{{.*}} i63 @ReturnPassing(
+// AARCH64: define{{.*}} i63 @ReturnPassing(
+// AARCH64DARWIN: define{{.*}} i63 @ReturnPassing(
+// ARM: define{{.*}} arm_aapcscc i63 @ReturnPassing(
 
 _ExtInt(64) ReturnPassing2(){}
-// LIN64: define i64 @ReturnPassing2(
+// LIN64: define{{.*}} i64 @ReturnPassing2(
 // WIN64: define dso_local i64 @ReturnPassing2(
-// LIN32: define i64 @ReturnPassing2(
+// LIN32: define{{.*}} i64 @ReturnPassing2(
 // WIN32: define dso_local i64 @ReturnPassing2(
-// NACL: define i64 @ReturnPassing2(
-// NVPTX64: define i64 @ReturnPassing2(
-// NVPTX: define i64 @ReturnPassing2(
-// SPARCV9: define i64 @ReturnPassing2(
-// SPARC: define i64 @ReturnPassing2(
-// MIPS64: define i64 @ReturnPassing2(
-// MIPS: define i64 @ReturnPassing2(
+// NACL: define{{.*}} i64 @ReturnPassing2(
+// NVPTX64: define{{.*}} i64 @ReturnPassing2(
+// NVPTX: define{{.*}} i64 @ReturnPassing2(
+// SPARCV9: define{{.*}} i64 @ReturnPassing2(
+// SPARC: define{{.*}} i64 @ReturnPassing2(
+// MIPS64: define{{.*}} i64 @ReturnPassing2(
+// MIPS: define{{.*}} i64 @ReturnPassing2(
 // SPIR64: define spir_func i64 @ReturnPassing2(
 // SPIR: define spir_func i64 @ReturnPassing2(
-// HEX: define i64 @ReturnPassing2(
-// LANAI: define i64 @ReturnPassing2(
-// R600: define i64 @ReturnPassing2(
-// ARC: define i64 @ReturnPassing2(
-// XCORE: define i64 @ReturnPassing2(
-// RISCV64: define i64 @ReturnPassing2(
-// RISCV32: define i64 @ReturnPassing2(
-// WASM: define i64 @ReturnPassing2(
-// SYSTEMZ: define i64 @ReturnPassing2(
-// PPC64: define i64 @ReturnPassing2(
-// PPC32: define i64 @ReturnPassing2(
-// AARCH64: define i64 @ReturnPassing2(
-// AARCH64DARWIN: define i64 @ReturnPassing2(
-// ARM: define arm_aapcscc i64 @ReturnPassing2(
+// HEX: define{{.*}} i64 @ReturnPassing2(
+// LANAI: define{{.*}} i64 @ReturnPassing2(
+// R600: define{{.*}} i64 @ReturnPassing2(
+// ARC: define{{.*}} i64 @ReturnPassing2(
+// XCORE: define{{.*}} i64 @ReturnPassing2(
+// RISCV64: define{{.*}} i64 @ReturnPassing2(
+// RISCV32: define{{.*}} i64 @ReturnPassing2(
+// WASM: define{{.*}} i64 @ReturnPassing2(
+// SYSTEMZ: define{{.*}} i64 @ReturnPassing2(
+// PPC64: define{{.*}} i64 @ReturnPassing2(
+// PPC32: define{{.*}} i64 @ReturnPassing2(
+// AARCH64: define{{.*}} i64 @ReturnPassing2(
+// AARCH64DARWIN: define{{.*}} i64 @ReturnPassing2(
+// ARM: define{{.*}} arm_aapcscc i64 @ReturnPassing2(
 
 _ExtInt(127) ReturnPassing3(){}
-// LIN64: define { i64, i64 } @ReturnPassing3(
+// LIN64: define{{.*}} { i64, i64 } @ReturnPassing3(
 // WIN64: define dso_local void @ReturnPassing3(i127* noalias sret
-// LIN32: define void @ReturnPassing3(i127* noalias sret
+// LIN32: define{{.*}} void @ReturnPassing3(i127* noalias sret
 // WIN32: define dso_local void @ReturnPassing3(i127* noalias sret
-// NACL: define void @ReturnPassing3(i127* noalias sret
+// NACL: define{{.*}} void @ReturnPassing3(i127* noalias sret
 // NVPTX/64 makes the intentional choice to put all return values direct, even
 // large structures, so we do the same here.
-// NVPTX64: define i127 @ReturnPassing3(
-// NVPTX: define i127 @ReturnPassing3(
-// SPARCV9: define i127 @ReturnPassing3(
-// SPARC: define void @ReturnPassing3(i127* noalias sret
-// MIPS64: define i127 @ReturnPassing3(
-// MIPS: define void @ReturnPassing3(i127* noalias sret
+// NVPTX64: define{{.*}} i127 @ReturnPassing3(
+// NVPTX: define{{.*}} i127 @ReturnPassing3(
+// SPARCV9: define{{.*}} i127 @ReturnPassing3(
+// SPARC: define{{.*}} void @ReturnPassing3(i127* noalias sret
+// MIPS64: define{{.*}} i127 @ReturnPassing3(
+// MIPS: define{{.*}} void @ReturnPassing3(i127* noalias sret
 // SPIR64: define spir_func void @ReturnPassing3(i127* noalias sret
 // SPIR: define spir_func void @ReturnPassing3(i127* noalias sret
-// HEX: define void @ReturnPassing3(i127* noalias sret
-// LANAI: define void @ReturnPassing3(i127* noalias sret
-// R600: define void @ReturnPassing3(i127 addrspace(5)* noalias sret
-// ARC: define void @ReturnPassing3(i127* noalias sret
-// XCORE: define void @ReturnPassing3(i127* noalias sret
-// RISCV64: define i127 @ReturnPassing3(
-// RISCV32: define void @ReturnPassing3(i127* noalias sret
-// WASM: define i127 @ReturnPassing3(
-// SYSTEMZ: define void @ReturnPassing3(i127* noalias sret
-// PPC64: define i127 @ReturnPassing3(
-// PPC32: define void @ReturnPassing3(i127* noalias sret
-// AARCH64: define i127 @ReturnPassing3(
-// AARCH64DARWIN: define i127 @ReturnPassing3(
-// ARM: define arm_aapcscc void @ReturnPassing3(i127* noalias sret
+// HEX: define{{.*}} void @ReturnPassing3(i127* noalias sret
+// LANAI: define{{.*}} void @ReturnPassing3(i127* noalias sret
+// R600: define{{.*}} void @ReturnPassing3(i127 addrspace(5)* noalias sret
+// ARC: define{{.*}} void @ReturnPassing3(i127* noalias sret
+// XCORE: define{{.*}} void @ReturnPassing3(i127* noalias sret
+// RISCV64: define{{.*}} i127 @ReturnPassing3(
+// RISCV32: define{{.*}} void @ReturnPassing3(i127* noalias sret
+// WASM: define{{.*}} i127 @ReturnPassing3(
+// SYSTEMZ: define{{.*}} void @ReturnPassing3(i127* noalias sret
+// PPC64: define{{.*}} i127 @ReturnPassing3(
+// PPC32: define{{.*}} void @ReturnPassing3(i127* noalias sret
+// AARCH64: define{{.*}} i127 @ReturnPassing3(
+// AARCH64DARWIN: define{{.*}} i127 @ReturnPassing3(
+// ARM: define{{.*}} arm_aapcscc void @ReturnPassing3(i127* noalias sret
 
 _ExtInt(128) ReturnPassing4(){}
-// LIN64: define { i64, i64 } @ReturnPassing4(
+// LIN64: define{{.*}} { i64, i64 } @ReturnPassing4(
 // WIN64: define dso_local void @ReturnPassing4(i128* noalias sret
-// LIN32: define void @ReturnPassing4(i128* noalias sret
+// LIN32: define{{.*}} void @ReturnPassing4(i128* noalias sret
 // WIN32: define dso_local void @ReturnPassing4(i128* noalias sret
-// NACL: define void @ReturnPassing4(i128* noalias sret
-// NVPTX64: define i128 @ReturnPassing4(
-// NVPTX: define i128 @ReturnPassing4(
-// SPARCV9: define i128 @ReturnPassing4(
-// SPARC: define void @ReturnPassing4(i128* noalias sret
-// MIPS64: define i128 @ReturnPassing4(
-// MIPS: define void @ReturnPassing4(i128* noalias sret
+// NACL: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// NVPTX64: define{{.*}} i128 @ReturnPassing4(
+// NVPTX: define{{.*}} i128 @ReturnPassing4(
+// SPARCV9: define{{.*}} i128 @ReturnPassing4(
+// SPARC: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// MIPS64: define{{.*}} i128 @ReturnPassing4(
+// MIPS: define{{.*}} void @ReturnPassing4(i128* noalias sret
 // SPIR64: define spir_func void @ReturnPassing4(i128* noalias sret
 // SPIR: define spir_func void @ReturnPassing4(i128* noalias sret
-// HEX: define void @ReturnPassing4(i128* noalias sret
-// LANAI: define void @ReturnPassing4(i128* noalias sret
-// R600: define void @ReturnPassing4(i128 addrspace(5)* noalias sret
-// ARC: define void @ReturnPassing4(i128* noalias sret
-// XCORE: define void @ReturnPassing4(i128* noalias sret
-// RISCV64: define i128 @ReturnPassing4(
-// RISCV32: define void @ReturnPassing4(i128* noalias sret
-// WASM: define i128 @ReturnPassing4(
-// SYSTEMZ: define void @ReturnPassing4(i128* noalias sret
-// PPC64: define i128 @ReturnPassing4(
-// PPC32: define void @ReturnPassing4(i128* noalias sret
-// AARCH64: define i128 @ReturnPassing4(
-// AARCH64DARWIN: define i128 @ReturnPassing4(
-// ARM: define arm_aapcscc void @ReturnPassing4(i128* noalias sret
+// HEX: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// LANAI: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// R600: define{{.*}} void @ReturnPassing4(i128 addrspace(5)* noalias sret
+// ARC: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// XCORE: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// RISCV64: define{{.*}} i128 @ReturnPassing4(
+// RISCV32: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// WASM: define{{.*}} i128 @ReturnPassing4(
+// SYSTEMZ: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// PPC64: define{{.*}} i128 @ReturnPassing4(
+// PPC32: define{{.*}} void @ReturnPassing4(i128* noalias sret
+// AARCH64: define{{.*}} i128 @ReturnPassing4(
+// AARCH64DARWIN: define{{.*}} i128 @ReturnPassing4(
+// ARM: define{{.*}} arm_aapcscc void @ReturnPassing4(i128* noalias sret
 
 _ExtInt(129) ReturnPassing5(){}
-// LIN64: define void @ReturnPassing5(i129* noalias sret
+// LIN64: define{{.*}} void @ReturnPassing5(i129* noalias sret
 // WIN64: define dso_local void @ReturnPassing5(i129* noalias sret
-// LIN32: define void @ReturnPassing5(i129* noalias sret
+// LIN32: define{{.*}} void @ReturnPassing5(i129* noalias sret
 // WIN32: define dso_local void @ReturnPassing5(i129* noalias sret
-// NACL: define void @ReturnPassing5(i129* noalias sret
-// NVPTX64: define i129 @ReturnPassing5(
-// NVPTX: define i129 @ReturnPassing5(
-// SPARCV9: define i129 @ReturnPassing5(
-// SPARC: define void @ReturnPassing5(i129* noalias sret
-// MIPS64: define void @ReturnPassing5(i129* noalias sret
-// MIPS: define void @ReturnPassing5(i129* noalias sret
+// NACL: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// NVPTX64: define{{.*}} i129 @ReturnPassing5(
+// NVPTX: define{{.*}} i129 @ReturnPassing5(
+// SPARCV9: define{{.*}} i129 @ReturnPassing5(
+// SPARC: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// MIPS64: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// MIPS: define{{.*}} void @ReturnPassing5(i129* noalias sret
 // SPIR64: define spir_func void @ReturnPassing5(i129* noalias sret
 // SPIR: define spir_func void @ReturnPassing5(i129* noalias sret
-// HEX: define void @ReturnPassing5(i129* noalias sret
-// LANAI: define void @ReturnPassing5(i129* noalias sret
-// R600: define void @ReturnPassing5(i129 addrspace(5)* noalias sret
-// ARC: define void @ReturnPassing5(i129* inreg noalias sret
-// XCORE: define void @ReturnPassing5(i129* noalias sret
-// RISCV64: define void @ReturnPassing5(i129* noalias sret
-// RISCV32: define void @ReturnPassing5(i129* noalias sret
-// WASM: define void @ReturnPassing5(i129* noalias sret
-// SYSTEMZ: define void @ReturnPassing5(i129* noalias sret
-// PPC64: define void @ReturnPassing5(i129* noalias sret
-// PPC32: define void @ReturnPassing5(i129* noalias sret
-// AARCH64: define void @ReturnPassing5(i129* noalias sret
-// AARCH64DARWIN: define void @ReturnPassing5(i129* noalias sret
-// ARM: define arm_aapcscc void @ReturnPassing5(i129* noalias sret
+// HEX: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// LANAI: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// R600: define{{.*}} void @ReturnPassing5(i129 addrspace(5)* noalias sret
+// ARC: define{{.*}} void @ReturnPassing5(i129* inreg noalias sret
+// XCORE: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// RISCV64: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// RISCV32: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// WASM: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// SYSTEMZ: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// PPC64: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// PPC32: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// AARCH64: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// AARCH64DARWIN: define{{.*}} void @ReturnPassing5(i129* noalias sret
+// ARM: define{{.*}} arm_aapcscc void @ReturnPassing5(i129* noalias sret
 
 // SparcV9 is odd in that it has a return-size limit of 256, not 128 or 64
 // like other platforms, so test to make sure this behavior will still work.
 _ExtInt(256) ReturnPassing6() {}
-// SPARCV9: define i256 @ReturnPassing6(
+// SPARCV9: define{{.*}} i256 @ReturnPassing6(
 _ExtInt(257) ReturnPassing7() {}
-// SPARCV9: define void @ReturnPassing7(i257* noalias sret
+// SPARCV9: define{{.*}} void @ReturnPassing7(i257* noalias sret

diff  --git a/clang/test/CodeGen/fixed-point-tbaa.c b/clang/test/CodeGen/fixed-point-tbaa.c
index 069860331673..1d3e2354f6be 100644
--- a/clang/test/CodeGen/fixed-point-tbaa.c
+++ b/clang/test/CodeGen/fixed-point-tbaa.c
@@ -4,7 +4,7 @@
 
 void sfract(unsigned short _Fract *p, short _Fract *q,
             unsigned _Sat short _Fract *r, _Sat short _Fract *s) {
-  // CHECK-LABEL: define void @sfract
+  // CHECK-LABEL: define{{.*}} void @sfract
   // CHECK: store i8 -128, i8* %p, align 1, !tbaa [[TAG_sf:!.*]]
   // CHECK: store i8 -64, i8* %q, align 1, !tbaa [[TAG_sf]]
   // CHECK: store i8 -128, i8* %r, align 1, !tbaa [[TAG_sat_sf:!.*]]
@@ -17,7 +17,7 @@ void sfract(unsigned short _Fract *p, short _Fract *q,
 
 void fract(unsigned _Fract *p, _Fract *q,
            unsigned _Sat _Fract *r, _Sat _Fract *s) {
-  // CHECK-LABEL: define void @fract
+  // CHECK-LABEL: define{{.*}} void @fract
   // CHECK: store i16 -32768, i16* %p, align 2, !tbaa [[TAG_f:!.*]]
   // CHECK: store i16 -16384, i16* %q, align 2, !tbaa [[TAG_f]]
   // CHECK: store i16 -32768, i16* %r, align 2, !tbaa [[TAG_sat_f:!.*]]
@@ -30,7 +30,7 @@ void fract(unsigned _Fract *p, _Fract *q,
 
 void lfract(unsigned long _Fract *p, long _Fract *q,
             unsigned _Sat long _Fract *r, _Sat long _Fract *s) {
-  // CHECK-LABEL: define void @lfract
+  // CHECK-LABEL: define{{.*}} void @lfract
   // CHECK: store i32 -2147483648, i32* %p, align 4, !tbaa [[TAG_lf:!.*]]
   // CHECK: store i32 -1073741824, i32* %q, align 4, !tbaa [[TAG_lf]]
   // CHECK: store i32 -2147483648, i32* %r, align 4, !tbaa [[TAG_sat_lf:!.*]]
@@ -43,7 +43,7 @@ void lfract(unsigned long _Fract *p, long _Fract *q,
 
 void saccum(unsigned short _Accum *p, short _Accum *q,
             unsigned _Sat short _Accum *r, _Sat short _Accum *s) {
-  // CHECK-LABEL: define void @saccum
+  // CHECK-LABEL: define{{.*}} void @saccum
   // CHECK: store i16 128, i16* %p, align 2, !tbaa [[TAG_sk:!.*]]
   // CHECK: store i16 -64, i16* %q, align 2, !tbaa [[TAG_sk]]
   // CHECK: store i16 128, i16* %r, align 2, !tbaa [[TAG_sat_sk:!.*]]
@@ -56,7 +56,7 @@ void saccum(unsigned short _Accum *p, short _Accum *q,
 
 void accum(unsigned _Accum *p, _Accum *q,
            unsigned _Sat _Accum *r, _Sat _Accum *s) {
-  // CHECK-LABEL: define void @accum
+  // CHECK-LABEL: define{{.*}} void @accum
   // CHECK: store i32 32768, i32* %p, align 4, !tbaa [[TAG_k:!.*]]
   // CHECK: store i32 -16384, i32* %q, align 4, !tbaa [[TAG_k]]
   // CHECK: store i32 32768, i32* %r, align 4, !tbaa [[TAG_sat_k:!.*]]
@@ -69,7 +69,7 @@ void accum(unsigned _Accum *p, _Accum *q,
 
 void laccum(unsigned long _Accum *p, long _Accum *q,
             unsigned _Sat long _Accum *r, _Sat long _Accum *s) {
-  // CHECK-LABEL: define void @laccum
+  // CHECK-LABEL: define{{.*}} void @laccum
   // CHECK: store i64 2147483648, i64* %p, align 8, !tbaa [[TAG_lk:!.*]]
   // CHECK: store i64 -1073741824, i64* %q, align 8, !tbaa [[TAG_lk]]
   // CHECK: store i64 2147483648, i64* %r, align 8, !tbaa [[TAG_sat_lk:!.*]]

diff  --git a/clang/test/CodeGen/func-aligned.c b/clang/test/CodeGen/func-aligned.c
index 64b72932d0d2..99067a8c7ee9 100644
--- a/clang/test/CodeGen/func-aligned.c
+++ b/clang/test/CodeGen/func-aligned.c
@@ -3,5 +3,5 @@
 // rdar://7270273
 void foo() __attribute__((aligned (64)));
 void foo() {
-// CHECK: define void @foo() {{.*}} align 64
+// CHECK: define{{.*}} void @foo() {{.*}} align 64
 }

diff  --git a/clang/test/CodeGen/func-return-member.c b/clang/test/CodeGen/func-return-member.c
index efc30034e002..287e040f1361 100644
--- a/clang/test/CodeGen/func-return-member.c
+++ b/clang/test/CodeGen/func-return-member.c
@@ -10,17 +10,17 @@ int X;
 struct frk F;
 float _Complex C;
 
-// CHECK-LABEL: define void @bar
+// CHECK-LABEL: define{{.*}} void @bar
 void bar(void) {
   X = foo().f.f.x;
 }
 
-// CHECK-LABEL: define void @bun
+// CHECK-LABEL: define{{.*}} void @bun
 void bun(void) {
   F = foo().f.f;
 }
 
-// CHECK-LABEL: define void @ban
+// CHECK-LABEL: define{{.*}} void @ban
 void ban(void) {
   C = foo().f.f.c;
 }

diff  --git a/clang/test/CodeGen/incomplete-function-type-2.c b/clang/test/CodeGen/incomplete-function-type-2.c
index 4ed065a5f868..caf9a7a56ead 100644
--- a/clang/test/CodeGen/incomplete-function-type-2.c
+++ b/clang/test/CodeGen/incomplete-function-type-2.c
@@ -2,7 +2,7 @@
 
 // PR14355: don't crash
 // Keep this test in its own file because CodeGenTypes has global state.
-// CHECK: define void @test10_foo({}* %p1.coerce) [[NUW:#[0-9]+]] {
+// CHECK: define{{.*}} void @test10_foo({}* %p1.coerce) [[NUW:#[0-9]+]] {
 struct test10_B;
 typedef struct test10_B test10_F3(double);
 void test10_foo(test10_F3 p1);

diff  --git a/clang/test/CodeGen/incomplete-function-type.c b/clang/test/CodeGen/incomplete-function-type.c
index fc216dae4a71..b5b864bb11af 100644
--- a/clang/test/CodeGen/incomplete-function-type.c
+++ b/clang/test/CodeGen/incomplete-function-type.c
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s | FileCheck %s
 // CHECK: ModuleID
 // CHECK-NOT: opaque
-// CHECK-LABEL: define void @f0
+// CHECK-LABEL: define{{.*}} void @f0
 
 enum teste1 test1f(void), (*test1)(void) = test1f;
 struct tests2 test2f(), (*test2)() = test2f;

diff  --git a/clang/test/CodeGen/inline2.c b/clang/test/CodeGen/inline2.c
index 0f168e506614..2d8294cbbb28 100644
--- a/clang/test/CodeGen/inline2.c
+++ b/clang/test/CodeGen/inline2.c
@@ -1,65 +1,65 @@
 // RUN: %clang_cc1 -O1 -fno-experimental-new-pass-manager -std=gnu89 -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix CHECK-GNU89 %s
 // RUN: %clang_cc1 -O1 -fno-experimental-new-pass-manager -std=c99 -triple i386-apple-darwin9 -emit-llvm %s -o - | FileCheck -check-prefix CHECK-C99 %s
 
-// CHECK-GNU89-LABEL: define i32 @f0()
-// CHECK-C99-LABEL: 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-LABEL: define i32 @f1()
-// CHECK-C99-LABEL: 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-LABEL: define i32 @f2()
-// CHECK-C99-LABEL: 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-LABEL: define i32 @f3()
-// CHECK-C99-LABEL: 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-LABEL: define i32 @f5()
-// CHECK-C99-LABEL: 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-LABEL: define i32 @f6()
-// CHECK-C99-LABEL: 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-LABEL: define i32 @f7()
-// CHECK-C99-LABEL: 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-LABEL: define i32 @fA()
+// CHECK-GNU89-LABEL: define{{.*}} i32 @fA()
 inline int fA(void) { return 0; }
 
-// CHECK-GNU89-LABEL: define i32 @fB()
+// CHECK-GNU89-LABEL: define{{.*}} i32 @fB()
 inline int fB() { return 0; }
 
 // CHECK-GNU89-LABEL: define available_externally i32 @f4()
-// CHECK-C99-LABEL: define i32 @f4()
+// CHECK-C99-LABEL: define{{.*}} i32 @f4()
 int f4(void);
 extern inline int f4(void) { return 0; }
 
 // CHECK-GNU89-LABEL: define available_externally i32 @f8()
-// CHECK-C99-LABEL: define i32 @f8()
+// CHECK-C99-LABEL: define{{.*}} i32 @f8()
 extern int f8(void);
 extern inline int f8(void) { return 0; }
 
 // CHECK-GNU89-LABEL: define available_externally i32 @f9()
-// CHECK-C99-LABEL: define i32 @f9()
+// CHECK-C99-LABEL: define{{.*}} i32 @f9()
 extern inline int f9(void);
 extern inline int f9(void) { return 0; }
 
 // CHECK-C99-LABEL: define available_externally i32 @fA()
 
-// CHECK-C99-LABEL: define i32 @fB()
+// CHECK-C99-LABEL: define{{.*}} i32 @fB()
 
 int test_all() { 
   return f0() + f1() + f2() + f3() + f4() + f5() + f6() + f7() + f8() + f9() 

diff  --git a/clang/test/CodeGen/integer-overflow.c b/clang/test/CodeGen/integer-overflow.c
index dd78908502c7..a9288a25913e 100644
--- a/clang/test/CodeGen/integer-overflow.c
+++ b/clang/test/CodeGen/integer-overflow.c
@@ -8,9 +8,9 @@
 // Tests for signed integer overflow stuff.
 // rdar://7432000 rdar://7221421
 void test1() {
-  // DEFAULT-LABEL: define void @test1
-  // WRAPV-LABEL: define void @test1
-  // TRAPV-LABEL: 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

diff  --git a/clang/test/CodeGen/matrix-type-builtins.c b/clang/test/CodeGen/matrix-type-builtins.c
index f7e9587def60..67f5c7819687 100644
--- a/clang/test/CodeGen/matrix-type-builtins.c
+++ b/clang/test/CodeGen/matrix-type-builtins.c
@@ -15,7 +15,7 @@ typedef unsigned ux1x6_t __attribute__((matrix_type(1, 6)));
 typedef unsigned ux6x1_t __attribute__((matrix_type(6, 1)));
 
 void transpose_double_5x5(dx5x5_t *a) {
-  // CHECK-LABEL: define void @transpose_double_5x5(
+  // CHECK-LABEL: define{{.*}} void @transpose_double_5x5(
   // CHECK:        [[A:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:   [[TRANS:%.*]] = call <25 x double> @llvm.matrix.transpose.v25f64(<25 x double> [[A]], i32 5, i32 5)
   // CHECK-NEXT:   [[AT_ADDR:%.*]] = bitcast [25 x double]* %a_t to <25 x double>*
@@ -24,7 +24,7 @@ void transpose_double_5x5(dx5x5_t *a) {
 }
 
 void transpose_float_3x2(fx3x2_t *a) {
-  // CHECK-LABEL: define void @transpose_float_3x2(
+  // CHECK-LABEL: define{{.*}} void @transpose_float_3x2(
   // CHECK:        [[A:%.*]] = load <6 x float>, <6 x float>* {{.*}}, align 4
   // CHECK-NEXT:   [[TRANS:%.*]] = call <6 x float> @llvm.matrix.transpose.v6f32(<6 x float> [[A]], i32 3, i32 2)
   // CHECK-NEXT:   [[AT_ADDR:%.*]] = bitcast [6 x float]* %a_t to <6 x float>*
@@ -34,7 +34,7 @@ void transpose_float_3x2(fx3x2_t *a) {
 }
 
 void transpose_int_20x4(ix20x4_t *a) {
-  // CHECK-LABEL: define void @transpose_int_20x4(
+  // CHECK-LABEL: define{{.*}} void @transpose_int_20x4(
   // CHECK:         [[A:%.*]] = load <80 x i32>, <80 x i32>* {{.*}}, align 4
   // CHECK-NEXT:    [[TRANS:%.*]] = call <80 x i32> @llvm.matrix.transpose.v80i32(<80 x i32> [[A]], i32 20, i32 4)
   // CHECK-NEXT:    [[AT_ADDR:%.*]] = bitcast [80 x i32]* %a_t to <80 x i32>*
@@ -49,7 +49,7 @@ struct Foo {
 };
 
 void transpose_struct_member(struct Foo *F) {
-  // CHECK-LABEL: define void @transpose_struct_member(
+  // CHECK-LABEL: define{{.*}} void @transpose_struct_member(
   // CHECK:         [[M:%.*]] = load <6 x i32>, <6 x i32>* {{.*}}, align 4
   // CHECK-NEXT:    [[M_T:%.*]] = call <6 x i32> @llvm.matrix.transpose.v6i32(<6 x i32> [[M]], i32 1, i32 6)
   // CHECK-NEXT:    [[F_ADDR:%.*]] = load %struct.Foo*, %struct.Foo** %F.addr, align 8
@@ -61,7 +61,7 @@ void transpose_struct_member(struct Foo *F) {
 }
 
 void transpose_transpose_struct_member(struct Foo *F) {
-  // CHECK-LABEL: define void @transpose_transpose_struct_member(
+  // CHECK-LABEL: define{{.*}} void @transpose_transpose_struct_member(
   // CHECK:         [[M:%.*]] = load <6 x i32>, <6 x i32>* {{.*}}, align 4
   // CHECK-NEXT:    [[M_T:%.*]] = call <6 x i32> @llvm.matrix.transpose.v6i32(<6 x i32> [[M]], i32 1, i32 6)
   // CHECK-NEXT:    [[M_T2:%.*]] = call <6 x i32> @llvm.matrix.transpose.v6i32(<6 x i32> [[M_T]], i32 6, i32 1)
@@ -76,7 +76,7 @@ void transpose_transpose_struct_member(struct Foo *F) {
 dx5x5_t get_matrix();
 
 void transpose_rvalue() {
-  // CHECK-LABEL: define void @transpose_rvalue()
+  // CHECK-LABEL: define{{.*}} void @transpose_rvalue()
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    [[M_T_ADDR:%.*]] = alloca [25 x double], align 8
   // CHECK-NEXT:    [[CALL:%.*]] = call <25 x double> (...) @get_matrix()
@@ -90,7 +90,7 @@ void transpose_rvalue() {
 const dx5x5_t global_matrix;
 
 void transpose_global() {
-  // CHECK-LABEL: define void @transpose_global()
+  // CHECK-LABEL: define{{.*}} void @transpose_global()
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    [[M_T_ADDR:%.*]] = alloca [25 x double], align 8
   // CHECK-NEXT:    [[GLOBAL_MATRIX:%.*]] = load <25 x double>, <25 x double>* bitcast ([25 x double]* @global_matrix to <25 x double>*), align 8
@@ -102,7 +102,7 @@ void transpose_global() {
 }
 
 void column_major_load_with_const_stride_double(double *Ptr) {
-  // CHECK-LABEL: define void @column_major_load_with_const_stride_double(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @column_major_load_with_const_stride_double(double* %Ptr)
   // CHECK:         [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call <25 x double> @llvm.matrix.column.major.load.v25f64(double* align 8 [[PTR]], i64 5, i1 false, i32 5, i32 5)
 
@@ -110,7 +110,7 @@ void column_major_load_with_const_stride_double(double *Ptr) {
 }
 
 void column_major_load_with_const_stride2_double(double *Ptr) {
-  // CHECK-LABEL: define void @column_major_load_with_const_stride2_double(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @column_major_load_with_const_stride2_double(double* %Ptr)
   // CHECK:         [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call <25 x double> @llvm.matrix.column.major.load.v25f64(double* align 8 [[PTR]], i64 15, i1 false, i32 5, i32 5)
 
@@ -118,7 +118,7 @@ void column_major_load_with_const_stride2_double(double *Ptr) {
 }
 
 void column_major_load_with_variable_stride_ull_float(float *Ptr, unsigned long long S) {
-  // CHECK-LABEL: define void @column_major_load_with_variable_stride_ull_float(float* %Ptr, i64 %S)
+  // CHECK-LABEL: define{{.*}} void @column_major_load_with_variable_stride_ull_float(float* %Ptr, i64 %S)
   // CHECK:         [[S:%.*]] = load i64, i64* %S.addr, align 8
   // CHECK-NEXT:    [[PTR:%.*]] = load float*, float** %Ptr.addr, align 8
   // CHECK-NEXT:    call <6 x float> @llvm.matrix.column.major.load.v6f32(float* align 4 [[PTR]], i64 [[S]], i1 false, i32 2, i32 3)
@@ -127,7 +127,7 @@ void column_major_load_with_variable_stride_ull_float(float *Ptr, unsigned long
 }
 
 void column_major_load_with_stride_math_int(int *Ptr, int S) {
-  // CHECK-LABEL: define void @column_major_load_with_stride_math_int(i32* %Ptr, i32 %S)
+  // CHECK-LABEL: define{{.*}} void @column_major_load_with_stride_math_int(i32* %Ptr, i32 %S)
   // CHECK:         [[S:%.*]] = load i32, i32* %S.addr, align 4
   // CHECK-NEXT:    [[STRIDE:%.*]] = add nsw i32 [[S]], 32
   // CHECK-NEXT:    [[STRIDE_EXT:%.*]] = sext i32 [[STRIDE]] to i64
@@ -138,7 +138,7 @@ void column_major_load_with_stride_math_int(int *Ptr, int S) {
 }
 
 void column_major_load_with_stride_math_s_int(int *Ptr, short S) {
-  // CHECK-LABEL:  define void @column_major_load_with_stride_math_s_int(i32* %Ptr, i16 signext %S)
+  // CHECK-LABEL:  define{{.*}} void @column_major_load_with_stride_math_s_int(i32* %Ptr, i16 signext %S)
   // CHECK:         [[S:%.*]] = load i16, i16* %S.addr, align 2
   // CHECK-NEXT:    [[S_EXT:%.*]] = sext i16 [[S]] to i32
   // CHECK-NEXT:    [[STRIDE:%.*]] = add nsw i32 [[S_EXT]], 32
@@ -150,7 +150,7 @@ void column_major_load_with_stride_math_s_int(int *Ptr, short S) {
 }
 
 void column_major_load_array1(double Ptr[25]) {
-  // CHECK-LABEL: define void @column_major_load_array1(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @column_major_load_array1(double* %Ptr)
   // CHECK:         [[ADDR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call <25 x double> @llvm.matrix.column.major.load.v25f64(double* align 8 [[ADDR]], i64 5, i1 false, i32 5, i32 5)
 
@@ -158,7 +158,7 @@ void column_major_load_array1(double Ptr[25]) {
 }
 
 void column_major_load_array2() {
-  // CHECK-LABEL: define void @column_major_load_array2() #0 {
+  // CHECK-LABEL: define{{.*}} void @column_major_load_array2() #0 {
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    [[PTR:%.*]] = alloca [25 x double], align 16
   // CHECK:         [[ARRAY_DEC:%.*]] = getelementptr inbounds [25 x double], [25 x double]* [[PTR]], i64 0, i64 0
@@ -169,7 +169,7 @@ void column_major_load_array2() {
 }
 
 void column_major_load_const(const double *Ptr) {
-  // CHECK-LABEL: define void @column_major_load_const(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @column_major_load_const(double* %Ptr)
   // CHECK:         [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call <25 x double> @llvm.matrix.column.major.load.v25f64(double* align 8 [[PTR]], i64 5, i1 false, i32 5, i32 5)
 
@@ -177,7 +177,7 @@ void column_major_load_const(const double *Ptr) {
 }
 
 void column_major_load_volatile(volatile double *Ptr) {
-  // CHECK-LABEL: define void @column_major_load_volatile(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @column_major_load_volatile(double* %Ptr)
   // CHECK:         [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call <25 x double> @llvm.matrix.column.major.load.v25f64(double* align 8 [[PTR]], i64 5, i1 true, i32 5, i32 5)
 
@@ -185,7 +185,7 @@ void column_major_load_volatile(volatile double *Ptr) {
 }
 
 void column_major_store_with_const_stride_double(double *Ptr) {
-  // CHECK-LABEL: define void @column_major_store_with_const_stride_double(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @column_major_store_with_const_stride_double(double* %Ptr)
   // CHECK:         [[M:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:    [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call void @llvm.matrix.column.major.store.v25f64(<25 x double> [[M]], double* align 8 [[PTR]], i64 5, i1 false, i32 5, i32 5)
@@ -195,7 +195,7 @@ void column_major_store_with_const_stride_double(double *Ptr) {
 }
 
 void column_major_store_with_const_stride2_double(double *Ptr) {
-  // CHECK-LABEL: define void @column_major_store_with_const_stride2_double(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @column_major_store_with_const_stride2_double(double* %Ptr)
   // CHECK:         [[M:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:    [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call void @llvm.matrix.column.major.store.v25f64(<25 x double> [[M]], double* align 8 [[PTR]], i64 15, i1 false, i32 5, i32 5)
@@ -205,7 +205,7 @@ void column_major_store_with_const_stride2_double(double *Ptr) {
 }
 
 void column_major_store_with_stride_math_int(int *Ptr, int S) {
-  // CHECK-LABEL: define void @column_major_store_with_stride_math_int(i32* %Ptr, i32 %S)
+  // CHECK-LABEL: define{{.*}} void @column_major_store_with_stride_math_int(i32* %Ptr, i32 %S)
   // CHECK:         [[M:%.*]] = load <80 x i32>, <80 x i32>* {{.*}}, align 4
   // CHECK-NEXT:    [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    [[S:%.*]] = load i32, i32* %S.addr, align 4
@@ -218,7 +218,7 @@ void column_major_store_with_stride_math_int(int *Ptr, int S) {
 }
 
 void column_major_store_with_stride_math_s_int(int *Ptr, short S) {
-  // CHECK-LABEL: define void @column_major_store_with_stride_math_s_int(i32* %Ptr, i16 signext %S)
+  // CHECK-LABEL: define{{.*}} void @column_major_store_with_stride_math_s_int(i32* %Ptr, i16 signext %S)
   // CHECK:         [[M:%.*]] = load <80 x i32>, <80 x i32>* {{.*}}, align 4
   // CHECK-NEXT:    [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    [[S:%.*]] = load i16, i16* %S.addr, align 2
@@ -232,7 +232,7 @@ void column_major_store_with_stride_math_s_int(int *Ptr, short S) {
 }
 
 void column_major_store_array1(double Ptr[25]) {
-  // CHECK-LABEL: define void @column_major_store_array1(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @column_major_store_array1(double* %Ptr)
   // CHECK:         [[M:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:    [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call void @llvm.matrix.column.major.store.v25f64(<25 x double> [[M]], double* align 8 [[PTR]], i64 5, i1 false, i32 5, i32 5)
@@ -242,7 +242,7 @@ void column_major_store_array1(double Ptr[25]) {
 }
 
 void column_major_store_array2() {
-  // CHECK-LABEL: define void @column_major_store_array2()
+  // CHECK-LABEL: define{{.*}} void @column_major_store_array2()
   // CHECK:         [[M:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:    [[PTR:%.*]] = getelementptr inbounds [25 x double], [25 x double]* %Ptr, i64 0, i64 0
   // CHECK-NEXT:    call void @llvm.matrix.column.major.store.v25f64(<25 x double> [[M]], double* align 16 [[PTR]], i64 5, i1 false, i32 5, i32 5)
@@ -253,7 +253,7 @@ void column_major_store_array2() {
 }
 
 void column_major_store_volatile(volatile double *Ptr) {
-  // CHECK-LABEL: define void @column_major_store_volatile(double* %Ptr) #0 {
+  // CHECK-LABEL: define{{.*}} void @column_major_store_volatile(double* %Ptr) #0 {
   // CHECK:         [[M:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:    [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call void @llvm.matrix.column.major.store.v25f64(<25 x double> [[M]], double* align 8 [[PTR]], i64 5, i1 true, i32 5, i32 5)

diff  --git a/clang/test/CodeGen/matrix-type-operators.c b/clang/test/CodeGen/matrix-type-operators.c
index 9a9cb67f6ec5..8b234b1e761d 100644
--- a/clang/test/CodeGen/matrix-type-operators.c
+++ b/clang/test/CodeGen/matrix-type-operators.c
@@ -8,7 +8,7 @@ typedef unsigned long long ullx4x2_t __attribute__((matrix_type(4, 2)));
 // Floating point matrix/scalar additions.
 
 void add_matrix_matrix_double(dx5x5_t a, dx5x5_t b, dx5x5_t c) {
-  // CHECK-LABEL: define void @add_matrix_matrix_double(<25 x double> %a, <25 x double> %b, <25 x double> %c)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_matrix_double(<25 x double> %a, <25 x double> %b, <25 x double> %c)
   // CHECK:       [[B:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:  [[C:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:  [[RES:%.*]] = fadd <25 x double> [[B]], [[C]]
@@ -18,7 +18,7 @@ void add_matrix_matrix_double(dx5x5_t a, dx5x5_t b, dx5x5_t c) {
 }
 
 void add_matrix_matrix_float(fx2x3_t a, fx2x3_t b, fx2x3_t c) {
-  // CHECK-LABEL: define void @add_matrix_matrix_float(<6 x float> %a, <6 x float> %b, <6 x float> %c)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_matrix_float(<6 x float> %a, <6 x float> %b, <6 x float> %c)
   // CHECK:       [[B:%.*]] = load <6 x float>, <6 x float>* {{.*}}, align 4
   // CHECK-NEXT:  [[C:%.*]] = load <6 x float>, <6 x float>* {{.*}}, align 4
   // CHECK-NEXT:  [[RES:%.*]] = fadd <6 x float> [[B]], [[C]]
@@ -28,7 +28,7 @@ void add_matrix_matrix_float(fx2x3_t a, fx2x3_t b, fx2x3_t c) {
 }
 
 void add_matrix_scalar_double_float(dx5x5_t a, float vf) {
-  // CHECK-LABEL: define void @add_matrix_scalar_double_float(<25 x double> %a, float %vf)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_double_float(<25 x double> %a, float %vf)
   // CHECK:       [[MATRIX:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:  [[SCALAR:%.*]] = load float, float* %vf.addr, align 4
   // CHECK-NEXT:  [[SCALAR_EXT:%.*]] = fpext float [[SCALAR]] to double
@@ -41,7 +41,7 @@ void add_matrix_scalar_double_float(dx5x5_t a, float vf) {
 }
 
 void add_matrix_scalar_double_double(dx5x5_t a, double vd) {
-  // CHECK-LABEL: define void @add_matrix_scalar_double_double(<25 x double> %a, double %vd)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_double_double(<25 x double> %a, double %vd)
   // CHECK:       [[MATRIX:%.*]] = load <25 x double>, <25 x double>* {{.*}}, align 8
   // CHECK-NEXT:  [[SCALAR:%.*]] = load double, double* %vd.addr, align 8
   // CHECK-NEXT:  [[SCALAR_EMBED:%.*]] = insertelement <25 x double> poison, double [[SCALAR]], i32 0
@@ -53,7 +53,7 @@ void add_matrix_scalar_double_double(dx5x5_t a, double vd) {
 }
 
 void add_matrix_scalar_float_float(fx2x3_t b, float vf) {
-  // CHECK-LABEL: define void @add_matrix_scalar_float_float(<6 x float> %b, float %vf)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_float_float(<6 x float> %b, float %vf)
   // CHECK:       [[MATRIX:%.*]] = load <6 x float>, <6 x float>* {{.*}}, align 4
   // CHECK-NEXT:  [[SCALAR:%.*]] = load float, float* %vf.addr, align 4
   // CHECK-NEXT:  [[SCALAR_EMBED:%.*]] = insertelement <6 x float> poison, float [[SCALAR]], i32 0
@@ -65,7 +65,7 @@ void add_matrix_scalar_float_float(fx2x3_t b, float vf) {
 }
 
 void add_matrix_scalar_float_double(fx2x3_t b, double vd) {
-  // CHECK-LABEL: define void @add_matrix_scalar_float_double(<6 x float> %b, double %vd)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_float_double(<6 x float> %b, double %vd)
   // CHECK:       [[MATRIX:%.*]] = load <6 x float>, <6 x float>* {{.*}}, align 4
   // CHECK-NEXT:  [[SCALAR:%.*]] = load double, double* %vd.addr, align 8
   // CHECK-NEXT:  [[SCALAR_TRUNC:%.*]] = fptrunc double [[SCALAR]] to float
@@ -80,7 +80,7 @@ void add_matrix_scalar_float_double(fx2x3_t b, double vd) {
 // Integer matrix/scalar additions
 
 void add_matrix_matrix_int(ix9x3_t a, ix9x3_t b, ix9x3_t c) {
-  // CHECK-LABEL: define void @add_matrix_matrix_int(<27 x i32> %a, <27 x i32> %b, <27 x i32> %c)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_matrix_int(<27 x i32> %a, <27 x i32> %b, <27 x i32> %c)
   // CHECK:       [[B:%.*]] = load <27 x i32>, <27 x i32>* {{.*}}, align 4
   // CHECK-NEXT:  [[C:%.*]] = load <27 x i32>, <27 x i32>* {{.*}}, align 4
   // CHECK-NEXT:  [[RES:%.*]] = add <27 x i32> [[B]], [[C]]
@@ -89,7 +89,7 @@ void add_matrix_matrix_int(ix9x3_t a, ix9x3_t b, ix9x3_t c) {
 }
 
 void add_matrix_matrix_unsigned_long_long(ullx4x2_t a, ullx4x2_t b, ullx4x2_t c) {
-  // CHECK-LABEL: define void @add_matrix_matrix_unsigned_long_long(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_matrix_unsigned_long_long(<8 x i64> %a, <8 x i64> %b, <8 x i64> %c)
   // CHECK:       [[B:%.*]] = load <8 x i64>, <8 x i64>* {{.*}}, align 8
   // CHECK-NEXT:  [[C:%.*]] = load <8 x i64>, <8 x i64>* {{.*}}, align 8
   // CHECK-NEXT:  [[RES:%.*]] = add <8 x i64> [[B]], [[C]]
@@ -99,7 +99,7 @@ void add_matrix_matrix_unsigned_long_long(ullx4x2_t a, ullx4x2_t b, ullx4x2_t c)
 }
 
 void add_matrix_scalar_int_short(ix9x3_t a, short vs) {
-  // CHECK-LABEL: define void @add_matrix_scalar_int_short(<27 x i32> %a, i16 signext %vs)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_int_short(<27 x i32> %a, i16 signext %vs)
   // CHECK:        [[MATRIX:%.*]] = load <27 x i32>, <27 x i32>* [[MAT_ADDR:%.*]], align 4
   // CHECK-NEXT:   [[SCALAR:%.*]] = load i16, i16* %vs.addr, align 2
   // CHECK-NEXT:   [[SCALAR_EXT:%.*]] = sext i16 [[SCALAR]] to i32
@@ -112,7 +112,7 @@ void add_matrix_scalar_int_short(ix9x3_t a, short vs) {
 }
 
 void add_matrix_scalar_int_long_int(ix9x3_t a, long int vli) {
-  // CHECK-LABEL: define void @add_matrix_scalar_int_long_int(<27 x i32> %a, i64 %vli)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_int_long_int(<27 x i32> %a, i64 %vli)
   // CHECK:        [[MATRIX:%.*]] = load <27 x i32>, <27 x i32>* [[MAT_ADDR:%.*]], align 4
   // CHECK-NEXT:   [[SCALAR:%.*]] = load i64, i64* %vli.addr, align 8
   // CHECK-NEXT:   [[SCALAR_TRUNC:%.*]] = trunc i64 [[SCALAR]] to i32
@@ -125,7 +125,7 @@ void add_matrix_scalar_int_long_int(ix9x3_t a, long int vli) {
 }
 
 void add_matrix_scalar_int_unsigned_long_long(ix9x3_t a, unsigned long long int vulli) {
-  // CHECK-LABEL: define void @add_matrix_scalar_int_unsigned_long_long(<27 x i32> %a, i64 %vulli)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_int_unsigned_long_long(<27 x i32> %a, i64 %vulli)
   // CHECK:        [[MATRIX:%.*]] = load <27 x i32>, <27 x i32>* [[MAT_ADDR:%.*]], align 4
   // CHECK-NEXT:   [[SCALAR:%.*]] = load i64, i64* %vulli.addr, align 8
   // CHECK-NEXT:   [[SCALAR_TRUNC:%.*]] = trunc i64 [[SCALAR]] to i32
@@ -138,7 +138,7 @@ void add_matrix_scalar_int_unsigned_long_long(ix9x3_t a, unsigned long long int
 }
 
 void add_matrix_scalar_long_long_int_short(ullx4x2_t b, short vs) {
-  // CHECK-LABEL: define void @add_matrix_scalar_long_long_int_short(<8 x i64> %b, i16 signext %vs)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_long_long_int_short(<8 x i64> %b, i16 signext %vs)
   // CHECK:         [[SCALAR:%.*]] = load i16, i16* %vs.addr, align 2
   // CHECK-NEXT:    [[SCALAR_EXT:%.*]] = sext i16 [[SCALAR]] to i64
   // CHECK-NEXT:    [[MATRIX:%.*]] = load <8 x i64>, <8 x i64>* {{.*}}, align 8
@@ -151,7 +151,7 @@ void add_matrix_scalar_long_long_int_short(ullx4x2_t b, short vs) {
 }
 
 void add_matrix_scalar_long_long_int_int(ullx4x2_t b, long int vli) {
-  // CHECK-LABEL: define void @add_matrix_scalar_long_long_int_int(<8 x i64> %b, i64 %vli)
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_long_long_int_int(<8 x i64> %b, i64 %vli)
   // CHECK:         [[SCALAR:%.*]] = load i64, i64* %vli.addr, align 8
   // CHECK-NEXT:    [[MATRIX:%.*]] = load <8 x i64>, <8 x i64>* {{.*}}, align 8
   // CHECK-NEXT:    [[SCALAR_EMBED:%.*]] = insertelement <8 x i64> poison, i64 [[SCALAR]], i32 0
@@ -163,7 +163,7 @@ void add_matrix_scalar_long_long_int_int(ullx4x2_t b, long int vli) {
 }
 
 void add_matrix_scalar_long_long_int_unsigned_long_long(ullx4x2_t b, unsigned long long int vulli) {
-  // CHECK-LABEL: define void @add_matrix_scalar_long_long_int_unsigned_long_long
+  // CHECK-LABEL: define{{.*}} void @add_matrix_scalar_long_long_int_unsigned_long_long
   // CHECK:        [[SCALAR:%.*]] = load i64, i64* %vulli.addr, align 8
   // CHECK-NEXT:   [[MATRIX:%.*]] = load <8 x i64>, <8 x i64>* %0, align 8
   // CHECK-NEXT:   [[SCALAR_EMBED:%.*]] = insertelement <8 x i64> poison, i64 [[SCALAR]], i32 0
@@ -519,7 +519,7 @@ void insert_extract(dx5x5_t a, fx3x3_t b, unsigned long j, short k) {
 }
 
 void insert_compound_stmt(dx5x5_t a) {
-  // CHECK-LABEL: define void @insert_compound_stmt(<25 x double> %a)
+  // CHECK-LABEL: define{{.*}} void @insert_compound_stmt(<25 x double> %a)
   // CHECK:        [[A:%.*]] = load <25 x double>, <25 x double>* [[A_PTR:%.*]], align 8
   // CHECK-NEXT:   [[EXT:%.*]] = extractelement <25 x double> [[A]], i64 17
   // CHECK-NEXT:   [[SUB:%.*]] = fsub double [[EXT]], 1.000000e+00
@@ -536,7 +536,7 @@ struct Foo {
 };
 
 void insert_compound_stmt_field(struct Foo *a, float f, unsigned i, unsigned j) {
-  // CHECK-LABEL: define void @insert_compound_stmt_field(%struct.Foo* %a, float %f, i32 %i, i32 %j)
+  // CHECK-LABEL: define{{.*}} void @insert_compound_stmt_field(%struct.Foo* %a, float %f, i32 %i, i32 %j)
   // CHECK:         [[I:%.*]] = load i32, i32* %i.addr, align 4
   // CHECK-NEXT:    [[I_EXT:%.*]] = zext i32 [[I]] to i64
   // CHECK-NEXT:    [[J:%.*]] = load i32, i32* %j.addr, align 4
@@ -556,7 +556,7 @@ void insert_compound_stmt_field(struct Foo *a, float f, unsigned i, unsigned j)
 }
 
 void matrix_as_idx(ix9x3_t a, int i, int j, dx5x5_t b) {
-  // CHECK-LABEL: define void @matrix_as_idx(<27 x i32> %a, i32 %i, i32 %j, <25 x double> %b)
+  // CHECK-LABEL: define{{.*}} void @matrix_as_idx(<27 x i32> %a, i32 %i, i32 %j, <25 x double> %b)
   // CHECK:       [[I1:%.*]] = load i32, i32* %i.addr, align 4
   // CHECK-NEXT:  [[I1_EXT:%.*]] = sext i32 [[I1]] to i64
   // CHECK-NEXT:  [[J1:%.*]] = load i32, i32* %j.addr, align 4

diff  --git a/clang/test/CodeGen/matrix-type.c b/clang/test/CodeGen/matrix-type.c
index ab239a247b1d..414401af861b 100644
--- a/clang/test/CodeGen/matrix-type.c
+++ b/clang/test/CodeGen/matrix-type.c
@@ -9,7 +9,7 @@ typedef double dx5x5_t __attribute__((matrix_type(5, 5)));
 // CHECK: %struct.Matrix = type { i8, [12 x float], float }
 
 void load_store_double(dx5x5_t *a, dx5x5_t *b) {
-  // CHECK-LABEL:  define void @load_store_double(
+  // CHECK-LABEL:  define{{.*}} void @load_store_double(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [25 x double]*, align 8
   // CHECK-NEXT:    %b.addr = alloca [25 x double]*, align 8
@@ -28,7 +28,7 @@ void load_store_double(dx5x5_t *a, dx5x5_t *b) {
 
 typedef float fx3x4_t __attribute__((matrix_type(3, 4)));
 void load_store_float(fx3x4_t *a, fx3x4_t *b) {
-  // CHECK-LABEL:  define void @load_store_float(
+  // CHECK-LABEL:  define{{.*}} void @load_store_float(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [12 x float]*, align 8
   // CHECK-NEXT:    %b.addr = alloca [12 x float]*, align 8
@@ -47,7 +47,7 @@ void load_store_float(fx3x4_t *a, fx3x4_t *b) {
 
 typedef int ix3x4_t __attribute__((matrix_type(4, 3)));
 void load_store_int(ix3x4_t *a, ix3x4_t *b) {
-  // CHECK-LABEL:  define void @load_store_int(
+  // CHECK-LABEL:  define{{.*}} void @load_store_int(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [12 x i32]*, align 8
   // CHECK-NEXT:    %b.addr = alloca [12 x i32]*, align 8
@@ -66,7 +66,7 @@ void load_store_int(ix3x4_t *a, ix3x4_t *b) {
 
 typedef unsigned long long ullx3x4_t __attribute__((matrix_type(4, 3)));
 void load_store_ull(ullx3x4_t *a, ullx3x4_t *b) {
-  // CHECK-LABEL:  define void @load_store_ull(
+  // CHECK-LABEL:  define{{.*}} void @load_store_ull(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [12 x i64]*, align 8
   // CHECK-NEXT:    %b.addr = alloca [12 x i64]*, align 8
@@ -85,7 +85,7 @@ void load_store_ull(ullx3x4_t *a, ullx3x4_t *b) {
 
 typedef __fp16 fp16x3x4_t __attribute__((matrix_type(4, 3)));
 void load_store_fp16(fp16x3x4_t *a, fp16x3x4_t *b) {
-  // CHECK-LABEL:  define void @load_store_fp16(
+  // CHECK-LABEL:  define{{.*}} void @load_store_fp16(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [12 x half]*, align 8
   // CHECK-NEXT:    %b.addr = alloca [12 x half]*, align 8
@@ -105,7 +105,7 @@ void load_store_fp16(fp16x3x4_t *a, fp16x3x4_t *b) {
 typedef float fx3x3_t __attribute__((matrix_type(3, 3)));
 
 void parameter_passing(fx3x3_t a, fx3x3_t *b) {
-  // CHECK-LABEL: define void @parameter_passing(
+  // CHECK-LABEL: define{{.*}} void @parameter_passing(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [9 x float], align 4
   // CHECK-NEXT:    %b.addr = alloca [9 x float]*, align 8
@@ -121,7 +121,7 @@ void parameter_passing(fx3x3_t a, fx3x3_t *b) {
 }
 
 fx3x3_t return_matrix(fx3x3_t *a) {
-  // CHECK-LABEL: define <9 x float> @return_matrix
+  // CHECK-LABEL: define{{.*}} <9 x float> @return_matrix
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [9 x float]*, align 8
   // CHECK-NEXT:    store [9 x float]* %a, [9 x float]** %a.addr, align 8
@@ -139,7 +139,7 @@ typedef struct {
 } Matrix;
 
 void matrix_struct(Matrix *a, Matrix *b) {
-  // CHECK-LABEL: define void @matrix_struct(
+  // CHECK-LABEL: define{{.*}} void @matrix_struct(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca %struct.Matrix*, align 8
   // CHECK-NEXT:    %b.addr = alloca %struct.Matrix*, align 8
@@ -159,7 +159,7 @@ void matrix_struct(Matrix *a, Matrix *b) {
 
 typedef double dx4x4_t __attribute__((matrix_type(4, 4)));
 void matrix_inline_asm_memory_readwrite() {
-  // CHECK-LABEL: define void @matrix_inline_asm_memory_readwrite()
+  // CHECK-LABEL: define{{.*}} void @matrix_inline_asm_memory_readwrite()
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    [[ALLOCA:%.+]] = alloca [16 x double], align 8
   // CHECK-NEXT:    [[PTR1:%.+]] = bitcast [16 x double]* [[ALLOCA]] to <16 x double>*

diff  --git a/clang/test/CodeGen/mms-bitfields.c b/clang/test/CodeGen/mms-bitfields.c
index d4604fbaa44e..49c5c1c3e7d4 100644
--- a/clang/test/CodeGen/mms-bitfields.c
+++ b/clang/test/CodeGen/mms-bitfields.c
@@ -61,5 +61,5 @@ union HEADER {
 struct Inner variable = { 1,0,1, 21 };
 union HEADER hdr = {{1,2,3,4}};
 
-// CHECK: @variable = global { i8, [3 x i8], i8, i8, i8, i8 } { i8 5, [3 x i8] undef, i8 21, i8 0, i8 0, i8 0 }, align 1
-// CHECK: @hdr = global { { i8, i8, [2 x i8], i8, i8, i8, i8, i8, [3 x i8] } } { { i8, i8, [2 x i8], i8, i8, i8, i8, i8, [3 x i8] } { i8 8, i8 0, [2 x i8] undef, i8 2, i8 0, i8 0, i8 3, i8 4, [3 x i8] undef } }, align 1
+// CHECK: @variable ={{.*}} global { i8, [3 x i8], i8, i8, i8, i8 } { i8 5, [3 x i8] undef, i8 21, i8 0, i8 0, i8 0 }, align 1
+// CHECK: @hdr ={{.*}} global { { i8, i8, [2 x i8], i8, i8, i8, i8, i8, [3 x i8] } } { { i8, i8, [2 x i8], i8, i8, i8, i8, i8, [3 x i8] } { i8 8, i8 0, [2 x i8] undef, i8 2, i8 0, i8 0, i8 3, i8 4, [3 x i8] undef } }, align 1

diff  --git a/clang/test/CodeGen/ms-inline-asm-align.c b/clang/test/CodeGen/ms-inline-asm-align.c
index 4786b2fe6e6c..2eed0aee3ee0 100644
--- a/clang/test/CodeGen/ms-inline-asm-align.c
+++ b/clang/test/CodeGen/ms-inline-asm-align.c
@@ -13,7 +13,7 @@ void align_test() {
   __asm ALIGN 256;
 }
 
-// DARWIN-LABEL: define void @align_test()
+// DARWIN-LABEL: define{{.*}} void @align_test()
 // DARWIN: call void asm sideeffect inteldialect
 // DARWIN-SAME: .align 3
 // DARWIN-SAME: .align 4

diff  --git a/clang/test/CodeGen/ms-inline-asm.c b/clang/test/CodeGen/ms-inline-asm.c
index 17526f522311..1ec5877b086a 100644
--- a/clang/test/CodeGen/ms-inline-asm.c
+++ b/clang/test/CodeGen/ms-inline-asm.c
@@ -148,7 +148,7 @@ void t13() {
   short j = 2;
   __asm movzx eax, i
   __asm movzx eax, j
-// CHECK-LABEL: define void @t13()
+// CHECK-LABEL: define{{.*}} void @t13()
 // CHECK: call void asm sideeffect inteldialect
 // CHECK-SAME: movzx eax, byte ptr $0
 // CHECK-SAME: movzx eax, word ptr $1
@@ -160,7 +160,7 @@ void t13_brac() {
   short j = 2;
   __asm movzx eax, [i]
   __asm movzx eax, [j]
-// CHECK-LABEL: define void @t13_brac()
+// CHECK-LABEL: define{{.*}} void @t13_brac()
 // CHECK: call void asm sideeffect inteldialect
 // CHECK-SAME: movzx eax, byte ptr $0
 // CHECK-SAME: movzx eax, word ptr $1
@@ -526,7 +526,7 @@ void t38() {
 
 void cpuid() {
   __asm cpuid
-// CHECK-LABEL: define void @cpuid
+// CHECK-LABEL: define{{.*}} void @cpuid
 // CHECK: call void asm sideeffect inteldialect "cpuid", "~{eax},~{ebx},~{ecx},~{edx},~{dirflag},~{fpsr},~{flags}"()
 }
 
@@ -548,7 +548,7 @@ typedef struct {
 } C, *pC;
 
 void t39() {
-// CHECK-LABEL: define void @t39
+// CHECK-LABEL: define{{.*}} void @t39
   __asm mov eax, [eax].A.b
 // CHECK: mov eax, [eax + $$4]
   __asm mov eax, [eax] A.b
@@ -571,7 +571,7 @@ void t39() {
 }
 
 void t40(float a) {
-// CHECK-LABEL: define void @t40
+// CHECK-LABEL: define{{.*}} void @t40
   int i;
   __asm fld a
 // CHECK: fld dword ptr $1
@@ -581,7 +581,7 @@ void t40(float a) {
 }
 
 void t41(unsigned short a) {
-// CHECK-LABEL: define void @t41(i16 zeroext %a)
+// CHECK-LABEL: define{{.*}} void @t41(i16 zeroext %a)
   __asm mov cs, a;
 // CHECK: mov cs, $0
   __asm mov ds, a;
@@ -598,7 +598,7 @@ void t41(unsigned short a) {
 }
 
 void t42() {
-// CHECK-LABEL: define void @t42(
+// CHECK-LABEL: define{{.*}} void @t42(
   int flags;
   __asm mov flags, eax
 // CHECK: mov $0, eax
@@ -606,7 +606,7 @@ void t42() {
 }
 
 void t42b() {
-// CHECK-LABEL: define void @t42b(
+// CHECK-LABEL: define{{.*}} void @t42b(
   int mxcsr;
   __asm mov mxcsr, eax
 // CHECK: mov $0, eax
@@ -614,7 +614,7 @@ void t42b() {
 }
 
 void t43() {
-// CHECK-LABEL: define void @t43
+// CHECK-LABEL: define{{.*}} void @t43
   C strct;
 // Work around PR20368: These should be single line blocks
  __asm { mov eax, 4[strct.c1] }
@@ -646,7 +646,7 @@ void t43() {
 }
 
 void t44() {
-  // CHECK-LABEL: define void @t44
+  // CHECK-LABEL: define{{.*}} void @t44
   __asm {
     mov cr0, eax
     mov cr2, ebx
@@ -657,7 +657,7 @@ void t44() {
 }
 
 void t45() {
-  // CHECK-LABEL: define void @t45
+  // CHECK-LABEL: define{{.*}} void @t45
   __asm {
     mov dr0, eax
     mov dr1, ebx
@@ -670,13 +670,13 @@ void t45() {
 }
 
 void t46() {
-  // CHECK-LABEL: define void @t46
+  // CHECK-LABEL: define{{.*}} void @t46
   __asm add eax, -128[eax]
   // CHECK: call void asm sideeffect inteldialect "add eax, [eax + $$-128]", "~{eax},~{flags},~{dirflag},~{fpsr},~{flags}"()
 }
 
 void t47() {
-  // CHECK-LABEL: define void @t47
+  // CHECK-LABEL: define{{.*}} void @t47
   __asm {
     bndmk bnd0, dword ptr [eax]
     bndmk bnd1, dword ptr [ebx]
@@ -687,21 +687,21 @@ void t47() {
 }
 
 void dot_operator(){
-  // CHECK-LABEL: define void @dot_operator
+  // CHECK-LABEL: define{{.*}} void @dot_operator
 	__asm { mov eax, 3[ebx]A.b}
   // CHECK: call void asm sideeffect inteldialect "mov eax, [ebx + $$7]", "~{eax},~{dirflag},~{fpsr},~{flags}"
 }
 
 void call_clobber() {
   __asm call t41
-  // CHECK-LABEL: define void @call_clobber
+  // CHECK-LABEL: define{{.*}} void @call_clobber
   // CHECK: call void asm sideeffect inteldialect "call dword ptr ${0:P}", "*m,~{dirflag},~{fpsr},~{flags}"(void (i16)* @t41)
 }
 
 void xgetbv() {
   __asm xgetbv
 }
-// CHECK-LABEL: define void @xgetbv()
+// CHECK-LABEL: define{{.*}} void @xgetbv()
 // CHECK: call void asm sideeffect inteldialect "xgetbv", "~{eax},~{edx},~{dirflag},~{fpsr},~{flags}"()
 
 void label1() {
@@ -709,7 +709,7 @@ void label1() {
     label:
     jmp label
   }
-  // CHECK-LABEL: define void @label1()
+  // CHECK-LABEL: define{{.*}} void @label1()
   // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09jmp {{.*}}__MSASMLABEL_.${:uid}__label", "~{dirflag},~{fpsr},~{flags}"() [[ATTR1:#[0-9]+]]
 }
 
@@ -718,7 +718,7 @@ void label2() {
     jmp label
     label:
   }
-  // CHECK-LABEL: define void @label2
+  // CHECK-LABEL: define{{.*}} void @label2
   // CHECK: call void asm sideeffect inteldialect "jmp {{.*}}__MSASMLABEL_.${:uid}__label\0A\09{{.*}}__MSASMLABEL_.${:uid}__label:", "~{dirflag},~{fpsr},~{flags}"()
 }
 
@@ -727,7 +727,7 @@ void label3() {
     label:
     mov eax, label
   }
-  // CHECK-LABEL: define void @label3
+  // CHECK-LABEL: define{{.*}} void @label3
   // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09mov eax, {{.*}}__MSASMLABEL_.${:uid}__label", "~{eax},~{dirflag},~{fpsr},~{flags}"()
 }
 
@@ -736,7 +736,7 @@ void label4() {
     label:
     mov eax, [label]
   }
-  // CHECK-LABEL: define void @label4
+  // CHECK-LABEL: define{{.*}} void @label4
   // CHECK: call void asm sideeffect inteldialect "{{.*}}__MSASMLABEL_.${:uid}__label:\0A\09mov eax, {{.*}}__MSASMLABEL_.${:uid}__label", "~{eax},~{dirflag},~{fpsr},~{flags}"()
 }
 
@@ -745,7 +745,7 @@ void label5() {
     jmp dollar_label$
     dollar_label$:
   }
-  // CHECK-LABEL: define void @label5
+  // CHECK-LABEL: define{{.*}} void @label5
   // CHECK: call void asm sideeffect inteldialect "jmp {{.*}}__MSASMLABEL_.${:uid}__dollar_label$$\0A\09{{.*}}__MSASMLABEL_.${:uid}__dollar_label$$:", "~{dirflag},~{fpsr},~{flags}"()
 }
 
@@ -756,7 +756,7 @@ void label6(){
       jz  short label
     label:
   }
-  // CHECK-LABEL: define void @label6
+  // CHECK-LABEL: define{{.*}} void @label6
   // CHECK: jmp {{.*}}__MSASMLABEL_.${:uid}__label\0A\09jc {{.*}}__MSASMLABEL_.${:uid}__label\0A\09jz {{.*}}__MSASMLABEL_.${:uid}__label\0A\09{{.*}}__MSASMLABEL_.${:uid}__label:"
 }
 
@@ -765,14 +765,14 @@ void mxcsr() {
   char buf[4096];
   __asm fxrstor buf
 }
-// CHECK-LABEL: define void @mxcsr
+// CHECK-LABEL: define{{.*}} void @mxcsr
 // CHECK: call void asm sideeffect inteldialect "fxrstor $0", "=*m,~{fpcr},~{dirflag},~{fpsr},~{flags}"
 
 // Make sure we can find the register for the dirflag for popfd
 void dirflag() {
   __asm popfd
 }
-// CHECK-LABEL: define void @dirflag
+// CHECK-LABEL: define{{.*}} void @dirflag
 // CHECK: call void asm sideeffect inteldialect "popfd", "~{dirflag},~{flags},~{esp},~{dirflag},~{fpsr},~{flags}"
 
 typedef union _LARGE_INTEGER {
@@ -790,7 +790,7 @@ typedef union _LARGE_INTEGER {
 int test_indirect_field(LARGE_INTEGER LargeInteger) {
     __asm mov     eax, LargeInteger.LowPart
 }
-// CHECK-LABEL: define i32 @test_indirect_field(
+// CHECK-LABEL: define{{.*}} i32 @test_indirect_field(
 // CHECK: call i32 asm sideeffect inteldialect "mov eax, $1",
 
 // MS ASM containing labels must not be duplicated (PR23715).

diff  --git a/clang/test/CodeGen/ms-inline-asm.cpp b/clang/test/CodeGen/ms-inline-asm.cpp
index 463ff0f6e349..16d9d0f89794 100644
--- a/clang/test/CodeGen/ms-inline-asm.cpp
+++ b/clang/test/CodeGen/ms-inline-asm.cpp
@@ -14,7 +14,7 @@ struct Foo {
 };
 
 void t1() {
-// CHECK-LABEL: define void @_Z2t1v()
+// CHECK-LABEL: define{{.*}} void @_Z2t1v()
   Foo::ptr = (int *)0xDEADBEEF;
   Foo::Bar::ptr = (int *)0xDEADBEEF;
 // CHECK: call void asm sideeffect inteldialect
@@ -36,14 +36,14 @@ void t2() {
   int lvar = 10;
   __asm mov eax, offset Foo::ptr
   __asm mov eax, offset Foo::Bar::ptr
-// CHECK-LABEL: define void @_Z2t2v()
+// CHECK-LABEL: define{{.*}} void @_Z2t2v()
 // CHECK: call void asm sideeffect inteldialect
 // CHECK-SAME: mov eax, $0
 // CHECK-SAME: mov eax, $1
 // CHECK-SAME: "i,i,~{eax},~{dirflag},~{fpsr},~{flags}"(i32** @_ZN3Foo3ptrE, i32** @_ZN3Foo3Bar3ptrE)
 }
 
-// CHECK-LABEL: define void @_Z2t3v()
+// CHECK-LABEL: define{{.*}} void @_Z2t3v()
 void t3() {
   __asm mov eax, LENGTH Foo::ptr
   __asm mov eax, LENGTH Foo::Bar::ptr
@@ -82,7 +82,7 @@ struct T4 {
   void test();
 };
 
-// CHECK-LABEL: define void @_ZN2T44testEv(
+// CHECK-LABEL: define{{.*}} void @_ZN2T44testEv(
 void T4::test() {
 // CHECK: [[T0:%.*]] = alloca [[T4:%.*]]*,
 // CHECK: [[THIS:%.*]] = load [[T4]]*, [[T4]]** [[T0]]
@@ -99,7 +99,7 @@ template <class T> struct T5 {
   template <class U> static T create(U);
   void run();
 };
-// CHECK-LABEL: define void @_Z5test5v()
+// CHECK-LABEL: define{{.*}} void @_Z5test5v()
 void test5() {
   // CHECK: [[X:%.*]] = alloca i32
   // CHECK: [[Y:%.*]] = alloca i32
@@ -128,7 +128,7 @@ void t7_struct() {
     int b;
   };
   __asm mov eax, [eax].A.b
-  // CHECK-LABEL: define void @_Z9t7_structv
+  // CHECK-LABEL: define{{.*}} void @_Z9t7_structv
   // CHECK: call void asm sideeffect inteldialect
   // CHECK-SAME: mov eax, [eax + $$4]
   // CHECK-SAME: "~{eax},~{dirflag},~{fpsr},~{flags}"()
@@ -140,7 +140,7 @@ void t7_typedef() {
     int b;
   } A;
   __asm mov eax, [eax].A.b
-  // CHECK-LABEL: define void @_Z10t7_typedefv
+  // CHECK-LABEL: define{{.*}} void @_Z10t7_typedefv
   // CHECK: call void asm sideeffect inteldialect
   // CHECK-SAME: mov eax, [eax + $$4]
   // CHECK-SAME: "~{eax},~{dirflag},~{fpsr},~{flags}"()
@@ -152,7 +152,7 @@ void t7_using() {
     int b;
   };
   __asm mov eax, [eax].A.b
-  // CHECK-LABEL: define void @_Z8t7_usingv
+  // CHECK-LABEL: define{{.*}} void @_Z8t7_usingv
   // CHECK: call void asm sideeffect inteldialect
   // CHECK-SAME: mov eax, [eax + $$4]
   // CHECK-SAME: "~{eax},~{dirflag},~{fpsr},~{flags}"()
@@ -160,7 +160,7 @@ void t7_using() {
 
 void t8() {
   __asm some_label:
-  // CHECK-LABEL: define void @_Z2t8v()
+  // CHECK-LABEL: define{{.*}} void @_Z2t8v()
   // CHECK: call void asm sideeffect inteldialect
   // CHECK-SAME: L__MSASMLABEL_.${:uid}__some_label:
   // CHECK-SAME: "~{dirflag},~{fpsr},~{flags}"()
@@ -181,7 +181,7 @@ void t8() {
 }
 
 void t9() {
-  // CHECK-LABEL: define void @_Z2t9v()
+  // CHECK-LABEL: define{{.*}} void @_Z2t9v()
   struct A {
     int a;
     int b;

diff  --git a/clang/test/CodeGen/ms_struct-bitfield.c b/clang/test/CodeGen/ms_struct-bitfield.c
index 08f2a5b60a54..ac854ff91667 100644
--- a/clang/test/CodeGen/ms_struct-bitfield.c
+++ b/clang/test/CodeGen/ms_struct-bitfield.c
@@ -15,8 +15,8 @@ struct
    char bar;
 } ATTR t1;
 int s1 = sizeof(t1);
-// CHECK: @s1 = global i32 2
-// CHECK-ARM: @s1 = global i32 2
+// CHECK: @s1 ={{.*}} global i32 2
+// CHECK-ARM: @s1 ={{.*}} global i32 2
 
 struct
 {
@@ -27,8 +27,8 @@ struct
    char bar;
 } ATTR t2;
 int s2 = sizeof(t2);
-// CHECK: @s2 = global i32 2
-// CHECK-ARM: @s2 = global i32 2
+// CHECK: @s2 ={{.*}} global i32 2
+// CHECK-ARM: @s2 ={{.*}} global i32 2
 
 struct
 {
@@ -41,8 +41,8 @@ struct
    char : 0;
 } ATTR t3;
 int s3 = sizeof(t3);
-// CHECK: @s3 = global i32 2
-// CHECK-ARM: @s3 = global i32 2
+// CHECK: @s3 ={{.*}} global i32 2
+// CHECK-ARM: @s3 ={{.*}} global i32 2
 
 struct
 {
@@ -50,8 +50,8 @@ struct
    char bar;
 } ATTR t4;
 int s4 = sizeof(t4);
-// CHECK: @s4 = global i32 1
-// CHECK-ARM: @s4 = global i32 1
+// CHECK: @s4 ={{.*}} global i32 1
+// CHECK-ARM: @s4 ={{.*}} global i32 1
 
 struct
 {
@@ -61,8 +61,8 @@ struct
    char bar;
 } ATTR t5;
 int s5 = sizeof(t5);
-// CHECK: @s5 = global i32 1
-// CHECK-ARM: @s5 = global i32 1
+// CHECK: @s5 ={{.*}} global i32 1
+// CHECK-ARM: @s5 ={{.*}} global i32 1
 
 struct
 {
@@ -72,8 +72,8 @@ struct
    char bar;
 } ATTR t6;
 int s6 = sizeof(t6);
-// CHECK: @s6 = global i32 1
-// CHECK-ARM: @s6 = global i32 1
+// CHECK: @s6 ={{.*}} global i32 1
+// CHECK-ARM: @s6 ={{.*}} global i32 1
 
 struct
 {
@@ -93,8 +93,8 @@ struct
    char bar7;
 } ATTR t7;
 int s7 = sizeof(t7);
-// CHECK: @s7 = global i32 9
-// CHECK-ARM: @s7 = global i32 9
+// CHECK: @s7 ={{.*}} global i32 9
+// CHECK-ARM: @s7 ={{.*}} global i32 9
 
 struct
 {
@@ -103,8 +103,8 @@ struct
    char : 0;
 } ATTR t8;
 int s8 = sizeof(t8);
-// CHECK: @s8 = global i32 0
-// CHECK-ARM: @s8 = global i32 0
+// CHECK: @s8 ={{.*}} global i32 0
+// CHECK-ARM: @s8 ={{.*}} global i32 0
 
 struct
 {
@@ -136,8 +136,8 @@ struct
    char :4;
 } ATTR t9;
 int s9 = sizeof(t9);
-// CHECK: @s9 = global i32 28
-// CHECK-ARM: @s9 = global i32 28
+// CHECK: @s9 ={{.*}} global i32 28
+// CHECK-ARM: @s9 ={{.*}} global i32 28
 
 struct
 {
@@ -146,8 +146,8 @@ struct
    char bar;
 } ATTR t10;
 int s10 = sizeof(t10);
-// CHECK: @s10 = global i32 16
-// CHECK-ARM: @s10 = global i32 8
+// CHECK: @s10 ={{.*}} global i32 16
+// CHECK-ARM: @s10 ={{.*}} global i32 8
 
 // rdar://16041826 - ensure that ms_structs work correctly on a
 // !useBitFieldTypeAlignment() target
@@ -157,8 +157,8 @@ struct {
   unsigned int c;
 } ATTR t11;
 int s11 = sizeof(t11);
-// CHECK: @s11 = global i32 12
-// CHECK-ARM: @s11 = global i32 12
+// CHECK: @s11 ={{.*}} global i32 12
+// CHECK-ARM: @s11 ={{.*}} global i32 12
 
 struct {
   unsigned char a : 3;
@@ -166,8 +166,8 @@ struct {
   unsigned short c : 6;
 } ATTR t12;
 int s12 = sizeof(t12);
-// CHECK: @s12 = global i32 4
-// CHECK-ARM: @s12 = global i32 4
+// CHECK: @s12 ={{.*}} global i32 4
+// CHECK-ARM: @s12 ={{.*}} global i32 4
 
 struct {
   unsigned char a : 3;
@@ -175,5 +175,5 @@ struct {
   __attribute__((packed)) unsigned short c : 6;
 } ATTR t13;
 int s13 = sizeof(t13);
-// CHECK: @s13 = global i32 4
-// CHECK-ARM: @s13 = global i32 4
+// CHECK: @s13 ={{.*}} global i32 4
+// CHECK-ARM: @s13 ={{.*}} global i32 4

diff  --git a/clang/test/CodeGen/no-bitfield-type-align.c b/clang/test/CodeGen/no-bitfield-type-align.c
index 830cd585c6ba..99e9d4aaae0d 100644
--- a/clang/test/CodeGen/no-bitfield-type-align.c
+++ b/clang/test/CodeGen/no-bitfield-type-align.c
@@ -9,7 +9,7 @@ struct S {
   unsigned short  f2:15;
 };
 
-// CHECK: define void @test_zero_width_bitfield(%[[STRUCT_S]]* %[[A:.*]])
+// CHECK: define{{.*}} void @test_zero_width_bitfield(%[[STRUCT_S]]* %[[A:.*]])
 // CHECK: %[[BF_LOAD:.*]] = load i32, i32* %[[V1:.*]], align 1
 // CHECK: %[[BF_CLEAR:.*]] = and i32 %[[BF_LOAD]], 32767
 // CHECK: %[[BF_CAST:.*]] = trunc i32 %[[BF_CLEAR]] to i16

diff  --git a/clang/test/CodeGen/no-opt-volatile-memcpy.c b/clang/test/CodeGen/no-opt-volatile-memcpy.c
index 2781475b6302..081873f10b68 100644
--- a/clang/test/CodeGen/no-opt-volatile-memcpy.c
+++ b/clang/test/CodeGen/no-opt-volatile-memcpy.c
@@ -14,7 +14,7 @@ void foo (void) {
   gs = gs;
   ls = gs;
 }
-// CHECK-LABEL: 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-LABEL: define void @fee()
+// CHECK-LABEL: define{{.*}} void @fee()
 // CHECK: call void @llvm.memcpy.{{.*}}(i8* align 4 getelementptr inbounds (%struct.s1, %struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i8* align 4 getelementptr inbounds (%struct.s1, %struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i64 132, i1 true)
 // CHECK-NEXT: call void @llvm.memcpy.{{.*}}(i8* align 4 getelementptr inbounds (%struct.s1, %struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i8* align 4 getelementptr inbounds (%struct.s, %struct.s* @gs, i32 0, i32 0, i32 0), i64 132, i1 true)
 

diff  --git a/clang/test/CodeGen/nonnull.c b/clang/test/CodeGen/nonnull.c
index 30162441cf4c..112304e3066c 100644
--- a/clang/test/CodeGen/nonnull.c
+++ b/clang/test/CodeGen/nonnull.c
@@ -1,39 +1,39 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm < %s | FileCheck -check-prefix=NULL-INVALID %s
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -fno-delete-null-pointer-checks < %s | FileCheck -check-prefix=NULL-VALID %s
 
-// NULL-INVALID: define void @foo(i32* nonnull %x)
-// NULL-VALID: define void @foo(i32* %x)
+// NULL-INVALID: define{{.*}} void @foo(i32* nonnull %x)
+// NULL-VALID: define{{.*}} void @foo(i32* %x)
 void foo(int * __attribute__((nonnull)) x) {
   *x = 0;
 }
 
-// NULL-INVALID: define void @bar(i32* nonnull %x)
-// NULL-VALID: define void @bar(i32* %x)
+// NULL-INVALID: define{{.*}} void @bar(i32* nonnull %x)
+// NULL-VALID: define{{.*}} void @bar(i32* %x)
 void bar(int * x) __attribute__((nonnull(1)))  {
   *x = 0;
 }
 
-// NULL-INVALID: define void @bar2(i32* %x, i32* nonnull %y)
-// NULL-VALID: define void @bar2(i32* %x, i32* %y)
+// NULL-INVALID: define{{.*}} void @bar2(i32* %x, i32* nonnull %y)
+// NULL-VALID: define{{.*}} void @bar2(i32* %x, i32* %y)
 void bar2(int * x, int * y) __attribute__((nonnull(2)))  {
   *x = 0;
 }
 
 static int a;
-// NULL-INVALID: define nonnull i32* @bar3()
-// NULL-VALID: define i32* @bar3()
+// NULL-INVALID: define{{.*}} nonnull i32* @bar3()
+// NULL-VALID: define{{.*}} i32* @bar3()
 int * bar3() __attribute__((returns_nonnull))  {
   return &a;
 }
 
-// NULL-INVALID: define i32 @bar4(i32 %n, i32* nonnull %p)
-// NULL-VALID: define i32 @bar4(i32 %n, i32* %p)
+// NULL-INVALID: define{{.*}} i32 @bar4(i32 %n, i32* nonnull %p)
+// NULL-VALID: define{{.*}} i32 @bar4(i32 %n, i32* %p)
 int bar4(int n, int *p) __attribute__((nonnull)) {
   return n + *p;
 }
 
-// NULL-INVALID: define i32 @bar5(i32 %n, i32* nonnull %p)
-// NULL-VALID: define i32 @bar5(i32 %n, i32* %p)
+// NULL-INVALID: define{{.*}} i32 @bar5(i32 %n, i32* nonnull %p)
+// NULL-VALID: define{{.*}} i32 @bar5(i32 %n, i32* %p)
 int bar5(int n, int *p) __attribute__((nonnull(1, 2))) {
   return n + *p;
 }
@@ -44,18 +44,18 @@ typedef union {
   double d;
 } TransparentUnion __attribute__((transparent_union));
 
-// NULL-INVALID: define i32 @bar6(i64 %
-// NULL-VALID: define i32 @bar6(i64 %
+// NULL-INVALID: define{{.*}} i32 @bar6(i64 %
+// NULL-VALID: define{{.*}} i32 @bar6(i64 %
 int bar6(TransparentUnion tu) __attribute__((nonnull(1))) {
   return *tu.p;
 }
 
-// NULL-INVALID: define void @bar7(i32* nonnull %a, i32* nonnull %b)
-// NULL-VALID: define void @bar7(i32* %a, i32* %b)
+// NULL-INVALID: define{{.*}} void @bar7(i32* nonnull %a, i32* nonnull %b)
+// NULL-VALID: define{{.*}} void @bar7(i32* %a, i32* %b)
 void bar7(int *a, int *b) __attribute__((nonnull(1)))
 __attribute__((nonnull(2))) {}
 
-// NULL-INVALID: define void @bar8(i32* nonnull %a, i32* nonnull %b)
-// NULL-VALID: define void @bar8(i32* %a, i32* %b)
+// NULL-INVALID: define{{.*}} void @bar8(i32* nonnull %a, i32* nonnull %b)
+// NULL-VALID: define{{.*}} void @bar8(i32* %a, i32* %b)
 void bar8(int *a, int *b) __attribute__((nonnull))
 __attribute__((nonnull(1))) {}

diff  --git a/clang/test/CodeGen/object-size.c b/clang/test/CodeGen/object-size.c
index 0f0069d80264..ff54b11a0f04 100644
--- a/clang/test/CodeGen/object-size.c
+++ b/clang/test/CodeGen/object-size.c
@@ -20,38 +20,38 @@ char gbuf[63];
 char *gp;
 int gi, gj;
 
-// CHECK-LABEL: define void @test1
+// CHECK-LABEL: define{{.*}} void @test1
 void test1() {
   // CHECK:     = call i8* @__strcpy_chk(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @gbuf, i64 0, i64 4), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str, i64 0, i64 0), i64 59)
   strcpy(&gbuf[4], "Hi there");
 }
 
-// CHECK-LABEL: define void @test2
+// CHECK-LABEL: define{{.*}} void @test2
 void test2() {
   // CHECK:     = call i8* @__strcpy_chk(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @gbuf, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str, i64 0, i64 0), i64 63)
   strcpy(gbuf, "Hi there");
 }
 
-// CHECK-LABEL: define void @test3
+// CHECK-LABEL: define{{.*}} void @test3
 void test3() {
   // CHECK:     = call i8* @__strcpy_chk(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @gbuf, i64 1, i64 37), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str, i64 0, i64 0), i64 0)
   strcpy(&gbuf[100], "Hi there");
 }
 
-// CHECK-LABEL: define void @test4
+// CHECK-LABEL: define{{.*}} void @test4
 void test4() {
   // CHECK:     = call i8* @__strcpy_chk(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @gbuf, i64 0, i64 -1), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str, i64 0, i64 0), i64 0)
   strcpy((char*)(void*)&gbuf[-1], "Hi there");
 }
 
-// CHECK-LABEL: define void @test5
+// CHECK-LABEL: define{{.*}} void @test5
 void test5() {
   // CHECK:     = load i8*, i8** @gp
   // CHECK-NEXT:= call i64 @llvm.objectsize.i64.p0i8(i8* %{{.*}}, i1 false, i1 true, i1
   strcpy(gp, "Hi there");
 }
 
-// CHECK-LABEL: define void @test6
+// CHECK-LABEL: define{{.*}} void @test6
 void test6() {
   char buf[57];
 
@@ -59,7 +59,7 @@ void test6() {
   strcpy(&buf[4], "Hi there");
 }
 
-// CHECK-LABEL: define void @test7
+// CHECK-LABEL: define{{.*}} void @test7
 void test7() {
   int i;
   // Ensure we only evaluate the side-effect once.
@@ -69,7 +69,7 @@ void test7() {
   strcpy((++i, gbuf), "Hi there");
 }
 
-// CHECK-LABEL: define void @test8
+// CHECK-LABEL: define{{.*}} void @test8
 void test8() {
   char *buf[50];
   // CHECK-NOT:   __strcpy_chk
@@ -77,14 +77,14 @@ void test8() {
   strcpy(buf[++gi], "Hi there");
 }
 
-// CHECK-LABEL: 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], [9 x i8]* @.str, i64 0, i64 0))
   strcpy((char *)((++gi) + gj), "Hi there");
 }
 
-// CHECK-LABEL: define void @test10
+// CHECK-LABEL: define{{.*}} void @test10
 char **p;
 void test10() {
   // CHECK-NOT:   __strcpy_chk
@@ -92,42 +92,42 @@ void test10() {
   strcpy(*(++p), "Hi there");
 }
 
-// CHECK-LABEL: 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], [63 x i8]* @gbuf, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str, i64 0, i64 0))
   strcpy(gp = gbuf, "Hi there");
 }
 
-// CHECK-LABEL: 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], [9 x i8]* @.str, i64 0, i64 0))
   strcpy(++gp, "Hi there");
 }
 
-// CHECK-LABEL: 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], [9 x i8]* @.str, i64 0, i64 0))
   strcpy(gp++, "Hi there");
 }
 
-// CHECK-LABEL: 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], [9 x i8]* @.str, i64 0, i64 0))
   strcpy(--gp, "Hi there");
 }
 
-// CHECK-LABEL: 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], [9 x i8]* @.str, i64 0, i64 0))
   strcpy(gp--, "Hi there");
 }
 
-// CHECK-LABEL: 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], [9 x i8]* @.str, i64 0, i64 0))

diff  --git a/clang/test/CodeGen/object-size.cpp b/clang/test/CodeGen/object-size.cpp
index 3c8390f5f099..e91c3377c389 100644
--- a/clang/test/CodeGen/object-size.cpp
+++ b/clang/test/CodeGen/object-size.cpp
@@ -4,7 +4,7 @@
 
 int gi;
 
-// CHECK-LABEL: define void @_Z5test1v()
+// CHECK-LABEL: define{{.*}} void @_Z5test1v()
 void test1() {
   // Guaranteeing that our cast removal logic doesn't break more interesting
   // cases.
@@ -29,7 +29,7 @@ void test1() {
   gi = __builtin_object_size((char*)(B*)&c, 0);
 }
 
-// CHECK-LABEL: define void @_Z5test2v()
+// CHECK-LABEL: define{{.*}} void @_Z5test2v()
 void test2() {
   struct A { char buf[16]; };
   struct B : A {};

diff  --git a/clang/test/CodeGen/pass-object-size.c b/clang/test/CodeGen/pass-object-size.c
index 30c5e5fcbb35..bdace0931694 100644
--- a/clang/test/CodeGen/pass-object-size.c
+++ b/clang/test/CodeGen/pass-object-size.c
@@ -11,49 +11,49 @@ struct Foo {
 
 int gi = 0;
 
-// CHECK-LABEL: define i32 @ObjectSize0(i8* %{{.*}}, i64 %0)
+// CHECK-LABEL: define{{.*}} i32 @ObjectSize0(i8* %{{.*}}, i64 %0)
 int ObjectSize0(void *const p PS(0)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_object_size(p, 0);
 }
 
-// CHECK-LABEL: define i32 @DynamicObjectSize0(i8* %{{.*}}, i64 %0)
+// CHECK-LABEL: define{{.*}} i32 @DynamicObjectSize0(i8* %{{.*}}, i64 %0)
 int DynamicObjectSize0(void *const p PDS(0)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_dynamic_object_size(p, 0);
 }
 
-// CHECK-LABEL: define i32 @ObjectSize1(i8* %{{.*}}, i64 %0)
+// CHECK-LABEL: define{{.*}} i32 @ObjectSize1(i8* %{{.*}}, i64 %0)
 int ObjectSize1(void *const p PS(1)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_object_size(p, 1);
 }
 
-// CHECK-LABEL: define i32 @DynamicObjectSize1(i8* %{{.*}}, i64 %0)
+// CHECK-LABEL: define{{.*}} i32 @DynamicObjectSize1(i8* %{{.*}}, i64 %0)
 int DynamicObjectSize1(void *const p PDS(1)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_dynamic_object_size(p, 1);
 }
 
-// CHECK-LABEL: define i32 @ObjectSize2(i8* %{{.*}}, i64 %0)
+// CHECK-LABEL: define{{.*}} i32 @ObjectSize2(i8* %{{.*}}, i64 %0)
 int ObjectSize2(void *const p PS(2)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_object_size(p, 2);
 }
 
-// CHECK-LABEL: define i32 @DynamicObjectSize2(i8* %{{.*}}, i64 %0)
+// CHECK-LABEL: define{{.*}} i32 @DynamicObjectSize2(i8* %{{.*}}, i64 %0)
 int DynamicObjectSize2(void *const p PDS(2)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_object_size(p, 2);
 }
 
-// CHECK-LABEL: define i32 @ObjectSize3(i8* %{{.*}}, i64 %0)
+// CHECK-LABEL: define{{.*}} i32 @ObjectSize3(i8* %{{.*}}, i64 %0)
 int ObjectSize3(void *const p PS(3)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_object_size(p, 3);
 }
 
-// CHECK-LABEL: define i32 @DynamicObjectSize3(i8* %{{.*}}, i64 %0)
+// CHECK-LABEL: define{{.*}} i32 @DynamicObjectSize3(i8* %{{.*}}, i64 %0)
 int DynamicObjectSize3(void *const p PDS(3)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_object_size(p, 3);
@@ -61,7 +61,7 @@ int DynamicObjectSize3(void *const p PDS(3)) {
 
 void *malloc(unsigned long) __attribute__((alloc_size(1)));
 
-// CHECK-LABEL: define void @test1
+// CHECK-LABEL: define{{.*}} void @test1
 void test1(unsigned long sz) {
   struct Foo t[10];
 
@@ -99,7 +99,7 @@ void test1(unsigned long sz) {
   gi = DynamicObjectSize2(ptr);
 }
 
-// CHECK-LABEL: define void @test2
+// CHECK-LABEL: define{{.*}} void @test2
 void test2(struct Foo *t) {
   // CHECK: [[VAR:%[0-9]+]] = call i64 @llvm.objectsize
   // CHECK: call i32 @ObjectSize1(i8* %{{.*}}, i64 [[VAR]])
@@ -108,38 +108,38 @@ void test2(struct Foo *t) {
   gi = ObjectSize3(&t->t[1]);
 }
 
-// CHECK-LABEL: define i32 @_Z27NoViableOverloadObjectSize0Pv
+// CHECK-LABEL: define{{.*}} i32 @_Z27NoViableOverloadObjectSize0Pv
 int NoViableOverloadObjectSize0(void *const p) __attribute__((overloadable)) {
   // CHECK: @llvm.objectsize
   return __builtin_object_size(p, 0);
 }
 
-// CHECK-LABEL: define i32 @_Z34NoViableOverloadDynamicObjectSize0Pv
+// CHECK-LABEL: define{{.*}} i32 @_Z34NoViableOverloadDynamicObjectSize0Pv
 int NoViableOverloadDynamicObjectSize0(void *const p)
   __attribute__((overloadable)) {
   // CHECK: @llvm.objectsize
   return __builtin_object_size(p, 0);
 }
 
-// CHECK-LABEL: define i32 @_Z27NoViableOverloadObjectSize1Pv
+// CHECK-LABEL: define{{.*}} i32 @_Z27NoViableOverloadObjectSize1Pv
 int NoViableOverloadObjectSize1(void *const p) __attribute__((overloadable)) {
   // CHECK: @llvm.objectsize
   return __builtin_object_size(p, 1);
 }
 
-// CHECK-LABEL: define i32 @_Z27NoViableOverloadObjectSize2Pv
+// CHECK-LABEL: define{{.*}} i32 @_Z27NoViableOverloadObjectSize2Pv
 int NoViableOverloadObjectSize2(void *const p) __attribute__((overloadable)) {
   // CHECK: @llvm.objectsize
   return __builtin_object_size(p, 2);
 }
 
-// CHECK-LABEL: define i32 @_Z27NoViableOverloadObjectSize3Pv
+// CHECK-LABEL: define{{.*}} i32 @_Z27NoViableOverloadObjectSize3Pv
 int NoViableOverloadObjectSize3(void *const p) __attribute__((overloadable)) {
   // CHECK-NOT: @llvm.objectsize
   return __builtin_object_size(p, 3);
 }
 
-// CHECK-LABEL: define i32 @_Z27NoViableOverloadObjectSize0Pv
+// CHECK-LABEL: define{{.*}} i32 @_Z27NoViableOverloadObjectSize0Pv
 // CHECK-NOT: @llvm.objectsize
 int NoViableOverloadObjectSize0(void *const p PS(0))
     __attribute__((overloadable)) {
@@ -187,7 +187,7 @@ int NoViableOverloadObjectSize3(void *const p PS(3))
   return SHOULDNT_BE_CALLED;
 }
 
-// CHECK-LABEL: define void @test3
+// CHECK-LABEL: define{{.*}} void @test3
 void test3() {
   struct Foo t[10];
 
@@ -213,7 +213,7 @@ void test3() {
   gi = NoViableOverloadDynamicObjectSize0(&t[1]);
 }
 
-// CHECK-LABEL: define void @test4
+// CHECK-LABEL: define{{.*}} void @test4
 void test4(struct Foo *t) {
   // CHECK: call i32 @_Z27NoViableOverloadObjectSize0PvU17pass_object_size0(i8* %{{.*}}, i64 %{{.*}})
   gi = NoViableOverloadObjectSize0(&t[1]);
@@ -245,28 +245,28 @@ void test5() {
   gi = g(&t[1]);
 }
 
-// CHECK-LABEL: define i32 @IndirectObjectSize0
+// CHECK-LABEL: define{{.*}} i32 @IndirectObjectSize0
 int IndirectObjectSize0(void *const p PS(0)) {
   // CHECK: call i32 @ObjectSize0(i8* %{{.*}}, i64 %{{.*}})
   // CHECK-NOT: @llvm.objectsize
   return ObjectSize0(p);
 }
 
-// CHECK-LABEL: define i32 @IndirectObjectSize1
+// CHECK-LABEL: define{{.*}} i32 @IndirectObjectSize1
 int IndirectObjectSize1(void *const p PS(1)) {
   // CHECK: call i32 @ObjectSize1(i8* %{{.*}}, i64 %{{.*}})
   // CHECK-NOT: @llvm.objectsize
   return ObjectSize1(p);
 }
 
-// CHECK-LABEL: define i32 @IndirectObjectSize2
+// CHECK-LABEL: define{{.*}} i32 @IndirectObjectSize2
 int IndirectObjectSize2(void *const p PS(2)) {
   // CHECK: call i32 @ObjectSize2(i8* %{{.*}}, i64 %{{.*}})
   // CHECK-NOT: @llvm.objectsize
   return ObjectSize2(p);
 }
 
-// CHECK-LABEL: define i32 @IndirectObjectSize3
+// CHECK-LABEL: define{{.*}} i32 @IndirectObjectSize3
 int IndirectObjectSize3(void *const p PS(3)) {
   // CHECK: call i32 @ObjectSize3(i8* %{{.*}}, i64 %{{.*}})
   // CHECK-NOT: @llvm.objectsize
@@ -289,7 +289,7 @@ int OverloadedObjectSize(void *const p PS(0),
 int OverloadedObjectSize(void *const p, void *const c)
     __attribute__((overloadable)) __asm__("OverloadNoSize");
 
-// CHECK-LABEL: define void @test6
+// CHECK-LABEL: define{{.*}} void @test6
 void test6() {
   int known[10], *opaque;
 
@@ -308,7 +308,7 @@ void test6() {
 
 int Identity(void *p, size_t i) { return i; }
 
-// CHECK-NOT: define void @AsmObjectSize
+// CHECK-NOT: define{{.*}} void @AsmObjectSize
 int AsmObjectSize0(void *const p PS(0)) __asm__("Identity");
 
 int AsmObjectSize1(void *const p PS(1)) __asm__("Identity");
@@ -317,7 +317,7 @@ int AsmObjectSize2(void *const p PS(2)) __asm__("Identity");
 
 int AsmObjectSize3(void *const p PS(3)) __asm__("Identity");
 
-// CHECK-LABEL: define void @test7
+// CHECK-LABEL: define{{.*}} void @test7
 void test7() {
   struct Foo t[10];
 
@@ -340,7 +340,7 @@ void test7() {
   gi = AsmObjectSize3(&t[1].t[1]);
 }
 
-// CHECK-LABEL: define void @test8
+// CHECK-LABEL: define{{.*}} void @test8
 void test8(struct Foo *t) {
   // CHECK: [[VAR:%[0-9]+]] = call i64 @llvm.objectsize
   // CHECK: call i32 @"\01Identity"(i8* %{{.*}}, i64 [[VAR]])
@@ -354,7 +354,7 @@ void DifferingObjectSize1(void *const p __attribute__((pass_object_size(1))));
 void DifferingObjectSize2(void *const p __attribute__((pass_object_size(2))));
 void DifferingObjectSize3(void *const p __attribute__((pass_object_size(3))));
 
-// CHECK-LABEL: define void @test9
+// CHECK-LABEL: define{{.*}} void @test9
 void test9(void *const p __attribute__((pass_object_size(0)))) {
   // CHECK: @llvm.objectsize
   DifferingObjectSize2(p);
@@ -367,7 +367,7 @@ void test9(void *const p __attribute__((pass_object_size(0)))) {
   DifferingObjectSize3(p);
 }
 
-// CHECK-LABEL: define void @test10
+// CHECK-LABEL: define{{.*}} void @test10
 void test10(void *const p __attribute__((pass_object_size(1)))) {
   // CHECK: @llvm.objectsize
   DifferingObjectSize2(p);
@@ -381,7 +381,7 @@ void test10(void *const p __attribute__((pass_object_size(1)))) {
   DifferingObjectSize3(p);
 }
 
-// CHECK-LABEL: define void @test11
+// CHECK-LABEL: define{{.*}} void @test11
 void test11(void *const p __attribute__((pass_object_size(2)))) {
   // CHECK: @llvm.objectsize
   DifferingObjectSize0(p);
@@ -395,7 +395,7 @@ void test11(void *const p __attribute__((pass_object_size(2)))) {
   DifferingObjectSize3(p);
 }
 
-// CHECK-LABEL: define void @test12
+// CHECK-LABEL: define{{.*}} void @test12
 void test12(void *const p __attribute__((pass_object_size(3)))) {
   // CHECK: @llvm.objectsize
   DifferingObjectSize0(p);
@@ -407,7 +407,7 @@ void test12(void *const p __attribute__((pass_object_size(3)))) {
   DifferingObjectSize3(p);
 }
 
-// CHECK-LABEL: define void @test13
+// CHECK-LABEL: define{{.*}} void @test13
 void test13() {
   char c[10];
   unsigned i = 0;
@@ -435,7 +435,7 @@ void test13() {
 // problems in the form of failed assertions.
 void my_sprintf(char *const c __attribute__((pass_object_size(0))), ...) {}
 
-// CHECK-LABEL: define void @test14
+// CHECK-LABEL: define{{.*}} void @test14
 void test14(char *c) {
   // CHECK: @llvm.objectsize
   // CHECK: call void (i8*, i64, ...) @my_sprintf
@@ -450,7 +450,7 @@ void pass_size_unsigned(unsigned *const PS(0));
 
 // Bug: we weren't lowering to the proper @llvm.objectsize for pointers that
 // don't turn into i8*s, which caused crashes.
-// CHECK-LABEL: define void @test15
+// CHECK-LABEL: define{{.*}} void @test15
 void test15(unsigned *I) {
   // CHECK: @llvm.objectsize.i64.p0i32
   // CHECK: call void @pass_size_unsigned
@@ -462,7 +462,7 @@ void pass_size_as1(__attribute__((address_space(1))) void *const PS(0));
 void pass_size_unsigned_as1(
     __attribute__((address_space(1))) unsigned *const PS(0));
 
-// CHECK-LABEL: define void @test16
+// CHECK-LABEL: define{{.*}} void @test16
 void test16(__attribute__((address_space(1))) unsigned *I) {
   // CHECK: call i64 @llvm.objectsize.i64.p1i8
   // CHECK: call void @pass_size_as1
@@ -474,7 +474,7 @@ void test16(__attribute__((address_space(1))) unsigned *I) {
 
 // This used to cause assertion failures, since we'd try to emit the statement
 // expression (and definitions for `a`) twice.
-// CHECK-LABEL: define void @test17
+// CHECK-LABEL: define{{.*}} void @test17
 void test17(char *C) {
   // Check for 65535 to see if we're emitting this pointer twice.
   // CHECK: 65535
@@ -485,7 +485,7 @@ void test17(char *C) {
   ObjectSize0(C + ({ int a = 65535; a; }));
 }
 
-// CHECK-LABEL: define void @test18
+// CHECK-LABEL: define{{.*}} void @test18
 void test18(char *const p PDS(0)) {
   // CHECK-NOT: llvm.objectsize
   gi = __builtin_dynamic_object_size(p, 0);

diff  --git a/clang/test/CodeGen/pr12251.c b/clang/test/CodeGen/pr12251.c
index dd5e4a1f92dd..a07ed07479d4 100644
--- a/clang/test/CodeGen/pr12251.c
+++ b/clang/test/CodeGen/pr12251.c
@@ -5,7 +5,7 @@ enum e1 g1(enum e1 *x) {
   return *x;
 }
 
-// CHECK-LABEL: define i32 @g1
+// CHECK-LABEL: define{{.*}} i32 @g1
 // CHECK: load i32, i32* %x, align 4
 // CHECK-NOT: range
 // CHECK: ret

diff  --git a/clang/test/CodeGen/pragma-pack-1.c b/clang/test/CodeGen/pragma-pack-1.c
index 3a9e391c4ef3..0bb788deb1e9 100644
--- a/clang/test/CodeGen/pragma-pack-1.c
+++ b/clang/test/CodeGen/pragma-pack-1.c
@@ -64,5 +64,5 @@ struct S4
 // CHECK: %struct.S4 = type { [3 x i8], %struct.T4, i32 }
 // CHECK: %struct.T4 = type <{ i8, i32 }>
 
-// CHECK: @refs = global [[struct_ref]]
-// CHECK: @ss = global [[struct_S]]
+// CHECK: @refs ={{.*}} global [[struct_ref]]
+// CHECK: @ss ={{.*}} global [[struct_S]]

diff  --git a/clang/test/CodeGen/pragma-visibility.c b/clang/test/CodeGen/pragma-visibility.c
index 56e73f301aee..d9c79388bd6e 100644
--- a/clang/test/CodeGen/pragma-visibility.c
+++ b/clang/test/CodeGen/pragma-visibility.c
@@ -12,7 +12,7 @@ int y = 4;
 #pragma GCC visibility push(hidden)
 extern __attribute((visibility("default"))) int z;
 int z = 0;
-// CHECK: @z = global
+// CHECK: @z ={{.*}} global
 #pragma GCC visibility pop
 
 #pragma GCC visibility push(hidden)
@@ -21,4 +21,4 @@ void f() {}
 
 __attribute((visibility("default"))) void g();
 void g() {}
-// CHECK-LABEL: define void @g
+// CHECK-LABEL: define{{.*}} void @g

diff  --git a/clang/test/CodeGen/private-extern-redef.c b/clang/test/CodeGen/private-extern-redef.c
index e0d51b67e228..436fecc4d345 100644
--- a/clang/test/CodeGen/private-extern-redef.c
+++ b/clang/test/CodeGen/private-extern-redef.c
@@ -30,7 +30,7 @@ void foo() {
 
 // CHECK: @J = hidden constant
 // CHECK: @K = hidden constant
-// CHECK: @L = constant
+// CHECK: @L ={{.*}} constant
 // CHECK: @M = hidden global
 // CHECK: @O = hidden global
 // CHECK: @I = external hidden

diff  --git a/clang/test/CodeGen/restrict.c b/clang/test/CodeGen/restrict.c
index 8bbff24ace45..639a7a8155b1 100644
--- a/clang/test/CodeGen/restrict.c
+++ b/clang/test/CodeGen/restrict.c
@@ -2,25 +2,25 @@
 
 // PR6695
 
-// CHECK: define void @test0(i32* %{{.*}}, i32 %{{.*}})
+// CHECK: define{{.*}} void @test0(i32* %{{.*}}, i32 %{{.*}})
 void test0(int *x, int y) {
 }
 
-// CHECK: define void @test1(i32* noalias %{{.*}}, i32 %{{.*}})
+// CHECK: define{{.*}} void @test1(i32* noalias %{{.*}}, i32 %{{.*}})
 void test1(int * restrict x, int y) {
 }
 
-// CHECK: define void @test2(i32* %{{.*}}, i32* noalias %{{.*}})
+// CHECK: define{{.*}} void @test2(i32* %{{.*}}, i32* noalias %{{.*}})
 void test2(int *x, int * restrict y) {
 }
 
 typedef int * restrict rp;
 
-// CHECK: define void @test3(i32* noalias %{{.*}}, i32 %{{.*}})
+// CHECK: define{{.*}} void @test3(i32* noalias %{{.*}}, i32 %{{.*}})
 void test3(rp x, int y) {
 }
 
-// CHECK: define void @test4(i32* %{{.*}}, i32* noalias %{{.*}})
+// CHECK: define{{.*}} void @test4(i32* %{{.*}}, i32* noalias %{{.*}})
 void test4(int *x, rp y) {
 }
 

diff  --git a/clang/test/CodeGen/sanitize-atomic-int-overflow.c b/clang/test/CodeGen/sanitize-atomic-int-overflow.c
index a1064f47c349..3b9c62c43d4a 100644
--- a/clang/test/CodeGen/sanitize-atomic-int-overflow.c
+++ b/clang/test/CodeGen/sanitize-atomic-int-overflow.c
@@ -2,7 +2,7 @@
 
 _Atomic(unsigned) atomic;
 
-// CHECK-LABEL: define void @cmpd_assign
+// CHECK-LABEL: define{{.*}} void @cmpd_assign
 void cmpd_assign() {
   // CHECK: br label %[[LOOP_START:.*]]
 
@@ -17,7 +17,7 @@ void cmpd_assign() {
   atomic += 1;
 }
 
-// CHECK-LABEL: define void @inc
+// CHECK-LABEL: define{{.*}} void @inc
 void inc() {
   // CHECK: br label %[[LOOP_START:.*]]
 

diff  --git a/clang/test/CodeGen/tbaa-class.cpp b/clang/test/CodeGen/tbaa-class.cpp
index b7d2a865451a..e693db2dfc56 100644
--- a/clang/test/CodeGen/tbaa-class.cpp
+++ b/clang/test/CodeGen/tbaa-class.cpp
@@ -52,10 +52,10 @@ class StructS2 : public StructS
 };
 
 uint32_t g(uint32_t *s, StructA *A, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z1g
+// CHECK-LABEL: define{{.*}} i32 @_Z1g
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z1g
+// PATH-LABEL: define{{.*}} i32 @_Z1g
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32:!.*]]
   *s = 1;
@@ -64,10 +64,10 @@ uint32_t g(uint32_t *s, StructA *A, uint64_t count) {
 }
 
 uint32_t g2(uint32_t *s, StructA *A, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g2
+// CHECK-LABEL: define{{.*}} i32 @_Z2g2
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_i16:!.*]]
-// PATH-LABEL: define i32 @_Z2g2
+// PATH-LABEL: define{{.*}} i32 @_Z2g2
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // PATH: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_A_f16:!.*]]
   *s = 1;
@@ -76,10 +76,10 @@ uint32_t g2(uint32_t *s, StructA *A, uint64_t count) {
 }
 
 uint32_t g3(StructA *A, StructB *B, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g3
+// CHECK-LABEL: define{{.*}} i32 @_Z2g3
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g3
+// PATH-LABEL: define{{.*}} i32 @_Z2g3
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32:!.*]]
   A->f32 = 1;
@@ -88,10 +88,10 @@ uint32_t g3(StructA *A, StructB *B, uint64_t count) {
 }
 
 uint32_t g4(StructA *A, StructB *B, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g4
+// CHECK-LABEL: define{{.*}} i32 @_Z2g4
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_i16]]
-// PATH-LABEL: define i32 @_Z2g4
+// PATH-LABEL: define{{.*}} i32 @_Z2g4
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_B_a_f16:!.*]]
   A->f32 = 1;
@@ -100,10 +100,10 @@ uint32_t g4(StructA *A, StructB *B, uint64_t count) {
 }
 
 uint32_t g5(StructA *A, StructB *B, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g5
+// CHECK-LABEL: define{{.*}} i32 @_Z2g5
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g5
+// PATH-LABEL: define{{.*}} i32 @_Z2g5
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_f32:!.*]]
   A->f32 = 1;
@@ -112,10 +112,10 @@ uint32_t g5(StructA *A, StructB *B, uint64_t count) {
 }
 
 uint32_t g6(StructA *A, StructB *B, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g6
+// CHECK-LABEL: define{{.*}} i32 @_Z2g6
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g6
+// PATH-LABEL: define{{.*}} i32 @_Z2g6
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32_2:!.*]]
   A->f32 = 1;
@@ -124,10 +124,10 @@ uint32_t g6(StructA *A, StructB *B, uint64_t count) {
 }
 
 uint32_t g7(StructA *A, StructS *S, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g7
+// CHECK-LABEL: define{{.*}} i32 @_Z2g7
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g7
+// PATH-LABEL: define{{.*}} i32 @_Z2g7
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32:!.*]]
   A->f32 = 1;
@@ -136,10 +136,10 @@ uint32_t g7(StructA *A, StructS *S, uint64_t count) {
 }
 
 uint32_t g8(StructA *A, StructS *S, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g8
+// CHECK-LABEL: define{{.*}} i32 @_Z2g8
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_i16]]
-// PATH-LABEL: define i32 @_Z2g8
+// PATH-LABEL: define{{.*}} i32 @_Z2g8
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_S_f16:!.*]]
   A->f32 = 1;
@@ -148,10 +148,10 @@ uint32_t g8(StructA *A, StructS *S, uint64_t count) {
 }
 
 uint32_t g9(StructS *S, StructS2 *S2, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g9
+// CHECK-LABEL: define{{.*}} i32 @_Z2g9
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g9
+// PATH-LABEL: define{{.*}} i32 @_Z2g9
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32:!.*]]
   S->f32 = 1;
@@ -160,10 +160,10 @@ uint32_t g9(StructS *S, StructS2 *S2, uint64_t count) {
 }
 
 uint32_t g10(StructS *S, StructS2 *S2, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z3g10
+// CHECK-LABEL: define{{.*}} i32 @_Z3g10
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z3g10
+// PATH-LABEL: define{{.*}} i32 @_Z3g10
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S2_f32_2:!.*]]
   S->f32 = 1;
@@ -172,10 +172,10 @@ uint32_t g10(StructS *S, StructS2 *S2, uint64_t count) {
 }
 
 uint32_t g11(StructC *C, StructD *D, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z3g11
+// CHECK-LABEL: define{{.*}} i32 @_Z3g11
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z3g11
+// PATH-LABEL: define{{.*}} i32 @_Z3g11
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_C_b_a_f32:!.*]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_D_b_a_f32:!.*]]
   C->b.a.f32 = 1;
@@ -184,11 +184,11 @@ uint32_t g11(StructC *C, StructD *D, uint64_t count) {
 }
 
 uint32_t g12(StructC *C, StructD *D, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z3g12
+// CHECK-LABEL: define{{.*}} i32 @_Z3g12
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // TODO: 
diff erentiate the two accesses.
-// PATH-LABEL: define i32 @_Z3g12
+// PATH-LABEL: define{{.*}} i32 @_Z3g12
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32]]
   StructB *b1 = &(C->b);

diff  --git a/clang/test/CodeGen/tbaa-vec.cpp b/clang/test/CodeGen/tbaa-vec.cpp
index 5f61b934f00e..d69787dc08f7 100644
--- a/clang/test/CodeGen/tbaa-vec.cpp
+++ b/clang/test/CodeGen/tbaa-vec.cpp
@@ -8,7 +8,7 @@ struct A {
 };
 
 void foo(A *a, __m128 v) {
-  // CHECK-LABEL: define void @_Z3fooP1ADv4_f
+  // CHECK-LABEL: define{{.*}} void @_Z3fooP1ADv4_f
   a->a = v;
   // CHECK: store <4 x float> %v, <4 x float>* %{{.*}}, align 16, !tbaa [[TAG_char:!.*]]
   // CHECK: store <4 x float> %{{.*}}, <4 x float>* %{{.*}}, align 16, !tbaa [[TAG_char]]

diff  --git a/clang/test/CodeGen/tbaa.cpp b/clang/test/CodeGen/tbaa.cpp
index 86e34f37b5e5..554daf875b5b 100644
--- a/clang/test/CodeGen/tbaa.cpp
+++ b/clang/test/CodeGen/tbaa.cpp
@@ -50,10 +50,10 @@ typedef struct
 } StructS2;
 
 uint32_t g(uint32_t *s, StructA *A, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z1g
+// CHECK-LABEL: define{{.*}} i32 @_Z1g
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z1g
+// PATH-LABEL: define{{.*}} i32 @_Z1g
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32:!.*]]
   *s = 1;
@@ -62,10 +62,10 @@ uint32_t g(uint32_t *s, StructA *A, uint64_t count) {
 }
 
 uint32_t g2(uint32_t *s, StructA *A, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g2
+// CHECK-LABEL: define{{.*}} i32 @_Z2g2
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_i16:!.*]]
-// PATH-LABEL: define i32 @_Z2g2
+// PATH-LABEL: define{{.*}} i32 @_Z2g2
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // PATH: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_A_f16:!.*]]
   *s = 1;
@@ -74,10 +74,10 @@ uint32_t g2(uint32_t *s, StructA *A, uint64_t count) {
 }
 
 uint32_t g3(StructA *A, StructB *B, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g3
+// CHECK-LABEL: define{{.*}} i32 @_Z2g3
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g3
+// PATH-LABEL: define{{.*}} i32 @_Z2g3
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32:!.*]]
   A->f32 = 1;
@@ -86,10 +86,10 @@ uint32_t g3(StructA *A, StructB *B, uint64_t count) {
 }
 
 uint32_t g4(StructA *A, StructB *B, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g4
+// CHECK-LABEL: define{{.*}} i32 @_Z2g4
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_i16]]
-// PATH-LABEL: define i32 @_Z2g4
+// PATH-LABEL: define{{.*}} i32 @_Z2g4
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_B_a_f16:!.*]]
   A->f32 = 1;
@@ -98,10 +98,10 @@ uint32_t g4(StructA *A, StructB *B, uint64_t count) {
 }
 
 uint32_t g5(StructA *A, StructB *B, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g5
+// CHECK-LABEL: define{{.*}} i32 @_Z2g5
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g5
+// PATH-LABEL: define{{.*}} i32 @_Z2g5
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_f32:!.*]]
   A->f32 = 1;
@@ -110,10 +110,10 @@ uint32_t g5(StructA *A, StructB *B, uint64_t count) {
 }
 
 uint32_t g6(StructA *A, StructB *B, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g6
+// CHECK-LABEL: define{{.*}} i32 @_Z2g6
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g6
+// PATH-LABEL: define{{.*}} i32 @_Z2g6
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32_2:!.*]]
   A->f32 = 1;
@@ -122,10 +122,10 @@ uint32_t g6(StructA *A, StructB *B, uint64_t count) {
 }
 
 uint32_t g7(StructA *A, StructS *S, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g7
+// CHECK-LABEL: define{{.*}} i32 @_Z2g7
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g7
+// PATH-LABEL: define{{.*}} i32 @_Z2g7
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32:!.*]]
   A->f32 = 1;
@@ -134,10 +134,10 @@ uint32_t g7(StructA *A, StructS *S, uint64_t count) {
 }
 
 uint32_t g8(StructA *A, StructS *S, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g8
+// CHECK-LABEL: define{{.*}} i32 @_Z2g8
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_i16]]
-// PATH-LABEL: define i32 @_Z2g8
+// PATH-LABEL: define{{.*}} i32 @_Z2g8
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
 // PATH: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_S_f16:!.*]]
   A->f32 = 1;
@@ -146,10 +146,10 @@ uint32_t g8(StructA *A, StructS *S, uint64_t count) {
 }
 
 uint32_t g9(StructS *S, StructS2 *S2, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z2g9
+// CHECK-LABEL: define{{.*}} i32 @_Z2g9
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z2g9
+// PATH-LABEL: define{{.*}} i32 @_Z2g9
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S2_f32:!.*]]
   S->f32 = 1;
@@ -158,10 +158,10 @@ uint32_t g9(StructS *S, StructS2 *S2, uint64_t count) {
 }
 
 uint32_t g10(StructS *S, StructS2 *S2, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z3g10
+// CHECK-LABEL: define{{.*}} i32 @_Z3g10
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_i16]]
-// PATH-LABEL: define i32 @_Z3g10
+// PATH-LABEL: define{{.*}} i32 @_Z3g10
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
 // PATH: store i16 4, i16* %{{.*}}, align 4, !tbaa [[TAG_S2_f16:!.*]]
   S->f32 = 1;
@@ -170,10 +170,10 @@ uint32_t g10(StructS *S, StructS2 *S2, uint64_t count) {
 }
 
 uint32_t g11(StructC *C, StructD *D, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z3g11
+// CHECK-LABEL: define{{.*}} i32 @_Z3g11
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z3g11
+// PATH-LABEL: define{{.*}} i32 @_Z3g11
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_C_b_a_f32:!.*]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_D_b_a_f32:!.*]]
   C->b.a.f32 = 1;
@@ -182,11 +182,11 @@ uint32_t g11(StructC *C, StructD *D, uint64_t count) {
 }
 
 uint32_t g12(StructC *C, StructD *D, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z3g12
+// CHECK-LABEL: define{{.*}} i32 @_Z3g12
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // TODO: 
diff erentiate the two accesses.
-// PATH-LABEL: define i32 @_Z3g12
+// PATH-LABEL: define{{.*}} i32 @_Z3g12
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32]]
   StructB *b1 = &(C->b);
@@ -207,9 +207,9 @@ struct five {
 } ATTR;
 char g13(struct five *a, struct five *b) {
   return a->b;
-// CHECK-LABEL: define signext i8 @_Z3g13
+// CHECK-LABEL: define{{.*}} signext i8 @_Z3g13
 // CHECK: load i8, i8* %{{.*}}, align 1, !tbaa [[TAG_char:!.*]]
-// PATH-LABEL: define signext i8 @_Z3g13
+// PATH-LABEL: define{{.*}} signext i8 @_Z3g13
 // PATH: load i8, i8* %{{.*}}, align 1, !tbaa [[TAG_five_b:!.*]]
 }
 
@@ -220,9 +220,9 @@ struct six {
   char c;
 };
 char g14(struct six *a, struct six *b) {
-// CHECK-LABEL: define signext i8 @_Z3g14
+// CHECK-LABEL: define{{.*}} signext i8 @_Z3g14
 // CHECK: load i8, i8* %{{.*}}, align 1, !tbaa [[TAG_char]]
-// PATH-LABEL: define signext i8 @_Z3g14
+// PATH-LABEL: define{{.*}} signext i8 @_Z3g14
 // PATH: load i8, i8* %{{.*}}, align 1, !tbaa [[TAG_six_b:!.*]]
   return a->b;
 }
@@ -230,10 +230,10 @@ char g14(struct six *a, struct six *b) {
 // Types that 
diff er only by name may alias.
 typedef StructS StructS3;
 uint32_t g15(StructS *S, StructS3 *S3, uint64_t count) {
-// CHECK-LABEL: define i32 @_Z3g15
+// CHECK-LABEL: define{{.*}} i32 @_Z3g15
 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
-// PATH-LABEL: define i32 @_Z3g15
+// PATH-LABEL: define{{.*}} i32 @_Z3g15
 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
   S->f32 = 1;

diff  --git a/clang/test/CodeGen/trapv.c b/clang/test/CodeGen/trapv.c
index 202fc9a7668b..c01cafc07ab0 100644
--- a/clang/test/CodeGen/trapv.c
+++ b/clang/test/CodeGen/trapv.c
@@ -3,7 +3,7 @@
 unsigned int ui, uj, uk;
 int i, j, k;
 
-// CHECK-LABEL: define void @test0()
+// CHECK-LABEL: define{{.*}} void @test0()
 void test0() {
   // -ftrapv doesn't affect unsigned arithmetic.
   // CHECK:      [[T1:%.*]] = load i32, i32* @uj
@@ -23,7 +23,7 @@ void test0() {
   i = j + k;
 }
 
-// CHECK-LABEL: 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.ubsantrap(i8 0)
 }
 
-// CHECK-LABEL: 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.ubsantrap(i8 0)
 }
 
-// CHECK-LABEL: 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);

diff  --git a/clang/test/CodeGen/ubsan-builtin-checks.c b/clang/test/CodeGen/ubsan-builtin-checks.c
index 9733b0e04794..eb6ff11f4ceb 100644
--- a/clang/test/CodeGen/ubsan-builtin-checks.c
+++ b/clang/test/CodeGen/ubsan-builtin-checks.c
@@ -3,7 +3,7 @@
 
 // NOT-UB-NOT: __ubsan_handle_invalid_builtin
 
-// CHECK: define void @check_ctz
+// CHECK: define{{.*}} void @check_ctz
 void check_ctz(int n) {
   // CHECK: [[NOT_ZERO:%.*]] = icmp ne i32 [[N:%.*]], 0, !nosanitize
   // CHECK-NEXT: br i1 [[NOT_ZERO]]
@@ -23,7 +23,7 @@ void check_ctz(int n) {
   __builtin_ctzll(n);
 }
 
-// CHECK: define void @check_clz
+// CHECK: define{{.*}} void @check_clz
 void check_clz(int n) {
   // CHECK: [[NOT_ZERO:%.*]] = icmp ne i32 [[N:%.*]], 0, !nosanitize
   // CHECK-NEXT: br i1 [[NOT_ZERO]]

diff  --git a/clang/test/CodeGen/ubsan-pass-object-size.c b/clang/test/CodeGen/ubsan-pass-object-size.c
index d5d4f5a9e421..0a209a5800a6 100644
--- a/clang/test/CodeGen/ubsan-pass-object-size.c
+++ b/clang/test/CodeGen/ubsan-pass-object-size.c
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 %s -emit-llvm -w -triple x86_64-apple-darwin10 -fsanitize=array-bounds -o - | FileCheck %s
 
-// CHECK-LABEL: define i32 @foo(
+// CHECK-LABEL: define{{.*}} i32 @foo(
 int foo(int *const p __attribute__((pass_object_size(0))), int n) {
   int x = (p)[n];
 
@@ -25,42 +25,42 @@ int foo(int *const p __attribute__((pass_object_size(0))), int n) {
 
 typedef struct {} ZeroSizedType;
 
-// CHECK-LABEL: define void @bar(
+// CHECK-LABEL: define{{.*}} void @bar(
 ZeroSizedType bar(ZeroSizedType *const p __attribute__((pass_object_size(0))), int n) {
   // CHECK-NOT: __ubsan_handle_out_of_bounds
   // CHECK: ret void
   return p[n];
 }
 
-// CHECK-LABEL: define i32 @baz(
+// CHECK-LABEL: define{{.*}} i32 @baz(
 int baz(int *const p __attribute__((pass_object_size(1))), int n) {
   // CHECK: __ubsan_handle_out_of_bounds
   // CHECK: ret i32
   return p[n];
 }
 
-// CHECK-LABEL: define i32 @mat(
+// CHECK-LABEL: define{{.*}} i32 @mat(
 int mat(int *const p __attribute__((pass_object_size(2))), int n) {
   // CHECK-NOT: __ubsan_handle_out_of_bounds
   // CHECK: ret i32
   return p[n];
 }
 
-// CHECK-LABEL: define i32 @pat(
+// CHECK-LABEL: define{{.*}} i32 @pat(
 int pat(int *const p __attribute__((pass_object_size(3))), int n) {
   // CHECK-NOT: __ubsan_handle_out_of_bounds
   // CHECK: ret i32
   return p[n];
 }
 
-// CHECK-LABEL: define i32 @cat(
+// CHECK-LABEL: define{{.*}} i32 @cat(
 int cat(int p[static 10], int n) {
   // CHECK-NOT: __ubsan_handle_out_of_bounds
   // CHECK: ret i32
   return p[n];
 }
 
-// CHECK-LABEL: define i32 @bat(
+// CHECK-LABEL: define{{.*}} i32 @bat(
 int bat(int n, int p[n]) {
   // CHECK-NOT: __ubsan_handle_out_of_bounds
   // CHECK: ret i32

diff  --git a/clang/test/CodeGen/ubsan-pointer-overflow.c b/clang/test/CodeGen/ubsan-pointer-overflow.c
index 7934442ad939..e2b5e498cf0b 100644
--- a/clang/test/CodeGen/ubsan-pointer-overflow.c
+++ b/clang/test/CodeGen/ubsan-pointer-overflow.c
@@ -5,7 +5,7 @@
 extern "C" {
 #endif
 
-// CHECK-LABEL: define void @fixed_len_array
+// CHECK-LABEL: define{{.*}} void @fixed_len_array
 void fixed_len_array(int k) {
   // CHECK: getelementptr inbounds [10 x [10 x i32]], [10 x [10 x i32]]* [[ARR:%.*]], i64 0, i64 [[IDXPROM:%.*]]
   // CHECK-NEXT: [[SMUL:%.*]] = call { i64, i1 } @llvm.smul.with.overflow.i64(i64 40, i64 [[IDXPROM]]), !nosanitize
@@ -23,7 +23,7 @@ void fixed_len_array(int k) {
   arr[k][k];
 }
 
-// CHECK-LABEL: define void @variable_len_array
+// CHECK-LABEL: define{{.*}} void @variable_len_array
 void variable_len_array(int n, int k) {
   // CHECK: getelementptr inbounds i32, i32* {{.*}}, i64 [[IDXPROM:%.*]]
   // CHECK-NEXT: @llvm.smul.with.overflow.i64(i64 4, i64 [[IDXPROM]]), !nosanitize
@@ -37,7 +37,7 @@ void variable_len_array(int n, int k) {
   arr[k][k];
 }
 
-// CHECK-LABEL: define void @pointer_array
+// CHECK-LABEL: define{{.*}} void @pointer_array
 void pointer_array(int **arr, int k) {
   // CHECK: @llvm.smul.with.overflow.i64(i64 8, i64 {{.*}}), !nosanitize
   // CHECK: call void @__ubsan_handle_pointer_overflow{{.*}}
@@ -48,7 +48,7 @@ void pointer_array(int **arr, int k) {
   arr[k][k];
 }
 
-// CHECK-LABEL: define void @pointer_array_unsigned_indices
+// CHECK-LABEL: define{{.*}} void @pointer_array_unsigned_indices
 void pointer_array_unsigned_indices(int **arr, unsigned k) {
   // CHECK: icmp uge
   // CHECK-NOT: select
@@ -59,7 +59,7 @@ void pointer_array_unsigned_indices(int **arr, unsigned k) {
   arr[k][k];
 }
 
-// CHECK-LABEL: define void @pointer_array_mixed_indices
+// CHECK-LABEL: define{{.*}} void @pointer_array_mixed_indices
 void pointer_array_mixed_indices(int **arr, int i, unsigned j) {
   // CHECK: select
   // CHECK: call void @__ubsan_handle_pointer_overflow{{.*}}
@@ -80,7 +80,7 @@ struct S1 {
 // TODO: Currently, structure GEPs are not checked, so there are several
 // potentially unsafe GEPs here which we don't instrument.
 //
-// CHECK-LABEL: define void @struct_index
+// CHECK-LABEL: define{{.*}} void @struct_index
 void struct_index(struct S1 *p) {
   // CHECK: getelementptr inbounds %struct.S1, %struct.S1* [[P:%.*]], i64 10
   // CHECK-NEXT: [[BASE:%.*]] = ptrtoint %struct.S1* [[P]] to i64, !nosanitize
@@ -95,7 +95,7 @@ void struct_index(struct S1 *p) {
 
 typedef void (*funcptr_t)(void);
 
-// CHECK-LABEL: define void @function_pointer_arith
+// CHECK-LABEL: define{{.*}} void @function_pointer_arith
 void function_pointer_arith(funcptr_t *p, int k) {
   // CHECK: add i64 {{.*}}, 8, !nosanitize
   // CHECK-NOT: select
@@ -108,7 +108,7 @@ void function_pointer_arith(funcptr_t *p, int k) {
   p + k;
 }
 
-// CHECK-LABEL: define void @dont_emit_checks_for_no_op_GEPs
+// CHECK-LABEL: define{{.*}} void @dont_emit_checks_for_no_op_GEPs
 // CHECK-C: __ubsan_handle_pointer_overflow
 // CHECK-CPP-NOT: __ubsan_handle_pointer_overflow
 void dont_emit_checks_for_no_op_GEPs(char *p) {

diff  --git a/clang/test/CodeGen/ubsan-pointer-overflow.m b/clang/test/CodeGen/ubsan-pointer-overflow.m
index d48e22579a02..85156fbcec2c 100644
--- a/clang/test/CodeGen/ubsan-pointer-overflow.m
+++ b/clang/test/CodeGen/ubsan-pointer-overflow.m
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -w -emit-llvm -o - %s -fsanitize=pointer-overflow | FileCheck %s
 
-// CHECK-LABEL: define void @variable_len_array_arith
+// CHECK-LABEL: define{{.*}} void @variable_len_array_arith
 void variable_len_array_arith(int n, int k) {
   int vla[n];
   int (*p)[n] = &vla;
@@ -18,7 +18,7 @@ void variable_len_array_arith(int n, int k) {
   p + k;
 }
 
-// CHECK-LABEL: define void @objc_id
+// CHECK-LABEL: define{{.*}} void @objc_id
 void objc_id(id *p) {
   // CHECK: add i64 {{.*}}, 8, !nosanitize
   // CHECK-NOT: select

diff  --git a/clang/test/CodeGen/ubsan-promoted-arith.cpp b/clang/test/CodeGen/ubsan-promoted-arith.cpp
index 5a2898b5423b..691147772088 100644
--- a/clang/test/CodeGen/ubsan-promoted-arith.cpp
+++ b/clang/test/CodeGen/ubsan-promoted-arith.cpp
@@ -12,120 +12,120 @@ enum E2 : char {
   b
 };
 
-// CHECK-LABEL: define signext i8 @_Z4add1
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4add1
 // CHECK-NOT: sadd.with.overflow
 char add1(char c) { return c + c; }
 
-// CHECK-LABEL: define zeroext i8 @_Z4add2
+// CHECK-LABEL: define{{.*}} zeroext i8 @_Z4add2
 // CHECK-NOT: uadd.with.overflow
 uchar add2(uchar uc) { return uc + uc; }
 
-// CHECK-LABEL: define i32 @_Z4add3
+// CHECK-LABEL: define{{.*}} i32 @_Z4add3
 // CHECK: sadd.with.overflow
 int add3(E1 e) { return e + a; }
 
-// CHECK-LABEL: define signext i8 @_Z4add4
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4add4
 // CHECK-NOT: sadd.with.overflow
 char add4(E2 e) { return e + b; }
 
-// CHECK-LABEL: define signext i8 @_Z4sub1
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4sub1
 // CHECK-NOT: ssub.with.overflow
 char sub1(char c) { return c - c; }
 
-// CHECK-LABEL: define zeroext i8 @_Z4sub2
+// CHECK-LABEL: define{{.*}} zeroext i8 @_Z4sub2
 // CHECK-NOT: usub.with.overflow
 uchar sub2(uchar uc) { return uc - uc; }
 
-// CHECK-LABEL: define signext i8 @_Z4sub3
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4sub3
 // CHECK-NOT: ssub.with.overflow
 char sub3(char c) { return -c; }
 
 // Note: -INT_MIN can overflow.
 //
-// CHECK-LABEL: define i32 @_Z4sub4
+// CHECK-LABEL: define{{.*}} i32 @_Z4sub4
 // CHECK: ssub.with.overflow
 int sub4(int i) { return -i; }
 
-// CHECK-LABEL: define signext i8 @_Z4mul1
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4mul1
 // CHECK-NOT: smul.with.overflow
 char mul1(char c) { return c * c; }
 
-// CHECK-LABEL: define zeroext i8 @_Z4mul2
+// CHECK-LABEL: define{{.*}} zeroext i8 @_Z4mul2
 // CHECK-NOT: smul.with.overflow
 uchar mul2(uchar uc) { return uc * uc; }
 
 // Note: USHRT_MAX * USHRT_MAX can overflow.
 //
-// CHECK-LABEL: define zeroext i16 @_Z4mul3
+// CHECK-LABEL: define{{.*}} zeroext i16 @_Z4mul3
 // CHECK: smul.with.overflow
 ushort mul3(ushort us) { return us * us; }
 
-// CHECK-LABEL: define i32 @_Z4mul4
+// CHECK-LABEL: define{{.*}} i32 @_Z4mul4
 // CHECK: smul.with.overflow
 int mul4(int i, char c) { return i * c; }
 
-// CHECK-LABEL: define i32 @_Z4mul5
+// CHECK-LABEL: define{{.*}} i32 @_Z4mul5
 // CHECK: smul.with.overflow
 int mul5(int i, char c) { return c * i; }
 
-// CHECK-LABEL: define signext i16 @_Z4mul6
+// CHECK-LABEL: define{{.*}} signext i16 @_Z4mul6
 // CHECK-NOT: smul.with.overflow
 short mul6(short s) { return s * s; }
 
-// CHECK-LABEL: define signext i8 @_Z4div1
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4div1
 // CHECK-NOT: ubsan_handle_divrem_overflow
 char div1(char c) { return c / c; }
 
-// CHECK-LABEL: define zeroext i8 @_Z4div2
+// CHECK-LABEL: define{{.*}} zeroext i8 @_Z4div2
 // CHECK-NOT: ubsan_handle_divrem_overflow
 uchar div2(uchar uc) { return uc / uc; }
 
-// CHECK-LABEL: define signext i8 @_Z4div3
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4div3
 // CHECK-NOT: ubsan_handle_divrem_overflow
 char div3(char c, int i) { return c / i; }
 
-// CHECK-LABEL: define signext i8 @_Z4div4
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4div4
 // CHECK: ubsan_handle_divrem_overflow
 char div4(int i, char c) { return i / c; }
 
 // Note: INT_MIN / -1 can overflow.
 //
-// CHECK-LABEL: define signext i8 @_Z4div5
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4div5
 // CHECK: ubsan_handle_divrem_overflow
 char div5(int i, char c) { return i / c; }
 
-// CHECK-LABEL: define signext i8 @_Z4rem1
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4rem1
 // CHECK-NOT: ubsan_handle_divrem_overflow
 char rem1(char c) { return c % c; }
 
-// CHECK-LABEL: define zeroext i8 @_Z4rem2
+// CHECK-LABEL: define{{.*}} zeroext i8 @_Z4rem2
 // CHECK-NOT: ubsan_handle_divrem_overflow
 uchar rem2(uchar uc) { return uc % uc; }
 
-// CHECK-LABEL: define signext i8 @_Z4rem3
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4rem3
 // CHECK: ubsan_handle_divrem_overflow
 char rem3(int i, char c) { return i % c; }
 
-// CHECK-LABEL: define signext i8 @_Z4rem4
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4rem4
 // CHECK-NOT: ubsan_handle_divrem_overflow
 char rem4(char c, int i) { return c % i; }
 
-// CHECK-LABEL: define signext i8 @_Z4inc1
+// CHECK-LABEL: define{{.*}} signext i8 @_Z4inc1
 // CHECK-NOT: sadd.with.overflow
 char inc1(char c) { return c++ + (char)0; }
 
-// CHECK-LABEL: define zeroext i8 @_Z4inc2
+// CHECK-LABEL: define{{.*}} zeroext i8 @_Z4inc2
 // CHECK-NOT: uadd.with.overflow
 uchar inc2(uchar uc) { return uc++ + (uchar)0; }
 
-// CHECK-LABEL: define void @_Z4inc3
+// CHECK-LABEL: define{{.*}} void @_Z4inc3
 // CHECK-NOT: sadd.with.overflow
 void inc3(char c) { c++; }
 
-// CHECK-LABEL: define void @_Z4inc4
+// CHECK-LABEL: define{{.*}} void @_Z4inc4
 // CHECK-NOT: uadd.with.overflow
 void inc4(uchar uc) { uc++; }
 
-// CHECK-LABEL: define <4 x i32> @_Z4vremDv4_iS_
+// CHECK-LABEL: define{{.*}} <4 x i32> @_Z4vremDv4_iS_
 // CHECK-NOT: ubsan_handle_divrem_overflow
 int4 vrem(int4 a, int4 b) { return a % b; }

diff  --git a/clang/test/CodeGen/ubsan-shift.c b/clang/test/CodeGen/ubsan-shift.c
index 90c15d8c086f..bc581e80557b 100644
--- a/clang/test/CodeGen/ubsan-shift.c
+++ b/clang/test/CodeGen/ubsan-shift.c
@@ -1,34 +1,34 @@
 // RUN: %clang_cc1 -triple=x86_64-apple-darwin -fsanitize=shift-exponent,shift-base -emit-llvm %s -o - | FileCheck %s
 
-// CHECK-LABEL: define i32 @f1
+// CHECK-LABEL: define{{.*}} i32 @f1
 int f1(int c, int shamt) {
 // CHECK: icmp ule i32 %{{.*}}, 31, !nosanitize
 // CHECK: icmp ule i32 %{{.*}}, 31, !nosanitize
   return 1 << (c << shamt);
 }
 
-// CHECK-LABEL: define i32 @f2
+// CHECK-LABEL: define{{.*}} i32 @f2
 int f2(long c, int shamt) {
 // CHECK: icmp ule i32 %{{.*}}, 63, !nosanitize
 // CHECK: icmp ule i64 %{{.*}}, 31, !nosanitize
   return 1 << (c << shamt);
 }
 
-// CHECK-LABEL: define i32 @f3
+// CHECK-LABEL: define{{.*}} i32 @f3
 unsigned f3(unsigned c, int shamt) {
 // CHECK: icmp ule i32 %{{.*}}, 31, !nosanitize
 // CHECK: icmp ule i32 %{{.*}}, 31, !nosanitize
   return 1U << (c << shamt);
 }
 
-// CHECK-LABEL: define i32 @f4
+// CHECK-LABEL: define{{.*}} i32 @f4
 unsigned f4(unsigned long c, int shamt) {
 // CHECK: icmp ule i32 %{{.*}}, 63, !nosanitize
 // CHECK: icmp ule i64 %{{.*}}, 31, !nosanitize
   return 1U << (c << shamt);
 }
 
-// CHECK-LABEL: define i32 @f5
+// CHECK-LABEL: define{{.*}} i32 @f5
 int f5(int c, long long shamt) {
 // CHECK: icmp ule i64 %{{[0-9]+}}, 31, !nosanitize
 //
@@ -37,7 +37,7 @@ int f5(int c, long long shamt) {
   return c << shamt;
 }
 
-// CHECK-LABEL: define i32 @f6
+// CHECK-LABEL: define{{.*}} i32 @f6
 int f6(int c, int shamt) {
 // CHECK: icmp ule i32 %[[WIDTH:.*]], 31, !nosanitize
 //

diff  --git a/clang/test/CodeGen/unsigned-overflow.c b/clang/test/CodeGen/unsigned-overflow.c
index c91be3356edd..88449cf93fc6 100644
--- a/clang/test/CodeGen/unsigned-overflow.c
+++ b/clang/test/CodeGen/unsigned-overflow.c
@@ -8,7 +8,7 @@ unsigned int ii, ij, ik;
 extern void opaquelong(unsigned long);
 extern void opaqueint(unsigned int);
 
-// CHECK-LABEL: define void @testlongadd()
+// CHECK-LABEL: define{{.*}} void @testlongadd()
 void testlongadd() {
 
   // CHECK:      [[T1:%.*]] = load i64, i64* @lj
@@ -20,7 +20,7 @@ void testlongadd() {
   li = lj + lk;
 }
 
-// CHECK-LABEL: define void @testlongsub()
+// CHECK-LABEL: define{{.*}} void @testlongsub()
 void testlongsub() {
 
   // CHECK:      [[T1:%.*]] = load i64, i64* @lj
@@ -32,7 +32,7 @@ void testlongsub() {
   li = lj - lk;
 }
 
-// CHECK-LABEL: define void @testlongmul()
+// CHECK-LABEL: define{{.*}} void @testlongmul()
 void testlongmul() {
 
   // CHECK:      [[T1:%.*]] = load i64, i64* @lj
@@ -44,7 +44,7 @@ void testlongmul() {
   li = lj * lk;
 }
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL: define void @testintadd()
+// CHECK-LABEL: define{{.*}} void @testintadd()
 void testintadd() {
 
   // CHECK:      [[T1:%.*]] = load i32, i32* @ij
@@ -78,7 +78,7 @@ void testintadd() {
   ii = ij + ik;
 }
 
-// CHECK-LABEL: define void @testintsub()
+// CHECK-LABEL: define{{.*}} void @testintsub()
 void testintsub() {
 
   // CHECK:      [[T1:%.*]] = load i32, i32* @ij
@@ -90,7 +90,7 @@ void testintsub() {
   ii = ij - ik;
 }
 
-// CHECK-LABEL: define void @testintmul()
+// CHECK-LABEL: define{{.*}} void @testintmul()
 void testintmul() {
 
   // CHECK:      [[T1:%.*]] = load i32, i32* @ij
@@ -102,7 +102,7 @@ void testintmul() {
   ii = ij * ik;
 }
 
-// CHECK-LABEL: 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-LABEL: define void @testintpreinc()
+// CHECK-LABEL: define{{.*}} void @testintpreinc()
 void testintpreinc() {
   opaqueint(++ii);
 

diff  --git a/clang/test/CodeGen/unsigned-promotion.c b/clang/test/CodeGen/unsigned-promotion.c
index 4b13f68781b9..eca089541665 100644
--- a/clang/test/CodeGen/unsigned-promotion.c
+++ b/clang/test/CodeGen/unsigned-promotion.c
@@ -8,8 +8,8 @@
 
 unsigned short si, sj, sk;
 
-// CHECKS-LABEL:   define void @testshortmul()
-// CHECKU-LABEL: define void @testshortmul()
+// CHECKS-LABEL:   define{{.*}} void @testshortmul()
+// CHECKU-LABEL: define{{.*}} void @testshortmul()
 void testshortmul() {
 
   // CHECKS:        load i16, i16* @sj

diff  --git a/clang/test/CodeGen/vector.c b/clang/test/CodeGen/vector.c
index f128c8a321bd..dfd75b6095ea 100644
--- a/clang/test/CodeGen/vector.c
+++ b/clang/test/CodeGen/vector.c
@@ -69,7 +69,7 @@ vec_int1 lax_vector_compare1(int x, vec_int1 y) {
   return y;
 }
 
-// CHECK: define i32 @lax_vector_compare1(i32 {{.*}}, i32 {{.*}})
+// CHECK: define{{.*}} i32 @lax_vector_compare1(i32 {{.*}}, i32 {{.*}})
 // CHECK: icmp eq i32
 
 typedef int vec_int2 __attribute__((vector_size(8)));
@@ -78,5 +78,5 @@ vec_int2 lax_vector_compare2(long long x, vec_int2 y) {
   return y;
 }
 
-// CHECK: define void @lax_vector_compare2(<2 x i32>* {{.*sret.*}}, i64 {{.*}}, i64 {{.*}})
+// CHECK: define{{.*}} void @lax_vector_compare2(<2 x i32>* {{.*sret.*}}, i64 {{.*}}, i64 {{.*}})
 // CHECK: icmp eq <2 x i32>

diff  --git a/clang/test/CodeGen/volatile-2.c b/clang/test/CodeGen/volatile-2.c
index 84cbc1edc470..4cd21af527a9 100644
--- a/clang/test/CodeGen/volatile-2.c
+++ b/clang/test/CodeGen/volatile-2.c
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
 
 void test0() {
-  // CHECK-LABEL: define void @test0()
+  // CHECK-LABEL: define{{.*}} void @test0()
   // CHECK:      [[F:%.*]] = alloca float
   // CHECK-NEXT: [[REAL:%.*]] = load volatile float, float* getelementptr inbounds ({ float, float }, { float, float }* @test0_v, i32 0, i32 0), align 4
   // CHECK-NEXT: load volatile float, float* getelementptr inbounds ({{.*}} @test0_v, i32 0, i32 1), align 4
@@ -12,7 +12,7 @@ void test0() {
 }
 
 void test1() {
-  // CHECK-LABEL: define void @test1()
+  // CHECK-LABEL: define{{.*}} void @test1()
   // CHECK:      [[REAL:%.*]] = load volatile float, float* getelementptr inbounds ({{.*}} @test1_v, i32 0, i32 0), align 4
   // CHECK-NEXT: [[IMAG:%.*]] = load volatile float, 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

diff  --git a/clang/test/CodeGenCXX/DynArrayInit.cpp b/clang/test/CodeGenCXX/DynArrayInit.cpp
index fb865e35af4e..c7bc60dc76a8 100644
--- a/clang/test/CodeGenCXX/DynArrayInit.cpp
+++ b/clang/test/CodeGenCXX/DynArrayInit.cpp
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -O3 -emit-llvm -o - %s | FileCheck %s
 // PR7490
 
-// CHECK-LABEL: 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; }

diff  --git a/clang/test/CodeGenCXX/abstract-class-ctors-dtors.cpp b/clang/test/CodeGenCXX/abstract-class-ctors-dtors.cpp
index f1d207649a4a..87e6f4abdeff 100644
--- a/clang/test/CodeGenCXX/abstract-class-ctors-dtors.cpp
+++ b/clang/test/CodeGenCXX/abstract-class-ctors-dtors.cpp
@@ -7,10 +7,10 @@ struct A {
   ~A();
 };
 
-// CHECK-NOT: define void @_ZN1AC1Ev
-// CHECK-LABEL: define void @_ZN1AC2Ev
-// CHECK-LABEL: define void @_ZN1AD2Ev
-// CHECK-LABEL: define void @_ZN1AD1Ev
+// CHECK-NOT: define{{.*}} void @_ZN1AC1Ev
+// CHECK-LABEL: define{{.*}} void @_ZN1AC2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN1AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN1AD1Ev
 A::A() { }
 
 A::~A() { }

diff  --git a/clang/test/CodeGenCXX/address-space-ref.cpp b/clang/test/CodeGenCXX/address-space-ref.cpp
index f9ec848d2c9c..33c42704d0cb 100644
--- a/clang/test/CodeGenCXX/address-space-ref.cpp
+++ b/clang/test/CodeGenCXX/address-space-ref.cpp
@@ -10,7 +10,7 @@ a & foo(a &x, a & y) {
   return x;
 }
 
-// CHECK: define align 4 dereferenceable(4) i32 addrspace(1)* @_Z3fooRU3AS1iS0_(i32 addrspace(1)* align 4 dereferenceable(4) %x, i32 addrspace(1)* align 4 dereferenceable(4) %y)
+// CHECK: define{{.*}} align 4 dereferenceable(4) i32 addrspace(1)* @_Z3fooRU3AS1iS0_(i32 addrspace(1)* align 4 dereferenceable(4) %x, i32 addrspace(1)* align 4 dereferenceable(4) %y)
 
 // For a reference to an incomplete type in an alternate address space, output
 // neither dereferenceable nor nonnull.
@@ -22,7 +22,7 @@ b & bar(b &x, b & y) {
   return x;
 }
 
-// CHECK: define align 1 %class.bc addrspace(1)* @_Z3barRU3AS12bcS1_(%class.bc addrspace(1)* align 1 %x, %class.bc addrspace(1)* align 1 %y)
+// CHECK: define{{.*}} align 1 %class.bc addrspace(1)* @_Z3barRU3AS12bcS1_(%class.bc addrspace(1)* align 1 %x, %class.bc addrspace(1)* align 1 %y)
 
 // For a reference to an incomplete type in addrspace(0), output nonnull.
 
@@ -30,7 +30,7 @@ bc & bar2(bc &x, bc & y) {
   return x;
 }
 
-// NULL-INVALID: define nonnull align 1 %class.bc* @_Z4bar2R2bcS0_(%class.bc* nonnull align 1 %x, %class.bc* nonnull align 1 %y)
-// NULL-VALID: define align 1 %class.bc* @_Z4bar2R2bcS0_(%class.bc* align 1 %x, %class.bc* align 1 %y)
+// NULL-INVALID: define{{.*}} nonnull align 1 %class.bc* @_Z4bar2R2bcS0_(%class.bc* nonnull align 1 %x, %class.bc* nonnull align 1 %y)
+// NULL-VALID: define{{.*}} align 1 %class.bc* @_Z4bar2R2bcS0_(%class.bc* align 1 %x, %class.bc* align 1 %y)
 
 

diff  --git a/clang/test/CodeGenCXX/alloc-size.cpp b/clang/test/CodeGenCXX/alloc-size.cpp
index e68e52c86bf2..382caace7a5e 100644
--- a/clang/test/CodeGenCXX/alloc-size.cpp
+++ b/clang/test/CodeGenCXX/alloc-size.cpp
@@ -12,7 +12,7 @@ template <typename T> int callMalloc();
 
 template <typename T, int N> int callCalloc();
 
-// CHECK-LABEL: define i32 @_ZN9templates6testItEv()
+// CHECK-LABEL: define{{.*}} i32 @_ZN9templates6testItEv()
 int testIt() {
   // CHECK: call i32 @_ZN9templates10callMallocINS_6MyTypeEEEiv
   // CHECK: call i32 @_ZN9templates10callCallocINS_6MyTypeELi4EEEiv
@@ -59,7 +59,7 @@ template <typename T, size_t M>
 void *dependent_calloc2(size_t NT = sizeof(T), size_t MT = M)
     __attribute__((alloc_size(1, 2)));
 
-// CHECK-LABEL: define i32 @_ZN20templated_alloc_size6testItEv
+// CHECK-LABEL: define{{.*}} i32 @_ZN20templated_alloc_size6testItEv
 int testIt() {
   // 122 = 4 + 5*4 + 6 + 7*8 + 4*9
   // CHECK: ret i32 122
@@ -79,7 +79,7 @@ struct Foo {
 
 void *my_malloc(const Foo &, int N) __attribute__((alloc_size(2)));
 
-// CHECK-LABEL: define i32 @_ZN24alloc_size_with_cleanups6testItEv
+// CHECK-LABEL: define{{.*}} i32 @_ZN24alloc_size_with_cleanups6testItEv
 int testIt() {
   int *const p = (int *)my_malloc(Foo{}, 3);
   // CHECK: ret i32 3
@@ -93,13 +93,13 @@ class C {
   void *my_calloc(int N, int M) __attribute__((alloc_size(2, 3)));
 };
 
-// CHECK-LABEL: define i32 @_Z16callMemberMallocv
+// CHECK-LABEL: define{{.*}} i32 @_Z16callMemberMallocv
 int callMemberMalloc() {
   // CHECK: ret i32 16
   return __builtin_object_size(C().my_malloc(16), 0);
 }
 
-// CHECK-LABEL: define i32 @_Z16callMemberCallocv
+// CHECK-LABEL: define{{.*}} i32 @_Z16callMemberCallocv
 int callMemberCalloc() {
   // CHECK: ret i32 32
   return __builtin_object_size(C().my_calloc(16, 2), 0);

diff  --git a/clang/test/CodeGenCXX/anonymous-namespaces.cpp b/clang/test/CodeGenCXX/anonymous-namespaces.cpp
index b2857ff41714..429e73b8f9dc 100644
--- a/clang/test/CodeGenCXX/anonymous-namespaces.cpp
+++ b/clang/test/CodeGenCXX/anonymous-namespaces.cpp
@@ -65,7 +65,7 @@ namespace test2 {
     struct C;
   }
 
-  // CHECK-2-LABEL: define void @_ZN5test24testEv()
+  // CHECK-2-LABEL: define{{.*}} void @_ZN5test24testEv()
   // CHECK-2:   call void @_ZN5test21A1BINS_12_GLOBAL__N_11CEE3fooEv()
   void test() {
     A::B<C>::foo();

diff  --git a/clang/test/CodeGenCXX/anonymous-union-member-initializer.cpp b/clang/test/CodeGenCXX/anonymous-union-member-initializer.cpp
index e8c4480b4906..9e3ffb475445 100644
--- a/clang/test/CodeGenCXX/anonymous-union-member-initializer.cpp
+++ b/clang/test/CodeGenCXX/anonymous-union-member-initializer.cpp
@@ -10,7 +10,7 @@ struct S {
   };
 };
 
-// CHECK: @_ZN11rdar88182363fooE = global i64 4
+// CHECK: @_ZN11rdar88182363fooE ={{.*}} global i64 4
 char S::*foo  = &S::c;
 }
 
@@ -31,7 +31,7 @@ namespace PR7021 {
     union { long l; };
   };
 
-  // CHECK-LABEL: 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-LABEL: define void @_ZN5test21AC2Ev(
+  // CHECK-LABEL: define{{.*}} void @_ZN5test21AC2Ev(
   // CHECK-NOT: }
   // CHECK: store i32 10
   // CHECK: }
@@ -79,14 +79,14 @@ namespace PR10512 {
     };
   };
 
-  // CHECK-LABEL: 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]]*, [[A]]** [[THISADDR]]
   // CHECK-NEXT: ret void
   A::A() {}
 
-  // CHECK-LABEL: 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-LABEL: 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-LABEL: 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 

diff  --git a/clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp b/clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
index 3b2cda8b583b..b6d26259afc6 100644
--- a/clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
+++ b/clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
@@ -1,9 +1,9 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fapple-kext -fno-rtti -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: @_ZTV1A = unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* null, i8* bitcast (i8* (%struct.A*)* @_ZNK1A3abcEv to i8*), i8* null] }
-// CHECK: @_ZTV4Base = unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* null, i8* bitcast (i8* (%struct.Base*)* @_ZNK4Base3abcEv to i8*), i8* null] }
-// CHECK: @_ZTV8Derived2 = unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* null, i8* null, i8* bitcast (i8* (%struct.Derived2*)* @_ZNK8Derived23efgEv to i8*), i8* null] }
-// CHECK: @_ZTV2D2 = unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* null, i8* null, i8* bitcast (i8* (%struct.D2*)* @_ZNK2D23abcEv to i8*), i8* null] }
+// CHECK: @_ZTV1A ={{.*}} unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* null, i8* bitcast (i8* (%struct.A*)* @_ZNK1A3abcEv to i8*), i8* null] }
+// CHECK: @_ZTV4Base ={{.*}} unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* null, i8* bitcast (i8* (%struct.Base*)* @_ZNK4Base3abcEv to i8*), i8* null] }
+// CHECK: @_ZTV8Derived2 ={{.*}} unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* null, i8* null, i8* bitcast (i8* (%struct.Derived2*)* @_ZNK8Derived23efgEv to i8*), i8* null] }
+// CHECK: @_ZTV2D2 ={{.*}} unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* null, i8* null, i8* bitcast (i8* (%struct.D2*)* @_ZNK2D23abcEv to i8*), i8* null] }
 
 struct A {
   virtual const char* abc(void) const;

diff  --git a/clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp b/clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
index 18c808573315..e8f4dc02ee9c 100644
--- a/clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
+++ b/clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
@@ -11,10 +11,10 @@ B1::~B1() {}
 void DELETE(B1 *pb1) {
   pb1->B1::~B1();
 }
-// CHECK-LABEL: define void @_ZN2B1D0Ev
+// CHECK-LABEL: define{{.*}} void @_ZN2B1D0Ev
 // CHECK: [[T1:%.*]] = load void (%struct.B1*)*, void (%struct.B1*)** getelementptr inbounds (void (%struct.B1*)*, void (%struct.B1*)** bitcast ({ [5 x i8*] }* @_ZTV2B1 to void (%struct.B1*)**), i64 2)
 // CHECK-NEXT: call void [[T1]](%struct.B1* {{[^,]*}} [[T2:%.*]])
-// CHECK-LABEL: define void @_Z6DELETEP2B1
+// CHECK-LABEL: define{{.*}} void @_Z6DELETEP2B1
 // CHECK: [[T3:%.*]] = load void (%struct.B1*)*, void (%struct.B1*)** getelementptr inbounds (void (%struct.B1*)*, void (%struct.B1*)** bitcast ({ [5 x i8*] }* @_ZTV2B1 to void (%struct.B1*)**), i64 2)
 // CHECK-NEXT:  call void [[T3]](%struct.B1* {{[^,]*}} [[T4:%.*]])
 

diff  --git a/clang/test/CodeGenCXX/apple-kext-linkage.cpp b/clang/test/CodeGenCXX/apple-kext-linkage.cpp
index e66b0389fcc3..8e020944240f 100644
--- a/clang/test/CodeGenCXX/apple-kext-linkage.cpp
+++ b/clang/test/CodeGenCXX/apple-kext-linkage.cpp
@@ -19,7 +19,7 @@ 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-LABEL: define void @_Z3barIiEvv()
+// CHECK-LABEL: define{{.*}} void @_Z3barIiEvv()
 template <typename T> void bar() {}
 template void bar<int>();
 

diff  --git a/clang/test/CodeGenCXX/apple-kext.cpp b/clang/test/CodeGenCXX/apple-kext.cpp
index f063d408c80c..1104fec3c076 100644
--- a/clang/test/CodeGenCXX/apple-kext.cpp
+++ b/clang/test/CodeGenCXX/apple-kext.cpp
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fno-use-cxa-atexit -fapple-kext -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: @_ZN5test01aE = global [[A:%.*]] zeroinitializer
+// CHECK: @_ZN5test01aE ={{.*}} global [[A:%.*]] zeroinitializer
 // CHECK: @llvm.global_ctors = appending global {{.*}} { i32 65535, void ()* [[CTOR0:@.*]], i8* null }
 // CHECK: @llvm.global_dtors = appending global {{.*}} { i32 65535, void ()* [[DTOR0:@.*]], i8* null }
 
@@ -17,11 +17,11 @@ D::~D() {}
 #pragma clang optimize on
 }
 
-// CHECK: define void @_ZN18testBaseDestructor1DD2Ev({{.*}}) unnamed_addr #[[ATTR0:.*]] align 2 {
+// CHECK: define{{.*}} void @_ZN18testBaseDestructor1DD2Ev({{.*}}) unnamed_addr #[[ATTR0:.*]] align 2 {
 
-// CHECK: define void @_ZN18testBaseDestructor1DD1Ev({{.*}}) unnamed_addr #[[ATTR1:.*]] align 2 {
+// CHECK: define{{.*}} void @_ZN18testBaseDestructor1DD1Ev({{.*}}) unnamed_addr #[[ATTR1:.*]] align 2 {
 
-// CHECK: define void @_ZN18testBaseDestructor1DD0Ev({{.*}}) unnamed_addr #[[ATTR1]] align 2 {
+// CHECK: define{{.*}} void @_ZN18testBaseDestructor1DD0Ev({{.*}}) unnamed_addr #[[ATTR1]] align 2 {
 
 // rdar://11241230
 namespace test0 {

diff  --git a/clang/test/CodeGenCXX/arm-swiftcall.cpp b/clang/test/CodeGenCXX/arm-swiftcall.cpp
index 94d9cd32e36c..2cad9af2e5d8 100644
--- a/clang/test/CodeGenCXX/arm-swiftcall.cpp
+++ b/clang/test/CodeGenCXX/arm-swiftcall.cpp
@@ -75,7 +75,7 @@ TEST(struct_1);
 // CHECK:   [[T0:%.*]] = getelementptr inbounds [[AGG]], [[AGG]]* [[CAST_TMP]], i32 0, i32 5
 // CHECK:   store float %3, float* [[T0]], align 4
 // CHECK:   ret void
-// CHECK-LABEL: define void @test_struct_1()
+// CHECK-LABEL: define{{.*}} void @test_struct_1()
 // CHECK:   [[TMP:%.*]] = alloca [[REC]], align 4
 // CHECK:   [[CALL:%.*]] = call [[SWIFTCC:swiftcc]] [[UAGG]] @return_struct_1()
 // CHECK:   [[CAST_TMP:%.*]] = bitcast [[REC]]* [[TMP]] to [[AGG]]*
@@ -120,6 +120,6 @@ TEST(struct_indirect_1)
 class struct_trivial {
   int x;
 };
-// CHECK-LABEL: define swiftcc void @test_struct_trivial(i32{{( %.*)?}})
+// CHECK-LABEL: define{{.*}} swiftcc void @test_struct_trivial(i32{{( %.*)?}})
 extern "C" SWIFTCALL
 void test_struct_trivial(struct_trivial triv) {}

diff  --git a/clang/test/CodeGenCXX/arm.cpp b/clang/test/CodeGenCXX/arm.cpp
index 06354b1a9ad0..746cde6b3136 100644
--- a/clang/test/CodeGenCXX/arm.cpp
+++ b/clang/test/CodeGenCXX/arm.cpp
@@ -43,7 +43,7 @@ namespace test1 {
     void bar() { foo(); }
   };
 
-  // CHECK-LABEL: define void @_ZN5test14testEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN5test14testEv()
   void test() {
     // CHECK: [[AV:%.*]] = alloca [[A:%.*]], align 1
     // CHECK: call [[A]]* @_ZN5test11AC1Ei([[A]]* {{[^,]*}} [[AV]], i32 10)
@@ -109,7 +109,7 @@ namespace test3 {
   };
 
   void a() {
-    // CHECK-LABEL: define void @_ZN5test31aEv()
+    // CHECK-LABEL: define{{.*}} void @_ZN5test31aEv()
     // CHECK: call noalias nonnull i8* @_Znam(i32 48)
     // CHECK: store i32 4
     // CHECK: store i32 10
@@ -117,7 +117,7 @@ namespace test3 {
   }
 
   void b(int n) {
-    // CHECK-LABEL: define void @_ZN5test31bEi(
+    // CHECK-LABEL: define{{.*}} void @_ZN5test31bEi(
     // CHECK: [[N:%.*]] = load i32, i32*
     // CHECK: @llvm.umul.with.overflow.i32(i32 [[N]], i32 4)
     // CHECK: @llvm.uadd.with.overflow.i32(i32 {{.*}}, i32 8)
@@ -130,7 +130,7 @@ namespace test3 {
   }
 
   void c() {
-    // CHECK-LABEL: define void @_ZN5test31cEv()
+    // CHECK-LABEL: define{{.*}} void @_ZN5test31cEv()
     // CHECK: call noalias nonnull i8* @_Znam(i32 808)
     // CHECK: store i32 4
     // CHECK: store i32 200
@@ -138,7 +138,7 @@ namespace test3 {
   }
 
   void d(int n) {
-    // CHECK-LABEL: define void @_ZN5test31dEi(
+    // CHECK-LABEL: define{{.*}} void @_ZN5test31dEi(
     // CHECK: [[N:%.*]] = load i32, i32*
     // CHECK: @llvm.umul.with.overflow.i32(i32 [[N]], i32 80)
     // CHECK: [[NE:%.*]] = mul i32 [[N]], 20
@@ -151,7 +151,7 @@ namespace test3 {
   }
 
   void e(A *x) {
-    // CHECK-LABEL: define void @_ZN5test31eEPNS_1AE(
+    // CHECK-LABEL: define{{.*}} void @_ZN5test31eEPNS_1AE(
     // CHECK: icmp eq {{.*}}, null
     // CHECK: getelementptr {{.*}}, i32 -8
     // CHECK: getelementptr {{.*}}, i32 4
@@ -164,7 +164,7 @@ namespace test3 {
   }
 
   void f(A (*x)[20]) {
-    // CHECK-LABEL: define void @_ZN5test31fEPA20_NS_1AE(
+    // CHECK-LABEL: define{{.*}} void @_ZN5test31fEPA20_NS_1AE(
     // CHECK: icmp eq {{.*}}, null
     // CHECK: getelementptr {{.*}}, i32 -8
     // CHECK: getelementptr {{.*}}, i32 4
@@ -184,7 +184,7 @@ namespace test4 {
   };
 
   void a() {
-    // CHECK-LABEL: define void @_ZN5test41aEv()
+    // CHECK-LABEL: define{{.*}} void @_ZN5test41aEv()
     // CHECK: call noalias nonnull i8* @_Znam(i32 48)
     // CHECK: store i32 4
     // CHECK: store i32 10
@@ -192,7 +192,7 @@ namespace test4 {
   }
 
   void b(int n) {
-    // CHECK-LABEL: define void @_ZN5test41bEi(
+    // CHECK-LABEL: define{{.*}} void @_ZN5test41bEi(
     // CHECK: [[N:%.*]] = load i32, i32*
     // CHECK: @llvm.umul.with.overflow.i32(i32 [[N]], i32 4)
     // CHECK: @llvm.uadd.with.overflow.i32(i32 {{.*}}, i32 8)
@@ -204,7 +204,7 @@ namespace test4 {
   }
 
   void c() {
-    // CHECK-LABEL: define void @_ZN5test41cEv()
+    // CHECK-LABEL: define{{.*}} void @_ZN5test41cEv()
     // CHECK: call noalias nonnull i8* @_Znam(i32 808)
     // CHECK: store i32 4
     // CHECK: store i32 200
@@ -212,7 +212,7 @@ namespace test4 {
   }
 
   void d(int n) {
-    // CHECK-LABEL: define void @_ZN5test41dEi(
+    // CHECK-LABEL: define{{.*}} void @_ZN5test41dEi(
     // CHECK: [[N:%.*]] = load i32, i32*
     // CHECK: @llvm.umul.with.overflow.i32(i32 [[N]], i32 80)
     // CHECK: [[NE:%.*]] = mul i32 [[N]], 20
@@ -225,7 +225,7 @@ namespace test4 {
   }
 
   void e(A *x) {
-    // CHECK-LABEL: define void @_ZN5test41eEPNS_1AE(
+    // CHECK-LABEL: define{{.*}} void @_ZN5test41eEPNS_1AE(
     // CHECK: [[ALLOC:%.*]] = getelementptr inbounds {{.*}}, i32 -8
     // CHECK: getelementptr inbounds {{.*}}, i32 4
     // CHECK: bitcast
@@ -237,7 +237,7 @@ namespace test4 {
   }
 
   void f(A (*x)[20]) {
-    // CHECK-LABEL: define void @_ZN5test41fEPA20_NS_1AE(
+    // CHECK-LABEL: define{{.*}} void @_ZN5test41fEPA20_NS_1AE(
     // CHECK: [[ALLOC:%.*]] = getelementptr inbounds {{.*}}, i32 -8
     // CHECK: getelementptr inbounds {{.*}}, i32 4
     // CHECK: bitcast
@@ -255,7 +255,7 @@ namespace test5 {
     ~A();
   };
 
-  // CHECK-LABEL: 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
@@ -271,7 +271,7 @@ namespace test6 {
     virtual ~A();
   };
 
-  // CHECK-LABEL: 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
@@ -294,7 +294,7 @@ namespace test7 {
 
   // Static and guard tested at top of file
 
-  // CHECK-LABEL: define void @_ZN5test74testEv() {{.*}} personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+  // CHECK-LABEL: define{{.*}} void @_ZN5test74testEv() {{.*}} personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
   void test() {
     // CHECK:      [[T0:%.*]] = load atomic i8, i8* bitcast (i32* @_ZGVZN5test74testEvE1x to i8*) acquire, align 4
     // CHECK-NEXT: [[T1:%.*]] = and i8 [[T0]], 1
@@ -329,7 +329,7 @@ namespace test8 {
 
   // Static and guard tested at top of file
 
-  // CHECK-LABEL: define void @_ZN5test84testEv() {{.*}} personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+  // CHECK-LABEL: define{{.*}} void @_ZN5test84testEv() {{.*}} personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
   void test() {
     // CHECK:      [[T0:%.*]] = load atomic i8, i8* bitcast (i32* @_ZGVZN5test84testEvE1x to i8*) acquire, align 4
     // CHECK-NEXT: [[T1:%.*]] = and i8 [[T0]], 1
@@ -375,7 +375,7 @@ namespace test9 {
   A *testNew(unsigned n) {
     return new A[n];
   }
-// CHECK:    define [[TEST9:%.*]]* @_ZN5test97testNewEj(i32
+// CHECK:    define{{.*}} [[TEST9:%.*]]* @_ZN5test97testNewEj(i32
 // CHECK:      [[N_VAR:%.*]] = alloca i32, align 4
 // CHECK:      [[N:%.*]] = load i32, i32* [[N_VAR]], align 4
 // CHECK-NEXT: [[T0:%.*]] = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 [[N]], i32 16)
@@ -398,7 +398,7 @@ namespace test9 {
   void testDelete(A *array) {
     delete[] array;
   }
-// CHECK-LABEL:    define void @_ZN5test910testDeleteEPNS_1AE(
+// CHECK-LABEL:    define{{.*}} void @_ZN5test910testDeleteEPNS_1AE(
 // CHECK:      [[BEGIN:%.*]] = load [[TEST9]]*, [[TEST9]]**
 // CHECK-NEXT: [[T0:%.*]] = icmp eq [[TEST9]]* [[BEGIN]], null
 // CHECK-NEXT: br i1 [[T0]],

diff  --git a/clang/test/CodeGenCXX/arm64.cpp b/clang/test/CodeGenCXX/arm64.cpp
index 80438397c3f2..c65b8f330b15 100644
--- a/clang/test/CodeGenCXX/arm64.cpp
+++ b/clang/test/CodeGenCXX/arm64.cpp
@@ -30,7 +30,7 @@ namespace test1 {
   int test() {
     return sizeof(B);
   }
-  // CHECK: define i32 @_ZN5test14testEv()
+  // CHECK: define{{.*}} i32 @_ZN5test14testEv()
   // CHECK: ret i32 12
 }
 
@@ -45,8 +45,8 @@ namespace test2 {
     virtual void foo();
   };
   void A::foo() {}
-  // CHECK-GLOBALS-DAG: @_ZTSN5test21AE = constant [11 x i8]
-  // CHECK-GLOBALS-DAG: @_ZTIN5test21AE = constant { {{.*}}, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @_ZTSN5test21AE, i32 0, i32 0) }
+  // CHECK-GLOBALS-DAG: @_ZTSN5test21AE ={{.*}} constant [11 x i8]
+  // CHECK-GLOBALS-DAG: @_ZTIN5test21AE ={{.*}} constant { {{.*}}, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @_ZTSN5test21AE, i32 0, i32 0) }
 
   struct __attribute__((visibility("hidden"))) B {};
   const std::type_info &b0 = typeid(B);
@@ -94,10 +94,10 @@ namespace test3 {
   };
 
   // The offset half of the pointer is still initialized to zero.
-  // CHECK-GLOBALS-DAG: @_ZN5test34mptrE = global { i64, i64 } { i64 0, i64 1 }
+  // CHECK-GLOBALS-DAG: @_ZN5test34mptrE ={{.*}} global { i64, i64 } { i64 0, i64 1 }
   void (A::*mptr)() = &A::foo;
 
-  // CHECK-LABEL: define void @_ZN5test34testEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN5test34testEv()
   // CHECK:       [[TEMP:%.*]] = alloca [[A:.*]], align 8
   // CHECK:       [[MEMPTR:%.*]] = load { i64, i64 }, { i64, i64 }* @_ZN5test34mptrE, align 8
   // CHECK:       [[ADJUST_AND_IS_VIRTUAL:%.*]] = extractvalue { i64, i64 } [[MEMPTR]], 1

diff  --git a/clang/test/CodeGenCXX/armv7k.cpp b/clang/test/CodeGenCXX/armv7k.cpp
index af1c0c3ede7a..a335a55f3b45 100644
--- a/clang/test/CodeGenCXX/armv7k.cpp
+++ b/clang/test/CodeGenCXX/armv7k.cpp
@@ -33,7 +33,7 @@ namespace test1 {
   int test() {
     return sizeof(B);
   }
-  // CHECK: define i32 @_ZN5test14testEv()
+  // CHECK: define{{.*}} i32 @_ZN5test14testEv()
   // CHECK: ret i32 12
 }
 
@@ -67,5 +67,5 @@ namespace test2 {
 
 // va_list should be based on "char *" rather than "void *".
 
-// CHECK: define void @_Z11whatsVaListPc
+// CHECK: define{{.*}} void @_Z11whatsVaListPc
 void whatsVaList(__builtin_va_list l) {}

diff  --git a/clang/test/CodeGenCXX/atomicinit.cpp b/clang/test/CodeGenCXX/atomicinit.cpp
index 0f6eff5afd59..e5848f8b6254 100644
--- a/clang/test/CodeGenCXX/atomicinit.cpp
+++ b/clang/test/CodeGenCXX/atomicinit.cpp
@@ -1,13 +1,13 @@
 // RUN: %clang_cc1 %s -emit-llvm -O1 -fno-experimental-new-pass-manager -o - -triple=i686-apple-darwin9 -std=c++11 | FileCheck %s
 
-// CHECK-DAG: @PR22043 = local_unnamed_addr global i32 0, align 4
+// CHECK-DAG: @PR22043 ={{.*}} local_unnamed_addr global i32 0, align 4
 typedef _Atomic(int) AtomicInt;
 AtomicInt PR22043 = AtomicInt();
 
-// CHECK-DAG: @_ZN7PR180978constant1aE = local_unnamed_addr global { i16, i8 } { i16 1, i8 6 }, align 4
-// CHECK-DAG: @_ZN7PR180978constant1bE = local_unnamed_addr global { i16, i8 } { i16 2, i8 6 }, align 4
-// CHECK-DAG: @_ZN7PR180978constant1cE = local_unnamed_addr global { i16, i8 } { i16 3, i8 6 }, align 4
-// CHECK-DAG: @_ZN7PR180978constant1yE = local_unnamed_addr global { { i16, i8 }, i32 } { { i16, i8 } { i16 4, i8 6 }, i32 5 }, align 4
+// CHECK-DAG: @_ZN7PR180978constant1aE ={{.*}} local_unnamed_addr global { i16, i8 } { i16 1, i8 6 }, align 4
+// CHECK-DAG: @_ZN7PR180978constant1bE ={{.*}} local_unnamed_addr global { i16, i8 } { i16 2, i8 6 }, align 4
+// CHECK-DAG: @_ZN7PR180978constant1cE ={{.*}} local_unnamed_addr global { i16, i8 } { i16 3, i8 6 }, align 4
+// CHECK-DAG: @_ZN7PR180978constant1yE ={{.*}} local_unnamed_addr global { { i16, i8 }, i32 } { { i16, i8 } { i16 4, i8 6 }, i32 5 }, align 4
 
 struct A {
   _Atomic(int) i;
@@ -28,7 +28,7 @@ struct B {
 
 _Atomic(B) b;
 
-// CHECK-LABEL: define void @_Z11atomic_initR1Ai
+// CHECK-LABEL: define{{.*}} void @_Z11atomic_initR1Ai
 void atomic_init(A& a, int i) {
   // CHECK-NOT: atomic
   // CHECK: call void @_ZN1BC1Ei
@@ -36,7 +36,7 @@ void atomic_init(A& a, int i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: 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}}
@@ -50,7 +50,7 @@ struct AtomicBoolMember {
   AtomicBoolMember(bool b);
 };
 
-// CHECK-LABEL: define void @_ZN16AtomicBoolMemberC2Eb
+// CHECK-LABEL: define{{.*}} void @_ZN16AtomicBoolMemberC2Eb
 // CHECK: zext i1 {{.*}} to i8
 // CHECK: store i8
 // CHECK-NEXT: ret void

diff  --git a/clang/test/CodeGenCXX/attr-notail.cpp b/clang/test/CodeGenCXX/attr-notail.cpp
index 80af424ff3e1..ecc9b55ccdd9 100644
--- a/clang/test/CodeGenCXX/attr-notail.cpp
+++ b/clang/test/CodeGenCXX/attr-notail.cpp
@@ -12,6 +12,6 @@ int foo1(int a, Class1 *c1) {
   return c1->m2();
 }
 
-// CHECK-LABEL: define i32 @_Z4foo1iP6Class1(
+// CHECK-LABEL: define{{.*}} i32 @_Z4foo1iP6Class1(
 // CHECK: %{{[a-z0-9]+}} = notail call i32 @_ZN6Class12m1Ev(%class.Class1*
 // CHECK: %{{[a-z0-9]+}} = call i32 @_ZN6Class12m2Ev(%class.Class1*

diff  --git a/clang/test/CodeGenCXX/bitfield-layout.cpp b/clang/test/CodeGenCXX/bitfield-layout.cpp
index c0bd2aa8b779..49b196253f3c 100644
--- a/clang/test/CodeGenCXX/bitfield-layout.cpp
+++ b/clang/test/CodeGenCXX/bitfield-layout.cpp
@@ -28,7 +28,7 @@ Test4 t4;
 
 #define CHECK(x) if (!(x)) return __LINE__
 
-// CHECK: define i32 @_Z11test_assignv()
+// CHECK: define{{.*}} i32 @_Z11test_assignv()
 int test_assign() {
   struct {
     int a;
@@ -59,7 +59,7 @@ int test_assign() {
   return 0;
 }
 
-// CHECK: define i32 @_Z9test_initv()
+// CHECK: define{{.*}} i32 @_Z9test_initv()
 int test_init() {
   struct S {
     int a;

diff  --git a/clang/test/CodeGenCXX/block-byref.cpp b/clang/test/CodeGenCXX/block-byref.cpp
index 1cb86a547573..1ae2acffd419 100644
--- a/clang/test/CodeGenCXX/block-byref.cpp
+++ b/clang/test/CodeGenCXX/block-byref.cpp
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 %s -fblocks -triple x86_64-apple-darwin -std=c++11 -emit-llvm -o - | FileCheck %s
 // REQUIRES: x86-registered-target
 
-// CHECK: @b = global i32 0,
+// CHECK: @b ={{.*}} global i32 0,
 
 // CHECK: define {{.*}}void @{{.*}}test{{.*}}_block_invoke(
 // CHECK: store i32 2, i32* @b,

diff  --git a/clang/test/CodeGenCXX/blocks.cpp b/clang/test/CodeGenCXX/blocks.cpp
index 821b6c7544e5..93ddd4a436cf 100644
--- a/clang/test/CodeGenCXX/blocks.cpp
+++ b/clang/test/CodeGenCXX/blocks.cpp
@@ -4,7 +4,7 @@
 // CHECK: @[[BLOCK_DESCRIPTOR22:.*]] = internal constant { i64, i64, i8*, i8*, i8*, i8* } { i64 0, i64 36, i8* bitcast (void (i8*, i8*)* @__copy_helper_block_8_32c22_ZTSN12_GLOBAL__N_11BE to i8*), i8* bitcast (void (i8*)* @__destroy_helper_block_8_32c22_ZTSN12_GLOBAL__N_11BE to i8*), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @{{.*}}, i32 0, i32 0), i8* null }, align 8
 
 namespace test0 {
-  // CHECK-LABEL: 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) {
@@ -16,7 +16,7 @@ extern void (^out)();
 
 namespace test1 {
   // Capturing const objects doesn't require a local block.
-  // CHECK-LABEL: 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;
@@ -24,7 +24,7 @@ namespace test1 {
   }
 
   // That applies to structs too...
-  // CHECK-LABEL: 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() {
@@ -33,7 +33,7 @@ namespace test1 {
   }
 
   // ...unless they have mutable fields...
-  // CHECK-LABEL: 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
@@ -44,7 +44,7 @@ namespace test1 {
   }
 
   // ...or non-trivial destructors...
-  // CHECK-LABEL: define void @_ZN5test15test4Ev()
+  // CHECK-LABEL: define{{.*}} void @_ZN5test15test4Ev()
   // CHECK:   [[OBJ:%.*]] = alloca
   // CHECK:   [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK:   [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to void ()*
@@ -72,7 +72,7 @@ namespace test2 {
     ~B();
   };
 
-  // CHECK-LABEL: define void @_ZN5test24testEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN5test24testEv()
   void test() {
     __block A a;
     __block B b;
@@ -122,7 +122,7 @@ namespace test4 {
     extern void consume(void(^)());
     consume(^{ return foo(A()); });
   }
-  // CHECK-LABEL: define void @_ZN5test44testEv()
+  // 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
@@ -150,7 +150,7 @@ namespace test5 {
     doWithBlock(b);
   }
 
-  // CHECK-LABEL:    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
@@ -202,7 +202,7 @@ namespace test6 {
     bar();
   }
 
-  // CHECK-LABEL:    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(

diff  --git a/clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp b/clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp
index b26e519bee3d..0f148642ad82 100644
--- a/clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp
+++ b/clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp
@@ -1,14 +1,14 @@
 // RUN: %clang_cc1 -O3 -std=c++2a -S -emit-llvm -o - -disable-llvm-passes -triple x86_64-apple-macos10.14 %s | FileCheck %s
 
 void test_scalar() {
-  // CHECK-LABEL: define void @_Z11test_scalarv
+  // CHECK-LABEL: define{{.*}} void @_Z11test_scalarv
   __builtin_bit_cast(float, 42);
 
   // CHECK: load float, float* {{.*}}, align 4, !tbaa ![[MAY_ALIAS_TBAA:.*]]
 }
 
 void test_scalar2() {
-  // CHECK-LABEL: define void @_Z12test_scalar2v
+  // CHECK-LABEL: define{{.*}} void @_Z12test_scalar2v
   struct S {int m;};
   __builtin_bit_cast(int, S{42});
 

diff  --git a/clang/test/CodeGenCXX/builtin-bit-cast.cpp b/clang/test/CodeGenCXX/builtin-bit-cast.cpp
index 49f8ec3ad4b0..49a4903c4716 100644
--- a/clang/test/CodeGenCXX/builtin-bit-cast.cpp
+++ b/clang/test/CodeGenCXX/builtin-bit-cast.cpp
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -std=c++2a -S -emit-llvm -o - -disable-llvm-passes -triple x86_64-apple-macos10.14 %s | FileCheck %s
 
 void test_scalar(int &oper) {
-  // CHECK-LABEL: define void @_Z11test_scalarRi
+  // CHECK-LABEL: define{{.*}} void @_Z11test_scalarRi
   __builtin_bit_cast(float, oper);
 
   // CHECK: [[OPER:%.*]] = alloca i32*
@@ -16,7 +16,7 @@ struct two_ints {
 };
 
 unsigned long test_aggregate_to_scalar(two_ints &ti) {
-  // CHECK-LABEL: define i64 @_Z24test_aggregate_to_scalarR8two_ints
+  // CHECK-LABEL: define{{.*}} i64 @_Z24test_aggregate_to_scalarR8two_ints
   return __builtin_bit_cast(unsigned long, ti);
 
   // CHECK: [[TI_ADDR:%.*]] = alloca %struct.two_ints*, align 8
@@ -31,7 +31,7 @@ struct two_floats {
 };
 
 two_floats test_aggregate_record(two_ints& ti) {
-  // CHECK-LABEL: define <2 x float> @_Z21test_aggregate_recordR8two_int
+  // CHECK-LABEL: define{{.*}} <2 x float> @_Z21test_aggregate_recordR8two_int
    return __builtin_bit_cast(two_floats, ti);
 
   // CHECK: [[RETVAL:%.*]] = alloca %struct.two_floats, align 4
@@ -44,7 +44,7 @@ two_floats test_aggregate_record(two_ints& ti) {
 }
 
 two_floats test_aggregate_array(int (&ary)[2]) {
-  // CHECK-LABEL: define <2 x float> @_Z20test_aggregate_arrayRA2_i
+  // CHECK-LABEL: define{{.*}} <2 x float> @_Z20test_aggregate_arrayRA2_i
   return __builtin_bit_cast(two_floats, ary);
 
   // CHECK: [[RETVAL:%.*]] = alloca %struct.two_floats, align 4
@@ -57,7 +57,7 @@ two_floats test_aggregate_array(int (&ary)[2]) {
 }
 
 two_ints test_scalar_to_aggregate(unsigned long ul) {
-  // CHECK-LABEL: define i64 @_Z24test_scalar_to_aggregatem
+  // CHECK-LABEL: define{{.*}} i64 @_Z24test_scalar_to_aggregatem
   return __builtin_bit_cast(two_ints, ul);
 
   // CHECK: [[TI:%.*]] = alloca %struct.two_ints, align 4
@@ -66,7 +66,7 @@ two_ints test_scalar_to_aggregate(unsigned long ul) {
 }
 
 unsigned long test_complex(_Complex unsigned &cu) {
-  // CHECK-LABEL: define i64 @_Z12test_complexRCj
+  // CHECK-LABEL: define{{.*}} i64 @_Z12test_complexRCj
   return __builtin_bit_cast(unsigned long, cu);
 
   // CHECK: [[REF_ALLOCA:%.*]] = alloca { i32, i32 }*, align 8
@@ -77,7 +77,7 @@ unsigned long test_complex(_Complex unsigned &cu) {
 }
 
 _Complex unsigned test_to_complex(unsigned long &ul) {
-  // CHECK-LABEL: define i64 @_Z15test_to_complexRm
+  // CHECK-LABEL: define{{.*}} i64 @_Z15test_to_complexRm
 
   return __builtin_bit_cast(_Complex unsigned, ul);
 
@@ -87,7 +87,7 @@ _Complex unsigned test_to_complex(unsigned long &ul) {
 }
 
 unsigned long test_array(int (&ary)[2]) {
-  // CHECK-LABEL: define i64 @_Z10test_arrayRA2_i
+  // CHECK-LABEL: define{{.*}} i64 @_Z10test_arrayRA2_i
   return __builtin_bit_cast(unsigned long, ary);
 
   // CHECK: [[REF_ALLOCA:%.*]] = alloca [2 x i32]*
@@ -97,7 +97,7 @@ unsigned long test_array(int (&ary)[2]) {
 }
 
 two_ints test_rvalue_aggregate() {
-  // CHECK-LABEL: define i64 @_Z21test_rvalue_aggregate
+  // CHECK-LABEL: define{{.*}} i64 @_Z21test_rvalue_aggregate
   return __builtin_bit_cast(two_ints, 42ul);
 
   // CHECK: [[TI:%.*]] = alloca %struct.two_ints, align 4

diff  --git a/clang/test/CodeGenCXX/c99-variable-length-array.cpp b/clang/test/CodeGenCXX/c99-variable-length-array.cpp
index 2cd8e114b1ec..ad018b5c6531 100644
--- a/clang/test/CodeGenCXX/c99-variable-length-array.cpp
+++ b/clang/test/CodeGenCXX/c99-variable-length-array.cpp
@@ -9,7 +9,7 @@ struct Y {
   ~Y();
 };
 
-// CHECK-LABEL: define void @_Z1fiPPKc(
+// CHECK-LABEL: define{{.*}} void @_Z1fiPPKc(
 void f(int argc, const char* argv[]) {
   // CHECK: call void @_ZN1XC1Ev
   X x;

diff  --git a/clang/test/CodeGenCXX/condition.cpp b/clang/test/CodeGenCXX/condition.cpp
index fbba07769d33..768c1edb9508 100644
--- a/clang/test/CodeGenCXX/condition.cpp
+++ b/clang/test/CodeGenCXX/condition.cpp
@@ -26,7 +26,7 @@ struct Y {
 
 X getX();
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: define void @_Z11do_destruct
+  // CHECK-LABEL: define{{.*}} void @_Z11do_destruct
   do {
     // CHECK: store i32 77
     z = 77;

diff  --git a/clang/test/CodeGenCXX/conditional-temporaries.cpp b/clang/test/CodeGenCXX/conditional-temporaries.cpp
index 65f977704d82..eee2e65fa150 100644
--- a/clang/test/CodeGenCXX/conditional-temporaries.cpp
+++ b/clang/test/CodeGenCXX/conditional-temporaries.cpp
@@ -42,19 +42,19 @@ Checker c;
 
 }
 
-// CHECK-OPT-LABEL: define i32 @_Z12getCtorCallsv()
+// CHECK-OPT-LABEL: define{{.*}} i32 @_Z12getCtorCallsv()
 int getCtorCalls() {
   // CHECK-OPT: ret i32 5
   return ctorcalls;
 }
 
-// CHECK-OPT-LABEL: define i32 @_Z12getDtorCallsv()
+// CHECK-OPT-LABEL: define{{.*}} i32 @_Z12getDtorCallsv()
 int getDtorCalls() {
   // CHECK-OPT: ret i32 5
   return dtorcalls;
 }
 
-// CHECK-OPT-LABEL: define zeroext i1 @_Z7successv()
+// CHECK-OPT-LABEL: define{{.*}} zeroext i1 @_Z7successv()
 bool success() {
   // CHECK-OPT: ret i1 true
   return ctorcalls == dtorcalls;

diff  --git a/clang/test/CodeGenCXX/const-init-cxx1y.cpp b/clang/test/CodeGenCXX/const-init-cxx1y.cpp
index c10cde84cd24..01bf1151b5ff 100644
--- a/clang/test/CodeGenCXX/const-init-cxx1y.cpp
+++ b/clang/test/CodeGenCXX/const-init-cxx1y.cpp
@@ -16,7 +16,7 @@ struct B : A {
 };
 B b;
 
-// CHECK: @b = global {{.*}} i32 1, {{.*}} { i32 2 }, {{.*}} { i32 3 }, {{.*}} { i32 4 }
+// CHECK: @b ={{.*}} global {{.*}} i32 1, {{.*}} { i32 2 }, {{.*}} { i32 3 }, {{.*}} { i32 4 }
 // CHECK-NOT: _ZN1BC
 
 namespace ModifyStaticTemporary {
@@ -24,22 +24,22 @@ namespace ModifyStaticTemporary {
   constexpr int f(int &r) { r *= 9; return r - 12; }
   A a = { 6, f(a.temporary) };
   // CHECK: @_ZGRN21ModifyStaticTemporary1aE_ = internal global i32 54
-  // CHECK: @_ZN21ModifyStaticTemporary1aE = global {{.*}} i32* @_ZGRN21ModifyStaticTemporary1aE_, i32 42
+  // CHECK: @_ZN21ModifyStaticTemporary1aE ={{.*}} global {{.*}} i32* @_ZGRN21ModifyStaticTemporary1aE_, i32 42
 
   A b = { 7, ++b.temporary };
   // CHECK: @_ZGRN21ModifyStaticTemporary1bE_ = internal global i32 8
-  // CHECK: @_ZN21ModifyStaticTemporary1bE = global {{.*}} i32* @_ZGRN21ModifyStaticTemporary1bE_, i32 8
+  // CHECK: @_ZN21ModifyStaticTemporary1bE ={{.*}} global {{.*}} i32* @_ZGRN21ModifyStaticTemporary1bE_, i32 8
 
   // Can't emit all of 'c' as a constant here, so emit the initial value of
   // 'c.temporary', not the value as modified by the partial evaluation within
   // the initialization of 'c.x'.
   A c = { 10, (++c.temporary, b.x) };
   // CHECK: @_ZGRN21ModifyStaticTemporary1cE_ = internal global i32 10
-  // CHECK: @_ZN21ModifyStaticTemporary1cE = global {{.*}} zeroinitializer
+  // CHECK: @_ZN21ModifyStaticTemporary1cE ={{.*}} global {{.*}} zeroinitializer
 }
 
 // CHECK: @_ZGRN28VariableTemplateWithConstRef1iIvEE_ = linkonce_odr constant i32 5, align 4
-// CHECK: @_ZN28VariableTemplateWithConstRef3useE = constant i32* @_ZGRN28VariableTemplateWithConstRef1iIvEE_
+// CHECK: @_ZN28VariableTemplateWithConstRef3useE ={{.*}} constant i32* @_ZGRN28VariableTemplateWithConstRef1iIvEE_
 namespace VariableTemplateWithConstRef {
   template <typename T>
   const int &i = 5;
@@ -47,7 +47,7 @@ namespace VariableTemplateWithConstRef {
 }
 
 // CHECK: @_ZGRN34HiddenVariableTemplateWithConstRef1iIvEE_ = linkonce_odr hidden constant i32 5, align 4
-// CHECK: @_ZN34HiddenVariableTemplateWithConstRef3useE = constant i32* @_ZGRN34HiddenVariableTemplateWithConstRef1iIvEE_
+// CHECK: @_ZN34HiddenVariableTemplateWithConstRef3useE ={{.*}} constant i32* @_ZGRN34HiddenVariableTemplateWithConstRef1iIvEE_
 namespace HiddenVariableTemplateWithConstRef {
   template <typename T>
   __attribute__((visibility("hidden"))) const int &i = 5;
@@ -63,7 +63,7 @@ namespace HiddenVariableTemplateWithConstRef {
 // CHECK: @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE7_ = linkonce_odr constant i32 4
 // CHECK: @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE6_ = linkonce_odr global {{.*}} { i32* @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE7_ }
 // CHECK: @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE_ = linkonce_odr global %"struct.VariableTemplateWithPack::S" { {{.*}}* @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE0_, {{.*}}* @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE2_, {{.*}}* @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE4_, {{.*}}* @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE6_ }
-// CHECK: @_ZN24VariableTemplateWithPack1pE = global {{.*}} @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE_
+// CHECK: @_ZN24VariableTemplateWithPack1pE ={{.*}} global {{.*}} @_ZGRN24VariableTemplateWithPack1sIJLi1ELi2ELi3ELi4EEEE_
 namespace VariableTemplateWithPack {
   struct A {
     const int &r;

diff  --git a/clang/test/CodeGenCXX/constructor-destructor-return-this.cpp b/clang/test/CodeGenCXX/constructor-destructor-return-this.cpp
index e93e233e9d25..2077d068738e 100644
--- a/clang/test/CodeGenCXX/constructor-destructor-return-this.cpp
+++ b/clang/test/CodeGenCXX/constructor-destructor-return-this.cpp
@@ -32,25 +32,25 @@ class B : public A {
 B::B(int *i) : i_(i) { }
 B::~B() { }
 
-// CHECKGEN-LABEL: define void @_ZN1BC2EPi(%class.B* {{[^,]*}} %this, i32* %i)
-// CHECKGEN-LABEL: define void @_ZN1BC1EPi(%class.B* {{[^,]*}} %this, i32* %i)
-// CHECKGEN-LABEL: define void @_ZN1BD2Ev(%class.B* {{[^,]*}} %this)
-// CHECKGEN-LABEL: define void @_ZN1BD1Ev(%class.B* {{[^,]*}} %this)
-
-// CHECKARM-LABEL: define %class.B* @_ZN1BC2EPi(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
-// CHECKARM-LABEL: define %class.B* @_ZN1BC1EPi(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
-// CHECKARM-LABEL: define %class.B* @_ZN1BD2Ev(%class.B* {{[^,]*}} returned {{[^,]*}} %this)
-// CHECKARM-LABEL: define %class.B* @_ZN1BD1Ev(%class.B* {{[^,]*}} returned {{[^,]*}} %this)
-
-// CHECKIOS5-LABEL: define %class.B* @_ZN1BC2EPi(%class.B* {{[^,]*}} %this, i32* %i)
-// CHECKIOS5-LABEL: define %class.B* @_ZN1BC1EPi(%class.B* {{[^,]*}} %this, i32* %i)
-// CHECKIOS5-LABEL: define %class.B* @_ZN1BD2Ev(%class.B* {{[^,]*}} %this)
-// CHECKIOS5-LABEL: define %class.B* @_ZN1BD1Ev(%class.B* {{[^,]*}} %this)
-
-// CHECKFUCHSIA-LABEL: define %class.B* @_ZN1BC2EPi(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
-// CHECKFUCHSIA-LABEL: define %class.B* @_ZN1BC1EPi(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
-// CHECKFUCHSIA-LABEL: define %class.B* @_ZN1BD2Ev(%class.B* {{[^,]*}} returned {{[^,]*}} %this)
-// CHECKFUCHSIA-LABEL: define %class.B* @_ZN1BD1Ev(%class.B* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1BC2EPi(%class.B* {{[^,]*}} %this, i32* %i)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1BC1EPi(%class.B* {{[^,]*}} %this, i32* %i)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1BD2Ev(%class.B* {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1BD1Ev(%class.B* {{[^,]*}} %this)
+
+// CHECKARM-LABEL: define{{.*}} %class.B* @_ZN1BC2EPi(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
+// CHECKARM-LABEL: define{{.*}} %class.B* @_ZN1BC1EPi(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
+// CHECKARM-LABEL: define{{.*}} %class.B* @_ZN1BD2Ev(%class.B* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKARM-LABEL: define{{.*}} %class.B* @_ZN1BD1Ev(%class.B* {{[^,]*}} returned {{[^,]*}} %this)
+
+// CHECKIOS5-LABEL: define{{.*}} %class.B* @_ZN1BC2EPi(%class.B* {{[^,]*}} %this, i32* %i)
+// CHECKIOS5-LABEL: define{{.*}} %class.B* @_ZN1BC1EPi(%class.B* {{[^,]*}} %this, i32* %i)
+// CHECKIOS5-LABEL: define{{.*}} %class.B* @_ZN1BD2Ev(%class.B* {{[^,]*}} %this)
+// CHECKIOS5-LABEL: define{{.*}} %class.B* @_ZN1BD1Ev(%class.B* {{[^,]*}} %this)
+
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.B* @_ZN1BC2EPi(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.B* @_ZN1BC1EPi(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.B* @_ZN1BD2Ev(%class.B* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.B* @_ZN1BD1Ev(%class.B* {{[^,]*}} returned {{[^,]*}} %this)
 
 // CHECKMS-LABEL: define dso_local x86_thiscallcc %class.B* @"??0B@@QAE at PAH@Z"(%class.B* {{[^,]*}} returned {{[^,]*}} %this, i32* %i)
 // CHECKMS-LABEL: define dso_local x86_thiscallcc void @"??1B@@UAE at XZ"(%class.B* {{[^,]*}} %this)
@@ -66,37 +66,37 @@ class C : public A, public B {
 C::C(int *i, char *c) : B(i), c_(c) { }
 C::~C() { }
 
-// CHECKGEN-LABEL: define void @_ZN1CC2EPiPc(%class.C* {{[^,]*}} %this, i32* %i, i8* %c)
-// CHECKGEN-LABEL: define void @_ZN1CC1EPiPc(%class.C* {{[^,]*}} %this, i32* %i, i8* %c)
-// CHECKGEN-LABEL: define void @_ZN1CD2Ev(%class.C* {{[^,]*}} %this)
-// CHECKGEN-LABEL: define void @_ZN1CD1Ev(%class.C* {{[^,]*}} %this)
-// CHECKGEN-LABEL: define void @_ZThn8_N1CD1Ev(%class.C* {{[^,]*}} %this)
-// CHECKGEN-LABEL: define void @_ZN1CD0Ev(%class.C* {{[^,]*}} %this)
-// CHECKGEN-LABEL: define void @_ZThn8_N1CD0Ev(%class.C* {{[^,]*}} %this)
-
-// CHECKARM-LABEL: define %class.C* @_ZN1CC2EPiPc(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
-// CHECKARM-LABEL: define %class.C* @_ZN1CC1EPiPc(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
-// CHECKARM-LABEL: define %class.C* @_ZN1CD2Ev(%class.C* {{[^,]*}} returned {{[^,]*}} %this)
-// CHECKARM-LABEL: define %class.C* @_ZN1CD1Ev(%class.C* {{[^,]*}} returned {{[^,]*}} %this)
-// CHECKARM-LABEL: define %class.C* @_ZThn8_N1CD1Ev(%class.C* {{[^,]*}} %this)
-// CHECKARM-LABEL: define void @_ZN1CD0Ev(%class.C* {{[^,]*}} %this)
-// CHECKARM-LABEL: define void @_ZThn8_N1CD0Ev(%class.C* {{[^,]*}} %this)
-
-// CHECKIOS5-LABEL: define %class.C* @_ZN1CC2EPiPc(%class.C* {{[^,]*}} %this, i32* %i, i8* %c)
-// CHECKIOS5-LABEL: define %class.C* @_ZN1CC1EPiPc(%class.C* {{[^,]*}} %this, i32* %i, i8* %c)
-// CHECKIOS5-LABEL: define %class.C* @_ZN1CD2Ev(%class.C* {{[^,]*}} %this)
-// CHECKIOS5-LABEL: define %class.C* @_ZN1CD1Ev(%class.C* {{[^,]*}} %this)
-// CHECKIOS5-LABEL: define %class.C* @_ZThn8_N1CD1Ev(%class.C* {{[^,]*}} %this)
-// CHECKIOS5-LABEL: define void @_ZN1CD0Ev(%class.C* {{[^,]*}} %this)
-// CHECKIOS5-LABEL: define void @_ZThn8_N1CD0Ev(%class.C* {{[^,]*}} %this)
-
-// CHECKFUCHSIA-LABEL: define %class.C* @_ZN1CC2EPiPc(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
-// CHECKFUCHSIA-LABEL: define %class.C* @_ZN1CC1EPiPc(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
-// CHECKFUCHSIA-LABEL: define %class.C* @_ZN1CD2Ev(%class.C* {{[^,]*}} returned {{[^,]*}} %this)
-// CHECKFUCHSIA-LABEL: define %class.C* @_ZN1CD1Ev(%class.C* {{[^,]*}} returned {{[^,]*}} %this)
-// CHECKFUCHSIA-LABEL: define %class.C* @_ZThn16_N1CD1Ev(%class.C* {{[^,]*}} %this)
-// CHECKFUCHSIA-LABEL: define void @_ZN1CD0Ev(%class.C* {{[^,]*}} %this)
-// CHECKFUCHSIA-LABEL: define void @_ZThn16_N1CD0Ev(%class.C* {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1CC2EPiPc(%class.C* {{[^,]*}} %this, i32* %i, i8* %c)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1CC1EPiPc(%class.C* {{[^,]*}} %this, i32* %i, i8* %c)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1CD2Ev(%class.C* {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1CD1Ev(%class.C* {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZThn8_N1CD1Ev(%class.C* {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1CD0Ev(%class.C* {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZThn8_N1CD0Ev(%class.C* {{[^,]*}} %this)
+
+// CHECKARM-LABEL: define{{.*}} %class.C* @_ZN1CC2EPiPc(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
+// CHECKARM-LABEL: define{{.*}} %class.C* @_ZN1CC1EPiPc(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
+// CHECKARM-LABEL: define{{.*}} %class.C* @_ZN1CD2Ev(%class.C* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKARM-LABEL: define{{.*}} %class.C* @_ZN1CD1Ev(%class.C* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKARM-LABEL: define{{.*}} %class.C* @_ZThn8_N1CD1Ev(%class.C* {{[^,]*}} %this)
+// CHECKARM-LABEL: define{{.*}} void @_ZN1CD0Ev(%class.C* {{[^,]*}} %this)
+// CHECKARM-LABEL: define{{.*}} void @_ZThn8_N1CD0Ev(%class.C* {{[^,]*}} %this)
+
+// CHECKIOS5-LABEL: define{{.*}} %class.C* @_ZN1CC2EPiPc(%class.C* {{[^,]*}} %this, i32* %i, i8* %c)
+// CHECKIOS5-LABEL: define{{.*}} %class.C* @_ZN1CC1EPiPc(%class.C* {{[^,]*}} %this, i32* %i, i8* %c)
+// CHECKIOS5-LABEL: define{{.*}} %class.C* @_ZN1CD2Ev(%class.C* {{[^,]*}} %this)
+// CHECKIOS5-LABEL: define{{.*}} %class.C* @_ZN1CD1Ev(%class.C* {{[^,]*}} %this)
+// CHECKIOS5-LABEL: define{{.*}} %class.C* @_ZThn8_N1CD1Ev(%class.C* {{[^,]*}} %this)
+// CHECKIOS5-LABEL: define{{.*}} void @_ZN1CD0Ev(%class.C* {{[^,]*}} %this)
+// CHECKIOS5-LABEL: define{{.*}} void @_ZThn8_N1CD0Ev(%class.C* {{[^,]*}} %this)
+
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.C* @_ZN1CC2EPiPc(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.C* @_ZN1CC1EPiPc(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.C* @_ZN1CD2Ev(%class.C* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.C* @_ZN1CD1Ev(%class.C* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.C* @_ZThn16_N1CD1Ev(%class.C* {{[^,]*}} %this)
+// CHECKFUCHSIA-LABEL: define{{.*}} void @_ZN1CD0Ev(%class.C* {{[^,]*}} %this)
+// CHECKFUCHSIA-LABEL: define{{.*}} void @_ZThn16_N1CD0Ev(%class.C* {{[^,]*}} %this)
 
 // CHECKMS-LABEL: define dso_local x86_thiscallcc %class.C* @"??0C@@QAE at PAHPAD@Z"(%class.C* {{[^,]*}} returned {{[^,]*}} %this, i32* %i, i8* %c)
 // CHECKMS-LABEL: define dso_local x86_thiscallcc void @"??1C@@UAE at XZ"(%class.C* {{[^,]*}} %this)
@@ -110,25 +110,25 @@ class D : public virtual A {
 D::D() { }
 D::~D() { }
 
-// CHECKGEN-LABEL: define void @_ZN1DC2Ev(%class.D* {{[^,]*}} %this, i8** %vtt)
-// CHECKGEN-LABEL: define void @_ZN1DC1Ev(%class.D* {{[^,]*}} %this)
-// CHECKGEN-LABEL: define void @_ZN1DD2Ev(%class.D* {{[^,]*}} %this, i8** %vtt)
-// CHECKGEN-LABEL: define void @_ZN1DD1Ev(%class.D* {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1DC2Ev(%class.D* {{[^,]*}} %this, i8** %vtt)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1DC1Ev(%class.D* {{[^,]*}} %this)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1DD2Ev(%class.D* {{[^,]*}} %this, i8** %vtt)
+// CHECKGEN-LABEL: define{{.*}} void @_ZN1DD1Ev(%class.D* {{[^,]*}} %this)
 
-// CHECKARM-LABEL: define %class.D* @_ZN1DC2Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i8** %vtt)
-// CHECKARM-LABEL: define %class.D* @_ZN1DC1Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this)
-// CHECKARM-LABEL: define %class.D* @_ZN1DD2Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i8** %vtt)
-// CHECKARM-LABEL: define %class.D* @_ZN1DD1Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKARM-LABEL: define{{.*}} %class.D* @_ZN1DC2Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i8** %vtt)
+// CHECKARM-LABEL: define{{.*}} %class.D* @_ZN1DC1Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKARM-LABEL: define{{.*}} %class.D* @_ZN1DD2Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i8** %vtt)
+// CHECKARM-LABEL: define{{.*}} %class.D* @_ZN1DD1Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this)
 
-// CHECKIOS5-LABEL: define %class.D* @_ZN1DC2Ev(%class.D* {{[^,]*}} %this, i8** %vtt)
-// CHECKIOS5-LABEL: define %class.D* @_ZN1DC1Ev(%class.D* {{[^,]*}} %this)
-// CHECKIOS5-LABEL: define %class.D* @_ZN1DD2Ev(%class.D* {{[^,]*}} %this, i8** %vtt)
-// CHECKIOS5-LABEL: define %class.D* @_ZN1DD1Ev(%class.D* {{[^,]*}} %this)
+// CHECKIOS5-LABEL: define{{.*}} %class.D* @_ZN1DC2Ev(%class.D* {{[^,]*}} %this, i8** %vtt)
+// CHECKIOS5-LABEL: define{{.*}} %class.D* @_ZN1DC1Ev(%class.D* {{[^,]*}} %this)
+// CHECKIOS5-LABEL: define{{.*}} %class.D* @_ZN1DD2Ev(%class.D* {{[^,]*}} %this, i8** %vtt)
+// CHECKIOS5-LABEL: define{{.*}} %class.D* @_ZN1DD1Ev(%class.D* {{[^,]*}} %this)
 
-// CHECKFUCHSIA-LABEL: define %class.D* @_ZN1DC2Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i8** %vtt)
-// CHECKFUCHSIA-LABEL: define %class.D* @_ZN1DC1Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this)
-// CHECKFUCHSIA-LABEL: define %class.D* @_ZN1DD2Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i8** %vtt)
-// CHECKFUCHSIA-LABEL: define %class.D* @_ZN1DD1Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.D* @_ZN1DC2Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i8** %vtt)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.D* @_ZN1DC1Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.D* @_ZN1DD2Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i8** %vtt)
+// CHECKFUCHSIA-LABEL: define{{.*}} %class.D* @_ZN1DD1Ev(%class.D* {{[^,]*}} returned {{[^,]*}} %this)
 
 // CHECKMS-LABEL: define dso_local x86_thiscallcc %class.D* @"??0D@@QAE at XZ"(%class.D* {{[^,]*}} returned {{[^,]*}} %this, i32 %is_most_derived)
 // CHECKMS-LABEL: define dso_local x86_thiscallcc void @"??1D@@UAE at XZ"(%class.D* {{[^,]*}} %this)
@@ -147,7 +147,7 @@ void test_destructor() {
   e2->~E();
 }
 
-// CHECKARM-LABEL,CHECKFUCHSIA-LABEL: define void @_Z15test_destructorv()
+// CHECKARM-LABEL,CHECKFUCHSIA-LABEL: define{{.*}} void @_Z15test_destructorv()
 
 // Verify that virtual calls to destructors are not marked with a 'returned'
 // this parameter at the call site...

diff  --git a/clang/test/CodeGenCXX/constructor-init.cpp b/clang/test/CodeGenCXX/constructor-init.cpp
index f430c4e0bdc5..f34f851094f7 100644
--- a/clang/test/CodeGenCXX/constructor-init.cpp
+++ b/clang/test/CodeGenCXX/constructor-init.cpp
@@ -70,7 +70,7 @@ template <class T> struct A {
   operator int() {return 0;}
 };
 
-// CHECK-LABEL: 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-LABEL: 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 i32 (...)***
   // CHECK-NEXT: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN10InitVTable1BE, i32 0, inrange i32 0, i32 2) to i32 (...)**), i32 (...)*** [[T0]]
   // CHECK:      [[VTBL:%.*]] = load i32 ([[B]]*)**, i32 ([[B]]*)*** {{%.*}}
@@ -106,7 +106,7 @@ namespace InitVTable {
   // CHECK-NEXT: ret void
   B::B() : A(foo()) {}
 
-  // CHECK-LABEL: 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 i32 (...)***
@@ -120,7 +120,7 @@ namespace rdar9694300 {
     int x;
   };
 
-  // CHECK-LABEL: define void @_ZN11rdar96943001fEv
+  // CHECK-LABEL: define{{.*}} void @_ZN11rdar96943001fEv
   void f() {
     // CHECK: alloca
     X x;

diff  --git a/clang/test/CodeGenCXX/constructors.cpp b/clang/test/CodeGenCXX/constructors.cpp
index 9ce5e598caa3..1bf150c5cf43 100644
--- a/clang/test/CodeGenCXX/constructors.cpp
+++ b/clang/test/CodeGenCXX/constructors.cpp
@@ -22,20 +22,20 @@ struct A {
 A::A(struct Undeclared &ref) : mem(0) {}
 
 // Check that delegation works.
-// NULL-INVALID-LABEL: define void @_ZN1AC2ER10Undeclared(%struct.A* {{[^,]*}} %this, %struct.Undeclared* nonnull align 1 %ref) unnamed_addr
-// NULL-VALID-LABEL: define void @_ZN1AC2ER10Undeclared(%struct.A* {{[^,]*}} %this, %struct.Undeclared* align 1 %ref) unnamed_addr
+// NULL-INVALID-LABEL: define{{.*}} void @_ZN1AC2ER10Undeclared(%struct.A* {{[^,]*}} %this, %struct.Undeclared* nonnull align 1 %ref) unnamed_addr
+// NULL-VALID-LABEL: define{{.*}} void @_ZN1AC2ER10Undeclared(%struct.A* {{[^,]*}} %this, %struct.Undeclared* align 1 %ref) unnamed_addr
 // CHECK: call void @_ZN6MemberC1Ei(
 
-// NULL-INVALID-LABEL: define void @_ZN1AC1ER10Undeclared(%struct.A* {{[^,]*}} %this, %struct.Undeclared* nonnull align 1 %ref) unnamed_addr
-// NULL-VALID-LABEL: define void @_ZN1AC1ER10Undeclared(%struct.A* {{[^,]*}} %this, %struct.Undeclared* align 1 %ref) unnamed_addr
+// NULL-INVALID-LABEL: define{{.*}} void @_ZN1AC1ER10Undeclared(%struct.A* {{[^,]*}} %this, %struct.Undeclared* nonnull align 1 %ref) unnamed_addr
+// NULL-VALID-LABEL: define{{.*}} void @_ZN1AC1ER10Undeclared(%struct.A* {{[^,]*}} %this, %struct.Undeclared* align 1 %ref) unnamed_addr
 // CHECK: call void @_ZN1AC2ER10Undeclared(
 
 A::A(ValueClass v) : mem(v.y - v.x) {}
 
-// CHECK-LABEL: 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(
 
-// CHECK-LABEL: 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(
 
 /* Test that things work for inheritance. */
@@ -46,13 +46,13 @@ struct B : A {
 
 B::B(struct Undeclared &ref) : A(ref), mem(1) {}
 
-// NULL-INVALID-LABEL: define void @_ZN1BC2ER10Undeclared(%struct.B* {{[^,]*}} %this, %struct.Undeclared* nonnull align 1 %ref) unnamed_addr
-// NULL-VALID-LABEL: define void @_ZN1BC2ER10Undeclared(%struct.B* {{[^,]*}} %this, %struct.Undeclared* align 1 %ref) unnamed_addr
+// NULL-INVALID-LABEL: define{{.*}} void @_ZN1BC2ER10Undeclared(%struct.B* {{[^,]*}} %this, %struct.Undeclared* nonnull align 1 %ref) unnamed_addr
+// NULL-VALID-LABEL: define{{.*}} void @_ZN1BC2ER10Undeclared(%struct.B* {{[^,]*}} %this, %struct.Undeclared* align 1 %ref) unnamed_addr
 // CHECK: call void @_ZN1AC2ER10Undeclared(
 // CHECK: call void @_ZN6MemberC1Ei(
 
-// NULL-INVALID-LABEL: define void @_ZN1BC1ER10Undeclared(%struct.B* {{[^,]*}} %this, %struct.Undeclared* nonnull align 1 %ref) unnamed_addr
-// NULL-VALID-LABEL: define void @_ZN1BC1ER10Undeclared(%struct.B* {{[^,]*}} %this, %struct.Undeclared* align 1 %ref) unnamed_addr
+// NULL-INVALID-LABEL: define{{.*}} void @_ZN1BC1ER10Undeclared(%struct.B* {{[^,]*}} %this, %struct.Undeclared* nonnull align 1 %ref) unnamed_addr
+// NULL-VALID-LABEL: define{{.*}} void @_ZN1BC1ER10Undeclared(%struct.B* {{[^,]*}} %this, %struct.Undeclared* align 1 %ref) unnamed_addr
 // CHECK: call void @_ZN1BC2ER10Undeclared(
 
 
@@ -67,10 +67,10 @@ struct C : virtual A {
 };
 C::C(int x) : A(ValueClass(x, x+1)), mem(x * x) {}
 
-// CHECK-LABEL: 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(
 
-// CHECK-LABEL: 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(
@@ -85,12 +85,12 @@ struct D : A {
 
 D::D(int x, ...) : A(ValueClass(x, x+1)), mem(x*x) {}
 
-// CHECK-LABEL: 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(
 
-// CHECK-LABEL: 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(
@@ -110,7 +110,7 @@ namespace test1 {
   struct A { A(); void *ptr; };
   struct B { B(); int x; A a[0]; };
   B::B() {}
-  // CHECK-LABEL:    define void @_ZN5test11BC2Ev(
+  // CHECK-LABEL:    define{{.*}} void @_ZN5test11BC2Ev(
   // CHECK:      [[THIS:%.*]] = load [[B:%.*]]*, [[B:%.*]]**
   // CHECK-NEXT: ret void
 }
@@ -139,15 +139,15 @@ namespace abstract {
     virtual ~A() = 0;
   };
 
-  // CHECK-LABEL: define void @_ZN8abstract1AD2Ev(
+  // CHECK-LABEL: define{{.*}} void @_ZN8abstract1AD2Ev(
   // CHECK: call {{.*}}@_ZN8abstract1XD2Ev(
   // CHECK: ret
 
-  // CHECK-LABEL: define void @_ZN8abstract1AD1Ev(
+  // CHECK-LABEL: define{{.*}} void @_ZN8abstract1AD1Ev(
   // CHECK: call {{.*}}@llvm.trap(
   // CHECK: unreachable
 
-  // CHECK-LABEL: define void @_ZN8abstract1AD0Ev(
+  // CHECK-LABEL: define{{.*}} void @_ZN8abstract1AD0Ev(
   // CHECK: call {{.*}}@llvm.trap(
   // CHECK: unreachable
   A::~A() {}
@@ -157,11 +157,11 @@ namespace abstract {
     ~B();
   };
 
-  // CHECK-LABEL: define void @_ZN8abstract1BD2Ev(
+  // CHECK-LABEL: define{{.*}} void @_ZN8abstract1BD2Ev(
   // CHECK: call {{.*}}@_ZN8abstract1XD2Ev(
   // CHECK: ret
 
-  // CHECK-LABEL: define void @_ZN8abstract1BD1Ev(
+  // CHECK-LABEL: define{{.*}} void @_ZN8abstract1BD1Ev(
   // CHECK: call {{.*}}@llvm.trap(
   // CHECK: unreachable
 

diff  --git a/clang/test/CodeGenCXX/copy-initialization.cpp b/clang/test/CodeGenCXX/copy-initialization.cpp
index 1a16013a81a9..6840e1b03088 100644
--- a/clang/test/CodeGenCXX/copy-initialization.cpp
+++ b/clang/test/CodeGenCXX/copy-initialization.cpp
@@ -12,7 +12,7 @@ struct Bar {
 
 void f(Foo);
 
-// CHECK-LABEL: define void @_Z1g3Foo(%struct.Foo* %foo)
+// CHECK-LABEL: define{{.*}} void @_Z1g3Foo(%struct.Foo* %foo)
 void g(Foo foo) {
   // CHECK: call void @_ZN3BarC1Ev
   // CHECK: @_ZNK3BarcvRK3FooEv

diff  --git a/clang/test/CodeGenCXX/cxx-apple-kext.cpp b/clang/test/CodeGenCXX/cxx-apple-kext.cpp
index e5ec78bf5cb4..a078183e8603 100644
--- a/clang/test/CodeGenCXX/cxx-apple-kext.cpp
+++ b/clang/test/CodeGenCXX/cxx-apple-kext.cpp
@@ -4,7 +4,7 @@
 // RUN:   FileCheck --check-prefix=CHECK-KEXT %s
 
 // CHECK-NO-KEXT-NOT: _GLOBAL__D_a
-// CHECK-NO-KEXT: @is_hosted = global
+// CHECK-NO-KEXT: @is_hosted ={{.*}} global
 // CHECK-NO-KEXT: @_ZTI3foo = {{.*}} @_ZTVN10__cxxabiv117
 // CHECK-NO-KEXT: call i32 @__cxa_atexit({{.*}} @_ZN3fooD1Ev
 // CHECK-NO-KEXT: declare i32 @__cxa_atexit
@@ -13,7 +13,7 @@
 // CHECK-KEXT-NOT: @_ZTVN10__cxxabiv117
 // CHECK-KEXT-NOT: call i32 @__cxa_atexit({{.*}} @_ZN3fooD1Ev
 // CHECK-KEXT-NOT: declare i32 @__cxa_atexit
-// CHECK-KEXT: @is_freestanding = global
+// CHECK-KEXT: @is_freestanding ={{.*}} global
 // CHECK-KEXT: _GLOBAL__D_a
 // CHECK-KEXT: call void @_ZN3fooD1Ev(%class.foo* @a)
 

diff  --git a/clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp b/clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
index ad375a925279..d3b3e9e9fa63 100644
--- a/clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
+++ b/clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
@@ -3,11 +3,11 @@
 
 int &f();
 
-// LINUX: @r = thread_local global i32* null
+// LINUX: @r ={{.*}} thread_local global i32* null
 // DARWIN: @r = internal thread_local global i32* null
 thread_local int &r = f();
 
-// LINUX: @_ZTH1r = alias void (), void ()* @__tls_init
+// LINUX: @_ZTH1r ={{.*}} alias void (), void ()* @__tls_init
 // DARWIN: @_ZTH1r = internal alias void (), void ()* @__tls_init
 
 int &g() { return r; }
@@ -16,7 +16,7 @@ int &g() { return r; }
 // CHECK: call nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z1fv()
 // CHECK: store i32* %{{.*}}, i32** @r, align 8
 
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z1gv()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z1gv()
 // LINUX: call i32* @_ZTW1r()
 // DARWIN: call cxx_fast_tlscc i32* @_ZTW1r()
 // CHECK: ret i32* %{{.*}}

diff  --git a/clang/test/CodeGenCXX/cxx11-thread-local.cpp b/clang/test/CodeGenCXX/cxx11-thread-local.cpp
index e049c2975031..928ad9de4e6b 100644
--- a/clang/test/CodeGenCXX/cxx11-thread-local.cpp
+++ b/clang/test/CodeGenCXX/cxx11-thread-local.cpp
@@ -13,17 +13,17 @@
 int f();
 int g();
 
-// LINUX-DAG: @a = thread_local global i32 0
+// LINUX-DAG: @a ={{.*}} thread_local global i32 0
 // DARWIN-DAG: @a = internal thread_local global i32 0
 thread_local int a = f();
 extern thread_local int b;
-// CHECK-DAG: @c = global i32 0
+// CHECK-DAG: @c ={{.*}} global i32 0
 int c = b;
 // CHECK-DAG: @_ZL1d = internal thread_local global i32 0
 static thread_local int d = g();
 
 struct U { static thread_local int m; };
-// LINUX-DAG: @_ZN1U1mE = thread_local global i32 0
+// LINUX-DAG: @_ZN1U1mE ={{.*}} thread_local global i32 0
 // DARWIN-DAG: @_ZN1U1mE = internal thread_local global i32 0
 thread_local int U::m = f();
 
@@ -49,7 +49,7 @@ struct Dtor { ~Dtor(); };
 template<typename T> struct X { static thread_local Dtor m; };
 template<typename T> thread_local Dtor X<T>::m;
 
-// CHECK-DAG: @e = global
+// CHECK-DAG: @e ={{.*}} global
 void *e = V<int>::m + W<int>::m + &X<int>::m;
 
 template thread_local int V<float>::m;
@@ -89,9 +89,9 @@ void *e2 = V<char>::m + W<char>::m + &X<char>::m;
 
 // CHECK-DAG: @llvm.global_ctors = appending global {{.*}} @[[GLOBAL_INIT:[^ ]*]]
 
-// LINUX-DAG: @_ZTH1a = alias void (), void ()* @__tls_init
+// LINUX-DAG: @_ZTH1a ={{.*}} alias void (), void ()* @__tls_init
 // DARWIN-DAG: @_ZTH1a = internal alias void (), void ()* @__tls_init
-// LINUX-DAG: @_ZTHN1U1mE = alias void (), void ()* @__tls_init
+// LINUX-DAG: @_ZTHN1U1mE ={{.*}} alias void (), void ()* @__tls_init
 // DARWIN-DAG: @_ZTHN1U1mE = internal alias void (), void ()* @__tls_init
 // CHECK-DAG: @_ZTHN1VIiE1mE = linkonce_odr alias void (), void ()* @[[V_M_INIT:[^, ]*]]
 // CHECK-DAG: @_ZTHN1XIiE1mE = linkonce_odr alias void (), void ()* @[[X_M_INIT:[^, ]*]]
@@ -109,7 +109,7 @@ void *e2 = V<char>::m + W<char>::m + &X<char>::m;
 // CHECK: call i32 @_Z1fv()
 // CHECK-NEXT: store i32 {{.*}}, i32* @a, align 4
 
-// CHECK-LABEL: define i32 @_Z1fv()
+// CHECK-LABEL: define{{.*}} i32 @_Z1fv()
 int f() {
   // CHECK: %[[GUARD:.*]] = load i8, i8* @_ZGVZ1fvE1n, align 1
   // CHECK: %[[NEED_INIT:.*]] = icmp eq i8 %[[GUARD]], 0
@@ -224,7 +224,7 @@ int f() {
 struct S { S(); ~S(); };
 struct T { ~T(); };
 
-// CHECK-LABEL: define void @_Z8tls_dtorv()
+// CHECK-LABEL: define{{.*}} void @_Z8tls_dtorv()
 void tls_dtor() {
   // CHECK: load i8, i8* @_ZGVZ8tls_dtorvE1s
   // CHECK: call void @_ZN1SC1Ev(%struct.S* {{[^,]*}} @_ZZ8tls_dtorvE1s)

diff  --git a/clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp b/clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
index a4a00026487c..45dcad0b0b8e 100644
--- a/clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
+++ b/clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
@@ -10,7 +10,7 @@ struct X {
 X::~X() = default;
 
 // Verify that the vtable is emitted.
-// CHECK-DAG: @_ZTVN5Test11XE = unnamed_addr constant
+// CHECK-DAG: @_ZTVN5Test11XE ={{.*}} unnamed_addr constant
 }
 
 namespace Test2 {
@@ -22,7 +22,7 @@ struct X {
 void X::f() {}
 
 // Verify that the vtable is emitted.
-// CHECK-DAG: @_ZTVN5Test21XE = unnamed_addr constant
+// CHECK-DAG: @_ZTVN5Test21XE ={{.*}} unnamed_addr constant
 }
 
 namespace Test3 {
@@ -34,5 +34,5 @@ struct X {
 void X::f() {}
 
 // Verify that the vtable is emitted.
-// CHECK-DAG: @_ZTVN5Test31XE = unnamed_addr constant
+// CHECK-DAG: @_ZTVN5Test31XE ={{.*}} unnamed_addr constant
 }

diff  --git a/clang/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp b/clang/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp
index 99c5d721dc47..9b922efb1b49 100644
--- a/clang/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp
+++ b/clang/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp
@@ -7,18 +7,18 @@
 
 // CHECK-DAG:  @a = external thread_local global i32
 // CHECK-DAG:  @b = external thread_local global i32
-// LINUX-DAG:  @c = thread_local global i32 0, align 4
+// LINUX-DAG:  @c ={{.*}} thread_local global i32 0, align 4
 // DARWIN-DAG: @c = internal thread_local global i32 0, align 4
-// LINUX-DAG:  @d = thread_local global i32 0, align 4
+// LINUX-DAG:  @d ={{.*}} thread_local global i32 0, align 4
 // DARWIN-DAG: @d = internal thread_local global i32 0, align 4
 // CHECK-DAG:  @e = external thread_local global %struct.Destructed, align 4
-// CHECK-DAG:  @e2 = thread_local global %struct.Destructed zeroinitializer, align 4
-// CHECK-DAG:  @f = thread_local global i32 4, align 4
+// CHECK-DAG:  @e2 ={{.*}} thread_local global %struct.Destructed zeroinitializer, align 4
+// CHECK-DAG:  @f ={{.*}} thread_local global i32 4, align 4
 
 extern thread_local int a;
 extern thread_local constinit int b;
 
-// CHECK-LABEL: define i32 @_Z5get_av()
+// CHECK-LABEL: define{{.*}} i32 @_Z5get_av()
 // CHECK: call {{(cxx_fast_tlscc )?}}i32* @_ZTW1a()
 // CHECK: }
 int get_a() { return a; }
@@ -29,7 +29,7 @@ int get_a() { return a; }
 // LINUX: }
 // DARWIN-NOT: define {{.*}}@_ZTW1a()
 
-// CHECK-LABEL: define i32 @_Z5get_bv()
+// CHECK-LABEL: define{{.*}} i32 @_Z5get_bv()
 // CHECK-NOT: call
 // CHECK: load i32, i32* @b
 // CHECK-NOT: call
@@ -40,7 +40,7 @@ int get_b() { return b; }
 
 extern thread_local int c;
 
-// CHECK-LABEL: define i32 @_Z5get_cv()
+// CHECK-LABEL: define{{.*}} i32 @_Z5get_cv()
 // LINUX: call {{(cxx_fast_tlscc )?}}i32* @_ZTW1c()
 // CHECK: load i32, i32* %
 // CHECK: }
@@ -69,7 +69,7 @@ struct Destructed {
 };
 
 extern thread_local constinit Destructed e;
-// CHECK-LABEL: define i32 @_Z5get_ev()
+// CHECK-LABEL: define{{.*}} i32 @_Z5get_ev()
 // CHECK: call {{.*}}* @_ZTW1e()
 // CHECK: }
 int get_e() { return e.n; }

diff  --git a/clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp b/clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
index d523649ed5ab..54a70e2e6e20 100644
--- a/clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
+++ b/clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
@@ -8,7 +8,7 @@ struct B : A {
 };
 
 A::A(int i, ...) {}
-// CHECK: define void @{{.*}}foo
+// CHECK: define{{.*}} void @{{.*}}foo
 // CHECK-NOT: ret void
 // CHECK: call void @llvm.dbg.declare
 // CHECK-NOT: ret void

diff  --git a/clang/test/CodeGenCXX/debug-info-template-member.cpp b/clang/test/CodeGenCXX/debug-info-template-member.cpp
index 3d5b04d16414..66d9ba5ebc9b 100644
--- a/clang/test/CodeGenCXX/debug-info-template-member.cpp
+++ b/clang/test/CodeGenCXX/debug-info-template-member.cpp
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s
 
-// CHECK: @x = global %"struct.outer<foo>::inner" zeroinitializer, align 4, !dbg [[X:![0-9]+]]
+// CHECK: @x ={{.*}} global %"struct.outer<foo>::inner" zeroinitializer, align 4, !dbg [[X:![0-9]+]]
 
 struct MyClass {
   template <int i> int add(int j) {

diff  --git a/clang/test/CodeGenCXX/default-arg-temps.cpp b/clang/test/CodeGenCXX/default-arg-temps.cpp
index 3266c13771e8..8ef23837d964 100644
--- a/clang/test/CodeGenCXX/default-arg-temps.cpp
+++ b/clang/test/CodeGenCXX/default-arg-temps.cpp
@@ -13,7 +13,7 @@ class X { // ...
         X(const X&, const T& t = T());
 };
 
-// CHECK-LABEL: define void @_Z1gv()
+// CHECK-LABEL: define{{.*}} void @_Z1gv()
 void g() {
   // CHECK:      call void @_ZN1TC1Ev([[T:%.*]]* {{[^,]*}} [[AGG1:%.*]])
   // CHECK-NEXT: call void @_Z1fRK1T([[T]]* nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[AGG1]])
@@ -41,7 +41,7 @@ void g() {
 
 
 class obj{ int a; float b; double d; };
-// CHECK-LABEL: define void @_Z1hv()
+// CHECK-LABEL: define{{.*}} void @_Z1hv()
 void h() {
   // CHECK: call void @llvm.memset.p0i8.i64(
   obj o = obj();

diff  --git a/clang/test/CodeGenCXX/default-arguments.cpp b/clang/test/CodeGenCXX/default-arguments.cpp
index 05475f2e219d..106d13eb2692 100644
--- a/clang/test/CodeGenCXX/default-arguments.cpp
+++ b/clang/test/CodeGenCXX/default-arguments.cpp
@@ -26,7 +26,7 @@ struct B {
  B(const A1& = A1(), const A2& = A2());
 };
 
-// CHECK-LABEL: define void @_Z2f1v()
+// CHECK-LABEL: define{{.*}} void @_Z2f1v()
 void f1() {
 
  // CHECK: call void @_ZN2A1C1Ev(
@@ -42,18 +42,18 @@ struct C {
  C();
 };
 
-// CHECK-LABEL: 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(
 // CHECK: call void @_ZN2A2D1Ev
 // CHECK: call void @_ZN2A1D1Ev
 
-// CHECK-LABEL: define void @_ZN1CC1Ev(%struct.C* {{[^,]*}} %this) unnamed_addr
+// CHECK-LABEL: define{{.*}} void @_ZN1CC1Ev(%struct.C* {{[^,]*}} %this) unnamed_addr
 // CHECK: call void @_ZN1CC2Ev(
 C::C() { }
 
-// CHECK-LABEL: define void @_Z2f3v()
+// CHECK-LABEL: define{{.*}} void @_Z2f3v()
 void f3() {
  // CHECK: call void @_ZN2A1C1Ev(
  // CHECK: call void @_ZN2A2C1Ev(

diff  --git a/clang/test/CodeGenCXX/delete.cpp b/clang/test/CodeGenCXX/delete.cpp
index 8507759c5ef9..3e837c5c3072 100644
--- a/clang/test/CodeGenCXX/delete.cpp
+++ b/clang/test/CodeGenCXX/delete.cpp
@@ -11,7 +11,7 @@ struct S {
 
 // POD types.
 
-// CHECK-LABEL: define void @_Z2t3P1S
+// CHECK-LABEL: define{{.*}} void @_Z2t3P1S
 void t3(S *s) {
   // CHECK: icmp {{.*}} null
   // CHECK: br i1
@@ -32,7 +32,7 @@ struct T {
   int a;
 };
 
-// CHECK-LABEL: define void @_Z2t4P1T
+// CHECK-LABEL: define{{.*}} void @_Z2t4P1T
 void t4(T *t) {
   // CHECK: call void @_ZN1TD1Ev
   // CHECK-NOSIZE-NEXT: bitcast
@@ -61,7 +61,7 @@ namespace test0 {
     ~A() {}
   };
 
-  // CHECK-LABEL: define void @_ZN5test04testEPNS_1AE(
+  // CHECK-LABEL: define{{.*}} void @_ZN5test04testEPNS_1AE(
   void test(A *a) {
     // CHECK: call void @_ZN5test01AD1Ev
     // CHECK-NOSIZE-NEXT: bitcast
@@ -81,7 +81,7 @@ namespace test1 {
     ~A();
   };
 
-  // CHECK-LABEL: 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
@@ -105,7 +105,7 @@ namespace test1 {
 }
 
 namespace test2 {
-  // CHECK-LABEL: define void @_ZN5test21fEPb
+  // CHECK-LABEL: define{{.*}} void @_ZN5test21fEPb
   void f(bool *b) {
     // CHECK: call void @_ZdlPv(i8*
     delete b;
@@ -128,7 +128,7 @@ namespace test4 {
     void operator delete (void *);
   };
 
-  // CHECK-LABEL: 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.
@@ -153,7 +153,7 @@ namespace test4 {
 
 namespace test5 {
   struct Incomplete;
-  // CHECK-LABEL: 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;

diff  --git a/clang/test/CodeGenCXX/derived-to-base-conv.cpp b/clang/test/CodeGenCXX/derived-to-base-conv.cpp
index 59a0bb9a84a6..1d99e3e51391 100644
--- a/clang/test/CodeGenCXX/derived-to-base-conv.cpp
+++ b/clang/test/CodeGenCXX/derived-to-base-conv.cpp
@@ -31,7 +31,7 @@ struct X {
 void test0_helper(A);
 void test0(X x) {
   test0_helper(x);
-  // CHECK-LABEL:    define void @_Z5test01X(
+  // CHECK-LABEL:    define{{.*}} void @_Z5test01X(
   // CHECK:      [[TMP:%.*]] = alloca [[A:%.*]], align
   // CHECK-NEXT: [[T0:%.*]] = call nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[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-LABEL:     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-LABEL:    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

diff  --git a/clang/test/CodeGenCXX/derived-to-base.cpp b/clang/test/CodeGenCXX/derived-to-base.cpp
index 3bd5e35615ac..34a020beb0b4 100644
--- a/clang/test/CodeGenCXX/derived-to-base.cpp
+++ b/clang/test/CodeGenCXX/derived-to-base.cpp
@@ -15,7 +15,7 @@ void f() {
   b.f();
 }
 
-// CHECK: define %struct.B* @_Z1fP1A(%struct.A* %a) [[NUW:#[0-9]+]]
+// CHECK: define{{.*}} %struct.B* @_Z1fP1A(%struct.A* %a) [[NUW:#[0-9]+]]
 B *f(A *a) {
   // CHECK-NOT: br label
   // CHECK: ret %struct.B*
@@ -25,7 +25,7 @@ B *f(A *a) {
 // PR5965
 namespace PR5965 {
 
-// CHECK: define %struct.A* @_ZN6PR59651fEP1B(%struct.B* %b) [[NUW]]
+// CHECK: define{{.*}} %struct.A* @_ZN6PR59651fEP1B(%struct.B* %b) [[NUW]]
 A *f(B* b) {
   // CHECK-NOT: br label
   // CHECK: ret %struct.A*

diff  --git a/clang/test/CodeGenCXX/destructors.cpp b/clang/test/CodeGenCXX/destructors.cpp
index 2b00e2d3ac68..4bd633928b6e 100644
--- a/clang/test/CodeGenCXX/destructors.cpp
+++ b/clang/test/CodeGenCXX/destructors.cpp
@@ -43,10 +43,10 @@ namespace PR7526 {
 
   struct allocator_derived : allocator { };
 
-  // CHECK1-LABEL: define void @_ZN6PR75263fooEv()
+  // CHECK1-LABEL: define{{.*}} void @_ZN6PR75263fooEv()
   // CHECK1: call void {{.*}} @_ZN6PR75269allocatorD2Ev
 
-  // CHECK1-LABEL: define void @_ZN6PR75269allocatorD2Ev(%"struct.PR7526::allocator"* {{[^,]*}} %this) unnamed_addr
+  // CHECK1-LABEL: define{{.*}} void @_ZN6PR75269allocatorD2Ev(%"struct.PR7526::allocator"* {{[^,]*}} %this) unnamed_addr
   // CHECK1: call void @__cxa_call_unexpected
   allocator::~allocator() throw() { foo(); }
 
@@ -96,16 +96,16 @@ namespace test0 {
 
 // complete destructor alias tested above
 
-// CHECK2-LABEL: @_ZN5test01AD1Ev = unnamed_addr alias {{.*}} @_ZN5test01AD2Ev
-// CHECK2-LABEL: define void @_ZN5test01AD2Ev(%"struct.test0::A"* {{[^,]*}} %this) unnamed_addr
+// CHECK2-LABEL: @_ZN5test01AD1Ev ={{.*}} unnamed_addr alias {{.*}} @_ZN5test01AD2Ev
+// CHECK2-LABEL: define{{.*}} void @_ZN5test01AD2Ev(%"struct.test0::A"* {{[^,]*}} %this) unnamed_addr
 // CHECK2: invoke void @_ZN5test06MemberD1Ev
 // CHECK2:   unwind label [[MEM_UNWIND:%[a-zA-Z0-9.]+]]
 // CHECK2: invoke void @_ZN5test04BaseD2Ev
 // CHECK2:   unwind label [[BASE_UNWIND:%[a-zA-Z0-9.]+]]
 
 // In C++11, the destructors are often known not to throw.
-// CHECK2v11-LABEL: @_ZN5test01AD1Ev = unnamed_addr alias {{.*}} @_ZN5test01AD2Ev
-// CHECK2v11-LABEL: define void @_ZN5test01AD2Ev(%"struct.test0::A"* {{[^,]*}} %this) unnamed_addr
+// CHECK2v11-LABEL: @_ZN5test01AD1Ev ={{.*}} unnamed_addr alias {{.*}} @_ZN5test01AD2Ev
+// CHECK2v11-LABEL: define{{.*}} void @_ZN5test01AD2Ev(%"struct.test0::A"* {{[^,]*}} %this) unnamed_addr
 // CHECK2v11: call void @_ZN5test06MemberD1Ev
 // CHECK2v11: call void @_ZN5test04BaseD2Ev
 
@@ -116,17 +116,17 @@ namespace test0 {
   B::~B() try { } catch (int i) {}
   // It will suppress the delegation optimization here, though.
 
-// CHECK2-LABEL: define void @_ZN5test01BD2Ev(%"struct.test0::B"* {{[^,]*}} %this, i8** %vtt) unnamed_addr
+// CHECK2-LABEL: define{{.*}} void @_ZN5test01BD2Ev(%"struct.test0::B"* {{[^,]*}} %this, i8** %vtt) unnamed_addr
 // CHECK2: invoke void @_ZN5test06MemberD1Ev
 // CHECK2:   unwind label [[MEM_UNWIND:%[a-zA-Z0-9.]+]]
 // CHECK2: invoke void @_ZN5test04BaseD2Ev
 // CHECK2:   unwind label [[BASE_UNWIND:%[a-zA-Z0-9.]+]]
 
-// CHECK2v11-LABEL: define void @_ZN5test01BD2Ev(%"struct.test0::B"* {{[^,]*}} %this, i8** %vtt) unnamed_addr
+// CHECK2v11-LABEL: define{{.*}} void @_ZN5test01BD2Ev(%"struct.test0::B"* {{[^,]*}} %this, i8** %vtt) unnamed_addr
 // CHECK2v11: call void @_ZN5test06MemberD1Ev
 // CHECK2v11: call void @_ZN5test04BaseD2Ev
 
-// CHECK2-LABEL: define void @_ZN5test01BD1Ev(%"struct.test0::B"* {{[^,]*}} %this) unnamed_addr
+// CHECK2-LABEL: define{{.*}} void @_ZN5test01BD1Ev(%"struct.test0::B"* {{[^,]*}} %this) unnamed_addr
 // CHECK2: invoke void @_ZN5test06MemberD1Ev
 // CHECK2:   unwind label [[MEM_UNWIND:%[a-zA-Z0-9.]+]]
 // CHECK2: invoke void @_ZN5test04BaseD2Ev
@@ -134,7 +134,7 @@ namespace test0 {
 // CHECK2: invoke void @_ZN5test05VBaseD2Ev
 // CHECK2:   unwind label [[VBASE_UNWIND:%[a-zA-Z0-9.]+]]
 
-// CHECK2v11-LABEL: define void @_ZN5test01BD1Ev(%"struct.test0::B"* {{[^,]*}} %this) unnamed_addr
+// CHECK2v11-LABEL: define{{.*}} void @_ZN5test01BD1Ev(%"struct.test0::B"* {{[^,]*}} %this) unnamed_addr
 // CHECK2v11: call void @_ZN5test06MemberD1Ev
 // CHECK2v11: call void @_ZN5test04BaseD2Ev
 // CHECK2v11: call void @_ZN5test05VBaseD2Ev
@@ -153,36 +153,36 @@ namespace test1 {
 
   struct M : A { ~M(); };
   M::~M() {}
-  // CHECK3: @_ZN5test11MD2Ev = unnamed_addr alias {{.*}} @_ZN5test11AD2Ev
+  // CHECK3: @_ZN5test11MD2Ev ={{.*}} unnamed_addr alias {{.*}} @_ZN5test11AD2Ev
 
   struct N : A, Empty { ~N(); };
   N::~N() {}
-  // CHECK3: @_ZN5test11ND2Ev = unnamed_addr alias {{.*}} @_ZN5test11AD2Ev
+  // CHECK3: @_ZN5test11ND2Ev ={{.*}} unnamed_addr alias {{.*}} @_ZN5test11AD2Ev
 
   struct O : Empty, A { ~O(); };
   O::~O() {}
-  // CHECK3: @_ZN5test11OD2Ev = unnamed_addr alias {{.*}} @_ZN5test11AD2Ev
+  // CHECK3: @_ZN5test11OD2Ev ={{.*}} unnamed_addr alias {{.*}} @_ZN5test11AD2Ev
 
   struct P : NonEmpty, A { ~P(); };
-  P::~P() {} // CHECK3-LABEL: define void @_ZN5test11PD2Ev(%"struct.test1::P"* {{[^,]*}} %this) unnamed_addr
+  P::~P() {} // CHECK3-LABEL: define{{.*}} void @_ZN5test11PD2Ev(%"struct.test1::P"* {{[^,]*}} %this) unnamed_addr
 
   struct Q : A, B { ~Q(); };
-  Q::~Q() {} // CHECK3-LABEL: define void @_ZN5test11QD2Ev(%"struct.test1::Q"* {{[^,]*}} %this) unnamed_addr
+  Q::~Q() {} // CHECK3-LABEL: define{{.*}} void @_ZN5test11QD2Ev(%"struct.test1::Q"* {{[^,]*}} %this) unnamed_addr
 
   struct R : A { ~R(); };
-  R::~R() { A a; } // CHECK3-LABEL: define void @_ZN5test11RD2Ev(%"struct.test1::R"* {{[^,]*}} %this) unnamed_addr
+  R::~R() { A a; } // CHECK3-LABEL: define{{.*}} void @_ZN5test11RD2Ev(%"struct.test1::R"* {{[^,]*}} %this) unnamed_addr
 
   struct S : A { ~S(); int x; };
   S::~S() {}
-  // CHECK4: @_ZN5test11SD2Ev = unnamed_addr alias {{.*}}, bitcast {{.*}} @_ZN5test11AD2Ev
+  // CHECK4: @_ZN5test11SD2Ev ={{.*}} unnamed_addr alias {{.*}}, bitcast {{.*}} @_ZN5test11AD2Ev
 
   struct T : A { ~T(); B x; };
-  T::~T() {} // CHECK4-LABEL: define void @_ZN5test11TD2Ev(%"struct.test1::T"* {{[^,]*}} %this) unnamed_addr
+  T::~T() {} // CHECK4-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() {} // CHECK4-LABEL: define void @_ZN5test11UD2Ev(%"struct.test1::U"* {{[^,]*}} %this, i8** %vtt) unnamed_addr
+  U::~U() {} // CHECK4-LABEL: define{{.*}} void @_ZN5test11UD2Ev(%"struct.test1::U"* {{[^,]*}} %this, i8** %vtt) unnamed_addr
 }
 
 // PR6471
@@ -191,7 +191,7 @@ namespace test2 {
   struct B : A { ~B(); };
 
   B::~B() {}
-  // CHECK4-LABEL: define void @_ZN5test21BD2Ev(%"struct.test2::B"* {{[^,]*}} %this) unnamed_addr
+  // CHECK4-LABEL: define{{.*}} void @_ZN5test21BD2Ev(%"struct.test2::B"* {{[^,]*}} %this) unnamed_addr
   // CHECK4: call void @_ZN5test21AD2Ev
 }
 
@@ -266,7 +266,7 @@ namespace test3 {
 namespace test4 {
   struct A { ~A(); };
 
-  // CHECK5-LABEL: define void @_ZN5test43fooEv()
+  // CHECK5-LABEL: define{{.*}} void @_ZN5test43fooEv()
   // CHECK5: call void @_ZN5test41AD1Ev
   // CHECK5: ret void
   void foo() {
@@ -279,7 +279,7 @@ namespace test4 {
     return;
   }
 
-  // CHECK5-LABEL: define void @_ZN5test43barEi(
+  // CHECK5-LABEL: define{{.*}} void @_ZN5test43barEi(
   // CHECK5:      [[X:%.*]] = alloca i32
   // CHECK5-NEXT: [[A:%.*]] = alloca
   // CHECK5:      br label
@@ -304,7 +304,7 @@ namespace test4 {
 namespace test5 {
   struct A { ~A(); };
 
-  // CHECK5-LABEL: define void @_ZN5test53fooEv()
+  // CHECK5-LABEL: define{{.*}} void @_ZN5test53fooEv()
   // CHECK5:      [[ELEMS:%.*]] = alloca [5 x [[A:%.*]]], align
   // CHECK5v03-NEXT: [[EXN:%.*]] = alloca i8*
   // CHECK5v03-NEXT: [[SEL:%.*]] = alloca i32
@@ -349,7 +349,7 @@ namespace test6 {
   };
 
   C::C() { opaque(); }
-  // CHECK5-LABEL: define void @_ZN5test61CC1Ev(%"struct.test6::C"* {{[^,]*}} %this) unnamed_addr
+  // CHECK5-LABEL: define{{.*}} void @_ZN5test61CC1Ev(%"struct.test6::C"* {{[^,]*}} %this) unnamed_addr
   // CHECK5:   call void @_ZN5test61BILj2EEC2Ev
   // CHECK5:   invoke void @_ZN5test61BILj3EEC2Ev
   // CHECK5:   invoke void @_ZN5test61BILj0EEC2Ev
@@ -359,7 +359,7 @@ namespace test6 {
   // FIXME: way too much EH cleanup code follows
 
   C::~C() { opaque(); }
-  // CHECK5-LABEL: define void @_ZN5test61CD2Ev(%"struct.test6::C"* {{[^,]*}} %this, i8** %vtt) unnamed_addr
+  // CHECK5-LABEL: define{{.*}} void @_ZN5test61CD2Ev(%"struct.test6::C"* {{[^,]*}} %this, i8** %vtt) unnamed_addr
   // CHECK5:   invoke void @_ZN5test66opaqueEv
   // CHECK5v03:   invoke void @_ZN5test61AD1Ev
   // CHECK5v03:   invoke void @_ZN5test61AD1Ev
@@ -377,7 +377,7 @@ namespace test6 {
   // CHECK5v03:   invoke void @_ZN5test61BILj1EED2Ev
   // CHECK5v03:   invoke void @_ZN5test61BILj0EED2Ev
 
-  // CHECK5-LABEL: define void @_ZN5test61CD1Ev(%"struct.test6::C"* {{[^,]*}} %this) unnamed_addr
+  // CHECK5-LABEL: define{{.*}} void @_ZN5test61CD1Ev(%"struct.test6::C"* {{[^,]*}} %this) unnamed_addr
   // CHECK5v03:   invoke void @_ZN5test61CD2Ev
   // CHECK5v03:   invoke void @_ZN5test61BILj3EED2Ev
   // CHECK5v03:   call void @_ZN5test61BILj2EED2Ev
@@ -404,7 +404,7 @@ namespace test7 {
   };
 
   // Verify that this doesn't get emitted as an alias
-  // CHECK5-LABEL: define void @_ZN5test71BD2Ev(
+  // CHECK5-LABEL: define{{.*}} void @_ZN5test71BD2Ev(
   // CHECK5v03:   invoke void @_ZN5test71DD1Ev(
   // CHECK5v11:   call   void @_ZN5test71DD1Ev(
   // CHECK5:   call void @_ZN5test71AD2Ev(
@@ -425,7 +425,7 @@ namespace test8 {
   l: die();
   }
 
-  // CHECK5-LABEL:    define void @_ZN5test84testEv()
+  // CHECK5-LABEL:    define{{.*}} void @_ZN5test84testEv()
   // CHECK5:      [[X:%.*]] = alloca [[A:%.*]], align 1
   // CHECK5-NEXT: [[Y:%.*]] = alloca [[A:%.*]], align 1
   // CHECK5:      call void @_ZN5test81AC1Ev([[A]]* {{[^,]*}} [[X]])
@@ -462,7 +462,7 @@ namespace test10 {
   };
   template <class DataType> class opt : public Option {};
   template class opt<int>;
-  // CHECK5-LABEL: define zeroext i1 @_ZN6test1016handleOccurrenceEv(
+  // CHECK5-LABEL: define{{.*}} zeroext i1 @_ZN6test1016handleOccurrenceEv(
   bool handleOccurrence() {
     // CHECK5: call void @_ZN6test106OptionD2Ev(
     Option x;
@@ -475,7 +475,7 @@ namespace test11 {
 
 // Check that lifetime.end is emitted in the landing pad.
 
-// CHECK6-LABEL: define void @_ZN6test1115testLifetimeEndEi(
+// CHECK6-LABEL: define{{.*}} void @_ZN6test1115testLifetimeEndEi(
 // CHECK6: entry:
 // CHECK6: [[T1:%[a-z0-9]+]] = alloca %"struct.test11::S1"
 // CHECK6: [[T2:%[a-z0-9]+]] = alloca %"struct.test11::S1"

diff  --git a/clang/test/CodeGenCXX/eh.cpp b/clang/test/CodeGenCXX/eh.cpp
index b3e8cb7c8b92..a8592ad9fc4e 100644
--- a/clang/test/CodeGenCXX/eh.cpp
+++ b/clang/test/CodeGenCXX/eh.cpp
@@ -9,7 +9,7 @@ void test1() {
   throw d1;
 }
 
-// CHECK-LABEL:     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*
@@ -30,7 +30,7 @@ void test2() {
   throw d2;
 }
 
-// CHECK-LABEL:     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)
@@ -52,7 +52,7 @@ void test3() {
   throw (volatile test3_D *)0;
 }
 
-// CHECK-LABEL:     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]]
@@ -64,7 +64,7 @@ void test4() {
   throw;
 }
 
-// CHECK-LABEL:     define void @_Z5test4v()
+// CHECK-LABEL:     define{{.*}} void @_Z5test4v()
 // CHECK:        call void @__cxa_rethrow() [[NR]]
 // CHECK-NEXT:   unreachable
 
@@ -80,7 +80,7 @@ namespace test5 {
   void test() {
     try { throw A(); } catch (A &x) {}
   }
-// CHECK-LABEL:      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]])
@@ -102,7 +102,7 @@ namespace test6 {
 
 // PR7127
 namespace test7 {
-// CHECK-LABEL:      define i32 @_ZN5test73fooEv() 
+// CHECK-LABEL:      define{{.*}} i32 @_ZN5test73fooEv() 
 // CHECK-SAME:  personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
   int foo() {
 // CHECK:      [[CAUGHTEXNVAR:%.*]] = alloca i8*
@@ -162,7 +162,7 @@ namespace test8 {
   struct A { A(const A&); ~A(); };
   void bar();
 
-  // CHECK-LABEL: define void @_ZN5test83fooEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN5test83fooEv()
   void foo() {
     try {
       // CHECK:      invoke void @_ZN5test83barEv()
@@ -187,7 +187,7 @@ namespace test9 {
   struct A { A(); };
 
 
-  // CHECK-LABEL: define void @_ZN5test91AC2Ev(%"struct.test9::A"* {{[^,]*}} %this) unnamed_addr
+  // CHECK-LABEL: define{{.*}} void @_ZN5test91AC2Ev(%"struct.test9::A"* {{[^,]*}} %this) unnamed_addr
   // CHECK-SAME:  personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
   A::A() try {
   // CHECK:      invoke void @_ZN5test96opaqueEv()
@@ -200,7 +200,7 @@ namespace test9 {
   // CHECK:      invoke void @_ZN5test96opaqueEv()
   // CHECK:      invoke void @__cxa_rethrow()
 
-  // CHECK-LABEL:      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
     opaque();
@@ -214,7 +214,7 @@ namespace test10 {
   struct A { ~A(); };
   struct B { int x; };
 
-  // CHECK-LABEL: define void @_ZN6test103fooEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN6test103fooEv()
   void foo() {
     A a; // force a cleanup context
 
@@ -248,7 +248,7 @@ namespace test10 {
 namespace test11 {
   void opaque();
 
-  // CHECK-LABEL: define void @_ZN6test113fooEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN6test113fooEv()
   void foo() {
     try {
       // CHECK:      invoke void @_ZN6test116opaqueEv()
@@ -265,7 +265,7 @@ namespace test11 {
 
   struct A {};
 
-  // CHECK-LABEL: define void @_ZN6test113barEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN6test113barEv()
   void bar() {
     try {
       // CHECK:      [[EXNSLOT:%.*]] = alloca i8*
@@ -290,7 +290,7 @@ namespace test12 {
   struct A { ~A() noexcept(false); };
   bool opaque(const A&);
 
-  // CHECK-LABEL: define void @_ZN6test124testEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN6test124testEv()
   void test() {
     // CHECK: [[X:%.*]] = alloca [[A:%.*]],
     // CHECK: [[EHCLEANUPDEST:%.*]] = alloca i32
@@ -375,7 +375,7 @@ namespace test15 {
 
   bool opaque(int);
 
-  // CHECK-LABEL: define void @_ZN6test153fooEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN6test153fooEv()
   void foo() {
     A a;
 
@@ -409,7 +409,7 @@ namespace test16 {
   void foo();
   bool cond();
 
-  // CHECK-LABEL: define void @_ZN6test163barEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN6test163barEv()
   void bar() {
     // CHECK:      [[EXN_SAVE:%.*]] = alloca i8*
     // CHECK-NEXT: [[EXN_ACTIVE:%.*]] = alloca i1

diff  --git a/clang/test/CodeGenCXX/empty-classes.cpp b/clang/test/CodeGenCXX/empty-classes.cpp
index 5727d5918291..a02517f87a22 100644
--- a/clang/test/CodeGenCXX/empty-classes.cpp
+++ b/clang/test/CodeGenCXX/empty-classes.cpp
@@ -31,7 +31,7 @@ struct D : A, Empty {
 #define CHECK(x) if (!(x)) return __LINE__
 
 // PR7012
-// CHECK-LABEL: define i32 @_Z1fv()
+// CHECK-LABEL: define{{.*}} i32 @_Z1fv()
 int f() {
   B b1;
 

diff  --git a/clang/test/CodeGenCXX/for-range.cpp b/clang/test/CodeGenCXX/for-range.cpp
index 41043804474b..98265074adf7 100644
--- a/clang/test/CodeGenCXX/for-range.cpp
+++ b/clang/test/CodeGenCXX/for-range.cpp
@@ -32,7 +32,7 @@ B *end(C&);
 
 extern B array[5];
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL: 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;

diff  --git a/clang/test/CodeGenCXX/forward-enum.cpp b/clang/test/CodeGenCXX/forward-enum.cpp
index 685e4f31cc61..0d2ff8e7d11f 100644
--- a/clang/test/CodeGenCXX/forward-enum.cpp
+++ b/clang/test/CodeGenCXX/forward-enum.cpp
@@ -3,7 +3,7 @@
 enum MyEnum : char;
 void bar(MyEnum value) { }
 
-// CHECK-LABEL: define void @_Z3foo6MyEnum
+// CHECK-LABEL: define{{.*}} void @_Z3foo6MyEnum
 void foo(MyEnum value)
 {
   // CHECK: call void @_Z3bar6MyEnum(i8 signext

diff  --git a/clang/test/CodeGenCXX/global-init.cpp b/clang/test/CodeGenCXX/global-init.cpp
index e6149afbcca6..5752f549b1bf 100644
--- a/clang/test/CodeGenCXX/global-init.cpp
+++ b/clang/test/CodeGenCXX/global-init.cpp
@@ -17,12 +17,12 @@ struct C { void *field; };
 struct D { ~D(); };
 
 // CHECK: @__dso_handle = external hidden global i8
-// CHECK: @c = global %struct.C zeroinitializer, align 8
+// CHECK: @c ={{.*}} global %struct.C zeroinitializer, align 8
 
 // PR6205: The casts should not require global initializers
 // CHECK: @_ZN6PR59741cE = external global %"struct.PR5974::C"
-// CHECK: @_ZN6PR59741aE = global %"struct.PR5974::A"* getelementptr inbounds (%"struct.PR5974::C", %"struct.PR5974::C"* @_ZN6PR59741cE, i32 0, i32 0)
-// CHECK: @_ZN6PR59741bE = global %"struct.PR5974::B"* bitcast (i8* getelementptr (i8, i8* bitcast (%"struct.PR5974::C"* @_ZN6PR59741cE to i8*), i64 4) to %"struct.PR5974::B"*), align 8
+// CHECK: @_ZN6PR59741aE ={{.*}} global %"struct.PR5974::A"* getelementptr inbounds (%"struct.PR5974::C", %"struct.PR5974::C"* @_ZN6PR59741cE, i32 0, i32 0)
+// CHECK: @_ZN6PR59741bE ={{.*}} global %"struct.PR5974::B"* bitcast (i8* getelementptr (i8, i8* bitcast (%"struct.PR5974::C"* @_ZN6PR59741cE to i8*), i64 4) to %"struct.PR5974::B"*), align 8
 
 // CHECK: call void @_ZN1AC1Ev(%struct.A* {{[^,]*}} @a)
 // CHECK: call i32 @__cxa_atexit(void (i8*)* bitcast (void (%struct.A*)* @_ZN1AD1Ev to void (i8*)*), i8* getelementptr inbounds (%struct.A, %struct.A* @a, i32 0, i32 0), i8* @__dso_handle)
@@ -46,7 +46,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-LABEL:      define i32 @_ZN5test14testEv()
+// CHECK-LABEL:      define{{.*}} i32 @_ZN5test14testEv()
 
   // All of these initializers end up delayed, so we check them later.
 }

diff  --git a/clang/test/CodeGenCXX/inheriting-constructor-cleanup.cpp b/clang/test/CodeGenCXX/inheriting-constructor-cleanup.cpp
index ba5b1dfe1a0f..6b33ba3bf362 100644
--- a/clang/test/CodeGenCXX/inheriting-constructor-cleanup.cpp
+++ b/clang/test/CodeGenCXX/inheriting-constructor-cleanup.cpp
@@ -26,7 +26,7 @@ struct Inheritor : public NonTrivialDtor, public Base {
 
 void f() {
   Inheritor(S1(), S2(), "foo");
-  // CHECK-LABEL: define void @_Z1fv
+  // CHECK-LABEL: define{{.*}} void @_Z1fv
   // CHECK: %[[TMP1:.*]] = alloca %struct.S1
   // CHECK: %[[TMP2:.*]] = alloca %struct.S2
   // CHECK: call void (%struct.Base*, %struct.S1*, %struct.S2*, i8*, ...) @_ZN4BaseC2ERK2S1RK2S2PKcz(%struct.Base* {{.*}}, %struct.S1* nonnull align 1 dereferenceable(1) %[[TMP1]], %struct.S2* nonnull align 1 dereferenceable(1) %[[TMP2]], i8* {{.*}})
@@ -34,7 +34,7 @@ void f() {
   // CHECK-NEXT: call void @_ZN2S2D1Ev(%struct.S2* {{[^,]*}} %[[TMP2]])
   // CHECK-NEXT: call void @_ZN2S1D1Ev(%struct.S1* {{[^,]*}} %[[TMP1]])
 
-  // EXCEPTIONS-LABEL: define void @_Z1fv
+  // EXCEPTIONS-LABEL: define{{.*}} void @_Z1fv
   // EXCEPTIONS: %[[TMP1:.*]] = alloca %struct.S1
   // EXCEPTIONS: %[[TMP2:.*]] = alloca %struct.S2
   // EXCEPTIONS: invoke void (%struct.Base*, %struct.S1*, %struct.S2*, i8*, ...) @_ZN4BaseC2ERK2S1RK2S2PKcz(%struct.Base* {{.*}}, %struct.S1* nonnull align 1 dereferenceable(1) %[[TMP1]], %struct.S2* nonnull align 1 dereferenceable(1) %[[TMP2]], i8* {{.*}})

diff  --git a/clang/test/CodeGenCXX/inheriting-constructor.cpp b/clang/test/CodeGenCXX/inheriting-constructor.cpp
index 2cc6bf59d909..6de8e92186dd 100644
--- a/clang/test/CodeGenCXX/inheriting-constructor.cpp
+++ b/clang/test/CodeGenCXX/inheriting-constructor.cpp
@@ -15,9 +15,9 @@ struct C { template<typename T> C(T); };
 struct D : C { using C::C; };
 D d(123);
 
-// ITANIUM-LABEL: define void @_ZN1BD2Ev
-// ITANIUM-LABEL: define void @_ZN1BD1Ev
-// ITANIUM-LABEL: define void @_ZN1BD0Ev
+// ITANIUM-LABEL: define{{.*}} void @_ZN1BD2Ev
+// ITANIUM-LABEL: define{{.*}} void @_ZN1BD1Ev
+// ITANIUM-LABEL: define{{.*}} void @_ZN1BD0Ev
 // WIN32-LABEL: define {{.*}}void @"??1B@@UAE at XZ"
 // WIN64-LABEL: define {{.*}}void @"??1B@@UEAA at XZ"
 

diff  --git a/clang/test/CodeGenCXX/inline-functions.cpp b/clang/test/CodeGenCXX/inline-functions.cpp
index 95aec8b5d684..17f0fad27909 100644
--- a/clang/test/CodeGenCXX/inline-functions.cpp
+++ b/clang/test/CodeGenCXX/inline-functions.cpp
@@ -6,8 +6,8 @@ struct A {
     inline void f();
 };
 
-// NORMAL-NOT: define void @_ZN1A1fEv
-// MSVCCOMPAT-NOT: define void @"?f at A@@QEAAXXZ"
+// NORMAL-NOT: define{{.*}} void @_ZN1A1fEv
+// MSVCCOMPAT-NOT: define{{.*}} void @"?f at A@@QEAAXXZ"
 void A::f() { }
 
 template<typename> struct B { };
@@ -22,7 +22,7 @@ void B<char>::f() { }
 
 // We need a final CHECK line here.
 
-// NORMAL-LABEL: define void @_Z1fv
+// NORMAL-LABEL: define{{.*}} void @_Z1fv
 // MSVCCOMPAT-LABEL: define dso_local void @"?f@@YAXXZ"
 void f() { }
 
@@ -84,7 +84,7 @@ extern inline void ExternAndInlineFn() {}
 inline void InlineThenExternFn() {}
 extern void InlineThenExternFn();
 
-// NORMAL-LABEL: define void @_Z18ExternThenInlineFnv
+// NORMAL-LABEL: define{{.*}} void @_Z18ExternThenInlineFnv
 // MSVCCOMPAT-LABEL: define dso_local void @"?ExternThenInlineFn@@YAXXZ"
 extern void ExternThenInlineFn() {}
 
@@ -111,7 +111,7 @@ constexpr int ConstexprFn() { return 0; }
 template <typename T>
 extern inline void ExternInlineOnPrimaryTemplate(T);
 
-// NORMAL-LABEL: define void @_Z29ExternInlineOnPrimaryTemplateIiEvT_
+// NORMAL-LABEL: define{{.*}} void @_Z29ExternInlineOnPrimaryTemplateIiEvT_
 // MSVCCOMPAT-LABEL: define dso_local void @"??$ExternInlineOnPrimaryTemplate at H@@YAXH at Z"
 template <>
 void ExternInlineOnPrimaryTemplate(int) {}

diff  --git a/clang/test/CodeGenCXX/key-function-vtable.cpp b/clang/test/CodeGenCXX/key-function-vtable.cpp
index 028017c176ad..4dd302e907ea 100644
--- a/clang/test/CodeGenCXX/key-function-vtable.cpp
+++ b/clang/test/CodeGenCXX/key-function-vtable.cpp
@@ -44,7 +44,7 @@ inline void X1::f() { }
 void use_X1() { X1 x1; }
 
 // CHECK-DAG: @_ZTV2X1 = linkonce_odr unnamed_addr constant
-// CHECK-DAG: @_ZTV5testa = unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* null
+// CHECK-DAG: @_ZTV5testa ={{.*}} unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* null
 // CHECK-DAG: @_ZTV5testc = linkonce_odr unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* null
 // CHECK-DAG: @_ZTV5testb = linkonce_odr unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* null
 // CHECK-DAG: @_ZTV5teste = linkonce_odr unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* null

diff  --git a/clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp b/clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
index 6b45645c9e2d..3bbd910152a2 100644
--- a/clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
+++ b/clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -fblocks -emit-llvm -o - %s -fexceptions -std=c++11 | FileCheck %s
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -fblocks -emit-llvm -o - %s -fexceptions -std=c++14 | FileCheck --check-prefixes=CHECK,CXX14 %s
 
-// CHECK-LABEL: define void @_ZN19non_inline_function3fooEv()
+// CHECK-LABEL: define{{.*}} void @_ZN19non_inline_function3fooEv()
 // CHECK-LABEL: define internal void @"_ZZN19non_inline_function3fooEvENK3$_0clEi"(%class.anon
 // CHECK-LABEL: define internal signext i8 @"_ZZZN19non_inline_function3fooEvENK3$_0clEiENKUlcE_clEc"(%class.anon
 namespace non_inline_function {

diff  --git a/clang/test/CodeGenCXX/lambda-expressions.cpp b/clang/test/CodeGenCXX/lambda-expressions.cpp
index 379069d8a32d..1adc5cfd07ae 100644
--- a/clang/test/CodeGenCXX/lambda-expressions.cpp
+++ b/clang/test/CodeGenCXX/lambda-expressions.cpp
@@ -7,10 +7,10 @@ auto unused = [](int i) { return i+1; };
 auto used = [](int i) { return i+1; };
 void *use = &used;
 
-// CHECK: @cvar = global
+// CHECK: @cvar ={{.*}} global
 extern "C" auto cvar = []{};
 
-// CHECK-LABEL: define i32 @_Z9ARBSizeOfi(i32
+// CHECK-LABEL: define{{.*}} i32 @_Z9ARBSizeOfi(i32
 int ARBSizeOf(int n) {
   typedef double(T)[8][n];
   using TT = double[8][n];
@@ -28,13 +28,13 @@ int ARBSizeOf(int n) {
 // CHECK-LABEL: define internal i32 @"_ZZ9ARBSizeOfiENK3$_0clEv"
 
 int a() { return []{ return 1; }(); }
-// CHECK-LABEL: define i32 @_Z1av
+// CHECK-LABEL: define{{.*}} i32 @_Z1av
 // CHECK: call i32 @"_ZZ1avENK3$_1clEv"
 // CHECK-LABEL: define internal i32 @"_ZZ1avENK3$_1clEv"
 // CHECK: ret i32 1
 
 int b(int x) { return [x]{return x;}(); }
-// CHECK-LABEL: define i32 @_Z1bi
+// CHECK-LABEL: define{{.*}} i32 @_Z1bi
 // CHECK: store i32
 // CHECK: load i32, i32*
 // CHECK: store i32
@@ -44,7 +44,7 @@ int b(int x) { return [x]{return x;}(); }
 // CHECK: ret i32
 
 int c(int x) { return [&x]{return x;}(); }
-// CHECK-LABEL: define i32 @_Z1ci
+// CHECK-LABEL: define{{.*}} i32 @_Z1ci
 // CHECK: store i32
 // CHECK: store i32*
 // CHECK: call i32 @"_ZZ1ciENK3$_3clEv"
@@ -56,7 +56,7 @@ int c(int x) { return [&x]{return x;}(); }
 struct D { D(); D(const D&); int x; };
 int d(int x) { D y[10]; return [x,y] { return y[x].x; }(); }
 
-// CHECK-LABEL: define i32 @_Z1di
+// CHECK-LABEL: define{{.*}} i32 @_Z1di
 // CHECK: call void @_ZN1DC1Ev
 // CHECK: br label
 // CHECK: call void @_ZN1DC1ERKS_
@@ -70,7 +70,7 @@ int d(int x) { D y[10]; return [x,y] { return y[x].x; }(); }
 
 struct E { E(); E(const E&); ~E(); int x; };
 int e(E a, E b, bool cond) { return [a,b,cond](){ return (cond ? a : b).x; }(); }
-// CHECK-LABEL: define i32 @_Z1e1ES_b
+// CHECK-LABEL: define{{.*}} i32 @_Z1e1ES_b
 // CHECK: call void @_ZN1EC1ERKS_
 // CHECK: invoke void @_ZN1EC1ERKS_
 // CHECK: invoke i32 @"_ZZ1e1ES_bENK3$_5clEv"
@@ -83,7 +83,7 @@ int e(E a, E b, bool cond) { return [a,b,cond](){ return (cond ? a : b).x; }();
 // CHECK: ret i32
 
 void f() {
-  // CHECK-LABEL: define void @_Z1fv()
+  // CHECK-LABEL: define{{.*}} void @_Z1fv()
   // CHECK: @"_ZZ1fvENK3$_6cvPFiiiEEv"
   // CHECK-NEXT: store i32 (i32, i32)*
   // CHECK-NEXT: ret void
@@ -131,7 +131,7 @@ namespace pr28595 {
 
   void after_init() noexcept;
 
-  // CHECK-LABEL: define void @_ZN7pr285954testEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN7pr285954testEv()
   void test() {
     // CHECK: %[[SRC:.*]] = alloca [3 x [5 x %[[A:.*]]]], align 1
     A array[3][5];

diff  --git a/clang/test/CodeGenCXX/lvalue-bitcasts.cpp b/clang/test/CodeGenCXX/lvalue-bitcasts.cpp
index c9997bf417c0..d93981894e87 100644
--- a/clang/test/CodeGenCXX/lvalue-bitcasts.cpp
+++ b/clang/test/CodeGenCXX/lvalue-bitcasts.cpp
@@ -3,7 +3,7 @@
 struct X { int i; float f; };
 struct Y { X x; };
 
-// CHECK-LABEL: 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*, float**
   // CHECK: bitcast float*
@@ -48,7 +48,7 @@ void reinterpret_cast_test(int &ir, float &fr, X &xr) {
   // CHECK: ret void
 }
 
-// CHECK-LABEL: define void @_Z6c_castRiRfR1X
+// CHECK-LABEL: define{{.*}} void @_Z6c_castRiRfR1X
 void c_cast(int &ir, float &fr, X &xr) {
   // CHECK: load float*, float**
   // CHECK: bitcast float*
@@ -93,7 +93,7 @@ void c_cast(int &ir, float &fr, X &xr) {
   // CHECK: ret void
 }
 
-// CHECK-LABEL: 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;

diff  --git a/clang/test/CodeGenCXX/mangle-98.cpp b/clang/test/CodeGenCXX/mangle-98.cpp
index a329caf1d29d..089015584b37 100644
--- a/clang/test/CodeGenCXX/mangle-98.cpp
+++ b/clang/test/CodeGenCXX/mangle-98.cpp
@@ -2,11 +2,11 @@
 
 template <bool B> struct S3 {};
 
-// CHECK-LABEL: define void @_Z1f2S3ILb1EE
+// CHECK-LABEL: define{{.*}} void @_Z1f2S3ILb1EE
 void f(S3<true>) {}
 
-// CHECK-LABEL: define void @_Z1f2S3ILb0EE
+// CHECK-LABEL: define{{.*}} void @_Z1f2S3ILb0EE
 void f(S3<false>) {}
 
-// CHECK-LABEL: define void @_Z2f22S3ILb1EE
+// CHECK-LABEL: define{{.*}} void @_Z2f22S3ILb1EE
 void f2(S3<100>) {}

diff  --git a/clang/test/CodeGenCXX/mangle-alias-template.cpp b/clang/test/CodeGenCXX/mangle-alias-template.cpp
index 1dbb3eb67ad7..76bfb76d4d5d 100644
--- a/clang/test/CodeGenCXX/mangle-alias-template.cpp
+++ b/clang/test/CodeGenCXX/mangle-alias-template.cpp
@@ -11,7 +11,7 @@ template<typename T> void g(T);
 
 template<template<typename> class F> void h(F<int>);
 
-// CHECK-LABEL: define void @_Z1zv(
+// CHECK-LABEL: define{{.*}} void @_Z1zv(
 void z() {
   vector<int> VI;
   f(VI);

diff  --git a/clang/test/CodeGenCXX/mangle-exprs.cpp b/clang/test/CodeGenCXX/mangle-exprs.cpp
index 1b99272b7f22..2b099aef7499 100644
--- a/clang/test/CodeGenCXX/mangle-exprs.cpp
+++ b/clang/test/CodeGenCXX/mangle-exprs.cpp
@@ -143,7 +143,7 @@ namespace test2 {
   float baz(float(*)());
   void fred(float(*)(), float);
 
-  // CHECK-LABEL: define void @_ZN5test211instantiateEv
+  // CHECK-LABEL: define{{.*}} void @_ZN5test211instantiateEv
   void instantiate() {
     // CHECK: call void @_ZN5test21aIPFfvEEEvT_DTclfL0p_EE(
     a(foo, 0.0f);
@@ -175,7 +175,7 @@ namespace test3 {
     int *member;
   };
 
-  // CHECK-LABEL: define void @_ZN5test311instantiateEv
+  // CHECK-LABEL: define{{.*}} void @_ZN5test311instantiateEv
   void instantiate() {
     X x;
     int *ip;

diff  --git a/clang/test/CodeGenCXX/mangle-extreme.cpp b/clang/test/CodeGenCXX/mangle-extreme.cpp
index 9fa678a6f7d4..9967ca11843b 100644
--- a/clang/test/CodeGenCXX/mangle-extreme.cpp
+++ b/clang/test/CodeGenCXX/mangle-extreme.cpp
@@ -2,7 +2,7 @@
 
 struct X { };
 
-// 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_(
+// 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***************************************,

diff  --git a/clang/test/CodeGenCXX/mangle-lambdas.cpp b/clang/test/CodeGenCXX/mangle-lambdas.cpp
index 37f36c0f738d..7d236b4685a5 100644
--- a/clang/test/CodeGenCXX/mangle-lambdas.cpp
+++ b/clang/test/CodeGenCXX/mangle-lambdas.cpp
@@ -54,7 +54,7 @@ struct S {
 void S::g(int i = []{return 1;}(),
           int j = []{return 2; }()) {}
 
-// CHECK-LABEL: 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
@@ -94,7 +94,7 @@ struct ST {
          T = []{return T(3);}());
 };
 
-// CHECK-LABEL: 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
@@ -171,7 +171,7 @@ template<> double StaticMembers<double>::z = []{return 42; }();
 template<typename T>
 void func_template(T = []{ return T(); }());
 
-// CHECK-LABEL: 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>();

diff  --git a/clang/test/CodeGenCXX/mangle-ref-qualifiers.cpp b/clang/test/CodeGenCXX/mangle-ref-qualifiers.cpp
index 4552c93ea686..69f26b369010 100644
--- a/clang/test/CodeGenCXX/mangle-ref-qualifiers.cpp
+++ b/clang/test/CodeGenCXX/mangle-ref-qualifiers.cpp
@@ -5,17 +5,17 @@ struct X {
   int h() const &&;
 };
 
-// CHECK-LABEL: define i32 @_ZNR1X1fEv
+// CHECK-LABEL: define{{.*}} i32 @_ZNR1X1fEv
 int X::f() & { return 0; }
-// CHECK-LABEL: define i32 @_ZNO1X1gEv
+// CHECK-LABEL: define{{.*}} i32 @_ZNO1X1gEv
 int X::g() && { return 0; }
-// CHECK-LABEL: define i32 @_ZNKO1X1hEv
+// CHECK-LABEL: define{{.*}} i32 @_ZNKO1X1hEv
 int X::h() const && { return 0; }
 
-// CHECK-LABEL: define void @_Z1fM1XFivREMS_FivOEMS_KFivOE
+// CHECK-LABEL: define{{.*}} void @_Z1fM1XFivREMS_FivOEMS_KFivOE
 void f(int (X::*)() &, int (X::*)() &&, int (X::*)() const&&) { }
 
-// CHECK-LABEL: 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 &&>,

diff  --git a/clang/test/CodeGenCXX/mangle-subst-std.cpp b/clang/test/CodeGenCXX/mangle-subst-std.cpp
index 569142fcef27..f437205666aa 100644
--- a/clang/test/CodeGenCXX/mangle-subst-std.cpp
+++ b/clang/test/CodeGenCXX/mangle-subst-std.cpp
@@ -16,8 +16,8 @@
 namespace std {
   struct A { A(); };
   
-  // CHECK-LABEL: 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
+  // CHECK-LABEL: define{{.*}} void @_ZNSt1AC1Ev(%"struct.std::A"* {{[^,]*}} %this) unnamed_addr
   A::A() { }
 };
 
@@ -25,14 +25,14 @@ namespace std {
   template<typename> struct allocator { };
 }
 
-// CHECK-LABEL: 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-LABEL: define void @_Z1fSbIcciE
+// CHECK-LABEL: define{{.*}} void @_Z1fSbIcciE
 void f(std::basic_string<char, char, int>) { }
 
 namespace std {
@@ -91,7 +91,7 @@ namespace std
 }
 
 // Make sure we don't treat the following like std::string
-// CHECK-LABEL: 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) { }
@@ -107,7 +107,7 @@ namespace N {
   namespace std {
     struct A { void f(); };
     
-    // CHECK-LABEL: define void @_ZN1N3std1A1fEv
+    // CHECK-LABEL: define{{.*}} void @_ZN1N3std1A1fEv
     void A::f() { }
   }
 }

diff  --git a/clang/test/CodeGenCXX/mangle-subst.cpp b/clang/test/CodeGenCXX/mangle-subst.cpp
index 09326e2acf2c..20f33a72fff8 100644
--- a/clang/test/CodeGenCXX/mangle-subst.cpp
+++ b/clang/test/CodeGenCXX/mangle-subst.cpp
@@ -2,19 +2,19 @@
 
 struct X {};
 
-// CHECK-LABEL: define void @_Z1f1XS_(
+// CHECK-LABEL: define{{.*}} void @_Z1f1XS_(
 void f(X, X) { }
 
-// CHECK-LABEL: define void @_Z1fR1XS0_(
+// CHECK-LABEL: define{{.*}} void @_Z1fR1XS0_(
 void f(X&, X&) { }
 
-// CHECK-LABEL: define void @_Z1fRK1XS1_(
+// CHECK-LABEL: define{{.*}} void @_Z1fRK1XS1_(
 void f(const X&, const X&) { }
 
 typedef void T();
 struct S {};
 
-// CHECK-LABEL: define void @_Z1fPFvvEM1SFvvE(
+// CHECK-LABEL: define{{.*}} void @_Z1fPFvvEM1SFvvE(
 void f(T*, T (S::*)) {}
 
 namespace A {
@@ -22,14 +22,14 @@ namespace A {
   struct B { };
 };
 
-// CHECK-LABEL: define void @_Z1fN1A1AENS_1BE(
+// CHECK-LABEL: define{{.*}} void @_Z1fN1A1AENS_1BE(
 void f(A::A a, A::B b) { }
 
 struct C {
   struct D { };
 };
 
-// CHECK-LABEL: define void @_Z1fN1C1DERS_PS_S1_(
+// CHECK-LABEL: define{{.*}} void @_Z1fN1C1DERS_PS_S1_(
 void f(C::D, C&, C*, C&) { }
 
 template<typename T>

diff  --git a/clang/test/CodeGenCXX/mangle-system-header.cpp b/clang/test/CodeGenCXX/mangle-system-header.cpp
index 3ab5f96f6239..43d88cecb3c4 100644
--- a/clang/test/CodeGenCXX/mangle-system-header.cpp
+++ b/clang/test/CodeGenCXX/mangle-system-header.cpp
@@ -3,9 +3,9 @@
 // PR5420
 
 # 1 "fake_system_header.h" 1 3 4
-// CHECK-LABEL: define void @_ZdlPvS_(
+// CHECK-LABEL: define{{.*}} void @_ZdlPvS_(
 void operator delete (void*, void*) {}
 
 // PR6217
-// CHECK-LABEL: define void @_Z3barv() 
+// CHECK-LABEL: define{{.*}} void @_Z3barv() 
 void bar() { }

diff  --git a/clang/test/CodeGenCXX/mangle.cpp b/clang/test/CodeGenCXX/mangle.cpp
index 7dc776c69c68..f8ea9960a5c5 100644
--- a/clang/test/CodeGenCXX/mangle.cpp
+++ b/clang/test/CodeGenCXX/mangle.cpp
@@ -2,8 +2,8 @@
 struct X { };
 struct Y { };
 
-// CHECK: @unmangled_variable = global
-// CHECK: @_ZN1N1iE = global
+// CHECK: @unmangled_variable ={{.*}} global
+// CHECK: @_ZN1N1iE ={{.*}} global
 // CHECK: @_ZZN1N1fEiiE1b = internal global
 // CHECK: @_ZZN1N1gEvE1a = internal global
 // CHECK: @_ZGVZN1N1gEvE1a = internal global
@@ -11,35 +11,35 @@ struct Y { };
 //CHECK: @pr5966_i = external global
 //CHECK: @_ZL8pr5966_j = internal global
 
-// CHECK-LABEL: define zeroext i1 @_ZplRK1YRA100_P1X
+// CHECK-LABEL: define{{.*}} zeroext i1 @_ZplRK1YRA100_P1X
 bool operator+(const Y&, X* (&xs)[100]) { return false; }
 
-// CHECK-LABEL: define void @_Z1f1s
+// CHECK-LABEL: define{{.*}} void @_Z1f1s
 typedef struct { int a; } s;
 void f(s) { }
 
-// CHECK-LABEL: define void @_Z1f1e
+// CHECK-LABEL: define{{.*}} void @_Z1f1e
 typedef enum { foo } e;
 void f(e) { }
 
-// CHECK-LABEL: define void @_Z1f1u
+// CHECK-LABEL: define{{.*}} void @_Z1f1u
 typedef union { int a; } u;
 void f(u) { }
 
-// CHECK-LABEL: define void @_Z1f1x
+// CHECK-LABEL: define{{.*}} void @_Z1f1x
 typedef struct { int a; } x,y;
 void f(y) { }
 
-// CHECK-LABEL: define void @_Z1fv
+// CHECK-LABEL: define{{.*}} void @_Z1fv
 void f() { }
 
-// CHECK-LABEL: define void @_ZN1N1fEv
+// CHECK-LABEL: define{{.*}} void @_ZN1N1fEv
 namespace N { void f() { } }
 
-// CHECK-LABEL: define void @_ZN1N1N1fEv
+// CHECK-LABEL: define{{.*}} void @_ZN1N1N1fEv
 namespace N { namespace N { void f() { } } }
 
-// CHECK-LABEL: 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-LABEL: define void @_Z1fno
+// CHECK-LABEL: define{{.*}} void @_Z1fno
 void f(__int128_t, __uint128_t) { } 
 
 template <typename T> struct S1 {};
 
-// CHECK-LABEL: define void @_Z1f2S1IiE
+// CHECK-LABEL: define{{.*}} void @_Z1f2S1IiE
 void f(S1<int>) {}
 
-// CHECK-LABEL: define void @_Z1f2S1IdE
+// CHECK-LABEL: define{{.*}} void @_Z1f2S1IdE
 void f(S1<double>) {}
 
 template <int N> struct S2 {};
-// CHECK-LABEL: define void @_Z1f2S2ILi100EE
+// CHECK-LABEL: define{{.*}} void @_Z1f2S2ILi100EE
 void f(S2<100>) {}
 
-// CHECK-LABEL: define void @_Z1f2S2ILin100EE
+// CHECK-LABEL: define{{.*}} void @_Z1f2S2ILin100EE
 void f(S2<-100>) {}
 
 template <bool B> struct S3 {};
 
-// CHECK-LABEL: define void @_Z1f2S3ILb1EE
+// CHECK-LABEL: define{{.*}} void @_Z1f2S3ILb1EE
 void f(S3<true>) {}
 
-// CHECK-LABEL: define void @_Z1f2S3ILb0EE
+// CHECK-LABEL: define{{.*}} void @_Z1f2S3ILb0EE
 void f(S3<false>) {}
 
 struct S;
 
-// CHECK-LABEL: define void @_Z1fM1SKFvvE
+// CHECK-LABEL: define{{.*}} void @_Z1fM1SKFvvE
 void f(void (S::*)() const) {}
 
-// CHECK-LABEL: define void @_Z1fM1SFvvE
+// CHECK-LABEL: define{{.*}} void @_Z1fM1SFvvE
 void f(void (S::*)()) {}
 
-// CHECK-LABEL: define void @_Z1fi
+// CHECK-LABEL: define{{.*}} void @_Z1fi
 void f(const int) { }
 
 template<typename T, typename U> void ft1(U u, T t) { }
@@ -280,13 +280,13 @@ struct Ops {
   void *v;
 };
 
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.Ops* @_ZN3OpsplERKS_
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.Ops* @_ZN3OpsplERKS_
 Ops& Ops::operator+(const Ops&) { return *this; }
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.Ops* @_ZN3OpsmiERKS_
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.Ops* @_ZN3OpsmiERKS_
 Ops& Ops::operator-(const Ops&) { return *this; }
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.Ops* @_ZN3OpsanERKS_
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.Ops* @_ZN3OpsanERKS_
 Ops& Ops::operator&(const Ops&) { return *this; }
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.Ops* @_ZN3OpsmlERKS_
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.Ops* @_ZN3OpsmlERKS_
 Ops& Ops::operator*(const Ops&) { return *this; }
 
 // PR5861
@@ -306,7 +306,7 @@ template<typename T, typename = Policy<P, true> > class Alloc
 template class Alloc<char>;
 }
 
-// CHECK-LABEL: define void @_Z1fU13block_pointerFiiiE
+// CHECK-LABEL: define{{.*}} void @_Z1fU13block_pointerFiiiE
 void f(int (^)(int, int)) { }
 
 void pr5966_foo() {
@@ -330,14 +330,14 @@ namespace test0 {
     char buffer[1];
     f(0.0, buffer);
   }
-  // CHECK-LABEL: define void @_ZN5test05test0Ev()
+  // 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-LABEL: define void @_ZN5test05test1Ev()
+  // 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)]) {}
@@ -423,7 +423,7 @@ namespace test3 {
   }
 }
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: define void @_ZN5test71gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE
+// CHECK-LABEL: define{{.*}} void @_ZN5test71gEPNS_3zedIXadL_ZNS_3foo3barEvEEEE
 namespace test7 {
   struct foo { static int bar(); };
   template <int (*f)()>
@@ -521,7 +521,7 @@ namespace test14 {
     struct S {
       static int a(), x;
     };
-    // CHECK-LABEL: define i32 @_ZN6test141S1aEv
+    // CHECK-LABEL: define{{.*}} i32 @_ZN6test141S1aEv
     // CHECK: load i32, i32* @_ZN6test141S1xE
     int S::a() { return S::x; }
   }
@@ -548,7 +548,7 @@ namespace test17 {
 
   template <class T> A<sizeof(T::foo())> func(void);
 
-  // CHECK-LABEL: define void @_ZN6test174testEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN6test174testEv()
   // CHECK: call {{.*}} @_ZN6test174funcINS_1BEEENS_1AIXszclsrT_3fooEEEEv()
   void test() {
     func<B>();
@@ -624,12 +624,12 @@ namespace test20 {
 
 // rdar:// 8620510
 namespace test21 {
-  // CHECK-LABEL: 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-LABEL: 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-LABEL: define void @_ZN6test231fERA10_KPv(
+  // CHECK-LABEL: define{{.*}} void @_ZN6test231fERA10_KPv(
   void f(vpc (&)[10]) {}
 
   typedef vpc vpca5[5];
   void f(vpca5 volatile (&)[10]) {}
-  // CHECK-LABEL: define void @_ZN6test231fERA10_A5_VKPv(
+  // CHECK-LABEL: define{{.*}} void @_ZN6test231fERA10_A5_VKPv(
 }
 
 namespace test24 {
@@ -873,7 +873,7 @@ namespace test37 {
   }
 }
 
-// CHECK-LABEL: define void @_Z6ASfuncPU3AS3i
+// CHECK-LABEL: define{{.*}} void @_Z6ASfuncPU3AS3i
 void ASfunc(__attribute__((address_space(3))) int* x) {}
 
 namespace test38 {
@@ -936,7 +936,7 @@ namespace test42 {
 }
 
 namespace test43 {
-  // CHECK-LABEL: define void @_ZN6test431gEPNS_3zedIXadL_ZNS_3fooUt_3barEEEEE
+  // CHECK-LABEL: define{{.*}} void @_ZN6test431gEPNS_3zedIXadL_ZNS_3fooUt_3barEEEEE
   struct foo { union { int bar; }; };
   template <int (foo::*)>
   struct zed {};

diff  --git a/clang/test/CodeGenCXX/matrix-type-builtins.cpp b/clang/test/CodeGenCXX/matrix-type-builtins.cpp
index 5e9e806caad9..6cae343d2c24 100644
--- a/clang/test/CodeGenCXX/matrix-type-builtins.cpp
+++ b/clang/test/CodeGenCXX/matrix-type-builtins.cpp
@@ -18,7 +18,7 @@ MyMatrix<T, C, R> transpose(const MyMatrix<T, R, C> &M) {
 }
 
 void test_transpose_template1() {
-  // CHECK-LABEL: define void @_Z24test_transpose_template1v()
+  // CHECK-LABEL: define{{.*}} void @_Z24test_transpose_template1v()
   // CHECK:         call void @_Z9transposeIiLj4ELj10EE8MyMatrixIT_XT1_EXT0_EERKS0_IS1_XT0_EXT1_EE(%struct.MyMatrix.0* sret(%struct.MyMatrix.0) align 4 %M1_t, %struct.MyMatrix* nonnull align 4 dereferenceable(160) %M1)
 
   // CHECK-LABEL: define linkonce_odr void @_Z9transposeIiLj4ELj10EE8MyMatrixIT_XT1_EXT0_EERKS0_IS1_XT0_EXT1_EE(
@@ -30,7 +30,7 @@ void test_transpose_template1() {
 }
 
 void test_transpose_template2(MyMatrix<double, 7, 6> &M) {
-  // CHECK-LABEL: define void @_Z24test_transpose_template2R8MyMatrixIdLj7ELj6EE(
+  // CHECK-LABEL: define{{.*}} void @_Z24test_transpose_template2R8MyMatrixIdLj7ELj6EE(
   // CHECK:         call void @_Z9transposeIdLj7ELj6EE8MyMatrixIT_XT1_EXT0_EERKS0_IS1_XT0_EXT1_EE(%struct.MyMatrix.2* sret(%struct.MyMatrix.2) align 8 %ref.tmp1, %struct.MyMatrix.1* nonnull align 8 dereferenceable(336) %0)
   // CHECK-NEXT:    call void @_Z9transposeIdLj6ELj7EE8MyMatrixIT_XT1_EXT0_EERKS0_IS1_XT0_EXT1_EE(%struct.MyMatrix.1* sret(%struct.MyMatrix.1) align 8 %ref.tmp, %struct.MyMatrix.2* nonnull align 8 dereferenceable(336) %ref.tmp1)
   // CHECK-NEXT:    call void @_Z9transposeIdLj7ELj6EE8MyMatrixIT_XT1_EXT0_EERKS0_IS1_XT0_EXT1_EE(%struct.MyMatrix.2* sret(%struct.MyMatrix.2) align 8 %M2_t, %struct.MyMatrix.1* nonnull align 8 dereferenceable(336) %ref.tmp)
@@ -55,7 +55,7 @@ void test_transpose_template2(MyMatrix<double, 7, 6> &M) {
 matrix_t<float, 3, 3> get_matrix();
 
 void test_transpose_rvalue() {
-  // CHECK-LABEL: define void @_Z21test_transpose_rvaluev()
+  // CHECK-LABEL: define{{.*}} void @_Z21test_transpose_rvaluev()
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    [[M_T_ADDR:%.*]] = alloca [9 x float], align 4
   // CHECK-NEXT:    [[CALL_RES:%.*]] = call <9 x float> @_Z10get_matrixv()
@@ -67,7 +67,7 @@ void test_transpose_rvalue() {
 }
 
 void test_transpose_const(const matrix_t<float, 3, 3> &m) {
-  // CHECK-LABEL:  define void @_Z20test_transpose_constRKu11matrix_typeILm3ELm3EfE(
+  // CHECK-LABEL:  define{{.*}} void @_Z20test_transpose_constRKu11matrix_typeILm3ELm3EfE(
   // CHECK:         [[MATRIX:%.*]] = load <9 x float>, <9 x float>* {{.*}}, align 4
   // CHECK-NEXT:    [[M_T:%.*]] = call <9 x float> @llvm.matrix.transpose.v9f32(<9 x float> [[MATRIX]], i32 3, i32 3)
   // CHECK-NEXT:    [[M_T_ADDR:%.*]] = bitcast [9 x float]* %m_t to <9 x float>*
@@ -88,7 +88,7 @@ matrix_t<T, R, C> column_major_load_with_stride(T *Ptr) {
 }
 
 void test_column_major_load_with_stride_template_double(double *Ptr) {
-  // CHECK-LABEL: define void @_Z50test_column_major_load_with_stride_template_doublePd(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @_Z50test_column_major_load_with_stride_template_doublePd(double* %Ptr)
   // CHECK:         [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call <40 x double> @_Z29column_major_load_with_strideIdLj10ELj4ELj15EEu11matrix_typeIXT0_EXT1_ET_EPS0_(double* [[PTR]])
 
@@ -100,7 +100,7 @@ void test_column_major_load_with_stride_template_double(double *Ptr) {
 }
 
 void test_column_major_load_with_stride_template_int(int *Ptr) {
-  // CHECK-LABEL: define void @_Z47test_column_major_load_with_stride_template_intPi(i32* %Ptr) #5 {
+  // CHECK-LABEL: define{{.*}} void @_Z47test_column_major_load_with_stride_template_intPi(i32* %Ptr) #5 {
   // CHECK:         [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    call <6 x i32> @_Z29column_major_load_with_strideIiLj3ELj2ELj12EEu11matrix_typeIXT0_EXT1_ET_EPS0_(i32* [[PTR]])
 
@@ -119,7 +119,7 @@ struct UnsignedWrapper {
 };
 
 void test_column_major_load_stride_wrapper(int *Ptr, UnsignedWrapper &W) {
-  // CHECK-LABEL:  define void @_Z37test_column_major_load_stride_wrapperPiR15UnsignedWrapper(i32* %Ptr, %struct.UnsignedWrapper* nonnull align 1 dereferenceable(1) %W)
+  // CHECK-LABEL:  define{{.*}} void @_Z37test_column_major_load_stride_wrapperPiR15UnsignedWrapper(i32* %Ptr, %struct.UnsignedWrapper* nonnull align 1 dereferenceable(1) %W)
   // CHECK:         [[W:%.*]] = load %struct.UnsignedWrapper*, %struct.UnsignedWrapper** %W.addr, align 8
   // CHECK-NEXT:    [[STRIDE:%.*]] = call i32 @_ZN15UnsignedWrappercvjEv(%struct.UnsignedWrapper* {{[^,]*}} [[W]])
   // CHECK-NEXT:    [[STRIDE_EXT:%.*]] = zext i32 [[STRIDE]] to i64
@@ -131,7 +131,7 @@ void test_column_major_load_stride_wrapper(int *Ptr, UnsignedWrapper &W) {
 constexpr int constexpr3() { return 3; }
 
 void test_column_major_load_constexpr_num_rows(int *Ptr) {
-  // CHECK-LABEL: define void @_Z41test_column_major_load_constexpr_num_rowsPi(i32* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @_Z41test_column_major_load_constexpr_num_rowsPi(i32* %Ptr)
   // CHECK:         [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    call <6 x i32> @llvm.matrix.column.major.load.v6i32(i32* align 4 [[PTR]], i64 3, i1 false, i32 3, i32 2)
 
@@ -141,7 +141,7 @@ void test_column_major_load_constexpr_num_rows(int *Ptr) {
 constexpr int constexpr1() { return 1; }
 
 void test_column_major_load_constexpr_num_columns(int *Ptr) {
-  // CHECK-LABEL: define void @_Z44test_column_major_load_constexpr_num_columnsPi(i32* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @_Z44test_column_major_load_constexpr_num_columnsPi(i32* %Ptr)
   // CHECK:         [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    call <2 x i32> @llvm.matrix.column.major.load.v2i32(i32* align 4 [[PTR]], i64 3, i1 false, i32 2, i32 1)
   matrix_t<int, 2, 1> M1 = __builtin_matrix_column_major_load(Ptr, 2, constexpr1(), 3);
@@ -151,14 +151,14 @@ template <unsigned N>
 constexpr int constexpr_plus1() { return N + 1; }
 
 void test_column_major_load_constexpr_num_columns_temp(int *Ptr) {
-  // CHECK-LABEL:  define void @_Z49test_column_major_load_constexpr_num_columns_tempPi(i32* %Ptr)
+  // CHECK-LABEL:  define{{.*}} void @_Z49test_column_major_load_constexpr_num_columns_tempPi(i32* %Ptr)
   // CHECK:         [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    call <10 x i32> @llvm.matrix.column.major.load.v10i32(i32* align 4 [[PTR]], i64 3, i1 false, i32 2, i32 5)
   matrix_t<int, 2, 5> M1 = __builtin_matrix_column_major_load(Ptr, 2, constexpr_plus1<4>(), 3);
 }
 
 void test_column_major_load_constexpr_stride_constexpr(int *Ptr) {
-  // CHECK-LABEL: define void @_Z49test_column_major_load_constexpr_stride_constexprPi(i32* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @_Z49test_column_major_load_constexpr_stride_constexprPi(i32* %Ptr)
   // CHECK:         [[STRIDE:%.*]] = call i32 @_Z10constexpr3v()
   // CHECK-NEXT:    [[STRIDE_EXT:%.*]] = sext i32 [[STRIDE]] to i64
   // CHECK-NEXT:    [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
@@ -193,7 +193,7 @@ void column_major_store_with_stride(matrix_t<T, R, C> &m, T *Ptr) {
 }
 
 void test_column_major_store_with_stride_template_double(double *Ptr) {
-  // CHECK-LABEL: define void @_Z51test_column_major_store_with_stride_template_doublePd(double* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @_Z51test_column_major_store_with_stride_template_doublePd(double* %Ptr)
   // CHECK:         [[PTR:%.*]] = load double*, double** %Ptr.addr, align 8
   // CHECK-NEXT:    call void @_Z30column_major_store_with_strideIdLj10ELj4ELj15EEvRu11matrix_typeIXT0_EXT1_ET_EPS0_([40 x double]* nonnull align 8 dereferenceable(320) %M1, double* [[PTR]])
 
@@ -207,7 +207,7 @@ void test_column_major_store_with_stride_template_double(double *Ptr) {
 }
 
 void test_column_major_store_with_stride_template_int(int *Ptr) {
-  // CHECK-LABEL: define void @_Z48test_column_major_store_with_stride_template_intPi(i32* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @_Z48test_column_major_store_with_stride_template_intPi(i32* %Ptr)
   // CHECK:         [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    call void @_Z30column_major_store_with_strideIiLj3ELj2ELj3EEvRu11matrix_typeIXT0_EXT1_ET_EPS0_([6 x i32]* nonnull align 4 dereferenceable(24) %M1, i32* [[PTR]])
 
@@ -221,7 +221,7 @@ void test_column_major_store_with_stride_template_int(int *Ptr) {
 }
 
 void test_column_major_store_stride_wrapper(int *Ptr, UnsignedWrapper &W) {
-  // CHECK-LABEL: define void @_Z38test_column_major_store_stride_wrapperPiR15UnsignedWrapper(i32* %Ptr, %struct.UnsignedWrapper* nonnull align 1 dereferenceable(1) %W)
+  // CHECK-LABEL: define{{.*}} void @_Z38test_column_major_store_stride_wrapperPiR15UnsignedWrapper(i32* %Ptr, %struct.UnsignedWrapper* nonnull align 1 dereferenceable(1) %W)
   // CHECK:         [[M:%.*]] = load <4 x i32>, <4 x i32>* {{.*}}, align 4
   // CHECK-NEXT:    [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    [[W:%.*]] = load %struct.UnsignedWrapper*, %struct.UnsignedWrapper** %W.addr, align 8
@@ -234,7 +234,7 @@ void test_column_major_store_stride_wrapper(int *Ptr, UnsignedWrapper &W) {
 }
 
 void test_column_major_store_constexpr_stride_constexpr(int *Ptr) {
-  // CHECK-LABEL: define void @_Z50test_column_major_store_constexpr_stride_constexprPi(i32* %Ptr)
+  // CHECK-LABEL: define{{.*}} void @_Z50test_column_major_store_constexpr_stride_constexprPi(i32* %Ptr)
   // CHECK:         [[M:%.*]] = load <4 x i32>, <4 x i32>* %0, align 4
   // CHECK-NEXT:    [[PTR:%.*]] = load i32*, i32** %Ptr.addr, align 8
   // CHECK-NEXT:    [[IDX:%.*]] = call i32 @_Z10constexpr3v()

diff  --git a/clang/test/CodeGenCXX/matrix-type-operators.cpp b/clang/test/CodeGenCXX/matrix-type-operators.cpp
index 4e825d0e92e0..bb1cb7474fca 100644
--- a/clang/test/CodeGenCXX/matrix-type-operators.cpp
+++ b/clang/test/CodeGenCXX/matrix-type-operators.cpp
@@ -16,7 +16,7 @@ typename MyMatrix<EltTy0, R0, C0>::matrix_t add(MyMatrix<EltTy0, R0, C0> &A, MyM
 }
 
 void test_add_template() {
-  // CHECK-LABEL: define void @_Z17test_add_templatev()
+  // CHECK-LABEL: define{{.*}} void @_Z17test_add_templatev()
   // CHECK:       %call = call <10 x float> @_Z3addIfLj2ELj5EEN8MyMatrixIT_XT0_EXT1_EE8matrix_tERS2_S4_(%struct.MyMatrix* nonnull align 4 dereferenceable(40) %Mat1, %struct.MyMatrix* nonnull align 4 dereferenceable(40) %Mat2)
 
   // CHECK-LABEL: define linkonce_odr <10 x float> @_Z3addIfLj2ELj5EEN8MyMatrixIT_XT0_EXT1_EE8matrix_tERS2_S4_(
@@ -36,7 +36,7 @@ typename MyMatrix<EltTy0, R0, C0>::matrix_t subtract(MyMatrix<EltTy0, R0, C0> &A
 }
 
 void test_subtract_template() {
-  // CHECK-LABEL: define void @_Z22test_subtract_templatev()
+  // CHECK-LABEL: define{{.*}} void @_Z22test_subtract_templatev()
   // CHECK:       %call = call <10 x float> @_Z8subtractIfLj2ELj5EEN8MyMatrixIT_XT0_EXT1_EE8matrix_tERS2_S4_(%struct.MyMatrix* nonnull align 4 dereferenceable(40) %Mat1, %struct.MyMatrix* nonnull align 4 dereferenceable(40) %Mat2)
 
   // CHECK-LABEL: define linkonce_odr <10 x float> @_Z8subtractIfLj2ELj5EEN8MyMatrixIT_XT0_EXT1_EE8matrix_tERS2_S4_(
@@ -58,7 +58,7 @@ struct DoubleWrapper1 {
 };
 
 void test_DoubleWrapper1_Sub1(MyMatrix<double, 10, 9> &m) {
-  // CHECK-LABEL: define void @_Z24test_DoubleWrapper1_Sub1R8MyMatrixIdLj10ELj9EE(
+  // CHECK-LABEL: define{{.*}} void @_Z24test_DoubleWrapper1_Sub1R8MyMatrixIdLj10ELj9EE(
   // CHECK:       [[MATRIX:%.*]] = load <90 x double>, <90 x double>* {{.*}}, align 8
   // CHECK:       [[SCALAR:%.*]] = call double @_ZN14DoubleWrapper1cvdEv(%struct.DoubleWrapper1* {{[^,]*}} %w1)
   // CHECK-NEXT:  [[SCALAR_EMBED:%.*]] = insertelement <90 x double> poison, double [[SCALAR]], i32 0
@@ -72,7 +72,7 @@ void test_DoubleWrapper1_Sub1(MyMatrix<double, 10, 9> &m) {
 }
 
 void test_DoubleWrapper1_Sub2(MyMatrix<double, 10, 9> &m) {
-  // CHECK-LABEL: define void @_Z24test_DoubleWrapper1_Sub2R8MyMatrixIdLj10ELj9EE(
+  // CHECK-LABEL: define{{.*}} void @_Z24test_DoubleWrapper1_Sub2R8MyMatrixIdLj10ELj9EE(
   // CHECK:       [[SCALAR:%.*]] = call double @_ZN14DoubleWrapper1cvdEv(%struct.DoubleWrapper1* {{[^,]*}} %w1)
   // CHECK:       [[MATRIX:%.*]] = load <90 x double>, <90 x double>* {{.*}}, align 8
   // CHECK-NEXT:  [[SCALAR_EMBED:%.*]] = insertelement <90 x double> poison, double [[SCALAR]], i32 0
@@ -93,7 +93,7 @@ struct DoubleWrapper2 {
 };
 
 void test_DoubleWrapper2_Add1(MyMatrix<double, 10, 9> &m) {
-  // CHECK-LABEL: define void @_Z24test_DoubleWrapper2_Add1R8MyMatrixIdLj10ELj9EE(
+  // CHECK-LABEL: define{{.*}} void @_Z24test_DoubleWrapper2_Add1R8MyMatrixIdLj10ELj9EE(
   // CHECK:       [[MATRIX:%.*]] = load <90 x double>, <90 x double>* %1, align 8
   // CHECK:       [[SCALAR:%.*]] = call double @_ZN14DoubleWrapper2cvdEv(%struct.DoubleWrapper2* {{[^,]*}} %w2)
   // CHECK-NEXT:  [[SCALAR_EMBED:%.*]] = insertelement <90 x double> poison, double [[SCALAR]], i32 0
@@ -107,7 +107,7 @@ void test_DoubleWrapper2_Add1(MyMatrix<double, 10, 9> &m) {
 }
 
 void test_DoubleWrapper2_Add2(MyMatrix<double, 10, 9> &m) {
-  // CHECK-LABEL: define void @_Z24test_DoubleWrapper2_Add2R8MyMatrixIdLj10ELj9EE(
+  // CHECK-LABEL: define{{.*}} void @_Z24test_DoubleWrapper2_Add2R8MyMatrixIdLj10ELj9EE(
   // CHECK:       [[SCALAR:%.*]] = call double @_ZN14DoubleWrapper2cvdEv(%struct.DoubleWrapper2* {{[^,]*}} %w2)
   // CHECK:       [[MATRIX:%.*]] = load <90 x double>, <90 x double>* %1, align 8
   // CHECK-NEXT:  [[SCALAR_EMBED:%.*]] = insertelement <90 x double> poison, double [[SCALAR]], i32 0
@@ -128,7 +128,7 @@ struct IntWrapper {
 };
 
 void test_IntWrapper_Add(MyMatrix<double, 10, 9> &m) {
-  // CHECK-LABEL: define void @_Z19test_IntWrapper_AddR8MyMatrixIdLj10ELj9EE(
+  // CHECK-LABEL: define{{.*}} void @_Z19test_IntWrapper_AddR8MyMatrixIdLj10ELj9EE(
   // CHECK:       [[MATRIX:%.*]] = load <90 x double>, <90 x double>* {{.*}}, align 8
   // CHECK:       [[SCALAR:%.*]] = call i32 @_ZN10IntWrappercviEv(%struct.IntWrapper* {{[^,]*}} %w3)
   // CHECK:       [[SCALAR_FP:%.*]] = sitofp i32 %call to double
@@ -143,7 +143,7 @@ void test_IntWrapper_Add(MyMatrix<double, 10, 9> &m) {
 }
 
 void test_IntWrapper_Sub(MyMatrix<double, 10, 9> &m) {
-  // CHECK-LABEL: define void @_Z19test_IntWrapper_SubR8MyMatrixIdLj10ELj9EE(
+  // CHECK-LABEL: define{{.*}} void @_Z19test_IntWrapper_SubR8MyMatrixIdLj10ELj9EE(
   // CHECK:       [[SCALAR:%.*]] = call i32 @_ZN10IntWrappercviEv(%struct.IntWrapper* {{[^,]*}} %w3)
   // CHECK-NEXT:  [[SCALAR_FP:%.*]] = sitofp i32 %call to double
   // CHECK:       [[MATRIX:%.*]] = load <90 x double>, <90 x double>* {{.*}}, align 8
@@ -164,7 +164,7 @@ typename MyMatrix<EltTy0, R0, C1>::matrix_t multiply(MyMatrix<EltTy0, R0, C0> &A
 
 MyMatrix<float, 2, 2> test_multiply_template(MyMatrix<float, 2, 5> Mat1,
                                              MyMatrix<float, 5, 2> Mat2) {
-  // CHECK-LABEL: define void @_Z22test_multiply_template8MyMatrixIfLj2ELj5EES_IfLj5ELj2EE(
+  // CHECK-LABEL: define{{.*}} void @_Z22test_multiply_template8MyMatrixIfLj2ELj5EES_IfLj5ELj2EE(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    [[RES:%.*]] = call <4 x float> @_Z8multiplyIfLj2ELj5ELj2EEN8MyMatrixIT_XT0_EXT2_EE8matrix_tERS0_IS1_XT0_EXT1_EERS0_IS1_XT1_EXT2_EE(%struct.MyMatrix* nonnull align 4 dereferenceable(40) %Mat1, %struct.MyMatrix.2* nonnull align 4 dereferenceable(40) %Mat2)
   // CHECK-NEXT:    %value = getelementptr inbounds %struct.MyMatrix.1, %struct.MyMatrix.1* %agg.result, i32 0, i32 0
@@ -184,7 +184,7 @@ MyMatrix<float, 2, 2> test_multiply_template(MyMatrix<float, 2, 5> Mat1,
 }
 
 void test_IntWrapper_Multiply(MyMatrix<double, 10, 9> &m, IntWrapper &w3) {
-  // CHECK-LABEL: define void @_Z24test_IntWrapper_MultiplyR8MyMatrixIdLj10ELj9EER10IntWrapper(
+  // CHECK-LABEL: define{{.*}} void @_Z24test_IntWrapper_MultiplyR8MyMatrixIdLj10ELj9EER10IntWrapper(
   // CHECK:       [[SCALAR:%.*]] = call i32 @_ZN10IntWrappercviEv(%struct.IntWrapper* {{.*}})
   // CHECK-NEXT:  [[SCALAR_FP:%.*]] = sitofp i32 %call to double
   // CHECK:       [[MATRIX:%.*]] = load <90 x double>, <90 x double>* {{.*}}, align 8
@@ -308,7 +308,7 @@ struct UnsignedWrapper {
 };
 
 double extract_IntWrapper_idx(double4x4 &m, IntWrapper i, UnsignedWrapper j) {
-  // CHECK-LABEL: define double @_Z22extract_IntWrapper_idxRu11matrix_typeILm4ELm4EdE10IntWrapper15UnsignedWrapper(
+  // CHECK-LABEL: define{{.*}} double @_Z22extract_IntWrapper_idxRu11matrix_typeILm4ELm4EdE10IntWrapper15UnsignedWrapper(
   // CHECK:         [[I:%.*]] = call i32 @_ZN10IntWrappercviEv(%struct.IntWrapper* {{[^,]*}} %i)
   // CHECK-NEXT:    [[I_ADD:%.*]] = add nsw i32 [[I]], 1
   // CHECK-NEXT:    [[I_ADD_EXT:%.*]] = sext i32 [[I_ADD]] to i64
@@ -340,7 +340,7 @@ struct identmatrix_t {
 constexpr identmatrix_t identmatrix;
 
 void test_constexpr1(matrix_type<float, 4, 4> &m) {
-  // CHECK-LABEL: define void @_Z15test_constexpr1Ru11matrix_typeILm4ELm4EfE(
+  // CHECK-LABEL: define{{.*}} void @_Z15test_constexpr1Ru11matrix_typeILm4ELm4EfE(
   // CHECK:         [[MAT:%.*]] = load <16 x float>, <16 x float>* {{.*}}, align 4
   // CHECK-NEXT:    [[IM:%.*]] = call <16 x float> @_ZNK13identmatrix_tcvu11matrix_typeIXT0_EXT0_ET_EIfLj4EEEv(%struct.identmatrix_t* {{[^,]*}} @_ZL11identmatrix)
   // CHECK-NEXT:    [[ADD:%.*]] = fadd <16 x float> [[MAT]], [[IM]]
@@ -366,7 +366,7 @@ void test_constexpr1(matrix_type<float, 4, 4> &m) {
 }
 
 void test_constexpr2(matrix_type<int, 5, 5> &m) {
-  // CHECK-LABEL: define void @_Z15test_constexpr2Ru11matrix_typeILm5ELm5EiE(
+  // CHECK-LABEL: define{{.*}} void @_Z15test_constexpr2Ru11matrix_typeILm5ELm5EiE(
   // CHECK:         [[IM:%.*]] = call <25 x i32> @_ZNK13identmatrix_tcvu11matrix_typeIXT0_EXT0_ET_EIiLj5EEEv(%struct.identmatrix_t* {{[^,]*}} @_ZL11identmatrix)
   // CHECK:         [[MAT:%.*]] = load <25 x i32>, <25 x i32>* {{.*}}, align 4
   // CHECK-NEXT:    [[SUB:%.*]] = sub <25 x i32> [[IM]], [[MAT]]

diff  --git a/clang/test/CodeGenCXX/matrix-type.cpp b/clang/test/CodeGenCXX/matrix-type.cpp
index 78c4ad49fad8..9bde12e13b86 100644
--- a/clang/test/CodeGenCXX/matrix-type.cpp
+++ b/clang/test/CodeGenCXX/matrix-type.cpp
@@ -6,7 +6,7 @@ typedef float fx3x4_t __attribute__((matrix_type(3, 4)));
 // CHECK: %struct.Matrix = type { i8, [12 x float], float }
 
 void load_store(dx5x5_t *a, dx5x5_t *b) {
-  // CHECK-LABEL:  define void @_Z10load_storePu11matrix_typeILm5ELm5EdES0_(
+  // CHECK-LABEL:  define{{.*}} void @_Z10load_storePu11matrix_typeILm5ELm5EdES0_(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [25 x double]*, align 8
   // CHECK-NEXT:    %b.addr = alloca [25 x double]*, align 8
@@ -26,7 +26,7 @@ void load_store(dx5x5_t *a, dx5x5_t *b) {
 typedef float fx3x3_t __attribute__((matrix_type(3, 3)));
 
 void parameter_passing(fx3x3_t a, fx3x3_t *b) {
-  // CHECK-LABEL: define void @_Z17parameter_passingu11matrix_typeILm3ELm3EfEPS_(
+  // CHECK-LABEL: define{{.*}} void @_Z17parameter_passingu11matrix_typeILm3ELm3EfEPS_(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [9 x float], align 4
   // CHECK-NEXT:    %b.addr = alloca [9 x float]*, align 8
@@ -42,7 +42,7 @@ void parameter_passing(fx3x3_t a, fx3x3_t *b) {
 }
 
 fx3x3_t return_matrix(fx3x3_t *a) {
-  // CHECK-LABEL: define <9 x float> @_Z13return_matrixPu11matrix_typeILm3ELm3EfE(
+  // CHECK-LABEL: define{{.*}} <9 x float> @_Z13return_matrixPu11matrix_typeILm3ELm3EfE(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca [9 x float]*, align 8
   // CHECK-NEXT:    store [9 x float]* %a, [9 x float]** %a.addr, align 8
@@ -60,7 +60,7 @@ struct Matrix {
 };
 
 void matrix_struct_pointers(Matrix *a, Matrix *b) {
-  // CHECK-LABEL: define void @_Z22matrix_struct_pointersP6MatrixS0_(
+  // CHECK-LABEL: define{{.*}} void @_Z22matrix_struct_pointersP6MatrixS0_(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca %struct.Matrix*, align 8
   // CHECK-NEXT:    %b.addr = alloca %struct.Matrix*, align 8
@@ -79,7 +79,7 @@ void matrix_struct_pointers(Matrix *a, Matrix *b) {
 }
 
 void matrix_struct_reference(Matrix &a, Matrix &b) {
-  // CHECK-LABEL: define void @_Z23matrix_struct_referenceR6MatrixS0_(
+  // CHECK-LABEL: define{{.*}} void @_Z23matrix_struct_referenceR6MatrixS0_(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca %struct.Matrix*, align 8
   // CHECK-NEXT:    %b.addr = alloca %struct.Matrix*, align 8
@@ -105,7 +105,7 @@ class MatrixClass {
 };
 
 void matrix_class_reference(MatrixClass &a, MatrixClass &b) {
-  // CHECK-LABEL: define void @_Z22matrix_class_referenceR11MatrixClassS0_(
+  // CHECK-LABEL: define{{.*}} void @_Z22matrix_class_referenceR11MatrixClassS0_(
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %a.addr = alloca %class.MatrixClass*, align 8
   // CHECK-NEXT:    %b.addr = alloca %class.MatrixClass*, align 8
@@ -138,7 +138,7 @@ void matrix_template_reference(MatrixClassTemplate<Ty, Rows, Cols> &a, MatrixCla
 }
 
 MatrixClassTemplate<float, 10, 15> matrix_template_reference_caller(float *Data) {
-  // CHECK-LABEL: define void @_Z32matrix_template_reference_callerPf(%class.MatrixClassTemplate* noalias sret(%class.MatrixClassTemplate) align 8 %agg.result, float* %Data
+  // CHECK-LABEL: define{{.*}} void @_Z32matrix_template_reference_callerPf(%class.MatrixClassTemplate* noalias sret(%class.MatrixClassTemplate) align 8 %agg.result, float* %Data
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %Data.addr = alloca float*, align 8
   // CHECK-NEXT:    %Arg = alloca %class.MatrixClassTemplate, align 8
@@ -198,7 +198,7 @@ selector<4> use_matrix(matrix<float, R, C> &m) {}
 
 void test_template_deduction() {
 
-  // CHECK-LABEL: define void @_Z23test_template_deductionv()
+  // CHECK-LABEL: define{{.*}} void @_Z23test_template_deductionv()
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %m0 = alloca [120 x i32], align 4
   // CHECK-NEXT:    %w = alloca %struct.selector, align 1
@@ -274,7 +274,7 @@ void foo(matrix<int, R, 10> &m) {
 }
 
 void test_auto_t() {
-  // CHECK-LABEL: define void @_Z11test_auto_tv()
+  // CHECK-LABEL: define{{.*}} void @_Z11test_auto_tv()
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %m = alloca [130 x i32], align 4
   // CHECK-NEXT:    call void @_Z3fooILm13EEvRu11matrix_typeIXT_EXLm10EEiE([130 x i32]* nonnull align 4 dereferenceable(520) %m)
@@ -306,7 +306,7 @@ template <unsigned long R>
 selector<2> use_matrix_3(matrix<int, R - 2, R> &m) {}
 
 void test_use_matrix_2() {
-  // CHECK-LABEL: define void @_Z17test_use_matrix_2v()
+  // CHECK-LABEL: define{{.*}} void @_Z17test_use_matrix_2v()
   // CHECK-NEXT:  entry:
   // CHECK-NEXT:    %m1 = alloca [24 x i32], align 4
   // CHECK-NEXT:    %r1 = alloca [40 x float], align 4

diff  --git a/clang/test/CodeGenCXX/member-expressions.cpp b/clang/test/CodeGenCXX/member-expressions.cpp
index bbfa51f88c96..05a49502abd9 100644
--- a/clang/test/CodeGenCXX/member-expressions.cpp
+++ b/clang/test/CodeGenCXX/member-expressions.cpp
@@ -58,7 +58,7 @@ namespace test4 {
 
   extern C *c_ptr;
 
-  // CHECK-LABEL: define i32 @_ZN5test44testEv()
+  // CHECK-LABEL: define{{.*}} i32 @_ZN5test44testEv()
   int test() {
     // CHECK: load {{.*}} @_ZN5test45c_ptrE
     // CHECK-NEXT: bitcast

diff  --git a/clang/test/CodeGenCXX/member-function-pointer-calls.cpp b/clang/test/CodeGenCXX/member-function-pointer-calls.cpp
index 32c3555e3947..f2e485bf15a5 100644
--- a/clang/test/CodeGenCXX/member-function-pointer-calls.cpp
+++ b/clang/test/CodeGenCXX/member-function-pointer-calls.cpp
@@ -10,7 +10,7 @@ int f(A* a, int (A::*fp)()) {
   return (a->*fp)();
 }
 
-// CHECK-LABEL: define i32 @_Z2g1v()
+// CHECK-LABEL: define{{.*}} i32 @_Z2g1v()
 // CHECK-NOT: }
 // CHECK: ret i32 1
 // MINGW64-LABEL: define dso_local i32 @_Z2g1v()
@@ -20,7 +20,7 @@ int g1() {
   return f(&a, &A::vf1);
 }
 
-// CHECK-LABEL: define i32 @_Z2g2v()
+// CHECK-LABEL: define{{.*}} i32 @_Z2g2v()
 // CHECK-NOT: }
 // CHECK: ret i32 2
 // MINGW64-LABEL: define dso_local i32 @_Z2g2v()

diff  --git a/clang/test/CodeGenCXX/member-functions.cpp b/clang/test/CodeGenCXX/member-functions.cpp
index 58f709c333b4..9cfbd5b396dc 100644
--- a/clang/test/CodeGenCXX/member-functions.cpp
+++ b/clang/test/CodeGenCXX/member-functions.cpp
@@ -5,11 +5,11 @@ struct C {
   void g(int, ...);
 };
 
-// CHECK-LABEL: define void @_ZN1C1fEv
+// CHECK-LABEL: define{{.*}} void @_ZN1C1fEv
 void C::f() {
 }
 
-// CHECK-LABEL: define void @_Z5test1v
+// CHECK-LABEL: define{{.*}} void @_Z5test1v
 void test1() {
   C c;
 
@@ -34,7 +34,7 @@ struct S {
   virtual void v() {}
 };
 
-// CHECK-LABEL: define void @_ZN1S1fEv
+// CHECK-LABEL: define{{.*}} void @_ZN1S1fEv
 void S::f() {
 }
 
@@ -66,7 +66,7 @@ struct T {
   T operator+(const T&);
 };
 
-// CHECK-LABEL: define void @_Z5test3v
+// CHECK-LABEL: define{{.*}} void @_Z5test3v
 void test3() {
   T t1, t2;
 

diff  --git a/clang/test/CodeGenCXX/ms-inline-asm-fields.cpp b/clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
index 243a19198e29..0817f3e4ecc8 100644
--- a/clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
+++ b/clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
@@ -15,7 +15,7 @@ A a_global;
 }
 
 extern "C" int test_param_field(A p) {
-// CHECK: define i32 @test_param_field(%struct.A* byval(%struct.A) align 4 %p)
+// CHECK: define{{.*}} i32 @test_param_field(%struct.A* byval(%struct.A) align 4 %p)
 // CHECK: getelementptr inbounds %struct.A, %struct.A* %p, i32 0, i32 0
 // CHECK: call i32 asm sideeffect inteldialect "mov eax, $1"
 // CHECK: ret i32
@@ -23,7 +23,7 @@ extern "C" int test_param_field(A p) {
 }
 
 extern "C" int test_namespace_global() {
-// CHECK: define i32 @test_namespace_global()
+// CHECK: define{{.*}} i32 @test_namespace_global()
 // CHECK: call i32 asm sideeffect inteldialect "mov eax, $1", "{{.*}}"(i32* getelementptr inbounds (%struct.A, %struct.A* @_ZN4asdf8a_globalE, i32 0, i32 2, i32 1))
 // CHECK: ret i32
   __asm mov eax, asdf::a_global.a3.b2

diff  --git a/clang/test/CodeGenCXX/ms_struct.cpp b/clang/test/CodeGenCXX/ms_struct.cpp
index f346fec08bd4..6a8506ee2636 100644
--- a/clang/test/CodeGenCXX/ms_struct.cpp
+++ b/clang/test/CodeGenCXX/ms_struct.cpp
@@ -24,7 +24,7 @@ struct ATTR Derived : Base {
 // CHECK: [[BASE]] = type { [[VBASE:%.*]] }
 // CHECK: [[VBASE]] = type { i32 (...)** }
 
-// CHECK: define void @_ZN7DerivedC2Ev
+// CHECK: define{{.*}} void @_ZN7DerivedC2Ev
 // CHECK:   [[SELF:%.*]] = load [[DERIVED]]*
 // CHECK:   [[T0:%.*]] = bitcast [[DERIVED]]* [[SELF]] to [[BASE]]*
 // CHECK:   call void @_ZN4BaseC2Ev([[BASE]]* {{[^,]*}} [[T0]], i8**

diff  --git a/clang/test/CodeGenCXX/no-exceptions.cpp b/clang/test/CodeGenCXX/no-exceptions.cpp
index b970ef2c5a27..41d72d6c4f04 100644
--- a/clang/test/CodeGenCXX/no-exceptions.cpp
+++ b/clang/test/CodeGenCXX/no-exceptions.cpp
@@ -2,7 +2,7 @@
 
 void g();
 
-// CHECK: define void @_Z1fv() [[NUW:#[0-9]+]]
+// CHECK: define{{.*}} void @_Z1fv() [[NUW:#[0-9]+]]
 void f() throw (int) { 
 
   // CHECK-NOT: invoke void @_Z1gv

diff  --git a/clang/test/CodeGenCXX/no-opt-volatile-memcpy.cpp b/clang/test/CodeGenCXX/no-opt-volatile-memcpy.cpp
index a51421cdb3df..20822890e236 100644
--- a/clang/test/CodeGenCXX/no-opt-volatile-memcpy.cpp
+++ b/clang/test/CodeGenCXX/no-opt-volatile-memcpy.cpp
@@ -14,7 +14,7 @@ void foo (void) {
   gs = gs;
   ls = gs;
 }
-// CHECK-LABEL: 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-LABEL: define void @_Z3feev()
+// CHECK-LABEL: define{{.*}} void @_Z3feev()
 // CHECK: call void @llvm.memcpy.{{.*}}(i8* align 4 getelementptr inbounds (%struct.s1, %struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i8* align 4 getelementptr inbounds (%struct.s1, %struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i64 132, i1 true)
 // CHECK-NEXT: call void @llvm.memcpy.{{.*}}(i8* align 4 getelementptr inbounds (%struct.s1, %struct.s1* @s, i32 0, i32 0, i32 0, i32 0), i8* align 4 getelementptr inbounds (%struct.s, %struct.s* @gs, i32 0, i32 0, i32 0), i64 132, i1 true)
 
@@ -46,5 +46,5 @@ d gd;
 void gorf(void) {
   gd = gd;
 }
-// CHECK-LABEL: define void @_Z4gorfv()
+// CHECK-LABEL: define{{.*}} void @_Z4gorfv()
 // CHECK:   call void @llvm.memcpy.{{.*}}(i8* align 4 getelementptr inbounds (%struct.d, %struct.d* @gd, i32 0, i32 0, i32 0, i32 0, i32 0), i8* align 4 getelementptr inbounds (%struct.d, %struct.d* @gd, i32 0, i32 0, i32 0, i32 0, i32 0), i64 132, i1 true)

diff  --git a/clang/test/CodeGenCXX/no_destroy.cpp b/clang/test/CodeGenCXX/no_destroy.cpp
index 607cbfb3a1fc..e1607f6a6510 100644
--- a/clang/test/CodeGenCXX/no_destroy.cpp
+++ b/clang/test/CodeGenCXX/no_destroy.cpp
@@ -19,7 +19,7 @@ NonTrivial2 nt21;
 // CHECK: _tlv_atexit{{.*}}_ZN11NonTrivial2D1Ev{{.*}}nt22
 thread_local NonTrivial2 nt22;
 
-// CHECK-LABEL: define void @_Z1fv
+// CHECK-LABEL: define{{.*}} void @_Z1fv
 void f() {
   // CHECK: __cxa_atexit{{.*}}_ZN11NonTrivial2D1Ev
   static NonTrivial2 nt21;
@@ -27,7 +27,7 @@ void f() {
   thread_local NonTrivial2 nt22;
 }
 
-// CHECK-LABEL: define void @_Z1gv
+// CHECK-LABEL: define{{.*}} void @_Z1gv
 void g() {
   // CHECK-NOT: __cxa_atexit
   [[clang::no_destroy]] static NonTrivial2 nt21;
@@ -60,7 +60,7 @@ void h() {
   [[clang::no_destroy]] static NonTrivial3 slarr[10];
 }
 
-// CHECK-LABEL: define void @_Z1hv
+// CHECK-LABEL: define{{.*}} void @_Z1hv
 // CHECK: {{invoke|call}} void @_ZN11NonTrivial3C1Ev
 // EXCEPTIONS: call void @_ZN11NonTrivial3D1Ev
 // NO_EXCEPTIONS-NOT: call void @_ZN11NonTrivial3D1Ev
@@ -70,7 +70,7 @@ void i() {
   [[clang::no_destroy]] thread_local NonTrivial3 tlarr[10];
 }
 
-// CHECK-LABEL: define void @_Z1iv
+// CHECK-LABEL: define{{.*}} void @_Z1iv
 // CHECK: {{invoke|call}} void @_ZN11NonTrivial3C1Ev
 // EXCEPTIONS: call void @_ZN11NonTrivial3D1Ev
 // NO_EXCEPTIONS-NOT: call void @_ZN11NonTrivial3D1Ev

diff  --git a/clang/test/CodeGenCXX/noescape.cpp b/clang/test/CodeGenCXX/noescape.cpp
index 835964e24e7d..d1ed879e0980 100644
--- a/clang/test/CodeGenCXX/noescape.cpp
+++ b/clang/test/CodeGenCXX/noescape.cpp
@@ -8,8 +8,8 @@ struct S {
   virtual void vm1(int *, int * __attribute__((noescape)));
 };
 
-// CHECK: define void @_ZN1SC2EPiS0_(%struct.S* {{.*}}, {{.*}}, {{.*}} nocapture {{%.*}})
-// CHECK: define void @_ZN1SC1EPiS0_(%struct.S* {{.*}}, {{.*}}, {{.*}} nocapture {{%.*}}) {{.*}} {
+// CHECK: define{{.*}} void @_ZN1SC2EPiS0_(%struct.S* {{.*}}, {{.*}}, {{.*}} nocapture {{%.*}})
+// CHECK: define{{.*}} void @_ZN1SC1EPiS0_(%struct.S* {{.*}}, {{.*}}, {{.*}} nocapture {{%.*}}) {{.*}} {
 // CHECK: call void @_ZN1SC2EPiS0_(%struct.S* {{.*}}, {{.*}}, {{.*}} nocapture {{.*}})
 
 S::S(int *, int * __attribute__((noescape))) {}
@@ -17,13 +17,13 @@ S::S(int *, int * __attribute__((noescape))) {}
 // CHECK: define {{.*}} %struct.S* @_ZN1SaSEPi(%struct.S* {{.*}}, {{.*}} nocapture {{%.*}})
 S &S::operator=(int * __attribute__((noescape))) { return *this; }
 
-// CHECK: define void @_ZN1S2m0EPiS0_(%struct.S* {{.*}}, {{.*}} nocapture {{%.*}})
+// CHECK: define{{.*}} void @_ZN1S2m0EPiS0_(%struct.S* {{.*}}, {{.*}} nocapture {{%.*}})
 void S::m0(int *, int * __attribute__((noescape))) {}
 
-// CHECK: define void @_ZN1S3vm1EPiS0_(%struct.S* {{.*}}, {{.*}} nocapture {{%.*}})
+// CHECK: define{{.*}} void @_ZN1S3vm1EPiS0_(%struct.S* {{.*}}, {{.*}} nocapture {{%.*}})
 void S::vm1(int *, int * __attribute__((noescape))) {}
 
-// CHECK-LABEL: define void @_Z5test0P1SPiS1_(
+// CHECK-LABEL: define{{.*}} void @_Z5test0P1SPiS1_(
 // CHECK: call void @_ZN1SC1EPiS0_(%struct.S* {{.*}}, {{.*}}, {{.*}} nocapture {{.*}})
 // CHECK: call {{.*}} %struct.S* @_ZN1SaSEPi(%struct.S* {{.*}}, {{.*}} nocapture {{.*}})
 // CHECK: call void @_ZN1S2m0EPiS0_(%struct.S* {{.*}}, {{.*}}, {{.*}} nocapture {{.*}})
@@ -44,13 +44,13 @@ void *operator new(std::size_t, void * __attribute__((noescape)) p) {
   return p;
 }
 
-// CHECK-LABEL: define i8* @_Z5test1Pv(
+// CHECK-LABEL: define{{.*}} i8* @_Z5test1Pv(
 // CHECK: %call = call {{.*}} @_ZnwmPv({{.*}}, {{.*}} nocapture {{.*}})
 void *test1(void *p0) {
   return ::operator new(16, p0);
 }
 
-// CHECK-LABEL: define void @_Z5test2PiS_(
+// CHECK-LABEL: define{{.*}} void @_Z5test2PiS_(
 // CHECK: call void @"_ZZ5test2PiS_ENK3$_0clES_S_"({{.*}}, {{.*}}, {{.*}} nocapture {{.*}})
 // CHECK: define internal void @"_ZZ5test2PiS_ENK3$_0clES_S_"({{.*}}, {{.*}}, {{.*}} nocapture {{%.*}})
 void test2(int *p0, int *p1) {
@@ -58,7 +58,7 @@ void test2(int *p0, int *p1) {
   t(p0, p1);
 }
 
-// CHECK-LABEL: define void @_Z5test3PFvU8noescapePiES_(
+// CHECK-LABEL: define{{.*}} void @_Z5test3PFvU8noescapePiES_(
 // CHECK: call void {{.*}}(i32* nocapture {{.*}})
 typedef void (*NoEscapeFunc)(__attribute__((noescape)) int *);
 
@@ -81,7 +81,7 @@ void noescapefunc(__attribute__((noescape)) BlockTy);
 
 // Check that __block variables with reference types are handled correctly.
 
-// CHECK: define void @_ZN9TestByref4testEv(
+// CHECK: define{{.*}} void @_ZN9TestByref4testEv(
 // CHECK: %[[X:.*]] = alloca %[[STRUCT_TESTBYREF:.*]]*, align 8
 // CHECK: %[[BLOCK:.*]] = alloca <{ i8*, i32, i32, i8*, %{{.*}}*, %[[STRUCT_TESTBYREF]]* }>, align 8
 // CHECK: %[[BLOCK_CAPTURED:.*]] = getelementptr inbounds <{ i8*, i32, i32, i8*, %{{.*}}*, %[[STRUCT_TESTBYREF]]* }>, <{ i8*, i32, i32, i8*, %{{.*}}*, %[[STRUCT_TESTBYREF]]* }>* %[[BLOCK]], i32 0, i32 5

diff  --git a/clang/test/CodeGenCXX/noexcept.cpp b/clang/test/CodeGenCXX/noexcept.cpp
index 9d90484c1c22..fe3ae98cf9bb 100644
--- a/clang/test/CodeGenCXX/noexcept.cpp
+++ b/clang/test/CodeGenCXX/noexcept.cpp
@@ -16,7 +16,7 @@ namespace test0 {
     foo();
   }
 }
-// CHECK-LABEL:    define void @_ZN5test04testEv()
+// CHECK-LABEL:    define{{.*}} void @_ZN5test04testEv()
 // CHECK:      [[EXN:%.*]] = alloca i8*
 //   This goes to the terminate lpad.
 // CHECK:      invoke void @_ZN5test01AC1Ev(

diff  --git a/clang/test/CodeGenCXX/non-const-init-cxx2a.cpp b/clang/test/CodeGenCXX/non-const-init-cxx2a.cpp
index 120b32090fb4..8370fe6eacdb 100644
--- a/clang/test/CodeGenCXX/non-const-init-cxx2a.cpp
+++ b/clang/test/CodeGenCXX/non-const-init-cxx2a.cpp
@@ -12,7 +12,7 @@ struct B {
 // We emit a dynamic destructor here because b.n might have been modified
 // before b is destroyed.
 //
-// CHECK: @b = global {{.*}} i32 123
+// CHECK: @b ={{.*}} global {{.*}} i32 123
 B b = B();
 
 // CHECK: define {{.*}}cxx_global_var_init

diff  --git a/clang/test/CodeGenCXX/partial-destruction.cpp b/clang/test/CodeGenCXX/partial-destruction.cpp
index 0ec018d0731a..46ea251468f0 100644
--- a/clang/test/CodeGenCXX/partial-destruction.cpp
+++ b/clang/test/CodeGenCXX/partial-destruction.cpp
@@ -12,7 +12,7 @@ namespace test0 {
     A as[10] = { 5, 7 };
     opaque();
   }
-  // CHECK-LABEL:    define void @_ZN5test04testEv()
+  // CHECK-LABEL:    define{{.*}} void @_ZN5test04testEv()
   // CHECK-SAME: personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
   // CHECK:      [[AS:%.*]] = alloca [10 x [[A:%.*]]], align
   // CHECK-NEXT: [[ENDVAR:%.*]] = alloca [[A]]*
@@ -103,7 +103,7 @@ namespace test1 {
   void test() {
     B v = { 5, 6, 7, 8 };
   }
-  // CHECK-LABEL:    define void @_ZN5test14testEv()
+  // CHECK-LABEL:    define{{.*}} void @_ZN5test14testEv()
   // CHECK-SAME: personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
   // CHECK:      [[V:%.*]] = alloca [[B:%.*]], align 4
   // CHECK-NEXT: alloca i8*
@@ -136,7 +136,7 @@ namespace test2 {
   void test() {
     A v[4][7];
 
-    // CHECK-LABEL:    define void @_ZN5test24testEv()
+    // CHECK-LABEL:    define{{.*}} void @_ZN5test24testEv()
     // CHECK-SAME: personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
     // CHECK:      [[V:%.*]] = alloca [4 x [7 x [[A:%.*]]]], align 1
     // CHECK-NEXT: alloca i8*
@@ -187,7 +187,7 @@ namespace test4 {
     A v[2][3] = { { A(0), A(1), A(2) }, { A(3), A(4), A(5) } };
   }
 }
-// CHECK-LABEL: define void @_ZN5test44testEv()
+// CHECK-LABEL: define{{.*}} void @_ZN5test44testEv()
 // CHECK:       [[ARRAY:%.*]] = alloca [2 x [3 x [[A:%.*]]]], align
 // CHECK:       [[A0:%.*]] = getelementptr inbounds [2 x [3 x [[A]]]], [2 x [3 x [[A]]]]* [[ARRAY]], i64 0, i64 0
 // CHECK-NEXT:  store [3 x [[A]]]* [[A0]],

diff  --git a/clang/test/CodeGenCXX/pass-object-size.cpp b/clang/test/CodeGenCXX/pass-object-size.cpp
index 7fd8b599aaa3..f993c054e2f2 100644
--- a/clang/test/CodeGenCXX/pass-object-size.cpp
+++ b/clang/test/CodeGenCXX/pass-object-size.cpp
@@ -3,7 +3,7 @@
 int gi;
 
 namespace lambdas {
-// CHECK-LABEL: define void @_ZN7lambdas7LambdasEPc
+// CHECK-LABEL: define{{.*}} void @_ZN7lambdas7LambdasEPc
 void Lambdas(char *ptr) {
   auto L1 = [](void *const p __attribute__((pass_object_size(0)))) {
     return __builtin_object_size(p, 0);
@@ -32,7 +32,7 @@ namespace addrof {
 void OvlFoo(void *const __attribute__((pass_object_size(0)))) {}
 void OvlFoo(int *const) {}
 
-// CHECK: define void @_ZN6addrof4TestEv
+// CHECK: define{{.*}} void @_ZN6addrof4TestEv
 void Test() {
   // Treating parens-only calls as though they were direct is consistent with
   // how we handle other implicitly unaddressable functions (e.g. builtins).
@@ -50,7 +50,7 @@ namespace delegate {
   };
   A::A(void *const p __attribute__((pass_object_size(0)))) {}
   // Ensure that we forward the size through a delegating constructor call.
-  // CHECK: define void @_ZN8delegate1AC1EPvU17pass_object_size0({{[^,]*}}, i8*{{[^,]*}}, i64{{[^,]*}})
+  // CHECK: define{{.*}} void @_ZN8delegate1AC1EPvU17pass_object_size0({{[^,]*}}, i8*{{[^,]*}}, i64{{[^,]*}})
   // CHECK: call void @_ZN8delegate1AC2EPvU17pass_object_size0({{[^,]*}}, i8*{{[^,]*}}, i64{{[^,]*}})
 }
 
@@ -70,7 +70,7 @@ struct AsMember {
                   double a, ...) {}
 };
 
-// CHECK-LABEL: define void @_ZN8variadic4testEv()
+// CHECK-LABEL: define{{.*}} void @_ZN8variadic4testEv()
 void test() {
   // CHECK-RE: call{{[^@]+}}@_ZN8variadic6AsCtorC1EPKcU17pass_object_size0dz
   AsCtor("a", 1.0);

diff  --git a/clang/test/CodeGenCXX/pointers-to-data-members.cpp b/clang/test/CodeGenCXX/pointers-to-data-members.cpp
index 879a05239532..01b990db4546 100644
--- a/clang/test/CodeGenCXX/pointers-to-data-members.cpp
+++ b/clang/test/CodeGenCXX/pointers-to-data-members.cpp
@@ -8,16 +8,16 @@ struct C : B, A { };
 
 // Zero init.
 namespace ZeroInit {
-  // CHECK-GLOBAL: @_ZN8ZeroInit1aE = global i64 -1
+  // CHECK-GLOBAL: @_ZN8ZeroInit1aE ={{.*}} global i64 -1
   int A::* a;
   
-  // CHECK-GLOBAL: @_ZN8ZeroInit2aaE = global [2 x i64] [i64 -1, i64 -1]
+  // CHECK-GLOBAL: @_ZN8ZeroInit2aaE ={{.*}} global [2 x i64] [i64 -1, i64 -1]
   int A::* aa[2];
   
-  // CHECK-GLOBAL: @_ZN8ZeroInit3aaaE = global [2 x [2 x i64]] {{\[}}[2 x i64] [i64 -1, i64 -1], [2 x i64] [i64 -1, i64 -1]]
+  // CHECK-GLOBAL: @_ZN8ZeroInit3aaaE ={{.*}} global [2 x [2 x i64]] {{\[}}[2 x i64] [i64 -1, i64 -1], [2 x i64] [i64 -1, i64 -1]]
   int A::* aaa[2][2];
   
-  // CHECK-GLOBAL: @_ZN8ZeroInit1bE = global i64 -1,
+  // CHECK-GLOBAL: @_ZN8ZeroInit1bE ={{.*}} global i64 -1,
   int A::* b = 0;
 
   // CHECK-GLOBAL: @_ZN8ZeroInit2saE = internal global %struct.anon { i64 -1 }
@@ -53,13 +53,13 @@ namespace ZeroInit {
   };
 
   struct C : A, B { int j; };
-  // CHECK-GLOBAL: @_ZN8ZeroInit1cE = global {{%.*}} <{ %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::B" { [10 x %"struct.ZeroInit::A"] [%"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }], i8 0, i64 -1 }, i32 0, [4 x i8] zeroinitializer }>, align 8
+  // CHECK-GLOBAL: @_ZN8ZeroInit1cE ={{.*}} global {{%.*}} <{ %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::B" { [10 x %"struct.ZeroInit::A"] [%"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }, %"struct.ZeroInit::A" { i64 -1, i32 0 }], i8 0, i64 -1 }, i32 0, [4 x i8] zeroinitializer }>, align 8
   C c;
 }
 
 // PR5674
 namespace PR5674 {
-  // CHECK-GLOBAL: @_ZN6PR56742pbE = global i64 4
+  // CHECK-GLOBAL: @_ZN6PR56742pbE ={{.*}} global i64 4
   int A::*pb = &A::b;
 }
 
@@ -122,7 +122,7 @@ struct A {
   A();
 };
 
-// CHECK-LABEL: 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() {}
@@ -136,15 +136,15 @@ struct A {
   int A::*i;
 };
 
-// CHECK-GLOBAL: @_ZN12VirtualBases1bE = global %"struct.VirtualBases::B" { i32 (...)** null, %"struct.VirtualBases::A" { i8 0, i64 -1 } }, align 8
+// CHECK-GLOBAL: @_ZN12VirtualBases1bE ={{.*}} global %"struct.VirtualBases::B" { i32 (...)** null, %"struct.VirtualBases::A" { i8 0, i64 -1 } }, align 8
 struct B : virtual A { };
 B b;
 
-// CHECK-GLOBAL: @_ZN12VirtualBases1cE = global %"struct.VirtualBases::C" { i32 (...)** null, i64 -1, %"struct.VirtualBases::A" { i8 0, i64 -1 } }, align 8
+// CHECK-GLOBAL: @_ZN12VirtualBases1cE ={{.*}} global %"struct.VirtualBases::C" { i32 (...)** null, i64 -1, %"struct.VirtualBases::A" { i8 0, i64 -1 } }, align 8
 struct C : virtual A { int A::*i; };
 C c;
 
-// CHECK-GLOBAL: @_ZN12VirtualBases1dE = global %"struct.VirtualBases::D" { %"struct.VirtualBases::C.base" { i32 (...)** null, i64 -1 }, i64 -1, %"struct.VirtualBases::A" { i8 0, i64 -1 } }, align 8
+// CHECK-GLOBAL: @_ZN12VirtualBases1dE ={{.*}} global %"struct.VirtualBases::D" { %"struct.VirtualBases::C.base" { i32 (...)** null, i64 -1 }, i64 -1, %"struct.VirtualBases::A" { i8 0, i64 -1 } }, align 8
 struct D : C { int A::*i; };
 D d;
 
@@ -166,7 +166,7 @@ namespace BoolPtrToMember {
     bool member;
   };
 
-  // CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i8* @_ZN15BoolPtrToMember1fERNS_1XEMS0_b
+  // CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i8* @_ZN15BoolPtrToMember1fERNS_1XEMS0_b
   bool &f(X &x, bool X::*member) {
     // CHECK: {{bitcast.* to i8\*}}
     // CHECK-NEXT: getelementptr inbounds i8, i8*
@@ -191,7 +191,7 @@ namespace test4 {
   struct C : virtual B { int    *C_p; };
   struct D :         C { int    *D_p; };
 
-  // CHECK-GLOBAL: @_ZN5test41dE = global %"struct.test4::D" { %"struct.test4::C.base" zeroinitializer, i32* null, %"struct.test4::B.base" { i32 (...)** null, i64 -1 }, %"struct.test4::A" zeroinitializer }, align 8
+  // CHECK-GLOBAL: @_ZN5test41dE ={{.*}} global %"struct.test4::D" { %"struct.test4::C.base" zeroinitializer, i32* null, %"struct.test4::B.base" { i32 (...)** null, i64 -1 }, %"struct.test4::A" zeroinitializer }, align 8
   D d;
 }
 
@@ -201,7 +201,7 @@ namespace PR11487 {
     int U::* mptr;
     char x[16];
   } x;
-  // CHECK-GLOBAL: @_ZN7PR114871xE = global %"union.PR11487::U" { i64 -1, [8 x i8] zeroinitializer }, align 8
+  // CHECK-GLOBAL: @_ZN7PR114871xE ={{.*}} global %"union.PR11487::U" { i64 -1, [8 x i8] zeroinitializer }, align 8
   
 }
 
@@ -213,7 +213,7 @@ namespace PR13097 {
   };
   A f();
   X g() { return f().*&A::x; }
-  // CHECK-LABEL: define void @_ZN7PR130971gEv
+  // CHECK-LABEL: define{{.*}} void @_ZN7PR130971gEv
   // CHECK: call void @_ZN7PR130971fEv
   // CHECK-NOT: memcpy
   // CHECK: call void @_ZN7PR130971XC1ERKS0_
@@ -229,7 +229,7 @@ struct A {
 struct B : A {
 };
 B b;
-// CHECK-GLOBAL: @_ZN7PR210891bE = global %"struct.PR21089::B" { %"struct.PR21089::A.base" <{ i8 0, [7 x i8] zeroinitializer, i64 -1, i8 0 }>, [7 x i8] zeroinitializer }, align 8
+// CHECK-GLOBAL: @_ZN7PR210891bE ={{.*}} global %"struct.PR21089::B" { %"struct.PR21089::A.base" <{ i8 0, [7 x i8] zeroinitializer, i64 -1, i8 0 }>, [7 x i8] zeroinitializer }, align 8
 }
 
 namespace PR21282 {
@@ -238,7 +238,7 @@ union U {
   long y[2];
 };
 U u;
-// CHECK-GLOBAL: @_ZN7PR212821uE = global %"union.PR21282::U" { i64 -1, [8 x i8] zeroinitializer }, align 8
+// CHECK-GLOBAL: @_ZN7PR212821uE ={{.*}} global %"union.PR21282::U" { i64 -1, [8 x i8] zeroinitializer }, align 8
 }
 
 namespace FlexibleArrayMember {
@@ -246,7 +246,7 @@ struct S {
   int S::*x[];
 };
 S s;
-// CHECK-GLOBAL: @_ZN19FlexibleArrayMember1sE = global %"struct.FlexibleArrayMember::S" zeroinitializer, align 8
+// CHECK-GLOBAL: @_ZN19FlexibleArrayMember1sE ={{.*}} global %"struct.FlexibleArrayMember::S" zeroinitializer, align 8
 }
 
 namespace IndirectPDM {
@@ -256,7 +256,7 @@ union U {
   };
 };
 U u;
-// CHECK-GLOBAL: @_ZN11IndirectPDM1uE = global %"union.IndirectPDM::U" { %union.anon { i64 -1 } }, align 8
+// CHECK-GLOBAL: @_ZN11IndirectPDM1uE ={{.*}} global %"union.IndirectPDM::U" { %union.anon { i64 -1 } }, align 8
 }
 
 namespace PR47864 {

diff  --git a/clang/test/CodeGenCXX/pragma-followup_inner.cpp b/clang/test/CodeGenCXX/pragma-followup_inner.cpp
index 0098f8c62cb8..31c5c6ff9769 100644
--- a/clang/test/CodeGenCXX/pragma-followup_inner.cpp
+++ b/clang/test/CodeGenCXX/pragma-followup_inner.cpp
@@ -14,7 +14,7 @@ extern "C" void followup_inner(int n, int *x) {
 }
 
 
-// CHECK-LABEL: define void @followup_inner
+// CHECK-LABEL: define{{.*}} void @followup_inner
 // CHECK: br label %for.cond1, !llvm.loop ![[INNERLOOP_3:[0-9]+]]
 // CHECK: br label %for.cond, !llvm.loop ![[OUTERLOOP_9:[0-9]+]]
 

diff  --git a/clang/test/CodeGenCXX/pragma-followup_outer.cpp b/clang/test/CodeGenCXX/pragma-followup_outer.cpp
index 49198c48c5bc..c3ca2a7b1c28 100644
--- a/clang/test/CodeGenCXX/pragma-followup_outer.cpp
+++ b/clang/test/CodeGenCXX/pragma-followup_outer.cpp
@@ -12,7 +12,7 @@ extern "C" void followup_outer(int n, int *x) {
 }
 
 
-// CHECK-LABEL: define void @followup_outer
+// CHECK-LABEL: define{{.*}} void @followup_outer
 // CHECK: br label %for.cond, !llvm.loop ![[LOOP_3:[0-9]+]]
 
 // CHECK-DAG: ![[ACCESSGROUP_2:[0-9]+]] = distinct !{}

diff  --git a/clang/test/CodeGenCXX/reference-cast.cpp b/clang/test/CodeGenCXX/reference-cast.cpp
index 3170aa1ac488..a7a4f3114935 100644
--- a/clang/test/CodeGenCXX/reference-cast.cpp
+++ b/clang/test/CodeGenCXX/reference-cast.cpp
@@ -3,7 +3,7 @@
 // PR6024
 extern int i;
 
-// CHECK: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z16lvalue_noop_castv() [[NUW:#[0-9]+]]
+// CHECK: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z16lvalue_noop_castv() [[NUW:#[0-9]+]]
 const int &lvalue_noop_cast() {
   if (i == 0)
     // CHECK: store i32 17, i32*
@@ -15,7 +15,7 @@ const int &lvalue_noop_cast() {
   return 17;
 }
 
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i16* @_Z20lvalue_integral_castv() 
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) 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-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i16* @_Z29lvalue_floating_integral_castv()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) 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-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) float* @_Z29lvalue_integral_floating_castv()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) 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-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) float* @_Z20lvalue_floating_castv()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) 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-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i8* @_Z24lvalue_integer_bool_castv()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) 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-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i8* @_Z25lvalue_floating_bool_castv()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) 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-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i8* @_Z26lvalue_ptrmem_to_bool_castv()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) 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-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i8* @_Z27lvalue_ptrmem_to_bool_cast2v
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) 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-LABEL: 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-LABEL: define i64 @_ZN7PR106504testEPNS_6HelperE
+  // CHECK-LABEL: define{{.*}} i64 @_ZN7PR106504testEPNS_6HelperE
   // CHECK: store i64
 }
 

diff  --git a/clang/test/CodeGenCXX/references.cpp b/clang/test/CodeGenCXX/references.cpp
index 874f38fd1fdf..9c560c95fe9a 100644
--- a/clang/test/CodeGenCXX/references.cpp
+++ b/clang/test/CodeGenCXX/references.cpp
@@ -1,6 +1,6 @@
 // RUN: not %clang_cc1 -triple x86_64-apple-darwin -verify -emit-llvm -o - %s | FileCheck %s
 void t1() {
-  // CHECK-LABEL: define void @_Z2t1v
+  // CHECK-LABEL: define{{.*}} void @_Z2t1v
   // CHECK: [[REFLOAD:%.*]] = load i32*, i32** @a, align 8
   // CHECK: load i32, i32* [[REFLOAD]], align 4
   extern int& a;
@@ -8,7 +8,7 @@ void t1() {
 }
 
 void t2(int& a) {
-  // CHECK-LABEL: define void @_Z2t2Ri
+  // CHECK-LABEL: define{{.*}} void @_Z2t2Ri
   // CHECK: [[REFLOAD2:%.*]] = load i32*, i32** {{.*}}, align 8
   // CHECK: load i32, i32* [[REFLOAD2]], align 4
   int b = a;
@@ -189,7 +189,7 @@ namespace N2 {
 
   P getP();
 
-  // CHECK-LABEL: 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-LABEL: 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}}
@@ -255,7 +255,7 @@ struct A {
 };
 
 void f() {
-  // CHECK-LABEL: 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-LABEL: 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-LABEL: define i32 @_ZN2N61aEv
+  // CHECK-LABEL: define{{.*}} i32 @_ZN2N61aEv
   // CHECK: [[REFLOAD3:%.*]] = load i8*, i8** getelementptr inbounds (%"struct.N6::x", %"struct.N6::x"* @_ZN2N61yE, i32 0, i32 0), align 8
   // CHECK: load i8, i8* [[REFLOAD3]], align 1
 }

diff  --git a/clang/test/CodeGenCXX/rtti-fundamental.cpp b/clang/test/CodeGenCXX/rtti-fundamental.cpp
index d0e5890f89c7..b596ce5fe7fc 100644
--- a/clang/test/CodeGenCXX/rtti-fundamental.cpp
+++ b/clang/test/CodeGenCXX/rtti-fundamental.cpp
@@ -16,185 +16,185 @@ namespace __cxxabiv1 {
 }
 
 // void
-// CHECK: @_ZTIv = constant
+// CHECK: @_ZTIv ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIv = hidden constant
-// CHECK: @_ZTIPv = constant
+// CHECK: @_ZTIPv ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPv = hidden constant
-// CHECK: @_ZTIPKv = constant
+// CHECK: @_ZTIPKv ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKv = hidden constant
 
 // std::nullptr_t
-// CHECK: @_ZTIDn = constant
+// CHECK: @_ZTIDn ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIDn = hidden constant
-// CHECK: @_ZTIPDn = constant
+// CHECK: @_ZTIPDn ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPDn = hidden constant
-// CHECK: @_ZTIPKDn = constant
+// CHECK: @_ZTIPKDn ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKDn = hidden constant
 
 // bool
-// CHECK: @_ZTIb = constant
+// CHECK: @_ZTIb ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIb = hidden constant
-// CHECK: @_ZTIPb = constant
+// CHECK: @_ZTIPb ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPb = hidden constant
-// CHECK: @_ZTIPKb = constant
+// CHECK: @_ZTIPKb ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKb = hidden constant
 
 // wchar_t
-// CHECK: @_ZTIw = constant
+// CHECK: @_ZTIw ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIw = hidden constant
-// CHECK: @_ZTIPw = constant
+// CHECK: @_ZTIPw ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPw = hidden constant
-// CHECK: @_ZTIPKw = constant
+// CHECK: @_ZTIPKw ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKw = hidden constant
 
 // char
-// CHECK: @_ZTIc = constant
+// CHECK: @_ZTIc ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIc = hidden constant
-// CHECK: @_ZTIPc = constant
+// CHECK: @_ZTIPc ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPc = hidden constant
-// CHECK: @_ZTIPKc = constant
+// CHECK: @_ZTIPKc ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKc = hidden constant
 
 // unsigned char
-// CHECK: @_ZTIh = constant
+// CHECK: @_ZTIh ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIh = hidden constant
-// CHECK: @_ZTIPh = constant
+// CHECK: @_ZTIPh ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPh = hidden constant
-// CHECK: @_ZTIPKh = constant
+// CHECK: @_ZTIPKh ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKh = hidden constant
 
 // signed char
-// CHECK: @_ZTIa = constant
+// CHECK: @_ZTIa ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIa = hidden constant
-// CHECK: @_ZTIPa = constant
+// CHECK: @_ZTIPa ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPa = hidden constant
-// CHECK: @_ZTIPKa = constant
+// CHECK: @_ZTIPKa ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKa = hidden constant
 
 // short
-// CHECK: @_ZTIs = constant
+// CHECK: @_ZTIs ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIs = hidden constant
-// CHECK: @_ZTIPs = constant
+// CHECK: @_ZTIPs ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPs = hidden constant
-// CHECK: @_ZTIPKs = constant
+// CHECK: @_ZTIPKs ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKs = hidden constant
 
 // unsigned short
-// CHECK: @_ZTIt = constant
+// CHECK: @_ZTIt ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIt = hidden constant
-// CHECK: @_ZTIPt = constant
+// CHECK: @_ZTIPt ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPt = hidden constant
-// CHECK: @_ZTIPKt = constant
+// CHECK: @_ZTIPKt ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKt = hidden constant
 
 // int
-// CHECK: @_ZTIi = constant
+// CHECK: @_ZTIi ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIi = hidden constant
-// CHECK: @_ZTIPi = constant
+// CHECK: @_ZTIPi ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPi = hidden constant
-// CHECK: @_ZTIPKi = constant
+// CHECK: @_ZTIPKi ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKi = hidden constant
 
 // unsigned int
-// CHECK: @_ZTIj = constant
+// CHECK: @_ZTIj ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIj = hidden constant
-// CHECK: @_ZTIPj = constant
+// CHECK: @_ZTIPj ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPj = hidden constant
-// CHECK: @_ZTIPKj = constant
+// CHECK: @_ZTIPKj ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKj = hidden constant
 
 // long
-// CHECK: @_ZTIl = constant
+// CHECK: @_ZTIl ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIl = hidden constant
-// CHECK: @_ZTIPl = constant
+// CHECK: @_ZTIPl ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPl = hidden constant
-// CHECK: @_ZTIPKl = constant
+// CHECK: @_ZTIPKl ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKl = hidden constant
 
 // unsigned long
-// CHECK: @_ZTIm = constant
+// CHECK: @_ZTIm ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIm = hidden constant
-// CHECK: @_ZTIPm = constant
+// CHECK: @_ZTIPm ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPm = hidden constant
-// CHECK: @_ZTIPKm = constant
+// CHECK: @_ZTIPKm ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKm = hidden constant
 
 // long long
-// CHECK: @_ZTIx = constant
+// CHECK: @_ZTIx ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIx = hidden constant
-// CHECK: @_ZTIPx = constant
+// CHECK: @_ZTIPx ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPx = hidden constant
-// CHECK: @_ZTIPKx = constant
+// CHECK: @_ZTIPKx ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKx = hidden constant
 
 // unsigned long long
-// CHECK: @_ZTIy = constant
+// CHECK: @_ZTIy ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIy = hidden constant
-// CHECK: @_ZTIPy = constant
+// CHECK: @_ZTIPy ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPy = hidden constant
-// CHECK: @_ZTIPKy = constant
+// CHECK: @_ZTIPKy ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKy = hidden constant
 
 // __int128
-// CHECK: @_ZTIn = constant
+// CHECK: @_ZTIn ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIn = hidden constant
-// CHECK: @_ZTIPn = constant
+// CHECK: @_ZTIPn ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPn = hidden constant
-// CHECK: @_ZTIPKn = constant
+// CHECK: @_ZTIPKn ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKn = hidden constant
 
 // unsigned __int128
-// CHECK: @_ZTIo = constant
+// CHECK: @_ZTIo ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIo = hidden constant
-// CHECK: @_ZTIPo = constant
+// CHECK: @_ZTIPo ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPo = hidden constant
-// CHECK: @_ZTIPKo = constant
+// CHECK: @_ZTIPKo ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKo = hidden constant
 
 // half
-// CHECK: @_ZTIDh = constant
+// CHECK: @_ZTIDh ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIDh = hidden constant
-// CHECK: @_ZTIPDh = constant
+// CHECK: @_ZTIPDh ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPDh = hidden constant
-// CHECK: @_ZTIPKDh = constant
+// CHECK: @_ZTIPKDh ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKDh = hidden constant
 
 // float
-// CHECK: @_ZTIf = constant
+// CHECK: @_ZTIf ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIf = hidden constant
-// CHECK: @_ZTIPf = constant
+// CHECK: @_ZTIPf ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPf = hidden constant
-// CHECK: @_ZTIPKf = constant
+// CHECK: @_ZTIPKf ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKf = hidden constant
 
 // double
-// CHECK: @_ZTId = constant
+// CHECK: @_ZTId ={{.*}} constant
 // CHECK-HIDDEN: @_ZTId = hidden constant
-// CHECK: @_ZTIPd = constant
+// CHECK: @_ZTIPd ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPd = hidden constant
-// CHECK: @_ZTIPKd = constant
+// CHECK: @_ZTIPKd ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKd = hidden constant
 
 // long double
-// CHECK: @_ZTIe = constant
+// CHECK: @_ZTIe ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIe = hidden constant
-// CHECK: @_ZTIPe = constant
+// CHECK: @_ZTIPe ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPe = hidden constant
-// CHECK: @_ZTIPKe = constant
+// CHECK: @_ZTIPKe ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKe = hidden constant
 
 // char16_t
-// CHECK: @_ZTIDs = constant
+// CHECK: @_ZTIDs ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIDs = hidden constant
-// CHECK: @_ZTIPDs = constant
+// CHECK: @_ZTIPDs ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPDs = hidden constant
-// CHECK: @_ZTIPKDs = constant
+// CHECK: @_ZTIPKDs ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKDs = hidden constant
 
 // char32_t
-// CHECK: @_ZTIDi = constant
+// CHECK: @_ZTIDi ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIDi = hidden constant
-// CHECK: @_ZTIPDi = constant
+// CHECK: @_ZTIPDi ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPDi = hidden constant
-// CHECK: @_ZTIPKDi = constant
+// CHECK: @_ZTIPKDi ={{.*}} constant
 // CHECK-HIDDEN: @_ZTIPKDi = hidden constant

diff  --git a/clang/test/CodeGenCXX/rtti-layout.cpp b/clang/test/CodeGenCXX/rtti-layout.cpp
index 0db257731f42..5a757dead327 100644
--- a/clang/test/CodeGenCXX/rtti-layout.cpp
+++ b/clang/test/CodeGenCXX/rtti-layout.cpp
@@ -101,7 +101,7 @@ struct B {
   static int (B::*d)[10];
 };
 
-// CHECK-LABEL: define i32 @_Z1fv()
+// CHECK-LABEL: define{{.*}} i32 @_Z1fv()
 int f() {
   // Vectors should be treated as fundamental types.
   typedef short __v4hi __attribute__ ((__vector_size__ (8)));

diff  --git a/clang/test/CodeGenCXX/rtti-linkage.cpp b/clang/test/CodeGenCXX/rtti-linkage.cpp
index b6b72aa04aa0..208e636ab872 100644
--- a/clang/test/CodeGenCXX/rtti-linkage.cpp
+++ b/clang/test/CodeGenCXX/rtti-linkage.cpp
@@ -61,8 +61,8 @@
 // CHECK: _ZTI1TILj2EE = external constant
 // CHECK: _ZTSZ2t5vE1A = internal constant
 // CHECK: _ZTIZ2t5vE1A = internal constant
-// CHECK: _ZTS1B = constant
-// CHECK: _ZTI1B = constant
+// CHECK: _ZTS1B ={{.*}} constant
+// CHECK: _ZTI1B ={{.*}} constant
 // CHECK: _ZTS1F = linkonce_odr constant
 // CHECK: _ZTSZ2t6vE1A = linkonce_odr constant
 // CHECK: _ZTIZ2t6vE1A = linkonce_odr constant

diff  --git a/clang/test/CodeGenCXX/runtimecc.cpp b/clang/test/CodeGenCXX/runtimecc.cpp
index d576e3061b4a..8f43e168d201 100644
--- a/clang/test/CodeGenCXX/runtimecc.cpp
+++ b/clang/test/CodeGenCXX/runtimecc.cpp
@@ -33,7 +33,7 @@ namespace test1 {
     throw 0;
   }
 
-// CHECK-LABEL:    define void @_ZN5test14testEv()
+// CHECK-LABEL:    define{{.*}} void @_ZN5test14testEv()
 // CHECK:      [[T0:%.*]] = call i8* @__cxa_allocate_exception(i32 4) [[NOUNWIND]]
 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* [[T0]] to i32*
 // CHECK-NEXT: store i32 0, i32* [[T1]]

diff  --git a/clang/test/CodeGenCXX/rvalue-references.cpp b/clang/test/CodeGenCXX/rvalue-references.cpp
index 10840148bf0f..5b7981a13332 100644
--- a/clang/test/CodeGenCXX/rvalue-references.cpp
+++ b/clang/test/CodeGenCXX/rvalue-references.cpp
@@ -7,7 +7,7 @@ struct B : Spacer, A { };
 
 B &getB();
 
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.A* @_Z4getAv()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.A* @_Z4getAv()
 // CHECK: call nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) %struct.B* @_Z4getBv()
 // CHECK-NEXT: bitcast %struct.B*
 // CHECK-NEXT: getelementptr inbounds i8, i8*
@@ -19,17 +19,17 @@ int &getIntLValue();
 int &&getIntXValue();
 int getIntPRValue();
 
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z2f0v()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z2f0v()
 // CHECK: call nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z12getIntLValuev()
 // CHECK-NEXT: ret i32*
 int &&f0() { return static_cast<int&&>(getIntLValue()); }
 
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z2f1v()
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z2f1v()
 // CHECK: call nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z12getIntXValuev()
 // CHECK-NEXT: ret i32*
 int &&f1() { return static_cast<int&&>(getIntXValue()); }
 
-// CHECK-LABEL: define nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z2f2v
+// CHECK-LABEL: define{{.*}} nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_Z2f2v
 // CHECK: call i32 @_Z13getIntPRValuev()
 // CHECK-NEXT: store i32 {{.*}}, i32*
 // CHECK-NEXT: ret i32*
@@ -59,7 +59,7 @@ class C
 
 C test();
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL:    define void @_ZN5test11BC2Ei(
+  // CHECK-LABEL:    define{{.*}} void @_ZN5test11BC2Ei(
   // CHECK:      [[T0:%.*]] = call nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i32* @_ZN5test14moveERi(
   // CHECK-NEXT: [[T1:%.*]] = load i32, i32* [[T0]]
   // CHECK-NEXT: call void @_ZN5test11AC1Ei({{.*}}, i32 [[T1]])

diff  --git a/clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp b/clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
index 83a2d617e878..72ef4ed3d577 100644
--- a/clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
+++ b/clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
@@ -10,7 +10,7 @@ struct A {
   ~A();
 };
 
-// CHECK-LABEL: define void @_ZN5Test11AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN5Test11AD2Ev
 // CHECK-NOT: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5Test11AE, i64 0, i64 2) to i32 (...)**), i32 (...)***
 A::~A() 
 {
@@ -26,7 +26,7 @@ struct A {
   ~A();
 };
 
-// CHECK-LABEL: define void @_ZN5Test21AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN5Test21AD2Ev
 // CHECK: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5Test21AE, i32 0, inrange i32 0, i32 2) to i32 (...)**), i32 (...)***
 A::~A() {
   f();
@@ -49,7 +49,7 @@ struct A {
   Field field;
 };
 
-// CHECK-LABEL: define void @_ZN5Test31AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN5Test31AD2Ev
 // CHECK-NOT: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5Test31AE, i32 0, inrange i32 0, i32 2) to i32 (...)**), i32 (...)***
 A::~A() {
   
@@ -75,7 +75,7 @@ struct A {
   Field field;
 };
 
-// CHECK-LABEL: define void @_ZN5Test41AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN5Test41AD2Ev
 // CHECK: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5Test41AE, i32 0, inrange i32 0, i32 2) to i32 (...)**), i32 (...)***
 A::~A()
 {
@@ -99,7 +99,7 @@ struct A {
   Field field;
 };
 
-// CHECK-LABEL: define void @_ZN5Test51AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN5Test51AD2Ev
 // CHECK: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5Test51AE, i32 0, inrange i32 0, i32 2) to i32 (...)**), i32 (...)***
 A::~A()
 {
@@ -127,7 +127,7 @@ struct A {
   Field field;
 };
 
-// CHECK-LABEL: define void @_ZN5Test61AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN5Test61AD2Ev
 // CHECK: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5Test61AE, i32 0, inrange i32 0, i32 2) to i32 (...)**), i32 (...)***
 A::~A()
 {
@@ -153,7 +153,7 @@ struct A {
   Field field;
 };
 
-// CHECK-LABEL: define void @_ZN5Test71AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN5Test71AD2Ev
 // CHECK: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5Test71AE, i32 0, inrange i32 0, i32 2) to i32 (...)**), i32 (...)***
 A::~A()
 {
@@ -179,7 +179,7 @@ struct A {
   Field field;
 };
 
-// CHECK-LABEL: define void @_ZN5Test81AD2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN5Test81AD2Ev
 // CHECK: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5Test81AE, i32 0, inrange i32 0, i32 2) to i32 (...)**), i32 (...)***
 A::~A()
 {

diff  --git a/clang/test/CodeGenCXX/static-member-variable-explicit-specialization.cpp b/clang/test/CodeGenCXX/static-member-variable-explicit-specialization.cpp
index 20b409cbf996..2bd01b301e52 100644
--- a/clang/test/CodeGenCXX/static-member-variable-explicit-specialization.cpp
+++ b/clang/test/CodeGenCXX/static-member-variable-explicit-specialization.cpp
@@ -11,7 +11,7 @@ template<typename T> int A<T>::a = foo();
 // ALLK-NOT: @_ZN1AIcE1aE
 template<> int A<char>::a;
 
-// ALL: @_ZN1AIbE1aE = global i32 10
+// ALL: @_ZN1AIbE1aE ={{.*}} global i32 10
 template<> int A<bool>::a = 10;
 
 // ALL: @llvm.global_ctors = appending global [8 x { i32, void ()*, i8* }]

diff  --git a/clang/test/CodeGenCXX/strict-vtable-pointers.cpp b/clang/test/CodeGenCXX/strict-vtable-pointers.cpp
index 3a655701b818..5e0863f9d074 100644
--- a/clang/test/CodeGenCXX/strict-vtable-pointers.cpp
+++ b/clang/test/CodeGenCXX/strict-vtable-pointers.cpp
@@ -52,7 +52,7 @@ struct DynamicFrom2Virtuals : DynamicFromVirtualStatic1,
                               DynamicFromVirtualStatic2 {
 };
 
-// CHECK-NEW-LABEL: define void @_Z12LocalObjectsv()
+// CHECK-NEW-LABEL: define{{.*}} void @_Z12LocalObjectsv()
 // CHECK-NEW-NOT: @llvm.launder.invariant.group.p0i8(
 // CHECK-NEW-LABEL: {{^}}}
 void LocalObjects() {
@@ -89,7 +89,7 @@ struct DynamicFrom2Virtuals;
 // CHECK-CTORS: call i8* @llvm.launder.invariant.group.p0i8(
 // CHECK-CTORS-LABEL: {{^}}}
 
-// CHECK-NEW-LABEL: define void @_Z9Pointers1v()
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9Pointers1v()
 // CHECK-NEW-NOT: @llvm.launder.invariant.group.p0i8(
 // CHECK-NEW-LABEL: call void @_ZN12DynamicBase1C1Ev(
 
@@ -106,7 +106,7 @@ void Pointers1() {
   DD->~DynamicDerived();
 }
 
-// CHECK-NEW-LABEL: define void @_Z14HackingObjectsv()
+// CHECK-NEW-LABEL: define{{.*}} void @_Z14HackingObjectsv()
 // CHECK-NEW:  call void @_ZN12DynamicBase1C1Ev
 // CHECK-NEW:  call i8* @llvm.launder.invariant.group.p0i8(
 // CHECK-NEW:  call void @_ZN14DynamicDerivedC1Ev(
@@ -199,7 +199,7 @@ void g2(A *a) {
 // it is very easy to skip the barrier with unions. In this example the inlined
 // g2 will produce loads with the same !invariant.group metadata, and
 // u->a and u->b would use the same pointer.
-// CHECK-NEW-LABEL: define void @_Z14UnionsBarriersP1U
+// CHECK-NEW-LABEL: define{{.*}} void @_Z14UnionsBarriersP1U
 void UnionsBarriers(U *u) {
   // CHECK-NEW: call void @_Z9changeToBP1U(
   changeToB(u);
@@ -244,7 +244,7 @@ union U2 {
 };
 void take(HoldingVirtuals &);
 
-// CHECK-NEW-LABEL: define void @_Z15UnionsBarriers2R2U2
+// CHECK-NEW-LABEL: define{{.*}} void @_Z15UnionsBarriers2R2U2
 void UnionsBarriers2(U2 &u) {
   // CHECK-NEW-NOT: call i8* @llvm.launder.invariant.group.p0i8(i8*
   // CHECK-NEW: 42
@@ -291,7 +291,7 @@ void UnionsBarrier3(U3 &u) {
   take(u.v3);
 }
 
-// CHECK-NEW-LABEL: define void @_Z7comparev()
+// CHECK-NEW-LABEL: define{{.*}} void @_Z7comparev()
 void compare() {
   A *a = new A;
   a->foo();
@@ -347,7 +347,7 @@ bool compareNull(A *a) {
 struct X;
 // We have to also introduce the barriers if comparing pointers to incomplete
 // objects
-// CHECK-NEW-LABEL: define zeroext i1 @_Z8compare4P1XS0_
+// CHECK-NEW-LABEL: define{{.*}} zeroext i1 @_Z8compare4P1XS0_
 bool compare4(X *x, X *x2) {
   // CHECK-NEW: %[[x:.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8*
   // CHECK-NEW: %[[xp:.*]] = bitcast i8* %[[x]] to %struct.X*
@@ -357,7 +357,7 @@ bool compare4(X *x, X *x2) {
   return x == x2;
 }
 
-// CHECK-NEW-LABEL: define void @_Z7member1P20HoldingOtherVirtuals(
+// CHECK-NEW-LABEL: define{{.*}} void @_Z7member1P20HoldingOtherVirtuals(
 void member1(HoldingOtherVirtuals *p) {
 
   // CHECK-NEW-NOT: call i8* @llvm.strip.invariant.group.p0i8(
@@ -411,7 +411,7 @@ void testCompareMembers() {
   }
 }
 
-// CHECK-NEW-LABEL: define void @_Z9testCast1P1A(%struct.A*
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast1P1A(%struct.A*
 void testCast1(A *a) {
   // Here we get rid of dynamic info
   // CHECK-NEW: call i8* @llvm.strip.invariant.group
@@ -429,7 +429,7 @@ void testCast1(A *a) {
 }
 
 struct Incomplete;
-// CHECK-NEW-LABEL: define void @_Z9testCast2P10Incomplete(%struct.Incomplete*
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast2P10Incomplete(%struct.Incomplete*
 void testCast2(Incomplete *I) {
   // Here we get rid of potential dynamic info
   // CHECK-NEW: call i8* @llvm.strip.invariant.group
@@ -446,7 +446,7 @@ void testCast2(Incomplete *I) {
   auto i = (uintptr_t)v;
 }
 
-// CHECK-NEW-LABEL: define void @_Z9testCast3y(
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast3y(
 void testCast3(uintptr_t i) {
   // CHECK-NEW-NOT: @llvm.strip.invariant.group
   // CHECK-NEW: @llvm.launder.invariant.group
@@ -464,7 +464,7 @@ void testCast3(uintptr_t i) {
   (void)v3;
 }
 
-// CHECK-NEW-LABEL: define void @_Z9testCast4y(
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast4y(
 void testCast4(uintptr_t i) {
   // CHECK-NEW-NOT: @llvm.strip.invariant.group
   // CHECK-NEW: @llvm.launder.invariant.group
@@ -478,7 +478,7 @@ void testCast4(uintptr_t i) {
   (void)a2;
 }
 
-// CHECK-NEW-LABEL: define void @_Z9testCast5P1B(
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast5P1B(
 void testCast5(B *b) {
   // CHECK-NEW-NOT: @llvm.strip.invariant.group
   // CHECK-NEW-NOT: @llvm.launder.invariant.group
@@ -489,7 +489,7 @@ void testCast5(B *b) {
   (void)b2;
 }
 
-// CHECK-NEW-LABEL: define void @_Z9testCast6P1A(
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast6P1A(
 void testCast6(A *a) {
 
   // CHECK-NEW: @llvm.strip.invariant.group
@@ -513,7 +513,7 @@ void testCast6(A *a) {
 }
 
 class Incomplete2;
-// CHECK-NEW-LABEL: define void @_Z9testCast7P10Incomplete(
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast7P10Incomplete(
 void testCast7(Incomplete *I) {
   // CHECK-NEW-NOT: @llvm.strip.invariant.group
 
@@ -530,7 +530,7 @@ template <typename Base>
 struct PossiblyDerivingFromDynamicBase : Base {
 };
 
-// CHECK-NEW-LABEL: define void @_Z9testCast8P10Incomplete(
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast8P10Incomplete(
 void testCast8(Incomplete *I) {
   // CHECK-NEW-NOT: @llvm.strip.invariant.group
   // CHECK-NEW: @llvm.launder.invariant.group
@@ -551,7 +551,7 @@ void testCast8(Incomplete *I) {
   // CHECK-NEW-LABEL: ret void
 }
 
-// CHECK-NEW-LABEL: define void @_Z9testCast9
+// CHECK-NEW-LABEL: define{{.*}} void @_Z9testCast9
 void testCast9(PossiblyDerivingFromDynamicBase<Incomplete> *P) {
   // CHECK-NEW: @llvm.strip.invariant.group
   auto *V = (void *)P;

diff  --git a/clang/test/CodeGenCXX/template-instantiation.cpp b/clang/test/CodeGenCXX/template-instantiation.cpp
index 2b14400b64d3..d16f66dd9f22 100644
--- a/clang/test/CodeGenCXX/template-instantiation.cpp
+++ b/clang/test/CodeGenCXX/template-instantiation.cpp
@@ -2,14 +2,14 @@
 // RUN: %clang_cc1 %s -O1 -disable-llvm-passes -triple=x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - | FileCheck %s --check-prefix=CHECK2
 
 // Instantiation order varies on 
diff erent C++ dialects (IE, between C++98 and C++11).
-// CHECK-DAG: @_ZN7PR100011xE = global
+// CHECK-DAG: @_ZN7PR100011xE ={{.*}} global
 // CHECK-DAG: @_ZTVN5test018stdio_sync_filebufIA3_iEE = weak_odr unnamed_addr constant
 // CHECK-DAG: @_ZN7PR100011SIiE3arrE = linkonce_odr global [3 x i32]
 // CHECK-DAG: @_ZTVN5test018stdio_sync_filebufIA4_iEE = linkonce_odr unnamed_addr constant
 
 // Negative checks go under prefix "CHECK2" to avoid interference with CHECK and CHECK-DAG.
 // CHECK2-NOT: @_ZN7PR100014kBarE = external global i32
-// CHECK2-NOT: @_ZTVN5test118stdio_sync_filebufIwEE = constant
+// CHECK2-NOT: @_ZTVN5test118stdio_sync_filebufIwEE ={{.*}} constant
 // CHECK2-NOT: _ZTVN5test315basic_fstreamXXIcEE
 // CHECK2-NOT: @_ZTVN5test018stdio_sync_filebufIA1_iEE
 // CHECK2-NOT: @_ZTVN5test018stdio_sync_filebufIA2_iEE

diff  --git a/clang/test/CodeGenCXX/temporaries.cpp b/clang/test/CodeGenCXX/temporaries.cpp
index 81c623934a85..edbaa7619221 100644
--- a/clang/test/CodeGenCXX/temporaries.cpp
+++ b/clang/test/CodeGenCXX/temporaries.cpp
@@ -6,27 +6,27 @@ namespace PR16263 {
   const unsigned int n = 1234;
   extern const int &r = (const int&)n;
   // CHECK: @_ZGRN7PR162631rE_ = internal constant i32 1234,
-  // CHECK: @_ZN7PR162631rE = constant i32* @_ZGRN7PR162631rE_,
+  // CHECK: @_ZN7PR162631rE ={{.*}} constant i32* @_ZGRN7PR162631rE_,
 
   extern const int &s = reinterpret_cast<const int&>(n);
   // CHECK: @_ZN7PR16263L1nE = internal constant i32 1234, align 4
-  // CHECK: @_ZN7PR162631sE = constant i32* @_ZN7PR16263L1nE, align 8
+  // CHECK: @_ZN7PR162631sE ={{.*}} constant i32* @_ZN7PR16263L1nE, align 8
 
   struct A { int n; };
   struct B { int n; };
   struct C : A, B {};
   extern const A &&a = (A&&)(A&&)(C&&)(C{});
   // CHECK: @_ZGRN7PR162631aE_ = internal global {{.*}} zeroinitializer,
-  // CHECK: @_ZN7PR162631aE = constant {{.*}} bitcast ({{.*}}* @_ZGRN7PR162631aE_ to
+  // CHECK: @_ZN7PR162631aE ={{.*}} constant {{.*}} bitcast ({{.*}}* @_ZGRN7PR162631aE_ to
 
   extern const int &&t = ((B&&)C{}).n;
   // CHECK: @_ZGRN7PR162631tE_ = internal global {{.*}} zeroinitializer,
-  // CHECK: @_ZN7PR162631tE = constant i32* {{.*}}* @_ZGRN7PR162631tE_ {{.*}} 4
+  // CHECK: @_ZN7PR162631tE ={{.*}} constant i32* {{.*}}* @_ZGRN7PR162631tE_ {{.*}} 4
 
   struct D { double d; C c; };
   extern const int &&u = (123, static_cast<B&&>(0, ((D&&)D{}).*&D::c).n);
   // CHECK: @_ZGRN7PR162631uE_ = internal global {{.*}} zeroinitializer
-  // CHECK: @_ZN7PR162631uE = constant i32* {{.*}} @_ZGRN7PR162631uE_ {{.*}} 12
+  // CHECK: @_ZN7PR162631uE ={{.*}} constant i32* {{.*}} @_ZGRN7PR162631uE_ {{.*}} 12
 }
 
 namespace PR20227 {
@@ -50,7 +50,7 @@ namespace BraceInit {
   // CHECK-CXX11: @_ZGRN9BraceInit1xE_ = internal constant i32 3
   // FIXME: This should still be emitted as 'constant' in C++17.
   // CHECK-CXX17: @_ZGRN9BraceInit1xE_ = internal global i32 3
-  // CHECK: @_ZN9BraceInit1xE = constant i32* @_ZGRN9BraceInit1xE_
+  // CHECK: @_ZN9BraceInit1xE ={{.*}} constant i32* @_ZGRN9BraceInit1xE_
 }
 
 struct A {
@@ -266,7 +266,7 @@ namespace PR5867 {
   };
 
   void f(S, int);
-  // CHECK-LABEL: define void @_ZN6PR58671gEv
+  // CHECK-LABEL: define{{.*}} void @_ZN6PR58671gEv
   void g() {
     // CHECK: call void @_ZN6PR58671SC1Ev
     // CHECK-NEXT: call void @_ZN6PR58671fENS_1SEi
@@ -318,7 +318,7 @@ struct A {
 
 int& f(int);
 
-// CHECK-LABEL: define void @_ZN3T121gEv
+// CHECK-LABEL: define{{.*}} void @_ZN3T121gEv
 void g() {
   // CHECK: call void @_ZN3T121AC1Ev
   // CHECK-NEXT: call i32 @_ZN3T121A1fEv(
@@ -366,7 +366,7 @@ namespace PR7556 {
   struct A { ~A(); };
   struct B { int i; ~B(); };
   struct C { int C::*pm; ~C(); };
-  // CHECK-LABEL: define void @_ZN6PR75563fooEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN6PR75563fooEv()
   void foo() {
     // CHECK: call void @_ZN6PR75561AD1Ev
     A();
@@ -391,7 +391,7 @@ namespace Elision {
   A fooA();
   void takeA(A a);
 
-  // CHECK-LABEL: define void @_ZN7Elision5test0Ev()
+  // CHECK-LABEL: define{{.*}} void @_ZN7Elision5test0Ev()
   void test0() {
     // CHECK:      [[I:%.*]] = alloca [[A:%.*]], align 8
     // CHECK-NEXT: [[J:%.*]] = alloca [[A]], align 8
@@ -419,7 +419,7 @@ namespace Elision {
   }
 
 
-  // CHECK-LABEL: 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
@@ -436,7 +436,7 @@ namespace Elision {
     // CHECK-NEXT: call void @_ZN7Elision1AD1Ev([[A]]* {{[^,]*}} [[I]])
   }
 
-  // CHECK: define void @_ZN7Elision5test2Ev([[A]]* noalias sret([[A]]) align 8
+  // CHECK: define{{.*}} void @_ZN7Elision5test2Ev([[A]]* noalias sret([[A]]) align 8
   A test2() {
     // CHECK:      call void @_ZN7Elision3fooEv()
     // CHECK-NEXT: call void @_ZN7Elision1AC1Ev([[A]]* {{[^,]*}} [[RET:%.*]])
@@ -444,7 +444,7 @@ namespace Elision {
     return (foo(), A());
   }
 
-  // CHECK: define void @_ZN7Elision5test3EiNS_1AE([[A]]* noalias sret([[A]]) align 8
+  // CHECK: define{{.*}} void @_ZN7Elision5test3EiNS_1AE([[A]]* noalias sret([[A]]) align 8
   A test3(int v, A x) {
     if (v < 5)
     // CHECK:      call void @_ZN7Elision1AC1Ev([[A]]* {{[^,]*}} [[RET:%.*]])
@@ -458,7 +458,7 @@ namespace Elision {
     // CHECK:      ret void
   }
 
-  // CHECK-LABEL: 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
@@ -485,7 +485,7 @@ namespace Elision {
   }
 
   // rdar://problem/8433352
-  // CHECK: define void @_ZN7Elision5test5Ev([[A]]* noalias sret([[A]]) align 8
+  // CHECK: define{{.*}} void @_ZN7Elision5test5Ev([[A]]* noalias sret([[A]]) align 8
   struct B { A a; B(); };
   A test5() {
     // CHECK:      [[AT0:%.*]] = alloca [[A]], align 8
@@ -518,7 +518,7 @@ namespace Elision {
   }
 
   // Reduced from webkit.
-  // CHECK: define void @_ZN7Elision5test6EPKNS_1CE([[C:%.*]]*
+  // CHECK: define{{.*}} void @_ZN7Elision5test6EPKNS_1CE([[C:%.*]]*
   struct C { operator A() const; };
   void test6(const C *x) {
     // CHECK:      [[T0:%.*]] = alloca [[A]], align 8
@@ -534,7 +534,7 @@ namespace Elision {
 namespace PR8623 {
   struct A { A(int); ~A(); };
 
-  // CHECK-LABEL: define void @_ZN6PR86233fooEb(
+  // CHECK-LABEL: define{{.*}} void @_ZN6PR86233fooEb(
   void foo(bool b) {
     // CHECK:      [[TMP:%.*]] = alloca [[A:%.*]], align 1
     // CHECK-NEXT: [[LCONS:%.*]] = alloca i1
@@ -564,7 +564,7 @@ namespace PR8623 {
 namespace PR11365 {
   struct A { A(); ~A(); };
 
-  // CHECK-LABEL: define void @_ZN7PR113653fooEv(
+  // CHECK-LABEL: define{{.*}} void @_ZN7PR113653fooEv(
   void foo() {
     // CHECK: [[BEGIN:%.*]] = getelementptr inbounds [3 x [[A:%.*]]], [3 x [[A:%.*]]]* {{.*}}, i32 0, i32 0
     // CHECK-NEXT: [[END:%.*]] = getelementptr inbounds [[A]], [[A]]* [[BEGIN]], i64 3
@@ -583,7 +583,7 @@ namespace AssignmentOp {
   struct A { ~A(); };
   struct B { A operator=(const B&); };
   struct C : B { B b1, b2; };
-  // CHECK-LABEL: define void @_ZN12AssignmentOp1fE
+  // CHECK-LABEL: define{{.*}} void @_ZN12AssignmentOp1fE
   void f(C &c1, const C &c2) {
     // CHECK: call {{.*}} @_ZN12AssignmentOp1CaSERKS0_(
     c1 = c2;
@@ -682,7 +682,7 @@ namespace ImplicitTemporaryCleanup {
   struct A { A(int); ~A(); };
   void g();
 
-  // CHECK-LABEL: define void @_ZN24ImplicitTemporaryCleanup1fEv(
+  // CHECK-LABEL: define{{.*}} void @_ZN24ImplicitTemporaryCleanup1fEv(
   void f() {
     // CHECK: call {{.*}} @_ZN24ImplicitTemporaryCleanup1AC1Ei(
     A &&a = 0;
@@ -730,7 +730,7 @@ namespace MultipleExtension {
 
 
   void g();
-  // CHECK: define void @[[NS:_ZN17MultipleExtension]]1fEv(
+  // CHECK: define{{.*}} void @[[NS:_ZN17MultipleExtension]]1fEv(
   void f() {
     E &&e1 = { A(), B(), D().c };
     // CHECK: %[[TEMPE1_A:.*]] = getelementptr inbounds {{.*}} %[[TEMPE1:.*]], i32 0, i32 0

diff  --git a/clang/test/CodeGenCXX/threadsafe-statics-exceptions.cpp b/clang/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
index 41325fa64fc5..52fb469686ed 100644
--- a/clang/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
+++ b/clang/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
@@ -7,7 +7,7 @@ struct X {
 
 struct Y { };
 
-// CHECK-LABEL: define void @_Z1fv
+// CHECK-LABEL: define{{.*}} void @_Z1fv
 // CHECK-SAME:  personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
 void f() {
   // CHECK: call i32 @__cxa_guard_acquire(i64* @_ZGVZ1fvE1x)

diff  --git a/clang/test/CodeGenCXX/threadsafe-statics.cpp b/clang/test/CodeGenCXX/threadsafe-statics.cpp
index 7cb7003fc0ca..443fbecc3d26 100644
--- a/clang/test/CodeGenCXX/threadsafe-statics.cpp
+++ b/clang/test/CodeGenCXX/threadsafe-statics.cpp
@@ -6,7 +6,7 @@ int f();
 // WITH-TSS: @_ZZ1gvE1a = internal global i32 0, align 4
 // WITH-TSS: @_ZGVZ1gvE1a = internal global i64 0
 
-// WITH-TSS: define void @_Z1gv() [[NUW:#[0-9]+]]
+// WITH-TSS: define{{.*}} void @_Z1gv() [[NUW:#[0-9]+]]
 // WITH-TSS: call i32 @__cxa_guard_acquire
 // WITH-TSS: call void @__cxa_guard_release
 // WITH-TSS: ret void
@@ -17,7 +17,7 @@ void g() {
 // NO-TSS: @_ZZ1gvE1a = internal global i32 0, align 4
 // NO-TSS: @_ZGVZ1gvE1a = internal global i8 0
 
-// NO-TSS: define void @_Z1gv() [[NUW:#[0-9]+]]
+// NO-TSS: define{{.*}} void @_Z1gv() [[NUW:#[0-9]+]]
 // NO-TSS-NOT: call i32 @__cxa_guard_acquire
 // NO-TSS-NOT: call void @__cxa_guard_release
 // NO-TSS: ret void

diff  --git a/clang/test/CodeGenCXX/trivial_abi.cpp b/clang/test/CodeGenCXX/trivial_abi.cpp
index 0191e47f9a15..ac41f5cac086 100644
--- a/clang/test/CodeGenCXX/trivial_abi.cpp
+++ b/clang/test/CodeGenCXX/trivial_abi.cpp
@@ -55,7 +55,7 @@ struct D0 : B0, B1 {
   Small m0() override;
 };
 
-// CHECK-LABEL: define i64 @_ZThn8_N2D02m0Ev(
+// CHECK-LABEL: define{{.*}} i64 @_ZThn8_N2D02m0Ev(
 // CHECK: %[[RETVAL:.*]] = alloca %[[STRUCT_SMALL]], align 8
 // CHECK: %[[CALL:.*]] = tail call i64 @_ZN2D02m0Ev(
 // CHECK: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_SMALL]], %[[STRUCT_SMALL]]* %[[RETVAL]], i32 0, i32 0
@@ -68,7 +68,7 @@ struct D0 : B0, B1 {
 
 Small D0::m0() { return {}; }
 
-// CHECK: define void @_Z14testParamSmall5Small(i64 %[[A_COERCE:.*]])
+// CHECK: define{{.*}} void @_Z14testParamSmall5Small(i64 %[[A_COERCE:.*]])
 // CHECK: %[[A:.*]] = alloca %[[STRUCT_SMALL]], align 8
 // CHECK: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_SMALL]], %[[STRUCT_SMALL]]* %[[A]], i32 0, i32 0
 // CHECK: %[[COERCE_VAL_IP:.*]] = inttoptr i64 %[[A_COERCE]] to i32*
@@ -80,7 +80,7 @@ Small D0::m0() { return {}; }
 void testParamSmall(Small a) noexcept {
 }
 
-// CHECK: define i64 @_Z15testReturnSmallv()
+// CHECK: define{{.*}} i64 @_Z15testReturnSmallv()
 // CHECK: %[[RETVAL:.*]] = alloca %[[STRUCT_SMALL:.*]], align 8
 // CHECK: %[[CALL:.*]] = call %[[STRUCT_SMALL]]* @_ZN5SmallC1Ev(%[[STRUCT_SMALL]]* {{[^,]*}} %[[RETVAL]])
 // CHECK: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_SMALL]], %[[STRUCT_SMALL]]* %[[RETVAL]], i32 0, i32 0
@@ -94,7 +94,7 @@ Small testReturnSmall() {
   return t;
 }
 
-// CHECK: define void @_Z14testCallSmall0v()
+// CHECK: define{{.*}} void @_Z14testCallSmall0v()
 // CHECK: %[[T:.*]] = alloca %[[STRUCT_SMALL:.*]], align 8
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_SMALL]], align 8
 // CHECK: %[[CALL:.*]] = call %[[STRUCT_SMALL]]* @_ZN5SmallC1Ev(%[[STRUCT_SMALL]]* {{[^,]*}} %[[T]])
@@ -112,7 +112,7 @@ void testCallSmall0() {
   testParamSmall(t);
 }
 
-// CHECK: define void @_Z14testCallSmall1v()
+// CHECK: define{{.*}} void @_Z14testCallSmall1v()
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_SMALL:.*]], align 8
 // CHECK: %[[CALL:.*]] = call i64 @_Z15testReturnSmallv()
 // CHECK: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_SMALL]], %[[STRUCT_SMALL]]* %[[AGG_TMP]], i32 0, i32 0
@@ -129,7 +129,7 @@ void testCallSmall1() {
   testParamSmall(testReturnSmall());
 }
 
-// CHECK: define void @_Z16testIgnoredSmallv()
+// CHECK: define{{.*}} void @_Z16testIgnoredSmallv()
 // CHECK: %[[AGG_TMP_ENSURED:.*]] = alloca %[[STRUCT_SMALL:.*]], align 8
 // CHECK: %[[CALL:.*]] = call i64 @_Z15testReturnSmallv()
 // CHECK: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_SMALL]], %[[STRUCT_SMALL]]* %[[AGG_TMP_ENSURED]], i32 0, i32 0
@@ -143,7 +143,7 @@ void testIgnoredSmall() {
   testReturnSmall();
 }
 
-// CHECK: define void @_Z14testParamLarge5Large(%[[STRUCT_LARGE:.*]]* %[[A:.*]])
+// CHECK: define{{.*}} void @_Z14testParamLarge5Large(%[[STRUCT_LARGE:.*]]* %[[A:.*]])
 // CHECK: %[[CALL:.*]] = call %[[STRUCT_LARGE]]* @_ZN5LargeD1Ev(%[[STRUCT_LARGE]]* {{[^,]*}} %[[A]])
 // CHECK: ret void
 // CHECK: }
@@ -151,7 +151,7 @@ void testIgnoredSmall() {
 void testParamLarge(Large a) noexcept {
 }
 
-// CHECK: define void @_Z15testReturnLargev(%[[STRUCT_LARGE:.*]]* noalias sret(%[[STRUCT_LARGE]]) align 8 %[[AGG_RESULT:.*]])
+// CHECK: define{{.*}} void @_Z15testReturnLargev(%[[STRUCT_LARGE:.*]]* noalias sret(%[[STRUCT_LARGE]]) align 8 %[[AGG_RESULT:.*]])
 // CHECK: %[[CALL:.*]] = call %[[STRUCT_LARGE]]* @_ZN5LargeC1Ev(%[[STRUCT_LARGE]]* {{[^,]*}} %[[AGG_RESULT]])
 // CHECK: ret void
 // CHECK: }
@@ -161,7 +161,7 @@ Large testReturnLarge() {
   return t;
 }
 
-// CHECK: define void @_Z14testCallLarge0v()
+// CHECK: define{{.*}} void @_Z14testCallLarge0v()
 // CHECK: %[[T:.*]] = alloca %[[STRUCT_LARGE:.*]], align 8
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_LARGE]], align 8
 // CHECK: %[[CALL:.*]] = call %[[STRUCT_LARGE]]* @_ZN5LargeC1Ev(%[[STRUCT_LARGE]]* {{[^,]*}} %[[T]])
@@ -176,7 +176,7 @@ void testCallLarge0() {
   testParamLarge(t);
 }
 
-// CHECK: define void @_Z14testCallLarge1v()
+// CHECK: define{{.*}} void @_Z14testCallLarge1v()
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_LARGE:.*]], align 8
 // CHECK: call void @_Z15testReturnLargev(%[[STRUCT_LARGE]]* sret(%[[STRUCT_LARGE]]) align 8 %[[AGG_TMP]])
 // CHECK: call void @_Z14testParamLarge5Large(%[[STRUCT_LARGE]]* %[[AGG_TMP]])
@@ -187,7 +187,7 @@ void testCallLarge1() {
   testParamLarge(testReturnLarge());
 }
 
-// CHECK: define void @_Z16testIgnoredLargev()
+// CHECK: define{{.*}} void @_Z16testIgnoredLargev()
 // CHECK: %[[AGG_TMP_ENSURED:.*]] = alloca %[[STRUCT_LARGE:.*]], align 8
 // CHECK: call void @_Z15testReturnLargev(%[[STRUCT_LARGE]]* sret(%[[STRUCT_LARGE]]) align 8 %[[AGG_TMP_ENSURED]])
 // CHECK: %[[CALL:.*]] = call %[[STRUCT_LARGE]]* @_ZN5LargeD1Ev(%[[STRUCT_LARGE]]* {{[^,]*}} %[[AGG_TMP_ENSURED]])
@@ -198,7 +198,7 @@ void testIgnoredLarge() {
   testReturnLarge();
 }
 
-// CHECK: define i64 @_Z20testReturnHasTrivialv()
+// CHECK: define{{.*}} i64 @_Z20testReturnHasTrivialv()
 // CHECK: %[[RETVAL:.*]] = alloca %[[STRUCT_TRIVIAL:.*]], align 4
 // CHECK: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_TRIVIAL]], %[[STRUCT_TRIVIAL]]* %[[RETVAL]], i32 0, i32 0
 // CHECK: %[[V0:.*]] = load i32, i32* %[[COERCE_DIVE]], align 4
@@ -211,7 +211,7 @@ Trivial testReturnHasTrivial() {
   return t;
 }
 
-// CHECK: define void @_Z23testReturnHasNonTrivialv(%[[STRUCT_NONTRIVIAL:.*]]* noalias sret(%[[STRUCT_NONTRIVIAL]]) align 4 %[[AGG_RESULT:.*]])
+// CHECK: define{{.*}} void @_Z23testReturnHasNonTrivialv(%[[STRUCT_NONTRIVIAL:.*]]* noalias sret(%[[STRUCT_NONTRIVIAL]]) align 4 %[[AGG_RESULT:.*]])
 // CHECK: %[[CALL:.*]] = call %[[STRUCT_NONTRIVIAL]]* @_ZN10NonTrivialC1Ev(%[[STRUCT_NONTRIVIAL]]* {{[^,]*}} %[[AGG_RESULT]])
 // CHECK: ret void
 // CHECK: }
@@ -221,7 +221,7 @@ NonTrivial testReturnHasNonTrivial() {
   return t;
 }
 
-// CHECK: define void @_Z18testExceptionSmallv()
+// CHECK: define{{.*}} void @_Z18testExceptionSmallv()
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_SMALL]], align 8
 // CHECK: %[[AGG_TMP1:.*]] = alloca %[[STRUCT_SMALL]], align 8
 // CHECK: call %[[STRUCT_SMALL]]* @_ZN5SmallC1Ev(%[[STRUCT_SMALL]]* {{[^,]*}} %[[AGG_TMP]])
@@ -242,7 +242,7 @@ void testExceptionSmall() {
   calleeExceptionSmall(Small(), Small());
 }
 
-// CHECK: define void @_Z18testExceptionLargev()
+// CHECK: define{{.*}} void @_Z18testExceptionLargev()
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_LARGE]], align 8
 // CHECK: %[[AGG_TMP1:.*]] = alloca %[[STRUCT_LARGE]], align 8
 // CHECK: call %[[STRUCT_LARGE]]* @_ZN5LargeC1Ev(%[[STRUCT_LARGE]]* {{[^,]*}} %[[AGG_TMP]])

diff  --git a/clang/test/CodeGenCXX/typeid-cxx11.cpp b/clang/test/CodeGenCXX/typeid-cxx11.cpp
index 5c10ca5b21a5..e19cfc1332ee 100644
--- a/clang/test/CodeGenCXX/typeid-cxx11.cpp
+++ b/clang/test/CodeGenCXX/typeid-cxx11.cpp
@@ -18,15 +18,15 @@ struct A { virtual ~A(); };
 struct B : virtual A {};
 struct C { int n; };
 
-// CHECK: @_ZN5Test15itemsE = constant [4 x {{.*}}] [{{.*}} @_ZTIN5Test11AE {{.*}}, {{.*}}, {{.*}} @_ZN5Test19make_implINS_1AEEEPvv }, {{.*}} @_ZTIN5Test11BE {{.*}} @_ZN5Test19make_implINS_1BEEEPvv {{.*}} @_ZTIN5Test11CE {{.*}} @_ZN5Test19make_implINS_1CEEEPvv {{.*}} @_ZTIi {{.*}} @_ZN5Test19make_implIiEEPvv }]
+// CHECK: @_ZN5Test15itemsE ={{.*}} constant [4 x {{.*}}] [{{.*}} @_ZTIN5Test11AE {{.*}}, {{.*}}, {{.*}} @_ZN5Test19make_implINS_1AEEEPvv }, {{.*}} @_ZTIN5Test11BE {{.*}} @_ZN5Test19make_implINS_1BEEEPvv {{.*}} @_ZTIN5Test11CE {{.*}} @_ZN5Test19make_implINS_1CEEEPvv {{.*}} @_ZTIi {{.*}} @_ZN5Test19make_implIiEEPvv }]
 extern constexpr Item items[] = {
   item<A>("A"), item<B>("B"), item<C>("C"), item<int>("int")
 };
 
-// CHECK: @_ZN5Test11xE = constant %"class.std::type_info"* bitcast ({{.*}}* @_ZTIN5Test11AE to %"class.std::type_info"*), align 8
+// CHECK: @_ZN5Test11xE ={{.*}} constant %"class.std::type_info"* bitcast ({{.*}}* @_ZTIN5Test11AE to %"class.std::type_info"*), align 8
 constexpr auto &x = items[0].ti;
 
-// CHECK: @_ZN5Test11yE = constant %"class.std::type_info"* bitcast ({{.*}}* @_ZTIN5Test11BE to %"class.std::type_info"*), align 8
+// CHECK: @_ZN5Test11yE ={{.*}} constant %"class.std::type_info"* bitcast ({{.*}}* @_ZTIN5Test11BE to %"class.std::type_info"*), align 8
 constexpr auto &y = typeid(B{});
 
 }

diff  --git a/clang/test/CodeGenCXX/typeid.cpp b/clang/test/CodeGenCXX/typeid.cpp
index 364f058c5b70..1c800bf1fe90 100644
--- a/clang/test/CodeGenCXX/typeid.cpp
+++ b/clang/test/CodeGenCXX/typeid.cpp
@@ -6,31 +6,31 @@ namespace Test1 {
 // PR7400
 struct A { virtual void f(); };
 
-// CHECK: @_ZN5Test16int_tiE = constant %"class.std::type_info"* bitcast (i8** @_ZTIi to %"class.std::type_info"*), align 8
+// CHECK: @_ZN5Test16int_tiE ={{.*}} constant %"class.std::type_info"* bitcast (i8** @_ZTIi to %"class.std::type_info"*), align 8
 const std::type_info &int_ti = typeid(int);
 
-// CHECK: @_ZN5Test14A_tiE = constant %"class.std::type_info"* bitcast (i8** @_ZTIN5Test11AE to %"class.std::type_info"*), align 8
+// CHECK: @_ZN5Test14A_tiE ={{.*}} constant %"class.std::type_info"* bitcast (i8** @_ZTIN5Test11AE to %"class.std::type_info"*), align 8
 const std::type_info &A_ti = typeid(const volatile A &);
 
 volatile char c;
 
-// CHECK: @_ZN5Test14c_tiE = constant %"class.std::type_info"* bitcast (i8** @_ZTIc to %"class.std::type_info"*), align 8
+// CHECK: @_ZN5Test14c_tiE ={{.*}} constant %"class.std::type_info"* bitcast (i8** @_ZTIc to %"class.std::type_info"*), align 8
 const std::type_info &c_ti = typeid(c);
 
 extern const double &d;
 
-// CHECK: @_ZN5Test14d_tiE = constant %"class.std::type_info"* bitcast (i8** @_ZTId to %"class.std::type_info"*), align 8
+// CHECK: @_ZN5Test14d_tiE ={{.*}} constant %"class.std::type_info"* bitcast (i8** @_ZTId to %"class.std::type_info"*), align 8
 const std::type_info &d_ti = typeid(d);
 
 extern A &a;
 
-// CHECK: @_ZN5Test14a_tiE = global
+// CHECK: @_ZN5Test14a_tiE ={{.*}} global
 const std::type_info &a_ti = typeid(a);
 
-// CHECK: @_ZN5Test18A10_c_tiE = constant %"class.std::type_info"* bitcast ({ i8*, i8* }* @_ZTIA10_c to %"class.std::type_info"*), align 8
+// CHECK: @_ZN5Test18A10_c_tiE ={{.*}} constant %"class.std::type_info"* bitcast ({ i8*, i8* }* @_ZTIA10_c to %"class.std::type_info"*), align 8
 const std::type_info &A10_c_ti = typeid(char const[10]);
 
-// CHECK-LABEL: define i8* @_ZN5Test11fEv
+// CHECK-LABEL: define{{.*}} i8* @_ZN5Test11fEv
 // CHECK-SAME:  personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
 const char *f() {
   try {

diff  --git a/clang/test/CodeGenCXX/ubsan-bitfields.cpp b/clang/test/CodeGenCXX/ubsan-bitfields.cpp
index 5595db013db0..8fdbdc1ace1b 100644
--- a/clang/test/CodeGenCXX/ubsan-bitfields.cpp
+++ b/clang/test/CodeGenCXX/ubsan-bitfields.cpp
@@ -10,7 +10,7 @@ struct S {
   E e1 : 10;
 };
 
-// CHECK-LABEL: define i32 @_Z4loadP1S
+// CHECK-LABEL: define{{.*}} i32 @_Z4loadP1S
 E load(S *s) {
   // CHECK: [[LOAD:%.*]] = load i16, i16* {{.*}}
   // CHECK: [[CLEAR:%.*]] = and i16 [[LOAD]], 1023
@@ -26,7 +26,7 @@ struct Bool {
   bool b3 : 16;
 };
 
-// CHECK-LABEL: define zeroext i1 @_Z13load_cpp_boolP4Bool
+// CHECK-LABEL: define{{.*}} zeroext i1 @_Z13load_cpp_boolP4Bool
 bool load_cpp_bool(Bool *b) {
   // CHECK-NOT: call void @__ubsan_handle_load_invalid_value
   // CHECK-NOT: !nosanitize

diff  --git a/clang/test/CodeGenCXX/ubsan-global-alignment.cpp b/clang/test/CodeGenCXX/ubsan-global-alignment.cpp
index 67fcfd469a96..2e4dd77ed566 100644
--- a/clang/test/CodeGenCXX/ubsan-global-alignment.cpp
+++ b/clang/test/CodeGenCXX/ubsan-global-alignment.cpp
@@ -7,7 +7,7 @@ struct S {
 extern S g_S;
 extern S array_S[];
 
-// CHECK-LABEL: define i32 @_Z18load_extern_global
+// CHECK-LABEL: define{{.*}} i32 @_Z18load_extern_global
 int load_extern_global() {
   // FIXME: The IR builder constant-folds the alignment check away to 'true'
   // here, so we never call the diagnostic. This is PR32630.
@@ -17,7 +17,7 @@ int load_extern_global() {
   return g_S.I;
 }
 
-// CHECK-LABEL: define i32 @_Z22load_from_extern_array
+// CHECK-LABEL: define{{.*}} i32 @_Z22load_from_extern_array
 int load_from_extern_array(int I) {
   // CHECK: [[I:%.*]] = getelementptr inbounds %struct.S, %struct.S* {{.*}}, i32 0, i32 0
   // CHECK-NEXT: [[PTRTOINT:%.*]] = ptrtoint i32* [[I]] to i64, !nosanitize

diff  --git a/clang/test/CodeGenCXX/ubsan-nullability-assign.cpp b/clang/test/CodeGenCXX/ubsan-nullability-assign.cpp
index 3f85c88d6e76..1c2275ae52dd 100644
--- a/clang/test/CodeGenCXX/ubsan-nullability-assign.cpp
+++ b/clang/test/CodeGenCXX/ubsan-nullability-assign.cpp
@@ -13,7 +13,7 @@ union U1 {
   S2 s2;
 };
 
-// CHECK-LABEL: define void @{{.*}}f1
+// CHECK-LABEL: define{{.*}} void @{{.*}}f1
 void f1(int *p) {
   U1 u;
 

diff  --git a/clang/test/CodeGenCXX/ubsan-suppress-checks.cpp b/clang/test/CodeGenCXX/ubsan-suppress-checks.cpp
index fa7ea29d94f2..1dc39cf58e13 100644
--- a/clang/test/CodeGenCXX/ubsan-suppress-checks.cpp
+++ b/clang/test/CodeGenCXX/ubsan-suppress-checks.cpp
@@ -2,7 +2,7 @@
 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s -fsanitize=null | FileCheck %s --check-prefixes=CHECK,NULL
 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s -fsanitize=alignment,null -DCHECK_LAMBDA | FileCheck %s --check-prefixes=LAMBDA
 
-// CHECK-LABEL: define void @_Z22load_non_null_pointersv
+// CHECK-LABEL: define{{.*}} void @_Z22load_non_null_pointersv
 void load_non_null_pointers() {
   int var;
   var = *&var;
@@ -17,7 +17,7 @@ void load_non_null_pointers() {
   // CHECK: ret void
 }
 
-// CHECK-LABEL: define void @_Z31use_us16_aligned_array_elementsv
+// CHECK-LABEL: define{{.*}} void @_Z31use_us16_aligned_array_elementsv
 void use_us16_aligned_array_elements() {
   static const unsigned short Arr[] = {0, 1, 2};
   auto use_array = [](const unsigned short(&X)[3]) -> void {};

diff  --git a/clang/test/CodeGenCXX/ubsan-type-checks.cpp b/clang/test/CodeGenCXX/ubsan-type-checks.cpp
index e53ab2466e73..68539f02ec07 100644
--- a/clang/test/CodeGenCXX/ubsan-type-checks.cpp
+++ b/clang/test/CodeGenCXX/ubsan-type-checks.cpp
@@ -42,7 +42,7 @@ struct Dog : Animal {
   const char *speak() override { return "woof"; }
 };
 
-// VPTR-LABEL: define void @_Z12invalid_castP3Cat
+// VPTR-LABEL: define{{.*}} void @_Z12invalid_castP3Cat
 void invalid_cast(Cat *cat = nullptr) {
   // If -fsanitize=null is available, we'll reuse its check:
   //
@@ -64,7 +64,7 @@ void invalid_cast(Cat *cat = nullptr) {
   badDog->speak();
 }
 
-// VPTR_NO_NULL-LABEL: define void @_Z13invalid_cast2v
+// VPTR_NO_NULL-LABEL: define{{.*}} void @_Z13invalid_cast2v
 void invalid_cast2() {
   // We've got a pointer to an alloca, so there's no run-time null check needed.
   // VPTR_NO_NULL-NOT: call void @__ubsan_handle_type_mismatch

diff  --git a/clang/test/CodeGenCXX/ubsan-unreachable.cpp b/clang/test/CodeGenCXX/ubsan-unreachable.cpp
index 70a487a17738..d936dfdb45d0 100644
--- a/clang/test/CodeGenCXX/ubsan-unreachable.cpp
+++ b/clang/test/CodeGenCXX/ubsan-unreachable.cpp
@@ -2,7 +2,7 @@
 
 void abort() __attribute__((noreturn));
 
-// CHECK-LABEL: define void @_Z14calls_noreturnv()
+// CHECK-LABEL: define{{.*}} void @_Z14calls_noreturnv()
 void calls_noreturn() {
   // Check absence ([^#]*) of call site attributes (including noreturn)
   // CHECK: call void @_Z5abortv(){{[^#]*}}

diff  --git a/clang/test/CodeGenCXX/uncode-string.cpp b/clang/test/CodeGenCXX/uncode-string.cpp
index 1d839992f9c0..58aec75dda2e 100644
--- a/clang/test/CodeGenCXX/uncode-string.cpp
+++ b/clang/test/CodeGenCXX/uncode-string.cpp
@@ -3,4 +3,4 @@
 
 wchar_t s[] = L"\u2722";
 
-// CHECK: @s = global [2 x i32] [i32 10018, i32 0], align 4
+// CHECK: @s ={{.*}} global [2 x i32] [i32 10018, i32 0], align 4

diff  --git a/clang/test/CodeGenCXX/value-init.cpp b/clang/test/CodeGenCXX/value-init.cpp
index 1444aaa01ba8..f9f7d1be7114 100644
--- a/clang/test/CodeGenCXX/value-init.cpp
+++ b/clang/test/CodeGenCXX/value-init.cpp
@@ -75,7 +75,7 @@ namespace ptrmem {
     int S::*mem2;
   };
 
-  // CHECK-LABEL: define i32 @_ZN6ptrmem4testEPNS_1SE
+  // CHECK-LABEL: define{{.*}} i32 @_ZN6ptrmem4testEPNS_1SE
   int test(S *s) {
     // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64
     // CHECK: getelementptr
@@ -100,7 +100,7 @@ struct Test2 {
 
 struct Test3 : public Test { };
 
-// CHECK-LABEL: define void @_ZN6PR98011fEv
+// CHECK-LABEL: define{{.*}} void @_ZN6PR98011fEv
 void f() {
   // CHECK-NOT: call void @llvm.memset.p0i8.i64
   // CHECK: call void @_ZN6PR98014TestC1Ei
@@ -134,7 +134,7 @@ void f() {
 namespace zeroinit {
   struct S { int i; };
 
-  // CHECK-LABEL: define i32 @_ZN8zeroinit4testEv()
+  // CHECK-LABEL: define{{.*}} i32 @_ZN8zeroinit4testEv()
   int test() {
     // CHECK: call void @llvm.memset.p0i8.i64
     // CHECK: ret i32 0
@@ -151,7 +151,7 @@ namespace zeroinit {
     void f();
   };
 
-  // CHECK-LABEL: 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
@@ -172,7 +172,7 @@ namespace zeroinit {
   };
   
 
-  // CHECK-LABEL: define void @_ZN8zeroinit9testX0_X3Ev
+  // CHECK-LABEL: define{{.*}} void @_ZN8zeroinit9testX0_X3Ev
   void testX0_X3() {
     // CHECK-NOT: call void @llvm.memset
     // CHECK: call void @_ZN8zeroinit2X3IiEC1Ev
@@ -204,7 +204,7 @@ namespace test6 {
   void test() {
     A arr[10][20] = { 5 };
   };
-  // CHECK-LABEL:    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]]]], [10 x [20 x [[A]]]]* [[ARR]], i64 0, i64 0
@@ -246,7 +246,7 @@ namespace PR11124 {
   struct B : virtual A { int b; };
   struct C : B { C(); };      
   C::C() : A(3), B() {}
-  // CHECK-LABEL: define void @_ZN7PR111241CC1Ev
+  // CHECK-LABEL: define{{.*}} void @_ZN7PR111241CC1Ev
   // CHECK: call void @llvm.memset.p0i8.i64(i8* align 8 {{.*}}, i8 0, i64 12, i1 false)
   // CHECK-NEXT: call void @_ZN7PR111241BC2Ev
   // Make sure C::C doesn't overwrite parts of A while it is zero-initializing B
@@ -254,13 +254,13 @@ namespace PR11124 {
   struct B2 : virtual A { int B::*b; };
   struct C2 : B2 { C2(); };      
   C2::C2() : A(3), B2() {}
-  // CHECK-LABEL: define void @_ZN7PR111242C2C1Ev
+  // CHECK-LABEL: define{{.*}} void @_ZN7PR111242C2C1Ev
   // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %{{.*}}, i8* align 8 {{.*}}, i64 16, i1 false)
   // CHECK-NEXT: call void @_ZN7PR111242B2C2Ev
 }
 
 // Ensure we produce an i1 here, and don't assert.
-// CHECK-LABEL: 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(); }

diff  --git a/clang/test/CodeGenCXX/varargs.cpp b/clang/test/CodeGenCXX/varargs.cpp
index 1f82d6098269..bb33ee7577d9 100644
--- a/clang/test/CodeGenCXX/varargs.cpp
+++ b/clang/test/CodeGenCXX/varargs.cpp
@@ -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-LABEL: define i32 @_ZN5test05test1Ez(...)
+  // CHECK-LABEL: define{{.*}} i32 @_ZN5test05test1Ez(...)
   int test1(...) {
     return -1;
   }
@@ -30,7 +30,7 @@ namespace test1 {
     A x;
     foo(x);
   }
-  // CHECK-LABEL:    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*

diff  --git a/clang/test/CodeGenCXX/vector-splat-conversion.cpp b/clang/test/CodeGenCXX/vector-splat-conversion.cpp
index 82cec3d9d54a..77dc2e4c53ab 100644
--- a/clang/test/CodeGenCXX/vector-splat-conversion.cpp
+++ b/clang/test/CodeGenCXX/vector-splat-conversion.cpp
@@ -5,7 +5,7 @@ typedef __attribute__((__ext_vector_type__(8))) float vector_float8;
 typedef vector_float8 float8;
 
 // rdar://20000762
-// CHECK-LABEL: define void @_Z23MandelbrotPolyCalcSIMD8v
+// CHECK-LABEL: define{{.*}} void @_Z23MandelbrotPolyCalcSIMD8v
 void MandelbrotPolyCalcSIMD8() {
   constexpr float8 v4 = 4.0;  // value to compare against abs(z)^2, to see if bounded
   float8 vABS;
@@ -21,7 +21,7 @@ typedef __attribute__((__ext_vector_type__(4))) int int4;
 typedef __attribute__((__ext_vector_type__(4))) float float4;
 typedef __attribute__((__ext_vector_type__(4))) __int128 bigint4;
 
-// CHECK-LABEL: define void @_Z14BoolConversionv
+// CHECK-LABEL: define{{.*}} void @_Z14BoolConversionv
 void BoolConversion() {
   // CHECK: store <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>
   int4 intsT = (int4)true;

diff  --git a/clang/test/CodeGenCXX/virtual-bases.cpp b/clang/test/CodeGenCXX/virtual-bases.cpp
index 7a86b9f282df..77fbf1465fea 100644
--- a/clang/test/CodeGenCXX/virtual-bases.cpp
+++ b/clang/test/CodeGenCXX/virtual-bases.cpp
@@ -4,24 +4,24 @@ struct A {
   A();
 };
 
-// CHECK: @_ZN1AC1Ev = unnamed_addr alias {{.*}} @_ZN1AC2Ev
-// CHECK-LABEL: define void @_ZN1AC2Ev(%struct.A* {{[^,]*}} %this) unnamed_addr
+// CHECK: @_ZN1AC1Ev ={{.*}} unnamed_addr alias {{.*}} @_ZN1AC2Ev
+// CHECK-LABEL: define{{.*}} void @_ZN1AC2Ev(%struct.A* {{[^,]*}} %this) unnamed_addr
 A::A() { }
 
 struct B : virtual A { 
   B();
 };
 
-// CHECK-LABEL: 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
+// CHECK-LABEL: define{{.*}} void @_ZN1BC1Ev(%struct.B* {{[^,]*}} %this) unnamed_addr
 B::B() { }
 
 struct C : virtual A {
   C(bool);
 };
 
-// CHECK-LABEL: define void @_ZN1CC2Eb(%struct.C* {{[^,]*}} %this, i8** %vtt, i1 zeroext %0) unnamed_addr
-// CHECK-LABEL: define void @_ZN1CC1Eb(%struct.C* {{[^,]*}} %this, i1 zeroext %0) unnamed_addr
+// CHECK-LABEL: define{{.*}} void @_ZN1CC2Eb(%struct.C* {{[^,]*}} %this, i8** %vtt, i1 zeroext %0) unnamed_addr
+// CHECK-LABEL: define{{.*}} void @_ZN1CC1Eb(%struct.C* {{[^,]*}} %this, i1 zeroext %0) unnamed_addr
 C::C(bool) { }
 
 // PR6251
@@ -39,7 +39,7 @@ struct D : B, C  {
   D();
 };
 
-// CHECK-LABEL: 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

diff  --git a/clang/test/CodeGenCXX/virtual-destructor-calls.cpp b/clang/test/CodeGenCXX/virtual-destructor-calls.cpp
index 615052d5ea09..efb4a14aa299 100644
--- a/clang/test/CodeGenCXX/virtual-destructor-calls.cpp
+++ b/clang/test/CodeGenCXX/virtual-destructor-calls.cpp
@@ -14,19 +14,19 @@ struct B : A {
 };
 
 // Complete dtor: just an alias because there are no virtual bases.
-// CHECK: @_ZN1BD1Ev = unnamed_addr alias {{.*}} @_ZN1BD2Ev
+// CHECK: @_ZN1BD1Ev ={{.*}} unnamed_addr alias {{.*}} @_ZN1BD2Ev
 
 // (aliases from C)
-// CHECK: @_ZN1CD2Ev = unnamed_addr alias {{.*}}, bitcast {{.*}} @_ZN1BD2Ev
-// CHECK: @_ZN1CD1Ev = unnamed_addr alias {{.*}} @_ZN1CD2Ev
+// CHECK: @_ZN1CD2Ev ={{.*}} unnamed_addr alias {{.*}}, bitcast {{.*}} @_ZN1BD2Ev
+// CHECK: @_ZN1CD1Ev ={{.*}} unnamed_addr alias {{.*}} @_ZN1CD2Ev
 
 // Base dtor: actually calls A's base dtor.
-// CHECK-LABEL: 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
 
 // Deleting dtor: defers to the complete dtor.
-// CHECK-LABEL: 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
 
@@ -41,7 +41,7 @@ C::~C() { }
 // Complete dtor: just an alias (checked above).
 
 // Deleting dtor: defers to the complete dtor.
-// CHECK-LABEL: 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
 

diff  --git a/clang/test/CodeGenCXX/virtual-functions-incomplete-types.cpp b/clang/test/CodeGenCXX/virtual-functions-incomplete-types.cpp
index 3da5eb23f0fd..a243c9e5edcf 100644
--- a/clang/test/CodeGenCXX/virtual-functions-incomplete-types.cpp
+++ b/clang/test/CodeGenCXX/virtual-functions-incomplete-types.cpp
@@ -9,7 +9,7 @@ struct B {
 
 void B::f() { }
 
-// CHECK-LABEL: define i32 @_ZN1D1gEv(%struct.D* {{[^,]*}} %this)
+// CHECK-LABEL: define{{.*}} i32 @_ZN1D1gEv(%struct.D* {{[^,]*}} %this)
 // CHECK: declare void @_ZN1B1gEv()
 
 struct C;

diff  --git a/clang/test/CodeGenCXX/visibility-ms-compat.cpp b/clang/test/CodeGenCXX/visibility-ms-compat.cpp
index 963b2a4e6d69..1d9cac753ffa 100644
--- a/clang/test/CodeGenCXX/visibility-ms-compat.cpp
+++ b/clang/test/CodeGenCXX/visibility-ms-compat.cpp
@@ -54,7 +54,7 @@ namespace test2 {
   };
 
   void A::foo() { bar(); }
-  // CHECK-LABEL: define void @_ZN5test21A3fooEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN5test21A3fooEv()
   // CHECK: declare void @_ZN5test21A3barEv()
 
   const std::type_info &ti = typeid(A);

diff  --git a/clang/test/CodeGenCXX/visibility-pr36810.cpp b/clang/test/CodeGenCXX/visibility-pr36810.cpp
index 5df1df685136..3d59fcf7513e 100644
--- a/clang/test/CodeGenCXX/visibility-pr36810.cpp
+++ b/clang/test/CodeGenCXX/visibility-pr36810.cpp
@@ -17,7 +17,7 @@ class __attribute__((visibility("default"))) i {
   std::shared_ptr<int> foo() const;
 };
 
-// CHECK: define void @_ZNK1iISt10shared_ptrI3BarEE3fooEv
+// CHECK: define{{.*}} void @_ZNK1iISt10shared_ptrI3BarEE3fooEv
 template <> std::shared_ptr<int> i<>::foo() const {
   return std::shared_ptr<int>();
 }

diff  --git a/clang/test/CodeGenCXX/vla.cpp b/clang/test/CodeGenCXX/vla.cpp
index 81ff62d2cbf8..858fd40d1edb 100644
--- a/clang/test/CodeGenCXX/vla.cpp
+++ b/clang/test/CodeGenCXX/vla.cpp
@@ -17,7 +17,7 @@ int f() {
 
 // rdar://problem/9506377
 void test0(void *array, int n) {
-  // CHECK-LABEL: define void @_Z5test0Pvi(
+  // CHECK-LABEL: define{{.*}} void @_Z5test0Pvi(
   // X64:        [[ARRAY:%.*]] = alloca i8*, align 8
   // AMDGCN:        [[ARRAY0:%.*]] = alloca i8*, align 8, addrspace(5)
   // AMDGCN-NEXT:   [[ARRAY:%.*]] = addrspacecast i8* addrspace(5)* [[ARRAY0]] to i8**
@@ -66,7 +66,7 @@ void test0(void *array, int n) {
 
 
 void test2(int b) {
-  // CHECK-LABEL: define void {{.*}}test2{{.*}}(i32 %b)
+  // CHECK-LABEL: define{{.*}} void {{.*}}test2{{.*}}(i32 %b)
   int varr[b];
   // AMDGCN: %__end1 = alloca i32*, align 8, addrspace(5)
   // AMDGCN: [[END:%.*]] = addrspacecast i32* addrspace(5)* %__end1 to i32**
@@ -92,7 +92,7 @@ void test2(int b) {
 }
 
 void test3(int b, int c) {
-  // CHECK-LABEL: define void {{.*}}test3{{.*}}(i32 %b, i32 %c)
+  // CHECK-LABEL: define{{.*}} void {{.*}}test3{{.*}}(i32 %b, i32 %c)
   int varr[b][c];
   // AMDGCN: %__end1 = alloca i32*, align 8, addrspace(5)
   // AMDGCN: [[END:%.*]] = addrspacecast i32* addrspace(5)* %__end1 to i32**

diff  --git a/clang/test/CodeGenCXX/volatile.cpp b/clang/test/CodeGenCXX/volatile.cpp
index 8e2ddf9ed56c..b20fffbeaf9d 100644
--- a/clang/test/CodeGenCXX/volatile.cpp
+++ b/clang/test/CodeGenCXX/volatile.cpp
@@ -12,7 +12,7 @@ namespace test0 {
 
   volatile A *array;
 
-  // CHECK-LABEL: define void @_ZN5test04testENS_1AE(
+  // CHECK-LABEL: define{{.*}} void @_ZN5test04testENS_1AE(
   void test(A t) {
     // CHECK:      [[ARR:%.*]] = load [[A:%.*]]*, [[A:%.*]]** @_ZN5test05arrayE, align 8
     // CHECK-NEXT: [[IDX:%.*]] = getelementptr inbounds [[A]], [[A]]* [[ARR]], i64 0
@@ -25,7 +25,7 @@ namespace test0 {
 namespace test1 {
   volatile int *x;
 
-  // CHECK-LABEL: define void @_ZN5test14testEv()
+  // CHECK-LABEL: define{{.*}} void @_ZN5test14testEv()
   void test() {
     // CHECK:      [[TMP:%.*]] = load i32*, i32** @_ZN5test11xE, align 8
     // CHECK11-NEXT: {{%.*}} = load volatile i32, i32* [[TMP]], align 4

diff  --git a/clang/test/CodeGenCXX/vtable-align.cpp b/clang/test/CodeGenCXX/vtable-align.cpp
index bd0494fe5dd5..8f6048f83315 100644
--- a/clang/test/CodeGenCXX/vtable-align.cpp
+++ b/clang/test/CodeGenCXX/vtable-align.cpp
@@ -9,9 +9,9 @@ struct A {
 
 void A::f() {}
 
-// CHECK-32: @_ZTV1A = unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTI1A to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1fEv to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1gEv to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1hEv to i8*)] }, align 4
-// CHECK-32: @_ZTS1A = constant [3 x i8] c"1A\00", align 1
-// CHECK-32: @_ZTI1A = constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @_ZTS1A, i32 0, i32 0) }, align 4
-// CHECK-64: @_ZTV1A = unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTI1A to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1fEv to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1gEv to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1hEv to i8*)] }, align 8
-// CHECK-64: @_ZTS1A = constant [3 x i8] c"1A\00", align 1
-// CHECK-64: @_ZTI1A = constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @_ZTS1A, i32 0, i32 0) }, align 8
+// CHECK-32: @_ZTV1A ={{.*}} unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTI1A to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1fEv to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1gEv to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1hEv to i8*)] }, align 4
+// CHECK-32: @_ZTS1A ={{.*}} constant [3 x i8] c"1A\00", align 1
+// CHECK-32: @_ZTI1A ={{.*}} constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @_ZTS1A, i32 0, i32 0) }, align 4
+// CHECK-64: @_ZTV1A ={{.*}} unnamed_addr constant { [5 x i8*] } { [5 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTI1A to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1fEv to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1gEv to i8*), i8* bitcast (void (%struct.A*)* @_ZN1A1hEv to i8*)] }, align 8
+// CHECK-64: @_ZTS1A ={{.*}} constant [3 x i8] c"1A\00", align 1
+// CHECK-64: @_ZTI1A ={{.*}} constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8*, i8** @_ZTVN10__cxxabiv117__class_type_infoE, i64 2) to i8*), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @_ZTS1A, i32 0, i32 0) }, align 8

diff  --git a/clang/test/CodeGenCXX/vtable-assume-load.cpp b/clang/test/CodeGenCXX/vtable-assume-load.cpp
index ec23babd0d78..2d7aeebf9f33 100644
--- a/clang/test/CodeGenCXX/vtable-assume-load.cpp
+++ b/clang/test/CodeGenCXX/vtable-assume-load.cpp
@@ -24,7 +24,7 @@ struct B : A {
 
 void g(A *a) { a->foo(); }
 
-// CHECK1-LABEL: define void @_ZN5test14fooAEv()
+// CHECK1-LABEL: define{{.*}} void @_ZN5test14fooAEv()
 // CHECK1: call void @_ZN5test11AC1Ev(%"struct.test1::A"*
 // CHECK1: %[[VTABLE:.*]] = load i8**, i8*** %{{.*}}
 // CHECK1: %[[CMP:.*]] = icmp eq i8** %[[VTABLE]], getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5test11AE, i32 0, inrange i32 0, i32 2)
@@ -36,7 +36,7 @@ void fooA() {
   g(&a);
 }
 
-// CHECK1-LABEL: define void @_ZN5test14fooBEv()
+// CHECK1-LABEL: define{{.*}} void @_ZN5test14fooBEv()
 // CHECK1: call void @_ZN5test11BC1Ev(%"struct.test1::B"* {{[^,]*}} %{{.*}})
 // CHECK1: %[[VTABLE:.*]] = load i8**, i8*** %{{.*}}
 // CHECK1: %[[CMP:.*]] = icmp eq i8** %[[VTABLE]], getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTVN5test11BE, i32 0, inrange i32 0, i32 2)
@@ -70,7 +70,7 @@ struct C : A, B {
 void g(A *a) { a->foo(); }
 void h(B *b) { b->bar(); }
 
-// CHECK2-LABEL: define void @_ZN5test24testEv()
+// CHECK2-LABEL: define{{.*}} void @_ZN5test24testEv()
 // CHECK2: call void @_ZN5test21CC1Ev(%"struct.test2::C"*
 // CHECK2: %[[VTABLE:.*]] = load i8**, i8*** {{.*}}
 // CHECK2: %[[CMP:.*]] = icmp eq i8** %[[VTABLE]], getelementptr inbounds ({ [3 x i8*], [3 x i8*] }, { [3 x i8*], [3 x i8*] }* @_ZTVN5test21CE, i32 0, inrange i32 0, i32 2)
@@ -109,7 +109,7 @@ struct C : virtual A, B {
 };
 void g(B *a) { a->foo(); }
 
-// CHECK3-LABEL: define void @_ZN5test34testEv()
+// CHECK3-LABEL: define{{.*}} void @_ZN5test34testEv()
 // CHECK3: call void @_ZN5test31CC1Ev(%"struct.test3::C"*
 // CHECK3: %[[CMP:.*]] = icmp eq i8** %{{.*}}, getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVN5test31CE, i32 0, inrange i32 0, i32 3)
 // CHECK3: call void @llvm.assume(i1 %[[CMP]])
@@ -137,7 +137,7 @@ struct C : B {
 
 void g(C *c) { c->foo(); }
 
-// CHECK4-LABEL: define void @_ZN5test44testEv()
+// CHECK4-LABEL: define{{.*}} void @_ZN5test44testEv()
 // CHECK4: call void @_ZN5test41CC1Ev(%"struct.test4::C"*
 // CHECK4: %[[VTABLE:.*]] = load i8**, i8*** %{{.*}}
 // CHECK4: %[[CMP:.*]] = icmp eq i8** %[[VTABLE]], getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVN5test41CE, i32 0, inrange i32 0, i32 4)
@@ -186,7 +186,7 @@ struct B : A {
 };
 // FIXME: Because A's vtable is external, and no virtual functions are hidden,
 // it's safe to generate assumption loads.
-// CHECK6-LABEL: define void @_ZN5test61gEv()
+// CHECK6-LABEL: define{{.*}} void @_ZN5test61gEv()
 // CHECK6: call void @_ZN5test61AC1Ev(
 // CHECK6-NOT: call void @llvm.assume(
 
@@ -205,7 +205,7 @@ void g() {
 
 namespace test7 {
 // Because A's key function is defined here, vtable is generated in this TU
-// CHECK7: @_ZTVN5test71AE = unnamed_addr constant
+// CHECK7: @_ZTVN5test71AE ={{.*}} unnamed_addr constant
 struct A {
   A();
   virtual void foo();
@@ -213,7 +213,7 @@ struct A {
 };
 void A::foo() {}
 
-// CHECK7-LABEL: define void @_ZN5test71gEv()
+// CHECK7-LABEL: define{{.*}} void @_ZN5test71gEv()
 // CHECK7: call void @_ZN5test71AC1Ev(
 // CHECK7: call void @llvm.assume(
 // CHECK7-LABEL: {{^}}}
@@ -257,7 +257,7 @@ struct E : A {
   E();
 };
 
-// CHECK8-LABEL: define void @_ZN5test81bEv()
+// CHECK8-LABEL: define{{.*}} void @_ZN5test81bEv()
 // CHECK8: call void @llvm.assume(
 // CHECK8-LABEL: {{^}}}
 void b() {
@@ -268,7 +268,7 @@ void b() {
 // FIXME: C has inline virtual functions which prohibits as from generating
 // assumption loads, but because vtable is generated in this TU (key function
 // defined here) it would be correct to refer to it.
-// CHECK8-LABEL: define void @_ZN5test81cEv()
+// CHECK8-LABEL: define{{.*}} void @_ZN5test81cEv()
 // CHECK8-NOT: call void @llvm.assume(
 // CHECK8-LABEL: {{^}}}
 void c() {
@@ -277,7 +277,7 @@ void c() {
 }
 
 // FIXME: We could generate assumption loads here.
-// CHECK8-LABEL: define void @_ZN5test81dEv()
+// CHECK8-LABEL: define{{.*}} void @_ZN5test81dEv()
 // CHECK8-NOT: call void @llvm.assume(
 // CHECK8-LABEL: {{^}}}
 void d() {
@@ -285,7 +285,7 @@ void d() {
   d.bar();
 }
 
-// CHECK8-LABEL: define void @_ZN5test81eEv()
+// CHECK8-LABEL: define{{.*}} void @_ZN5test81eEv()
 // CHECK8: call void @llvm.assume(
 // CHECK8-LABEL: {{^}}}
 void e() {
@@ -301,7 +301,7 @@ struct S {
   __attribute__((visibility("hidden"))) virtual void doStuff();
 };
 
-// CHECK9-LABEL: define void @_ZN5test94testEv()
+// CHECK9-LABEL: define{{.*}} void @_ZN5test94testEv()
 // CHECK9-NOT: @llvm.assume(
 // CHECK9: }
 void test() {

diff  --git a/clang/test/CodeGenCXX/vtable-available-externally.cpp b/clang/test/CodeGenCXX/vtable-available-externally.cpp
index 24c2eac23bec..7ef7b1c1713e 100644
--- a/clang/test/CodeGenCXX/vtable-available-externally.cpp
+++ b/clang/test/CodeGenCXX/vtable-available-externally.cpp
@@ -35,7 +35,7 @@ void f(A* a) {
   a->f();
 };
 
-// CHECK-LABEL: define void @_ZN5Test11gEv
+// CHECK-LABEL: define{{.*}} void @_ZN5Test11gEv
 // CHECK: call void @_ZN5Test11A1fEv
 void g() {
   A a;
@@ -49,9 +49,9 @@ void g() {
 // This tests mainly that the typeinfo and typename constants have their linkage
 // updated correctly.
 
-// CHECK-TEST2: @_ZTSN5Test21AE = constant
-// CHECK-TEST2: @_ZTIN5Test21AE = constant
-// CHECK-TEST2: @_ZTVN5Test21AE = unnamed_addr constant
+// CHECK-TEST2: @_ZTSN5Test21AE ={{.*}} constant
+// CHECK-TEST2: @_ZTIN5Test21AE ={{.*}} constant
+// CHECK-TEST2: @_ZTVN5Test21AE ={{.*}} unnamed_addr constant
 namespace Test2 {
   struct A {
     virtual void f();
@@ -216,8 +216,8 @@ void g() {
 namespace Test10 {
 
 // because A's key function is defined here, vtable is generated in this TU
-// CHECK-TEST10-DAG: @_ZTVN6Test101AE = unnamed_addr constant
-// CHECK-FORCE-EMIT-DAG: @_ZTVN6Test101AE = unnamed_addr constant
+// CHECK-TEST10-DAG: @_ZTVN6Test101AE ={{.*}} unnamed_addr constant
+// CHECK-FORCE-EMIT-DAG: @_ZTVN6Test101AE ={{.*}} unnamed_addr constant
 struct A {
   virtual void foo();
   virtual void bar();

diff  --git a/clang/test/CodeGenCXX/vtable-pointer-initialization.cpp b/clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
index 6435c533987d..d4a0b8570824 100644
--- a/clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
+++ b/clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
@@ -19,14 +19,14 @@ struct A : Base {
   Field field;
 };
 
-// CHECK-LABEL: define void @_ZN1AC2Ev(%struct.A* {{[^,]*}} %this) unnamed_addr
+// CHECK-LABEL: define{{.*}} void @_ZN1AC2Ev(%struct.A* {{[^,]*}} %this) unnamed_addr
 // CHECK: call void @_ZN4BaseC2Ev(
 // CHECK: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTV1A, i32 0, inrange i32 0, i32 2) to i32 (...)**)
 // CHECK: call void @_ZN5FieldC1Ev(
 // CHECK: ret void
 A::A() { }
 
-// CHECK-LABEL: define void @_ZN1AD2Ev(%struct.A* {{[^,]*}} %this) unnamed_addr
+// CHECK-LABEL: define{{.*}} void @_ZN1AD2Ev(%struct.A* {{[^,]*}} %this) unnamed_addr
 // CHECK: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @_ZTV1A, i32 0, inrange i32 0, i32 2) to i32 (...)**)
 // CHECK: call void @_ZN5FieldD1Ev(
 // CHECK: call void @_ZN4BaseD2Ev(

diff  --git a/clang/test/CodeGenCXX/vtt-layout.cpp b/clang/test/CodeGenCXX/vtt-layout.cpp
index a5f7802577c8..06e09aaa06ce 100644
--- a/clang/test/CodeGenCXX/vtt-layout.cpp
+++ b/clang/test/CodeGenCXX/vtt-layout.cpp
@@ -78,9 +78,9 @@ namespace Test6 {
   }
 }
 
-// CHECK: @_ZTTN5Test11BE = unnamed_addr constant [1 x i8*] [i8* bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVN5Test11BE, i32 0, inrange i32 0, i32 3) to i8*)]
-// CHECK: @_ZTVN5Test51AE = unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5Test51AE to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*), i8* bitcast (void (%"struct.Test5::A"*)* @_ZN5Test51A6anchorEv to i8*)] }
-// CHECK: @_ZTVN5Test61AE = unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5Test61AE to i8*), i8* bitcast (void ()* @__cxa_deleted_virtual to i8*), i8* bitcast (void (%"struct.Test6::A"*)* @_ZN5Test61A6anchorEv to i8*)] }
+// CHECK: @_ZTTN5Test11BE ={{.*}} unnamed_addr constant [1 x i8*] [i8* bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTVN5Test11BE, i32 0, inrange i32 0, i32 3) to i8*)]
+// CHECK: @_ZTVN5Test51AE ={{.*}} unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5Test51AE to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*), i8* bitcast (void (%"struct.Test5::A"*)* @_ZN5Test51A6anchorEv to i8*)] }
+// CHECK: @_ZTVN5Test61AE ={{.*}} unnamed_addr constant { [4 x i8*] } { [4 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5Test61AE to i8*), i8* bitcast (void ()* @__cxa_deleted_virtual to i8*), i8* bitcast (void (%"struct.Test6::A"*)* @_ZN5Test61A6anchorEv to i8*)] }
 // CHECK: @_ZTTN5Test21CE = linkonce_odr unnamed_addr constant [2 x i8*] [i8* bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVN5Test21CE, i32 0, inrange i32 0, i32 4) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [5 x i8*] }, { [5 x i8*] }* @_ZTVN5Test21CE, i32 0, inrange i32 0, i32 4) to i8*)]
 // CHECK: @_ZTTN5Test31DE = linkonce_odr unnamed_addr constant [13 x i8*] [i8* bitcast (i8** getelementptr inbounds ({ [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }, { [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }* @_ZTVN5Test31DE, i32 0, inrange i32 0, i32 5) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [3 x i8*], [4 x i8*] }, { [3 x i8*], [4 x i8*] }* @_ZTCN5Test31DE0_NS_2C1E, i32 0, inrange i32 0, i32 3) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [3 x i8*], [4 x i8*] }, { [3 x i8*], [4 x i8*] }* @_ZTCN5Test31DE0_NS_2C1E, i32 0, inrange i32 1, i32 3) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [7 x i8*], [3 x i8*], [4 x i8*] }, { [7 x i8*], [3 x i8*], [4 x i8*] }* @_ZTCN5Test31DE16_NS_2C2E, i32 0, inrange i32 0, i32 6) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [7 x i8*], [3 x i8*], [4 x i8*] }, { [7 x i8*], [3 x i8*], [4 x i8*] }* @_ZTCN5Test31DE16_NS_2C2E, i32 0, inrange i32 0, i32 6) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [7 x i8*], [3 x i8*], [4 x i8*] }, { [7 x i8*], [3 x i8*], [4 x i8*] }* @_ZTCN5Test31DE16_NS_2C2E, i32 0, inrange i32 1, i32 3) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [7 x i8*], [3 x i8*], [4 x i8*] }, { [7 x i8*], [3 x i8*], [4 x i8*] }* @_ZTCN5Test31DE16_NS_2C2E, i32 0, inrange i32 2, i32 3) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }, { [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }* @_ZTVN5Test31DE, i32 0, inrange i32 2, i32 3) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }, { [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }* @_ZTVN5Test31DE, i32 0, inrange i32 1, i32 6) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }, { [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }* @_ZTVN5Test31DE, i32 0, inrange i32 1, i32 6) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }, { [5 x i8*], [7 x i8*], [4 x i8*], [3 x i8*] }* @_ZTVN5Test31DE, i32 0, inrange i32 3, i32 3) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [3 x i8*], [4 x i8*] }, { [3 x i8*], [4 x i8*] }* @_ZTCN5Test31DE64_NS_2V2E, i32 0, inrange i32 0, i32 3) to i8*), i8* bitcast (i8** getelementptr inbounds ({ [3 x i8*], [4 x i8*] }, { [3 x i8*], [4 x i8*] }* @_ZTCN5Test31DE64_NS_2V2E, i32 0, inrange i32 1, i32 3) to i8*)]
 // CHECK: @_ZTVN5Test41DE = linkonce_odr unnamed_addr constant { [6 x i8*], [8 x i8*], [3 x i8*], [4 x i8*], [4 x i8*] } { [6 x i8*] [i8* inttoptr (i64 72 to i8*), i8* inttoptr (i64 16 to i8*), i8* inttoptr (i64 56 to i8*), i8* inttoptr (i64 40 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i64, i8*, i64, i8*, i64 }* @_ZTIN5Test41DE to i8*)], [8 x i8*] [i8* inttoptr (i64 40 to i8*), i8* inttoptr (i64 24 to i8*), i8* inttoptr (i64 56 to i8*), i8* null, i8* null, i8* inttoptr (i64 -16 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i64, i8*, i64, i8*, i64 }* @_ZTIN5Test41DE to i8*), i8* bitcast (void (%"class.Test4::V3"*)* @_ZN5Test42V31gEv to i8*)], [3 x i8*] [i8* inttoptr (i64 16 to i8*), i8* inttoptr (i64 -40 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i64, i8*, i64, i8*, i64 }* @_ZTIN5Test41DE to i8*)], [4 x i8*] [i8* null, i8* inttoptr (i64 -56 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i64, i8*, i64, i8*, i64 }* @_ZTIN5Test41DE to i8*), i8* bitcast (void (%"class.Test4::A2"*)* @_ZN5Test42A21fEv to i8*)], [4 x i8*] [i8* inttoptr (i64 -16 to i8*), i8* inttoptr (i64 -32 to i8*), i8* inttoptr (i64 -72 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i64, i8*, i64, i8*, i64 }* @_ZTIN5Test41DE to i8*)] }

diff  --git a/clang/test/CodeGenCXX/x86_32-arguments.cpp b/clang/test/CodeGenCXX/x86_32-arguments.cpp
index bd942683d679..9f7abaf1d7ad 100644
--- a/clang/test/CodeGenCXX/x86_32-arguments.cpp
+++ b/clang/test/CodeGenCXX/x86_32-arguments.cpp
@@ -6,9 +6,9 @@ struct S {
   short s;
 };
 
-// CHECK-LABEL: define void @_Z1fv(%struct.S* noalias sret(%struct.S) align 2 %
+// CHECK-LABEL: define{{.*}} void @_Z1fv(%struct.S* noalias sret(%struct.S) align 2 %
 S f() { return S(); }
-// CHECK-LABEL: define void @_Z1f1S(%struct.S* %0)
+// CHECK-LABEL: define{{.*}} void @_Z1f1S(%struct.S* %0)
 void f(S) { }
 
 // Non-trivial dtors, should both be passed indirectly.
@@ -18,10 +18,10 @@ class C {
   double c;
 };
 
-// CHECK-LABEL: define void @_Z1gv(%class.C* noalias sret(%class.C) align 4 %
+// CHECK-LABEL: define{{.*}} void @_Z1gv(%class.C* noalias sret(%class.C) align 4 %
 C g() { return C(); }
 
-// CHECK-LABEL: define void @_Z1f1C(%class.C* %0)
+// CHECK-LABEL: define{{.*}} void @_Z1f1C(%class.C* %0)
 void f(C) { }
 
 
@@ -29,7 +29,7 @@ void f(C) { }
 
 // PR7058 - Missing byval on MI thunk definition.
 
-// CHECK-LABEL: define void @_ZThn4_N18BasicAliasAnalysis13getModRefInfoE8CallSite
+// CHECK-LABEL: define{{.*}} void @_ZThn4_N18BasicAliasAnalysis13getModRefInfoE8CallSite
 // ...
 // CHECK: %struct.CallSite* byval(%struct.CallSite) align 4 %CS)
 struct CallSite {
@@ -57,39 +57,39 @@ void BasicAliasAnalysis::getModRefInfo(CallSite CS) {
 //
 // PR7098.
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: define i32* @_Z2f5v()
+// CHECK-LABEL: define{{.*}} i32* @_Z2f5v()
 struct s5 { s5(); int &x; };
 s5 f5() { return s5(); }
 
-// CHECK-LABEL: define i32 @_Z4f6_0M2s6i(i32 %a)
-// CHECK: define i64 @_Z4f6_1M2s6FivE({ i32, i32 }* byval({ i32, i32 }) align 4 %0)
+// CHECK-LABEL: define{{.*}} i32 @_Z4f6_0M2s6i(i32 %a)
+// CHECK: define{{.*}} i64 @_Z4f6_1M2s6FivE({ i32, i32 }* byval({ i32, i32 }) align 4 %0)
 // FIXME: It would be nice to avoid byval on the previous case.
 struct s6 {};
 typedef int s6::* s6_mdp;
@@ -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-LABEL: 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-LABEL: define void @_Z2f8v(%struct.s8* noalias sret(%struct.s8) align 4 %agg.result)
+// CHECK-LABEL: define{{.*}} void @_Z2f8v(%struct.s8* noalias sret(%struct.s8) align 4 %agg.result)
 struct s8_0 { };
 struct s8_1 { double x; };
 struct s8 { s8_0 a; s8_1 b; };
 s8 f8() { return s8(); }
 
-// CHECK-LABEL: define void @_Z2f9v(%struct.s9* noalias sret(%struct.s9) align 4 %agg.result)
+// CHECK-LABEL: define{{.*}} void @_Z2f9v(%struct.s9* noalias sret(%struct.s9) align 4 %agg.result)
 struct s9_0 { unsigned : 0; };
 struct s9_1 { double x; };
 struct s9 { s9_0 a; s9_1 b; };

diff  --git a/clang/test/CodeGenObjC/2010-02-01-utf16-with-null.m b/clang/test/CodeGenObjC/2010-02-01-utf16-with-null.m
index 097a3ea2b403..da90a5ffa3ca 100644
--- a/clang/test/CodeGenObjC/2010-02-01-utf16-with-null.m
+++ b/clang/test/CodeGenObjC/2010-02-01-utf16-with-null.m
@@ -3,5 +3,5 @@
 
 // CHECK: @.str = private unnamed_addr constant [9 x i16] [i16 103, i16 111, i16 111, i16 100, i16 0, i16 98, i16 121, i16 101, i16 0], section "__TEXT,__ustring", align 2
 // CHECK: @_unnamed_cfstring_ = private global %struct.__NSConstantString_tag { i32* getelementptr inbounds ([0 x i32], [0 x i32]* @__CFConstantStringClassReference, i32 0, i32 0), i32 2000, i8* bitcast ([9 x i16]* @.str to i8*), i32 8 }, section "__DATA,__cfstring"
-// CHECK: @P = global i8* bitcast (%struct.__NSConstantString_tag* @_unnamed_cfstring_ to i8*), align 4
+// CHECK: @P ={{.*}} global i8* bitcast (%struct.__NSConstantString_tag* @_unnamed_cfstring_ to i8*), align 4
 void *P = @"good\0bye";

diff  --git a/clang/test/CodeGenObjC/arc-blocks.m b/clang/test/CodeGenObjC/arc-blocks.m
index 0694155b5f4a..078408bc1d6c 100644
--- a/clang/test/CodeGenObjC/arc-blocks.m
+++ b/clang/test/CodeGenObjC/arc-blocks.m
@@ -13,7 +13,7 @@ void test0(id (^maker)(void)) {
 }
 
 int (^test1(int x))(void) {
-  // CHECK-LABEL:    define i32 ()* @test1(
+  // CHECK-LABEL:    define{{.*}} i32 ()* @test1(
   // CHECK:      [[X:%.*]] = alloca i32,
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK-NEXT: store i32 {{%.*}}, i32* [[X]]
@@ -29,7 +29,7 @@ void test0(id (^maker)(void)) {
 }
 
 void test2(id x) {
-// CHECK-LABEL:    define void @test2(
+// CHECK-LABEL:    define{{.*}} void @test2(
 // CHECK:      [[X:%.*]] = alloca i8*,
 // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
 // CHECK-NEXT: [[PARM:%.*]] = call i8* @llvm.objc.retain(i8* {{%.*}})
@@ -72,7 +72,7 @@ void test3(void (^sink)(id*)) {
   __strong id strong;
   sink(&strong);
 
-  // CHECK-LABEL:    define void @test3(
+  // CHECK-LABEL:    define{{.*}} void @test3(
   // CHECK:      [[SINK:%.*]] = alloca void (i8**)*
   // CHECK-NEXT: [[STRONG:%.*]] = alloca i8*
   // CHECK-NEXT: [[TEMP:%.*]] = alloca i8*
@@ -118,7 +118,7 @@ void test4(void) {
   __block id var = test4_source();
   test4_helper(^{ var = 0; });
 
-  // CHECK-LABEL:    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]], [[BYREF_T]]* [[VAR]], i32 0, i32 2
@@ -174,7 +174,7 @@ void test5(void) {
   __unsafe_unretained id var = test5_source();
   test5_helper(^{ (void) var; });
 
-  // CHECK-LABEL:    define void @test5()
+  // CHECK-LABEL:    define{{.*}} void @test5()
   // CHECK:      [[VAR:%.*]] = alloca i8*
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK-NEXT: [[VARPTR1:%.*]] = bitcast i8** [[VAR]] to i8*
@@ -201,7 +201,7 @@ void test6(void) {
   __block __weak id var = test6_source();
   test6_helper(^{ var = 0; });
 
-  // CHECK-LABEL:    define void @test6()
+  // CHECK-LABEL:    define{{.*}} void @test6()
   // CHECK:      [[VAR:%.*]] = alloca [[BYREF_T:%.*]],
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK-NEXT: [[VARPTR1:%.*]] = bitcast [[BYREF_T]]* [[VAR]] to i8*
@@ -253,7 +253,7 @@ void test7(void) {
   __weak id var = test7_source();
   test7_helper(^{ test7_consume(var); });
 
-  // CHECK-LABEL:    define void @test7()
+  // CHECK-LABEL:    define{{.*}} void @test7()
   // CHECK:      [[VAR:%.*]] = alloca i8*,
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK:      [[T0:%.*]] = call i8* @test7_source()
@@ -317,7 +317,7 @@ id test9(void) {
       return test9_produce();
   }();
 
-// CHECK-LABEL:    define i8* @test9(
+// CHECK-LABEL:    define{{.*}} i8* @test9(
 // CHECK:      load i8*, i8** getelementptr
 // CHECK-NEXT: bitcast i8*
 // CHECK-NEXT: call i8* 
@@ -334,7 +334,7 @@ id test9(void) {
 // when the initialization captures the variable.
 void test10a(void) {
   __block void (^block)(void) = ^{ block(); };
-  // CHECK-LABEL:    define void @test10a()
+  // CHECK-LABEL:    define{{.*}} void @test10a()
   // CHECK:      [[BYREF:%.*]] = alloca [[BYREF_T:%.*]],
   // CHECK:      [[BLOCK1:%.*]] = alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8* }>, align 8
 
@@ -396,7 +396,7 @@ void test10b(void) {
   __block void (^block)(void);
   block = ^{ block(); };
 
-  // CHECK-LABEL:    define void @test10b()
+  // CHECK-LABEL:    define{{.*}} void @test10b()
   // CHECK:      [[BYREF:%.*]] = alloca [[BYREF_T:%.*]],
   // CHECK:      [[BLOCK3:%.*]] = alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8* }>, align 8
 
@@ -431,7 +431,7 @@ void test11a(void) {
   int x;
   test11_helper(^{ (void) x; });
 
-  // CHECK-LABEL:    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 ()*
@@ -448,7 +448,7 @@ void test11b(void) {
   int x;
   id b = ^{ (void) x; };
 
-  // CHECK-LABEL:    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
@@ -491,7 +491,7 @@ void test13(id x) {
   void (^b)(void) = (x ? ^{test13_helper(x);} : 0);
   test13_use(b);
 
-  // CHECK-LABEL:    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
@@ -557,7 +557,7 @@ void test15(int a) {
 void test16() {
   void (^BLKVAR)(void) = ^{ BLKVAR(); };
 
-  // CHECK-LABEL: define void @test16(
+  // CHECK-LABEL: define{{.*}} void @test16(
   // CHECK: [[BLKVAR:%.*]]  = alloca void ()*, align 8
   // CHECK-NEXT:  [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
   // CHECK-NEXT:  [[BLKVARPTR1:%.*]] = bitcast void ()** [[BLKVAR]] to i8*
@@ -578,7 +578,7 @@ void test16() {
   }
   return (void*) 0;
 }
-// CHECK-LABEL:    define i8* ()* @test17(
+// CHECK-LABEL:    define{{.*}} i8* ()* @test17(
 // CHECK:      [[RET:%.*]] = alloca i8* ()*, align
 // CHECK-NEXT: [[SELF:%.*]] = alloca i8*,
 // CHECK:      [[B0:%.*]] = alloca [[BLOCK:<.*>]], align
@@ -617,7 +617,7 @@ void test16() {
 // CHECK-NEXT: br label
 
 void test18(id x) {
-// CHECK-UNOPT-LABEL:    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]]
@@ -644,7 +644,7 @@ void testUnsafeUnretainedLifetimeInCopyAndDestroyHelpers(id x, id y) {
   (^ { testUnsafeUnretainedLifetimeInCopyAndDestroyHelpers(x, unsafeObject); })();
 }
 
-// CHECK-LABEL: define void @testUnsafeUnretainedLifetimeInCopyAndDestroyHelpers
+// CHECK-LABEL: define{{.*}} void @testUnsafeUnretainedLifetimeInCopyAndDestroyHelpers
 // %[[BLOCK_DESCRIPTOR:.*]] = getelementptr inbounds <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8*, i8* }>, <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8*, i8* }>* %{{.*}}, i32 0, i32 4
 // CHECK: store %[[STRUCT_BLOCK_DESCRIPTOR]]* bitcast ({ i64, i64, i8*, i8*, i8*, i8* }* @[[BLOCK_DESCRIPTOR_TMP46]] to %[[STRUCT_BLOCK_DESCRIPTOR]]*), %[[STRUCT_BLOCK_DESCRIPTOR]]** %[[BLOCK_DESCRIPTOR]], align 8
 
@@ -654,7 +654,7 @@ void testUnsafeUnretainedLifetimeInCopyAndDestroyHelpers(id x, id y) {
 // rdar://13588325
 void test19_sink(void (^)(int));
 void test19(void (^b)(void)) {
-// CHECK-LABEL:    define void @test19(
+// CHECK-LABEL:    define{{.*}} void @test19(
 //   Prologue.
 // CHECK:      [[B:%.*]] = alloca void ()*,
 // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
@@ -691,7 +691,7 @@ void test19(void (^b)(void)) {
 // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @test20(
+// CHECK-LABEL: define{{.*}} void @test20(
 // CHECK: [[XADDR:%.*]] = alloca i8*
 // CHECK-NEXT: [[BLOCK:%.*]] = alloca <[[BLOCKTY:.*]]>
 // CHECK-NEXT: [[RETAINEDX:%.*]] = call i8* @llvm.objc.retain(i8* %{{.*}})
@@ -705,7 +705,7 @@ void test19(void (^b)(void)) {
 // CHECK-NEXT: call void @llvm.objc.release(i8* [[X]])
 // CHECK-NEXT: ret void
 
-// CHECK-UNOPT-LABEL: define void @test20(
+// CHECK-UNOPT-LABEL: define{{.*}} void @test20(
 // CHECK-UNOPT: [[XADDR:%.*]] = alloca i8*
 // CHECK-UNOPT-NEXT: [[BLOCK:%.*]] = alloca <[[BLOCKTY:.*]]>
 // CHECK-UNOPT: [[BLOCKCAPTURED:%.*]] = getelementptr inbounds <[[BLOCKTY]]>, <[[BLOCKTY]]>* [[BLOCK]], i32 0, i32 5
@@ -719,7 +719,7 @@ void test20(const id x) {
   test20_callee(^{ (void)x; });
 }
 
-// CHECK-LABEL: define void @test21(
+// CHECK-LABEL: define{{.*}} void @test21(
 // CHECK: %[[V6:.*]] = call i8* @llvm.objc.retainBlock(
 // CHECK: %[[V7:.*]] = bitcast i8* %[[V6]] to void ()*
 // CHECK: call void (i32, ...) @test21_callee(i32 1, void ()* %[[V7]]),
@@ -732,7 +732,7 @@ void test21(id x) {
 // The lifetime of 'x', which is captured by the block in the statement
 // expression, should be extended.
 
-// CHECK-COMMON-LABEL: define i8* @test22(
+// CHECK-COMMON-LABEL: define{{.*}} i8* @test22(
 // CHECK-COMMON: %[[BLOCK_CAPTURED:.*]] = getelementptr inbounds <{ i8*, i32, i32, i8*, %{{.*}}*, i8* }>, <{ i8*, i32, i32, i8*, %{{.*}}*, i8* }>* %{{.*}}, i32 0, i32 5
 // CHECK-COMMON: %[[V3:.*]] = call i8* @llvm.objc.retain(i8* %{{.*}})
 // CHECK-COMMON: store i8* %[[V3]], i8** %[[BLOCK_CAPTURED]], align 8
@@ -751,7 +751,7 @@ @interface Test23
 -(void)m:(int)i, ...;
 @end
 
-// CHECK-COMMON-LABEL: define void @test23(
+// CHECK-COMMON-LABEL: define{{.*}} void @test23(
 // CHECK-COMMON: %[[V9:.*]] = call i8* @llvm.objc.retainBlock(
 // CHECK-COMMON: %[[V10:.*]] = bitcast i8* %[[V9]] to void ()*
 // CHECK-COMMON: call void (i8*, i8*, i32, ...) bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i32, ...)*)(i8* %{{.*}}, i8* %{{.*}}, i32 123, void ()* %[[V10]])

diff  --git a/clang/test/CodeGenObjC/arc-bridged-cast.m b/clang/test/CodeGenObjC/arc-bridged-cast.m
index db018944964e..c8a9d9988f58 100644
--- a/clang/test/CodeGenObjC/arc-bridged-cast.m
+++ b/clang/test/CodeGenObjC/arc-bridged-cast.m
@@ -14,7 +14,7 @@ @interface NSString
 id CreateSomething(void);
 NSString *CreateNSString(void);
 
-// CHECK-LABEL: 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;
@@ -36,7 +36,7 @@ void bridge_transfer_from_cf(int *i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @bridge_from_cf
+// CHECK-LABEL: define{{.*}} void @bridge_from_cf
 void bridge_from_cf(int *i) {
   // CHECK: store i32 7
   *i = 7;
@@ -57,7 +57,7 @@ void bridge_from_cf(int *i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: 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()
@@ -76,7 +76,7 @@ void bridge_retained_of_cf(int *i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @bridge_of_cf
+// CHECK-LABEL: define{{.*}} void @bridge_of_cf
 void bridge_of_cf(int *i) {
   // CHECK: store i32 7
   *i = 7;
@@ -97,7 +97,7 @@ void bridge_of_cf(int *i) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define %struct.__CFString* @bridge_of_paren_expr()
+// CHECK-LABEL: define{{.*}} %struct.__CFString* @bridge_of_paren_expr()
 CFStringRef bridge_of_paren_expr() {
   // CHECK-NOT: call i8* @llvm.objc.retainAutoreleasedReturnValue(
   // CHECK-NOT: call void @llvm.objc.release(

diff  --git a/clang/test/CodeGenObjC/arc-exceptions.m b/clang/test/CodeGenObjC/arc-exceptions.m
index b8fb47057ee1..9ee105aabe10 100644
--- a/clang/test/CodeGenObjC/arc-exceptions.m
+++ b/clang/test/CodeGenObjC/arc-exceptions.m
@@ -11,7 +11,7 @@ void test0(void) {
   } @catch (Ety *e) {
   }
 }
-// CHECK-LABEL: 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-LABEL: 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(

diff  --git a/clang/test/CodeGenObjC/arc-foreach.m b/clang/test/CodeGenObjC/arc-foreach.m
index 41fcc188fde7..a7274b991a89 100644
--- a/clang/test/CodeGenObjC/arc-foreach.m
+++ b/clang/test/CodeGenObjC/arc-foreach.m
@@ -22,14 +22,14 @@ void test0(NSArray *array) {
   }
 }
 
-// CHECK-LP64-LABEL:    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:%.*]],
 // CHECK-LP64-NEXT: [[BUFFER:%.*]] = alloca [16 x i8*], align 8
 // CHECK-LP64-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
 
-// CHECK-LP64-OPT-LABEL: define void @test0
+// CHECK-LP64-OPT-LABEL: define{{.*}} void @test0
 // CHECK-LP64-OPT: [[STATE:%.*]] = alloca [[STATE_T:%.*]], align 8
 // CHECK-LP64-OPT-NEXT: [[BUFFER:%.*]] = alloca [16 x i8*], align 8
 // CHECK-LP64-OPT-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]], align 8
@@ -104,7 +104,7 @@ void test1(NSArray *array) {
   }
 }
 
-// CHECK-LP64-LABEL:    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:%.*]],
@@ -134,7 +134,7 @@ void test2(Test2 *a) {
   }
 }
 
-// CHECK-LP64-LABEL:    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:%.*]] = notail call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* [[T1]])
@@ -166,7 +166,7 @@ void test3(NSArray *array) {
     use(x);
   }
 
-  // CHECK-LP64-LABEL:    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*, i8** [[X]], align 8

diff  --git a/clang/test/CodeGenObjC/arc-i386.m b/clang/test/CodeGenObjC/arc-i386.m
index 66b6ea85017e..0cec44767af6 100644
--- a/clang/test/CodeGenObjC/arc-i386.m
+++ b/clang/test/CodeGenObjC/arc-i386.m
@@ -3,7 +3,7 @@
 
 // <rdar://24531556>: implement objc_retainAutoreleasedReturnValue on i386
 
-// CHECK-LABEL: define i8* @test0()
+// CHECK-LABEL: define{{.*}} i8* @test0()
 id test0(void) {
   extern id test0_helper(void);
   // CHECK:      [[T0:%.*]] = call i8* @test0_helper()
@@ -11,7 +11,7 @@ id test0(void) {
   return test0_helper();
 }
 
-// CHECK-LABEL: define void @test1()
+// CHECK-LABEL: define{{.*}} void @test1()
 void test1(void) {
   extern id test1_helper(void);
   // CHECK:      [[T0:%.*]] = call i8* @test1_helper()
@@ -33,7 +33,7 @@ void test1(void) {
   return test2_helper();
 }
 
-// CHECK-LABEL: define i8* @test3()
+// CHECK-LABEL: define{{.*}} i8* @test3()
 id test3(void) {
   extern A *test3_helper(void);
   // CHECK:      [[T0:%.*]] = call [[A]]* @test3_helper()

diff  --git a/clang/test/CodeGenObjC/arc-literals.m b/clang/test/CodeGenObjC/arc-literals.m
index 2e613401d1ce..a42c4b18f5c8 100644
--- a/clang/test/CodeGenObjC/arc-literals.m
+++ b/clang/test/CodeGenObjC/arc-literals.m
@@ -12,7 +12,7 @@
 // CHECK: c"dictionaryWithObjects:forKeys:count:\00"
 // CHECK: c"prop\00"
 
-// CHECK-LABEL: define void @test_numeric()
+// CHECK-LABEL: define{{.*}} void @test_numeric()
 void test_numeric() {
   // CHECK: {{call.*objc_msgSend.*i32 17}}
   // CHECK: call i8* @llvm.objc.retainAutoreleasedReturnValue
@@ -37,7 +37,7 @@ void test_numeric() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: 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*,
@@ -69,7 +69,7 @@ void test_array(id a, id b) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: 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*,
@@ -123,7 +123,7 @@ @interface B
 @property (retain) A* prop;
 @end
 
-// CHECK-LABEL: define void @test_property
+// CHECK-LABEL: define{{.*}} void @test_property
 void test_property(B *b) {
   // Retain parameter
   // CHECK: call i8* @llvm.objc.retain

diff  --git a/clang/test/CodeGenObjC/arc-loadweakretained-release.m b/clang/test/CodeGenObjC/arc-loadweakretained-release.m
index a35ee0187c67..cbec56bd3142 100644
--- a/clang/test/CodeGenObjC/arc-loadweakretained-release.m
+++ b/clang/test/CodeGenObjC/arc-loadweakretained-release.m
@@ -42,7 +42,7 @@ void test1(int cond) {
   test34_sink(cond ? &weak : 0);
 }
 
-// CHECK-LABEL: define void @test1(
+// CHECK-LABEL: define{{.*}} void @test1(
 // CHECK: [[CONDADDR:%.*]] = alloca i32
 // CHECK-NEXT: [[WEAK:%.*]] = alloca i8*
 // CHECK-NEXT: [[INCRTEMP:%.*]] = alloca i8*

diff  --git a/clang/test/CodeGenObjC/arc-no-arc-exceptions.m b/clang/test/CodeGenObjC/arc-no-arc-exceptions.m
index 31d1dd537635..07b41e8145d7 100644
--- a/clang/test/CodeGenObjC/arc-no-arc-exceptions.m
+++ b/clang/test/CodeGenObjC/arc-no-arc-exceptions.m
@@ -8,10 +8,10 @@
 void thrower(void);
 void not(void) __attribute__((nothrow));
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: define void @test2(
+// CHECK-LABEL: define{{.*}} void @test2(
 // CHECK: invoke void (i8*, ...) @NSLog(i8* bitcast (%struct.__NSConstantString_tag* @_unnamed_cfstring_ to i8*), i32* %{{.*}})
 // CHECK:   to label %{{.*}} unwind label %{{.*}}, !clang.arc.no_objc_arc_exceptions !
-// NO-METADATA-LABEL: define void @test2(
+// NO-METADATA-LABEL: define{{.*}} void @test2(
 // NO-METADATA-NOT: !clang.arc.no_objc_arc_exceptions
 // NO-METADATA: }
 void test2(void) {
@@ -47,10 +47,10 @@ void test2(void) {
     }
 }
 
-// CHECK-LABEL: 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-LABEL: define void @test3(
+// NO-METADATA-LABEL: define{{.*}} void @test3(
 // NO-METADATA-NOT: !clang.arc.no_objc_arc_exceptions
 // NO-METADATA: }
 void test3(void) {
@@ -62,10 +62,10 @@ void test3(void) {
     }
 }
 
-// CHECK-LABEL: 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-LABEL: define void @test4(
+// NO-METADATA-LABEL: define{{.*}} void @test4(
 // NO-METADATA-NOT: !clang.arc.no_objc_arc_exceptions
 // NO-METADATA: }
 void test4(void) {

diff  --git a/clang/test/CodeGenObjC/arc-precise-lifetime.m b/clang/test/CodeGenObjC/arc-precise-lifetime.m
index bbde18ee6ca3..c1bad4bf5621 100644
--- a/clang/test/CodeGenObjC/arc-precise-lifetime.m
+++ b/clang/test/CodeGenObjC/arc-precise-lifetime.m
@@ -35,7 +35,7 @@ - (char*) interior __attribute__((objc_returns_inner_pointer));
 @end
 extern Test1 *test1_helper(void);
 
-// CHECK-LABEL: define void @test1a_message()
+// CHECK-LABEL: define{{.*}} void @test1a_message()
 void test1a_message(void) {
   // CHECK:      [[PTR:%.*]] = alloca [[PTR_T:%.*]]*, align 8
   // CHECK:      [[C:%.*]] = alloca i8*, align 8
@@ -69,7 +69,7 @@ void test1a_message(void) {
 }
 
 
-// CHECK-LABEL: define void @test1a_property()
+// CHECK-LABEL: define{{.*}} void @test1a_property()
 void test1a_property(void) {
   // CHECK:      [[PTR:%.*]] = alloca [[PTR_T:%.*]]*, align 8
   // CHECK:      [[C:%.*]] = alloca i8*, align 8
@@ -103,7 +103,7 @@ void test1a_property(void) {
 }
 
 
-// CHECK-LABEL: define void @test1b_message()
+// CHECK-LABEL: define{{.*}} void @test1b_message()
 void test1b_message(void) {
   // CHECK:      [[PTR:%.*]] = alloca [[PTR_T:%.*]]*, align 8
   // CHECK:      [[C:%.*]] = alloca i8*, align 8
@@ -134,7 +134,7 @@ void test1b_message(void) {
   char *c = [ptr interior];
 }
 
-// CHECK-LABEL: define void @test1b_property()
+// CHECK-LABEL: define{{.*}} void @test1b_property()
 void test1b_property(void) {
   // CHECK:      [[PTR:%.*]] = alloca [[PTR_T:%.*]]*, align 8
   // CHECK:      [[C:%.*]] = alloca i8*, align 8
@@ -165,7 +165,7 @@ void test1b_property(void) {
   char *c = ptr.interior;
 }
 
-// CHECK-LABEL: define void @test1c_message()
+// CHECK-LABEL: define{{.*}} void @test1c_message()
 void test1c_message(void) {
   // CHECK:      [[PTR:%.*]] = alloca [[PTR_T:%.*]]*, align 8
   // CHECK:      [[PC:%.*]] = alloca i8*, align 8
@@ -198,7 +198,7 @@ void test1c_message(void) {
   char *pc = [ptr PropertyReturnsInnerPointer];
 }
 
-// CHECK-LABEL: define void @test1c_property()
+// CHECK-LABEL: define{{.*}} void @test1c_property()
 void test1c_property(void) {
   // CHECK:      [[PTR:%.*]] = alloca [[PTR_T:%.*]]*, align 8
   // CHECK:      [[PC:%.*]] = alloca i8*, align 8
@@ -231,7 +231,7 @@ void test1c_property(void) {
   char *pc = ptr.PropertyReturnsInnerPointer;
 }
 
-// CHECK-LABEL: define void @test1d_message()
+// CHECK-LABEL: define{{.*}} void @test1d_message()
 void test1d_message(void) {
   // CHECK:      [[PTR:%.*]] = alloca [[PTR_T:%.*]]*, align 8
   // CHECK:      [[PC:%.*]] = alloca i8*, align 8
@@ -261,7 +261,7 @@ void test1d_message(void) {
   char *pc = [ptr PropertyReturnsInnerPointer];
 }
 
-// CHECK-LABEL: define void @test1d_property()
+// CHECK-LABEL: define{{.*}} void @test1d_property()
 void test1d_property(void) {
   // CHECK:      [[PTR:%.*]] = alloca [[PTR_T:%.*]]*, align 8
   // CHECK:      [[PC:%.*]] = alloca i8*, align 8
@@ -296,7 +296,7 @@ @interface Test2 {
   id ivar;
 }
 @end
-// CHECK-LABEL:      define void @test2(
+// CHECK-LABEL:      define{{.*}} void @test2(
 void test2(Test2 *x) {
   x->ivar = 0;
   // CHECK:      [[X:%.*]] = alloca [[TEST2:%.*]]*
@@ -322,7 +322,7 @@ void test2(Test2 *x) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL:      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* @llvm.objc.retain(i8* {{%.*}}) [[NUW]]

diff  --git a/clang/test/CodeGenObjC/arc-property.m b/clang/test/CodeGenObjC/arc-property.m
index 6e4cbb5944eb..4e525cc5cf7d 100644
--- a/clang/test/CodeGenObjC/arc-property.m
+++ b/clang/test/CodeGenObjC/arc-property.m
@@ -7,7 +7,7 @@ - (void) setValue: (id) x;
 void test0(Test0 *t0, id value) {
   t0.value = value;
 }
-// CHECK-LABEL: define void @test0(
+// CHECK-LABEL: define{{.*}} void @test0(
 // CHECK: call void @llvm.objc.storeStrong
 // CHECK: call void @llvm.objc.storeStrong
 // CHECK: @objc_msgSend
@@ -95,7 +95,7 @@ void test3(Test3 *t) {
   id x = t.copyMachine;
   x = [t copyMachine];
 }
-// CHECK:    define void @test3([[TEST3:%.*]]*
+// CHECK:    define{{.*}} void @test3([[TEST3:%.*]]*
 //   Prologue.
 // CHECK:      [[T:%.*]] = alloca [[TEST3]]*,
 // CHECK-NEXT: [[X:%.*]] = alloca i8*,

diff  --git a/clang/test/CodeGenObjC/arc-related-result-type.m b/clang/test/CodeGenObjC/arc-related-result-type.m
index 1d3805bf9bbc..54a63009d0b5 100644
--- a/clang/test/CodeGenObjC/arc-related-result-type.m
+++ b/clang/test/CodeGenObjC/arc-related-result-type.m
@@ -6,7 +6,7 @@ - (id) self;
 void test0(Test0 *val) {
   Test0 *x = [val self];
 
-// CHECK-LABEL:    define void @test0(
+// CHECK-LABEL:    define{{.*}} void @test0(
 // CHECK:      [[VAL:%.*]] = alloca [[TEST0:%.*]]*
 // CHECK-NEXT: [[X:%.*]] = alloca [[TEST0]]*
 // CHECK-NEXT: store [[TEST0]]* null

diff  --git a/clang/test/CodeGenObjC/arc-ternary-op.m b/clang/test/CodeGenObjC/arc-ternary-op.m
index 28567fcbe22e..c75f5d9b63b5 100644
--- a/clang/test/CodeGenObjC/arc-ternary-op.m
+++ b/clang/test/CodeGenObjC/arc-ternary-op.m
@@ -5,7 +5,7 @@
 void test0(_Bool cond) {
   id test0_helper(void) __attribute__((ns_returns_retained));
 
-  // CHECK-LABEL:      define void @test0(
+  // CHECK-LABEL:      define{{.*}} void @test0(
   // CHECK:      [[COND:%.*]] = alloca i8,
   // CHECK-NEXT: [[X:%.*]] = alloca i8*,
   // CHECK-NEXT: [[RELVAL:%.*]] = alloca i8*
@@ -46,7 +46,7 @@ void test1(int cond) {
   test1_sink(cond ? &strong : 0);
   test1_sink(cond ? &weak : 0);
 
-  // CHECK-LABEL:    define void @test1(
+  // CHECK-LABEL:    define{{.*}} void @test1(
   // CHECK:      [[COND:%.*]] = alloca i32
   // CHECK-NEXT: [[STRONG:%.*]] = alloca i8*
   // CHECK-NEXT: [[WEAK:%.*]] = alloca i8*
@@ -120,7 +120,7 @@ void test2(int cond) {
   for (id obj in cond ? test2_producer() : (void*) 0) {
   }
 
-  // CHECK-LABEL:    define void @test2(
+  // CHECK-LABEL:    define{{.*}} void @test2(
   // CHECK:      [[COND:%.*]] = alloca i32,
   // CHECK:      alloca i8*
   // CHECK:      [[CLEANUP_SAVE:%.*]] = alloca i8*
@@ -153,7 +153,7 @@ void test3(int cond) {
   __strong id *p = cond ? (__strong id[]){g0, g1} : (__strong id[]){g1, g0};
   test2(cond);
 
-  // CHECK: define void @test3(
+  // CHECK: define{{.*}} void @test3(
   // CHECK: %[[P:.*]] = alloca i8**, align 8
   // CHECK: %[[_COMPOUNDLITERAL:.*]] = alloca [2 x i8*], align 8
   // CHECK: %[[CLEANUP_COND:.*]] = alloca i1, align 1

diff  --git a/clang/test/CodeGenObjC/arc-unopt.m b/clang/test/CodeGenObjC/arc-unopt.m
index 4354cb61c44c..5a74687a0b49 100644
--- a/clang/test/CodeGenObjC/arc-unopt.m
+++ b/clang/test/CodeGenObjC/arc-unopt.m
@@ -55,7 +55,7 @@ void test5(void) {
   if ((x = y))
     y = 0;
 
-// CHECK-LABEL:    define void @test5()
+// CHECK-LABEL:    define{{.*}} void @test5()
 // CHECK:      [[X:%.*]] = alloca [[TEST5:%.*]]*,
 // CHECK-NEXT: [[Y:%.*]] = alloca [[TEST5:%.*]]*,
 // CHECK-NEXT: store [[TEST5]]* null, [[TEST5]]** [[X]],

diff  --git a/clang/test/CodeGenObjC/arc-unsafeclaim.m b/clang/test/CodeGenObjC/arc-unsafeclaim.m
index 40f1f164455a..8f95d1edc96c 100644
--- a/clang/test/CodeGenObjC/arc-unsafeclaim.m
+++ b/clang/test/CodeGenObjC/arc-unsafeclaim.m
@@ -24,7 +24,7 @@ void test_assign() {
   __unsafe_unretained id x;
   x = makeA();
 }
-// CHECK-LABEL:        define void @test_assign()
+// CHECK-LABEL:        define{{.*}} void @test_assign()
 // CHECK:                [[X:%.*]] = alloca i8*
 // CHECK:                [[T0:%.*]] = call [[A:.*]]* @makeA()
 // CHECK-MARKED-NEXT:    call void asm sideeffect
@@ -38,7 +38,7 @@ void test_assign() {
 // CHECK-OPTIMIZED-NEXT: lifetime.end
 // CHECK-NEXT:           ret void
 
-// DISABLED-LABEL:     define void @test_assign()
+// DISABLED-LABEL:     define{{.*}} void @test_assign()
 // DISABLED:             [[T0:%.*]] = call [[A:.*]]* @makeA()
 // DISABLED-MARKED-NEXT: call void asm sideeffect
 // DISABLED-NEXT:        [[T1:%.*]] = bitcast [[A]]* [[T0]] to i8*
@@ -48,7 +48,7 @@ void test_assign_assign() {
   __unsafe_unretained id x, y;
   x = y = makeA();
 }
-// CHECK-LABEL:        define void @test_assign_assign()
+// CHECK-LABEL:        define{{.*}} void @test_assign_assign()
 // CHECK:                [[X:%.*]] = alloca i8*
 // CHECK:                [[Y:%.*]] = alloca i8*
 // CHECK:                [[T0:%.*]] = call [[A]]* @makeA()
@@ -71,7 +71,7 @@ void test_strong_assign_assign() {
   __unsafe_unretained id y;
   x = y = makeA();
 }
-// CHECK-LABEL:        define void @test_strong_assign_assign()
+// CHECK-LABEL:        define{{.*}} void @test_strong_assign_assign()
 // CHECK:                [[X:%.*]] = alloca i8*
 // CHECK:                [[Y:%.*]] = alloca i8*
 // CHECK:                [[T0:%.*]] = call [[A]]* @makeA()
@@ -98,7 +98,7 @@ void test_assign_strong_assign() {
   __strong id y;
   x = y = makeA();
 }
-// CHECK-LABEL:        define void @test_assign_strong_assign()
+// CHECK-LABEL:        define{{.*}} void @test_assign_strong_assign()
 // CHECK:                [[X:%.*]] = alloca i8*
 // CHECK:                [[Y:%.*]] = alloca i8*
 // CHECK:                [[T0:%.*]] = call [[A]]* @makeA()
@@ -123,7 +123,7 @@ void test_assign_strong_assign() {
 void test_init() {
   __unsafe_unretained id x = makeA();
 }
-// CHECK-LABEL:        define void @test_init()
+// CHECK-LABEL:        define{{.*}} void @test_init()
 // CHECK:                [[X:%.*]] = alloca i8*
 // CHECK:                [[T0:%.*]] = call [[A]]* @makeA()
 // CHECK-MARKED-NEXT:    call void asm sideeffect
@@ -141,7 +141,7 @@ void test_init_assignment() {
   __unsafe_unretained id x;
   __unsafe_unretained id y = x = makeA();
 }
-// CHECK-LABEL:        define void @test_init_assignment()
+// CHECK-LABEL:        define{{.*}} void @test_init_assignment()
 // CHECK:                [[X:%.*]] = alloca i8*
 // CHECK:                [[Y:%.*]] = alloca i8*
 // CHECK:                [[T0:%.*]] = call [[A]]* @makeA()
@@ -163,7 +163,7 @@ void test_strong_init_assignment() {
   __unsafe_unretained id x;
   __strong id y = x = makeA();
 }
-// CHECK-LABEL:        define void @test_strong_init_assignment()
+// CHECK-LABEL:        define{{.*}} void @test_strong_init_assignment()
 // CHECK:                [[X:%.*]] = alloca i8*
 // CHECK:                [[Y:%.*]] = alloca i8*
 // CHECK:                [[T0:%.*]] = call [[A]]* @makeA()
@@ -187,7 +187,7 @@ void test_init_strong_assignment() {
   __strong id x;
   __unsafe_unretained id y = x = makeA();
 }
-// CHECK-LABEL:        define void @test_init_strong_assignment()
+// CHECK-LABEL:        define{{.*}} void @test_init_strong_assignment()
 // CHECK:                [[X:%.*]] = alloca i8*
 // CHECK:                [[Y:%.*]] = alloca i8*
 // CHECK:                [[T0:%.*]] = call [[A]]* @makeA()
@@ -212,7 +212,7 @@ void test_init_strong_assignment() {
 void test_ignored() {
   makeA();
 }
-// CHECK-LABEL:     define void @test_ignored()
+// CHECK-LABEL:     define{{.*}} void @test_ignored()
 // CHECK:             [[T0:%.*]] = call [[A]]* @makeA()
 // CHECK-MARKED-NEXT: call void asm sideeffect
 // CHECK-NEXT:        [[T1:%.*]] = bitcast [[A]]* [[T0]] to i8*
@@ -224,7 +224,7 @@ void test_ignored() {
 void test_cast_to_void() {
   (void) makeA();
 }
-// CHECK-LABEL:     define void @test_cast_to_void()
+// CHECK-LABEL:     define{{.*}} void @test_cast_to_void()
 // CHECK:             [[T0:%.*]] = call [[A]]* @makeA()
 // CHECK-MARKED-NEXT: call void asm sideeffect
 // CHECK-NEXT:        [[T1:%.*]] = bitcast [[A]]* [[T0]] to i8*

diff  --git a/clang/test/CodeGenObjC/arc-weak.m b/clang/test/CodeGenObjC/arc-weak.m
index a976402f54a9..8df386e04fff 100644
--- a/clang/test/CodeGenObjC/arc-weak.m
+++ b/clang/test/CodeGenObjC/arc-weak.m
@@ -8,7 +8,7 @@ @interface B : A @end
 void test0(__weak B **src) {
   __weak A *dest = *src;
 }
-// CHECK-LABEL: define void @test0
+// CHECK-LABEL: define{{.*}} void @test0
 // CHECK:       [[SRC:%.*]] = alloca [[B:%.*]]**, align 8
 // CHECK:       [[DEST:%.*]] = alloca [[A:%.*]]*, align 8
 // CHECK:       [[T0:%.*]] = load [[B]]**, [[B]]*** [[SRC]], align 8

diff  --git a/clang/test/CodeGenObjC/arc-with-atthrow.m b/clang/test/CodeGenObjC/arc-with-atthrow.m
index c5e9dc92beb8..86ed40177801 100644
--- a/clang/test/CodeGenObjC/arc-with-atthrow.m
+++ b/clang/test/CodeGenObjC/arc-with-atthrow.m
@@ -9,7 +9,7 @@ void test() {
 
 // TODO: We should probably emit this specific pattern without the reclaim.
 
-// CHECK-LABEL:    define void @test()
+// CHECK-LABEL:    define{{.*}} void @test()
 // CHECK:      [[T0:%.*]] = call i8* @make()
 // CHECK-NEXT: [[T1:%.*]] = notail call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* [[T0]])
 // CHECK-NEXT: [[T2:%.*]] = call i8* @llvm.objc.autorelease(i8* [[T1]])

diff  --git a/clang/test/CodeGenObjC/arc.m b/clang/test/CodeGenObjC/arc.m
index 30a7c27c5877..c335e76e0399 100644
--- a/clang/test/CodeGenObjC/arc.m
+++ b/clang/test/CodeGenObjC/arc.m
@@ -32,7 +32,7 @@
 // ARC-NATIVE: declare i8* @llvm.objc.autorelease(i8*)
 // ARC-NATIVE: declare i8* @llvm.objc.retainAutorelease(i8*)
 
-// CHECK-LABEL: define void @test0
+// CHECK-LABEL: define{{.*}} void @test0
 void test0(id x) {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[PARM:%.*]] = call i8* @llvm.objc.retain(i8* {{.*}})
@@ -42,7 +42,7 @@ void test0(id x) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define i8* @test1(i8*
+// CHECK-LABEL: define{{.*}} i8* @test1(i8*
 id test1(id x) {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[Y:%.*]] = alloca i8*
@@ -96,7 +96,7 @@ - (id) initWith: (int) x;
 - (id) copy;
 @end
 
-// CHECK-LABEL: define void @test3_unelided()
+// CHECK-LABEL: define{{.*}} void @test3_unelided()
 void test3_unelided() {
   extern void test3_helper(void);
 
@@ -131,7 +131,7 @@ void test3_unelided() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @test3()
+// CHECK-LABEL: define{{.*}} void @test3()
 void test3() {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8*
@@ -175,7 +175,7 @@ void test3() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define i8* @test4()
+// CHECK-LABEL: define{{.*}} i8* @test4()
 id test4() {
   // Call to +alloc.
   // CHECK:      load {{.*}}, {{.*}}* @"OBJC_CLASSLIST_REFERENCES_
@@ -206,7 +206,7 @@ @interface Test5 {
 }
 @end
 
-// CHECK-LABEL: define void @test5
+// CHECK-LABEL: define{{.*}} void @test5
 void test5(Test5 *x, id y) {
   // Prologue.
   // CHECK:      [[X:%.*]] = alloca [[TEST5:%.*]]*,
@@ -250,7 +250,7 @@ void test5(Test5 *x, id y) {
 }
 
 id test6_helper(void) __attribute__((ns_returns_retained));
-// CHECK-LABEL: define void @test6()
+// CHECK-LABEL: define{{.*}} void @test6()
 void test6() {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8*
@@ -266,7 +266,7 @@ void test6() {
 }
 
 void test7_helper(id __attribute__((ns_consumed)));
-// CHECK-LABEL: define void @test7()
+// CHECK-LABEL: define{{.*}} void @test7()
 void test7() {
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8*
@@ -305,7 +305,7 @@ void test10() {
   Test10 *x;
   id y = x.me.me;
 
-  // CHECK-LABEL:      define void @test10()
+  // CHECK-LABEL:      define{{.*}} void @test10()
   // CHECK:      [[X:%.*]] = alloca [[TEST10:%.*]]*, align
   // CHECK-NEXT: [[Y:%.*]] = alloca i8*, align
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast [[TEST10]]** [[X]] to i8*
@@ -343,7 +343,7 @@ void test10() {
 }
 
 void test11(id (*f)(void) __attribute__((ns_returns_retained))) {
-  // CHECK-LABEL:      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
@@ -363,7 +363,7 @@ void test11(id (*f)(void) __attribute__((ns_returns_retained))) {
 void test12(void) {
   extern id test12_helper(void);
 
-  // CHECK-LABEL:      define void @test12()
+  // CHECK-LABEL:      define{{.*}} void @test12()
   // CHECK:      [[X:%.*]] = alloca i8*, align
   // CHECK-NEXT: [[Y:%.*]] = alloca i8*, align
 
@@ -399,7 +399,7 @@ void test12(void) {
 
 // Indirect consuming calls.
 void test13(void) {
-  // CHECK-LABEL:      define void @test13()
+  // CHECK-LABEL:      define{{.*}} void @test13()
   // CHECK:      [[X:%.*]] = alloca i8*, align
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8*
   // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]])
@@ -503,7 +503,7 @@ - (int) x { return super.x + 1; }
 @end
 
 void test19() {
-  // CHECK-LABEL: 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*
@@ -535,7 +535,7 @@ void test19() {
 }
 
 void test20(unsigned n) {
-  // CHECK-LABEL: define void @test20
+  // CHECK-LABEL: define{{.*}} void @test20
   // CHECK:      [[N:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[SAVED_STACK:%.*]] = alloca i8*
   // CHECK-NEXT: [[VLA_EXPR:%.*]] = alloca i64, align 8
@@ -580,7 +580,7 @@ void test20(unsigned n) {
 }
 
 void test21(unsigned n) {
-  // CHECK-LABEL: define void @test21
+  // CHECK-LABEL: define{{.*}} void @test21
   // CHECK:      [[N:%.*]] = alloca i32, align 4
   // CHECK-NEXT: [[SAVED_STACK:%.*]] = alloca i8*
   // CHECK-NEXT: [[VLA_EXPR:%.*]] = alloca i64, align 8
@@ -874,7 +874,7 @@ - (Test30_helper*) initHelper {
 @end
 
 __attribute__((ns_returns_retained)) id test32(void) {
-// CHECK-LABEL:    define i8* @test32()
+// CHECK-LABEL:    define{{.*}} i8* @test32()
 // CHECK:      [[CALL:%.*]] = call i8* @test32_helper()
 // CHECK-NEXT: [[T0:%.*]] = notail call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* [[CALL]])
 // CHECK-NEXT: ret i8* [[T0]]
@@ -898,7 +898,7 @@ void test33(Test33 *ptr) {
   [ptr takeStrong: &a];
   [ptr giveOut: &a];
 
-  // CHECK:    define void @test33([[TEST33:%.*]]*
+  // CHECK:    define{{.*}} void @test33([[TEST33:%.*]]*
   // CHECK:      [[PTR:%.*]] = alloca [[TEST33]]*
   // CHECK-NEXT: [[A:%.*]] = alloca [[A_T:%.*]]*
   // CHECK-NEXT: [[TEMP0:%.*]] = alloca [[A_T]]*
@@ -981,7 +981,7 @@ void test33(Test33 *ptr) {
 }
 
 
-// CHECK-LABEL: define void @test36
+// CHECK-LABEL: define{{.*}} void @test36
 void test36(id x) {
   // CHECK: [[X:%.*]] = alloca i8*
 
@@ -1009,7 +1009,7 @@ void test37(void) {
   Test37 *var;
   test37_helper(&var);
 
-  // CHECK-LABEL:    define void @test37()
+  // CHECK-LABEL:    define{{.*}} void @test37()
   // CHECK:      [[VAR:%.*]] = alloca [[TEST37:%.*]]*,
   // CHECK-NEXT: [[TEMP:%.*]] = alloca i8*
   // CHECK-NEXT: [[VARPTR1:%.*]] = bitcast [[TEST37]]** [[VAR]] to i8*
@@ -1090,7 +1090,7 @@ void test47(void) {
   extern id test47_helper(void);
   id x = x = test47_helper();
 
-  // CHECK-LABEL:    define void @test47()
+  // CHECK-LABEL:    define{{.*}} void @test47()
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8*
   // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]])
@@ -1114,7 +1114,7 @@ void test47(void) {
 void test48(void) {
   extern id test48_helper(void);
   __weak id x = x = test48_helper();
-  // CHECK-LABEL:    define void @test48()
+  // CHECK-LABEL:    define{{.*}} void @test48()
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8*
   // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]])
@@ -1133,7 +1133,7 @@ void test48(void) {
 void test49(void) {
   extern id test49_helper(void);
   __autoreleasing id x = x = test49_helper();
-  // CHECK-LABEL:    define void @test49()
+  // CHECK-LABEL:    define{{.*}} void @test49()
   // CHECK:      [[X:%.*]] = alloca i8*
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8*
   // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]])
@@ -1178,7 +1178,7 @@ id test52(void) {
   id test52_helper(int) __attribute__((ns_returns_retained));
   return ({ int x = 5; test52_helper(x); });
 
-// CHECK-LABEL:    define i8* @test52()
+// CHECK-LABEL:    define{{.*}} i8* @test52()
 // CHECK:      [[X:%.*]] = alloca i32
 // CHECK-NEXT: [[TMPALLOCA:%.*]] = alloca i8*
 // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i32* [[X]] to i8*
@@ -1199,7 +1199,7 @@ void test53(void) {
   id test53_helper(void);
   id x = ({ id y = test53_helper(); y; });
   (void) x;
-// CHECK-LABEL:    define void @test53()
+// CHECK-LABEL:    define{{.*}} void @test53()
 // CHECK:      [[X:%.*]] = alloca i8*,
 // CHECK-NEXT: [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: [[TMPALLOCA:%.*]] = alloca i8*,
@@ -1228,7 +1228,7 @@ void test53(void) {
 }
 
 // <rdar://problem/9758798>
-// CHECK-LABEL: 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
@@ -1268,7 +1268,7 @@ + (id) make {
 @end
 void test56_test(void) {
   id x = [Test56 make];
-  // CHECK-LABEL: define void @test56_test()
+  // CHECK-LABEL: define{{.*}} void @test56_test()
   // CHECK:      [[X:%.*]] = alloca i8*, align 8
   // CHECK-NEXT: [[XPTR1:%.*]] = bitcast i8** [[X]] to i8*
   // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[XPTR1]])
@@ -1326,7 +1326,7 @@ void test59(void) {
     test59_body();
   }
 
-  // CHECK-LABEL:    define void @test59()
+  // CHECK-LABEL:    define{{.*}} void @test59()
   // CHECK:      [[T0:%.*]] = call i8* @test59_getlock()
   // CHECK-NEXT: [[T1:%.*]] = notail call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* [[T0]])
   // CHECK-NEXT: call i32 @objc_sync_enter(i8* [[T1]])
@@ -1344,7 +1344,7 @@ - (void) test61_void;
 - (id) test61_id;
 @end
 void test61(void) {
-  // CHECK-LABEL:    define void @test61()
+  // CHECK-LABEL:    define{{.*}} void @test61()
   // CHECK:      [[Y:%.*]] = alloca i8*, align 8
 
   extern id test61_make(void);
@@ -1378,7 +1378,7 @@ void test61(void) {
 
 // rdar://problem/9891815
 void test62(void) {
-  // CHECK-LABEL:    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
@@ -1452,7 +1452,7 @@ void test66(void) {
   extern id test66_arg(void);
   [test66_receiver() consume: test66_arg()];
 }
-// CHECK-LABEL:    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:%.*]] = notail call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* [[T1]])
@@ -1476,7 +1476,7 @@ void test66(void) {
 void test67(void) {
   Class cl = test67_helper();
 }
-// CHECK-LABEL:    define void @test67()
+// CHECK-LABEL:    define{{.*}} void @test67()
 // CHECK:      [[CL:%.*]] = alloca i8*, align 8
 // CHECK-NEXT: [[CLPTR1:%.*]] = bitcast i8** [[CL]] to i8*
 // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[CLPTR1]])
@@ -1490,7 +1490,7 @@ void test67(void) {
 void test68(void) {
   __strong Class cl = test67_helper();
 }
-// CHECK-LABEL:    define void @test68()
+// CHECK-LABEL:    define{{.*}} void @test68()
 // CHECK:      [[CL:%.*]] = alloca i8*, align 8
 // CHECK-NEXT: [[CLPTR1:%.*]] = bitcast i8** [[CL]] to i8*
 // CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[CLPTR1]])
@@ -1516,7 +1516,7 @@ - (id) foo { return self; }
 
 // rdar://problem/10907547
 void test70(id i) {
-  // CHECK-LABEL: define void @test70
+  // CHECK-LABEL: define{{.*}} void @test70
   // CHECK: store i8* null, i8**
   // CHECK: store i8* null, i8**
   // CHECK: [[ID:%.*]] = call i8* @llvm.objc.retain(i8*
@@ -1534,7 +1534,7 @@ void test70(id i) {
 
 struct AggDtor getAggDtor(void);
 
-// CHECK-LABEL: define void @test71
+// CHECK-LABEL: define{{.*}} void @test71
 void test71(void) {
   // CHECK: %[[T:[^ ]+]] = bitcast %struct.AggDtor* %[[TMP1:[^ ]+]] to i8*
   // CHECK: call void @llvm.lifetime.start.p0i8({{[^,]+}}, i8* %[[T]])
@@ -1556,7 +1556,7 @@ void test71(void) {
 
 // Check that no extra release calls are emitted to detruct the compond literal.
 
-// CHECK: define void @test72(i8* %[[A:.*]], i8* %[[B:.*]])
+// CHECK: define{{.*}} void @test72(i8* %[[A:.*]], i8* %[[B:.*]])
 // CHECK: %[[A_ADDR:.*]] = alloca i8*, align 8
 // CHECK: %[[B_ADDR:.*]] = alloca i8*, align 8
 // CHECK: %[[T:.*]] = alloca [2 x i8*], align 16

diff  --git a/clang/test/CodeGenObjC/attr-exception.m b/clang/test/CodeGenObjC/attr-exception.m
index 30b637c8bc87..f4e10cbdf007 100644
--- a/clang/test/CodeGenObjC/attr-exception.m
+++ b/clang/test/CodeGenObjC/attr-exception.m
@@ -13,7 +13,7 @@ @interface A : Root
 
 @implementation A
 @end
-// CHECK: @"OBJC_EHTYPE_$_A" = global {{%.*}} { i8** getelementptr inbounds (i8*, i8** @objc_ehtype_vtable, i32 2)
+// CHECK: @"OBJC_EHTYPE_$_A" ={{.*}} global {{%.*}} { i8** getelementptr inbounds (i8*, i8** @objc_ehtype_vtable, i32 2)
 // CHECK-HIDDEN: @"OBJC_EHTYPE_$_A" = hidden global {{%.*}} { i8** getelementptr inbounds (i8*, i8** @objc_ehtype_vtable, i32 2)
 
 __attribute__((objc_exception))
@@ -23,5 +23,5 @@ @interface B : Root
 
 @implementation B
 @end
-// CHECK: @"OBJC_EHTYPE_$_B" = global {{%.*}} { i8** getelementptr inbounds (i8*, i8** @objc_ehtype_vtable, i32 2)
-// CHECK-HIDDEN: @"OBJC_EHTYPE_$_B" = global {{%.*}} { i8** getelementptr inbounds (i8*, i8** @objc_ehtype_vtable, i32 2)
+// CHECK: @"OBJC_EHTYPE_$_B" ={{.*}} global {{%.*}} { i8** getelementptr inbounds (i8*, i8** @objc_ehtype_vtable, i32 2)
+// CHECK-HIDDEN: @"OBJC_EHTYPE_$_B" ={{.*}} global {{%.*}} { i8** getelementptr inbounds (i8*, i8** @objc_ehtype_vtable, i32 2)

diff  --git a/clang/test/CodeGenObjC/attr-objc-runtime-visible.m b/clang/test/CodeGenObjC/attr-objc-runtime-visible.m
index 6e224e718903..720c8ca6adbf 100644
--- a/clang/test/CodeGenObjC/attr-objc-runtime-visible.m
+++ b/clang/test/CodeGenObjC/attr-objc-runtime-visible.m
@@ -12,7 +12,7 @@ @interface A : Root
 @end
 
 // CHECK: [[CLASSNAME:@.*]] = private unnamed_addr constant [22 x i8] c"MyRuntimeVisibleClass
-// CHECK: define i8* @getClass() #0 {
+// CHECK: define{{.*}} i8* @getClass() #0 {
 Class getClass(void) {
   // CHECK: call i8* @objc_lookUpClass(i8* getelementptr inbounds ([22 x i8], [22 x i8]* [[CLASSNAME]], i32 0, i32 0)) #2
   return [A class];

diff  --git a/clang/test/CodeGenObjC/autorelease.m b/clang/test/CodeGenObjC/autorelease.m
index 0677340eae92..a865b7ee73a6 100644
--- a/clang/test/CodeGenObjC/autorelease.m
+++ b/clang/test/CodeGenObjC/autorelease.m
@@ -39,7 +39,7 @@ int tryTo(int (*f)(void)) {
     return 0;
   }
 }
-// CHECK-LABEL:    define i32 @tryTo(i32 ()*
+// CHECK-LABEL:    define{{.*}} i32 @tryTo(i32 ()*
 // CHECK:      [[RET:%.*]] = alloca i32,
 // CHECK:      [[T0:%.*]] = call i8* @llvm.objc.autoreleasePoolPush()
 // CHECK-NEXT: [[T1:%.*]] = load i32 ()*, i32 ()** {{%.*}},

diff  --git a/clang/test/CodeGenObjC/bitfield-access.m b/clang/test/CodeGenObjC/bitfield-access.m
index 3f33afd9ce5b..c2b7cc348fdc 100644
--- a/clang/test/CodeGenObjC/bitfield-access.m
+++ b/clang/test/CodeGenObjC/bitfield-access.m
@@ -14,7 +14,7 @@ @interface I0 {
 // Check that we don't try to use an i32 load here, which would reach beyond the
 // end of the structure.
 //
-// CHECK-I386-LABEL: define i32 @f0(
+// CHECK-I386-LABEL: define{{.*}} i32 @f0(
 // CHECK-I386:   [[t0_0:%.*]] = load i8, 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-LABEL: 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, i40* [[t1_base]], align 1

diff  --git a/clang/test/CodeGenObjC/block-6.m b/clang/test/CodeGenObjC/block-6.m
index 7867e6218734..8e8e4f9b6f30 100644
--- a/clang/test/CodeGenObjC/block-6.m
+++ b/clang/test/CodeGenObjC/block-6.m
@@ -2,7 +2,7 @@
 // rdar://8893785
 
 void MYFUNC() {
-// CHECK-LABEL:    define void @MYFUNC()
+// CHECK-LABEL:    define{{.*}} void @MYFUNC()
 // CHECK:      [[OBSERVER_SLOT:%.*]] = alloca [[OBSERVER_T:%.*]], align 8
 
 // CHECK:      [[T0:%.*]] = getelementptr inbounds [[OBSERVER_T]], [[OBSERVER_T]]* [[OBSERVER_SLOT]], i32 0, i32 1

diff  --git a/clang/test/CodeGenObjC/blocks-1.m b/clang/test/CodeGenObjC/blocks-1.m
index cecb55d17a84..6278756f61ba 100644
--- a/clang/test/CodeGenObjC/blocks-1.m
+++ b/clang/test/CodeGenObjC/blocks-1.m
@@ -1,8 +1,8 @@
 // RUN: %clang_cc1 %s -emit-llvm -o - -fobjc-gc -fblocks -triple i386-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 | FileCheck %s --check-prefix=CHECK --check-prefix=OBJC
 // RUN: %clang_cc1 -x objective-c++ %s -emit-llvm -o - -fobjc-gc -fblocks -triple i386-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 | FileCheck %s --check-prefix=CHECK --check-prefix=OBJCXX
 
-// OBJC-LABEL: define void @test1(
-// OBJCXX-LABEL: define void @_Z5test1P12NSDictionary(
+// OBJC-LABEL: define{{.*}} void @test1(
+// OBJCXX-LABEL: define{{.*}} void @_Z5test1P12NSDictionary(
 
 // CHECK-LABEL: define linkonce_odr hidden void @__copy_helper_block_
 // CHECK: call void @_Block_object_assign(
@@ -10,14 +10,14 @@
 // CHECK-LABEL: define linkonce_odr hidden void @__destroy_helper_block_
 // CHECK: call void @_Block_object_dispose(
 
-// OBJC-LABEL: define void @foo(
-// OBJCXX-LABEL: define void @_Z3foov(
+// OBJC-LABEL: define{{.*}} void @foo(
+// OBJCXX-LABEL: define{{.*}} void @_Z3foov(
 // CHECK: call i8* @objc_read_weak(
 // CHECK: call i8* @objc_assign_weak(
 // CHECK: call void @_Block_object_dispose(
 
-// OBJC-LABEL: define void @test2(
-// OBJCXX-LABEL: define void @_Z5test2v(
+// OBJC-LABEL: define{{.*}} void @test2(
+// OBJCXX-LABEL: define{{.*}} void @_Z5test2v(
 // CHECK: call i8* @objc_assign_weak(
 // CHECK: call void @_Block_object_dispose(
 

diff  --git a/clang/test/CodeGenObjC/blocks-2.m b/clang/test/CodeGenObjC/blocks-2.m
index b9562ad6d64e..512c8d861e16 100644
--- a/clang/test/CodeGenObjC/blocks-2.m
+++ b/clang/test/CodeGenObjC/blocks-2.m
@@ -3,7 +3,7 @@
 // RUN: %clang_cc1 %s -emit-llvm -o - -fobjc-gc -fblocks -fexceptions -triple i386-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -x objective-c++ | FileCheck %s
 
 
-// CHECK: define i8* @{{.*}}test0
+// CHECK: define{{.*}} i8* @{{.*}}test0
 // CHECK: define internal void @{{.*}}_block_invoke(
 // CHECK:      call i8* @objc_assign_strongCast(
 // CHECK-NEXT: ret void
@@ -14,7 +14,7 @@ id test0(id x) {
 }
 
 // <rdar://problem/8224178>: cleanup __block variables on EH path
-// CHECK: define void @{{.*}}test1
+// CHECK: define{{.*}} void @{{.*}}test1
 void test1() {
   extern void test1_help(void (^x)(void));
 

diff  --git a/clang/test/CodeGenObjC/blocks.m b/clang/test/CodeGenObjC/blocks.m
index 05880dea79b8..ab2e237a28da 100644
--- a/clang/test/CodeGenObjC/blocks.m
+++ b/clang/test/CodeGenObjC/blocks.m
@@ -43,7 +43,7 @@ -(void) im3 {
 @interface Test2 -(void) destroy; @end
 void test2(Test2 *x) {
   extern void test2_helper(void (^)(void));
-  // CHECK-LABEL:    define void @test2(
+  // CHECK-LABEL:    define{{.*}} void @test2(
   // CHECK:      [[X:%.*]] = alloca [[TEST2:%.*]]*,
   // CHECK-NEXT: [[WEAKX:%.*]] = alloca [[WEAK_T:%.*]],
   // CHECK-NEXT: [[BLOCK:%.*]] = alloca [[BLOCK_T:<{.*}>]],
@@ -106,7 +106,7 @@ void test2(Test2 *x) {
 void test3(void (^block)(int, ...)) {
   block(0, 1, 2, 3);
 }
-// CHECK-LABEL:    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, ...)*, void (i32, ...)** [[BLOCK]], align 4
@@ -121,7 +121,7 @@ void test3(void (^block)(int, ...)) {
 void test4(void (^block)()) {
   block(0, 1, 2, 3);
 }
-// CHECK-LABEL:    define void @test4(
+// CHECK-LABEL:    define{{.*}} void @test4(
 // CHECK:      [[BLOCK:%.*]] = alloca void (...)*, align 4
 // CHECK-NEXT: store void (...)*
 // CHECK-NEXT: [[T0:%.*]] = load void (...)*, void (...)** [[BLOCK]], align 4

diff  --git a/clang/test/CodeGenObjC/builtin-constant-p.m b/clang/test/CodeGenObjC/builtin-constant-p.m
index c9ce1529b7fd..0b83c544f0d8 100644
--- a/clang/test/CodeGenObjC/builtin-constant-p.m
+++ b/clang/test/CodeGenObjC/builtin-constant-p.m
@@ -8,7 +8,7 @@
 
 extern void callee(void);
 
-// CHECK-LABEL: define void @test(%0* %foo, %1* %bar)
+// CHECK-LABEL: define{{.*}} void @test(%0* %foo, %1* %bar)
 void test(Foo *foo, Bar *bar) {
   // CHECK: [[ADDR_FOO:%.*]] = bitcast %0* %{{.*}} to i8*
   // CHECK-NEXT: call i1 @llvm.is.constant.p0i8(i8* [[ADDR_FOO]])
@@ -19,7 +19,7 @@ void test(Foo *foo, Bar *bar) {
 }
 
 // Test other Objective-C types.
-// CHECK-LABEL: define void @test_more(i8* %object, i8* %klass)
+// CHECK-LABEL: define{{.*}} void @test_more(i8* %object, i8* %klass)
 void test_more(id object, Class klass) {
   // CHECK: call i1 @llvm.is.constant.p0i8(i8* %{{.*}})
   // CHECK: call i1 @llvm.is.constant.p0i8(i8* %{{.*}})

diff  --git a/clang/test/CodeGenObjC/builtins.m b/clang/test/CodeGenObjC/builtins.m
index 37d8c7a3e95d..d5fafab50add 100644
--- a/clang/test/CodeGenObjC/builtins.m
+++ b/clang/test/CodeGenObjC/builtins.m
@@ -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-LABEL: define void @test0(
+// CHECK-LABEL: define{{.*}} void @test0(
 // CHECK:   call signext i16 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i16 (i8*, i8*, i8*)*)(

diff  --git a/clang/test/CodeGenObjC/class-stubs.m b/clang/test/CodeGenObjC/class-stubs.m
index d5ed15c5a36b..6096cefce083 100644
--- a/clang/test/CodeGenObjC/class-stubs.m
+++ b/clang/test/CodeGenObjC/class-stubs.m
@@ -39,7 +39,7 @@ @interface Derived : Base
 int main() {
   [Base classMethod];
 }
-// CHECK-LABEL: define i32 @main()
+// CHECK-LABEL: define{{.*}} i32 @main()
 // CHECK-NEXT: entry:
 // CHECK-NEXT:   [[CLASS:%.*]] = call %struct._class_t* @objc_loadClassref(i8** @"OBJC_CLASSLIST_REFERENCES_$_")
 // CHECK-NEXT:   [[SELECTOR:%.*]] = load i8*, i8** @OBJC_SELECTOR_REFERENCES_

diff  --git a/clang/test/CodeGenObjC/constant-string-class.m b/clang/test/CodeGenObjC/constant-string-class.m
index 47184050056b..63f7f67edab9 100644
--- a/clang/test/CodeGenObjC/constant-string-class.m
+++ b/clang/test/CodeGenObjC/constant-string-class.m
@@ -30,6 +30,6 @@ int main () {
   return 0;
 }
 
-// CHECK-FRAGILE: @_FooClassReference = global
+// CHECK-FRAGILE: @_FooClassReference ={{.*}} global
 // CHECK-NONFRAGILE: @"OBJC_CLASS_$_Object" = external global
-// CHECK-NONFRAGILE: "OBJC_CLASS_$_Foo" = global
+// CHECK-NONFRAGILE: "OBJC_CLASS_$_Foo" ={{.*}} global

diff  --git a/clang/test/CodeGenObjC/direct-method.m b/clang/test/CodeGenObjC/direct-method.m
index 8749632867a0..453adc29a24a 100644
--- a/clang/test/CodeGenObjC/direct-method.m
+++ b/clang/test/CodeGenObjC/direct-method.m
@@ -204,7 +204,7 @@ - (int)directMethodInCategoryNoDecl __attribute__((objc_direct)) {
 @end
 
 int useRoot(Root *r) {
-  // CHECK-LABEL: define i32 @useRoot
+  // CHECK-LABEL: define{{.*}} i32 @useRoot
   // CHECK: %{{[^ ]*}} = call i32 bitcast {{.*}} @"\01-[Root getInt]"
   // CHECK: %{{[^ ]*}} = call i32 bitcast {{.*}} @"\01-[Root intProperty]"
   // CHECK: %{{[^ ]*}} = call i32 bitcast {{.*}} @"\01-[Root intProperty2]"
@@ -212,7 +212,7 @@ int useRoot(Root *r) {
 }
 
 int useFoo(Foo *f) {
-  // CHECK-LABEL: define i32 @useFoo
+  // CHECK-LABEL: define{{.*}} i32 @useFoo
   // CHECK: call void bitcast {{.*}} @"\01-[Foo setGetDynamic_setDirect:]"
   // CHECK: %{{[^ ]*}} = call i32 bitcast {{.*}} @"\01-[Foo getDirect_setDynamic]"
   // CHECK: %{{[^ ]*}} = call i32 bitcast {{.*}} @"\01-[Foo directMethodInExtension]"
@@ -231,7 +231,7 @@ @interface RootDeclOnly
 @end
 
 int useRootDeclOnly(RootDeclOnly *r) {
-  // CHECK-LABEL: define i32 @useRootDeclOnly
+  // CHECK-LABEL: define{{.*}} i32 @useRootDeclOnly
   // CHECK: %{{[^ ]*}} = call i32 bitcast {{.*}} @"\01-[RootDeclOnly intProperty]"
   return [r intProperty];
 }

diff  --git a/clang/test/CodeGenObjC/disable-tail-call-escaping-block.m b/clang/test/CodeGenObjC/disable-tail-call-escaping-block.m
index 48b0eda5a562..e8f5d6d329bb 100644
--- a/clang/test/CodeGenObjC/disable-tail-call-escaping-block.m
+++ b/clang/test/CodeGenObjC/disable-tail-call-escaping-block.m
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -fblocks -fno-escaping-block-tail-calls -emit-llvm -o - %s | FileCheck %s
 
-// CHECK-LABEL: define void @test(
+// CHECK-LABEL: define{{.*}} void @test(
 // CHECK: store i8* bitcast (void (i8*)* @[[TEST_BLOCK_INVOKE0:.*]] to i8*)
 // CHECK: store i8* bitcast (void (i8*)* @[[TEST_BLOCK_INVOKE1:.*]] to i8*)
 // CHECK: store i8* bitcast (void (i8*)* @[[TEST_BLOCK_INVOKE2:.*]] to i8*)

diff  --git a/clang/test/CodeGenObjC/empty-collection-literals.m b/clang/test/CodeGenObjC/empty-collection-literals.m
index 313c8c86c151..44775bcff0c1 100644
--- a/clang/test/CodeGenObjC/empty-collection-literals.m
+++ b/clang/test/CodeGenObjC/empty-collection-literals.m
@@ -13,14 +13,14 @@
 #include "literal-support.h"
 
 void test_empty_array() {
-  // CHECK-WITHOUT-EMPTY-COLLECTIONS-LABEL: define void @test_empty_array
+  // CHECK-WITHOUT-EMPTY-COLLECTIONS-LABEL: define{{.*}} void @test_empty_array
   // CHECK-WITHOUT-EMPTY-COLLECTIONS-NOT: ret void
   // CHECK-WITHOUT-EMPTY-COLLECTIONS: {{call.*objc_msgSend}}
   // CHECK-WITHOUT-EMPTY-COLLECTIONS-NOT: ret void
   // CHECK-WITHOUT-EMPTY-COLLECTIONS: {{call.*llvm.objc.retainAutoreleasedReturnValue}}
   // CHECK-WITHOUT-EMPTY-COLLECTIONS: ret void
 
-  // CHECK-WITH-EMPTY-COLLECTIONS-LABEL: define void @test_empty_array
+  // CHECK-WITH-EMPTY-COLLECTIONS-LABEL: define{{.*}} void @test_empty_array
   // CHECK-WITH-EMPTY-COLLECTIONS-NOT: ret void
   // CHECK-WITH-EMPTY-COLLECTIONS: load {{.*}} @__NSArray0__
   // CHECK-WITH-EMPTY-COLLECTIONS-NOT: ret void
@@ -32,14 +32,14 @@ void test_empty_array() {
 }
 
 void test_empty_dictionary() {
-  // CHECK-WITHOUT-EMPTY-COLLECTIONS-LABEL: define void @test_empty_dictionary
+  // CHECK-WITHOUT-EMPTY-COLLECTIONS-LABEL: define{{.*}} void @test_empty_dictionary
   // CHECK-WITHOUT-EMPTY-COLLECTIONS-NOT: ret void
   // CHECK-WITHOUT-EMPTY-COLLECTIONS: {{call.*objc_msgSend}}
   // CHECK-WITHOUT-EMPTY-COLLECTIONS-NOT: ret void
   // CHECK-WITHOUT-EMPTY-COLLECTIONS: {{call.*llvm.objc.retainAutoreleasedReturnValue}}
   // CHECK-WITHOUT-EMPTY-COLLECTIONS: ret void
 
-  // CHECK-WITH-EMPTY-COLLECTIONS-LABEL: define void @test_empty_dictionary
+  // CHECK-WITH-EMPTY-COLLECTIONS-LABEL: define{{.*}} void @test_empty_dictionary
   // CHECK-WITH-EMPTY-COLLECTIONS-NOT: ret void
   // CHECK-WITH-EMPTY-COLLECTIONS: load {{.*}} @__NSDictionary0__{{.*}}!invariant.load
   // CHECK-WITH-EMPTY-COLLECTIONS-NOT: ret void

diff  --git a/clang/test/CodeGenObjC/encode-test-5.m b/clang/test/CodeGenObjC/encode-test-5.m
index 3f0208142f20..2827ff7bb7a9 100644
--- a/clang/test/CodeGenObjC/encode-test-5.m
+++ b/clang/test/CodeGenObjC/encode-test-5.m
@@ -1,21 +1,21 @@
 // RUN: %clang_cc1 -x objective-c -triple=x86_64-apple-darwin9 -emit-llvm -o - < %s | FileCheck %s
 
 // CHECK-DAG: @[[complex_int:.*]] = private unnamed_addr constant [3 x i8] c"ji\00", align 1
-// CHECK-DAG: @a = global i8* getelementptr inbounds ([3 x i8], [3 x i8]* @[[complex_int]], i32 0, i32 0), align 8
+// CHECK-DAG: @a ={{.*}} global i8* getelementptr inbounds ([3 x i8], [3 x i8]* @[[complex_int]], i32 0, i32 0), align 8
 char *a = @encode(_Complex int);
 
 // CHECK-DAG: @[[complex_float:.*]] = private unnamed_addr constant [3 x i8] c"jf\00", align 1
-// CHECK-DAG: @b = global i8* getelementptr inbounds ([3 x i8], [3 x i8]* @[[complex_float]], i32 0, i32 0), align 8
+// CHECK-DAG: @b ={{.*}} global i8* getelementptr inbounds ([3 x i8], [3 x i8]* @[[complex_float]], i32 0, i32 0), align 8
 char *b = @encode(_Complex float);
 
 // CHECK-DAG: @[[complex_double:.*]] = private unnamed_addr constant [3 x i8] c"jd\00", align 1
-// CHECK-DAG: @c = global i8* getelementptr inbounds ([3 x i8], [3 x i8]* @[[complex_double]], i32 0, i32 0), align 8
+// CHECK-DAG: @c ={{.*}} global i8* getelementptr inbounds ([3 x i8], [3 x i8]* @[[complex_double]], i32 0, i32 0), align 8
 char *c = @encode(_Complex double);
 
 // CHECK-DAG: @[[int_128:.*]] = private unnamed_addr constant [2 x i8] c"t\00", align 1
-// CHECK-DAG: @e = global i8* getelementptr inbounds ([2 x i8], [2 x i8]* @[[int_128]], i32 0, i32 0), align 8
+// CHECK-DAG: @e ={{.*}} global i8* getelementptr inbounds ([2 x i8], [2 x i8]* @[[int_128]], i32 0, i32 0), align 8
 char *e = @encode(__int128_t);
 
 // CHECK-DAG: @[[uint_128:.*]] = private unnamed_addr constant [2 x i8] c"T\00", align 1
-// CHECK-DAG: @f = global i8* getelementptr inbounds ([2 x i8], [2 x i8]* @[[uint_128]], i32 0, i32 0), align 8
+// CHECK-DAG: @f ={{.*}} global i8* getelementptr inbounds ([2 x i8], [2 x i8]* @[[uint_128]], i32 0, i32 0), align 8
 char *f = @encode(__uint128_t);

diff  --git a/clang/test/CodeGenObjC/encode-test-6.m b/clang/test/CodeGenObjC/encode-test-6.m
index 99f53a5059ed..ff7016ca47ec 100644
--- a/clang/test/CodeGenObjC/encode-test-6.m
+++ b/clang/test/CodeGenObjC/encode-test-6.m
@@ -61,6 +61,6 @@ @implementation SCNCamera
 {
     return e;
 }
-// CHECK: @e = global [2 x i8] c"i\00", align 1
-// CHECK: define i8* @Test()
+// CHECK: @e ={{.*}} global [2 x i8] c"i\00", align 1
+// CHECK: define{{.*}} i8* @Test()
 // CHECK: ret i8* getelementptr inbounds ([2 x i8], [2 x i8]* @e, i64 0, i64 0)

diff  --git a/clang/test/CodeGenObjC/encode-test.m b/clang/test/CodeGenObjC/encode-test.m
index bf5340c5c529..c86a5ab1669d 100644
--- a/clang/test/CodeGenObjC/encode-test.m
+++ b/clang/test/CodeGenObjC/encode-test.m
@@ -92,22 +92,22 @@ int main()
         const char *ee = @encode(MyObj *const);
 }
 
-// CHECK: @g0 = constant [15 x i8] c"{Innermost=CC}\00"
+// CHECK: @g0 ={{.*}} constant [15 x i8] c"{Innermost=CC}\00"
 const char g0[] = @encode(struct Innermost);
 
-// CHECK: @g1 = constant [38 x i8] c"{Derived=#ib32b8b3b8sb16b8b8b2b8ccb6}\00"
+// CHECK: @g1 ={{.*}} constant [38 x i8] c"{Derived=#ib32b8b3b8sb16b8b8b2b8ccb6}\00"
 const char g1[] = @encode(Derived);
 
-// CHECK: @g2 = constant [9 x i8] c"{B1=#@c}\00"
+// CHECK: @g2 ={{.*}} constant [9 x i8] c"{B1=#@c}\00"
 const char g2[] = @encode(B1);
 
-// CHECK: @g3 = constant [8 x i8] c"r^{S=i}\00"
+// CHECK: @g3 ={{.*}} constant [8 x i8] c"r^{S=i}\00"
 const char g3[] = @encode(const struct S *);
 
-// CHECK: @g4 = constant [6 x i8] c"{S=i}\00"
+// CHECK: @g4 ={{.*}} constant [6 x i8] c"{S=i}\00"
 const char g4[] = @encode(const struct S);
 
-// CHECK: @g5 = constant [2 x i8] c"@\00"
+// CHECK: @g5 ={{.*}} constant [2 x i8] c"@\00"
 const char g5[] = @encode(MyObj * const);
 
 ////
@@ -133,19 +133,19 @@ @implementation Base1X @end
 
 @implementation Derived1X @end
 
-// CHECK: @g6 = constant [18 x i8] c"{Base1X=b2b3b4b5}\00"
+// CHECK: @g6 ={{.*}} constant [18 x i8] c"{Base1X=b2b3b4b5}\00"
 const char g6[] = @encode(Base1X);
 
-// CHECK: @g7 = constant [27 x i8] c"{Derived1X=b2b3b4b5b5b4b3}\00"
+// CHECK: @g7 ={{.*}} constant [27 x i8] c"{Derived1X=b2b3b4b5b5b4b3}\00"
 const char g7[] = @encode(Derived1X);
 
-// CHECK: @g8 = constant [7 x i8] c"{s8=D}\00"
+// CHECK: @g8 ={{.*}} constant [7 x i8] c"{s8=D}\00"
 struct s8 {
   long double x;
 };
 const char g8[] = @encode(struct s8);
 
-// CHECK: @g9 = constant [11 x i8] c"{S9=i[0i]}\00"
+// CHECK: @g9 ={{.*}} constant [11 x i8] c"{S9=i[0i]}\00"
 struct S9 {
   int x;
   int flex[];
@@ -159,15 +159,15 @@ @implementation Derived1X @end
   int tt;
 };
 
-// CHECK: @g10 = constant [14 x i8] c"{f=i[4{?=}]i}\00"
+// CHECK: @g10 ={{.*}} constant [14 x i8] c"{f=i[4{?=}]i}\00"
 const char g10[] = @encode(struct f);
 
 // rdar://9622422
-// CHECK: @g11 = constant [2 x i8] c"v\00"
+// CHECK: @g11 ={{.*}} constant [2 x i8] c"v\00"
 const char g11[] = @encode(void);
 
 // PR14628
-// CHECK: @g12 = constant [3 x i8] c"Ai\00"
+// CHECK: @g12 ={{.*}} constant [3 x i8] c"Ai\00"
 const char g12[] = @encode(_Atomic(int));
 
 // rdar://15824769
@@ -178,7 +178,7 @@ @implementation Derived1X @end
 // CHECK: constant [14 x i8] c"{objc_class=}\00"
 // CHECK: constant [15 x i8] c"{objc_object=}\00"
 
-// CHECK: @g15 = constant [2 x i8] c":\00"
+// CHECK: @g15 ={{.*}} constant [2 x i8] c":\00"
 const char g15[] = @encode(SEL);
 
 typedef typeof(sizeof(int)) size_t;

diff  --git a/clang/test/CodeGenObjC/exceptions-asm-attribute.m b/clang/test/CodeGenObjC/exceptions-asm-attribute.m
index 93e89b8e0a8a..b4679ef02f35 100644
--- a/clang/test/CodeGenObjC/exceptions-asm-attribute.m
+++ b/clang/test/CodeGenObjC/exceptions-asm-attribute.m
@@ -9,12 +9,12 @@
 // CHECK-EHTYPE: @"OBJC_EHTYPE_$_MySecretNamespace.EH3"
 // CHECK-EHTYPE-NOT: @"OBJC_EHTYPE_$_MySecretNamespace.EH3"
 
-// CHECK-X86_64: @"OBJC_CLASS_$_MySecretNamespace.A" = global {{.*}}, section "__DATA, __objc_data", align 8
-// CHECK-X86_64: @"OBJC_METACLASS_$_MySecretNamespace.A" = global {{.*}}, section "__DATA, __objc_data", align 8
+// CHECK-X86_64: @"OBJC_CLASS_$_MySecretNamespace.A" ={{.*}} global {{.*}}, section "__DATA, __objc_data", align 8
+// CHECK-X86_64: @"OBJC_METACLASS_$_MySecretNamespace.A" ={{.*}} global {{.*}}, section "__DATA, __objc_data", align 8
 // CHECK-X86_64: @OBJC_CLASS_NAME_ = {{.*}}, section "__TEXT,__objc_classname,cstring_literals", align 1
-// CHECK-X86_64: @"OBJC_EHTYPE_$_MySecretNamespace.EH1" = weak global {{.*}}, align 8
+// CHECK-X86_64: @"OBJC_EHTYPE_$_MySecretNamespace.EH1" = weak{{.*}} global {{.*}}, align 8
 // CHECK-X86_64: @"OBJC_EHTYPE_$_MySecretNamespace.EH2" = external global
-// CHECK-X86_64: @"OBJC_EHTYPE_$_MySecretNamespace.EH3" = global {{.*}}, section "__DATA,__objc_const", align 8
+// CHECK-X86_64: @"OBJC_EHTYPE_$_MySecretNamespace.EH3" ={{.*}} global {{.*}}, section "__DATA,__objc_const", align 8
 // CHECK-X86_64: @"OBJC_LABEL_CLASS_$" = private global {{.*}}, section "__DATA,__objc_classlist,regular,no_dead_strip", align 8
 // CHECK-X86_64: define internal void @"\01-[A im0]"
 // CHECK-X86_64: define internal void @"\01-[A(Cat) im1]"
@@ -33,12 +33,12 @@
 // RUN: %clang_cc1 -triple armv6-apple-darwin10 -target-abi apcs-gnu -Wno-objc-root-class -fobjc-exceptions -emit-llvm -o %t %s
 // RUN: FileCheck -check-prefix=CHECK-ARMV6 < %t %s
 
-// CHECK-ARMV6: @"OBJC_CLASS_$_MySecretNamespace.A" = global {{.*}}, section "__DATA, __objc_data", align 4
-// CHECK-ARMV6: @"OBJC_METACLASS_$_MySecretNamespace.A" = global {{.*}}, section "__DATA, __objc_data", align 4
+// CHECK-ARMV6: @"OBJC_CLASS_$_MySecretNamespace.A" ={{.*}} global {{.*}}, section "__DATA, __objc_data", align 4
+// CHECK-ARMV6: @"OBJC_METACLASS_$_MySecretNamespace.A" ={{.*}} global {{.*}}, section "__DATA, __objc_data", align 4
 // CHECK-ARMV6: @OBJC_CLASS_NAME_ = {{.*}}, section "__TEXT,__objc_classname,cstring_literals", align 1
-// CHECK-ARMV6: @"OBJC_EHTYPE_$_MySecretNamespace.EH1" = weak global {{.*}}, align 4
+// CHECK-ARMV6: @"OBJC_EHTYPE_$_MySecretNamespace.EH1" = weak{{.*}} global {{.*}}, align 4
 // CHECK-ARMV6: @"OBJC_EHTYPE_$_MySecretNamespace.EH2" = external global
-// CHECK-ARMV6: @"OBJC_EHTYPE_$_MySecretNamespace.EH3" = global {{.*}}, section "__DATA,__objc_const", align 4
+// CHECK-ARMV6: @"OBJC_EHTYPE_$_MySecretNamespace.EH3" ={{.*}} global {{.*}}, section "__DATA,__objc_const", align 4
 // CHECK-ARMV6: @"OBJC_LABEL_CLASS_$" = private global {{.*}}, section "__DATA,__objc_classlist,regular,no_dead_strip", align 4
 // CHECK-ARMV6: define internal void @"\01-[A im0]"
 // CHECK-ARMV6: define internal void @"\01-[A(Cat) im1]"

diff  --git a/clang/test/CodeGenObjC/exceptions-nonfragile.m b/clang/test/CodeGenObjC/exceptions-nonfragile.m
index 212a1eedd45f..bc4c809ffa14 100644
--- a/clang/test/CodeGenObjC/exceptions-nonfragile.m
+++ b/clang/test/CodeGenObjC/exceptions-nonfragile.m
@@ -26,6 +26,6 @@ void test2(void) {
     test2_helper();
   }
 
-  // CHECK-LABEL: define void @test2()
+  // CHECK-LABEL: define{{.*}} void @test2()
   // CHECK-NOT: call void @test2_helper()
 }

diff  --git a/clang/test/CodeGenObjC/exceptions.m b/clang/test/CodeGenObjC/exceptions.m
index d95398e71014..1db03be2516a 100644
--- a/clang/test/CodeGenObjC/exceptions.m
+++ b/clang/test/CodeGenObjC/exceptions.m
@@ -14,7 +14,7 @@ void f0() {
   }
 }
 
-// CHECK-LABEL: 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-LABEL: define i32 @f2()
+// CHECK-LABEL: define{{.*}} i32 @f2()
 int f2() {
   extern void foo(void);
 
@@ -75,7 +75,7 @@ int f2() {
 
 // Test that the cleanup destination is saved when entering a finally
 // block.  rdar://problem/8293901
-// CHECK-LABEL: define void @f3()
+// CHECK-LABEL: define{{.*}} void @f3()
 void f3() {
   extern void f3_helper(int, int*);
 
@@ -131,7 +131,7 @@ void f3() {
 void f4() {
   extern void f4_help(int);
 
-  // CHECK-LABEL: define void @f4()
+  // CHECK-LABEL: define{{.*}} void @f4()
   // CHECK:      [[EXNDATA:%.*]] = alloca [[EXNDATA_T:%.*]], align
   // CHECK:      call void @objc_exception_try_enter([[EXNDATA_T]]* nonnull [[EXNDATA]])
   // CHECK:      call i32 @_setjmp

diff  --git a/clang/test/CodeGenObjC/extern-void-class-decl.m b/clang/test/CodeGenObjC/extern-void-class-decl.m
index c673b005cd5c..f3a36059a1c2 100644
--- a/clang/test/CodeGenObjC/extern-void-class-decl.m
+++ b/clang/test/CodeGenObjC/extern-void-class-decl.m
@@ -10,5 +10,5 @@ @implementation f @end
 // Check that we override the initializer for c, and that OBJC_CLASS_$_f gets
 // the right definition.
 
-// CHECK: @c = global i8* bitcast (%struct._class_t* @"OBJC_CLASS_$_f" to i8*)
-// CHECK: @"OBJC_CLASS_$_f" = global %struct._class_t
+// CHECK: @c ={{.*}} global i8* bitcast (%struct._class_t* @"OBJC_CLASS_$_f" to i8*)
+// CHECK: @"OBJC_CLASS_$_f" ={{.*}} global %struct._class_t

diff  --git a/clang/test/CodeGenObjC/externally-retained.m b/clang/test/CodeGenObjC/externally-retained.m
index b842b8c4c68c..2d6cb10c7dc7 100644
--- a/clang/test/CodeGenObjC/externally-retained.m
+++ b/clang/test/CodeGenObjC/externally-retained.m
@@ -20,14 +20,14 @@ @interface ObjTy @end
 #endif
 
 void param(ObjTy *p) EXT_RET {
-  // CHECK-LABEL: define void @param
+  // CHECK-LABEL: define{{.*}} void @param
   // CHECK-NOT: llvm.objc.
   // CHECK: ret
 }
 
 void local() {
   EXT_RET ObjTy *local = global;
-  // CHECK-LABEL: define void @local
+  // CHECK-LABEL: define{{.*}} void @local
   // CHECK-NOT: llvm.objc.
   // CHECK: ret
 }
@@ -39,7 +39,7 @@ void in_init() {
   // initializer is being evaluated.
   EXT_RET ObjTy *wat = 0 ? wat : global;
 
-  // CHECK-LABEL: define void @in_init
+  // CHECK-LABEL: define{{.*}} void @in_init
   // CHECK: [[WAT:%.*]] = alloca
   // CHECK-NEXT: store {{.*}} null, {{.*}} [[WAT]]
   // CHECK-NEXT: [[GLOBAL:%.*]] = load {{.*}} @global
@@ -57,7 +57,7 @@ void in_init() {
 void block_capture(ObjTy *obj) EXT_RET {
   esc(^{ (void)obj; });
 
-  // CHECK-LABEL: define void @block_capture
+  // CHECK-LABEL: define{{.*}} void @block_capture
   // CHECK-NOT: llvm.objc.
   // CHECK: call i8* @llvm.objc.retain
   // CHECK-NOT: llvm.objc.

diff  --git a/clang/test/CodeGenObjC/for-in.m b/clang/test/CodeGenObjC/for-in.m
index 20e89b33affa..30d46da20752 100644
--- a/clang/test/CodeGenObjC/for-in.m
+++ b/clang/test/CodeGenObjC/for-in.m
@@ -19,7 +19,7 @@ -(const char*) cString;
 #define L5(n) L4(n+0),L4(n+16)
 #define L6(n) L5(n+0),L5(n+32)
 
-// CHECK-LABEL: define void @t0
+// CHECK-LABEL: define{{.*}} void @t0
 void t0() {
   NSArray *array = [NSArray arrayWithObjects: L1(0), (void*)0];
 

diff  --git a/clang/test/CodeGenObjC/fp2ret.m b/clang/test/CodeGenObjC/fp2ret.m
index 5f7c76d6cdd8..93f8992a9734 100644
--- a/clang/test/CodeGenObjC/fp2ret.m
+++ b/clang/test/CodeGenObjC/fp2ret.m
@@ -12,15 +12,15 @@ -(_Complex long double) complexLongDoubleValue;
 @end
 
 
-// CHECK-X86_32-LABEL: 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-LABEL: 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-LABEL: define void @t0()
+// CHECK-ARMV7-LABEL: define{{.*}} void @t0()
 // CHECK-ARMV7: call i128 bitcast {{.*}} @objc_msgSend to
 // CHECK-ARMV7: }
 void t0() {

diff  --git a/clang/test/CodeGenObjC/fpret.m b/clang/test/CodeGenObjC/fpret.m
index 7fe550177d4c..07841c524a79 100644
--- a/clang/test/CodeGenObjC/fpret.m
+++ b/clang/test/CodeGenObjC/fpret.m
@@ -14,19 +14,19 @@ -(long double) longDoubleValue;
 @end
 
 
-// CHECK-X86_32-LABEL: 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-LABEL: 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-LABEL: 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

diff  --git a/clang/test/CodeGenObjC/fragile-arc.m b/clang/test/CodeGenObjC/fragile-arc.m
index 8b2d04ce92b9..b6852d7cc2c6 100644
--- a/clang/test/CodeGenObjC/fragile-arc.m
+++ b/clang/test/CodeGenObjC/fragile-arc.m
@@ -137,7 +137,7 @@ void testBlockLayoutWeak(__weak id x) {
   useBlock(^{ (void) x; });
 }
 
-// CHECK-LABEL: define void @testCatch()
+// CHECK-LABEL: define{{.*}} void @testCatch()
 // CHECK: [[X:%.*]] = alloca [[A:%.*]]*, align 4
 // CHECK: [[Y:%.*]] = alloca i8*, align 4
 // CHECK: call void @objc_exception_try_enter

diff  --git a/clang/test/CodeGenObjC/gc.m b/clang/test/CodeGenObjC/gc.m
index 6b6d293557e8..892bb7139859 100644
--- a/clang/test/CodeGenObjC/gc.m
+++ b/clang/test/CodeGenObjC/gc.m
@@ -4,7 +4,7 @@ void test0(void) {
   extern id test0_helper(void);
   __attribute__((objc_precise_lifetime)) id x = test0_helper();
   test0_helper();
-  // CHECK-LABEL: 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()

diff  --git a/clang/test/CodeGenObjC/ivar-invariant.m b/clang/test/CodeGenObjC/ivar-invariant.m
index eb1ba9a0d73d..c86df948969b 100644
--- a/clang/test/CodeGenObjC/ivar-invariant.m
+++ b/clang/test/CodeGenObjC/ivar-invariant.m
@@ -40,7 +40,7 @@ - (id) init
     return ptr;
 }
 
-// CHECK-LABEL: define i8* @variant_load_1(i32 %i)
+// CHECK-LABEL: define{{.*}} i8* @variant_load_1(i32 %i)
 // CHECK: [[IVAR:%.*]] = load i64, i64* @"OBJC_IVAR_$_Derived.member", align 8{{$}}
 
 @interface Container : Derived @end

diff  --git a/clang/test/CodeGenObjC/local-static-block.m b/clang/test/CodeGenObjC/local-static-block.m
index 4d52029c18ea..26d87b03f6f3 100644
--- a/clang/test/CodeGenObjC/local-static-block.m
+++ b/clang/test/CodeGenObjC/local-static-block.m
@@ -57,7 +57,7 @@ static void (^const block1)(int) = ^(int a){
   };
 }
 
-// CHECK-LABEL: define void @FUNC2(
+// CHECK-LABEL: define{{.*}} void @FUNC2(
 // CHECK: define internal void @_block_invoke{{.*}}(
 // CHECK: call void %{{.*}}(i8* bitcast ({ i8**, i32, i32, i8*, %struct.__block_descriptor* }* @__block_literal_global{{.*}} to i8*), i32 %{{.*}})
 

diff  --git a/clang/test/CodeGenObjC/matrix-type-builtins.m b/clang/test/CodeGenObjC/matrix-type-builtins.m
index 19bd957bb682..f0faaace4442 100644
--- a/clang/test/CodeGenObjC/matrix-type-builtins.m
+++ b/clang/test/CodeGenObjC/matrix-type-builtins.m
@@ -12,7 +12,7 @@ @interface DoubleMatrixValue
 @end
 
 void test_transpose_placeholder_get(DoubleMatrixValue *m, double2x4 *r) {
-  // CHECK-LABEL: define void @test_transpose_placeholder_get(
+  // CHECK-LABEL: define{{.*}} void @test_transpose_placeholder_get(
   // CHECK:         [[MATRIX:%.*]] = call <8 x double> bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to <8 x double> (i8*, i8*)*)(
   // CHECK-NEXT:   [[MT:%.*]] = call <8 x double> @llvm.matrix.transpose.v8f64(<8 x double> %call, i32 4, i32 2)
   // CHECK-NEXT:   [[R_ADDR:%.*]] = load [8 x double]*, [8 x double]** %r.addr, align 8
@@ -32,7 +32,7 @@ @interface UnsignedMatrixValue
 @end
 
 void test_transpose_placeholder_set(UnsignedMatrixValue *m, u4x3 *r) {
-  // CHECK-LABEL: define void @test_transpose_placeholder_set(
+  // CHECK-LABEL: define{{.*}} void @test_transpose_placeholder_set(
   // CHECK:         [[MATRIX:%.*]] = load <12 x i32>, <12 x i32>* {{.*}}, align 4
   // CHECK-NEXT:    [[MT:%.*]] = call <12 x i32> @llvm.matrix.transpose.v12i32(<12 x i32> [[MATRIX]], i32 4, i32 3)
   // CHECK:         call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, <12 x i32>)*)(i8* {{.*}}, i8* {{.*}}, <12 x i32> [[MT]])
@@ -52,7 +52,7 @@ @interface IntValue
 @end
 
 void test_column_major_load(PtrValue *Ptr, IntValue *Stride) {
-  // CHECK-LABEL: define void @test_column_major_load(%2* %Ptr, %3* %Stride) #4 {
+  // CHECK-LABEL: define{{.*}} void @test_column_major_load(%2* %Ptr, %3* %Stride) #4 {
   // CHECK:         [[STRIDE:%.*]] = call i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)
   // CHECK-NEXT:    [[STRIDE_EXT:%.*]] = sext i32 [[STRIDE]] to i64
   // CHECK:         [[PTR:%.*]] = call i32* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32* (i8*, i8*)*)
@@ -62,7 +62,7 @@ void test_column_major_load(PtrValue *Ptr, IntValue *Stride) {
 }
 
 void test_column_major_store(UnsignedMatrixValue *M, PtrValue *Ptr, IntValue *Stride) {
-  // CHECK-LABEL: define void @test_column_major_store(%1* %M, %2* %Ptr, %3* %Stride) #3 {
+  // CHECK-LABEL: define{{.*}} void @test_column_major_store(%1* %M, %2* %Ptr, %3* %Stride) #3 {
   // CHECK:         [[M:%.*]] = call <12 x i32> bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to <12 x i32> (i8*, i8*)*)
   // CHECK:         [[PTR:%.*]] = call i32* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32* (i8*, i8*)*)
   // CHECK:         [[IDX:%.*]] = call i32 bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 (i8*, i8*)*)

diff  --git a/clang/test/CodeGenObjC/messages-2.m b/clang/test/CodeGenObjC/messages-2.m
index 38c5d5016a92..d1046f4ac8cb 100644
--- a/clang/test/CodeGenObjC/messages-2.m
+++ b/clang/test/CodeGenObjC/messages-2.m
@@ -145,8 +145,8 @@ -(const float) returnAConstFloat {
 @end
 
 // rdar://problem/7854674
-// CHECK:    define void @test0([[A:%.*]]*
-// CHECK-NF: define void @test0([[A:%.*]]*
+// CHECK:    define{{.*}} void @test0([[A:%.*]]*
+// CHECK-NF: define{{.*}} void @test0([[A:%.*]]*
 void test0(A *x) {
   // CHECK:         [[X:%.*]] = alloca [[A]]*
   // CHECK-NEXT:    [[POINT:%.*]] = alloca [[POINT_T:%.*]],

diff  --git a/clang/test/CodeGenObjC/metadata-symbols-64.m b/clang/test/CodeGenObjC/metadata-symbols-64.m
index 3ff3261053a8..96a79470bfdd 100644
--- a/clang/test/CodeGenObjC/metadata-symbols-64.m
+++ b/clang/test/CodeGenObjC/metadata-symbols-64.m
@@ -1,10 +1,10 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-dispatch-method=mixed -emit-llvm -o - %s | FileCheck %s
 
-// CHECK: @"OBJC_IVAR_$_A._ivar" = global {{.*}} section "__DATA, __objc_ivar", align 8
+// CHECK: @"OBJC_IVAR_$_A._ivar" ={{.*}} global {{.*}} section "__DATA, __objc_ivar", align 8
 // CHECK: @_objc_empty_cache = external global
 // CHECK: @_objc_empty_vtable = external global
-// CHECK: @"OBJC_CLASS_$_A" = global
-// CHECK: @"OBJC_METACLASS_$_A" = global {{.*}} section "__DATA, __objc_data", align 8
+// CHECK: @"OBJC_CLASS_$_A" ={{.*}} global
+// CHECK: @"OBJC_METACLASS_$_A" ={{.*}} global {{.*}} section "__DATA, __objc_data", align 8
 // CHECK: @OBJC_CLASS_NAME_{{[0-9]*}} = private unnamed_addr constant {{.*}} section "__TEXT,__objc_classname,cstring_literals", align 1
 // CHECK: @OBJC_METH_VAR_NAME_{{[0-9]*}} = private unnamed_addr constant {{.*}} section "__TEXT,__objc_methname,cstring_literals", align 1
 // CHECK: @OBJC_METH_VAR_TYPE_{{[0-9]*}} = private unnamed_addr constant {{.*}} section "__TEXT,__objc_methtype,cstring_literals", align 1

diff  --git a/clang/test/CodeGenObjC/metadata_symbols.m b/clang/test/CodeGenObjC/metadata_symbols.m
index 9aee55bb8e1a..697fa9a048cd 100644
--- a/clang/test/CodeGenObjC/metadata_symbols.m
+++ b/clang/test/CodeGenObjC/metadata_symbols.m
@@ -8,12 +8,12 @@
 // CHECK-EHTYPE: @"OBJC_EHTYPE_$_EH3"
 // CHECK-EHTYPE-NOT: @"OBJC_EHTYPE_$_EH3"
 
-// CHECK-X86_64: @"OBJC_CLASS_$_A" = global {{.*}}, section "__DATA, __objc_data", align 8
-// CHECK-X86_64: @"OBJC_METACLASS_$_A" = global {{.*}}, section "__DATA, __objc_data", align 8
+// CHECK-X86_64: @"OBJC_CLASS_$_A" ={{.*}} global {{.*}}, section "__DATA, __objc_data", align 8
+// CHECK-X86_64: @"OBJC_METACLASS_$_A" ={{.*}} global {{.*}}, section "__DATA, __objc_data", align 8
 // CHECK-X86_64: @OBJC_CLASS_NAME_ = {{.*}}, section "__TEXT,__objc_classname,cstring_literals", align 1
-// CHECK-X86_64: @"OBJC_EHTYPE_$_EH1" = weak global {{.*}}, align 8
+// CHECK-X86_64: @"OBJC_EHTYPE_$_EH1" = weak{{.*}} global {{.*}}, align 8
 // CHECK-X86_64: @"OBJC_EHTYPE_$_EH2" = external global
-// CHECK-X86_64: @"OBJC_EHTYPE_$_EH3" = global {{.*}}, section "__DATA,__objc_const", align 8
+// CHECK-X86_64: @"OBJC_EHTYPE_$_EH3" ={{.*}} global {{.*}}, section "__DATA,__objc_const", align 8
 // CHECK-X86_64: @"OBJC_LABEL_CLASS_$" = private global {{.*}}, section "__DATA,__objc_classlist,regular,no_dead_strip", align 8
 // CHECK-X86_64: define internal void @"\01-[A im0]"
 // CHECK-X86_64: define internal void @"\01-[A(Cat) im1]"
@@ -32,12 +32,12 @@
 // RUN: %clang_cc1 -triple armv6-apple-darwin10 -target-abi apcs-gnu -Wno-objc-root-class -fobjc-exceptions -emit-llvm -o %t %s
 // RUN: FileCheck -check-prefix=CHECK-ARMV6 < %t %s
 
-// CHECK-ARMV6: @"OBJC_CLASS_$_A" = global {{.*}}, section "__DATA, __objc_data", align 4
-// CHECK-ARMV6: @"OBJC_METACLASS_$_A" = global {{.*}}, section "__DATA, __objc_data", align 4
+// CHECK-ARMV6: @"OBJC_CLASS_$_A" ={{.*}} global {{.*}}, section "__DATA, __objc_data", align 4
+// CHECK-ARMV6: @"OBJC_METACLASS_$_A" ={{.*}} global {{.*}}, section "__DATA, __objc_data", align 4
 // CHECK-ARMV6: @OBJC_CLASS_NAME_ = {{.*}}, section "__TEXT,__objc_classname,cstring_literals", align 1
-// CHECK-ARMV6: @"OBJC_EHTYPE_$_EH1" = weak global {{.*}}, align 4
+// CHECK-ARMV6: @"OBJC_EHTYPE_$_EH1" = weak{{.*}} global {{.*}}, align 4
 // CHECK-ARMV6: @"OBJC_EHTYPE_$_EH2" = external global
-// CHECK-ARMV6: @"OBJC_EHTYPE_$_EH3" = global {{.*}}, section "__DATA,__objc_const", align 4
+// CHECK-ARMV6: @"OBJC_EHTYPE_$_EH3" ={{.*}} global {{.*}}, section "__DATA,__objc_const", align 4
 // CHECK-ARMV6: @"OBJC_LABEL_CLASS_$" = private global {{.*}}, section "__DATA,__objc_classlist,regular,no_dead_strip", align 4
 // CHECK-ARMV6: define internal void @"\01-[A im0]"
 // CHECK-ARMV6: define internal void @"\01-[A(Cat) im1]"

diff  --git a/clang/test/CodeGenObjC/mrc-weak.m b/clang/test/CodeGenObjC/mrc-weak.m
index 11e93f416f8d..4c2e64c87a7e 100644
--- a/clang/test/CodeGenObjC/mrc-weak.m
+++ b/clang/test/CodeGenObjC/mrc-weak.m
@@ -12,8 +12,8 @@ @interface HighlyAligned : Object {
   __attribute__((aligned(32))) void *array[2];
 }
 @end
-// CHECK-MODERN: @"OBJC_IVAR_$_HighlyAlignedSubclass.ivar2" = global i64 24,
-// CHECK-MODERN: @"OBJC_IVAR_$_HighlyAlignedSubclass.ivar" = global i64 16,
+// CHECK-MODERN: @"OBJC_IVAR_$_HighlyAlignedSubclass.ivar2" ={{.*}} global i64 24,
+// CHECK-MODERN: @"OBJC_IVAR_$_HighlyAlignedSubclass.ivar" ={{.*}} global i64 16,
 // CHECK-MODERN: @OBJC_CLASS_NAME_{{.*}} = {{.*}} c"\02\00"
 // CHECK-MODERN: @"_OBJC_CLASS_RO_$_HighlyAlignedSubclass" = {{.*}} {
 // CHECK-FRAGILE: @OBJC_INSTANCE_VARIABLES_HighlyAlignedSubclass = {{.*}}, i32 8 }, {{.*}}, i32 12 }]
@@ -51,7 +51,7 @@ @implementation Foo
 
 
 void test1(__weak id x) {}
-// CHECK-LABEL: define void @test1
+// CHECK-LABEL: define{{.*}} void @test1
 // CHECK:      [[X:%.*]] = alloca i8*,
 // CHECK-NEXT: @llvm.objc.initWeak
 // CHECK-NEXT: @llvm.objc.destroyWeak
@@ -60,7 +60,7 @@ void test1(__weak id x) {}
 void test2(id y) {
   __weak id z = y;
 }
-// CHECK-LABEL: define void @test2
+// CHECK-LABEL: define{{.*}} void @test2
 // CHECK:      [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: [[Z:%.*]] = alloca i8*,
 // CHECK-NEXT: store
@@ -73,7 +73,7 @@ void test3(id y) {
   __weak id z;
   z = y;
 }
-// CHECK-LABEL: define void @test3
+// CHECK-LABEL: define{{.*}} void @test3
 // CHECK:      [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: [[Z:%.*]] = alloca i8*,
 // CHECK-NEXT: store
@@ -86,7 +86,7 @@ void test3(id y) {
 void test4(__weak id *p) {
   id y = *p;
 }
-// CHECK-LABEL: define void @test4
+// CHECK-LABEL: define{{.*}} void @test4
 // CHECK:      [[P:%.*]] = alloca i8**,
 // CHECK-NEXT: [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: store
@@ -98,7 +98,7 @@ void test4(__weak id *p) {
 void test5(__weak id *p) {
   id y = [*p retain];
 }
-// CHECK-LABEL: define void @test5
+// CHECK-LABEL: define{{.*}} void @test5
 // CHECK:      [[P:%.*]] = alloca i8**,
 // CHECK-NEXT: [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: store
@@ -110,7 +110,7 @@ void test5(__weak id *p) {
 void test6(__weak Foo **p) {
   Foo *y = [*p retain];
 }
-// CHECK-LABEL: define void @test6
+// CHECK-LABEL: define{{.*}} void @test6
 // CHECK:      [[P:%.*]] = alloca [[FOO:%.*]]**,
 // CHECK-NEXT: [[Y:%.*]] = alloca [[FOO]]*,
 // CHECK-NEXT: store
@@ -128,7 +128,7 @@ void test7(void) {
   __weak Foo *p = get_object();
   use_block(^{ [p run ]; });
 }
-// CHECK-LABEL: define void @test7
+// CHECK-LABEL: define{{.*}} void @test7
 // CHECK:       [[P:%.*]] = alloca [[FOO]]*,
 // CHECK:       [[T0:%.*]] = call i8* @get_object()
 // CHECK-NEXT:  [[T1:%.*]] = bitcast i8* [[T0]] to [[FOO]]*
@@ -149,7 +149,7 @@ void test8(void) {
   __block __weak Foo *p = get_object();
   use_block(^{ [p run ]; });
 }
-// CHECK-LABEL: define void @test8
+// CHECK-LABEL: define{{.*}} void @test8
 // CHECK:       call i8* @llvm.objc.initWeak
 // CHECK-NOT:   call void @llvm.objc.copyWeak
 // CHECK:       call void @use_block
@@ -161,7 +161,7 @@ void test8(void) {
 // CHECK-LABEL: define internal void @__Block_byref_object_dispose
 // CHECK:       call void @llvm.objc.destroyWeak
 
-// CHECK-LABEL: define void @test9_baseline()
+// CHECK-LABEL: define{{.*}} void @test9_baseline()
 // CHECK:       define linkonce_odr hidden void @__copy_helper
 // CHECK:       define linkonce_odr hidden void @__destroy_helper
 void test9_baseline(void) {
@@ -169,20 +169,20 @@ void test9_baseline(void) {
   use_block(^{ [p run]; });
 }
 
-// CHECK-LABEL: define void @test9()
+// CHECK-LABEL: define{{.*}} void @test9()
 // CHECK-NOT:   define linkonce_odr hidden void @__copy_helper
 // CHECK-NOT:   define linkonce_odr hidden void @__destroy_helper
-// CHECK:       define void @test9_fin()
+// CHECK:       define{{.*}} void @test9_fin()
 void test9(void) {
   __unsafe_unretained Foo *p = get_object();
   use_block(^{ [p run]; });
 }
 void test9_fin() {}
 
-// CHECK-LABEL: define void @test10()
+// CHECK-LABEL: define{{.*}} void @test10()
 // CHECK-NOT:   define linkonce_odr hidden void @__copy_helper
 // CHECK-NOT:   define linkonce_odr hidden void @__destroy_helper
-// CHECK:       define void @test10_fin()
+// CHECK:       define{{.*}} void @test10_fin()
 void test10(void) {
   typedef __unsafe_unretained Foo *UnsafeFooPtr;
   UnsafeFooPtr p = get_object();

diff  --git a/clang/test/CodeGenObjC/noescape.m b/clang/test/CodeGenObjC/noescape.m
index 976e7e2f2b21..1bdcce2efdd0 100644
--- a/clang/test/CodeGenObjC/noescape.m
+++ b/clang/test/CodeGenObjC/noescape.m
@@ -27,28 +27,28 @@
 // CHECK: %[[STRUCT_S0]] = type { i8*, i8* }
 // CHECK: @[[BLOCK_DESCIPTOR_TMP_2:.*ls32l8"]] = linkonce_odr hidden unnamed_addr constant { i64, i64, i8*, i64 } { i64 0, i64 40, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @{{.*}}, i32 0, i32 0), i64 256 }, align 8
 
-// CHECK-LABEL: define void @test0(
+// CHECK-LABEL: define{{.*}} void @test0(
 // CHECK: call void @noescapeFunc0({{.*}}, {{.*}} nocapture {{.*}})
 // CHECK: declare void @noescapeFunc0(i8*, {{.*}} nocapture)
 void test0(BlockTy b) {
   noescapeFunc0(0, b);
 }
 
-// CHECK-LABEL: define void @test1(
+// CHECK-LABEL: define{{.*}} void @test1(
 // CHECK: call void @noescapeFunc1({{.*}} nocapture {{.*}})
 // CHECK: declare void @noescapeFunc1({{.*}} nocapture)
 void test1(int *i) {
   noescapeFunc1(i);
 }
 
-// CHECK-LABEL: define void @test2(
+// CHECK-LABEL: define{{.*}} void @test2(
 // CHECK: call void @noescapeFunc2({{.*}} nocapture {{.*}})
 // CHECK: declare void @noescapeFunc2({{.*}} nocapture)
 void test2(id i) {
   noescapeFunc2(i);
 }
 
-// CHECK-LABEL: define void @test3(
+// CHECK-LABEL: define{{.*}} void @test3(
 // CHECK: call void @noescapeFunc3({{.*}} nocapture {{.*}})
 // CHECK: declare void @noescapeFunc3({{.*}} nocapture)
 void test3(union U u) {
@@ -57,7 +57,7 @@ void test3(union U u) {
 
 // CHECK: define internal void @"\01-[C0 m0:]"({{.*}}, {{.*}}, {{.*}} nocapture {{.*}})
 
-// CHECK-LABEL: define void @test4(
+// CHECK-LABEL: define{{.*}} void @test4(
 // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, i32*)*)(i8* {{.*}}, i8* {{.*}}, i32* nocapture {{.*}})
 
 @interface C0
@@ -73,7 +73,7 @@ void test4(C0 *c0, int *p) {
   [c0 m0:p];
 }
 
-// CHECK-LABEL: define void @test5(
+// CHECK-LABEL: define{{.*}} void @test5(
 // CHECK: call void {{.*}}(i8* bitcast ({ i8**, i32, i32, i8*, {{.*}} }* @{{.*}} to i8*), i32* nocapture {{.*}})
 // CHECK: call void {{.*}}(i8* {{.*}}, i32* nocapture {{.*}})
 // CHECK: define internal void @{{.*}}(i8* {{.*}}, i32* nocapture {{.*}})
@@ -88,7 +88,7 @@ void test5(BlockTy2 b, int *p) {
 // If the block is non-escaping, set the BLOCK_IS_NOESCAPE and BLOCK_IS_GLOBAL
 // bits of field 'flags' and set the 'isa' field to 'NSConcreteGlobalBlock'.
 
-// CHECK: define void @test6(i8* %{{.*}}, i8* %[[B:.*]])
+// CHECK: define{{.*}} void @test6(i8* %{{.*}}, i8* %[[B:.*]])
 // CHECK: %{{.*}} = alloca i8*, align 8
 // CHECK: %[[B_ADDR:.*]] = alloca i8*, align 8
 // CHECK: %[[BLOCK:.*]] = alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8* }>, align 8
@@ -125,7 +125,7 @@ void test6(id a, id b) {
 // We don't need either the byref helper functions or the byref structs for
 // __block variables that are not captured by escaping blocks.
 
-// CHECK: define void @test7(
+// CHECK: define{{.*}} void @test7(
 // CHECK: alloca i8*, align 8
 // CHECK: %[[B0:.*]] = alloca i8*, align 8
 // CHECK: %[[BLOCK:.*]] = alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8** }>, align 8
@@ -143,7 +143,7 @@ void test7() {
 
 // __block variables captured by escaping blocks need byref helper functions.
 
-// CHECK: define void @test8(
+// CHECK: define{{.*}} void @test8(
 // CHECK: %[[A:.*]] = alloca i8*, align 8
 // CHECK: %[[B0:.*]] = alloca %[[STRUCT_BLOCK_BYREF_B0]], align 8
 // CHECK: alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8* }>, align 8

diff  --git a/clang/test/CodeGenObjC/nontrivial-c-struct-exception.m b/clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
index d2a41f7d5525..10fc3a3db6b6 100644
--- a/clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
+++ b/clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
@@ -13,7 +13,7 @@
   __weak id f1;
 } Weak;
 
-// CHECK: define void @testStrongException()
+// CHECK: define{{.*}} void @testStrongException()
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: %[[AGG_TMP1:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: %[[CALL:.*]] = call [2 x i64] @genStrong()
@@ -38,7 +38,7 @@ void testStrongException(void) {
   calleeStrong(genStrong(), genStrong());
 }
 
-// CHECK: define void @testWeakException()
+// CHECK: define{{.*}} void @testWeakException()
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_WEAK]], align 8
 // CHECK: %[[AGG_TMP1:.*]] = alloca %[[STRUCT_WEAK]], align 8
 // CHECK: call void @genWeak(%[[STRUCT_WEAK]]* sret(%[[STRUCT_WEAK]]) align 8 %[[AGG_TMP]])

diff  --git a/clang/test/CodeGenObjC/nontrivial-struct-param-init.m b/clang/test/CodeGenObjC/nontrivial-struct-param-init.m
index 96a63b83ac76..6a4c52035a76 100644
--- a/clang/test/CodeGenObjC/nontrivial-struct-param-init.m
+++ b/clang/test/CodeGenObjC/nontrivial-struct-param-init.m
@@ -6,7 +6,7 @@
   id x;
 } S;
 
-// CHECK: define void @test0(i8* %[[A_0:.*]])
+// CHECK: define{{.*}} void @test0(i8* %[[A_0:.*]])
 // CHECK: %[[A:.*]] = alloca %[[STRUCT_S]], align 4
 // CHECK: %[[X:.*]] = getelementptr inbounds %[[STRUCT_S]], %[[STRUCT_S]]* %[[A]], i32 0, i32 0
 // CHECK: store i8* %[[A_0]], i8** %[[X]], align 4

diff  --git a/clang/test/CodeGenObjC/ns_consume_null_check.m b/clang/test/CodeGenObjC/ns_consume_null_check.m
index 292dfeedb9b6..3a0aa6f7c596 100644
--- a/clang/test/CodeGenObjC/ns_consume_null_check.m
+++ b/clang/test/CodeGenObjC/ns_consume_null_check.m
@@ -16,7 +16,7 @@ void test0(void) {
   id obj = [NSObject new];
   [x isEqual : obj];
 }
-// CHECK-LABEL:     define void @test0()
+// CHECK-LABEL:     define{{.*}} void @test0()
 // CHECK:       [[FIVE:%.*]] = call i8* @llvm.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-LABEL:    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

diff  --git a/clang/test/CodeGenObjC/nsvalue-objc-boxable-ios-arc.m b/clang/test/CodeGenObjC/nsvalue-objc-boxable-ios-arc.m
index 4ca5adf1ca6f..00fffddf570b 100644
--- a/clang/test/CodeGenObjC/nsvalue-objc-boxable-ios-arc.m
+++ b/clang/test/CodeGenObjC/nsvalue-objc-boxable-ios-arc.m
@@ -12,7 +12,7 @@
 // CHECK:      [[RECT_STR:.*]]      = {{.*}}CGRect={CGPoint=dd}{CGSize=dd}}{{.*}}
 // CHECK:      [[EDGE_STR:.*]]      = {{.*}}NSEdgeInsets=dddd{{.*}}
 
-// CHECK-LABEL: define void @doRange()
+// CHECK-LABEL: define{{.*}} void @doRange()
 void doRange() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSRange{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSRange{{.*}}
@@ -31,7 +31,7 @@ void doRange() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doPoint()
+// CHECK-LABEL: define{{.*}} void @doPoint()
 void doPoint() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.CGPoint{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.CGPoint{{.*}}
@@ -50,7 +50,7 @@ void doPoint() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doSize()
+// CHECK-LABEL: define{{.*}} void @doSize()
 void doSize() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.CGSize{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.CGSize{{.*}}
@@ -69,7 +69,7 @@ void doSize() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doRect()
+// CHECK-LABEL: define{{.*}} void @doRect()
 void doRect() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.CGRect{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.CGRect{{.*}}
@@ -90,7 +90,7 @@ void doRect() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doNSEdgeInsets()
+// CHECK-LABEL: define{{.*}} void @doNSEdgeInsets()
 void doNSEdgeInsets() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.NSEdgeInsets{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.NSEdgeInsets{{.*}}
@@ -109,7 +109,7 @@ void doNSEdgeInsets() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doRangeRValue() 
+// CHECK-LABEL: define{{.*}} void @doRangeRValue() 
 void doRangeRValue() {
   // CHECK:     [[COERCE:%.*]]          = alloca %struct._NSRange{{.*}}
   // CHECK:     [[RECV_PTR:%.*]]        = load {{.*}} [[NSVALUE]]

diff  --git a/clang/test/CodeGenObjC/nsvalue-objc-boxable-ios.m b/clang/test/CodeGenObjC/nsvalue-objc-boxable-ios.m
index dbbe0f40813d..f9faa92e4ca2 100644
--- a/clang/test/CodeGenObjC/nsvalue-objc-boxable-ios.m
+++ b/clang/test/CodeGenObjC/nsvalue-objc-boxable-ios.m
@@ -12,7 +12,7 @@
 // CHECK:      [[RECT_STR:.*]]      = {{.*}}CGRect={CGPoint=dd}{CGSize=dd}}{{.*}}
 // CHECK:      [[EDGE_STR:.*]]      = {{.*}}NSEdgeInsets=dddd{{.*}}
 
-// CHECK-LABEL: define void @doRange()
+// CHECK-LABEL: define{{.*}} void @doRange()
 void doRange() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSRange{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSRange{{.*}}
@@ -29,7 +29,7 @@ void doRange() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doPoint()
+// CHECK-LABEL: define{{.*}} void @doPoint()
 void doPoint() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.CGPoint{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.CGPoint{{.*}}
@@ -46,7 +46,7 @@ void doPoint() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doSize()
+// CHECK-LABEL: define{{.*}} void @doSize()
 void doSize() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.CGSize{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.CGSize{{.*}}
@@ -63,7 +63,7 @@ void doSize() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doRect()
+// CHECK-LABEL: define{{.*}} void @doRect()
 void doRect() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.CGRect{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.CGRect{{.*}}
@@ -82,7 +82,7 @@ void doRect() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doNSEdgeInsets()
+// CHECK-LABEL: define{{.*}} void @doNSEdgeInsets()
 void doNSEdgeInsets() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.NSEdgeInsets{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.NSEdgeInsets{{.*}}
@@ -99,7 +99,7 @@ void doNSEdgeInsets() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doRangeRValue() 
+// CHECK-LABEL: define{{.*}} void @doRangeRValue() 
 void doRangeRValue() {
   // CHECK:     [[COERCE:%.*]]          = alloca %struct._NSRange{{.*}}
   // CHECK:     [[RECV_PTR:%.*]]        = load {{.*}} [[NSVALUE]]

diff  --git a/clang/test/CodeGenObjC/nsvalue-objc-boxable-mac-arc.m b/clang/test/CodeGenObjC/nsvalue-objc-boxable-mac-arc.m
index 041f03873bbc..3b4c71d54ffb 100644
--- a/clang/test/CodeGenObjC/nsvalue-objc-boxable-mac-arc.m
+++ b/clang/test/CodeGenObjC/nsvalue-objc-boxable-mac-arc.m
@@ -12,7 +12,7 @@
 // CHECK:      [[RECT_STR:.*]]      = {{.*}}_NSRect={_NSPoint=dd}{_NSSize=dd}}{{.*}}
 // CHECK:      [[EDGE_STR:.*]]      = {{.*}}NSEdgeInsets=dddd{{.*}}
 
-// CHECK-LABEL: define void @doRange()
+// CHECK-LABEL: define{{.*}} void @doRange()
 void doRange() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSRange{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSRange{{.*}}
@@ -31,7 +31,7 @@ void doRange() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doPoint()
+// CHECK-LABEL: define{{.*}} void @doPoint()
 void doPoint() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSPoint{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSPoint{{.*}}
@@ -50,7 +50,7 @@ void doPoint() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doSize()
+// CHECK-LABEL: define{{.*}} void @doSize()
 void doSize() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSSize{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSSize{{.*}}
@@ -69,7 +69,7 @@ void doSize() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doRect()
+// CHECK-LABEL: define{{.*}} void @doRect()
 void doRect() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSRect{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSRect{{.*}}
@@ -90,7 +90,7 @@ void doRect() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doNSEdgeInsets()
+// CHECK-LABEL: define{{.*}} void @doNSEdgeInsets()
 void doNSEdgeInsets() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.NSEdgeInsets{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.NSEdgeInsets{{.*}}
@@ -109,7 +109,7 @@ void doNSEdgeInsets() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doRangeRValue() 
+// CHECK-LABEL: define{{.*}} void @doRangeRValue() 
 void doRangeRValue() {
   // CHECK:     [[COERCE:%.*]]          = alloca %struct._NSRange{{.*}}
   // CHECK:     [[RECV_PTR:%.*]]        = load {{.*}} [[NSVALUE]]

diff  --git a/clang/test/CodeGenObjC/nsvalue-objc-boxable-mac.m b/clang/test/CodeGenObjC/nsvalue-objc-boxable-mac.m
index 6305b6b583fb..02c4ba75b6e5 100644
--- a/clang/test/CodeGenObjC/nsvalue-objc-boxable-mac.m
+++ b/clang/test/CodeGenObjC/nsvalue-objc-boxable-mac.m
@@ -12,7 +12,7 @@
 // CHECK:      [[RECT_STR:.*]]      = {{.*}}_NSRect={_NSPoint=dd}{_NSSize=dd}}{{.*}}
 // CHECK:      [[EDGE_STR:.*]]      = {{.*}}NSEdgeInsets=dddd{{.*}}
 
-// CHECK-LABEL: define void @doRange()
+// CHECK-LABEL: define{{.*}} void @doRange()
 void doRange() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSRange{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSRange{{.*}}
@@ -29,7 +29,7 @@ void doRange() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doPoint()
+// CHECK-LABEL: define{{.*}} void @doPoint()
 void doPoint() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSPoint{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSPoint{{.*}}
@@ -46,7 +46,7 @@ void doPoint() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doSize()
+// CHECK-LABEL: define{{.*}} void @doSize()
 void doSize() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSSize{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSSize{{.*}}
@@ -63,7 +63,7 @@ void doSize() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doRect()
+// CHECK-LABEL: define{{.*}} void @doRect()
 void doRect() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct._NSRect{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct._NSRect{{.*}}
@@ -82,7 +82,7 @@ void doRect() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doNSEdgeInsets()
+// CHECK-LABEL: define{{.*}} void @doNSEdgeInsets()
 void doNSEdgeInsets() {
   // CHECK:      [[LOCAL_VAR:%.*]]  = alloca %struct.NSEdgeInsets{{.*}}
   // CHECK:      [[TEMP_VAR:%.*]]   = alloca %struct.NSEdgeInsets{{.*}}
@@ -99,7 +99,7 @@ void doNSEdgeInsets() {
   // CHECK:      ret void
 }
 
-// CHECK-LABEL: define void @doRangeRValue() 
+// CHECK-LABEL: define{{.*}} void @doRangeRValue() 
 void doRangeRValue() {
   // CHECK:     [[COERCE:%.*]]          = alloca %struct._NSRange{{.*}}
   // CHECK:     [[RECV_PTR:%.*]]        = load {{.*}} [[NSVALUE]]

diff  --git a/clang/test/CodeGenObjC/objc-asm-attribute-test.m b/clang/test/CodeGenObjC/objc-asm-attribute-test.m
index c988eae654e6..51a8aa01f7ea 100644
--- a/clang/test/CodeGenObjC/objc-asm-attribute-test.m
+++ b/clang/test/CodeGenObjC/objc-asm-attribute-test.m
@@ -55,9 +55,9 @@ id Test16877359() {
     return [SLREarth alloc];
 }
 
-// CHECK: @"OBJC_IVAR_$_MySecretNamespace.Message.MyIVAR" = global i64 0
-// CHECK: @"OBJC_CLASS_$_MySecretNamespace.Message" = global %struct._class_t
-// CHECK: @"OBJC_METACLASS_$_MySecretNamespace.Message" = global %struct._class_t
+// CHECK: @"OBJC_IVAR_$_MySecretNamespace.Message.MyIVAR" ={{.*}} global i64 0
+// CHECK: @"OBJC_CLASS_$_MySecretNamespace.Message" ={{.*}} global %struct._class_t
+// CHECK: @"OBJC_METACLASS_$_MySecretNamespace.Message" ={{.*}} global %struct._class_t
 
 // CHECK: private unnamed_addr constant [42 x i8] c"T@\22MySecretNamespace.Message\22,&,V_msgProp\00"
 // CHECK: private unnamed_addr constant [76 x i8] c"T@\22MySecretNamespace.Message<MySecretNamespace.Protocol3>\22,&,V_msgProtoProp\00"

diff  --git a/clang/test/CodeGenObjC/objc-dispatch-null-check.m b/clang/test/CodeGenObjC/objc-dispatch-null-check.m
index 0c43955db2fa..31970da057df 100644
--- a/clang/test/CodeGenObjC/objc-dispatch-null-check.m
+++ b/clang/test/CodeGenObjC/objc-dispatch-null-check.m
@@ -12,7 +12,7 @@ @interface I0
 - (void)passStrong:(Strong)a;
 @end
 
-// CHECK-LABEL: define void @test0(
+// CHECK-LABEL: define{{.*}} void @test0(
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: %[[CALL:.*]] = call i8* @getStrong()
 // CHECK-NEXT: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_STRONG]], %[[STRUCT_STRONG]]* %[[AGG_TMP]], i32 0, i32 0

diff  --git a/clang/test/CodeGenObjC/objc-literal-tests.m b/clang/test/CodeGenObjC/objc-literal-tests.m
index aa576d4e8a3d..5b7a29ad6efc 100644
--- a/clang/test/CodeGenObjC/objc-literal-tests.m
+++ b/clang/test/CodeGenObjC/objc-literal-tests.m
@@ -53,7 +53,7 @@ + (id)dictionaryWithObjects:(const id [])objects forKeys:(const id [])keys count
 
 id NSUserName();
 
-// CHECK: define i32 @main() [[NUW:#[0-9]+]]
+// CHECK: define{{.*}} i32 @main() [[NUW:#[0-9]+]]
 int main() {
   // CHECK: call{{.*}}@objc_msgSend{{.*}}i8 signext 97
   NSNumber *aNumber = @'a';

diff  --git a/clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m b/clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
index 6437dda06fad..752f42da5300 100644
--- a/clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
+++ b/clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
@@ -21,7 +21,7 @@
   __weak id x;
 } Weak;
 
-// CHECK: define i32 @testTrivial()
+// CHECK: define{{.*}} i32 @testTrivial()
 // CHECK: %[[RETVAL:.*]] = alloca %[[STRUCT_TRIVIAL]], align 4
 // CHECK-NEXT: call void @func0(%[[STRUCT_TRIVIAL]]* %[[RETVAL]])
 // CHECK-NOT: memcpy
@@ -37,7 +37,7 @@ Trivial testTrivial(void) {
 
 void func1(TrivialBig *);
 
-// CHECK: define void @testTrivialBig(%[[STRUCT_TRIVIALBIG]]* noalias sret(%[[STRUCT_TRIVIALBIG]]) align 4 %[[AGG_RESULT:.*]])
+// CHECK: define{{.*}} void @testTrivialBig(%[[STRUCT_TRIVIALBIG]]* noalias sret(%[[STRUCT_TRIVIALBIG]]) align 4 %[[AGG_RESULT:.*]])
 // CHECK: call void @func1(%[[STRUCT_TRIVIALBIG]]* %[[AGG_RESULT]])
 // CHECK-NEXT: ret void
 
@@ -47,7 +47,7 @@ TrivialBig testTrivialBig(void) {
   return a;
 }
 
-// CHECK: define i8* @testStrong()
+// CHECK: define{{.*}} i8* @testStrong()
 // CHECK: %[[RETVAL:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: %[[NRVO:.*]] = alloca i1, align 1
 // CHECK: %[[V0:.*]] = bitcast %[[STRUCT_STRONG]]* %[[RETVAL]] to i8**
@@ -69,7 +69,7 @@ Strong testStrong(void) {
   return a;
 }
 
-// CHECK: define void @testWeak(%[[STRUCT_WEAK]]* noalias sret(%[[STRUCT_WEAK]]) align 8 %[[AGG_RESULT:.*]])
+// CHECK: define{{.*}} void @testWeak(%[[STRUCT_WEAK]]* noalias sret(%[[STRUCT_WEAK]]) align 8 %[[AGG_RESULT:.*]])
 // CHECK: %[[NRVO:.*]] = alloca i1, align 1
 // CHECK: %[[V0:.*]] = bitcast %[[STRUCT_WEAK]]* %[[AGG_RESULT]] to i8**
 // CHECK: call void @__default_constructor_8_w0(i8** %[[V0]])
@@ -89,7 +89,7 @@ Weak testWeak(void) {
   return a;
 }
 
-// CHECK: define void @testWeak2(
+// CHECK: define{{.*}} void @testWeak2(
 // CHECK: call void @__default_constructor_8_w0(
 // CHECK: call void @__default_constructor_8_w0(
 // CHECK: call void @__copy_constructor_8_8_w0(

diff  --git a/clang/test/CodeGenObjC/objc2-legacy-dispatch.m b/clang/test/CodeGenObjC/objc2-legacy-dispatch.m
index 5584f49c6caa..637a89df9e94 100644
--- a/clang/test/CodeGenObjC/objc2-legacy-dispatch.m
+++ b/clang/test/CodeGenObjC/objc2-legacy-dispatch.m
@@ -1,8 +1,8 @@
 // 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-LABEL: define void @f0
+// CHECK_NEW_DISPATCH-LABEL: define{{.*}} void @f0
 // CHECK_NEW_DISPATCH: bitcast {{.*}}objc_msgSend_fixup_alloc
-// CHECK_NEW_DISPATCH-LABEL: 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

diff  --git a/clang/test/CodeGenObjC/os_log.m b/clang/test/CodeGenObjC/os_log.m
index 53f4f5fa72ab..fc03f0e6a8db 100644
--- a/clang/test/CodeGenObjC/os_log.m
+++ b/clang/test/CodeGenObjC/os_log.m
@@ -19,7 +19,7 @@ + (id)m1;
 extern __attribute__((visibility("default"))) NSString *GenString();
 void os_log_pack_send(void *);
 
-// CHECK-LABEL: define void @test_builtin_os_log1(
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log1(
 // CHECK: alloca i8*, align 8
 // CHECK: %[[A_ADDR:.*]] = alloca i8*, align 8
 // CHECK: %[[OS_LOG_ARG:.*]] = alloca %{{.*}}*, align 8
@@ -51,7 +51,7 @@ + (id)m1;
 // CHECK-O0: call void @llvm.objc.storeStrong(i8** %[[V12]], i8* null)
 // CHECK-O0: call void @llvm.objc.storeStrong(i8** %[[A_ADDR]], i8* null)
 
-// CHECK-MRR-LABEL: define void @test_builtin_os_log1(
+// CHECK-MRR-LABEL: define{{.*}} void @test_builtin_os_log1(
 // CHECK-MRR-NOT: call {{.*}} @llvm.objc
 // CHECK-MRR: ret void
 
@@ -60,7 +60,7 @@ void test_builtin_os_log1(void *buf, id a) {
   os_log_pack_send(buf);
 }
 
-// CHECK: define void @test_builtin_os_log2(
+// CHECK: define{{.*}} void @test_builtin_os_log2(
 // CHECK-NOT: @llvm.objc.retain(
 
 void test_builtin_os_log2(void *buf, id __unsafe_unretained a) {
@@ -68,7 +68,7 @@ void test_builtin_os_log2(void *buf, id __unsafe_unretained a) {
   os_log_pack_send(buf);
 }
 
-// CHECK-LABEL: define void @test_builtin_os_log3(
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log3(
 // CHECK: alloca i8*, align 8
 // CHECK: %[[OS_LOG_ARG:.*]] = alloca i8*, align 8
 // CHECK: %[[CALL:.*]] = call %{{.*}}* (...) @GenString()
@@ -93,7 +93,7 @@ void test_builtin_os_log3(void *buf) {
   os_log_pack_send(buf);
 }
 
-// CHECK-LABEL: define void @test_builtin_os_log4(
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log4(
 // CHECK: alloca i8*, align 8
 // CHECK: %[[OS_LOG_ARG:.*]] = alloca i8*, align 8
 // CHECK: %[[OS_LOG_ARG2:.*]] = alloca i8*, align 8
@@ -124,7 +124,7 @@ void test_builtin_os_log4(void *buf) {
 }
 
 // FIXME: Lifetime of GenString's return should be extended in this case too.
-// CHECK-LABEL: define void @test_builtin_os_log5(
+// CHECK-LABEL: define{{.*}} void @test_builtin_os_log5(
 // CHECK: call void @os_log_pack_send(
 // CHECK-NOT: call void @llvm.objc.release(
 

diff  --git a/clang/test/CodeGenObjC/parameterized_classes.m b/clang/test/CodeGenObjC/parameterized_classes.m
index c2ddb5b551a9..11df89a3cc9f 100644
--- a/clang/test/CodeGenObjC/parameterized_classes.m
+++ b/clang/test/CodeGenObjC/parameterized_classes.m
@@ -58,7 +58,7 @@ void getObjectsTest(NSMutableArray<NSString *> *array) {
 
 void printMe(NSString *name) { }
 
-// CHECK-LABEL: define void @blockTest
+// CHECK-LABEL: define{{.*}} void @blockTest
 void blockTest(NSMutableArray<void (^)(void)> *array, NSString *name) {
   // CHECK-NOT: ret void
   // CHECK: call i8* @llvm.objc.retainBlock

diff  --git a/clang/test/CodeGenObjC/strong-in-c-struct.m b/clang/test/CodeGenObjC/strong-in-c-struct.m
index d9e503feafd2..6033385e30cb 100644
--- a/clang/test/CodeGenObjC/strong-in-c-struct.m
+++ b/clang/test/CodeGenObjC/strong-in-c-struct.m
@@ -106,7 +106,7 @@ + (StrongSmall)getStrongSmallClass;
 // CHECK: %[[STRUCT_STRONGBLOCK:.*]] = type { void ()* }
 // CHECK: %[[STRUCT_BITFIELD1:.*]] = type { i8, i8, i8*, i32, i8*, [3 x i32], i8*, double, i8, i8 }
 
-// CHECK: define void @test_constructor_destructor_StrongOuter()
+// CHECK: define{{.*}} void @test_constructor_destructor_StrongOuter()
 // CHECK: %[[T:.*]] = alloca %[[STRUCT_STRONGOUTER]], align 8
 // CHECK: %[[V0:.*]] = bitcast %[[STRUCT_STRONGOUTER]]* %[[T]] to i8**
 // CHECK: call void @__default_constructor_8_S_s16_s24(i8** %[[V0]])
@@ -162,7 +162,7 @@ void test_constructor_destructor_StrongOuter(void) {
   StrongOuter t;
 }
 
-// CHECK: define void @test_copy_constructor_StrongOuter(%[[STRUCT_STRONGOUTER]]* %[[S:.*]])
+// CHECK: define{{.*}} void @test_copy_constructor_StrongOuter(%[[STRUCT_STRONGOUTER]]* %[[S:.*]])
 // CHECK: %[[S_ADDR:.*]] = alloca %[[STRUCT_STRONGOUTER]]*, align 8
 // CHECK: %[[T:.*]] = alloca %[[STRUCT_STRONGOUTER]], align 8
 // CHECK: store %[[STRUCT_STRONGOUTER]]* %[[S]], %[[STRUCT_STRONGOUTER]]** %[[S_ADDR]], align 8
@@ -248,7 +248,7 @@ void test_copy_assignment_StrongOuter(StrongOuter *d, StrongOuter *s) {
   *d = *s;
 }
 
-// CHECK: define void @test_move_constructor_StrongOuter()
+// CHECK: define{{.*}} void @test_move_constructor_StrongOuter()
 // CHECK: %[[T1:.*]] = getelementptr inbounds %[[STRUCT_BLOCK_BYREF_T]], %[[STRUCT_BLOCK_BYREF_T]]* %{{.*}}, i32 0, i32 7
 // CHECK: %[[V1:.*]] = bitcast %[[STRUCT_STRONGOUTER]]* %[[T1]] to i8**
 // CHECK: call void @__default_constructor_8_S_s16_s24(i8** %[[V1]])
@@ -424,7 +424,7 @@ void test_move_assignment_StrongOuter2(StrongOuter2 *p) {
   *p = getStrongOuter2();
 }
 
-// CHECK: define void @test_parameter_StrongSmall([2 x i64] %[[A_COERCE:.*]])
+// CHECK: define{{.*}} void @test_parameter_StrongSmall([2 x i64] %[[A_COERCE:.*]])
 // CHECK: %[[A:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[V0:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[A]] to [2 x i64]*
 // CHECK: store [2 x i64] %[[A_COERCE]], [2 x i64]* %[[V0]], align 8
@@ -435,7 +435,7 @@ void test_move_assignment_StrongOuter2(StrongOuter2 *p) {
 void test_parameter_StrongSmall(StrongSmall a) {
 }
 
-// CHECK: define void @test_argument_StrongSmall([2 x i64] %[[A_COERCE:.*]])
+// CHECK: define{{.*}} void @test_argument_StrongSmall([2 x i64] %[[A_COERCE:.*]])
 // CHECK: %[[A:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[TEMP_LVALUE:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[V0:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[A]] to [2 x i64]*
@@ -454,7 +454,7 @@ void test_argument_StrongSmall(StrongSmall a) {
   calleeStrongSmall(a);
 }
 
-// CHECK: define [2 x i64] @test_return_StrongSmall([2 x i64] %[[A_COERCE:.*]])
+// CHECK: define{{.*}} [2 x i64] @test_return_StrongSmall([2 x i64] %[[A_COERCE:.*]])
 // CHECK: %[[RETVAL:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[A:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[V0:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[A]] to [2 x i64]*
@@ -472,7 +472,7 @@ StrongSmall test_return_StrongSmall(StrongSmall a) {
   return a;
 }
 
-// CHECK: define void @test_destructor_ignored_result()
+// CHECK: define{{.*}} void @test_destructor_ignored_result()
 // CHECK: %[[COERCE:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[CALL:.*]] = call [2 x i64] @getStrongSmall()
 // CHECK: %[[V0:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[COERCE]] to [2 x i64]*
@@ -485,7 +485,7 @@ void test_destructor_ignored_result(void) {
   getStrongSmall();
 }
 
-// CHECK: define void @test_destructor_ignored_result2(%{{.*}}* %[[C:.*]])
+// CHECK: define{{.*}} void @test_destructor_ignored_result2(%{{.*}}* %[[C:.*]])
 // CHECK: %[[TMP:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[CALL:.*]] = call [2 x i64]{{.*}}@objc_msgSend
 // CHECK: %[[V5:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[TMP]] to [2 x i64]*
@@ -497,7 +497,7 @@ void test_destructor_ignored_result2(C *c) {
   [c getStrongSmall];
 }
 
-// CHECK: define void @test_copy_constructor_StrongBlock(
+// CHECK: define{{.*}} void @test_copy_constructor_StrongBlock(
 // CHECK: call void @__copy_constructor_8_8_sb0(
 // CHECK: call void @__destructor_8_sb0(
 // CHECK: ret void
@@ -518,7 +518,7 @@ void test_copy_constructor_StrongBlock(StrongBlock *s) {
   StrongBlock t = *s;
 }
 
-// CHECK: define void @test_copy_assignment_StrongBlock(%[[STRUCT_STRONGBLOCK]]* %[[D:.*]], %[[STRUCT_STRONGBLOCK]]* %[[S:.*]])
+// CHECK: define{{.*}} void @test_copy_assignment_StrongBlock(%[[STRUCT_STRONGBLOCK]]* %[[D:.*]], %[[STRUCT_STRONGBLOCK]]* %[[S:.*]])
 // CHECK: call void @__copy_assignment_8_8_sb0(
 
 // CHECK: define linkonce_odr hidden void @__copy_assignment_8_8_sb0(i8** %[[DST:.*]], i8** %[[SRC:.*]])
@@ -539,7 +539,7 @@ void test_copy_assignment_StrongBlock(StrongBlock *d, StrongBlock *s) {
   *d = *s;
 }
 
-// CHECK: define void @test_copy_constructor_StrongVolatile0(
+// CHECK: define{{.*}} void @test_copy_constructor_StrongVolatile0(
 // CHECK: call void @__copy_constructor_8_8_t0w4_sv8(
 // CHECK-NOT: call
 // CHECK: call void @__destructor_8_sv8(
@@ -554,14 +554,14 @@ void test_copy_constructor_StrongVolatile0(StrongVolatile *s) {
   StrongVolatile t = *s;
 }
 
-// CHECK: define void @test_copy_constructor_StrongVolatile1(
+// CHECK: define{{.*}} void @test_copy_constructor_StrongVolatile1(
 // CHECK: call void @__copy_constructor_8_8_tv0w128_sv16(
 
 void test_copy_constructor_StrongVolatile1(Strong *s) {
   volatile Strong t = *s;
 }
 
-// CHECK: define void @test_block_capture_Strong()
+// CHECK: define{{.*}} void @test_block_capture_Strong()
 // CHECK: call void @__default_constructor_8_s16(
 // CHECK: call void @__copy_constructor_8_8_t0w16_s16(
 // CHECK: call void @__destructor_8_s16(
@@ -581,7 +581,7 @@ void test_block_capture_Strong(void) {
   BlockTy b = ^(){ (void)t; };
 }
 
-// CHECK: define void @test_variable_length_array(i32 %[[N:.*]])
+// CHECK: define{{.*}} void @test_variable_length_array(i32 %[[N:.*]])
 // CHECK: %[[N_ADDR:.*]] = alloca i32, align 4
 // CHECK: store i32 %[[N]], i32* %[[N_ADDR]], align 4
 // CHECK: %[[V0:.*]] = load i32, i32* %[[N_ADDR]], align 4
@@ -665,7 +665,7 @@ void test_copy_constructor_StructArray(StructArray a) {
 
 // Check that IRGen copies the 9-bit bitfield emitting i16 load and store.
 
-// CHECK: define void @test_copy_constructor_Bitfield0(
+// CHECK: define{{.*}} void @test_copy_constructor_Bitfield0(
 
 // CHECK: define linkonce_odr hidden void @__copy_constructor_8_8_s0_t8w2(
 // CHECK: %[[V4:.*]] = bitcast i8** %{{.*}} to i8*
@@ -717,7 +717,7 @@ void test_copy_constructor_Bitfield1(Bitfield1 *a) {
   Bitfield1 t = *a;
 }
 
-// CHECK: define void @test_copy_constructor_VolatileArray(
+// CHECK: define{{.*}} void @test_copy_constructor_VolatileArray(
 // CHECK: call void @__copy_constructor_8_8_s0_AB8s4n16_tv64w32_AE(
 
 // CHECK: define linkonce_odr hidden void @__copy_constructor_8_8_s0_AB8s4n16_tv64w32_AE(
@@ -732,7 +732,7 @@ void test_copy_constructor_VolatileArray(VolatileArray *a) {
   VolatileArray t = *a;
 }
 
-// CHECK: define void @test_compound_literal0(
+// CHECK: define{{.*}} void @test_compound_literal0(
 // CHECK: %[[P:.*]] = alloca %[[STRUCT_STRONGSMALL]]*, align 8
 // CHECK: %[[_COMPOUNDLITERAL:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[CLEANUP_COND:.*]] = alloca i1, align 1
@@ -768,7 +768,7 @@ void test_compound_literal0(int c) {
 
 // Check that there is only one destructor call, which destructs 't'.
 
-// CHECK: define void @test_compound_literal1(
+// CHECK: define{{.*}} void @test_compound_literal1(
 // CHECK: %[[T:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 
 // CHECK: %[[I:.*]] = getelementptr inbounds %[[STRUCT_STRONGSMALL]], %[[STRUCT_STRONGSMALL]]* %[[T]], i32 0, i32 0
@@ -792,7 +792,7 @@ void test_compound_literal1(int c) {
   func(0);
 }
 
-// CHECK: define void @test_compound_literal2(
+// CHECK: define{{.*}} void @test_compound_literal2(
 // CHECK: %[[P_ADDR:.*]] = alloca %[[STRUCT_STRONGSMALL]]*, align 8
 // CHECK: %[[_COMPOUNDLITERAL:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[CLEANUP_COND:.*]] = alloca i1, align 1
@@ -831,7 +831,7 @@ void test_compound_literal2(int c, StrongSmall *p) {
   func(0);
 }
 
-// CHECK: define void @test_member_access(
+// CHECK: define{{.*}} void @test_member_access(
 // CHECK: %[[TMP:.*]] = alloca %[[STRUCT_STRONGSMALL]],
 // CHECK: %[[V3:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[TMP]] to i8**
 // CHECK: call void @__destructor_8_s8(i8** %[[V3]])
@@ -842,7 +842,7 @@ void test_member_access(void) {
   func(0);
 }
 
-// CHECK: define void @test_member_access2(%{{.*}}* %[[C:.*]])
+// CHECK: define{{.*}} void @test_member_access2(%{{.*}}* %[[C:.*]])
 // CHECK: %[[COERCE:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[V8:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[COERCE]] to i8**
 // CHECK: call void @__destructor_8_s8(i8** %[[V8]])
@@ -853,7 +853,7 @@ void test_member_access2(C *c) {
   func(0);
 }
 
-// CHECK: define void @test_member_access3(
+// CHECK: define{{.*}} void @test_member_access3(
 // CHECK: %[[COERCE:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[V8:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[COERCE]] to i8**
 // CHECK: call void @__destructor_8_s8(i8** %[[V8]])
@@ -864,7 +864,7 @@ void test_member_access3(void) {
   func(0);
 }
 
-// CHECK: define void @test_member_access4()
+// CHECK: define{{.*}} void @test_member_access4()
 // CHECK: %[[COERCE:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: %[[V5:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[COERCE]] to i8**
 // CHECK: call void @__destructor_8_s8(i8** %[[V5]])
@@ -875,7 +875,7 @@ void test_member_access4(void) {
   func(0);
 }
 
-// CHECK: define void @test_volatile_variable_reference(
+// CHECK: define{{.*}} void @test_volatile_variable_reference(
 // CHECK: %[[AGG_TMP_ENSURED:.*]] = alloca %[[STRUCT_STRONGSMALL]],
 // CHECK: %[[V1:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[AGG_TMP_ENSURED]] to i8**
 // CHECK: %[[V2:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %{{.*}} to i8**
@@ -902,7 +902,7 @@ void test_zero_bitfield() {
   a = b;
 }
 
-// CHECK-LABEL: define i8* @test_conditional0(
+// CHECK-LABEL: define{{.*}} i8* @test_conditional0(
 // CHECK: %[[TMP:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 
 // CHECK: %[[V1:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[TMP]] to i8**
@@ -919,14 +919,14 @@ id test_conditional0(int c) {
   return (c ? g2 : g1).f1;
 }
 
-// CHECK-LABEL: define i8* @test_conditional1(
+// CHECK-LABEL: define{{.*}} i8* @test_conditional1(
 // CHECK-NOT: call void @__destructor
 
 id test_conditional1(int c) {
   calleeStrongSmall(c ? g2 : g1);
 }
 
-// CHECK-LABEL: define i8* @test_assignment0(
+// CHECK-LABEL: define{{.*}} i8* @test_assignment0(
 // CHECK: %[[TMP:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: call void @__copy_assignment_8_8_t0w4_s8(i8** bitcast (%[[STRUCT_STRONGSMALL]]* @g2 to i8**), i8** bitcast (%[[STRUCT_STRONGSMALL]]* @g1 to i8**))
 // CHECK: %[[V0:.*]] = bitcast %[[STRUCT_STRONGSMALL]]* %[[TMP]] to i8**
@@ -938,14 +938,14 @@ id test_assignment0(void) {
   return (g2 = g1).f1;
 }
 
-// CHECK-LABEL: define i8* @test_assignment1(
+// CHECK-LABEL: define{{.*}} i8* @test_assignment1(
 // CHECK-NOT: call void @__destructor
 
 id test_assignment1(void) {
   calleeStrongSmall(g2 = g1);
 }
 
-// CHECK-LABEL: define void @test_null_reveiver(
+// CHECK-LABEL: define{{.*}} void @test_null_reveiver(
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_STRONGSMALL]], align 8
 // CHECK: br i1
 

diff  --git a/clang/test/CodeGenObjC/synchronized.m b/clang/test/CodeGenObjC/synchronized.m
index 0ce179ccc036..6d37e6fc06ca 100644
--- a/clang/test/CodeGenObjC/synchronized.m
+++ b/clang/test/CodeGenObjC/synchronized.m
@@ -20,7 +20,7 @@ - (void)method
 
 @end
 
-// CHECK-LABEL: 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-LABEL: 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-LABEL: 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);

diff  --git a/clang/test/CodeGenObjC/tentative-cfconstantstring.m b/clang/test/CodeGenObjC/tentative-cfconstantstring.m
index 978bcba6122b..ed3dbca3aeb7 100644
--- a/clang/test/CodeGenObjC/tentative-cfconstantstring.m
+++ b/clang/test/CodeGenObjC/tentative-cfconstantstring.m
@@ -31,7 +31,7 @@ -(void)someMethod {
 }
 @end
 
-// CHECK: @__CFConstantStringClassReference = global [24 x i32] zeroinitializer, align 16
+// CHECK: @__CFConstantStringClassReference ={{.*}} global [24 x i32] zeroinitializer, align 16
 // CHECK: @_unnamed_cfstring_{{.*}} = private global %struct.__NSConstantString_tag { i32* getelementptr inbounds ([24 x i32], [24 x i32]* @__CFConstantStringClassReference, i32 0, i32 0)
 
 // CHECK-LABEL: define internal void @_inlineFunction()

diff  --git a/clang/test/CodeGenObjC/terminate.m b/clang/test/CodeGenObjC/terminate.m
index a756bfba417c..dcd54bcb1254 100644
--- a/clang/test/CodeGenObjC/terminate.m
+++ b/clang/test/CodeGenObjC/terminate.m
@@ -9,7 +9,7 @@ void test0(void) {
   void *ptr __attribute__((cleanup(destroy)));
   test0_helper();
 
-  // CHECK-WITH-LABEL:       define void @test0()
+  // CHECK-WITH-LABEL:       define{{.*}} void @test0()
   // CHECK-WITH-SAME:    personality i8* bitcast (i32 (...)* @__gcc_personality_v0 to i8*)
   // CHECK-WITH:         [[PTR:%.*]] = alloca i8*,
   // CHECK-WITH:         call void @destroy(i8** [[PTR]])
@@ -19,7 +19,7 @@ void test0(void) {
   // CHECK-WITH-NEXT:      catch i8* null
   // CHECK-WITH-NEXT:    call void @objc_terminate()
 
-  // CHECK-WITHOUT-LABEL:    define void @test0()
+  // CHECK-WITHOUT-LABEL:    define{{.*}} void @test0()
   // CHECK-WITHOUT-SAME: personality i8* bitcast (i32 (...)* @__gcc_personality_v0 to i8*)
   // CHECK-WITHOUT:      [[PTR:%.*]] = alloca i8*,
   // CHECK-WITHOUT:      call void @destroy(i8** [[PTR]])

diff  --git a/clang/test/CodeGenObjC/ubsan-nonnull-and-nullability.m b/clang/test/CodeGenObjC/ubsan-nonnull-and-nullability.m
index db6588dac310..41f7c76013fa 100644
--- a/clang/test/CodeGenObjC/ubsan-nonnull-and-nullability.m
+++ b/clang/test/CodeGenObjC/ubsan-nonnull-and-nullability.m
@@ -4,7 +4,7 @@
 // If both the annotation and the attribute are present, prefer the attribute,
 // since it actually affects IRGen.
 
-// CHECK-LABEL: define nonnull i32* @f1
+// CHECK-LABEL: define{{.*}} nonnull i32* @f1
 __attribute__((returns_nonnull)) int *_Nonnull f1(int *_Nonnull p) {
   // CHECK: entry:
   // CHECK-NEXT: [[SLOC_PTR:%.*]] = alloca i8*
@@ -30,10 +30,10 @@
   return p;
 }
 
-// CHECK-LABEL: define void @f2
+// CHECK-LABEL: define{{.*}} void @f2
 void f2(int *_Nonnull __attribute__((nonnull)) p) {}
 
-// CHECK-LABEL: define void @call_f2
+// CHECK-LABEL: define{{.*}} void @call_f2
 void call_f2() {
   // CHECK: call void @__ubsan_handle_nonnull_arg_abort
   // CHECK-NOT: call void @__ubsan_handle_nonnull_arg_abort
@@ -41,7 +41,7 @@ void call_f2() {
 }
 
 // If the return value isn't meant to be checked, make sure we don't check it.
-// CHECK-LABEL: define i32* @f3
+// CHECK-LABEL: define{{.*}} i32* @f3
 int *f3(int *p) {
   // CHECK-NOT: return.sloc
   // CHECK-NOT: call{{.*}}ubsan
@@ -51,7 +51,7 @@ void call_f2() {
 // Check for a valid "return" source location, even when there is no return
 // statement, to avoid accidentally calling the runtime.
 
-// CHECK-LABEL: define nonnull i32* @f4
+// CHECK-LABEL: define{{.*}} nonnull i32* @f4
 __attribute__((returns_nonnull)) int *f4() {
   // CHECK: store i8* null, i8** [[SLOC_PTR:%.*]]
   // CHECK: [[SLOC:%.*]] = load {{.*}} [[SLOC_PTR]]

diff  --git a/clang/test/CodeGenObjC/ubsan-nonnull.m b/clang/test/CodeGenObjC/ubsan-nonnull.m
index cc0850caf97f..c12edb2f75e0 100644
--- a/clang/test/CodeGenObjC/ubsan-nonnull.m
+++ b/clang/test/CodeGenObjC/ubsan-nonnull.m
@@ -26,7 +26,7 @@ +(void) clsmethod: (__attribute__((nonnull)) int *) arg1 {}
 
 @end
 
-// CHECK-LABEL: define void @call_A
+// CHECK-LABEL: define{{.*}} void @call_A
 void call_A(A *a, int *p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* [[P1:%.*]], null, !nosanitize
   // CHECK: br i1 [[ICMP]], {{.*}}, !nosanitize

diff  --git a/clang/test/CodeGenObjC/ubsan-nullability.m b/clang/test/CodeGenObjC/ubsan-nullability.m
index 8e7a9cba7c71..011486cd9939 100644
--- a/clang/test/CodeGenObjC/ubsan-nullability.m
+++ b/clang/test/CodeGenObjC/ubsan-nullability.m
@@ -16,7 +16,7 @@
 #define INULL ((int *)NULL)
 #define INNULL ((int *_Nonnull)NULL)
 
-// CHECK-LABEL: define i32* @{{.*}}nonnull_retval1
+// CHECK-LABEL: define{{.*}} i32* @{{.*}}nonnull_retval1
 #line 100
 int *_Nonnull nonnull_retval1(int *p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* {{.*}}, null, !nosanitize
@@ -29,7 +29,7 @@
 #line 190
 void nonnull_arg(int *_Nonnull p) {}
 
-// CHECK-LABEL: define void @{{.*}}call_func_with_nonnull_arg
+// CHECK-LABEL: define{{.*}} void @{{.*}}call_func_with_nonnull_arg
 #line 200
 void call_func_with_nonnull_arg(int *_Nonnull p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* {{.*}}, null, !nosanitize
@@ -38,7 +38,7 @@ void call_func_with_nonnull_arg(int *_Nonnull p) {
   nonnull_arg(p);
 }
 
-// CHECK-LABEL: define void @{{.*}}nonnull_assign1
+// CHECK-LABEL: define{{.*}} void @{{.*}}nonnull_assign1
 #line 300
 void nonnull_assign1(int *p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* {{.*}}, null, !nosanitize
@@ -48,7 +48,7 @@ void nonnull_assign1(int *p) {
   local = p;
 }
 
-// CHECK-LABEL: define void @{{.*}}nonnull_assign2
+// CHECK-LABEL: define{{.*}} void @{{.*}}nonnull_assign2
 #line 400
 void nonnull_assign2(int *p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* %{{.*}}, null, !nosanitize
@@ -62,7 +62,7 @@ void nonnull_assign2(int *p) {
   int *_Nonnull mptr;
 };
 
-// CHECK-LABEL: define void @{{.*}}nonnull_assign3
+// CHECK-LABEL: define{{.*}} void @{{.*}}nonnull_assign3
 #line 500
 void nonnull_assign3(int *p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* %{{.*}}, null, !nosanitize
@@ -73,7 +73,7 @@ void nonnull_assign3(int *p) {
   s.mptr = p;
 }
 
-// CHECK-LABEL: define void @{{.*}}nonnull_init1
+// CHECK-LABEL: define{{.*}} void @{{.*}}nonnull_init1
 #line 600
 void nonnull_init1(int *p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* %{{.*}}, null, !nosanitize
@@ -82,7 +82,7 @@ void nonnull_init1(int *p) {
   int *_Nonnull local = p;
 }
 
-// CHECK-LABEL: define void @{{.*}}nonnull_init2
+// CHECK-LABEL: define{{.*}} void @{{.*}}nonnull_init2
 #line 700
 void nonnull_init2(int *p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* %{{.*}}, null, !nosanitize
@@ -94,7 +94,7 @@ void nonnull_init2(int *p) {
   int *_Nonnull arr[] = {p, p};
 }
 
-// CHECK-LABEL: define i32* @{{.*}}nonnull_retval2
+// CHECK-LABEL: define{{.*}} i32* @{{.*}}nonnull_retval2
 #line 800
 int *_Nonnull nonnull_retval2(int *_Nonnull arg1,  //< Test this.
                               int *_Nonnull arg2,  //< Test this.
@@ -160,7 +160,7 @@ -(int *_Nonnull) objc_method: (int *_Nonnull) arg1 {
 }
 @end
 
-// CHECK-LABEL: define void @{{.*}}call_A
+// CHECK-LABEL: define{{.*}} void @{{.*}}call_A
 void call_A(A *a, int *p) {
   // CHECK: [[ICMP:%.*]] = icmp ne i32* [[P1:%.*]], null, !nosanitize
   // CHECK-NEXT: br i1 [[ICMP]], {{.*}}, !nosanitize

diff  --git a/clang/test/CodeGenObjC/weak-in-c-struct.m b/clang/test/CodeGenObjC/weak-in-c-struct.m
index ac844a8a8935..cb6955a6617b 100644
--- a/clang/test/CodeGenObjC/weak-in-c-struct.m
+++ b/clang/test/CodeGenObjC/weak-in-c-struct.m
@@ -15,7 +15,7 @@
 Weak getWeak(void);
 void calleeWeak(Weak);
 
-// ARM64: define void @test_constructor_destructor_Weak()
+// ARM64: define{{.*}} void @test_constructor_destructor_Weak()
 // ARM64: %[[T:.*]] = alloca %[[STRUCT_WEAK]], align 8
 // ARM64: %[[V0:.*]] = bitcast %[[STRUCT_WEAK]]* %[[T]] to i8**
 // ARM64: call void @__default_constructor_8_w8(i8** %[[V0]])
@@ -50,7 +50,7 @@ void test_constructor_destructor_Weak(void) {
   Weak t;
 }
 
-// ARM64: define void @test_copy_constructor_Weak(%[[STRUCT_WEAK]]* %{{.*}})
+// ARM64: define{{.*}} void @test_copy_constructor_Weak(%[[STRUCT_WEAK]]* %{{.*}})
 // ARM64: call void @__copy_constructor_8_8_t0w4_w8(i8** %{{.*}}, i8** %{{.*}})
 // ARM64: call void @__destructor_8_w8(i8** %{{.*}})
 
@@ -77,7 +77,7 @@ void test_copy_constructor_Weak(Weak *s) {
   Weak t = *s;
 }
 
-// ARM64: define void @test_copy_assignment_Weak(%[[STRUCT_WEAK]]* %{{.*}}, %[[STRUCT_WEAK]]* %{{.*}})
+// ARM64: define{{.*}} void @test_copy_assignment_Weak(%[[STRUCT_WEAK]]* %{{.*}}, %[[STRUCT_WEAK]]* %{{.*}})
 // ARM64: call void @__copy_assignment_8_8_t0w4_w8(i8** %{{.*}}, i8** %{{.*}})
 
 // ARM64: define linkonce_odr hidden void @__copy_assignment_8_8_t0w4_w8(i8** %[[DST:.*]], i8** %[[SRC:.*]])
@@ -132,7 +132,7 @@ void test_move_constructor_Weak(void) {
   BlockTy b = ^{ (void)t; };
 }
 
-// ARM64: define void @test_move_assignment_Weak(%[[STRUCT_WEAK]]* %{{.*}})
+// ARM64: define{{.*}} void @test_move_assignment_Weak(%[[STRUCT_WEAK]]* %{{.*}})
 // ARM64: call void @__move_assignment_8_8_t0w4_w8(i8** %{{.*}}, i8** %{{.*}})
 
 // ARM64: define linkonce_odr hidden void @__move_assignment_8_8_t0w4_w8(i8** %[[DST:.*]], i8** %[[SRC:.*]])
@@ -161,14 +161,14 @@ void test_move_assignment_Weak(Weak *p) {
   *p = getWeak();
 }
 
-// COMMON: define void @test_parameter_Weak(%[[STRUCT_WEAK]]* %[[A:.*]])
+// COMMON: define{{.*}} void @test_parameter_Weak(%[[STRUCT_WEAK]]* %[[A:.*]])
 // COMMON: %[[V0:.*]] = bitcast %[[STRUCT_WEAK]]* %[[A]] to i8**
 // COMMON: call void @__destructor_{{.*}}(i8** %[[V0]])
 
 void test_parameter_Weak(Weak a) {
 }
 
-// COMMON: define void @test_argument_Weak(%[[STRUCT_WEAK]]* %[[A:.*]])
+// COMMON: define{{.*}} void @test_argument_Weak(%[[STRUCT_WEAK]]* %[[A:.*]])
 // COMMON: %[[A_ADDR:.*]] = alloca %[[STRUCT_WEAK]]*
 // COMMON: %[[AGG_TMP:.*]] = alloca %[[STRUCT_WEAK]]
 // COMMON: store %[[STRUCT_WEAK]]* %[[A]], %[[STRUCT_WEAK]]** %[[A_ADDR]]
@@ -183,7 +183,7 @@ void test_argument_Weak(Weak *a) {
   calleeWeak(*a);
 }
 
-// COMMON: define void @test_return_Weak(%[[STRUCT_WEAK]]* noalias sret(%[[STRUCT_WEAK]]) align {{.*}} %[[AGG_RESULT:.*]], %[[STRUCT_WEAK]]* %[[A:.*]])
+// COMMON: define{{.*}} void @test_return_Weak(%[[STRUCT_WEAK]]* noalias sret(%[[STRUCT_WEAK]]) align {{.*}} %[[AGG_RESULT:.*]], %[[STRUCT_WEAK]]* %[[A:.*]])
 // COMMON: %[[A_ADDR:.*]] = alloca %[[STRUCT_WEAK]]*
 // COMMON: store %[[STRUCT_WEAK]]* %[[A]], %[[STRUCT_WEAK]]** %[[A_ADDR]]
 // COMMON: %[[V0:.*]] = load %[[STRUCT_WEAK]]*, %[[STRUCT_WEAK]]** %[[A_ADDR]]
@@ -196,7 +196,7 @@ Weak test_return_Weak(Weak *a) {
   return *a;
 }
 
-// COMMON-LABEL: define void @test_null_receiver(
+// COMMON-LABEL: define{{.*}} void @test_null_receiver(
 // COMMON: %[[AGG_TMP:.*]] = alloca %[[STRUCT_WEAK]]
 // COMMON: br i1
 

diff  --git a/clang/test/CodeGenObjC/weak-metaclass-visibility.m b/clang/test/CodeGenObjC/weak-metaclass-visibility.m
index d174bdb08ef0..9254ededbc04 100644
--- a/clang/test/CodeGenObjC/weak-metaclass-visibility.m
+++ b/clang/test/CodeGenObjC/weak-metaclass-visibility.m
@@ -29,9 +29,9 @@ void kit()
     MyClass *wrapper = [MyClass alloc];
 }
 
-// CHECK: @"OBJC_CLASS_$_MyClass" = global %struct._class_t
+// CHECK: @"OBJC_CLASS_$_MyClass" ={{.*}} global %struct._class_t
 // CHECK: @"OBJC_METACLASS_$_NSObject" = external global %struct._class_t
-// CHECK: @"OBJC_METACLASS_$_MyClass" = global %struct._class_t
+// CHECK: @"OBJC_METACLASS_$_MyClass" ={{.*}} global %struct._class_t
 // CHECK: @"OBJC_CLASS_$_NSObject" = external global %struct._class_t
 
 // rdar://16529125
@@ -56,5 +56,5 @@ @interface XXXX : AVScheduledAudioParameters
 @implementation AVScheduledAudioParameters @end
 @implementation XXXX @end
 
-// CHECK: @"OBJC_CLASS_$_AVScheduledAudioParameters" = global %struct._class_t
-// CHECK: @"OBJC_METACLASS_$_AVScheduledAudioParameters" = global %struct._class_t 
+// CHECK: @"OBJC_CLASS_$_AVScheduledAudioParameters" ={{.*}} global %struct._class_t
+// CHECK: @"OBJC_METACLASS_$_AVScheduledAudioParameters" ={{.*}} global %struct._class_t 

diff  --git a/clang/test/CodeGenObjC/x86_64-struct-return-gc.m b/clang/test/CodeGenObjC/x86_64-struct-return-gc.m
index 9cb4b134e67d..1c6946ea4025 100644
--- a/clang/test/CodeGenObjC/x86_64-struct-return-gc.m
+++ b/clang/test/CodeGenObjC/x86_64-struct-return-gc.m
@@ -5,7 +5,7 @@
 
 struct Coerce coerce_func(void);
 
-// CHECK-LABEL: define void @Coerce_test()
+// CHECK-LABEL: define{{.*}} void @Coerce_test()
 void Coerce_test(void) {
   struct Coerce c;
   
@@ -21,7 +21,7 @@ void Coerce_test(void) {
 
 struct Indirect indirect_func(void);
 
-// CHECK-LABEL: define void @Indirect_test()
+// CHECK-LABEL: define{{.*}} void @Indirect_test()
 void Indirect_test(void) {
   struct Indirect i;
   

diff  --git a/clang/test/CodeGenObjCXX/arc-attrs.mm b/clang/test/CodeGenObjCXX/arc-attrs.mm
index 5ab7a69de215..f6da5427f394 100644
--- a/clang/test/CodeGenObjCXX/arc-attrs.mm
+++ b/clang/test/CodeGenObjCXX/arc-attrs.mm
@@ -4,7 +4,7 @@
 id makeObject2() __attribute__((ns_returns_retained));
 void releaseObject(__attribute__((ns_consumed)) id);
 
-// CHECK-LABEL: 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 @@ void sanityTest() {
 template <typename T>
 void releaseObjectT(__attribute__((ns_consumed)) T);  
 
-// CHECK-LABEL: 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()
@@ -54,13 +54,13 @@ void templateTest() {
 
 ForwardConsumed::ForwardConsumed(__attribute__((ns_consumed)) id x) {}
 
-// CHECK: define void @_ZN15ForwardConsumedC2EP11objc_object(
+// CHECK: define{{.*}} void @_ZN15ForwardConsumedC2EP11objc_object(
 // CHECK-NOT:  objc_retain
 // CHECK:      store i8* {{.*}}, i8** [[X:%.*]],
 // CHECK-NOT:  [[X]]
 // CHECK:      call void @llvm.objc.storeStrong(i8** [[X]], i8* null)
 
-// CHECK: define void @_ZN15ForwardConsumedC1EP11objc_object(
+// CHECK: define{{.*}} void @_ZN15ForwardConsumedC1EP11objc_object(
 // CHECK-NOT:  objc_retain
 // CHECK:      store i8* {{.*}}, i8** [[X:%.*]],
 // CHECK:      [[T0:%.*]] = load i8*, i8** [[X]],

diff  --git a/clang/test/CodeGenObjCXX/arc-blocks.mm b/clang/test/CodeGenObjCXX/arc-blocks.mm
index 4ffd50cfc1e2..f0d3b8eefa53 100644
--- a/clang/test/CodeGenObjCXX/arc-blocks.mm
+++ b/clang/test/CodeGenObjCXX/arc-blocks.mm
@@ -22,7 +22,7 @@ void foo() {
     __block A v;
     ^{ (void)v; };
   }
-  // CHECK-LABEL:    define void @_ZN5test03fooEv() 
+  // CHECK-LABEL:    define{{.*}} void @_ZN5test03fooEv() 
   // CHECK:      [[V:%.*]] = alloca [[BYREF_A:%.*]], align 8
   // CHECK:      [[T0:%.*]] = getelementptr inbounds [[BYREF_A]], [[BYREF_A]]* [[V]], i32 0, i32 4
   // CHECK-NEXT: store i8* bitcast (void (i8*, i8*)* [[COPY_HELPER:@.*]] to i8*), i8** [[T0]]
@@ -209,7 +209,7 @@ void foo1() {
 
   void foo1(id);
 
-// CHECK-LABEL: define void @_ZN17test_block_retain14initializationEP11objc_object(
+// CHECK-LABEL: define{{.*}} void @_ZN17test_block_retain14initializationEP11objc_object(
 // CHECK-NOT: @llvm.objc.retainBlock(
   void initialization(id a) {
     BlockTy b0 = ^{ foo1(a); };
@@ -218,14 +218,14 @@ void initialization(id a) {
     b1();
   }
 
-// CHECK-LABEL: define void @_ZN17test_block_retain20initializationStaticEP11objc_object(
+// CHECK-LABEL: define{{.*}} void @_ZN17test_block_retain20initializationStaticEP11objc_object(
 // CHECK: @llvm.objc.retainBlock(
   void initializationStatic(id a) {
     static BlockTy b0 = ^{ foo1(a); };
     b0();
   }
 
-// CHECK-LABEL: define void @_ZN17test_block_retain15initialization2EP11objc_object
+// CHECK-LABEL: define{{.*}} void @_ZN17test_block_retain15initialization2EP11objc_object
 // CHECK: %[[B0:.*]] = alloca void ()*, align 8
 // CHECK: %[[B1:.*]] = alloca void ()*, align 8
 // CHECK: load void ()*, void ()** %[[B0]], align 8
@@ -242,7 +242,7 @@ void initialization2(id a) {
     b1();
   }
 
-// CHECK-LABEL: define void @_ZN17test_block_retain10assignmentEP11objc_object(
+// CHECK-LABEL: define{{.*}} void @_ZN17test_block_retain10assignmentEP11objc_object(
 // CHECK-NOT: @llvm.objc.retainBlock(
   void assignment(id a) {
     BlockTy b0;
@@ -252,7 +252,7 @@ void assignment(id a) {
     b0();
   }
 
-// CHECK-LABEL: define void @_ZN17test_block_retain16assignmentStaticEP11objc_object(
+// CHECK-LABEL: define{{.*}} void @_ZN17test_block_retain16assignmentStaticEP11objc_object(
 // CHECK: @llvm.objc.retainBlock(
   void assignmentStatic(id a) {
     static BlockTy b0;
@@ -260,7 +260,7 @@ void assignmentStatic(id a) {
     b0();
   }
 
-// CHECK-LABEL: define void @_ZN17test_block_retain21assignmentConditionalEP11objc_objectb(
+// CHECK-LABEL: define{{.*}} void @_ZN17test_block_retain21assignmentConditionalEP11objc_objectb(
 // CHECK: @llvm.objc.retainBlock(
   void assignmentConditional(id a, bool c) {
     BlockTy b0;
@@ -270,7 +270,7 @@ void assignmentConditional(id a, bool c) {
     b0();
   }
 
-// CHECK-LABEL: define void @_ZN17test_block_retain11assignment2EP11objc_object(
+// CHECK-LABEL: define{{.*}} void @_ZN17test_block_retain11assignment2EP11objc_object(
 // CHECK: %[[B0:.*]] = alloca void ()*, align 8
 // CHECK: %[[B1:.*]] = alloca void ()*, align 8
 // CHECK-NOT: @llvm.objc.retainBlock
@@ -290,7 +290,7 @@ void assignment2(id a) {
 
 // We cannot remove the call to @llvm.objc.retainBlock if the variable is of type id.
 
-// CHECK: define void @_ZN17test_block_retain21initializationObjCPtrEP11objc_object(
+// CHECK: define{{.*}} void @_ZN17test_block_retain21initializationObjCPtrEP11objc_object(
 // CHECK: alloca i8*, align 8
 // CHECK: %[[B0:.*]] = alloca i8*, align 8
 // CHECK: %[[BLOCK:.*]] = alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8* }>, align 8
@@ -305,7 +305,7 @@ void initializationObjCPtr(id a) {
     ((BlockTy)b0)();
   }
 
-// CHECK: define void @_ZN17test_block_retain17assignmentObjCPtrEP11objc_object(
+// CHECK: define{{.*}} void @_ZN17test_block_retain17assignmentObjCPtrEP11objc_object(
 // CHECK: %[[B0:.*]] = alloca void ()*, align 8
 // CHECK: %[[B1:.*]] = alloca i8*, align 8
 // CHECK: %[[V4:.*]] = load void ()*, void ()** %[[B0]], align 8

diff  --git a/clang/test/CodeGenObjCXX/arc-constexpr.mm b/clang/test/CodeGenObjCXX/arc-constexpr.mm
index 42fafcf2a4a4..170ed1e6b632 100644
--- a/clang/test/CodeGenObjCXX/arc-constexpr.mm
+++ b/clang/test/CodeGenObjCXX/arc-constexpr.mm
@@ -4,7 +4,7 @@
 // CHECK: @[[CFSTRING:[a-z0-9_]+]] = private global %struct.__NSConstantString_tag
 @class NSString;
 
-// CHECK-LABEL: define void @_Z5test1v
+// CHECK-LABEL: define{{.*}} void @_Z5test1v
 // CHECK:   %[[ALLOCA:[A-Z]+]] = alloca %[[TYPE]]*
 // CHECK:   %[[V0:[0-9]+]] = call i8* @llvm.objc.retain(i8* bitcast (%struct.__NSConstantString_tag* @[[CFSTRING]]
 // CHECK:   %[[V1:[0-9]+]] = bitcast i8* %[[V0]] to %[[TYPE]]*
@@ -15,7 +15,7 @@ void test1() {
   constexpr NSString *S = @"abc";
 }
 
-// CHECK-LABEL: define void @_Z5test2v
+// CHECK-LABEL: define{{.*}} void @_Z5test2v
 // CHECK:      %[[CONST:[a-zA-Z]+]] = alloca %[[TYPE]]*
 // CHECK:      %[[REF_CONST:[a-zA-Z]+]] = alloca %[[TYPE]]*
 // CHECK:      %[[V0:[0-9]+]] = call i8* @llvm.objc.retain(i8* bitcast (%struct.__NSConstantString_tag* @[[CFSTRING]]
@@ -35,7 +35,7 @@ void test2() {
   NSString* RefConst = Const;
 }
 
-// CHECK-LABEL: define void @_Z5test3v
+// CHECK-LABEL: define{{.*}} void @_Z5test3v
 // CHECK:      %[[WEAK_CONST:[a-zA-Z]+]] = alloca %[[TYPE]]*
 // CHECK:      %[[REF_WEAK_CONST:[a-zA-Z]+]] = alloca %[[TYPE]]*
 // CHECK:      %[[V0:[0-9]+]] = bitcast %[[TYPE]]** %[[WEAK_CONST]]

diff  --git a/clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm b/clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
index 2c70f64d2043..7627139b00d6 100644
--- a/clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
+++ b/clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
@@ -42,7 +42,7 @@ + (instancetype) new;
   return {@"str0", @"str1"};
 }
 
-// CHECK: define void @_Z4foo1v(%"class.std::initializer_list.0"* {{.*}} %[[AGG_RESULT:.*]])
+// CHECK: define{{.*}} void @_Z4foo1v(%"class.std::initializer_list.0"* {{.*}} %[[AGG_RESULT:.*]])
 // CHECK: %[[BEGIN:.*]] = getelementptr inbounds %"class.std::initializer_list.0", %"class.std::initializer_list.0"* %[[AGG_RESULT]], i32 0, i32 0
 // CHECK: store i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @[[REFTMP]], i32 0, i32 0), i8*** %[[BEGIN]]
 // CHECK: %[[SIZE:.*]] = getelementptr inbounds %"class.std::initializer_list.0", %"class.std::initializer_list.0"* %[[AGG_RESULT]], i32 0, i32 1

diff  --git a/clang/test/CodeGenObjCXX/arc-exceptions.mm b/clang/test/CodeGenObjCXX/arc-exceptions.mm
index 94e1374c838f..8814866c5fc0 100644
--- a/clang/test/CodeGenObjCXX/arc-exceptions.mm
+++ b/clang/test/CodeGenObjCXX/arc-exceptions.mm
@@ -11,7 +11,7 @@ void test0(void) {
   } @catch (Ety *e) {
   }
 }
-// CHECK-LABEL: 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-LABEL: 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-LABEL: 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-LABEL: 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 @@ void test3(void) {
   A::A() {
     throw 0;
   }
-  // CHECK-LABEL:    define void @_ZN5test41AC2Ev(
+  // CHECK-LABEL:    define{{.*}} void @_ZN5test41AC2Ev(
   // CHECK:      [[THIS:%.*]] = load [[A:%.*]]*, [[A:%.*]]** {{%.*}}
   //   Construct single.
   // CHECK-NEXT: [[SINGLE:%.*]] = getelementptr inbounds [[A]], [[A]]* [[THIS]], i32 0, i32 0
@@ -131,7 +131,7 @@ void test5(void) {
     test5_helper(3)
   };
 }
-// CHECK-LABEL: define void @_Z5test5v()
+// CHECK-LABEL: define{{.*}} void @_Z5test5v()
 // CHECK:       [[ARRAY:%.*]] = alloca [2 x [2 x i8*]], align
 // CHECK:       [[A0:%.*]] = getelementptr inbounds [2 x [2 x i8*]], [2 x [2 x i8*]]* [[ARRAY]], i64 0, i64 0
 // CHECK-NEXT:  store [2 x i8*]* [[A0]],

diff  --git a/clang/test/CodeGenObjCXX/arc-move.mm b/clang/test/CodeGenObjCXX/arc-move.mm
index 450dd9747ab8..af6cce56dddb 100644
--- a/clang/test/CodeGenObjCXX/arc-move.mm
+++ b/clang/test/CodeGenObjCXX/arc-move.mm
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fblocks -fobjc-arc -O2 -std=c++11 -disable-llvm-passes -o - %s | FileCheck %s
 
-// define void @_Z11simple_moveRU8__strongP11objc_objectS2_
+// define{{.*}} void @_Z11simple_moveRU8__strongP11objc_objectS2_
 void simple_move(__strong id &x, __strong id &y) {
   // CHECK: = load i8*, i8**
   // CHECK: store i8* null
@@ -31,7 +31,7 @@ void simple_move(__strong id &x, __strong id &y) {
   return static_cast<typename remove_reference<T>::type&&>(x); 
 }
 
-// CHECK-LABEL: 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 nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i8** @_Z4moveIRU8__strongP11objc_objectEON16remove_referenceIT_E4typeEOS5_
   // CHECK: load i8*, i8**
@@ -44,7 +44,7 @@ void library_move(__strong id &x, __strong id &y) {
   x = move(y);
 }
 
-// CHECK-LABEL: define void @_Z12library_moveRU8__strongP11objc_object
+// CHECK-LABEL: define{{.*}} void @_Z12library_moveRU8__strongP11objc_object
 void library_move(__strong id &y) {
   // CHECK: [[X:%.*]] = alloca i8*, align 8
   // CHECK: [[I:%.*]] = alloca i32, align 4
@@ -72,7 +72,7 @@ void library_move(__strong id &y) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @_Z10const_moveRU8__strongKP11objc_object(
+// CHECK-LABEL: define{{.*}} void @_Z10const_moveRU8__strongKP11objc_object(
 void const_move(const __strong id &x) {
   // CHECK:      [[Y:%.*]] = alloca i8*,
   // CHECK:      [[X:%.*]] = call nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) i8** @_Z4moveIRU8__strongKP11objc_objectEON16remove_referenceIT_E4typeEOS5_(

diff  --git a/clang/test/CodeGenObjCXX/arc-new-delete.mm b/clang/test/CodeGenObjCXX/arc-new-delete.mm
index ae3a8631eab5..5760eed18c1f 100644
--- a/clang/test/CodeGenObjCXX/arc-new-delete.mm
+++ b/clang/test/CodeGenObjCXX/arc-new-delete.mm
@@ -4,7 +4,7 @@
 typedef __strong id strong_id;
 typedef __weak id weak_id;
 
-// CHECK-LABEL: define void @_Z8test_newP11objc_object
+// CHECK-LABEL: define{{.*}} void @_Z8test_newP11objc_object
 void test_new(id invalue) {
   // CHECK: [[INVALUEADDR:%.*]] = alloca i8*
   // UNOPT-NEXT: store i8* null, i8** [[INVALUEADDR]]
@@ -46,7 +46,7 @@ void test_new(id invalue) {
   // CHECK: ret void
 }
 
-// CHECK-LABEL: define void @_Z14test_array_new
+// CHECK-LABEL: define{{.*}} void @_Z14test_array_new
 void test_array_new() {
   // CHECK: call noalias nonnull i8* @_Znam
   // CHECK: store i64 17, i64*
@@ -60,7 +60,7 @@ void test_array_new() {
   // CHECK: ret void
 }
 
-// CHECK-LABEL: 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
   // UNOPT: call void @llvm.objc.storeStrong(i8** {{.*}}, i8* null)
@@ -76,7 +76,7 @@ void test_delete(__strong id *sptr, __weak id *wptr) {
   // CHECK: ret void
 }
 
-// CHECK-LABEL: 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, i64* {{%.*}}

diff  --git a/clang/test/CodeGenObjCXX/arc-pseudo-destructors.mm b/clang/test/CodeGenObjCXX/arc-pseudo-destructors.mm
index 191712d79c11..85221483ed9b 100644
--- a/clang/test/CodeGenObjCXX/arc-pseudo-destructors.mm
+++ b/clang/test/CodeGenObjCXX/arc-pseudo-destructors.mm
@@ -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-LABEL: 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**, i8***
   // CHECK-NEXT: load i8*, i8**

diff  --git a/clang/test/CodeGenObjCXX/arc-references.mm b/clang/test/CodeGenObjCXX/arc-references.mm
index aa0b85f2a050..250e27d4c6dd 100644
--- a/clang/test/CodeGenObjCXX/arc-references.mm
+++ b/clang/test/CodeGenObjCXX/arc-references.mm
@@ -7,7 +7,7 @@ @interface A
 void callee();
 
 // Lifetime extension for binding a reference to an rvalue
-// CHECK-LABEL: define void @_Z5test0v()
+// CHECK-LABEL: define{{.*}} void @_Z5test0v()
 void test0() {
   // CHECK: call i8* @_Z9getObjectv
   // CHECK-NEXT: call i8* @llvm.objc.retainAutoreleasedReturnValue
@@ -25,7 +25,7 @@ void test0() {
 }
 
 // No lifetime extension when we're binding a reference to an lvalue.
-// CHECK-LABEL: 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;
@@ -36,7 +36,7 @@ void test1(__strong id &x, __weak id &y) {
 
 typedef __strong id strong_id;
 
-//CHECK: define void @_Z5test3v
+//CHECK: define{{.*}} void @_Z5test3v
 void test3() {
   // CHECK: [[REF:%.*]] = alloca i8**, align 8
   // CHECK: call i8* @llvm.objc.initWeak
@@ -50,7 +50,7 @@ void test3() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @_Z5test4RU8__strongP11objc_object
+// CHECK-LABEL: define{{.*}} void @_Z5test4RU8__strongP11objc_object
 void test4(__strong id &x) {
   // CHECK: call i8* @llvm.objc.retain
   __strong A* const &ar = x;
@@ -62,7 +62,7 @@ void test4(__strong id &x) {
 
 void sink(__strong A* &&);
 
-// CHECK-LABEL: define void @_Z5test5RU8__strongP11objc_object
+// CHECK-LABEL: define{{.*}} void @_Z5test5RU8__strongP11objc_object
 void test5(__strong id &x) {
   // CHECK:      [[REFTMP:%.*]] = alloca {{%.*}}*, align 8
   // CHECK:      [[I:%.*]] = alloca i32, align 4

diff  --git a/clang/test/CodeGenObjCXX/arc-special-member-functions.mm b/clang/test/CodeGenObjCXX/arc-special-member-functions.mm
index c7718f4789a6..9c001eac3724 100644
--- a/clang/test/CodeGenObjCXX/arc-special-member-functions.mm
+++ b/clang/test/CodeGenObjCXX/arc-special-member-functions.mm
@@ -17,14 +17,14 @@
 
 // The Weak object that is passed is destructed in this constructor.
 
-// CHECK: define void @_ZN12ContainsWeakC2E4Weak(
+// CHECK: define{{.*}} void @_ZN12ContainsWeakC2E4Weak(
 // CHECK: call void @_ZN4WeakC1ERKS_(
 // CHECK: call void @_ZN4WeakD1Ev(
 
 // Check that the Weak object passed to this constructor is not destructed after
 // the delegate constructor is called.
 
-// CHECK: define void @_ZN12ContainsWeakC1E4Weak(
+// CHECK: define{{.*}} void @_ZN12ContainsWeakC1E4Weak(
 // CHECK: call void @_ZN12ContainsWeakC2E4Weak(
 // CHECK-NEXT: ret void
 
@@ -42,7 +42,7 @@
 
 // The Weak object that is passed is destructed in this constructor.
 
-// CHECK: define void @_ZN4BaseC2E4Weak(
+// CHECK: define{{.*}} void @_ZN4BaseC2E4Weak(
 // CHECK: call void @_ZN4WeakD1Ev(
 // CHECK: ret void
 
@@ -65,14 +65,14 @@
 
 Derived d(Weak(0));
 
-// CHECK-LABEL: 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-LABEL: 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
@@ -80,7 +80,7 @@ void test_ObjCMember_copy_construct_destruct(ObjCMember m1) {
   // CHECK: ret void
 }
 
-// CHECK-LABEL: 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;
@@ -94,7 +94,7 @@ void test_ObjCMember_copy_assign(ObjCMember m1, ObjCMember m2) {
 // CHECK:      call void @llvm.objc.storeStrong
 // CHECK:      ret
 
-// CHECK-LABEL: 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;
@@ -102,7 +102,7 @@ void test_ObjCArrayMember_default_construct_destruct() {
   // CHECK: ret void
 }
 
-// CHECK-LABEL: 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;
@@ -124,7 +124,7 @@ void test_ObjCArrayMember_copy_assign(ObjCArrayMember m1, ObjCArrayMember m2) {
 // CHECK-NEXT: br label
 // CHECK: ret
 
-// CHECK-LABEL: 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;
@@ -132,7 +132,7 @@ void test_ObjCBlockMember_default_construct_destruct() {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: 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;
@@ -141,7 +141,7 @@ void test_ObjCBlockMember_copy_construct_destruct(ObjCBlockMember m1) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: 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;

diff  --git a/clang/test/CodeGenObjCXX/arc-weak.mm b/clang/test/CodeGenObjCXX/arc-weak.mm
index cb1bc95c93bd..7b02c021a208 100644
--- a/clang/test/CodeGenObjCXX/arc-weak.mm
+++ b/clang/test/CodeGenObjCXX/arc-weak.mm
@@ -8,7 +8,7 @@ @interface B : A @end
 void test0(__weak B **src) {
   __weak A *dest = *src;
 }
-// CHECK-LABEL: define void @_Z5test0PU6__weakP1B(
+// CHECK-LABEL: define{{.*}} void @_Z5test0PU6__weakP1B(
 // CHECK:       [[SRC:%.*]] = alloca [[B:%.*]]**, align 8
 // CHECK:       [[DEST:%.*]] = alloca [[A:%.*]]*, align 8
 // CHECK:       [[T0:%.*]] = load [[B]]**, [[B]]*** [[SRC]], align 8
@@ -22,7 +22,7 @@ void test0(__weak B **src) {
 void test1(__weak B **src) {
   __weak A *dest = static_cast<__weak B*&&>(*src);
 }
-// CHECK-LABEL: define void @_Z5test1PU6__weakP1B(
+// CHECK-LABEL: define{{.*}} void @_Z5test1PU6__weakP1B(
 // CHECK:       [[SRC:%.*]] = alloca [[B:%.*]]**, align 8
 // CHECK:       [[DEST:%.*]] = alloca [[A:%.*]]*, align 8
 // CHECK:       [[T0:%.*]] = load [[B]]**, [[B]]*** [[SRC]], align 8

diff  --git a/clang/test/CodeGenObjCXX/arc.mm b/clang/test/CodeGenObjCXX/arc.mm
index f351ff6089c2..5b45cae1f8ca 100644
--- a/clang/test/CodeGenObjCXX/arc.mm
+++ b/clang/test/CodeGenObjCXX/arc.mm
@@ -7,7 +7,7 @@ - (unsigned long) countByEnumeratingWithState: (struct NSFastEnumerationState*)
                   count: (unsigned long) bufferSize;
 @end;
 NSArray *nsarray() { return 0; }
-// CHECK: define [[NSARRAY:%.*]]* @_Z7nsarrayv()
+// CHECK: define{{.*}} [[NSARRAY:%.*]]* @_Z7nsarrayv()
 
 void use(id);
 
@@ -55,7 +55,7 @@ void test34(int cond) {
   test34_sink(cond ? &strong : 0);
   test34_sink(cond ? &weak : 0);
 
-  // CHECK-LABEL:    define void @_Z6test34i(
+  // CHECK-LABEL:    define{{.*}} void @_Z6test34i(
   // CHECK:      [[COND:%.*]] = alloca i32
   // CHECK-NEXT: [[STRONG:%.*]] = alloca i8*
   // CHECK-NEXT: [[WEAK:%.*]] = alloca i8*
@@ -122,7 +122,7 @@ void test34(int cond) {
   id makeObject4();
 };
 
-// CHECK-LABEL: define void @_Z6test3513Test35_HelperPS_
+// CHECK-LABEL: define{{.*}} void @_Z6test3513Test35_HelperPS_
 void test35(Test35_Helper x0, Test35_Helper *x0p) {
   // CHECK: call void @llvm.lifetime.start
   // CHECK: call i8* @_ZN13Test35_Helper11makeObject1Ev
@@ -160,7 +160,7 @@ void test35(Test35_Helper x0, Test35_Helper *x0p) {
   // CHECK-NEXT: ret void
 }
 
-// CHECK-LABEL: define void @_Z7test35b13Test35_HelperPS_
+// CHECK-LABEL: define{{.*}} void @_Z7test35b13Test35_HelperPS_
 void test35b(Test35_Helper x0, Test35_Helper *x0p) {
   // CHECK: call void @llvm.lifetime.start
   // CHECK: call i8* @_ZN13Test35_Helper11makeObject3Ev
@@ -199,7 +199,7 @@ void test35b(Test35_Helper x0, Test35_Helper *x0p) {
 }
 
 // rdar://problem/9603128
-// CHECK-LABEL: define i8* @_Z6test36P11objc_object(
+// CHECK-LABEL: define{{.*}} i8* @_Z6test36P11objc_object(
 id test36(id z) {
   // CHECK: llvm.objc.retain
   // CHECK: llvm.objc.retain
@@ -297,7 +297,7 @@ void test(T x) {
 };
 id Test39::bar() { return 0; }
 // Note lack of autorelease.
-// CHECK-LABEL:    define i8* @_ZThn8_N6Test393barEv(
+// CHECK-LABEL:    define{{.*}} i8* @_ZThn8_N6Test393barEv(
 // CHECK:      call i8* @_ZN6Test393barEv(
 // CHECK-NEXT: ret i8*
 
@@ -328,7 +328,7 @@ + (void) foo:(id *)errorPtr;
 void test41(__weak id &&x) {
   __weak id y = static_cast<__weak id &&>(x);
 }
-// CHECK-LABEL: define void @_Z6test41OU6__weakP11objc_object
+// CHECK-LABEL: define{{.*}} void @_Z6test41OU6__weakP11objc_object
 // CHECK:      [[X:%.*]] = alloca i8**
 // CHECK:      [[Y:%.*]] = alloca i8*
 // CHECK:      [[T0:%.*]] = load i8**, i8*** [[X]]

diff  --git a/clang/test/CodeGenObjCXX/auto-release-result-assert.mm b/clang/test/CodeGenObjCXX/auto-release-result-assert.mm
index 044dc9d7d99c..ea29f1f8f10d 100644
--- a/clang/test/CodeGenObjCXX/auto-release-result-assert.mm
+++ b/clang/test/CodeGenObjCXX/auto-release-result-assert.mm
@@ -1,10 +1,10 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fblocks -fobjc-arc -o - %s | FileCheck %s
 
-// CHECK-LABEL: define %struct.S1* @_Z4foo1i(
+// CHECK-LABEL: define{{.*}} %struct.S1* @_Z4foo1i(
 // CHECK: %[[CALL:[a-z0-9]+]] = call %struct.S1* @_Z4foo0i
 // CHECK: ret %struct.S1* %[[CALL]]
 
-// CHECK-LABEL: define %struct.S1* @_ZN2S22m1Ev(
+// CHECK-LABEL: define{{.*}} %struct.S1* @_ZN2S22m1Ev(
 // CHECK: %[[CALL:[a-z0-9]+]] = call %struct.S1* @_Z4foo0i
 // CHECK: ret %struct.S1* %[[CALL]]
 

diff  --git a/clang/test/CodeGenObjCXX/block-nested-in-lambda.mm b/clang/test/CodeGenObjCXX/block-nested-in-lambda.mm
index a3cd3f3c7254..6268cbfbce5d 100644
--- a/clang/test/CodeGenObjCXX/block-nested-in-lambda.mm
+++ b/clang/test/CodeGenObjCXX/block-nested-in-lambda.mm
@@ -35,7 +35,7 @@ void block_in_lambda(int &s1, int &s2) {
 // Block copy/dispose helpers aren't needed because 'a' is captured by
 // reference.
 
-// CHECK-LABEL: define void @_ZN18CaptureByReference5test0Ev(
+// CHECK-LABEL: define{{.*}} void @_ZN18CaptureByReference5test0Ev(
 // CHECK-LABEL: define internal void @"_ZZN18CaptureByReference5test0EvENK3$_3clEv"(
 // CHECK: %[[BLOCK_DESCRIPTOR:.*]] = getelementptr inbounds <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8** }>, <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8** }>* %{{.*}}, i32 0, i32 4
 // CHECK: store %[[STRUCT_BLOCK_DESCRIPTOR]]* bitcast ({ i64, i64, i8*, i64 }* @"__block_descriptor_40_e5_v8\01?0ls32l8" to %[[STRUCT_BLOCK_DESCRIPTOR]]*), %[[STRUCT_BLOCK_DESCRIPTOR]]** %[[BLOCK_DESCRIPTOR]], align 8
@@ -48,7 +48,7 @@ void test0() {
 // Block copy/dispose helpers shouldn't have to retain/release 'a' because it
 // is captured by reference.
 
-// CHECK-LABEL: define void @_ZN18CaptureByReference5test1Ev(
+// CHECK-LABEL: define{{.*}} void @_ZN18CaptureByReference5test1Ev(
 // CHECK-LABEL: define internal void @"_ZZN18CaptureByReference5test1EvENK3$_4clEv"(
 // CHECK: %[[BLOCK_DESCRIPTOR:.*]] = getelementptr inbounds <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8*, i8*, i8** }>, <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8*, i8*, i8** }>* %{{.*}}, i32 0, i32 4
 // CHECK: store %[[STRUCT_BLOCK_DESCRIPTOR]]* bitcast ({ i64, i64, i8*, i8*, i8*, i64 }* @"__block_descriptor_56_8_32s40s_e5_v8\01?0l" to %[[STRUCT_BLOCK_DESCRIPTOR]]*), %[[STRUCT_BLOCK_DESCRIPTOR]]** %[[BLOCK_DESCRIPTOR]], align 8

diff  --git a/clang/test/CodeGenObjCXX/copy.mm b/clang/test/CodeGenObjCXX/copy.mm
index 19a32ebd1d29..94cd04980467 100644
--- a/clang/test/CodeGenObjCXX/copy.mm
+++ b/clang/test/CodeGenObjCXX/copy.mm
@@ -7,7 +7,7 @@
     id x;
   };
 
-  // CHECK:    define [[A:%.*]]* @_ZN5test04testENS_1AE(
+  // CHECK:    define{{.*}} [[A:%.*]]* @_ZN5test04testENS_1AE(
   // CHECK:      alloca
   // CHECK-NEXT: getelementptr
   // CHECK-NEXT: store

diff  --git a/clang/test/CodeGenObjCXX/destroy.mm b/clang/test/CodeGenObjCXX/destroy.mm
index 4a0451ec947b..7e2c22852579 100644
--- a/clang/test/CodeGenObjCXX/destroy.mm
+++ b/clang/test/CodeGenObjCXX/destroy.mm
@@ -12,7 +12,7 @@
 void test1() {
   derived d1;
 }
-// CHECK-LABEL: define void @_Z5test1v()
+// CHECK-LABEL: define{{.*}} void @_Z5test1v()
 // CHECK: call void @_ZN7derivedC1Ev
 // CHECK: call void @_ZN7derivedD1Ev
 
@@ -20,7 +20,7 @@ void test2() {
   derived *d2 = new derived;
   delete d2;
 }
-// CHECK-LABEL: define void @_Z5test2v()
+// CHECK-LABEL: define{{.*}} void @_Z5test2v()
 // CHECK:   call void @_ZN7derivedC1Ev
 // CHECK:   call void @_ZN7derivedD1Ev
 
@@ -31,7 +31,7 @@ void test2() {
 void test3() {
   tderived<int> d1;
 }
-// CHECK-LABEL: define void @_Z5test3v()
+// CHECK-LABEL: define{{.*}} void @_Z5test3v()
 // CHECK: call void @_ZN8tderivedIiEC1Ev
 // CHECK: call void @_ZN8tderivedIiED1Ev
 
@@ -39,7 +39,7 @@ void test4() {
   tderived<int> *d2 = new tderived<int>;
   delete d2;
 }
-// CHECK-LABEL: define void @_Z5test4v()
+// CHECK-LABEL: define{{.*}} void @_Z5test4v()
 // CHECK: call void @_ZN8tderivedIiEC1Ev
 // CHECK: call void @_ZN8tderivedIiED1Ev
 

diff  --git a/clang/test/CodeGenObjCXX/encode.mm b/clang/test/CodeGenObjCXX/encode.mm
index 61d0791a637c..e5e1123c2dc8 100644
--- a/clang/test/CodeGenObjCXX/encode.mm
+++ b/clang/test/CodeGenObjCXX/encode.mm
@@ -89,8 +89,8 @@ @implementation RedBalloonHGXFormWrapper
   typedef vector< float,  fixed<4> > vector4f;
 
   // FIXME: This 
diff erence is due to D76801. It was probably an unintentional change. Maybe we want to undo it?
-  // CHECKCXX98: @_ZN11rdar93574002ggE = constant [49 x i8] c"{vector<float, rdar9357400::fixed<4, -1> >=[4f]}\00"
-  // CHECKCXX20: @_ZN11rdar93574002ggE = constant [48 x i8] c"{vector<float, rdar9357400::fixed<4, -1>>=[4f]}\00"
+  // CHECKCXX98: @_ZN11rdar93574002ggE ={{.*}} constant [49 x i8] c"{vector<float, rdar9357400::fixed<4, -1> >=[4f]}\00"
+  // CHECKCXX20: @_ZN11rdar93574002ggE ={{.*}} constant [48 x i8] c"{vector<float, rdar9357400::fixed<4, -1>>=[4f]}\00"
   extern const char gg[] = @encode(vector4f);
 }
 
@@ -100,11 +100,11 @@ @implementation RedBalloonHGXFormWrapper
   struct B3 {};
   struct S : B2, B3 {};
 
-  // CHECK: @_ZN11rdar96243142ggE = constant [6 x i8] c"{S=i}\00"
+  // CHECK: @_ZN11rdar96243142ggE ={{.*}} constant [6 x i8] c"{S=i}\00"
   extern const char gg[] = @encode(S);
 
   struct S2 { unsigned : 0; int x; unsigned : 0; };
-  // CHECK: @_ZN11rdar96243142g2E = constant [11 x i8] c"{S2=b0ib0}\00"
+  // CHECK: @_ZN11rdar96243142g2E ={{.*}} constant [11 x i8] c"{S2=b0ib0}\00"
   extern const char g2[] = @encode(S2);
 }
 
@@ -125,7 +125,7 @@ @implementation RedBalloonHGXFormWrapper
    int y;
   };
 
-  // CHECK: @_ZN4test3ecdE = constant [15 x i8] c"{Zoo=^^?ii^^?}\00"
+  // CHECK: @_ZN4test3ecdE ={{.*}} constant [15 x i8] c"{Zoo=^^?ii^^?}\00"
   extern const char ecd[] = @encode(Zoo);
 }
 
@@ -146,16 +146,16 @@ @implementation RedBalloonHGXFormWrapper
   float x;
 };
 
-// CHECK: @g1 = constant [10 x i8] c"{Base1=c}\00"
+// CHECK: @g1 ={{.*}} constant [10 x i8] c"{Base1=c}\00"
 extern const char g1[] = @encode(Base1);
 
-// CHECK: @g2 = constant [14 x i8] c"{DBase=^^?cd}\00"
+// CHECK: @g2 ={{.*}} constant [14 x i8] c"{DBase=^^?cd}\00"
 extern const char g2[] = @encode(DBase);
 
-// CHECK: @g3 = constant [26 x i8] c"{Sub_with_virt=^^?q^^?cd}\00"
+// CHECK: @g3 ={{.*}} constant [26 x i8] c"{Sub_with_virt=^^?q^^?cd}\00"
 extern const char g3[] = @encode(Sub_with_virt);
 
-// CHECK: @g4 = constant [19 x i8] c"{Sub2=^^?qcf^^?cd}\00"
+// CHECK: @g4 ={{.*}} constant [19 x i8] c"{Sub2=^^?qcf^^?cd}\00"
 extern const char g4[] = @encode(Sub2);
 
 // http://llvm.org/PR9927
@@ -168,7 +168,7 @@ @implementation RedBalloonHGXFormWrapper
 _Alloc_hider _M_dataplus;
 };
 
-// CHECK: @g5 = constant [32 x i8] c"{basic_string={_Alloc_hider=*}}\00"
+// CHECK: @g5 ={{.*}} constant [32 x i8] c"{basic_string={_Alloc_hider=*}}\00"
 extern const char g5[] = @encode(basic_string);
 
 
@@ -178,7 +178,7 @@ @implementation RedBalloonHGXFormWrapper
 };
 struct CefBrowser : public virtual CefBase {};
 struct CefBrowserImpl : public CefBrowser {};
-// CHECK: @g6 = constant [21 x i8] c"{CefBrowserImpl=^^?}\00"
+// CHECK: @g6 ={{.*}} constant [21 x i8] c"{CefBrowserImpl=^^?}\00"
 extern const char g6[] = @encode(CefBrowserImpl);
 
 // PR10990_2
@@ -188,7 +188,7 @@ @implementation RedBalloonHGXFormWrapper
 };
 struct CefBrowser2 : public virtual CefBase2 {};
 struct CefBrowserImpl2 : public CefBrowser2 {};
-// CHECK: @g7 = constant [26 x i8] c"{CefBrowserImpl2=^^?^^?i}\00"
+// CHECK: @g7 ={{.*}} constant [26 x i8] c"{CefBrowserImpl2=^^?^^?i}\00"
 extern const char g7[] = @encode(CefBrowserImpl2);
 
 // <rdar://problem/11324167>
@@ -202,7 +202,7 @@ @implementation RedBalloonHGXFormWrapper
   X vec;
 };
 
-// CHECK: @g8 = constant [14 x i8] c"{Y={X=[10i]}}\00"
+// CHECK: @g8 ={{.*}} constant [14 x i8] c"{Y={X=[10i]}}\00"
 extern const char g8[] = @encode(Y);
 
 
@@ -224,7 +224,7 @@ @implementation has_dynamic_class_ivar {
   struct C { virtual ~C(); int z; };
   struct D : C, B { int a; };
   struct E : D {};
-  // CHECK: @_ZN7PR171421xE = constant [14 x i8] c"{E=^^?i^^?ii}\00"
+  // CHECK: @_ZN7PR171421xE ={{.*}} constant [14 x i8] c"{E=^^?i^^?ii}\00"
   extern const char x[] = @encode(E);
 }
 
@@ -256,7 +256,7 @@ @implementation N
     int m;
     [[no_unique_address]] F n;
   };
-  // CHECKCXX20: @_ZN7PR480481xE = constant [6 x i8] c"{I=i}\00"
+  // CHECKCXX20: @_ZN7PR480481xE ={{.*}} constant [6 x i8] c"{I=i}\00"
   extern const char x[] = @encode(I);
 }
 #endif

diff  --git a/clang/test/CodeGenObjCXX/exception-cxx.mm b/clang/test/CodeGenObjCXX/exception-cxx.mm
index 36eec28a0ab7..ddbe26b153ae 100644
--- a/clang/test/CodeGenObjCXX/exception-cxx.mm
+++ b/clang/test/CodeGenObjCXX/exception-cxx.mm
@@ -9,5 +9,5 @@ void foo() {
       return;
     }
   }
-// CHECK: define void @_ZN5test03fooEv() #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
+// CHECK: define{{.*}} void @_ZN5test03fooEv() #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
 }

diff  --git a/clang/test/CodeGenObjCXX/exceptions-legacy.mm b/clang/test/CodeGenObjCXX/exceptions-legacy.mm
index 563569478679..06d0fc2ecd13 100644
--- a/clang/test/CodeGenObjCXX/exceptions-legacy.mm
+++ b/clang/test/CodeGenObjCXX/exceptions-legacy.mm
@@ -12,7 +12,7 @@ void test0(id obj) {
     foo();
   }
 }
-// CHECK-LABEL:    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:%.*]]* nonnull [[BUF:%.*]])
@@ -52,7 +52,7 @@ void test1(id obj, bool *failed) {
     *failed = true;
   }
 }
-// CHECK-LABEL:    define void @_Z5test1P11objc_objectPb(
+// CHECK-LABEL:    define{{.*}} void @_Z5test1P11objc_objectPb(
 //   Enter the @try block.
 // CHECK:      call void @objc_exception_try_enter([[BUF_T]]* nonnull [[BUF:%.*]])
 // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BUF_T]], [[BUF_T]]* [[BUF]], i32 0, i32 0, i32 0

diff  --git a/clang/test/CodeGenObjCXX/exceptions.mm b/clang/test/CodeGenObjCXX/exceptions.mm
index ef25f359e8bd..3d48b0d7f3e8 100644
--- a/clang/test/CodeGenObjCXX/exceptions.mm
+++ b/clang/test/CodeGenObjCXX/exceptions.mm
@@ -5,7 +5,7 @@ @interface OCType @end
 
 namespace test0 {
 
-  // CHECK-LABEL: define void @_ZN5test03fooEv
+  // CHECK-LABEL: define{{.*}} void @_ZN5test03fooEv
   // CHECK-SAME:  personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*)
   void foo() {
     try {

diff  --git a/clang/test/CodeGenObjCXX/gc.mm b/clang/test/CodeGenObjCXX/gc.mm
index 2e2ad0f41e63..585f51757216 100644
--- a/clang/test/CodeGenObjCXX/gc.mm
+++ b/clang/test/CodeGenObjCXX/gc.mm
@@ -9,7 +9,7 @@
   };
   A::A() : x(test0::x) {}
 
-// CHECK-LABEL:    define void @_ZN5test01AC2Ev(
+// CHECK-LABEL:    define{{.*}} void @_ZN5test01AC2Ev(
 // CHECK:      [[THIS:%.*]] = alloca [[TEST0:%.*]]*, align 8
 // CHECK-NEXT: store 
 // CHECK-NEXT: [[T0:%.*]] = load [[TEST0]]*, [[TEST0]]** [[THIS]]

diff  --git a/clang/test/CodeGenObjCXX/inheriting-constructor-cleanup.mm b/clang/test/CodeGenObjCXX/inheriting-constructor-cleanup.mm
index a7770e07e423..7ad39027ec4a 100644
--- a/clang/test/CodeGenObjCXX/inheriting-constructor-cleanup.mm
+++ b/clang/test/CodeGenObjCXX/inheriting-constructor-cleanup.mm
@@ -21,7 +21,7 @@
 void f() {
   Inheritor({g()});
 }
-// CHECK-LABEL: define void @_Z1fv
+// CHECK-LABEL: define{{.*}} void @_Z1fv
 // CHECK:       %[[TMP:.*]] = call i8* @_Z1gv()
 // CHECK:       {{.*}} = notail call i8* @llvm.objc.retainAutoreleasedReturnValue(i8* %[[TMP]])
 // CHECK:       call void (%struct.Base*, i8*, ...) @_ZN4BaseC2E6Strongz(%struct.Base* {{.*}}, i8* {{.*}})

diff  --git a/clang/test/CodeGenObjCXX/lambda-expressions.mm b/clang/test/CodeGenObjCXX/lambda-expressions.mm
index ae03ce953dc5..27e8f7814d00 100644
--- a/clang/test/CodeGenObjCXX/lambda-expressions.mm
+++ b/clang/test/CodeGenObjCXX/lambda-expressions.mm
@@ -8,7 +8,7 @@
 
 // MRC: @OBJC_METH_VAR_NAME{{.*}} = private unnamed_addr constant [5 x i8] c"copy\00"
 // MRC: @OBJC_METH_VAR_NAME{{.*}} = private unnamed_addr constant [12 x i8] c"autorelease\00"
-// MRC-LABEL: define i32 ()* @_Z1fv(
+// 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*)
@@ -16,7 +16,7 @@
 // MRC: call i32 ()* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i32 ()* (i8*, i8*)*)
 // MRC: ret i32 ()*
 
-// ARC-LABEL: define i32 ()* @_Z1fv(
+// 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*)
@@ -27,13 +27,13 @@
 fp global;
 void f2() { global = []{ return 3; }; }
 
-// MRC: define void @_Z2f2v() [[NUW:#[0-9]+]] {
+// MRC: define{{.*}} void @_Z2f2v() [[NUW:#[0-9]+]] {
 // MRC: store i8* bitcast (i32 (i8*)* @___Z2f2v_block_invoke to i8*),
 // MRC-NOT: call
 // MRC: ret void
 // ("global" contains a dangling pointer after this function runs.)
 
-// ARC: define void @_Z2f2v() [[NUW:#[0-9]+]] {
+// ARC: define{{.*}} void @_Z2f2v() [[NUW:#[0-9]+]] {
 // ARC: store i8* bitcast (i32 (i8*)* @___Z2f2v_block_invoke to i8*),
 // ARC: call i8* @llvm.objc.retainBlock
 // ARC: call void @llvm.objc.release
@@ -62,7 +62,7 @@ - (void) test {
 }
 @end
 
-// ARC: define void @_ZN13LambdaCapture4foo1ERi(i32* nonnull align 4 dereferenceable(4) %{{.*}})
+// ARC: define{{.*}} void @_ZN13LambdaCapture4foo1ERi(i32* nonnull align 4 dereferenceable(4) %{{.*}})
 // ARC:   %[[CAPTURE0:.*]] = getelementptr inbounds %[[LAMBDACLASS]], %[[LAMBDACLASS]]* %{{.*}}, i32 0, i32 0
 // ARC:   store i32 %{{.*}}, i32* %[[CAPTURE0]]
 

diff  --git a/clang/test/CodeGenObjCXX/lambda-to-block.mm b/clang/test/CodeGenObjCXX/lambda-to-block.mm
index a21c8232f084..45dd6fe115d4 100644
--- a/clang/test/CodeGenObjCXX/lambda-to-block.mm
+++ b/clang/test/CodeGenObjCXX/lambda-to-block.mm
@@ -15,7 +15,7 @@
 // CHECK: @[[BLOCK_DESC2:.*]] = internal constant { i64, i64, i8*, i8*, i8*, i8* } { i64 0, i64 33, i8* bitcast (void (i8*, i8*)* @[[COPY_HELPER2:.*__copy_helper_block_.*]] to i8*), i8* bitcast (void (i8*)* @__destroy_helper_block{{.*}} to i8*), {{.*}}}, align 8
 // CHECK: @[[BLOCK_DESC3:.*]] = internal constant { i64, i64, i8*, i8*, i8*, i8* } { i64 0, i64 33, i8* bitcast (void (i8*, i8*)* @[[COPY_HELPER3:.*__copy_helper_block_.*]] to i8*), i8* bitcast (void (i8*)* @__destroy_helper_block{{.*}} to i8*), {{.*}}}, align 8
 
-// CHECK: define void @_Z9hasLambda8Copyable(
+// CHECK: define{{.*}} void @_Z9hasLambda8Copyable(
 // CHECK: %[[BLOCK:.*]] = alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, %[[CLASS_ANON]] }>, align 8
 // CHECK: %[[BLOCK1:.*]] = alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, %[[CLASS_ANON_0]] }>, align 8
 // CHECK: %[[BLOCK_DESCRIPTOR:.*]] = getelementptr inbounds <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, %[[CLASS_ANON]] }>, <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, %[[CLASS_ANON]] }>* %[[BLOCK]], i32 0, i32 4
@@ -39,7 +39,7 @@ void hasLambda(Copyable x) {
 // CHECK: call void @"_ZZ9hasLambda8CopyableEN3$_0C1ERKS0_"
 // CHECK: define internal void @[[COPY_HELPER1]]
 
-// CHECK: define void @_Z17testHelperMerging8Copyable(
+// CHECK: define{{.*}} void @_Z17testHelperMerging8Copyable(
 // CHECK: %[[CALL:.*]] = call void ()* @[[CONV_FUNC0:.*]](%[[CLASS_ANON_1]]*
 // CHECK: call void @_Z10takesBlockU13block_pointerFvvE(void ()* %[[CALL]])
 // CHECK: %[[CALL1:.*]] = call void ()* @[[CONV_FUNC0]](%[[CLASS_ANON_1]]*

diff  --git a/clang/test/CodeGenObjCXX/literals.mm b/clang/test/CodeGenObjCXX/literals.mm
index 612d12dd1353..3cdde2089de8 100644
--- a/clang/test/CodeGenObjCXX/literals.mm
+++ b/clang/test/CodeGenObjCXX/literals.mm
@@ -14,7 +14,7 @@
   operator id() const;
 };
 
-// CHECK-LABEL: define void @_Z10test_arrayv
+// CHECK-LABEL: define{{.*}} void @_Z10test_arrayv
 void test_array() {
   // CHECK: [[ARR:%[a-zA-Z0-9.]+]] = alloca i8*
   // CHECK: [[OBJECTS:%[a-zA-Z0-9.]+]] = alloca [2 x i8*]

diff  --git a/clang/test/CodeGenObjCXX/mangle.mm b/clang/test/CodeGenObjCXX/mangle.mm
index 2854cffc946b..1a59b513fbdd 100644
--- a/clang/test/CodeGenObjCXX/mangle.mm
+++ b/clang/test/CodeGenObjCXX/mangle.mm
@@ -81,37 +81,37 @@ void test2(Test2 *t) {
 
 @protocol P;
 void overload1(A<P>*) {}
-// CHECK-LABEL: define void @_Z9overload1PU11objcproto1P1A
+// CHECK-LABEL: define{{.*}} void @_Z9overload1PU11objcproto1P1A
 void overload1(const A<P>*) {}
-// CHECK-LABEL: define void @_Z9overload1PKU11objcproto1P1A
+// CHECK-LABEL: define{{.*}} void @_Z9overload1PKU11objcproto1P1A
 void overload1(A<P>**) {}
-// CHECK-LABEL: define void @_Z9overload1PPU11objcproto1P1A
+// CHECK-LABEL: define{{.*}} void @_Z9overload1PPU11objcproto1P1A
 void overload1(A<P>*const*) {}
-// CHECK-LABEL: define void @_Z9overload1PKPU11objcproto1P1A
+// CHECK-LABEL: define{{.*}} void @_Z9overload1PKPU11objcproto1P1A
 void overload1(A<P>***) {}
-// CHECK-LABEL: define void @_Z9overload1PPPU11objcproto1P1A
+// CHECK-LABEL: define{{.*}} void @_Z9overload1PPPU11objcproto1P1A
 void overload1(void (f)(A<P>*)) {}
-// CHECK-LABEL: define void @_Z9overload1PFvPU11objcproto1P1AE
+// CHECK-LABEL: define{{.*}} void @_Z9overload1PFvPU11objcproto1P1AE
 
 template<typename T> struct X { void f(); };
 template<> void X<A*>::f() {}
-// CHECK-LABEL: define void @_ZN1XIP1AE1fEv
+// CHECK-LABEL: define{{.*}} void @_ZN1XIP1AE1fEv
 template<> void X<A<P>*>::f() {}
-// CHECK-LABEL: define void @_ZN1XIPU11objcproto1P1AE1fEv
+// CHECK-LABEL: define{{.*}} void @_ZN1XIPU11objcproto1P1AE1fEv
 
-// CHECK-LABEL: define void @_Z12kindof_test2PU8__kindof5Test2
+// CHECK-LABEL: define{{.*}} void @_Z12kindof_test2PU8__kindof5Test2
 void kindof_test2(__kindof Test2 *t2) { }
 
 @interface Parameterized<T, U> : A
 @end
 
-// CHECK-LABEL: define void @_Z19parameterized_test1P13ParameterizedIP1AP4TestE
+// CHECK-LABEL: define{{.*}} void @_Z19parameterized_test1P13ParameterizedIP1AP4TestE
 void parameterized_test1(Parameterized<A *, Test *> *p) {}
 
-// CHECK-LABEL: define void @_Z19parameterized_test2PU8__kindof13ParameterizedIP1AP4TestE
+// CHECK-LABEL: define{{.*}} void @_Z19parameterized_test2PU8__kindof13ParameterizedIP1AP4TestE
 void parameterized_test2(__kindof Parameterized<A *, Test *> *p) {}
 
-// CHECK-LABEL: define void @_Z19parameterized_test3P13Parameterized
+// CHECK-LABEL: define{{.*}} void @_Z19parameterized_test3P13Parameterized
 void parameterized_test3(Parameterized *p) {}
 
 // CHECK-LABEL: define {{.*}}void @_Z1fP11objc_object

diff  --git a/clang/test/CodeGenObjCXX/mrc-weak.mm b/clang/test/CodeGenObjCXX/mrc-weak.mm
index f4b48997106d..5e111e4fd1c2 100644
--- a/clang/test/CodeGenObjCXX/mrc-weak.mm
+++ b/clang/test/CodeGenObjCXX/mrc-weak.mm
@@ -31,7 +31,7 @@ @implementation Foo
 
 
 void test1(__weak id x) {}
-// CHECK-LABEL: define void @_Z5test1P11objc_object(
+// CHECK-LABEL: define{{.*}} void @_Z5test1P11objc_object(
 // CHECK:      [[X:%.*]] = alloca i8*,
 // CHECK-NEXT: llvm.objc.initWeak
 // CHECK-NEXT: llvm.objc.destroyWeak
@@ -40,7 +40,7 @@ void test1(__weak id x) {}
 void test2(id y) {
   __weak id z = y;
 }
-// CHECK-LABEL: define void @_Z5test2P11objc_object(
+// CHECK-LABEL: define{{.*}} void @_Z5test2P11objc_object(
 // CHECK:      [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: [[Z:%.*]] = alloca i8*,
 // CHECK-NEXT: store
@@ -53,7 +53,7 @@ void test3(id y) {
   __weak id z;
   z = y;
 }
-// CHECK-LABEL: define void @_Z5test3P11objc_object(
+// CHECK-LABEL: define{{.*}} void @_Z5test3P11objc_object(
 // CHECK:      [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: [[Z:%.*]] = alloca i8*,
 // CHECK-NEXT: store
@@ -66,7 +66,7 @@ void test3(id y) {
 void test4(__weak id *p) {
   id y = *p;
 }
-// CHECK-LABEL: define void @_Z5test4PU6__weakP11objc_object(
+// CHECK-LABEL: define{{.*}} void @_Z5test4PU6__weakP11objc_object(
 // CHECK:      [[P:%.*]] = alloca i8**,
 // CHECK-NEXT: [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: store
@@ -78,7 +78,7 @@ void test4(__weak id *p) {
 void test5(__weak id *p) {
   id y = [*p retain];
 }
-// CHECK-LABEL: define void @_Z5test5PU6__weakP11objc_object
+// CHECK-LABEL: define{{.*}} void @_Z5test5PU6__weakP11objc_object
 // CHECK:      [[P:%.*]] = alloca i8**,
 // CHECK-NEXT: [[Y:%.*]] = alloca i8*,
 // CHECK-NEXT: store
@@ -90,7 +90,7 @@ void test5(__weak id *p) {
 void test6(__weak Foo **p) {
   Foo *y = [*p retain];
 }
-// CHECK-LABEL: define void @_Z5test6PU6__weakP3Foo
+// CHECK-LABEL: define{{.*}} void @_Z5test6PU6__weakP3Foo
 // CHECK:      [[P:%.*]] = alloca [[FOO:%.*]]**,
 // CHECK-NEXT: [[Y:%.*]] = alloca [[FOO]]*,
 // CHECK-NEXT: store
@@ -108,7 +108,7 @@ void test7(void) {
   __weak Foo *p = get_object();
   use_block(^{ [p run ]; });
 }
-// CHECK-LABEL: define void @_Z5test7v
+// CHECK-LABEL: define{{.*}} void @_Z5test7v
 // CHECK:       [[P:%.*]] = alloca [[FOO]]*,
 // CHECK:       [[T0:%.*]] = call i8* @get_object()
 // CHECK-NEXT:  [[T1:%.*]] = bitcast i8* [[T0]] to [[FOO]]*
@@ -129,7 +129,7 @@ void test8(void) {
   __block __weak Foo *p = get_object();
   use_block(^{ [p run ]; });
 }
-// CHECK-LABEL: define void @_Z5test8v
+// CHECK-LABEL: define{{.*}} void @_Z5test8v
 // CHECK:       call i8* @llvm.objc.initWeak
 // CHECK-NOT:   call void @llvm.objc.copyWeak
 // CHECK:       call void @use_block
@@ -141,7 +141,7 @@ void test8(void) {
 // CHECK-LABEL: define internal void @__Block_byref_object_dispose
 // CHECK:       call void @llvm.objc.destroyWeak
 
-// CHECK-LABEL: define void @_Z14test9_baselinev()
+// CHECK-LABEL: define{{.*}} void @_Z14test9_baselinev()
 // CHECK:       define linkonce_odr hidden void @__copy_helper
 // CHECK:       define linkonce_odr hidden void @__destroy_helper
 void test9_baseline(void) {
@@ -149,20 +149,20 @@ void test9_baseline(void) {
   use_block(^{ [p run]; });
 }
 
-// CHECK-LABEL: define void @_Z5test9v()
+// CHECK-LABEL: define{{.*}} void @_Z5test9v()
 // CHECK-NOT:   define internal void @__copy_helper
 // CHECK-NOT:   define internal void @__destroy_helper
-// CHECK:       define void @_Z9test9_finv()
+// CHECK:       define{{.*}} void @_Z9test9_finv()
 void test9(void) {
   __unsafe_unretained Foo *p = get_object();
   use_block(^{ [p run]; });
 }
 void test9_fin() {}
 
-// CHECK-LABEL: define void @_Z6test10v()
+// CHECK-LABEL: define{{.*}} void @_Z6test10v()
 // CHECK-NOT:   define internal void @__copy_helper
 // CHECK-NOT:   define internal void @__destroy_helper
-// CHECK:       define void @_Z10test10_finv()
+// CHECK:       define{{.*}} void @_Z10test10_finv()
 void test10(void) {
   typedef __unsafe_unretained Foo *UnsafeFooPtr;
   UnsafeFooPtr p = get_object();
@@ -173,7 +173,7 @@ void test10_fin() {}
 // CHECK-LABEL: define weak_odr void @_Z6test11ILj0EEvv()
 // CHECK-NOT:   define internal void @__copy_helper
 // CHECK-NOT:   define internal void @__destroy_helper
-// CHECK:       define void @_Z10test11_finv()
+// CHECK:       define{{.*}} void @_Z10test11_finv()
 template <unsigned i> void test11(void) {
   typedef __unsafe_unretained Foo *UnsafeFooPtr;
   UnsafeFooPtr p = get_object();

diff  --git a/clang/test/CodeGenObjCXX/objc-container-subscripting.mm b/clang/test/CodeGenObjCXX/objc-container-subscripting.mm
index d9069023b951..8b7d8b53162b 100644
--- a/clang/test/CodeGenObjCXX/objc-container-subscripting.mm
+++ b/clang/test/CodeGenObjCXX/objc-container-subscripting.mm
@@ -47,7 +47,7 @@ int main() {
 // CHECK: @objc_msgSend
 // CHECK: ret void
 
-// CHECK-LABEL: 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 }}

diff  --git a/clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm b/clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
index efaced63aa42..6a83bd0cf685 100644
--- a/clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
+++ b/clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
@@ -76,14 +76,14 @@ - (void)passStrongWeak:(StrongWeak)a;
 - (void)passNonTrivial:(NonTrivial)a;
 @end
 
-// CHECK: define void @_Z19testParamStrongWeak10StrongWeak(%[[STRUCT_STRONGWEAK]]* %{{.*}})
+// CHECK: define{{.*}} void @_Z19testParamStrongWeak10StrongWeak(%[[STRUCT_STRONGWEAK]]* %{{.*}})
 // CHECK: call %struct.StrongWeak* @_ZN10StrongWeakD1Ev(
 // CHECK-NEXT: ret void
 
 void testParamStrongWeak(StrongWeak a) {
 }
 
-// CHECK: define void @_Z18testCallStrongWeakP10StrongWeak(%[[STRUCT_STRONGWEAK]]* %[[A:.*]])
+// CHECK: define{{.*}} void @_Z18testCallStrongWeakP10StrongWeak(%[[STRUCT_STRONGWEAK]]* %[[A:.*]])
 // CHECK: %[[A_ADDR:.*]] = alloca %[[STRUCT_STRONGWEAK]]*, align 8
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_STRONGWEAK]], align 8
 // CHECK: store %[[STRUCT_STRONGWEAK]]* %[[A]], %[[STRUCT_STRONGWEAK]]** %[[A_ADDR]], align 8
@@ -97,7 +97,7 @@ void testCallStrongWeak(StrongWeak *a) {
   testParamStrongWeak(*a);
 }
 
-// CHECK: define void @_Z20testReturnStrongWeakP10StrongWeak(%[[STRUCT_STRONGWEAK:.*]]* noalias sret(%[[STRUCT_STRONGWEAK]]) align 8 %[[AGG_RESULT:.*]], %[[STRUCT_STRONGWEAK]]* %[[A:.*]])
+// CHECK: define{{.*}} void @_Z20testReturnStrongWeakP10StrongWeak(%[[STRUCT_STRONGWEAK:.*]]* noalias sret(%[[STRUCT_STRONGWEAK]]) align 8 %[[AGG_RESULT:.*]], %[[STRUCT_STRONGWEAK]]* %[[A:.*]])
 // CHECK: %[[A_ADDR:.*]] = alloca %[[STRUCT_STRONGWEAK]]*, align 8
 // CHECK: store %[[STRUCT_STRONGWEAK]]* %[[A]], %[[STRUCT_STRONGWEAK]]** %[[A_ADDR]], align 8
 // CHECK: %[[V0:.*]] = load %[[STRUCT_STRONGWEAK]]*, %[[STRUCT_STRONGWEAK]]** %[[A_ADDR]], align 8
@@ -108,19 +108,19 @@ StrongWeak testReturnStrongWeak(StrongWeak *a) {
   return *a;
 }
 
-// CHECK: define void @_Z27testParamContainsStrongWeak18ContainsStrongWeak(%[[STRUCT_CONTAINSSTRONGWEAK]]* %[[A:.*]])
+// CHECK: define{{.*}} void @_Z27testParamContainsStrongWeak18ContainsStrongWeak(%[[STRUCT_CONTAINSSTRONGWEAK]]* %[[A:.*]])
 // CHECK: call %[[STRUCT_CONTAINSSTRONGWEAK]]* @_ZN18ContainsStrongWeakD1Ev(%[[STRUCT_CONTAINSSTRONGWEAK]]* {{[^,]*}} %[[A]])
 
 void testParamContainsStrongWeak(ContainsStrongWeak a) {
 }
 
-// CHECK: define void @_Z26testParamDerivedStrongWeak17DerivedStrongWeak(%[[STRUCT_DERIVEDSTRONGWEAK]]* %[[A:.*]])
+// CHECK: define{{.*}} void @_Z26testParamDerivedStrongWeak17DerivedStrongWeak(%[[STRUCT_DERIVEDSTRONGWEAK]]* %[[A:.*]])
 // CHECK: call %[[STRUCT_DERIVEDSTRONGWEAK]]* @_ZN17DerivedStrongWeakD1Ev(%[[STRUCT_DERIVEDSTRONGWEAK]]* {{[^,]*}} %[[A]])
 
 void testParamDerivedStrongWeak(DerivedStrongWeak a) {
 }
 
-// CHECK: define void @_Z15testParamStrong6Strong(i64 %[[A_COERCE:.*]])
+// CHECK: define{{.*}} void @_Z15testParamStrong6Strong(i64 %[[A_COERCE:.*]])
 // CHECK: %[[A:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_STRONG]], %[[STRUCT_STRONG]]* %[[A]], i32 0, i32 0
 // CHECK: %[[COERCE_VAL_IP:.*]] = inttoptr i64 %[[A_COERCE]] to i8*
@@ -133,7 +133,7 @@ void testParamDerivedStrongWeak(DerivedStrongWeak a) {
 void testParamStrong(Strong a) {
 }
 
-// CHECK: define void @_Z14testCallStrongP6Strong(%[[STRUCT_STRONG]]* %[[A:.*]])
+// CHECK: define{{.*}} void @_Z14testCallStrongP6Strong(%[[STRUCT_STRONG]]* %[[A:.*]])
 // CHECK: %[[A_ADDR:.*]] = alloca %[[STRUCT_STRONG]]*, align 8
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: store %[[STRUCT_STRONG]]* %[[A]], %[[STRUCT_STRONG]]** %[[A_ADDR]], align 8
@@ -149,7 +149,7 @@ void testCallStrong(Strong *a) {
   testParamStrong(*a);
 }
 
-// CHECK: define i64 @_Z16testReturnStrongP6Strong(%[[STRUCT_STRONG]]* %[[A:.*]])
+// CHECK: define{{.*}} i64 @_Z16testReturnStrongP6Strong(%[[STRUCT_STRONG]]* %[[A:.*]])
 // CHECK: %[[RETVAL:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: %[[A_ADDR:.*]] = alloca %[[STRUCT_STRONG]]*, align 8
 // CHECK: store %[[STRUCT_STRONG]]* %[[A]], %[[STRUCT_STRONG]]** %[[A_ADDR]], align 8
@@ -164,21 +164,21 @@ Strong testReturnStrong(Strong *a) {
   return *a;
 }
 
-// CHECK: define void @_Z21testParamWeakTemplate1SIU6__weakP11objc_objectE(%[[STRUCT_S]]* %{{.*}})
+// CHECK: define{{.*}} void @_Z21testParamWeakTemplate1SIU6__weakP11objc_objectE(%[[STRUCT_S]]* %{{.*}})
 // CHECK: call %struct.S* @_ZN1SIU6__weakP11objc_objectED1Ev(
 // CHECK-NEXT: ret void
 
 void testParamWeakTemplate(S<__weak id> a) {
 }
 
-// CHECK: define void @_Z27testParamContainsNonTrivial18ContainsNonTrivial(%[[STRUCT_CONTAINSNONTRIVIAL]]* %{{.*}})
+// CHECK: define{{.*}} void @_Z27testParamContainsNonTrivial18ContainsNonTrivial(%[[STRUCT_CONTAINSNONTRIVIAL]]* %{{.*}})
 // CHECK-NOT: call
 // CHECK: ret void
 
 void testParamContainsNonTrivial(ContainsNonTrivial a) {
 }
 
-// CHECK: define void @_Z26testCallContainsNonTrivialP18ContainsNonTrivial(
+// CHECK: define{{.*}} void @_Z26testCallContainsNonTrivialP18ContainsNonTrivial(
 // CHECK: call void @_Z27testParamContainsNonTrivial18ContainsNonTrivial(%[[STRUCT_CONTAINSNONTRIVIAL]]* %{{.*}})
 // CHECK: call %struct.ContainsNonTrivial* @_ZN18ContainsNonTrivialD1Ev(%[[STRUCT_CONTAINSNONTRIVIAL]]* {{[^,]*}} %{{.*}})
 
@@ -188,7 +188,7 @@ void testCallContainsNonTrivial(ContainsNonTrivial *a) {
 
 namespace testThunk {
 
-// CHECK-LABEL: define i64 @_ZThn8_N9testThunk2D02m0Ev(
+// CHECK-LABEL: define{{.*}} i64 @_ZThn8_N9testThunk2D02m0Ev(
 // CHECK: %[[RETVAL:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: %[[CALL:.*]] = tail call i64 @_ZN9testThunk2D02m0Ev(
 // CHECK: %[[COERCE_DIVE:.*]] = getelementptr inbounds %[[STRUCT_STRONG]], %[[STRUCT_STRONG]]* %[[RETVAL]], i32 0, i32 0
@@ -217,7 +217,7 @@ void testCallContainsNonTrivial(ContainsNonTrivial *a) {
 
 namespace testNullReceiver {
 
-// CHECK-LABEL: define void @_ZN16testNullReceiver5test0EP1C(
+// CHECK-LABEL: define{{.*}} void @_ZN16testNullReceiver5test0EP1C(
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_STRONG]], align 8
 // CHECK: br i1
 
@@ -234,7 +234,7 @@ void test0(C *c) {
   [c passStrong:Strong()];
 }
 
-// CHECK-LABEL: define void @_ZN16testNullReceiver5test1EP1C(
+// CHECK-LABEL: define{{.*}} void @_ZN16testNullReceiver5test1EP1C(
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_STRONGWEAK]], align 8
 // CHECK: br i1
 
@@ -250,7 +250,7 @@ void test1(C *c) {
 
 // No null check needed.
 
-// CHECK-LABEL: define void @_ZN16testNullReceiver5test2EP1C(
+// CHECK-LABEL: define{{.*}} void @_ZN16testNullReceiver5test2EP1C(
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_NONTRIVIAL]], align 8
 // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %[[STRUCT_NONTRIVIAL]]*)*)({{.*}}, %[[STRUCT_NONTRIVIAL]]* %[[AGG_TMP]])
 // CHECK-NEXT: call %[[STRUCT_NONTRIVIAL]]* @_ZN10NonTrivialD1Ev(%[[STRUCT_NONTRIVIAL]]* nonnull dereferenceable(8) %[[AGG_TMP]])

diff  --git a/clang/test/CodeGenObjCXX/personality-abuse.mm b/clang/test/CodeGenObjCXX/personality-abuse.mm
index 2a3620d5994f..d129cbec3f87 100644
--- a/clang/test/CodeGenObjCXX/personality-abuse.mm
+++ b/clang/test/CodeGenObjCXX/personality-abuse.mm
@@ -16,4 +16,4 @@ void foo() {
   }
 }
 
-// CHECK: define void @_Z3foov() {{#[0-9]+}} personality i8* bitcast (i32 ()* @__objc_personality_v0 to i8*)
+// CHECK: define{{.*}} void @_Z3foov() {{#[0-9]+}} personality i8* bitcast (i32 ()* @__objc_personality_v0 to i8*)

diff  --git a/clang/test/CodeGenObjCXX/property-dot-copy-elision.mm b/clang/test/CodeGenObjCXX/property-dot-copy-elision.mm
index ef077566ca94..1c98d3565cf9 100644
--- a/clang/test/CodeGenObjCXX/property-dot-copy-elision.mm
+++ b/clang/test/CodeGenObjCXX/property-dot-copy-elision.mm
@@ -18,7 +18,7 @@ @interface C
 @implementation C
 @end
 
-// CHECK-LABEL: define void @_Z5test0P1C(
+// CHECK-LABEL: define{{.*}} void @_Z5test0P1C(
 // CHECK: %{{.*}} = alloca %
 // CHECK: %[[AGG_TMP:.*]] = alloca %[[STRUCT_S1:.*]], align
 // CHECK: %[[AGG_TMP_1:.*]] = alloca %[[STRUCT_S0:.*]], align
@@ -30,7 +30,7 @@ void test0(C *c) {
   c.f = S0();
 }
 
-// CHECK: define void @_Z5test1P1C(
+// CHECK: define{{.*}} void @_Z5test1P1C(
 // CHECK: %{{.*}} = alloca %
 // CHECK: %[[TEMP_LVALUE:.*]] = alloca %[[STRUCT_S1:.*]], align
 // CHECK: call void @_ZN2S1C1Ev(%[[STRUCT_S1]]* {{[^,]*}} %[[TEMP_LVALUE]])

diff  --git a/clang/test/CodeGenObjCXX/property-dot-reference.mm b/clang/test/CodeGenObjCXX/property-dot-reference.mm
index 2523a40645c2..853e21bcce84 100644
--- a/clang/test/CodeGenObjCXX/property-dot-reference.mm
+++ b/clang/test/CodeGenObjCXX/property-dot-reference.mm
@@ -50,7 +50,7 @@ void test2() {
     void(obj.myProperty);
     void(obj.myGetter);
 }
-// CHECK-LABEL: define void @_Z5test2v()
+// CHECK-LABEL: define{{.*}} void @_Z5test2v()
 // CHECK: call i32 bitcast
 // CHECK: call double bitcast
 // CHECK: call i32 bitcast

diff  --git a/clang/test/CodeGenObjCXX/property-lvalue-lambda.mm b/clang/test/CodeGenObjCXX/property-lvalue-lambda.mm
index 4bc6ca6f0700..80968ab23136 100644
--- a/clang/test/CodeGenObjCXX/property-lvalue-lambda.mm
+++ b/clang/test/CodeGenObjCXX/property-lvalue-lambda.mm
@@ -14,7 +14,7 @@ @interface X
 template <class T>
 fnptr_t operator+(fnptr_t lhs, T) { return lhs; }
 
-// CHECK-LABEL: define void @_Z2t1P1X
+// CHECK-LABEL: define{{.*}} void @_Z2t1P1X
 void t1(X *x) {
   // Check that we call lambda.operator blk_t(), and that we send that result to
   // the setter.
@@ -28,7 +28,7 @@ void t1(X *x) {
   x.fnptr = [] {};
 }
 
-// CHECK-LABEL: define void @_Z2t2P1X
+// CHECK-LABEL: define{{.*}} void @_Z2t2P1X
 void t2(X *x) {
   // Test the case when the lambda isn't unique. (see OpaqueValueExpr::isUnique)
   // FIXME: This asserts if the lambda isn't trivially copy/movable.

diff  --git a/clang/test/CodeGenObjCXX/property-objects.mm b/clang/test/CodeGenObjCXX/property-objects.mm
index d9640c859d79..149d1bd8e95d 100644
--- a/clang/test/CodeGenObjCXX/property-objects.mm
+++ b/clang/test/CodeGenObjCXX/property-objects.mm
@@ -59,7 +59,7 @@ - (struct CGRect)extent {return bounds;}
 
 @end
 
-// CHECK-LABEL: define i32 @main
+// CHECK-LABEL: define{{.*}} i32 @main
 // CHECK: call void @_ZN1SC1ERKS_(%class.S* {{[^,]*}} [[AGGTMP:%[a-zA-Z0-9\.]+]], %class.S* nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) {{%[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
@@ -71,7 +71,7 @@ int main() {
 }
 
 // rdar://8379892
-// CHECK-LABEL: 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* nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) [[LVTEMP]])
 // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, %struct.X*)*)({{.*}} %struct.X* [[AGGTMP]])
@@ -116,7 +116,7 @@ void testB0(B *b) {
 void testB1(B *b) {
   b.b1 += { b_makeInt() };
 }
-// CHECK:    define void @_Z6testB0P1B([[B:%.*]]*
+// CHECK:    define{{.*}} void @_Z6testB0P1B([[B:%.*]]*
 // CHECK:      [[BVAR:%.*]] = alloca [[B]]*, align 8
 // CHECK:      [[TEMP:%.*]] = alloca [[B0:%.*]], align 8
 // CHECK:      [[X:%.*]] = getelementptr inbounds [[B0]], [[B0]]* [[TEMP]], i32 0, i32 0
@@ -131,7 +131,7 @@ void testB1(B *b) {
 // CHECK-NOT:  call
 // CHECK:      ret void
 
-// CHECK:    define void @_Z6testB1P1B([[B]]*
+// CHECK:    define{{.*}} void @_Z6testB1P1B([[B]]*
 // CHECK:      [[BVAR:%.*]] = alloca [[B]]*, align 8
 // CHECK:      load [[B]]*, [[B]]** [[BVAR]]
 // CHECK-NOT:  call
@@ -159,7 +159,7 @@ void testB2(B *b) {
   b.b2 = { B3() };
 }
 
-// CHECK:    define void @_Z6testB2P1B([[B]]*
+// CHECK:    define{{.*}} void @_Z6testB2P1B([[B]]*
 // CHECK:      [[BVAR:%.*]] = alloca [[B]]*, align 8
 // CHECK:      call void @llvm.dbg.declare(
 // CHECK:      call void @_ZN2B3C1Ev(
@@ -191,7 +191,7 @@ void testC0(C *c) {
   c.c0 = c_helper;
   c.c0 = &c_helper;
 }
-// CHECK:    define void @_Z6testC0P1C([[C:%.*]]*
+// CHECK:    define{{.*}} void @_Z6testC0P1C([[C:%.*]]*
 // CHECK:      [[CVAR:%.*]] = alloca [[C]]*, align 8
 // CHECK:      load [[C]]*, [[C]]** [[CVAR]]
 // CHECK-NOT:  call
@@ -204,7 +204,7 @@ void testC0(C *c) {
 void testC1(C *c) {
   c.c1 += c_helper;
 }
-// CHECK:    define void @_Z6testC1P1C([[C]]*
+// CHECK:    define{{.*}} void @_Z6testC1P1C([[C]]*
 // CHECK:      [[CVAR:%.*]] = alloca [[C]]*, align 8
 // CHECK:      load [[C]]*, [[C]]** [[CVAR]]
 // CHECK-NOT:  call

diff  --git a/clang/test/CodeGenObjCXX/references.mm b/clang/test/CodeGenObjCXX/references.mm
index 39abd8a305f6..fbe7c31f24e8 100644
--- a/clang/test/CodeGenObjCXX/references.mm
+++ b/clang/test/CodeGenObjCXX/references.mm
@@ -17,7 +17,7 @@ @implementation B
 
 @end
 
-// CHECK-LABEL: define void @_Z1fP1B
+// CHECK-LABEL: define{{.*}} void @_Z1fP1B
 // CHECK: objc_msgSend to
 // CHECK-NOT: call void @_ZN1AD1Ev
 // CHECK: ret void

diff  --git a/clang/test/CodeGenObjCXX/ubsan-nullability-return-notypeloc.mm b/clang/test/CodeGenObjCXX/ubsan-nullability-return-notypeloc.mm
index 23025c9eb845..2f2cc1fc6554 100644
--- a/clang/test/CodeGenObjCXX/ubsan-nullability-return-notypeloc.mm
+++ b/clang/test/CodeGenObjCXX/ubsan-nullability-return-notypeloc.mm
@@ -2,7 +2,7 @@
 
 // CHECK: [[ATTR_LOC:@[0-9]+]] = {{.*}} global { {{.*}} i32 15, i32 38
 
-// CHECK-LABEL: define i8* @_Z3foov()
+// CHECK-LABEL: define{{.*}} i8* @_Z3foov()
 // CHECK: [[CALL:%.*]] = call i8* @_Z6helperv()
 // CHECK: icmp ne i8* [[CALL]]
 // CHECK: call void @__ubsan_handle_nullability_return_v1_abort({{.*}}[[ATTR_LOC]]

diff  --git a/clang/test/CodeGenObjCXX/unknown-anytype.mm b/clang/test/CodeGenObjCXX/unknown-anytype.mm
index 4731fcc76dfe..a0bd922b3ac0 100644
--- a/clang/test/CodeGenObjCXX/unknown-anytype.mm
+++ b/clang/test/CodeGenObjCXX/unknown-anytype.mm
@@ -6,7 +6,7 @@ @interface A @end
 void test0(A *a) {
   (void) [a test0: (float) 2.0];
 }
-// CHECK-LABEL: 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) test1: (__unknown_anytype) x;
 void test1(B *b) {
   (void) [b test1: (float) 2.0];
 }
-// CHECK-LABEL: define void @_Z5test1P1B(
+// CHECK-LABEL: define{{.*}} void @_Z5test1P1B(
 // CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, float)*)(
 

diff  --git a/clang/test/CodeGenOpenCL/addr-space-struct-arg.cl b/clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
index d80d288d2e7e..ece36cdae4b2 100644
--- a/clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
+++ b/clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
@@ -43,8 +43,8 @@ struct LargeStructTwoMember {
 struct LargeStructOneMember g_s;
 #endif
 
-// X86-LABEL: define void @foo(%struct.Mat4X4* noalias sret(%struct.Mat4X4) align 4 %agg.result, %struct.Mat3X3* byval(%struct.Mat3X3) align 4 %in)
-// AMDGCN-LABEL: define %struct.Mat4X4 @foo([9 x i32] %in.coerce)
+// X86-LABEL: define{{.*}} void @foo(%struct.Mat4X4* noalias sret(%struct.Mat4X4) align 4 %agg.result, %struct.Mat3X3* byval(%struct.Mat3X3) align 4 %in)
+// AMDGCN-LABEL: define{{.*}} %struct.Mat4X4 @foo([9 x i32] %in.coerce)
 Mat4X4 __attribute__((noinline)) foo(Mat3X3 in) {
   Mat4X4 out;
   return out;
@@ -63,8 +63,8 @@ kernel void ker(global Mat3X3 *in, global Mat4X4 *out) {
   out[0] = foo(in[1]);
 }
 
-// X86-LABEL: define void @foo_large(%struct.Mat64X64* noalias sret(%struct.Mat64X64) align 4 %agg.result, %struct.Mat32X32* byval(%struct.Mat32X32) align 4 %in)
-// AMDGCN-LABEL: define void @foo_large(%struct.Mat64X64 addrspace(5)* noalias sret(%struct.Mat64X64) align 4 %agg.result, %struct.Mat32X32 addrspace(5)* byval(%struct.Mat32X32) align 4 %in)
+// X86-LABEL: define{{.*}} void @foo_large(%struct.Mat64X64* noalias sret(%struct.Mat64X64) align 4 %agg.result, %struct.Mat32X32* byval(%struct.Mat32X32) align 4 %in)
+// AMDGCN-LABEL: define{{.*}} void @foo_large(%struct.Mat64X64 addrspace(5)* noalias sret(%struct.Mat64X64) align 4 %agg.result, %struct.Mat32X32 addrspace(5)* byval(%struct.Mat32X32) align 4 %in)
 Mat64X64 __attribute__((noinline)) foo_large(Mat32X32 in) {
   Mat64X64 out;
   return out;
@@ -81,19 +81,19 @@ kernel void ker_large(global Mat32X32 *in, global Mat64X64 *out) {
   out[0] = foo_large(in[1]);
 }
 
-// AMDGCN-LABEL: define void @FuncOneMember(<2 x i32> %u.coerce)
+// AMDGCN-LABEL: define{{.*}} void @FuncOneMember(<2 x i32> %u.coerce)
 void FuncOneMember(struct StructOneMember u) {
   u.x = (int2)(0, 0);
 }
 
-// AMDGCN-LABEL: define void @FuncOneLargeMember(%struct.LargeStructOneMember addrspace(5)* byval(%struct.LargeStructOneMember) align 8 %u)
+// AMDGCN-LABEL: define{{.*}} void @FuncOneLargeMember(%struct.LargeStructOneMember addrspace(5)* byval(%struct.LargeStructOneMember) align 8 %u)
 // AMDGCN-NOT: addrspacecast
 // AMDGCN:   store <2 x i32> %{{.*}}, <2 x i32> addrspace(5)*
 void FuncOneLargeMember(struct LargeStructOneMember u) {
   u.x[0] = (int2)(0, 0);
 }
 
-// AMDGCN20-LABEL: define void @test_indirect_arg_globl()
+// AMDGCN20-LABEL: define{{.*}} void @test_indirect_arg_globl()
 // AMDGCN20:  %[[byval_temp:.*]] = alloca %struct.LargeStructOneMember, align 8, addrspace(5)
 // AMDGCN20:  %[[r0:.*]] = bitcast %struct.LargeStructOneMember addrspace(5)* %[[byval_temp]] to i8 addrspace(5)*
 // AMDGCN20:  call void @llvm.memcpy.p5i8.p1i8.i64(i8 addrspace(5)* align 8 %[[r0]], i8 addrspace(1)* align 8 bitcast (%struct.LargeStructOneMember addrspace(1)* @g_s to i8 addrspace(1)*), i64 800, i1 false)
@@ -114,7 +114,7 @@ kernel void test_indirect_arg_local(void) {
   FuncOneLargeMember(l_s);
 }
 
-// AMDGCN-LABEL: define void @test_indirect_arg_private()
+// AMDGCN-LABEL: define{{.*}} void @test_indirect_arg_private()
 // AMDGCN: %[[p_s:.*]] = alloca %struct.LargeStructOneMember, align 8, addrspace(5)
 // AMDGCN-NOT: @llvm.memcpy
 // AMDGCN-NEXT: call void @FuncOneLargeMember(%struct.LargeStructOneMember addrspace(5)* byval(%struct.LargeStructOneMember) align 8 %[[p_s]])
@@ -147,12 +147,12 @@ kernel void KernelLargeOneMember(struct LargeStructOneMember u) {
   FuncOneLargeMember(u);
 }
 
-// AMDGCN-LABEL: define void @FuncTwoMember(<2 x i32> %u.coerce0, <2 x i32> %u.coerce1)
+// AMDGCN-LABEL: define{{.*}} void @FuncTwoMember(<2 x i32> %u.coerce0, <2 x i32> %u.coerce1)
 void FuncTwoMember(struct StructTwoMember u) {
   u.y = (int2)(0, 0);
 }
 
-// AMDGCN-LABEL: define void @FuncLargeTwoMember(%struct.LargeStructTwoMember addrspace(5)* byval(%struct.LargeStructTwoMember) align 8 %u)
+// AMDGCN-LABEL: define{{.*}} void @FuncLargeTwoMember(%struct.LargeStructTwoMember addrspace(5)* byval(%struct.LargeStructTwoMember) align 8 %u)
 void FuncLargeTwoMember(struct LargeStructTwoMember u) {
   u.y[0] = (int2)(0, 0);
 }

diff  --git a/clang/test/CodeGenOpenCL/builtins-f16.cl b/clang/test/CodeGenOpenCL/builtins-f16.cl
index 4aef2c20b705..48412ddfaaea 100644
--- a/clang/test/CodeGenOpenCL/builtins-f16.cl
+++ b/clang/test/CodeGenOpenCL/builtins-f16.cl
@@ -2,7 +2,7 @@
 
 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
 
-// CHECK-LABEL: define void @test_half_builtins
+// CHECK-LABEL: define{{.*}} void @test_half_builtins
 void test_half_builtins(half h0, half h1, half h2) {
   volatile half res;
 

diff  --git a/clang/test/Headers/xmmintrin.c b/clang/test/Headers/xmmintrin.c
index f0f832f81511..a75b3380368c 100644
--- a/clang/test/Headers/xmmintrin.c
+++ b/clang/test/Headers/xmmintrin.c
@@ -7,13 +7,13 @@
 // REQUIRES: x86-registered-target
 #include <xmmintrin.h>
 
-// CHECK: @c = global i8 0, align 16
+// CHECK: @c ={{.*}} global i8 0, align 16
 _MM_ALIGN16 char c;
 
 // Make sure the last step of _mm_cvtps_pi16 converts <4 x i32> to <4 x i16> by
 // checking that clang emits PACKSSDW instead of PACKSSWB.
 
-// CHECK: define i64 @test_mm_cvtps_pi16
+// CHECK: define{{.*}} i64 @test_mm_cvtps_pi16
 // CHECK: call x86_mmx @llvm.x86.mmx.packssdw
 
 __m64 test_mm_cvtps_pi16(__m128 a) {

diff  --git a/clang/test/Modules/irgen.c b/clang/test/Modules/irgen.c
index b2eb8b5ce09a..92bd855c9075 100644
--- a/clang/test/Modules/irgen.c
+++ b/clang/test/Modules/irgen.c
@@ -6,7 +6,7 @@
 
 @import irgen;
 
-// CHECK: define void @triple_value
+// CHECK: define{{.*}} void @triple_value
 void triple_value(int *px) {
   *px = triple(*px);
 }

diff  --git a/clang/test/OpenMP/allocate_codegen.cpp b/clang/test/OpenMP/allocate_codegen.cpp
index 068e307697a0..eb70bf3c2939 100644
--- a/clang/test/OpenMP/allocate_codegen.cpp
+++ b/clang/test/OpenMP/allocate_codegen.cpp
@@ -93,7 +93,7 @@ int main () {
 // CHECK-NOT:  call {{.+}} {{__kmpc_alloc|__kmpc_free}}
 extern template int ST<int>::m;
 
-// CHECK: define void @{{.+}}bar{{.+}}(i32 %{{.+}}, float* {{.+}})
+// CHECK: define{{.*}} void @{{.+}}bar{{.+}}(i32 %{{.+}}, float* {{.+}})
 void bar(int a, float &z) {
 // CHECK: [[A_VOID_PTR:%.+]] = call i8* @__kmpc_alloc(i32 [[GTID:%.+]], i64 4, i8* inttoptr (i64 1 to i8*))
 // CHECK: [[A_ADDR:%.+]] = bitcast i8* [[A_VOID_PTR]] to i32*

diff  --git a/clang/test/OpenMP/for_firstprivate_codegen.cpp b/clang/test/OpenMP/for_firstprivate_codegen.cpp
index 7e1d44646785..510453afd2c7 100644
--- a/clang/test/OpenMP/for_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/for_firstprivate_codegen.cpp
@@ -54,15 +54,15 @@ T tmain() {
   return T();
 }
 
-// CHECK: [[TEST:@.+]] = global [[S_FLOAT_TY]] zeroinitializer,
+// CHECK: [[TEST:@.+]] ={{.*}} global [[S_FLOAT_TY]] zeroinitializer,
 S<float> test;
-// CHECK-DAG: [[T_VAR:@.+]] = global i{{[0-9]+}} 333,
+// CHECK-DAG: [[T_VAR:@.+]] ={{.*}} global i{{[0-9]+}} 333,
 int t_var = 333;
-// CHECK-DAG: [[VEC:@.+]] = global [2 x i{{[0-9]+}}] [i{{[0-9]+}} 1, i{{[0-9]+}} 2],
+// CHECK-DAG: [[VEC:@.+]] ={{.*}} global [2 x i{{[0-9]+}}] [i{{[0-9]+}} 1, i{{[0-9]+}} 2],
 int vec[] = {1, 2};
-// CHECK-DAG: [[S_ARR:@.+]] = global [2 x [[S_FLOAT_TY]]] zeroinitializer,
+// CHECK-DAG: [[S_ARR:@.+]] ={{.*}} global [2 x [[S_FLOAT_TY]]] zeroinitializer,
 S<float> s_arr[] = {1, 2};
-// CHECK-DAG: [[VAR:@.+]] = global [[S_FLOAT_TY]] zeroinitializer,
+// CHECK-DAG: [[VAR:@.+]] ={{.*}} global [[S_FLOAT_TY]] zeroinitializer,
 S<float> var(3);
 // CHECK: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
 // CHECK-DAG: [[IMPLICIT_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 66, i32 0, i32 0, i8*
@@ -72,7 +72,7 @@ S<float> var(3);
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // LAMBDA: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // LAMBDA-LABEL: @main
   // LAMBDA: call void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -146,7 +146,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // BLOCKS: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{

diff  --git a/clang/test/OpenMP/for_lastprivate_codegen.cpp b/clang/test/OpenMP/for_lastprivate_codegen.cpp
index 55350e03ef53..d95db13abcf8 100644
--- a/clang/test/OpenMP/for_lastprivate_codegen.cpp
+++ b/clang/test/OpenMP/for_lastprivate_codegen.cpp
@@ -174,9 +174,9 @@ char cnt;
 // CHECK: [[S_FLOAT_TY:%.+]] = type { float }
 // CHECK: [[S_INT_TY:%.+]] = type { i32 }
 // CHECK-DAG: [[IMPLICIT_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 66, i32 0, i32 0, i8*
-// CHECK-DAG: [[X:@.+]] = global double 0.0
-// CHECK-DAG: [[F:@.+]] = global float 0.0
-// CHECK-DAG: [[CNT:@.+]] = global i8 0
+// CHECK-DAG: [[X:@.+]] ={{.*}} global double 0.0
+// CHECK-DAG: [[F:@.+]] ={{.*}} global float 0.0
+// CHECK-DAG: [[CNT:@.+]] ={{.*}} global i8 0
 // OMP50-DAG: [[LAST_IV_F:@.+]] = {{.*}}common global i32 0
 // OMP50-DAG: [[LAST_F:@.+]] = {{.*}}common global float 0.000000e+00,
 
@@ -208,7 +208,7 @@ int main() {
   static int sivar;
   SS ss(sivar);
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // LAMBDA: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: alloca [[SS_TY]],
@@ -352,7 +352,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // BLOCKS: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // BLOCKS-LABEL: @main
   // BLOCKS: call
   // BLOCKS: call void {{%.+}}(i8
@@ -506,7 +506,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_FLOAT_TY]],
 // CHECK: call {{.*}} [[S_FLOAT_TY_DEF_CONSTR:@.+]]([[S_FLOAT_TY]]* {{[^,]*}} [[TEST]])
 // CHECK: call void (%{{.+}}*, i{{[0-9]+}}, void (i{{[0-9]+}}*, i{{[0-9]+}}*, ...)*, ...) @__kmpc_fork_call(%{{.+}}* @{{.+}}, i{{[0-9]+}} 5, void (i{{[0-9]+}}*, i{{[0-9]+}}*, ...)* bitcast (void (i{{[0-9]+}}*, i{{[0-9]+}}*, i32*, [2 x i32]*, [2 x [[S_FLOAT_TY]]]*, [[S_FLOAT_TY]]*, i32*)* [[MAIN_MICROTASK:@.+]] to void

diff  --git a/clang/test/OpenMP/for_linear_codegen.cpp b/clang/test/OpenMP/for_linear_codegen.cpp
index 4225b9e2f9ae..f872ff15c238 100644
--- a/clang/test/OpenMP/for_linear_codegen.cpp
+++ b/clang/test/OpenMP/for_linear_codegen.cpp
@@ -113,8 +113,8 @@ struct SST {
 // CHECK: [[S_FLOAT_TY:%.+]] = type { float }
 // CHECK: [[S_INT_TY:%.+]] = type { i32 }
 // CHECK-DAG: [[IMPLICIT_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 66, i32 0, i32 0, i8*
-// CHECK-DAG: [[F:@.+]] = global float 0.0
-// CHECK-DAG: [[CNT:@.+]] = global i8 0
+// CHECK-DAG: [[F:@.+]] ={{.*}} global float 0.0
+// CHECK-DAG: [[CNT:@.+]] ={{.*}} global i8 0
 template <typename T>
 T tmain() {
   S<T> test;
@@ -133,7 +133,7 @@ int main() {
   static int sivar;
   SS ss(sivar);
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // LAMBDA: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // LAMBDA-LABEL: @main
   // LAMBDA: alloca [[SS_TY]],
   // LAMBDA: alloca [[CAP_TY:%.+]],
@@ -243,7 +243,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // BLOCKS: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // BLOCKS-LABEL: @main
   // BLOCKS: call
   // BLOCKS: call void {{%.+}}(i8
@@ -365,7 +365,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_FLOAT_TY]],
 // CHECK: call {{.*}} [[S_FLOAT_TY_DEF_CONSTR:@.+]]([[S_FLOAT_TY]]* {{[^,]*}} [[TEST]])
 // CHECK: call void (%{{.+}}*, i{{[0-9]+}}, void (i{{[0-9]+}}*, i{{[0-9]+}}*, ...)*, ...) @__kmpc_fork_call(%{{.+}}* @{{.+}}, i{{[0-9]+}} 2, void (i{{[0-9]+}}*, i{{[0-9]+}}*, ...)* bitcast (void (i{{[0-9]+}}*, i{{[0-9]+}}*, float**, i64*)* [[MAIN_MICROTASK:@.+]] to void

diff  --git a/clang/test/OpenMP/for_reduction_codegen.cpp b/clang/test/OpenMP/for_reduction_codegen.cpp
index d8a104daa13c..8878ad29f6a2 100644
--- a/clang/test/OpenMP/for_reduction_codegen.cpp
+++ b/clang/test/OpenMP/for_reduction_codegen.cpp
@@ -32,7 +32,7 @@ struct S {
 // CHECK-DAG: [[ATOMIC_REDUCE_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 18, i32 0, i32 0, i8*
 // CHECK-DAG: [[IMPLICIT_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 66, i32 0, i32 0, i8*
 // CHECK-DAG: [[REDUCTION_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 18, i32 0, i32 0, i8*
-// CHECK-DAG: [[REDUCTION_LOCK:@.+]] = common global [8 x i32] zeroinitializer
+// CHECK-DAG: [[REDUCTION_LOCK:@.+]] = common{{.*}} global [8 x i32] zeroinitializer
 
 template <typename T, int length>
 T tmain() {
@@ -69,7 +69,7 @@ extern S<float> **foo();
 
 int main() {
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -130,7 +130,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{

diff  --git a/clang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp b/clang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp
index b2b29d3c9a39..3f8b34564854 100644
--- a/clang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp
@@ -58,7 +58,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -108,7 +108,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -177,7 +177,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp b/clang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp
index 6fb0256f4531..62aeb9f5e915 100644
--- a/clang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp
+++ b/clang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp
@@ -60,7 +60,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -102,7 +102,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -163,7 +163,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/master_taskloop_private_codegen.cpp b/clang/test/OpenMP/master_taskloop_private_codegen.cpp
index 1520de99ce5c..5743390b81e1 100644
--- a/clang/test/OpenMP/master_taskloop_private_codegen.cpp
+++ b/clang/test/OpenMP/master_taskloop_private_codegen.cpp
@@ -56,7 +56,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -92,7 +92,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -145,7 +145,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,
 // CHECK: [[VEC_ADDR:%.+]] = alloca [2 x i32],

diff  --git a/clang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp b/clang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp
index 38a353cdd86e..6f2748f0015c 100644
--- a/clang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp
@@ -58,7 +58,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -101,7 +101,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -163,7 +163,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp b/clang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp
index e617ca461470..4014a9b44574 100644
--- a/clang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp
+++ b/clang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp
@@ -58,7 +58,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -100,7 +100,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -161,7 +161,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/master_taskloop_simd_private_codegen.cpp b/clang/test/OpenMP/master_taskloop_simd_private_codegen.cpp
index 9005b4cbeaa7..db348c3f788e 100644
--- a/clang/test/OpenMP/master_taskloop_simd_private_codegen.cpp
+++ b/clang/test/OpenMP/master_taskloop_simd_private_codegen.cpp
@@ -56,7 +56,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -92,7 +92,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -145,7 +145,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,
 // CHECK: [[VEC_ADDR:%.+]] = alloca [2 x i32],

diff  --git a/clang/test/OpenMP/parallel_for_linear_codegen.cpp b/clang/test/OpenMP/parallel_for_linear_codegen.cpp
index 4d3a3a39fb06..107c4a08e6b2 100644
--- a/clang/test/OpenMP/parallel_for_linear_codegen.cpp
+++ b/clang/test/OpenMP/parallel_for_linear_codegen.cpp
@@ -30,8 +30,8 @@ char cnt;
 
 // CHECK: [[S_FLOAT_TY:%.+]] = type { float }
 // CHECK: [[S_INT_TY:%.+]] = type { i32 }
-// CHECK-DAG: [[F:@.+]] = global float 0.0
-// CHECK-DAG: [[CNT:@.+]] = global i8 0
+// CHECK-DAG: [[F:@.+]] ={{.*}} global float 0.0
+// CHECK-DAG: [[CNT:@.+]] ={{.*}} global i8 0
 template <typename T>
 T tmain() {
   S<T> test;
@@ -46,7 +46,7 @@ T tmain() {
 
 int main() {
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // LAMBDA: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // LAMBDA-LABEL: @main
   // LAMBDA: call void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -94,7 +94,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // BLOCKS: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -154,7 +154,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_FLOAT_TY]],
 // CHECK: call {{.*}} [[S_FLOAT_TY_DEF_CONSTR:@.+]]([[S_FLOAT_TY]]* {{[^,]*}} [[TEST]])
 // CHECK: call void (%{{.+}}*, i{{[0-9]+}}, void (i{{[0-9]+}}*, i{{[0-9]+}}*, ...)*, ...) @__kmpc_fork_call(%{{.+}}* @{{.+}}, i{{[0-9]+}} 2, void (i{{[0-9]+}}*, i{{[0-9]+}}*, ...)* bitcast (void (i{{[0-9]+}}*, i{{[0-9]+}}*, float**, i64*)* [[MAIN_MICROTASK:@.+]] to void

diff  --git a/clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp b/clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
index 93325da7e5fa..5869e4861e1c 100644
--- a/clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
@@ -58,7 +58,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -108,7 +108,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -177,7 +177,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp b/clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
index 94cf4022f7cf..059f83c2505d 100644
--- a/clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
+++ b/clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
@@ -60,7 +60,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -102,7 +102,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -163,7 +163,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp b/clang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp
index 422072fd5677..7b7cc87efa90 100644
--- a/clang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp
+++ b/clang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp
@@ -56,7 +56,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -92,7 +92,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -145,7 +145,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,
 // CHECK: [[VEC_ADDR:%.+]] = alloca [2 x i32],

diff  --git a/clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp b/clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
index 48284c212b95..d76df2e06b90 100644
--- a/clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
@@ -58,7 +58,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -108,7 +108,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -177,7 +177,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp b/clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
index 4104e3f62340..4c7c87367267 100644
--- a/clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
+++ b/clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
@@ -60,7 +60,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -102,7 +102,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -163,7 +163,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp b/clang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp
index 0de8e5d69d58..e6d941d1264f 100644
--- a/clang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp
+++ b/clang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp
@@ -56,7 +56,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -92,7 +92,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -145,7 +145,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,
 // CHECK: [[VEC_ADDR:%.+]] = alloca [2 x i32],

diff  --git a/clang/test/OpenMP/parallel_reduction_codegen.cpp b/clang/test/OpenMP/parallel_reduction_codegen.cpp
index 178dfec1ed17..3f5b7ebd0027 100644
--- a/clang/test/OpenMP/parallel_reduction_codegen.cpp
+++ b/clang/test/OpenMP/parallel_reduction_codegen.cpp
@@ -85,7 +85,7 @@ struct SST {
 // CHECK-DAG: [[S_FLOAT_TY:%.+]] = type { float }
 // CHECK-DAG: [[S_INT_TY:%.+]] = type { i{{[0-9]+}} }
 // CHECK-DAG: [[REDUCTION_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 18, i32 0, i32 0, i8*
-// CHECK-DAG: [[REDUCTION_LOCK:@.+]] = common global [8 x i32] zeroinitializer
+// CHECK-DAG: [[REDUCTION_LOCK:@.+]] = common{{.*}} global [8 x i32] zeroinitializer
 
 //CHECK: foo_array_sect
 //CHECK: call void {{.+}}@__kmpc_fork_call(
@@ -116,7 +116,7 @@ int sivar;
 int main() {
   SS ss(sivar);
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // LAMBDA: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // LAMBDA-LABEL: @main
   // LAMBDA: alloca [[SS_TY]],
   // LAMBDA: alloca [[CAP_TY:%.+]],
@@ -215,7 +215,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // BLOCKS: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // BLOCKS-LABEL: @main
   // BLOCKS: call
   // BLOCKS: call void {{%.+}}(i8

diff  --git a/clang/test/OpenMP/sections_firstprivate_codegen.cpp b/clang/test/OpenMP/sections_firstprivate_codegen.cpp
index c1bf0fca6712..95e71797cba8 100644
--- a/clang/test/OpenMP/sections_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/sections_firstprivate_codegen.cpp
@@ -54,15 +54,15 @@ T tmain() {
   return T();
 }
 
-// CHECK: [[TEST:@.+]] = global [[S_FLOAT_TY]] zeroinitializer,
+// CHECK: [[TEST:@.+]] ={{.*}} global [[S_FLOAT_TY]] zeroinitializer,
 S<float> test;
-// CHECK-DAG: [[T_VAR:@.+]] = global i{{[0-9]+}} 333,
+// CHECK-DAG: [[T_VAR:@.+]] ={{.*}} global i{{[0-9]+}} 333,
 int t_var = 333;
-// CHECK-DAG: [[VEC:@.+]] = global [2 x i{{[0-9]+}}] [i{{[0-9]+}} 1, i{{[0-9]+}} 2],
+// CHECK-DAG: [[VEC:@.+]] ={{.*}} global [2 x i{{[0-9]+}}] [i{{[0-9]+}} 1, i{{[0-9]+}} 2],
 int vec[] = {1, 2};
-// CHECK-DAG: [[S_ARR:@.+]] = global [2 x [[S_FLOAT_TY]]] zeroinitializer,
+// CHECK-DAG: [[S_ARR:@.+]] ={{.*}} global [2 x [[S_FLOAT_TY]]] zeroinitializer,
 S<float> s_arr[] = {1, 2};
-// CHECK-DAG: [[VAR:@.+]] = global [[S_FLOAT_TY]] zeroinitializer,
+// CHECK-DAG: [[VAR:@.+]] ={{.*}} global [[S_FLOAT_TY]] zeroinitializer,
 S<float> var(3);
 // CHECK-DAG: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
 // CHECK-DAG: [[SECTIONS_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 194, i32 0, i32 0, i8*
@@ -72,7 +72,7 @@ S<float> var(3);
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // LAMBDA: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // LAMBDA-LABEL: @main
   // LAMBDA: call void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -132,7 +132,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // BLOCKS: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{

diff  --git a/clang/test/OpenMP/sections_lastprivate_codegen.cpp b/clang/test/OpenMP/sections_lastprivate_codegen.cpp
index ee777f0d0c6c..df974ecce94a 100644
--- a/clang/test/OpenMP/sections_lastprivate_codegen.cpp
+++ b/clang/test/OpenMP/sections_lastprivate_codegen.cpp
@@ -45,7 +45,7 @@ volatile int g = 1212;
 // CHECK: [[S_FLOAT_TY:%.+]] = type { float }
 // CHECK: [[S_INT_TY:%.+]] = type { i32 }
 // CHECK-DAG: [[SECTIONS_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 194, i32 0, i32 0, i8*
-// CHECK-DAG: [[X:@.+]] = global double 0.0
+// CHECK-DAG: [[X:@.+]] ={{.*}} global double 0.0
 // OMP50-DAG: [[LAST_IV_X:@.+]] = {{.*}}common global i32 0
 // OMP50-DAG: [[LAST_X:@.+]] = {{.*}}common global double 0.000000e+00,
 template <typename T>
@@ -75,7 +75,7 @@ using A::x;
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // LAMBDA: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // LAMBDA-LABEL: @main
   // LAMBDA: call void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -147,7 +147,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // BLOCKS: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -244,7 +244,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_FLOAT_TY]],
 // CHECK: call {{.*}} [[S_FLOAT_TY_DEF_CONSTR:@.+]]([[S_FLOAT_TY]]* {{[^,]*}} [[TEST]])
 

diff  --git a/clang/test/OpenMP/sections_reduction_codegen.cpp b/clang/test/OpenMP/sections_reduction_codegen.cpp
index de0749b47a75..e016e9fbba04 100644
--- a/clang/test/OpenMP/sections_reduction_codegen.cpp
+++ b/clang/test/OpenMP/sections_reduction_codegen.cpp
@@ -30,7 +30,7 @@ struct S {
 // CHECK-DAG: [[S_INT_TY:%.+]] = type { i{{[0-9]+}} }
 // CHECK-DAG: [[ATOMIC_REDUCE_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 18, i32 0, i32 0, i8*
 // CHECK-DAG: [[REDUCTION_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 18, i32 0, i32 0, i8*
-// CHECK-DAG: [[REDUCTION_LOCK:@.+]] = common global [8 x i32] zeroinitializer
+// CHECK-DAG: [[REDUCTION_LOCK:@.+]] = common{{.*}} global [8 x i32] zeroinitializer
 
 template <typename T>
 T tmain() {
@@ -52,7 +52,7 @@ T tmain() {
 
 int main() {
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -112,7 +112,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{

diff  --git a/clang/test/OpenMP/single_firstprivate_codegen.cpp b/clang/test/OpenMP/single_firstprivate_codegen.cpp
index 9c224ce94bf8..d2c9053c9160 100644
--- a/clang/test/OpenMP/single_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/single_firstprivate_codegen.cpp
@@ -53,15 +53,15 @@ T tmain() {
   return T();
 }
 
-// CHECK: [[TEST:@.+]] = global [[S_FLOAT_TY]] zeroinitializer,
+// CHECK: [[TEST:@.+]] ={{.*}} global [[S_FLOAT_TY]] zeroinitializer,
 S<float> test;
-// CHECK-DAG: [[T_VAR:@.+]] = global i{{[0-9]+}} 333,
+// CHECK-DAG: [[T_VAR:@.+]] ={{.*}} global i{{[0-9]+}} 333,
 int t_var = 333;
-// CHECK-DAG: [[VEC:@.+]] = global [2 x i{{[0-9]+}}] [i{{[0-9]+}} 1, i{{[0-9]+}} 2],
+// CHECK-DAG: [[VEC:@.+]] ={{.*}} global [2 x i{{[0-9]+}}] [i{{[0-9]+}} 1, i{{[0-9]+}} 2],
 int vec[] = {1, 2};
-// CHECK-DAG: [[S_ARR:@.+]] = global [2 x [[S_FLOAT_TY]]] zeroinitializer,
+// CHECK-DAG: [[S_ARR:@.+]] ={{.*}} global [2 x [[S_FLOAT_TY]]] zeroinitializer,
 S<float> s_arr[] = {1, 2};
-// CHECK-DAG: [[VAR:@.+]] = global [[S_FLOAT_TY]] zeroinitializer,
+// CHECK-DAG: [[VAR:@.+]] ={{.*}} global [[S_FLOAT_TY]] zeroinitializer,
 S<float> var(3);
 // CHECK-DAG: [[SINGLE_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 322, i32 0, i32 0, i8*
 
@@ -70,7 +70,7 @@ S<float> var(3);
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // LAMBDA: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // LAMBDA-LABEL: @main
   // LAMBDA: call void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -116,7 +116,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global i{{[0-9]+}} 1212,
+  // BLOCKS: [[G:@.+]] ={{.*}} global i{{[0-9]+}} 1212,
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{

diff  --git a/clang/test/OpenMP/task_codegen.cpp b/clang/test/OpenMP/task_codegen.cpp
index c81ac298c2b4..a2f319892402 100644
--- a/clang/test/OpenMP/task_codegen.cpp
+++ b/clang/test/OpenMP/task_codegen.cpp
@@ -403,7 +403,7 @@ void foobar() {
   }
 }
 
-// UNTIEDRT: define void @{{.+}}xxxx{{.+}}()
+// UNTIEDRT: define{{.*}} void @{{.+}}xxxx{{.+}}()
 void xxxx() {
   // UNTIEDRT: call void @{{.+}}foobar{{.+}}()
   foobar();

diff  --git a/clang/test/OpenMP/task_firstprivate_codegen.cpp b/clang/test/OpenMP/task_firstprivate_codegen.cpp
index 6b892d30214f..cc4f102b11f3 100644
--- a/clang/test/OpenMP/task_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/task_firstprivate_codegen.cpp
@@ -58,7 +58,7 @@ int main() {
   static int sivar;
   float local = 0;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -104,7 +104,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
@@ -172,7 +172,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR_ADDR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/task_if_codegen.cpp b/clang/test/OpenMP/task_if_codegen.cpp
index 84ce724887d2..94eef84b6b63 100644
--- a/clang/test/OpenMP/task_if_codegen.cpp
+++ b/clang/test/OpenMP/task_if_codegen.cpp
@@ -33,7 +33,7 @@ void fn10();
 
 int Arg;
 
-// CHECK-LABEL: define void @{{.+}}gtid_test
+// CHECK-LABEL: define{{.*}} void @{{.+}}gtid_test
 void gtid_test() {
 // CHECK:  call void {{.+}} @__kmpc_fork_call(%{{.+}}* @{{.+}}, i{{.+}} 0, {{.+}}* [[GTID_TEST_REGION1:@.+]] to void
 #pragma omp parallel

diff  --git a/clang/test/OpenMP/task_private_codegen.cpp b/clang/test/OpenMP/task_private_codegen.cpp
index 3090e5e4d945..c995c353c87c 100644
--- a/clang/test/OpenMP/task_private_codegen.cpp
+++ b/clang/test/OpenMP/task_private_codegen.cpp
@@ -56,7 +56,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -92,7 +92,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -145,7 +145,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,
 // CHECK: [[VEC_ADDR:%.+]] = alloca [2 x i32],

diff  --git a/clang/test/OpenMP/taskloop_firstprivate_codegen.cpp b/clang/test/OpenMP/taskloop_firstprivate_codegen.cpp
index 62cc6e18256f..40477158b916 100644
--- a/clang/test/OpenMP/taskloop_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/taskloop_firstprivate_codegen.cpp
@@ -58,7 +58,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -101,7 +101,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -163,7 +163,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/taskloop_lastprivate_codegen.cpp b/clang/test/OpenMP/taskloop_lastprivate_codegen.cpp
index c3f9626cc8dc..183dd9eb197f 100644
--- a/clang/test/OpenMP/taskloop_lastprivate_codegen.cpp
+++ b/clang/test/OpenMP/taskloop_lastprivate_codegen.cpp
@@ -60,7 +60,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -102,7 +102,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -163,7 +163,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/taskloop_private_codegen.cpp b/clang/test/OpenMP/taskloop_private_codegen.cpp
index 276feacdfc2a..dd5feaeb5b22 100644
--- a/clang/test/OpenMP/taskloop_private_codegen.cpp
+++ b/clang/test/OpenMP/taskloop_private_codegen.cpp
@@ -56,7 +56,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -92,7 +92,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -145,7 +145,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,
 // CHECK: [[VEC_ADDR:%.+]] = alloca [2 x i32],

diff  --git a/clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp b/clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
index 99be90f80bc7..ef75e72aa028 100644
--- a/clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
+++ b/clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
@@ -58,7 +58,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -101,7 +101,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -163,7 +163,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp b/clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
index 0e6100640c25..895da41aac8c 100644
--- a/clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
+++ b/clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
@@ -58,7 +58,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA: [[SIVAR:@.+]] = internal global i{{[0-9]+}} 0,
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
@@ -100,7 +100,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -161,7 +161,7 @@ int main() {
 }
 
 // CHECK: [[SIVAR:.+]] = internal global i{{[0-9]+}} 0,
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: alloca [[S_DOUBLE_TY]],
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,

diff  --git a/clang/test/OpenMP/taskloop_simd_private_codegen.cpp b/clang/test/OpenMP/taskloop_simd_private_codegen.cpp
index 69a1eb866293..73f35a17f2c0 100644
--- a/clang/test/OpenMP/taskloop_simd_private_codegen.cpp
+++ b/clang/test/OpenMP/taskloop_simd_private_codegen.cpp
@@ -56,7 +56,7 @@ T tmain() {
 int main() {
   static int sivar;
 #ifdef LAMBDA
-  // LAMBDA: [[G:@.+]] = global double
+  // LAMBDA: [[G:@.+]] ={{.*}} global double
   // LAMBDA-LABEL: @main
   // LAMBDA: call{{( x86_thiscallcc)?}} void [[OUTER_LAMBDA:@.+]](
   [&]() {
@@ -92,7 +92,7 @@ int main() {
   }();
   return 0;
 #elif defined(BLOCKS)
-  // BLOCKS: [[G:@.+]] = global double
+  // BLOCKS: [[G:@.+]] ={{.*}} global double
   // BLOCKS-LABEL: @main
   // BLOCKS: call void {{%.+}}(i8
   ^{
@@ -145,7 +145,7 @@ int main() {
 #endif
 }
 
-// CHECK: define i{{[0-9]+}} @main()
+// CHECK: define{{.*}} i{{[0-9]+}} @main()
 // CHECK: [[TEST:%.+]] = alloca [[S_DOUBLE_TY]],
 // CHECK: [[T_VAR_ADDR:%.+]] = alloca i32,
 // CHECK: [[VEC_ADDR:%.+]] = alloca [2 x i32],

diff  --git a/clang/test/PCH/arc-blocks.mm b/clang/test/PCH/arc-blocks.mm
index 2e17a570f8ba..28c2dde2919d 100644
--- a/clang/test/PCH/arc-blocks.mm
+++ b/clang/test/PCH/arc-blocks.mm
@@ -35,7 +35,7 @@ void test_initialization(id a) {
     initialization(a);
   }
 
-// CHECK-LABEL: define void @_ZN17test_block_retain26test_assignmentConditionalEP11objc_objectb(
+// CHECK-LABEL: define{{.*}} void @_ZN17test_block_retain26test_assignmentConditionalEP11objc_objectb(
 // CHECK: %[[BLOCK:.*]] = alloca <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8* }>, align 8
 // CHECK: %[[V4:.*]] = bitcast <{ i8*, i32, i32, i8*, %[[STRUCT_BLOCK_DESCRIPTOR]]*, i8* }>* %[[BLOCK]] to void ()*
 // CHECK: %[[V5:.*]] = bitcast void ()* %[[V4]] to i8*

diff  --git a/clang/test/PCH/chain-external-defs.c b/clang/test/PCH/chain-external-defs.c
index a58c82c59c83..909a86161077 100644
--- a/clang/test/PCH/chain-external-defs.c
+++ b/clang/test/PCH/chain-external-defs.c
@@ -16,30 +16,30 @@
 
 // Z-NOT: @z
 
-// XA: @x = global i32 0
-// XA-NOT: @x = global i32 0
+// XA: @x ={{.*}} global i32 0
+// XA-NOT: @x ={{.*}} global i32 0
 
-// YA: @y = global i32 0
-// YA-NOT: @y = global i32 0
+// YA: @y ={{.*}} global i32 0
+// YA-NOT: @y ={{.*}} global i32 0
 
-// XB: @x2 = global i32 19
-// XB-NOT: @x2 = global i32 19
+// XB: @x2 ={{.*}} global i32 19
+// XB-NOT: @x2 ={{.*}} global i32 19
 int x2 = 19;
-// YB: @y2 = global i32 18
-// YB-NOT: @y2 = global i32 18
+// YB: @y2 ={{.*}} global i32 18
+// YB-NOT: @y2 ={{.*}} global i32 18
 int y2 = 18;
 
-// AA: @incomplete_array = global [1 x i32]
-// AA-NOT: @incomplete_array = global [1 x i32]
-// AB: @incomplete_array2 = global [17 x i32]
-// AB-NOT: @incomplete_array2 = global [17 x i32]
+// AA: @incomplete_array ={{.*}} global [1 x i32]
+// AA-NOT: @incomplete_array ={{.*}} global [1 x i32]
+// AB: @incomplete_array2 ={{.*}} global [17 x i32]
+// AB-NOT: @incomplete_array2 ={{.*}} global [17 x i32]
 int incomplete_array2[17];
-// AC: @incomplete_array3 = global [1 x i32]
-// AC-NOT: @incomplete_array3 = global [1 x i32]
+// AC: @incomplete_array3 ={{.*}} global [1 x i32]
+// AC-NOT: @incomplete_array3 ={{.*}} global [1 x i32]
 int incomplete_array3[];
 
-// S: @s = global %struct.S
-// S-NOT: @s = global %struct.S
+// S: @s ={{.*}} global %struct.S
+// S-NOT: @s ={{.*}} global %struct.S
 struct S {
   int x, y;
 };

diff  --git a/clang/test/PCH/external-defs.c b/clang/test/PCH/external-defs.c
index e78125d61fdc..884e3986d820 100644
--- a/clang/test/PCH/external-defs.c
+++ b/clang/test/PCH/external-defs.c
@@ -3,16 +3,16 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-pch -o %t.pch %S/external-defs.h
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -include-pch %t.pch -emit-llvm -o %t %s
 
-// RUN: grep "@x = global i32 0" %t | count 1
+// RUN: grep "@x =.* global i32 0" %t | count 1
 // RUN: not grep "@z" %t
 
-// RUN: grep "@x2 = global i32 19" %t | count 1
+// RUN: grep "@x2 =.* global i32 19" %t | count 1
 int x2 = 19;
 
-// RUN: grep "@incomplete_array = global .*1 x i32" %t | count 1
-// RUN: grep "@incomplete_array2 = global .*17 x i32" %t | count 1
+// RUN: grep "@incomplete_array =.* global .*1 x i32" %t | count 1
+// RUN: grep "@incomplete_array2 =.* global .*17 x i32" %t | count 1
 int incomplete_array2[17];
-// RUN: grep "@incomplete_array3 = global .*1 x i32" %t | count 1
+// RUN: grep "@incomplete_array3 =.* global .*1 x i32" %t | count 1
 int incomplete_array3[];
 
 struct S {

diff  --git a/clang/test/Profile/c-captured.c b/clang/test/Profile/c-captured.c
index 0e265a722917..bec10e987602 100644
--- a/clang/test/Profile/c-captured.c
+++ b/clang/test/Profile/c-captured.c
@@ -7,7 +7,7 @@
 // PGOGEN: @[[CSC:__profc_c_captured.c___captured_stmt]] = private global [2 x i64] zeroinitializer
 // PGOGEN: @[[C1C:__profc_c_captured.c___captured_stmt.1]] = private global [3 x i64] zeroinitializer
 
-// PGOALL-LABEL: define void @debug_captured()
+// PGOALL-LABEL: define{{.*}} void @debug_captured()
 // PGOGEN: store {{.*}} @[[DCC]], i64 0, i64 0
 void debug_captured() {
   int x = 10;

diff  --git a/clang/test/Profile/c-ternary.c b/clang/test/Profile/c-ternary.c
index af7922fa26fa..7d41b0405e55 100644
--- a/clang/test/Profile/c-ternary.c
+++ b/clang/test/Profile/c-ternary.c
@@ -3,7 +3,7 @@
 // PR32019: Clang can lower some ternary operator expressions to select
 // instructions. Make sure we only increment the profile counter for the
 // condition when the condition evaluates to true.
-// CHECK-LABEL: define i32 @f1
+// CHECK-LABEL: define{{.*}} i32 @f1
 int f1(int x) {
 // CHECK: [[TOBOOL:%.*]] = icmp ne i32 %{{.*}}, 0
 // CHECK-NEXT: [[STEP:%.*]] = zext i1 [[TOBOOL]] to i64

diff  --git a/clang/test/SemaCXX/linkage.cpp b/clang/test/SemaCXX/linkage.cpp
index 6b5f2f75fb23..fc7cbeacfb4e 100644
--- a/clang/test/SemaCXX/linkage.cpp
+++ b/clang/test/SemaCXX/linkage.cpp
@@ -62,12 +62,12 @@ namespace test3 {
   void test(A a) {}
   void force() { test(A()); }
 
-  // CHECK: define void @test3(
+  // CHECK: define{{.*}} void @test3(
   extern "C" void test3(A a) {}
 }
 
 namespace {
-  // CHECK: define void @test4(
+  // CHECK: define{{.*}} void @test4(
   extern "C" void test4(void) {}
 }
 

diff  --git a/clang/test/SemaObjC/debugger-support.m b/clang/test/SemaObjC/debugger-support.m
index b67353f6f71c..5b3e649f221c 100644
--- a/clang/test/SemaObjC/debugger-support.m
+++ b/clang/test/SemaObjC/debugger-support.m
@@ -4,7 +4,7 @@
 void test0(id x) {
   struct A { int w, x, y, z; };
   struct A result = (struct A) [x makeStruct];
-  // CHECK:     define void @test0(
+  // CHECK:     define{{.*}} void @test0(
   // CHECK:      [[X:%.*]] = alloca i8*, align 8
   // CHECK-NEXT: [[RESULT:%.*]] = alloca [[A:%.*]], align 4
   // CHECK-NEXT: store i8* {{%.*}}, i8** [[X]],


        


More information about the llvm-branch-commits mailing list