File: anti-dep-partial.mir

package info (click to toggle)
llvm-toolchain-13 1%3A13.0.1-11
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,418,840 kB
  • sloc: cpp: 5,290,826; ansic: 996,570; asm: 544,593; python: 188,212; objc: 72,027; lisp: 30,291; f90: 25,395; sh: 24,898; javascript: 9,780; pascal: 9,398; perl: 7,484; ml: 5,432; awk: 3,523; makefile: 2,913; xml: 953; cs: 573; fortran: 539
file content (34 lines) | stat: -rw-r--r-- 1,086 bytes parent folder | download | duplicates (22)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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
...