177724d5fSFlorian Hahn; RUN: llvm-as %s -o %t.o 277724d5fSFlorian Hahn; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -dylib -arch x86_64 -macos_version_min 10.10.0 -o %t.dylib %t.o -save-temps -undefined dynamic_lookup -exported_symbol _bar -lSystem -mllvm -lto-discard-value-names 377724d5fSFlorian Hahn; RUN: llvm-dis %t.dylib.lto.opt.bc -o - | FileCheck --check-prefix=DISCARD %s 477724d5fSFlorian Hahn 577724d5fSFlorian Hahn; RUN: %ld64 -lto_library %llvmshlibdir/libLTO.dylib -dylib -arch x86_64 -macos_version_min 10.10.0 -o %t.dylib %t.o -save-temps -undefined dynamic_lookup -exported_symbol _bar -lSystem -mllvm -lto-discard-value-names=false 677724d5fSFlorian Hahn; RUN: llvm-dis %t.dylib.lto.opt.bc -o - | FileCheck --check-prefix=KEEP %s 777724d5fSFlorian Hahn 874f6ae9fSFlorian Hahn; The test requires asserts, as it depends on the default value for 974f6ae9fSFlorian Hahn; -lto-discard-value-names at the moment. 1074f6ae9fSFlorian Hahn 1174f6ae9fSFlorian Hahn; REQUIRES: asserts 1274f6ae9fSFlorian Hahn 13*f3ac55faSFlorian Hahn; DISCARD: %{{[0-9]+}} = icmp 1477724d5fSFlorian Hahn; DISCARD: %add = add i32 1577724d5fSFlorian Hahn 1677724d5fSFlorian Hahn; KEEP: %cmp.i = icmp 1777724d5fSFlorian Hahn; KEEP : %add = add i32 1877724d5fSFlorian Hahn 1977724d5fSFlorian Hahntarget datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" 2077724d5fSFlorian Hahntarget triple = "x86_64-apple-macosx10.10.0" 2177724d5fSFlorian Hahn 2277724d5fSFlorian Hahndeclare void @external() 2377724d5fSFlorian Hahn 2477724d5fSFlorian Hahndefine internal i32 @foo(i32 %a, i32 %b) { 2577724d5fSFlorian Hahnentry: 2677724d5fSFlorian Hahn %cmp = icmp ult i32 %a, %b 2777724d5fSFlorian Hahn br i1 %cmp, label %then, label %else 2877724d5fSFlorian Hahn 2977724d5fSFlorian Hahnthen: 3077724d5fSFlorian Hahn call void @external() 3177724d5fSFlorian Hahn ret i32 10 3277724d5fSFlorian Hahn 3377724d5fSFlorian Hahnelse: 3477724d5fSFlorian Hahn ret i32 20 3577724d5fSFlorian Hahn} 3677724d5fSFlorian Hahn 3777724d5fSFlorian Hahndefine i32 @bar(i32 %a) { 3877724d5fSFlorian Hahn %res = call i32 @foo(i32 %a, i32 10) 3977724d5fSFlorian Hahn %add = add i32 %res, %a 4077724d5fSFlorian Hahn ret i32 %add 4177724d5fSFlorian Hahn} 42