Home | History | Annotate | Download | only in X86
      1 # RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
      2 # 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, 11
      9     ret i32 %c
     10   }
     11 
     12   define i32 @foo(i32 %a) {
     13   entry:
     14     %b = call i32 @compute(i32 %a)
     15     ret i32 %b
     16   }
     17 
     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     %rdx = POP64r implicit-def %rsp, implicit %rsp
     34     RETQ %eax
     35 ...
     36