23 lines
458 B
LLVM
23 lines
458 B
LLVM
|
; RUN: llvm-extract -func foo -S %s | FileCheck %s
|
||
|
|
||
|
; llvm-extract should not copy ifuncs into the new module, so make sure they
|
||
|
; are turned into declarations.
|
||
|
|
||
|
; CHECK: define void @foo() {
|
||
|
; CHECK: call void @ifunc()
|
||
|
define void @foo() {
|
||
|
call void @ifunc()
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
define void @ifunc_impl() {
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
; CHECK: declare void @ifunc()
|
||
|
@ifunc = ifunc void (), ptr @ifunc_resolver
|
||
|
|
||
|
define internal ptr @ifunc_resolver() {
|
||
|
ret ptr @ifunc_impl
|
||
|
}
|