1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=i386-unknown-linux-musl -verify-machineinstrs -run-pass=regallocfast -o - %s | FileCheck %s
3 # RUN: llc -mtriple=i386-unknown-linux-musl -verify-machineinstrs -passes=regallocfast -o - %s | FileCheck %s
5 # Test for correct management of allocatable and non-allocatable
6 # live-ins in fastregalloc
10 tracksRegLiveness: true
12 ; CHECK-LABEL: name: live_through_ecx
14 ; CHECK: successors: %bb.1(0x80000000)
15 ; CHECK: liveins: $ecx
16 ; CHECK: NOOP implicit $ecx
18 ; CHECK: liveins: $ecx
19 ; CHECK: RET implicit killed $ecx
33 tracksRegLiveness: true
35 ; CHECK-LABEL: name: live_out_ecx
37 ; CHECK: successors: %bb.1(0x80000000)
38 ; CHECK: liveins: $eax, $ebx
39 ; CHECK: renamable $ecx = COPY killed $ebx
41 ; CHECK: liveins: $ecx
42 ; CHECK: RET implicit killed $ecx
58 tracksRegLiveness: true
60 ; CHECK-LABEL: name: live_out_eflags
62 ; CHECK: successors: %bb.1(0x80000000)
63 ; CHECK: liveins: $eax, $ebx
64 ; CHECK: TEST32rr killed renamable $eax, killed renamable $ebx, implicit-def $eflags
66 ; CHECK: liveins: $eflags
67 ; CHECK: RET implicit killed $eflags
72 TEST32rr %0, %1, implicit-def $eflags