brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 410d3e2 Raw
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