xref: /llvm-project/llvm/test/Linker/override-with-internal-linkage.ll (revision f2e868c566107eb2f54e3e6033199297ba11e2d9)
1; RUN: llvm-link %s -override %S/Inputs/override-with-internal-linkage.ll -S | FileCheck %s
2; RUN: llvm-link -override %S/Inputs/override-with-internal-linkage.ll %s -S | FileCheck %s
3
4; CHECK-LABEL: define i32 @main(
5; CHECK-NEXT: entry:
6; CHECK-NEXT: call i32 @foo.2(
7define i32 @main(i32 %argc, ptr %argv) {
8entry:
9  %a = call i32 @foo(i32 2)
10  ret i32 %a
11}
12
13; CHECK-LABEL: define internal i32 @foo.2(
14; CHECK-NEXT: entry:
15; CHECK-NEXT: %add = add nsw i32 %i, %i
16; CHECK-NEXT: ret i32 %add
17define internal i32 @foo(i32 %i) {
18entry:
19  %add = add nsw i32 %i, %i
20  ret i32 %add
21}
22
23; CHECK-LABEL: define i32 @foo(
24; CHECK-NEXT: entry:
25; CHECK-NEXT: ret i32 4
26