Benoit Belley | b1a9ad8 | 2017-08-09 20:58:39 +0000 | [diff] [blame] | 1 | ; RUN: llvm-link -S %s %p/Inputs/only-needed-dtors.ll | FileCheck %s --check-prefix=CHECK --check-prefix=LINK-ALL --check-prefix=NO-INTERNALIZE |
| 2 | ; RUN: llvm-link -S -internalize %s %p/Inputs/only-needed-dtors.ll | FileCheck %s --check-prefix=CHECK --check-prefix=LINK_ALL --check-prefix=INTERNALIZE |
| 3 | ; RUN: llvm-link -S -only-needed %s %p/Inputs/only-needed-dtors.ll | FileCheck %s --check-prefix=CHECK --check-prefix=ONLY-NEEDED --check-prefix=NO-INTERNALIZE |
| 4 | ; RUN: llvm-link -S -only-needed -internalize %s %p/Inputs/only-needed-dtors.ll | FileCheck %s --check-prefix=CHECK --check-prefix=ONLY-NEEDED --check-prefix=INTERNALIZE |
| 5 | |
| 6 | ; Empty destination module! |
| 7 | |
| 8 | |
| 9 | ; CHECK: @llvm.global_dtors = appending global [2 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 2, void ()* @dtor1, i8* null }, { i32, void ()*, i8* } { i32 7, void ()* @dtor2, i8* null }] |
| 10 | ; CHECK: define internal void @dtor1() |
| 11 | ; CHECK: define internal void @dtor2() |
| 12 | ; NO-INTERNALIZE: define void @func1() |
| 13 | ; INTERNALIZE: define internal void @func1() |
| 14 | ; LINK-ALL: define {{(internal )?}}void @unused() |
| 15 | ; ONLY-NEEDED-NOT: void @unused() |