1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/test/CodeGen/Hexagon/expand-condsets-rm-reg.mir
Francis Visoiu Mistrih 86edc13433 [CodeGen] Print "%vreg0" as "%0" in both MIR and debug output
As part of the unification of the debug format and the MIR format, avoid
printing "vreg" for virtual registers (which is one of the current MIR
possibilities).

Basically:

* find . \( -name "*.mir" -o -name "*.cpp" -o -name "*.h" -o -name "*.ll" \) -type f -print0 | xargs -0 sed -i '' -E "s/%vreg([0-9]+)/%\1/g"
* grep -nr '%vreg' . and fix if needed
* find . \( -name "*.mir" -o -name "*.cpp" -o -name "*.h" -o -name "*.ll" \) -type f -print0 | xargs -0 sed -i '' -E "s/ vreg([0-9]+)/ %\1/g"
* grep -nr 'vreg[0-9]\+' . and fix if needed

Differential Revision: https://reviews.llvm.org/D40420

llvm-svn: 319427
2017-11-30 12:12:19 +00:00

50 lines
1.2 KiB
YAML

# RUN: llc -march=hexagon -run-pass expand-condsets -o - %s -verify-machineinstrs -debug-only=expand-condsets 2>&1 | FileCheck %s
# REQUIRES: asserts
# Check that coalesced registers are removed from live intervals.
#
# Check that %3 is coalesced into %4, and that after coalescing
# it is no longer in live intervals.
# CHECK-LABEL: After expand-condsets
# CHECK: INTERVALS
# CHECK-NOT: %3
# CHECK: MACHINEINSTRS
--- |
define void @fred() { ret void }
...
---
name: fred
tracksRegLiveness: true
registers:
- { id: 0, class: intregs }
- { id: 1, class: intregs }
- { id: 2, class: predregs }
- { id: 3, class: intregs }
- { id: 4, class: intregs }
liveins:
- { reg: '%r0', virtual-reg: '%0' }
- { reg: '%r1', virtual-reg: '%1' }
- { reg: '%p0', virtual-reg: '%2' }
body: |
bb.0:
liveins: %r0, %r1, %p0
%0 = COPY %r0
%0 = COPY %r0 ; Force isSSA = false.
%1 = COPY %r1
%2 = COPY %p0
; Check that %3 was coalesced into %4.
; CHECK: %4:intregs = A2_abs %1
; CHECK: %4:intregs = A2_tfrt killed %2, killed %0, implicit %4
%3 = A2_abs %1
%4 = C2_mux %2, %0, %3
%r0 = COPY %4
J2_jumpr %r31, implicit %r0, implicit-def %pc
...