diff options
Diffstat (limited to 'test/tools/llvm-split')
| -rw-r--r-- | test/tools/llvm-split/alias.ll | 19 | ||||
| -rw-r--r-- | test/tools/llvm-split/comdat.ll | 19 | ||||
| -rw-r--r-- | test/tools/llvm-split/function.ll | 17 | ||||
| -rw-r--r-- | test/tools/llvm-split/global.ll | 11 | ||||
| -rw-r--r-- | test/tools/llvm-split/internal.ll | 17 | ||||
| -rw-r--r-- | test/tools/llvm-split/unnamed.ll | 31 |
6 files changed, 114 insertions, 0 deletions
diff --git a/test/tools/llvm-split/alias.ll b/test/tools/llvm-split/alias.ll new file mode 100644 index 000000000000..18e0e7f12d69 --- /dev/null +++ b/test/tools/llvm-split/alias.ll @@ -0,0 +1,19 @@ +; RUN: llvm-split -o %t %s +; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s +; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s + +; CHECK0-DAG: @afoo = alias [2 x i8*], [2 x i8*]* @foo +; CHECK1-DAG: @afoo = external global [2 x i8*] +@afoo = alias [2 x i8*], [2 x i8*]* @foo + +; CHECK0-DAG: declare void @abar() +; CHECK1-DAG: @abar = alias void (), void ()* @bar +@abar = alias void (), void ()* @bar + +@foo = global [2 x i8*] [i8* bitcast (void ()* @bar to i8*), i8* bitcast (void ()* @abar to i8*)] + +define void @bar() { + store [2 x i8*] zeroinitializer, [2 x i8*]* @foo + store [2 x i8*] zeroinitializer, [2 x i8*]* @afoo + ret void +} diff --git a/test/tools/llvm-split/comdat.ll b/test/tools/llvm-split/comdat.ll new file mode 100644 index 000000000000..45faf4bfe26e --- /dev/null +++ b/test/tools/llvm-split/comdat.ll @@ -0,0 +1,19 @@ +; RUN: llvm-split -o %t %s +; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s +; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s + +$foo = comdat any + +; CHECK0: define void @foo() +; CHECK1: declare void @foo() +define void @foo() comdat { + call void @bar() + ret void +} + +; CHECK0: define void @bar() +; CHECK1: declare void @bar() +define void @bar() comdat($foo) { + call void @foo() + ret void +} diff --git a/test/tools/llvm-split/function.ll b/test/tools/llvm-split/function.ll new file mode 100644 index 000000000000..37272dbbcee2 --- /dev/null +++ b/test/tools/llvm-split/function.ll @@ -0,0 +1,17 @@ +; RUN: llvm-split -o %t %s +; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s +; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s + +; CHECK0: define void @foo() +; CHECK1: declare void @foo() +define void @foo() { + call void @bar() + ret void +} + +; CHECK0: declare void @bar() +; CHECK1: define void @bar() +define void @bar() { + call void @foo() + ret void +} diff --git a/test/tools/llvm-split/global.ll b/test/tools/llvm-split/global.ll new file mode 100644 index 000000000000..6d2425691e10 --- /dev/null +++ b/test/tools/llvm-split/global.ll @@ -0,0 +1,11 @@ +; RUN: llvm-split -o %t %s +; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s +; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s + +; CHECK0: @foo = global i8* bitcast +; CHECK1: @foo = external global i8* +@foo = global i8* bitcast (i8** @bar to i8*) + +; CHECK0: @bar = external global i8* +; CHECK1: @bar = global i8* bitcast +@bar = global i8* bitcast (i8** @foo to i8*) diff --git a/test/tools/llvm-split/internal.ll b/test/tools/llvm-split/internal.ll new file mode 100644 index 000000000000..ce4272c5f0dd --- /dev/null +++ b/test/tools/llvm-split/internal.ll @@ -0,0 +1,17 @@ +; RUN: llvm-split -o %t %s +; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s +; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s + +; CHECK0: define hidden void @foo() +; CHECK1: declare hidden void @foo() +define internal void @foo() { + call void @bar() + ret void +} + +; CHECK0: declare void @bar() +; CHECK1: define void @bar() +define void @bar() { + call void @foo() + ret void +} diff --git a/test/tools/llvm-split/unnamed.ll b/test/tools/llvm-split/unnamed.ll new file mode 100644 index 000000000000..fd24b4ca92bb --- /dev/null +++ b/test/tools/llvm-split/unnamed.ll @@ -0,0 +1,31 @@ +; RUN: llvm-split -o %t %s +; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s +; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s + +; CHECK0: declare hidden void @__llvmsplit_unnamed() +; CHECK1: define hidden void @__llvmsplit_unnamed() +define internal void @0() { + ; CHECK1: call void @foo() + call void @foo() + ret void +} + +; CHECK0: declare hidden void @__llvmsplit_unnamed.1() +; CHECK1: define hidden void @__llvmsplit_unnamed.1() +define internal void @1() { + ; CHECK1: call void @foo() + ; CHECK1: call void @foo() + call void @foo() + call void @foo() + ret void +} + +; CHECK0: define void @foo() +; CHECK1: declare void @foo() +define void @foo() { + ; CHECK0: call void @__llvmsplit_unnamed.1() + ; CHECK0: call void @__llvmsplit_unnamed() + call void @1() + call void @0() + ret void +} |
