blob: 20a6d7117584041219bbea3145fce82b3f5a43f2 [file] [edit]
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6
# RUN: llc -mtriple=x86_64 -passes=process-implicit-defs -o - %s | FileCheck %s
# A physreg IMPLICIT_DEF kept because the block has successors is erased
# if no successor has it live-in.
---
name: no_succ_livein
tracksRegLiveness: true
body: |
; CHECK-LABEL: name: no_succ_livein
; CHECK: bb.0:
; CHECK-NEXT: successors: %bb.1(0x80000000)
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: $eax = COPY undef $edi
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: bb.1:
; CHECK-NEXT: liveins: $eax
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: RET 0, $eax
bb.0:
successors: %bb.1
$edi = IMPLICIT_DEF
$eax = COPY $edi
bb.1:
liveins: $eax
RET 0, $eax
...
---
name: succ_livein
tracksRegLiveness: true
body: |
; CHECK-LABEL: name: succ_livein
; CHECK: bb.0:
; CHECK-NEXT: successors: %bb.1(0x80000000)
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: $edi = IMPLICIT_DEF
; CHECK-NEXT: $eax = COPY undef $edi
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: bb.1:
; CHECK-NEXT: liveins: $eax, $edi
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: RET 0, $eax, $edi
bb.0:
successors: %bb.1
$edi = IMPLICIT_DEF
$eax = COPY $edi
bb.1:
liveins: $eax, $edi
RET 0, $eax, $edi
...
---
name: succ_livein_super
tracksRegLiveness: true
body: |
; CHECK-LABEL: name: succ_livein_super
; CHECK: bb.0:
; CHECK-NEXT: successors: %bb.1(0x80000000)
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: $edi = IMPLICIT_DEF
; CHECK-NEXT: $eax = COPY undef $edi
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: bb.1:
; CHECK-NEXT: liveins: $eax, $rdi
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: RET 0, $eax, $rdi
bb.0:
successors: %bb.1
$edi = IMPLICIT_DEF
$eax = COPY $edi
bb.1:
liveins: $eax, $rdi
RET 0, $eax, $rdi
...
---
name: succ_livein_sub
tracksRegLiveness: true
body: |
; CHECK-LABEL: name: succ_livein_sub
; CHECK: bb.0:
; CHECK-NEXT: successors: %bb.1(0x80000000)
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: $edi = IMPLICIT_DEF
; CHECK-NEXT: $eax = COPY undef $edi
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: bb.1:
; CHECK-NEXT: liveins: $eax, $di
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: RET 0, $eax, $di
bb.0:
successors: %bb.1
$edi = IMPLICIT_DEF
$eax = COPY $edi
bb.1:
liveins: $eax, $di
RET 0, $eax, $di
...