28 lines · plain
1; RUN: llc -mtriple=x86_64-apple-darwin < %s | FileCheck %s2 3declare void @lazy() nonlazybind4declare void @not()5 6; CHECK-LABEL: foo:7; CHECK: callq _not8; CHECK: callq *_lazy@GOTPCREL(%rip)9define void @foo() nounwind {10 call void @not()11 call void @lazy()12 ret void13}14 15; CHECK-LABEL: tail_call_regular:16; CHECK: jmp _not17define void @tail_call_regular() nounwind {18 tail call void @not()19 ret void20}21 22; CHECK-LABEL: tail_call_eager:23; CHECK: jmpq *_lazy@GOTPCREL(%rip)24define void @tail_call_eager() nounwind {25 tail call void @lazy()26 ret void27}28