diff options
| -rw-r--r-- | llvm/test/Bitcode/multi-module.ll | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/llvm/test/Bitcode/multi-module.ll b/llvm/test/Bitcode/multi-module.ll index a6c25c7cdbe..5f73240e8a0 100644 --- a/llvm/test/Bitcode/multi-module.ll +++ b/llvm/test/Bitcode/multi-module.ll @@ -2,10 +2,11 @@ ; RUN: not llvm-dis -o - %t 2>&1 | FileCheck --check-prefix=ERROR %s ; ERROR: Expected a single module -; FIXME: Introduce a tool for extracting modules from bitcode and use it here. -; For now we can at least check that the bitcode contains multiple modules. ; RUN: llvm-bcanalyzer -dump %t | FileCheck --check-prefix=BCA %s +; RUN: llvm-modextract -n 0 -o - %t | llvm-dis | FileCheck --check-prefix=IR1 %s +; RUN: llvm-modextract -n 1 -o - %t | llvm-dis | FileCheck --check-prefix=IR2 %s + ; RUN: llvm-as -o %t1 %s ; RUN: llvm-as -o %t2 %S/Inputs/multi-module.ll ; RUN: llvm-cat -o %t %t1 %t2 @@ -16,10 +17,18 @@ ; RUN: not llvm-dis -o - %t 2>&1 | FileCheck --check-prefix=ERROR %s ; RUN: llvm-bcanalyzer -dump %t | FileCheck --check-prefix=BCA %s +; RUN: llvm-modextract -n 0 -o - %t | llvm-dis | FileCheck --check-prefix=IR1 %s +; RUN: llvm-modextract -n 1 -o - %t | llvm-dis | FileCheck --check-prefix=IR2 %s + ; RUN: llvm-cat -b -o %t3 %t %t ; RUN: not llvm-dis -o - %t3 2>&1 | FileCheck --check-prefix=ERROR %s ; RUN: llvm-bcanalyzer -dump %t3 | FileCheck --check-prefix=BCA4 %s +; RUN: llvm-modextract -n 0 -o - %t3 | llvm-dis | FileCheck --check-prefix=IR1 %s +; RUN: llvm-modextract -n 1 -o - %t3 | llvm-dis | FileCheck --check-prefix=IR2 %s +; RUN: llvm-modextract -n 2 -o - %t3 | llvm-dis | FileCheck --check-prefix=IR1 %s +; RUN: llvm-modextract -n 3 -o - %t3 | llvm-dis | FileCheck --check-prefix=IR2 %s + ; BCA: <IDENTIFICATION_BLOCK ; BCA: <MODULE_BLOCK ; BCA: <IDENTIFICATION_BLOCK @@ -34,6 +43,9 @@ ; BCA4: <IDENTIFICATION_BLOCK ; BCA4: <MODULE_BLOCK +; IR1: define void @f1() +; IR2: define void @f2() + define void @f1() { ret void } |

