1 ; RUN: llvm-as < %s >%t1 2 ; RUN: llvm-lto -exported-symbol=_main -set-merged-module -o %t2 %t1 3 ; RUN: llvm-objdump --print-imm-hex=false -d %t2 | FileCheck %s 4 5 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" 6 target triple = "x86_64-apple-macosx10.10.0" 7 8 ; CHECK: _main 9 ; CHECK: movl $132 10 define i32 @_Z3fooi(i32 %a) { 11 entry: 12 %a.addr = alloca i32, align 4 13 store i32 %a, i32* %a.addr, align 4 14 %0 = load i32, i32* %a.addr, align 4 15 %1 = load i32, i32* %a.addr, align 4 16 %call = call i32 @_Z4bar2i(i32 %1) 17 %add = add nsw i32 %0, %call 18 ret i32 %add 19 } 20 21 define i32 @_Z4bar2i(i32 %a) { 22 entry: 23 %a.addr = alloca i32, align 4 24 store i32 %a, i32* %a.addr, align 4 25 %0 = load i32, i32* %a.addr, align 4 26 %mul = mul nsw i32 2, %0 27 ret i32 %mul 28 } 29 30 define i32 @main() { 31 entry: 32 %retval = alloca i32, align 4 33 store i32 0, i32* %retval 34 %call = call i32 @_Z3fooi(i32 44) 35 ret i32 %call 36 } 37