mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-19 01:46:49 +00:00
[test] Remove various legacy pass manager tests
The new PM been the default for a while and we're in the process of removing the legacy PM optimization pipeline.
This commit is contained in:
parent
8eb6741fa0
commit
29363f80a8
@ -1,27 +0,0 @@
|
||||
// RUN: %clang %s -target x86_64-unknown-linux-gnu -emit-llvm -S -fsanitize-coverage=trace-pc,trace-cmp -o - -flegacy-pass-manager | FileCheck %s --check-prefixes=CHECK
|
||||
// RUN: %clang %s -target x86_64-unknown-linux-gnu -emit-llvm -S -fsanitize=address -fsanitize-coverage=trace-pc,trace-cmp -o - -flegacy-pass-manager | FileCheck %s --check-prefixes=CHECK,ASAN
|
||||
// RUN: %clang %s -target x86_64-unknown-linux-gnu -emit-llvm -S -fsanitize=bounds -fsanitize-coverage=trace-pc,trace-cmp -o - -flegacy-pass-manager | FileCheck %s --check-prefixes=CHECK,BOUNDS
|
||||
// RUN: %clang %s -target x86_64-unknown-linux-gnu -emit-llvm -S -fsanitize=memory -fsanitize-coverage=trace-pc,trace-cmp -o - -flegacy-pass-manager | FileCheck %s --check-prefixes=CHECK,MSAN
|
||||
// RUN: %clang %s -target x86_64-unknown-linux-gnu -emit-llvm -S -fsanitize=thread -fsanitize-coverage=trace-pc,trace-cmp -o - -flegacy-pass-manager | FileCheck %s --check-prefixes=CHECK,TSAN
|
||||
// RUN: %clang %s -target x86_64-unknown-linux-gnu -emit-llvm -S -fsanitize=undefined -fsanitize-coverage=trace-pc,trace-cmp -o - -flegacy-pass-manager | FileCheck %s --check-prefixes=CHECK,UBSAN
|
||||
//
|
||||
// Host armv7 is currently unsupported: https://bugs.llvm.org/show_bug.cgi?id=46117
|
||||
// UNSUPPORTED: armv7, armv7l, thumbv7, armv8l
|
||||
// The same issue also occurs on a riscv32 host.
|
||||
// XFAIL: riscv32
|
||||
|
||||
int x[10];
|
||||
|
||||
// CHECK-LABEL: define dso_local void @foo(
|
||||
void foo(int n) {
|
||||
// CHECK-DAG: call void @__sanitizer_cov_trace_pc
|
||||
// CHECK-DAG: call void @__sanitizer_cov_trace_const_cmp
|
||||
// ASAN-DAG: call void @__asan_report_store
|
||||
// MSAN-DAG: call void @__msan_warning
|
||||
// BOUNDS-DAG: call void @__ubsan_handle_out_of_bounds
|
||||
// TSAN-DAG: call void @__tsan_func_entry
|
||||
// UBSAN-DAG: call void @__ubsan_handle
|
||||
if (n)
|
||||
x[n] = 42;
|
||||
}
|
||||
// CHECK-LABEL: declare void
|
@ -2,7 +2,7 @@
|
||||
// We check this specifically under the legacy pass manager because the new pass
|
||||
// manager seems to remove available_externally vtables from the IR entirely.
|
||||
|
||||
// RUN: %clang_cc1 %s -triple=aarch64-unknown-fuchsia -O1 -S -o - -emit-llvm -fno-experimental-new-pass-manager | FileCheck %s
|
||||
// RUN: %clang_cc1 %s -triple=aarch64-unknown-fuchsia -O1 -disable-llvm-passes -S -o - -emit-llvm | FileCheck %s
|
||||
|
||||
// The VTable for A is available_externally, meaning it can have a definition in
|
||||
// IR, but is never emitted in this compilation unit. Because it won't be
|
||||
|
@ -1,4 +1,4 @@
|
||||
// RUN: %clang_cc1 -no-opaque-pointers %s -emit-llvm -O1 -fno-experimental-new-pass-manager -o - -triple=i686-apple-darwin9 -std=c++11 | FileCheck %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -fno-inline-functions %s -emit-llvm -O1 -o - -triple=i686-apple-darwin9 -std=c++11 | FileCheck %s
|
||||
|
||||
// CHECK-DAG: @PR22043 ={{.*}} local_unnamed_addr global i32 0, align 4
|
||||
typedef _Atomic(int) AtomicInt;
|
||||
|
@ -1,10 +1,8 @@
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks %s -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK,CHECK-O0
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks -ftrivial-auto-var-init=pattern %s -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O0,PATTERN,PATTERN-O0
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks -ftrivial-auto-var-init=pattern %s -O1 -fno-experimental-new-pass-manager -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O1,PATTERN,PATTERN-O1,PATTERN-O1-LEGACY
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks -ftrivial-auto-var-init=pattern %s -O1 -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O1,PATTERN,PATTERN-O1,PATTERN-O1-NEWPM
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks -ftrivial-auto-var-init=pattern %s -O1 -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O1,PATTERN,PATTERN-O1
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks -ftrivial-auto-var-init=zero %s -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O0,ZERO,ZERO-O0
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks -ftrivial-auto-var-init=zero %s -O1 -fno-experimental-new-pass-manager -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O1,ZERO,ZERO-O1,ZERO-O1-LEGACY
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks -ftrivial-auto-var-init=zero %s -O1 -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O1,ZERO,ZERO-O1,ZERO-O1-NEWPM
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple x86_64-unknown-unknown -fblocks -ftrivial-auto-var-init=zero %s -O1 -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O1,ZERO,ZERO-O1
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -std=c++14 -triple i386-unknown-unknown -fblocks -ftrivial-auto-var-init=pattern %s -emit-llvm -o - | FileCheck %s -check-prefixes=CHECK-O0,PATTERN,PATTERN-O0
|
||||
|
||||
#pragma clang diagnostic ignored "-Winaccessible-base"
|
||||
@ -667,8 +665,7 @@ TEST_UNINIT(smallpartinit, smallpartinit);
|
||||
// PATTERN-O1: store i8 42, {{.*}} align 1
|
||||
// ZERO-LABEL: @test_smallpartinit_uninit()
|
||||
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1-LEGACY: store i16 0, i16* %uninit, align 2, !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1-NEWPM: store i16 0, i16* %uninit, align 2, !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1: store i16 0, i16* %uninit, align 2, !annotation [[AUTO_INIT]]
|
||||
|
||||
TEST_BRACES(smallpartinit, smallpartinit);
|
||||
// CHECK-LABEL: @test_smallpartinit_braces()
|
||||
@ -748,14 +745,12 @@ TEST_UNINIT(paddednullinit, paddednullinit);
|
||||
// CHECK-NEXT: call void @{{.*}}used{{.*}}%uninit)
|
||||
// PATTERN-LABEL: @test_paddednullinit_uninit()
|
||||
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_paddednullinit_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
|
||||
// PATTERN-O1-LEGACY: store i64 [[I64]], i64* %uninit, align 8, !annotation [[AUTO_INIT]]
|
||||
// PATTERN-O1-NEWPM: store i64 [[I64]], i64* %uninit, align 8, !annotation [[AUTO_INIT]]
|
||||
// PATTERN-O1: store i64 [[I64]], i64* %uninit, align 8, !annotation [[AUTO_INIT]]
|
||||
// ZERO-LABEL: @test_paddednullinit_uninit()
|
||||
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.*}}, !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1-LEGACY: store i64 0, i64* %uninit, align 8, !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1-NEWPM: store i64 0, i64* %uninit, align 8
|
||||
// ZERO-O1: store i64 0, i64* %uninit, align 8
|
||||
// FIXME: !annotation dropped by optimizations
|
||||
// ZERO-O1-NEWPM-NOT: !annotation
|
||||
// ZERO-O1-NOT: !annotation
|
||||
// ZERO: ret
|
||||
|
||||
|
||||
@ -1402,9 +1397,8 @@ TEST_UNINIT(base, base);
|
||||
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_base_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
|
||||
// ZERO-LABEL: @test_base_uninit()
|
||||
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1-LEGACY: store i64 0, {{.*}} align 8
|
||||
// ZERO-O1-NEWPM: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTV4base, i64 0, inrange i32 0, i64 2) to i32 (...)**), {{.*}}, align 8
|
||||
// ZERO-O1-NOT-NEWPM: !annotation
|
||||
// ZERO-O1: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTV4base, i64 0, inrange i32 0, i64 2) to i32 (...)**), {{.*}}, align 8
|
||||
// ZERO-O1-NOT: !annotation
|
||||
|
||||
TEST_BRACES(base, base);
|
||||
// CHECK-LABEL: @test_base_braces()
|
||||
@ -1425,7 +1419,7 @@ TEST_UNINIT(derived, derived);
|
||||
// ZERO-LABEL: @test_derived_uninit()
|
||||
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1: store i64 0, {{.*}} align 8, !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1-NEWPM: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTV7derived, i64 0, inrange i32 0, i64 2) to i32 (...)**), {{.*}} align 8
|
||||
// ZERO-O1: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTV7derived, i64 0, inrange i32 0, i64 2) to i32 (...)**), {{.*}} align 8
|
||||
|
||||
TEST_BRACES(derived, derived);
|
||||
// CHECK-LABEL: @test_derived_braces()
|
||||
@ -1445,8 +1439,7 @@ TEST_UNINIT(virtualderived, virtualderived);
|
||||
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_virtualderived_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
|
||||
// ZERO-LABEL: @test_virtualderived_uninit()
|
||||
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1-LEGACY: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1-NEWPM: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
|
||||
// ZERO-O1: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
|
||||
|
||||
TEST_BRACES(virtualderived, virtualderived);
|
||||
// CHECK-LABEL: @test_virtualderived_braces()
|
||||
|
@ -1,7 +1,7 @@
|
||||
// Test that we don't emit a bit set entry for a speculative (available_externally) vtable.
|
||||
// This does not happen in the Microsoft ABI.
|
||||
// RUN: %clang_cc1 -triple x86_64-unknown-linux -O1 -fno-experimental-new-pass-manager -fsanitize=cfi-vcall -fsanitize-trap=cfi-vcall -emit-llvm -o - %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -triple x86_64-unknown-linux -O1 -fno-experimental-new-pass-manager -fsanitize=cfi-vcall -fsanitize-trap=cfi-vcall -fsanitize-cfi-cross-dso -emit-llvm -o - %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -triple x86_64-unknown-linux -O1 -disable-llvm-passes -fsanitize=cfi-vcall -fsanitize-trap=cfi-vcall -emit-llvm -o - %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -triple x86_64-unknown-linux -O1 -disable-llvm-passes -fsanitize=cfi-vcall -fsanitize-trap=cfi-vcall -fsanitize-cfi-cross-dso -emit-llvm -o - %s | FileCheck %s
|
||||
|
||||
class A {
|
||||
public:
|
||||
|
@ -1,4 +1,4 @@
|
||||
// RUN: %clang_cc1 -triple x86_64-unknown_unknown -emit-llvm -debug-info-kind=limited %s -O1 -fno-experimental-new-pass-manager -o - | FileCheck %s
|
||||
// RUN: %clang_cc1 -triple x86_64-unknown_unknown -emit-llvm -debug-info-kind=limited %s -O1 -disable-llvm-passes -o - | FileCheck %s
|
||||
|
||||
// Ensure class definitions are not emitted to debug info just because the
|
||||
// vtable is emitted for optimization purposes (as available_externally). The
|
||||
|
@ -1,9 +1,9 @@
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-msvc -fms-compatibility -emit-llvm -std=c++1y -O0 -o - %s -DMSABI | FileCheck --check-prefix=MSC --check-prefix=M32 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple x86_64-windows-msvc -fms-compatibility -emit-llvm -std=c++1y -O0 -o - %s -DMSABI | FileCheck --check-prefix=MSC --check-prefix=M64 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-gnu -emit-llvm -std=c++1y -O0 -o - %s | FileCheck --check-prefix=GNU --check-prefix=G32 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple x86_64-windows-gnu -emit-llvm -std=c++1y -O0 -o - %s | FileCheck --check-prefix=GNU --check-prefix=G64 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-msvc -fms-compatibility -emit-llvm -std=c++1y -O1 -fno-experimental-new-pass-manager -o - %s -DMSABI | FileCheck --check-prefix=MO1 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-gnu -emit-llvm -std=c++1y -O1 -fno-experimental-new-pass-manager -o - %s | FileCheck --check-prefix=GO1 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -disable-llvm-passes -triple i686-windows-msvc -fms-compatibility -emit-llvm -std=c++1y -O0 -o - %s -DMSABI | FileCheck --check-prefix=MSC --check-prefix=M32 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -disable-llvm-passes -triple x86_64-windows-msvc -fms-compatibility -emit-llvm -std=c++1y -O0 -o - %s -DMSABI | FileCheck --check-prefix=MSC --check-prefix=M64 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -disable-llvm-passes -triple i686-windows-gnu -emit-llvm -std=c++1y -O0 -o - %s | FileCheck --check-prefix=GNU --check-prefix=G32 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -disable-llvm-passes -triple x86_64-windows-gnu -emit-llvm -std=c++1y -O0 -o - %s | FileCheck --check-prefix=GNU --check-prefix=G64 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -disable-llvm-passes -triple i686-windows-msvc -fms-compatibility -emit-llvm -std=c++1y -O1 -o - %s -DMSABI | FileCheck --check-prefix=MO1 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -disable-llvm-passes -triple i686-windows-gnu -emit-llvm -std=c++1y -O1 -o - %s | FileCheck --check-prefix=GO1 %s
|
||||
|
||||
// Helper structs to make templates more expressive.
|
||||
struct ImplicitInst_Imported {};
|
||||
|
@ -4,7 +4,7 @@
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple x86_64-windows-gnu -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s -w | FileCheck --check-prefix=GNU %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-msvc -fno-rtti -fno-threadsafe-statics -fms-extensions -fms-compatibility-version=18.00 -emit-llvm -std=c++1y -O1 -disable-llvm-passes -o - %s -DMSABI -w | FileCheck --check-prefix=MO1 --check-prefix=M18 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-msvc -fno-rtti -fno-threadsafe-statics -fms-extensions -fms-compatibility-version=19.00 -emit-llvm -std=c++1y -O1 -disable-llvm-passes -o - %s -DMSABI -w | FileCheck --check-prefix=MO1 --check-prefix=M19 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-gnu -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O1 -fno-experimental-new-pass-manager -o - %s -w | FileCheck --check-prefix=GO1 %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-gnu -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O1 -disable-llvm-passes -o - %s -w | FileCheck --check-prefix=GO1 %s
|
||||
|
||||
// CHECK-NOT doesn't play nice with CHECK-DAG, so use separate run lines.
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -no-enable-noundef-analysis -triple i686-windows-msvc -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s -DMSABI -w | FileCheck --check-prefix=MSC2 %s
|
||||
|
@ -1,6 +1,6 @@
|
||||
// RUN: %clang_cc1 -triple x86_64-pc-linux -mrelocation-model static -O1 -fno-experimental-new-pass-manager -emit-llvm %s -o - | FileCheck --check-prefix=STATIC %s
|
||||
// RUN: %clang_cc1 -triple x86_64-pc-linux -mrelocation-model static -fno-plt -O1 -fno-experimental-new-pass-manager -emit-llvm %s -o - | FileCheck --check-prefix=NOPLT %s
|
||||
// RUN: %clang_cc1 -triple x86_64-w64-mingw32 -O1 -fno-experimental-new-pass-manager -emit-llvm %s -o - | FileCheck --check-prefix=MINGW %s
|
||||
// RUN: %clang_cc1 -triple x86_64-pc-linux -mrelocation-model static -O1 -disable-llvm-passes -emit-llvm %s -o - | FileCheck --check-prefix=STATIC %s
|
||||
// RUN: %clang_cc1 -triple x86_64-pc-linux -mrelocation-model static -fno-plt -O1 -disable-llvm-passes -emit-llvm %s -o - | FileCheck --check-prefix=NOPLT %s
|
||||
// RUN: %clang_cc1 -triple x86_64-w64-mingw32 -O1 -disable-llvm-passes -emit-llvm %s -o - | FileCheck --check-prefix=MINGW %s
|
||||
|
||||
// STATIC-DAG: @_ZTV1C = linkonce_odr dso_local unnamed_addr constant
|
||||
// STATIC-DAG: @_ZTS1C = linkonce_odr dso_local constant
|
||||
|
@ -1,5 +1,5 @@
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -triple i686-linux-gnu -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK-O0
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -triple i686-linux-gnu -emit-llvm %s -O1 -fno-experimental-new-pass-manager -o - | FileCheck %s
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -triple i686-linux-gnu -emit-llvm %s -disable-llvm-passes -o - | FileCheck %s --check-prefix=CHECK-O0
|
||||
// RUN: %clang_cc1 -no-opaque-pointers -triple i686-linux-gnu -emit-llvm %s -O1 -disable-llvm-passes -o - | FileCheck %s
|
||||
|
||||
// Check that we add an llvm.invariant.start.p0i8 to mark when a global becomes
|
||||
// read-only. If globalopt can fold the initializer, it will then mark the
|
||||
|
@ -1,5 +1,5 @@
|
||||
// RUN: %clang_cc1 -fsanitize=memory -O0 -fsanitize-memory-use-after-dtor -std=c++11 -triple=x86_64-pc-linux -emit-llvm -o - %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -fsanitize=memory -O1 -fno-experimental-new-pass-manager -fsanitize-memory-use-after-dtor -std=c++11 -triple=x86_64-pc-linux -emit-llvm -o - %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -fsanitize=memory -O1 -disable-llvm-passes -fsanitize-memory-use-after-dtor -std=c++11 -triple=x86_64-pc-linux -emit-llvm -o - %s | FileCheck %s
|
||||
|
||||
template <class T>
|
||||
class Vector {
|
||||
|
@ -1,4 +1,4 @@
|
||||
// RUN: %clang_cc1 -O1 -fno-experimental-new-pass-manager -triple %itanium_abi_triple -emit-llvm -o - -fvisibility hidden %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -O1 -disable-llvm-passes -triple %itanium_abi_triple -emit-llvm -o - -fvisibility hidden %s | FileCheck %s
|
||||
|
||||
template<typename T>
|
||||
struct X {
|
||||
|
@ -1,4 +1,4 @@
|
||||
// RUN: %clang_cc1 -emit-llvm -o - -fblocks %s -O1 -fno-experimental-new-pass-manager -triple x86_64-apple-darwin10.0.0 -fobjc-runtime=macosx-fragile-10.5 | FileCheck %s
|
||||
// RUN: %clang_cc1 -emit-llvm -o - -fblocks %s -O1 -fno-inline-functions -triple x86_64-apple-darwin10.0.0 -fobjc-runtime=macosx-fragile-10.5 | FileCheck %s
|
||||
|
||||
// PR10835 / <rdar://problem/10050178>
|
||||
struct X {
|
||||
|
@ -1,15 +1,12 @@
|
||||
// Test that we print pass structure with new and legacy PM.
|
||||
// RUN: %clang -fdebug-pass-structure -fintegrated-as -O3 -S -emit-llvm %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=NEWPM --strict-whitespace
|
||||
// RUN: %clang -flegacy-pass-manager -fdebug-pass-structure -O0 -S -emit-llvm %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=LEGACYPM
|
||||
// RUN: %clang -fdebug-pass-structure -fintegrated-as -O3 -S -emit-llvm %s -o /dev/null 2>&1 | FileCheck %s --strict-whitespace
|
||||
// REQUIRES: asserts
|
||||
|
||||
// should have proper indentation, should not print any analysis information
|
||||
// NEWPM-NOT: Running analysis
|
||||
// NEWPM: {{^}}Running{{.*}}GlobalOptPass
|
||||
// NEWPM: {{^}} Running{{.*}}RequireAnalysisPass{{.*}}GlobalsAA
|
||||
// NEWPM: GlobalOptPass
|
||||
// NEWPM-NOT: Invalidating analysis
|
||||
|
||||
// LEGACYPM: Pass Arguments:
|
||||
// CHECK-NOT: Running analysis
|
||||
// CHECK: {{^}}Running{{.*}}GlobalOptPass
|
||||
// CHECK: {{^}} Running{{.*}}RequireAnalysisPass{{.*}}GlobalsAA
|
||||
// CHECK: GlobalOptPass
|
||||
// CHECK-NOT: Invalidating analysis
|
||||
|
||||
void f(void) {}
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Verify that remarks for the inliner appear. The remarks under the new PM will
|
||||
// be slightly different than those emitted by the legacy PM. The new PM inliner
|
||||
// also doesnot appear to be added at O0, so we test at O1.
|
||||
// also does not appear to be added at O0, so we test at O1.
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O1 -emit-llvm-only -verify
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O1 -emit-llvm-only -debug-info-kind=line-tables-only -verify
|
||||
|
||||
|
@ -7,15 +7,13 @@
|
||||
// The inliner for the new PM does not seem to be enabled at O0, but we still
|
||||
// get the same remarks with at least O1. The remarks are also slightly
|
||||
// different and located in another test file.
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O0 -fno-experimental-new-pass-manager -emit-llvm-only -verify
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O0 -fno-experimental-new-pass-manager -emit-llvm-only -debug-info-kind=line-tables-only -verify
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -emit-llvm -o - 2>/dev/null | FileCheck %s
|
||||
//
|
||||
// Check that we can override -Rpass= with -Rno-pass.
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -fno-experimental-new-pass-manager -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-REMARKS
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-REMARKS
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -Rno-pass -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-NO-REMARKS
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -Rno-everything -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-NO-REMARKS
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -fno-experimental-new-pass-manager -Rno-everything -Reverything -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-REMARKS
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -Rno-everything -Reverything -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-REMARKS
|
||||
// RUN: %clang_cc1 %s -Rpass -Rno-pass -round-trip-args -mllvm -mandatory-inlining-first=false -O1 -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-NO-REMARKS
|
||||
//
|
||||
// The inliner for the new PM does not seem to be enabled at O0, but we still
|
||||
@ -24,7 +22,7 @@
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -O1 -Rno-everything -Reverything -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-REMARKS
|
||||
//
|
||||
// Check that -w doesn't disable remarks.
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -fno-experimental-new-pass-manager -w -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-REMARKS
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -w -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-REMARKS
|
||||
// RUN: %clang_cc1 %s -Rpass=inline -O1 -w -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK-REMARKS
|
||||
//
|
||||
// -Reverything implies -Rpass=.*.
|
||||
|
Loading…
x
Reference in New Issue
Block a user