[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