forked from OSchip/llvm-project
30 lines
584 B
Plaintext
30 lines
584 B
Plaintext
|
# RUN: llc -o - %s -march=x86 -run-pass branch-folder | FileCheck %s
|
||
|
# Test that tail merging drops undef flags that aren't present on all
|
||
|
# instructions to be merged.
|
||
|
--- |
|
||
|
define void @func() { ret void }
|
||
|
...
|
||
|
---
|
||
|
# CHECK-LABEL: name: func
|
||
|
# CHECK: bb.1:
|
||
|
# CHECK: %eax = MOV32ri 2
|
||
|
# CHECK-NOT: RET
|
||
|
# CHECK: bb.2:
|
||
|
# CHECK-NOT: RET 0, undef %eax
|
||
|
# CHECK: RET 0, %eax
|
||
|
name: func
|
||
|
tracksRegLiveness: true
|
||
|
body: |
|
||
|
bb.0:
|
||
|
successors: %bb.1, %bb.2
|
||
|
JE_1 %bb.1, implicit undef %eflags
|
||
|
JMP_1 %bb.2
|
||
|
|
||
|
bb.1:
|
||
|
%eax = MOV32ri 2
|
||
|
RET 0, %eax
|
||
|
|
||
|
bb.2:
|
||
|
RET 0, undef %eax
|
||
|
...
|