| ; Do setup work for all below tests: generate bitcode and combined index |
| ; RUN: opt -module-summary %s -o %t.main.bc |
| ; RUN: opt -module-summary %p/Inputs/noinline.ll -o %t.inputs.noinline.bc |
| ; RUN: llvm-lto -thinlto -o %t.summary %t.main.bc %t.inputs.noinline.bc |
| |
| ; Attempt the import now, ensure below that file containing noinline |
| ; is not imported by default but imported with -force-import-all. |
| |
| ; RUN: opt -passes=function-import -summary-file %t.summary.thinlto.bc %t.main.bc -S 2>&1 \ |
| ; RUN: | FileCheck -check-prefix=NOIMPORT %s |
| ; RUN: opt -passes=function-import -force-import-all -summary-file %t.summary.thinlto.bc \ |
| ; RUN: %t.main.bc -S 2>&1 | FileCheck -check-prefix=IMPORT %s |
| |
| define i32 @main() #0 { |
| entry: |
| %f = alloca i64, align 8 |
| call void @foo(ptr %f) |
| ret i32 0 |
| } |
| |
| ; NOIMPORT: declare void @foo(ptr) |
| ; IMPORT: define available_externally void @foo |
| declare void @foo(ptr) #1 |