28 lines
563 B
LLVM
28 lines
563 B
LLVM
|
; RUN: llc -mtriple=x86_64-apple-darwin < %s | FileCheck %s
|
||
|
|
||
|
declare void @lazy() nonlazybind
|
||
|
declare void @not()
|
||
|
|
||
|
; CHECK-LABEL: foo:
|
||
|
; CHECK: callq _not
|
||
|
; CHECK: callq *_lazy@GOTPCREL(%rip)
|
||
|
define void @foo() nounwind {
|
||
|
call void @not()
|
||
|
call void @lazy()
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
; CHECK-LABEL: tail_call_regular:
|
||
|
; CHECK: jmp _not
|
||
|
define void @tail_call_regular() nounwind {
|
||
|
tail call void @not()
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
; CHECK-LABEL: tail_call_eager:
|
||
|
; CHECK: jmpq *_lazy@GOTPCREL(%rip)
|
||
|
define void @tail_call_eager() nounwind {
|
||
|
tail call void @lazy()
|
||
|
ret void
|
||
|
}
|