Home | History | Annotate | Download | only in X86
      1 ; RUN: opt -module-summary -o %t %s
      2 ; RUN: opt -module-summary -o %t2 %S/Inputs/dead-strip-fulllto.ll
      3 
      4 ; RUN: llvm-lto2 run %t -r %t,main,px -r %t,live1,p -r %t,live2,p -r %t,dead2,p \
      5 ; RUN:               %t2 -r %t2,live1, -r %t2,live2, -r %t2,dead1,p -r %t2,dead2, -r %t2,odr, \
      6 ; RUN: -save-temps -o %t3
      7 ; RUN: llvm-nm %t3.0 | FileCheck --check-prefix=FULL %s
      8 ; RUN: llvm-nm %t3.1 | FileCheck --check-prefix=THIN %s
      9 
     10 ; RUN: llvm-lto2 run %t -r %t,main,px -r %t,live1,p -r %t,live2,p -r %t,dead2,p \
     11 ; RUN:               %t2 -r %t2,live1, -r %t2,live2, -r %t2,dead1,p -r %t2,dead2, -r %t2,odr, \
     12 ; RUN: -save-temps -o %t3 -O0
     13 ; RUN: llvm-nm %t3.0 | FileCheck --check-prefix=FULL %s
     14 ; RUN: llvm-nm %t3.1 | FileCheck --check-prefix=THIN %s
     15 
     16 ; FULL-NOT: dead
     17 ; FULL: U live1
     18 ; FULL: T live2
     19 ; FULL: T main
     20 
     21 ; THIN-NOT: dead
     22 ; THIN: T live1
     23 ; THIN: U live2
     24 ; THIN-NOT: odr
     25 
     26 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
     27 target triple = "x86_64-unknown-linux-gnu"
     28 
     29 define void @main() {
     30   call void @live1()
     31   ret void
     32 }
     33 
     34 declare void @live1()
     35 
     36 define void @live2() {
     37   ret void
     38 }
     39 
     40 define void @dead2() {
     41   ret void
     42 }
     43 
     44 !0 = !{i32 1, !"ThinLTO", i32 0}
     45 !llvm.module.flags = !{ !0 }
     46