• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -S -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -loop-unroll | FileCheck %s
2define void @unroll_opt_for_size() nounwind optsize {
3entry:
4  br label %loop
5
6loop:
7  %iv = phi i32 [ 0, %entry ], [ %inc, %loop ]
8  %inc = add i32 %iv, 1
9  %exitcnd = icmp uge i32 %inc, 1024
10  br i1 %exitcnd, label %exit, label %loop
11
12exit:
13  ret void
14}
15
16; CHECK-LABEL: @unroll_opt_for_size
17; CHECK:      add
18; CHECK-NEXT: add
19; CHECK-NEXT: add
20; CHECK-NEXT: add
21; CHECK-NEXT: add
22; CHECK-NEXT: add
23; CHECK-NEXT: add
24; CHECK-NEXT: add
25; CHECK-NEXT: add
26; CHECK-NEXT: add
27; CHECK-NEXT: add
28; CHECK-NEXT: add
29; CHECK-NEXT: add
30; CHECK-NEXT: add
31; CHECK-NEXT: add
32; CHECK-NEXT: add
33; CHECK-NEXT: add
34; CHECK-NEXT: add
35; CHECK-NEXT: add
36; CHECK-NEXT: add
37; CHECK-NEXT: add
38; CHECK-NEXT: add
39; CHECK-NEXT: add
40; CHECK-NEXT: add
41; CHECK-NEXT: add
42; CHECK-NEXT: add
43; CHECK-NEXT: add
44; CHECK-NEXT: add
45; CHECK-NEXT: add
46; CHECK-NEXT: add
47; CHECK-NEXT: add
48; CHECK-NEXT: add
49; CHECK-NEXT: icmp
50
51define void @unroll_default() nounwind {
52entry:
53  br label %loop
54
55loop:
56  %iv = phi i32 [ 0, %entry ], [ %inc, %loop ]
57  %inc = add i32 %iv, 1
58  %exitcnd = icmp uge i32 %inc, 1024
59  br i1 %exitcnd, label %exit, label %loop
60
61exit:
62  ret void
63}
64
65; CHECK-LABEL: @unroll_default
66; CHECK:      add
67; CHECK-NEXT: add
68; CHECK-NEXT: add
69; CHECK-NEXT: add
70; CHECK-NEXT: add
71; CHECK-NEXT: add
72; CHECK-NEXT: add
73; CHECK-NEXT: add
74; CHECK-NEXT: add
75; CHECK-NEXT: add
76; CHECK-NEXT: add
77; CHECK-NEXT: add
78; CHECK-NEXT: add
79; CHECK-NEXT: add
80; CHECK-NEXT: add
81; CHECK-NEXT: add
82; CHECK-NEXT: add
83; CHECK-NEXT: add
84; CHECK-NEXT: add
85; CHECK-NEXT: add
86; CHECK-NEXT: add
87; CHECK-NEXT: add
88; CHECK-NEXT: add
89; CHECK-NEXT: add
90; CHECK-NEXT: add
91; CHECK-NEXT: add
92; CHECK-NEXT: add
93; CHECK-NEXT: add
94; CHECK-NEXT: add
95; CHECK-NEXT: add
96; CHECK-NEXT: add
97; CHECK-NEXT: add
98; CHECK-NEXT: icmp
99
100