[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / X86 / tailcc-dwarf.ll
blob2676a091081eeca6b8b20bf21c01a87f21b992b5
1 ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -O0 --frame-pointer=non-leaf %s -o - | FileCheck %s
3 %block = type { %blockheader, [0 x i64*] }
4 %blockheader = type { i64 }
6 define void @scanStackRoots(i32) {
7   ret void
10 define i32 @main(i32 %argc, i8** %argv) {
11 entry:
12   %0 = call tailcc %block* @apply_rule_6870(%block* null, %block* null)
13   ret i32 0
16 define internal tailcc %block* @apply_rule_6870(%block* %0, %block* %1) {
17 entry:
18   %2 = tail call tailcc %block* @sender12(%block* %0, %block* %1)
19   ret %block* null
22 define internal tailcc %block* @sender12(%block* %0, %block* %1) {
23 ; CHECK-LABEL: sender12:
24 ; CHECK: .cfi_startproc
25 ; CHECK: subq $8160, %rsp
26 ; CHECK: pushq %rbp
27 ; CHECK: .cfi_def_cfa_offset 8176
28 ; CHECK: .cfi_offset %rbp, -8176
29 entry:
30   %a = alloca [1024 x i32]
31   %b = load [1024 x i32], [1024 x i32]* %a
32   call void @scanStackRoots(i32 1)
33   %2 = tail call tailcc %block* @apply_rule_6300(%block* %0, %block* %1, [1024 x i32] %b)
34   ret %block* %2
37 define internal tailcc %block* @apply_rule_6300(%block* %0, %block* %1, [1024 x i32] %2) {
38 entry:
39   %3 = tail call tailcc %block* @sender4(%block* %0, %block* %1)
40   ret %block* %3
43 define internal tailcc %block* @sender4(%block* %0, %block* %1) {
44 entry:
45   call void @scanStackRoots(i32 2)
46   ret %block* null