1# RUN: llc -march=hexagon -post-RA-scheduler -run-pass post-RA-sched %s -o - | FileCheck %s 2 3--- | 4 declare void @check(i64, i32, i32, i64) 5 define void @foo() { 6 ret void 7 } 8... 9 10--- 11name: foo 12tracksRegLiveness: true 13allVRegsAllocated: true 14body: | 15 bb.0: 16 successors: 17 liveins: %r0, %r1, %d1, %d2, %r16, %r17, %r19, %r22, %r23 18 %r2 = A2_add %r23, killed %r17 19 %r6 = M2_mpyi %r16, %r16 20 %r22 = M2_accii %r22, killed %r2, 2 21 %r7 = A2_tfrsi 12345678 22 %r3 = A2_tfr killed %r16 23 %d2 = A2_tfrp killed %d0 24 %r2 = L2_loadri_io %r29, 28 25 %r2 = M2_mpyi killed %r6, killed %r2 26 %r23 = S2_asr_i_r %r22, 31 27 S2_storeri_io killed %r29, 0, killed %r7 28 ; The anti-dependency on r23 between the first A2_add and the 29 ; S2_asr_i_r was causing d11 to be renamed, while r22 remained 30 ; unchanged. Check that the renaming of d11 does not happen. 31 ; CHECK: d11 32 %d0 = A2_tfrp killed %d11 33 J2_call @check, implicit-def %d0, implicit-def %d1, implicit-def %d2, implicit %d0, implicit %d1, implicit %d2 34... 35 36