80 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=i386-unknown-linux-musl -verify-machineinstrs -run-pass=regallocfast -o - %s | FileCheck %s3# RUN: llc -mtriple=i386-unknown-linux-musl -verify-machineinstrs -passes=regallocfast -o - %s | FileCheck %s4 5# Test for correct management of allocatable and non-allocatable6# live-ins in fastregalloc7 8---9name: live_through_ecx10tracksRegLiveness: true11body: |12 ; CHECK-LABEL: name: live_through_ecx13 ; CHECK: bb.0:14 ; CHECK: successors: %bb.1(0x80000000)15 ; CHECK: liveins: $ecx16 ; CHECK: NOOP implicit $ecx17 ; CHECK: bb.1:18 ; CHECK: liveins: $ecx19 ; CHECK: RET implicit killed $ecx20 bb.0:21 liveins: $ecx22 NOOP implicit $ecx23 24 bb.1:25 liveins: $ecx26 27 RET implicit $ecx28 29...30 31---32name: live_out_ecx33tracksRegLiveness: true34body: |35 ; CHECK-LABEL: name: live_out_ecx36 ; CHECK: bb.0:37 ; CHECK: successors: %bb.1(0x80000000)38 ; CHECK: liveins: $eax, $ebx39 ; CHECK: renamable $ecx = COPY killed $ebx40 ; CHECK: bb.1:41 ; CHECK: liveins: $ecx42 ; CHECK: RET implicit killed $ecx43 bb.0:44 liveins: $eax, $ebx45 %0:gr32 = COPY $eax46 %1:gr32 = COPY $ebx47 $ecx = COPY %148 49 bb.1:50 liveins: $ecx51 52 RET implicit $ecx53 54...55 56---57name: live_out_eflags58tracksRegLiveness: true59body: |60 ; CHECK-LABEL: name: live_out_eflags61 ; CHECK: bb.0:62 ; CHECK: successors: %bb.1(0x80000000)63 ; CHECK: liveins: $eax, $ebx64 ; CHECK: TEST32rr killed renamable $eax, killed renamable $ebx, implicit-def $eflags65 ; CHECK: bb.1:66 ; CHECK: liveins: $eflags67 ; CHECK: RET implicit killed $eflags68 bb.0:69 liveins: $eax, $ebx70 %0:gr32 = COPY $eax71 %1:gr32 = COPY $ebx72 TEST32rr %0, %1, implicit-def $eflags73 74 bb.1:75 liveins: $eflags76 77 RET implicit $eflags78 79...80