Home | History | Annotate | Download | only in X86
      1 # RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o - %s | FileCheck %s
      2 # This test ensures that the MIR parser parses the 'undef' register flags
      3 # correctly.
      4 
      5 --- |
      6 
      7   define i32 @compute(i32 %a) #0 {
      8   body:
      9     %c = mul i32 %a, 11
     10     ret i32 %c
     11   }
     12 
     13   define i32 @foo(i32 %a) #0 {
     14   entry:
     15     %b = call i32 @compute(i32 %a)
     16     ret i32 %b
     17   }
     18 
     19   attributes #0 = { "no-frame-pointer-elim"="false" }
     20 
     21 ...
     22 ---
     23 name:            compute
     24 body: |
     25   bb.0.body:
     26     %eax = IMUL32rri8 %edi, 11, implicit-def %eflags
     27     RETQ %eax
     28 ...
     29 ---
     30 name:            foo
     31 body: |
     32   bb.0.entry:
     33     ; CHECK: PUSH64r undef %rax
     34     PUSH64r undef %rax, implicit-def %rsp, implicit %rsp
     35     CALL64pcrel32 @compute, csr_64, implicit %rsp, implicit %edi, implicit-def %rsp, implicit-def %eax
     36     %rdx = POP64r implicit-def %rsp, implicit %rsp
     37     RETQ %eax
     38 ...
     39