Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / tailregccpic.ll
blobf89c4ac4df5993a4aa7f73f94d0b4257dc4e35cf
1 ; RUN: llc < %s  -mtriple=i386-pc-unknown-linux-gnu -relocation-model=pic | FileCheck %s
3 @a0 = global i32 0, align 4
5 define x86_regcallcc void @tail_call_regcall(i32 %a) nounwind {
6   tail call x86_regcallcc void @__regcall3__func(i32 %a) nounwind
7   ret void
10 define internal x86_regcallcc void @__regcall3__func(i32 %i1) {
11 entry:
12   store i32 %i1, ptr @a0, align 4
13   ret void
16 ;CHECK-LABLE: tail_call_regcall:
17 ;CHECK:       # %bb.0:
18 ;CHECK-NEXT:  jmp     __regcall3__func                # TAILCALL
19 ;CHECK-NEXT:  .Lfunc_end0:
21 ;CHECK-LABLE: __regcall3__func:
22 ;CHECK:       addl    $_GLOBAL_OFFSET_TABLE_+({{.*}}), %ecx
23 ;CHECK-NEXT:  movl    a0@GOT(%ecx), %ecx
24 ;CHECK-NEXT:  movl    %eax, (%ecx)
25 ;CHECK-NEXT:  retl
26 ;CHECK-NEXT:  .Lfunc_end1: