Home | History | Annotate | Download | only in X86
      1 ; RUN: opt -module-summary %s -o %t.o
      2 ; RUN: opt -module-summary %p/Inputs/thinlto_internalize.ll -o %t2.o
      3 
      4 ; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold.so \
      5 ; RUN:     --plugin-opt=thinlto \
      6 ; RUN:     --plugin-opt=-import-instr-limit=0 \
      7 ; RUN:     --plugin-opt=save-temps \
      8 ; RUN:     -o %t3.o %t2.o %t.o
      9 ; RUN: llvm-dis %t.o.opt.bc -o - | FileCheck %s
     10 
     11 ; f() should be internalized and eliminated after inlining
     12 ; CHECK-NOT: @f()
     13 
     14 ; h() should be internalized after promotion, and eliminated after inlining
     15 ; CHECK-NOT: @h.llvm.
     16 
     17 target triple = "x86_64-unknown-linux-gnu"
     18 define i32 @g() {
     19   call void @f()
     20   call void @h()
     21   ret i32 0
     22 }
     23 define void @f() {
     24   ret void
     25 }
     26 define internal void @h() {
     27   ret void
     28 }
     29