1*9880d681SAndroid Build Coastguard Worker# RUN: llc -march=x86 -start-after machine-sink -stop-after machine-sink -o - %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker# This test ensures that the MIR parser parses stack object machine operands 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) { 8*9880d681SAndroid Build Coastguard Worker entry: 9*9880d681SAndroid Build Coastguard Worker %b = alloca i32 10*9880d681SAndroid Build Coastguard Worker %0 = alloca i32 11*9880d681SAndroid Build Coastguard Worker store i32 %a, i32* %b 12*9880d681SAndroid Build Coastguard Worker store i32 2, i32* %0 13*9880d681SAndroid Build Coastguard Worker %c = load i32, i32* %b 14*9880d681SAndroid Build Coastguard Worker ret i32 %c 15*9880d681SAndroid Build Coastguard Worker } 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker... 18*9880d681SAndroid Build Coastguard Worker--- 19*9880d681SAndroid Build Coastguard Workername: test 20*9880d681SAndroid Build Coastguard WorkerisSSA: true 21*9880d681SAndroid Build Coastguard WorkertracksRegLiveness: true 22*9880d681SAndroid Build Coastguard Workerregisters: 23*9880d681SAndroid Build Coastguard Worker - { id: 0, class: gr32 } 24*9880d681SAndroid Build Coastguard Worker - { id: 1, class: gr32 } 25*9880d681SAndroid Build Coastguard WorkerframeInfo: 26*9880d681SAndroid Build Coastguard Worker maxAlignment: 4 27*9880d681SAndroid Build Coastguard WorkerfixedStack: 28*9880d681SAndroid Build Coastguard Worker - { id: 0, offset: 0, size: 4, isImmutable: true, isAliased: false } 29*9880d681SAndroid Build Coastguard Workerstack: 30*9880d681SAndroid Build Coastguard Worker - { id: 0, name: b, size: 4, alignment: 4 } 31*9880d681SAndroid Build Coastguard Worker - { id: 1, size: 4, alignment: 4 } 32*9880d681SAndroid Build Coastguard Workerbody: | 33*9880d681SAndroid Build Coastguard Worker ; CHECK: bb.0.entry: 34*9880d681SAndroid Build Coastguard Worker ; CHECK-NEXT: %0 = MOV32rm %fixed-stack.0, 1, _, 0, _ 35*9880d681SAndroid Build Coastguard Worker ; CHECK-NEXT: MOV32mr %stack.0.b, 1, _, 0, _, %0 36*9880d681SAndroid Build Coastguard Worker ; CHECK-NEXT: MOV32mi %stack.1, 1, _, 0, _, 2 37*9880d681SAndroid Build Coastguard Worker ; CHECK-NEXT: %1 = MOV32rm %stack.0.b, 1, _, 0, _ 38*9880d681SAndroid Build Coastguard Worker bb.0.entry: 39*9880d681SAndroid Build Coastguard Worker %0 = MOV32rm %fixed-stack.0, 1, _, 0, _ 40*9880d681SAndroid Build Coastguard Worker MOV32mr %stack.0.b, 1, _, 0, _, %0 41*9880d681SAndroid Build Coastguard Worker MOV32mi %stack.1, 1, _, 0, _, 2 42*9880d681SAndroid Build Coastguard Worker %1 = MOV32rm %stack.0, 1, _, 0, _ 43*9880d681SAndroid Build Coastguard Worker %eax = COPY %1 44*9880d681SAndroid Build Coastguard Worker RETL %eax 45*9880d681SAndroid Build Coastguard Worker... 46