; 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 | |
} |