brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 5429d25 Raw
74 lines · plain
1# RUN: llc -mtriple=x86_64 -run-pass none -o - %s | FileCheck %s2# This test ensures that the MIR parser parses machine basic block operands.3 4--- |5 6  define i32 @foo(ptr %p) {7  entry:8    %a = load i32, ptr %p9    %0 = icmp sle i32 %a, 1010    br i1 %0, label %less, label %exit11 12  less:13    ret i32 014 15  exit:16    ret i32 %a17  }18 19  define i32 @bar(ptr %p) {20  entry:21    %a = load i32, ptr %p22    %b = icmp sle i32 %a, 1023    br i1 %b, label %0, label %124 25  ; <label>:026    ret i32 027 28  ; <label>:129    ret i32 %a30  }31 32...33---34# CHECK: name: foo35name:            foo36body: |37  ; CHECK: bb.0.entry38  bb.0.entry:39    successors: %bb.1, %bb.240 41    $eax = MOV32rm $rdi, 1, _, 0, _42    ; CHECK:      CMP32ri8 $eax, 1043    ; CHECK-NEXT: JCC_1 %bb.2, 1544    CMP32ri8 $eax, 10, implicit-def $eflags45    JCC_1 %bb.2, 15, implicit $eflags46  ; CHECK: bb.1.less:47 48  bb.1.less:49    $eax = MOV32r0 implicit-def $eflags50 51  bb.2.exit:52    RET64 $eax53...54---55# CHECK: name: bar56name:            bar57body: |58  ; CHECK: bb.0.entry:59  bb.0.entry:60    successors: %bb.1, %bb.361 62    $eax = MOV32rm $rdi, 1, _, 0, _63    ; CHECK:      CMP32ri8 $eax, 1064    ; CHECK-NEXT: JCC_1 %bb.2, 1565    CMP32ri8 $eax, 10, implicit-def $eflags66    JCC_1 %bb.3, 15, implicit $eflags67 68  bb.1:69    $eax = MOV32r0 implicit-def $eflags70 71  bb.3:72    RET64 $eax73...74