llvm/test/Other/extract.ll
Bob Wilson edf017487f Fix llvm-extract so that it changes the linkage of all GlobalValues to
"external" even when doing lazy bitcode loading.  This was broken because
a function that is not materialized fails the !isDeclaration() test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114666 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23 17:25:06 +00:00

28 lines
783 B
LLVM

; RUN: llvm-extract -func foo -S < %s | FileCheck %s
; RUN: llvm-extract -delete -func foo -S < %s | FileCheck --check-prefix=DELETE %s
; RUN: llvm-as < %s > %t
; RUN: llvm-extract -func foo -S %t | FileCheck %s
; RUN: llvm-extract -delete -func foo -S %t | FileCheck --check-prefix=DELETE %s
; llvm-extract uses lazy bitcode loading, so make sure it correctly reads
; from bitcode files in addition to assembly files.
; CHECK: define void @foo() {
; CHECK: ret void
; CHECK: }
; The linkonce_odr linkage for foo() should be changed to external linkage.
; DELETE: declare void @foo()
; DELETE: define void @bar() {
; DELETE: call void @foo()
; DELETE: ret void
; DELETE: }
define linkonce_odr void @foo() {
ret void
}
define void @bar() {
call void @foo()
ret void
}