Skip to content

Commit b6ad9d7

Browse files
committed
Add bitcodelibfuncs flag to lto2 (not hooked up)
1 parent 0cde152 commit b6ad9d7

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
; RUN: opt %s -o %t -module-summary -mtriple x86_64-unknown-linux-musl
2+
; RUN: llvm-lto2 run -o %t2 \
3+
; RUN: -r %t,foo,plx \
4+
; RUN: -r %t,memcmp,x \
5+
; RUN: -r %t,bcmp,pl --bitcode-libfuncs=bcmp %t -save-temps
6+
; RUN: llvm-dis %t2.1.4.opt.bc -o - | FileCheck %s
7+
8+
define i1 @foo(ptr %0, ptr %1, i64 %2) {
9+
; CHECK-LABEL: define{{.*}}i1 @foo
10+
; CHECK-NEXT: %cmp = {{.*}}call i32 @memcmp
11+
; CHECK-NEXT: %eq = icmp eq i32 %bcmp, 0
12+
; CHECK-NEXT: ret i1 %eq
13+
14+
%cmp = call i32 @memcmp(ptr %0, ptr %1, i64 %2)
15+
%eq = icmp eq i32 %cmp, 0
16+
ret i1 %eq
17+
}
18+
19+
declare i32 @memcmp(ptr, ptr, i64)
20+
declare i32 @bcmp(ptr, ptr, i64)

llvm/tools/llvm-lto2/llvm-lto2.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,10 @@ static cl::opt<bool>
232232
AllVtablesHaveTypeInfos("all-vtables-have-type-infos", cl::Hidden,
233233
cl::desc("All vtables have type infos"));
234234

235+
static cl::list<std::string>
236+
BitcodeLibFuncs("bitcode-libfuncs", cl::Hidden,
237+
cl::desc("set of libfuncs implemented in bitcode"));
238+
235239
static void check(Error E, std::string Msg) {
236240
if (!E)
237241
return;

0 commit comments

Comments
 (0)