~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/Assembler/invalid-uselistorder-function-between-blocks.ll

  • 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: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
 
2
; CHECK: error: expected uselistorder directive
 
3
 
 
4
define i32 @f32(i32 %a, i32 %b, i32 %c, i32 %d) {
 
5
entry:
 
6
  br label %first
 
7
 
 
8
; <label 0>:
 
9
  %eh = mul i32 %e, %1
 
10
  %sum = add i32 %eh, %ef
 
11
  br label %preexit
 
12
 
 
13
preexit:
 
14
  %product = phi i32 [%ef, %first], [%sum, %0]
 
15
  %backto0 = icmp slt i32 %product, -9
 
16
  br i1 %backto0, label %0, label %exit
 
17
 
 
18
first:
 
19
  %e = add i32 %a, 7
 
20
  %f = add i32 %b, 7
 
21
  %g = add i32 %c, 8
 
22
  %1 = add i32 %d, 8
 
23
  %ef = mul i32 %e, %f
 
24
  %g1 = mul i32 %g, %1
 
25
  %goto0 = icmp slt i32 %g1, -9
 
26
  br i1 %goto0, label %0, label %preexit
 
27
 
 
28
; uselistorder directives
 
29
  uselistorder i32 7, { 1, 0 }
 
30
  uselistorder i32 %1, { 1, 0 }
 
31
  uselistorder i32 %e, { 1, 0 }
 
32
  uselistorder label %0, { 1, 0 }
 
33
  uselistorder label %preexit, { 1, 0 }
 
34
 
 
35
exit:
 
36
  ret i32 %product
 
37
}