| ; RegularLTO testcase |
| ; RUN: llvm-as %s -o %t.o |
| ; RUN: %gold -shared -m elf_x86_64 -o %t2 -plugin %llvmshlibdir/LLVMgold%shlibext \ |
| ; RUN: %t.o --plugin-opt=save-temps -upatatino |
| ; RUN: llvm-dis < %t2.0.5.precodegen.bc | FileCheck %s |
| |
| ; ThinLTO testcase |
| ; RUN: opt -module-summary %s -o %t.o |
| ; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \ |
| ; RUN: --plugin-opt=save-temps \ |
| ; RUN: --plugin-opt=thinlto -o %t2 %t.o |
| ; RUN: llvm-dis < %t.o.5.precodegen.bc | FileCheck --check-prefix=CHECKTHIN %s |
| |
| ; Check that foo is not internalized |
| ; CHECK: define void @foo |
| ; CHECKTHIN: define dso_local void @foo |
| |
| target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
| target triple = "x86_64-unknown-linux-gnu" |
| |
| module asm ".global patatino" |
| module asm ".equ patatino, foo" |
| |
| declare void @patatino() |
| |
| define void @foo() { |
| call void @patatino() |
| ret void |
| } |