blob: 8f771e86dd44c06c35c45595e7d6de2181078251 [file] [log] [blame]
Duncan P. N. Exon Smith0a448fb2014-08-19 21:30:15 +00001; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
2; CHECK: error: expected uselistorder directive
3
4define i32 @f32(i32 %a, i32 %b, i32 %c, i32 %d) {
5entry:
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
13preexit:
14 %product = phi i32 [%ef, %first], [%sum, %0]
15 %backto0 = icmp slt i32 %product, -9
16 br i1 %backto0, label %0, label %exit
17
18first:
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
35exit:
36 ret i32 %product
37}