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