1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/CodeGen/Hexagon/anti-dep-partial.mir
Puyan Lotfi d4c615be8c Followup on Proposal to move MIR physical register namespace to '$' sigil.
Discussed here:

http://lists.llvm.org/pipermail/llvm-dev/2018-January/120320.html

In preparation for adding support for named vregs we are changing the sigil for
physical registers in MIR to '$' from '%'. This will prevent name clashes of
named physical register with named vregs.

llvm-svn: 323922
2018-01-31 22:04:26 +00:00

35 lines
1.1 KiB
YAML

# RUN: llc -march=hexagon -post-RA-scheduler -run-pass post-RA-sched %s -o - | FileCheck %s
--- |
declare void @check(i64, i32, i32, i64)
define void @foo() {
ret void
}
...
---
name: foo
tracksRegLiveness: true
body: |
bb.0:
successors:
liveins: $r0, $r1, $d1, $d2, $r16, $r17, $r19, $r22, $r23
$r2 = A2_add $r23, killed $r17
$r6 = M2_mpyi $r16, $r16
$r22 = M2_accii $r22, killed $r2, 2
$r7 = A2_tfrsi 12345678
$r3 = A2_tfr killed $r16
$d2 = A2_tfrp killed $d0
$r2 = L2_loadri_io $r29, 28
$r2 = M2_mpyi killed $r6, killed $r2
$r23 = S2_asr_i_r $r22, 31
S2_storeri_io killed $r29, 0, killed $r7
; The anti-dependency on r23 between the first A2_add and the
; S2_asr_i_r was causing d11 to be renamed, while r22 remained
; unchanged. Check that the renaming of d11 does not happen.
; CHECK: d11
$d0 = A2_tfrp killed $d11
J2_call @check, implicit-def $d0, implicit-def $d1, implicit-def $d2, implicit $d0, implicit $d1, implicit $d2
...