~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/CodeGen/MIR/X86/machine-basic-block-operands.mir

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 machine basic block operands.
 
3
 
 
4
--- |
 
5
 
 
6
  define i32 @foo(i32* %p) {
 
7
  entry:
 
8
    %a = load i32, i32* %p
 
9
    %0 = icmp sle i32 %a, 10
 
10
    br i1 %0, label %less, label %exit
 
11
 
 
12
  less:
 
13
    ret i32 0
 
14
 
 
15
  exit:
 
16
    ret i32 %a
 
17
  }
 
18
 
 
19
  define i32 @bar(i32* %p) {
 
20
  entry:
 
21
    %a = load i32, i32* %p
 
22
    %b = icmp sle i32 %a, 10
 
23
    br i1 %b, label %0, label %1
 
24
 
 
25
  ; <label>:0
 
26
    ret i32 0
 
27
 
 
28
  ; <label>:1
 
29
    ret i32 %a
 
30
  }
 
31
 
 
32
...
 
33
---
 
34
# CHECK: name: foo
 
35
name:            foo
 
36
body:
 
37
 # CHECK: name: entry
 
38
 - id:              0
 
39
   name:            entry
 
40
   instructions:
 
41
     - '%eax = MOV32rm %rdi, 1, _, 0, _'
 
42
     # CHECK:      - 'CMP32ri8 %eax, 10
 
43
     # CHECK-NEXT: - 'JG_1 %bb.2.exit
 
44
     - 'CMP32ri8 %eax, 10, implicit-def %eflags'
 
45
     - 'JG_1 %bb.2.exit, implicit %eflags'
 
46
 # CHECK: name: less
 
47
 - id:              1
 
48
   name:            less
 
49
   instructions:
 
50
     - '%eax = MOV32r0 implicit-def %eflags'
 
51
 - id:              2
 
52
   name:            exit
 
53
   instructions:
 
54
     - 'RETQ %eax'
 
55
...
 
56
---
 
57
# CHECK: name: bar
 
58
name:            bar
 
59
body:
 
60
 # CHECK: name: entry
 
61
 - id: 0
 
62
   name: entry
 
63
   instructions:
 
64
     - '%eax = MOV32rm %rdi, 1, _, 0, _'
 
65
     # CHECK:      - 'CMP32ri8 %eax, 10
 
66
     # CHECK-NEXT: - 'JG_1 %bb.2
 
67
     - 'CMP32ri8 %eax, 10, implicit-def %eflags'
 
68
     - 'JG_1 %bb.3, implicit %eflags'
 
69
 - id: 1
 
70
   instructions:
 
71
     - '%eax = MOV32r0 implicit-def %eflags'
 
72
 - id: 3
 
73
   instructions:
 
74
     - 'RETQ %eax'
 
75
...