41 lines · plain
1# RUN: llc -mtriple=x86_64 -run-pass none -o - %s | FileCheck %s2# This test ensures that the MIR parser parses the frame setup instruction flag.3 4--- |5 6 define i32 @compute(i32 %a) {7 body:8 %c = mul i32 %a, 119 ret i32 %c10 }11 12 define i32 @foo(i32 %a) {13 entry:14 %b = call i32 @compute(i32 %a)15 ret i32 %b16 }17 18...19---20name: compute21body: |22 bb.0.body:23 $eax = IMUL32rri8 $edi, 11, implicit-def $eflags24 RET64 $eax25...26---27name: foo28body: |29 bb.0.entry:30 ; CHECK: frame-setup PUSH64r $rax31 frame-setup PUSH64r $rax, implicit-def $rsp, implicit $rsp32 CALL64pcrel32 @compute, csr_64, implicit $rsp, implicit $edi, implicit-def $rsp, implicit-def $eax33 ; CHECK: $rdx = frame-destroy POP64r34 $rdx = frame-destroy POP64r implicit-def $rsp, implicit $rsp35 ; CHECK: $rdx = frame-setup frame-destroy POP64r36 $rdx = frame-setup frame-destroy POP64r implicit-def $rsp, implicit $rsp37 ; CHECK: $rdx = frame-setup frame-destroy POP64r38 $rdx = frame-destroy frame-setup POP64r implicit-def $rsp, implicit $rsp39 RET64 $eax40...41