[lit] Add argument check: --timeout must be non-negative integer
[llvm-core.git] / test / CodeGen / MIR / X86 / frame-setup-instruction-flag.mir
blob2e6d48c4647df65a09e25c4f1ee381b96b7c67ee
1 # RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
2 # This test ensures that the MIR parser parses the frame setup instruction flag.
4 --- |
6   define i32 @compute(i32 %a) {
7   body:
8     %c = mul i32 %a, 11
9     ret i32 %c
10   }
12   define i32 @foo(i32 %a) {
13   entry:
14     %b = call i32 @compute(i32 %a)
15     ret i32 %b
16   }
18 ...
19 ---
20 name:            compute
21 body: |
22   bb.0.body:
23     $eax = IMUL32rri8 $edi, 11, implicit-def $eflags
24     RETQ $eax
25 ...
26 ---
27 name:            foo
28 body: |
29   bb.0.entry:
30     ; CHECK: frame-setup PUSH64r $rax
31     frame-setup PUSH64r $rax, implicit-def $rsp, implicit $rsp
32     CALL64pcrel32 @compute, csr_64, implicit $rsp, implicit $edi, implicit-def $rsp, implicit-def $eax
33     ; CHECK: $rdx = frame-destroy POP64r
34     $rdx = frame-destroy POP64r implicit-def $rsp, implicit $rsp
35     ; CHECK: $rdx = frame-setup frame-destroy POP64r
36     $rdx = frame-setup frame-destroy POP64r implicit-def $rsp, implicit $rsp
37     ; CHECK: $rdx = frame-setup frame-destroy POP64r
38     $rdx = frame-destroy frame-setup POP64r implicit-def $rsp, implicit $rsp
39     RETQ $eax
40 ...