diff --git a/test/Linker/Inputs/type-unique-unrelated2.ll b/test/Linker/Inputs/type-unique-unrelated2.ll new file mode 100644 index 00000000000..b7c2cec18a3 --- /dev/null +++ b/test/Linker/Inputs/type-unique-unrelated2.ll @@ -0,0 +1,7 @@ +%t = type { i8* } +declare %t @g() + +define %t @g2() { + %x = call %t @g() + ret %t %x +} diff --git a/test/Linker/Inputs/type-unique-unrelated3.ll b/test/Linker/Inputs/type-unique-unrelated3.ll new file mode 100644 index 00000000000..e3f2dd944dd --- /dev/null +++ b/test/Linker/Inputs/type-unique-unrelated3.ll @@ -0,0 +1,7 @@ +%t = type { i8* } +declare %t @f() + +define %t @g() { + %x = call %t @f() + ret %t %x +} diff --git a/test/Linker/type-unique-unrelated.ll b/test/Linker/type-unique-unrelated.ll new file mode 100644 index 00000000000..26d05bbab6c --- /dev/null +++ b/test/Linker/type-unique-unrelated.ll @@ -0,0 +1,31 @@ +; RUN: llvm-link -S %s %p/Inputs/type-unique-unrelated2.ll %p/Inputs/type-unique-unrelated3.ll | FileCheck %s + +; CHECK: %t = type { i8* } + +; CHECK: define %t @f2() { +; CHECK-NEXT: %x = call %t @f2() +; CHECK-NEXT: ret %t %x +; CHECK-NEXT: } + +; CHECK: define %t @g2() { +; CHECK-NEXT: %x = call %t @g() +; CHECK-NEXT: ret %t %x +; CHECK-NEXT: } + +; CHECK: define %t @g() { +; CHECK-NEXT: %x = call %t @f() +; CHECK-NEXT: ret %t %x +; CHECK-NEXT: } + +; The idea of this test is that the %t in this file and the one in +; type-unique-unrelated2.ll look unrelated until type-unique-unrelated3.ll +; is merged in. + +%t = type { i8* } +declare %t @f() + +define %t @f2() { + %x = call %t @f2() + ret %t %x +} +