1*9880d681SAndroid Build Coastguard Worker# RUN: llc -march=x86-64 -start-after machine-scheduler -stop-after machine-scheduler -o - %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker# This test ensures that the MIR parser parses simple register allocation hints 3*9880d681SAndroid Build Coastguard Worker# correctly. 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker--- | 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker define i32 @test(i32 %a, i32 %b) { 8*9880d681SAndroid Build Coastguard Worker body: 9*9880d681SAndroid Build Coastguard Worker %c = mul i32 %a, %b 10*9880d681SAndroid Build Coastguard Worker ret i32 %c 11*9880d681SAndroid Build Coastguard Worker } 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker... 14*9880d681SAndroid Build Coastguard Worker--- 15*9880d681SAndroid Build Coastguard Workername: test 16*9880d681SAndroid Build Coastguard WorkertracksRegLiveness: true 17*9880d681SAndroid Build Coastguard Worker# CHECK: registers: 18*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: - { id: 0, class: gr32 } 19*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: - { id: 1, class: gr32, preferred-register: '%esi' } 20*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: - { id: 2, class: gr32, preferred-register: '%edi' } 21*9880d681SAndroid Build Coastguard Workerregisters: 22*9880d681SAndroid Build Coastguard Worker - { id: 0, class: gr32 } 23*9880d681SAndroid Build Coastguard Worker - { id: 1, class: gr32, preferred-register: '%esi' } 24*9880d681SAndroid Build Coastguard Worker - { id: 2, class: gr32, preferred-register: '%edi' } 25*9880d681SAndroid Build Coastguard Workerbody: | 26*9880d681SAndroid Build Coastguard Worker bb.0.body: 27*9880d681SAndroid Build Coastguard Worker liveins: %edi, %esi 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker %1 = COPY %esi 30*9880d681SAndroid Build Coastguard Worker %2 = COPY %edi 31*9880d681SAndroid Build Coastguard Worker %2 = IMUL32rr %2, %1, implicit-def dead %eflags 32*9880d681SAndroid Build Coastguard Worker %eax = COPY %2 33*9880d681SAndroid Build Coastguard Worker RETQ killed %eax 34*9880d681SAndroid Build Coastguard Worker... 35