|
1 | 1 | ; REQUIRES: x86-registered-target
|
2 | 2 |
|
3 |
| -; RUN: opt -module-summary -o %t1.o %s |
4 |
| -; RUN: opt -module-summary -o %t2.o %S/Inputs/thinlto_backend.ll |
5 |
| -; RUN: llvm-lto -thinlto -o %t %t1.o %t2.o |
| 3 | +; RUN: opt -opaque-pointers -module-summary -o %t1.o %s |
| 4 | +; RUN: opt -opaque-pointers -module-summary -o %t2.o %S/Inputs/thinlto_backend.ll |
| 5 | +; RUN: llvm-lto -opaque-pointers -thinlto -o %t %t1.o %t2.o |
6 | 6 |
|
7 | 7 | ; Ensure clang -cc1 give expected error for incorrect input type
|
8 |
| -; RUN: not %clang_cc1 -O2 -o %t1.o -x c %s -c -fthinlto-index=%t.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-WARNING |
| 8 | +; RUN: not %clang_cc1 -opaque-pointers -O2 -o %t1.o -x c %s -c -fthinlto-index=%t.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-WARNING |
9 | 9 | ; CHECK-WARNING: error: invalid argument '-fthinlto-index={{.*}}' only allowed with '-x ir'
|
10 | 10 |
|
11 | 11 | ; Ensure we get expected error for missing index file
|
12 |
| -; RUN: %clang -O2 -o %t4.o -x ir %t1.o -c -fthinlto-index=bad.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-ERROR1 |
| 12 | +; RUN: %clang -Xclang -opaque-pointers -O2 -o %t4.o -x ir %t1.o -c -fthinlto-index=bad.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-ERROR1 |
13 | 13 | ; CHECK-ERROR1: Error loading index file 'bad.thinlto.bc'
|
14 | 14 |
|
15 | 15 | ; Ensure we ignore empty index file, and run non-ThinLTO compilation which
|
16 | 16 | ; would not import f2
|
17 | 17 | ; RUN: touch %t4.thinlto.bc
|
18 |
| -; RUN: %clang -target x86_64-unknown-linux-gnu -O2 -o %t4.o -x ir %t1.o -c -fthinlto-index=%t4.thinlto.bc |
| 18 | +; RUN: %clang -Xclang -opaque-pointers -target x86_64-unknown-linux-gnu -O2 -o %t4.o -x ir %t1.o -c -fthinlto-index=%t4.thinlto.bc |
19 | 19 | ; RUN: llvm-nm %t4.o | FileCheck --check-prefix=CHECK-OBJ-IGNORE-EMPTY %s
|
20 | 20 | ; CHECK-OBJ-IGNORE-EMPTY: T f1
|
21 | 21 | ; CHECK-OBJ-IGNORE-EMPTY: U f2
|
22 | 22 |
|
23 | 23 | ; Ensure we don't fail with index and non-ThinLTO object file, and output must
|
24 | 24 | ; be empty file.
|
25 |
| -; RUN: opt -o %t5.o %s |
26 |
| -; RUN: %clang -target x86_64-unknown-linux-gnu -O2 -o %t4.o -x ir %t5.o -c -fthinlto-index=%t.thinlto.bc |
| 25 | +; RUN: opt -opaque-pointers -o %t5.o %s |
| 26 | +; RUN: %clang -Xclang -opaque-pointers -target x86_64-unknown-linux-gnu -O2 -o %t4.o -x ir %t5.o -c -fthinlto-index=%t.thinlto.bc |
27 | 27 | ; RUN: llvm-nm %t4.o 2>&1 | count 0
|
28 | 28 |
|
29 | 29 | ; Ensure f2 was imported. Check for all 3 flavors of -save-temps[=cwd|obj].
|
30 |
| -; RUN: %clang -target x86_64-unknown-linux-gnu -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc -save-temps=obj |
31 |
| -; RUN: llvm-dis %t1.s.3.import.bc -o - | FileCheck --check-prefix=CHECK-IMPORT %s |
| 30 | +; RUN: %clang -Xclang -opaque-pointers -target x86_64-unknown-linux-gnu -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc -save-temps=obj |
| 31 | +; RUN: llvm-dis -opaque-pointers %t1.s.3.import.bc -o - | FileCheck --check-prefix=CHECK-IMPORT %s |
32 | 32 | ; RUN: mkdir -p %T/dir1
|
33 | 33 | ; RUN: cd %T/dir1
|
34 |
| -; RUN: %clang -target x86_64-unknown-linux-gnu -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc -save-temps=cwd |
| 34 | +; RUN: %clang -Xclang -opaque-pointers -target x86_64-unknown-linux-gnu -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc -save-temps=cwd |
35 | 35 | ; RUN: cd ../..
|
36 |
| -; RUN: llvm-dis %T/dir1/*1.s.3.import.bc -o - | FileCheck --check-prefix=CHECK-IMPORT %s |
| 36 | +; RUN: llvm-dis -opaque-pointers %T/dir1/*1.s.3.import.bc -o - | FileCheck --check-prefix=CHECK-IMPORT %s |
37 | 37 | ; RUN: mkdir -p %T/dir2
|
38 | 38 | ; RUN: cd %T/dir2
|
39 |
| -; RUN: %clang -target x86_64-unknown-linux-gnu -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc -save-temps |
| 39 | +; RUN: %clang -Xclang -opaque-pointers -target x86_64-unknown-linux-gnu -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc -save-temps |
40 | 40 | ; RUN: cd ../..
|
41 |
| -; RUN: llvm-dis %T/dir2/*1.s.3.import.bc -o - | FileCheck --check-prefix=CHECK-IMPORT %s |
| 41 | +; RUN: llvm-dis -opaque-pointers %T/dir2/*1.s.3.import.bc -o - | FileCheck --check-prefix=CHECK-IMPORT %s |
42 | 42 | ; CHECK-IMPORT: define available_externally void @f2()
|
43 | 43 | ; RUN: llvm-nm %t3.o | FileCheck --check-prefix=CHECK-OBJ %s
|
44 | 44 | ; CHECK-OBJ: T f1
|
45 | 45 | ; CHECK-OBJ-NOT: U f2
|
46 | 46 |
|
47 | 47 | ; Ensure we get expected error for input files without summaries
|
48 |
| -; RUN: opt -o %t2.o %s |
49 |
| -; RUN: %clang -target x86_64-unknown-linux-gnu -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-ERROR2 |
| 48 | +; RUN: opt -opaque-pointers -o %t2.o %s |
| 49 | +; RUN: %clang -Xclang -opaque-pointers -target x86_64-unknown-linux-gnu -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-ERROR2 |
50 | 50 | ; CHECK-ERROR2: Error loading imported file {{.*}}: Could not find module summary
|
51 | 51 |
|
52 | 52 | target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
|
0 commit comments