1 ; RUN: opt -module-summary %s -o %t1.o 2 ; RUN: llvm-lto2 run -save-temps -o %t2.o %t1.o \ 3 ; RUN: -r %t1.o,testVar1,plx -r %t1.o,testVar2,plx \ 4 ; RUN: -r %t1.o,var1,pl -r %t1.o,var2,lx 5 6 ; Test contains two retainedNodes: var1 and var2. 7 ; var2 is not prevailing and here we check it is not inlined. 8 9 ; Check 'var2' was not inlined. 10 ; RUN: llvm-objdump -d %t2.o.1 | FileCheck %s 11 ; CHECK: testVar1: 12 ; CHECK-NEXT: movl $10, %eax 13 ; CHECK-NEXT: retq 14 ; CHECK: testVar2: 15 ; CHECK-NEXT: movl (%rip), %eax 16 ; CHECK-NEXT: retq 17 18 ; Check 'var2' is undefined. 19 ; RUN: llvm-readelf --symbols %t2.o.1 | FileCheck %s --check-prefix=UND 20 ; UND: NOTYPE GLOBAL DEFAULT UND var2 21 22 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 23 target triple = "x86_64-unknown-linux-gnu" 24 25 @var1 = global i32 10, align 4 26 define i32 @testVar1() { 27 %1 = load i32, i32* @var1, align 4 28 ret i32 %1 29 } 30 31 @var2 = global i32 11, align 4 32 define i32 @testVar2() { 33 %1 = load i32, i32* @var2, align 4 34 ret i32 %1 35 } 36