• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -mtriple=x86_64-apple-darwin < %s | FileCheck %s
2
3declare void @lazy() nonlazybind
4declare void @not()
5
6; CHECK-LABEL: foo:
7; CHECK:  callq _not
8; CHECK:  callq *_lazy@GOTPCREL(%rip)
9define void @foo() nounwind {
10  call void @not()
11  call void @lazy()
12  ret void
13}
14
15; CHECK-LABEL: tail_call_regular:
16; CHECK:   jmp _not
17define void @tail_call_regular() nounwind {
18  tail call void @not()
19  ret void
20}
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 void
27}
28