110 lines · plain
1# RUN: llc -mtriple=x86_64 -run-pass none -o - %s | FileCheck %s2 3--- |4 5 define i32 @foo(i32 %a) {6 entry:7 %0 = icmp sle i32 %a, 108 br i1 %0, label %less, label %exit9 10 less:11 ret i32 012 13 exit:14 ret i32 %a15 }16 17 define i32 @bar(i32 %a) {18 entry:19 %0 = icmp sle i32 %a, 1020 br i1 %0, label %less, label %exit21 22 less:23 ret i32 024 25 exit:26 ret i32 %a27 }28 29...30---31name: foo32tracksRegLiveness: true33liveins:34 - { reg: '$edi' }35# CHECK-LABEL: name: foo36# CHECK: body: |37# CHECK-NEXT: bb.0.entry:38# CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)39# CHECK-NEXT: liveins: $edi40# CHECK: CMP32ri8 $edi, 10, implicit-def $eflags41# CHECK-NEXT: JCC_1 %bb.2, 15, implicit killed $eflags42 43# CHECK: bb.1.less:44# CHECK-NEXT: $eax = MOV32r0 implicit-def dead $eflags45# CHECK-NEXT: RET64 killed $eax46 47# CHECK: bb.2.exit:48# CHECK-NEXT: liveins: $edi49# CHECK: $eax = COPY killed $edi50# CHECK-NEXT: RET64 killed $eax51body: |52 bb.0.entry:53 successors: %bb.1, %bb.254 55 liveins: $edi56 57 CMP32ri8 $edi, 10, implicit-def $eflags58 59 JCC_1 %bb.2, 15, implicit killed $eflags60 61 bb.1.less:62 63 64 $eax = MOV32r0 implicit-def dead $eflags65 RET64 killed $eax66 bb.2.exit:67 68 69 liveins: $edi70 $eax = COPY killed $edi71 RET64 killed $eax72 73...74---75name: bar76tracksRegLiveness: true77liveins:78 - { reg: '$edi' }79# CHECK-LABEL: name: bar80# CHECK: body: |81# CHECK-NEXT: bb.0.entry:82# CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)83# CHECK-NEXT: liveins: $edi84# CHECK: CMP32ri8 $edi, 10, implicit-def $eflags85# CHECK-NEXT: JCC_1 %bb.2, 15, implicit killed $eflags86 87# CHECK: bb.1.less:88# CHECK-NEXT: $eax = MOV32r0 implicit-def dead $eflags89# CHECK-NEXT: RET64 killed $eax90 91# CHECK: bb.2.exit:92# CHECK-NEXT: liveins: $edi93# CHECK: $eax = COPY killed $edi94# CHECK-NEXT: RET64 killed $eax95body: |96 97 bb.0.entry:98 successors: %bb.1, %bb.299 liveins: $edi100 CMP32ri8 $edi, 10, implicit-def $eflags101 JCC_1 %bb.2, 15, implicit killed $eflags102 bb.1.less: $eax = MOV32r0 implicit-def dead $eflags103 RET64 killed $eax104 105 bb.2.exit: liveins: $edi106 $eax = COPY killed $edi107 RET64 killed $eax108 109...110