1
2<html>
3<head>
4<link rel='stylesheet' type='text/css' href='style.css'>
5</head>
6<body>
7<div class="centered">
8<table class="source">
9<thead>
10<tr>
11<th style="width: 2%">Line</td>
12<th style="width: 3%">Hotness</td>
13<th style="width: 10%">Optimization</td>
14<th style="width: 70%">Source</td>
15<th style="width: 15%">Inline Context</td>
16</tr>
17</thead>
18<tbody>
19
20<tr>
21<td><a name="L1">1</a></td>
22<td></td>
23<td></td>
24<td><div class="highlight"><pre>void bar();</pre></div></td>
25</tr>
26
27<tr>
28<td><a name="L2">2</a></td>
29<td></td>
30<td></td>
31<td><div class="highlight"><pre>void foo() { bar(); }</pre></div></td>
32</tr>
33
34<tr>
35<td></td>
36<td></td>
37<td class="column-entry-red">inline</td>
38<td><pre style="display:inline">             </pre><span class="column-entry-yellow"> bar will not be inlined into foo because its definition is unavailable&nbsp;</span></td>
39<td class="column-entry-yellow">foo</td>
40</tr>
41
42<tr>
43<td><a name="L3">3</a></td>
44<td></td>
45<td></td>
46<td><div class="highlight"><pre></pre></div></td>
47</tr>
48
49<tr>
50<td><a name="L4">4</a></td>
51<td></td>
52<td></td>
53<td><div class="highlight"><pre>#include "or.h"</pre></div></td>
54</tr>
55
56<tr>
57<td><a name="L5">5</a></td>
58<td></td>
59<td></td>
60<td><div class="highlight"><pre></pre></div></td>
61</tr>
62
63<tr>
64<td><a name="L6">6</a></td>
65<td></td>
66<td></td>
67<td><div class="highlight"><pre>void Test(int *res, int *c, int *d, int *p, int n) {</pre></div></td>
68</tr>
69
70<tr>
71<td><a name="L7">7</a></td>
72<td></td>
73<td></td>
74<td><div class="highlight"><pre>  int i;</pre></div></td>
75</tr>
76
77<tr>
78<td><a name="L8">8</a></td>
79<td></td>
80<td></td>
81<td><div class="highlight"><pre></pre></div></td>
82</tr>
83
84<tr>
85<td><a name="L9">9</a></td>
86<td></td>
87<td></td>
88<td><div class="highlight"><pre>#pragma clang loop vectorize(assume_safety)</pre></div></td>
89</tr>
90
91<tr>
92<td><a name="L10">10</a></td>
93<td></td>
94<td></td>
95<td><div class="highlight"><pre>  for (i = 0; i < 1600; i++) {</pre></div></td>
96</tr>
97
98<tr>
99<td></td>
100<td></td>
101<td class="column-entry-green">loop-vectorize</td>
102<td><pre style="display:inline">  </pre><span class="column-entry-yellow"> vectorized loop (vectorization width: 4, interleaved count: 2)&nbsp;</span></td>
103<td class="column-entry-yellow">Test</td>
104</tr>
105
106<tr>
107<td><a name="L11">11</a></td>
108<td></td>
109<td></td>
110<td><div class="highlight"><pre>    res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td>
111</tr>
112
113<tr>
114<td><a name="L12">12</a></td>
115<td></td>
116<td></td>
117<td><div class="highlight"><pre>  }</pre></div></td>
118</tr>
119
120<tr>
121<td><a name="L13">13</a></td>
122<td></td>
123<td></td>
124<td><div class="highlight"><pre></pre></div></td>
125</tr>
126
127<tr>
128<td><a name="L14">14</a></td>
129<td></td>
130<td></td>
131<td><div class="highlight"><pre>  for (i = 0; i < 16; i++) {</pre></div></td>
132</tr>
133
134<tr>
135<td></td>
136<td></td>
137<td class="column-entry-green">loop-unroll</td>
138<td><pre style="display:inline">  </pre><span class="column-entry-yellow"> completely unrolled loop with 16 iterations&nbsp;</span></td>
139<td class="column-entry-yellow">Test</td>
140</tr>
141
142<tr>
143<td><a name="L15">15</a></td>
144<td></td>
145<td></td>
146<td><div class="highlight"><pre>    res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td>
147</tr>
148
149<tr>
150<td><a name="L16">16</a></td>
151<td></td>
152<td></td>
153<td><div class="highlight"><pre>  }</pre></div></td>
154</tr>
155
156<tr>
157<td><a name="L17">17</a></td>
158<td></td>
159<td></td>
160<td><div class="highlight"><pre></pre></div></td>
161</tr>
162
163<tr>
164<td><a name="L18">18</a></td>
165<td></td>
166<td></td>
167<td><div class="highlight"><pre>  foo();</pre></div></td>
168</tr>
169
170<tr>
171<td></td>
172<td></td>
173<td class="column-entry-white">inline</td>
174<td><pre style="display:inline">  </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412)&nbsp;</span></td>
175<td class="column-entry-yellow">Test</td>
176</tr>
177
178<tr>
179<td></td>
180<td></td>
181<td class="column-entry-green">inline</td>
182<td><pre style="display:inline">  </pre><span class="column-entry-yellow"> foo inlined into Test&nbsp;</span></td>
183<td class="column-entry-yellow">Test</td>
184</tr>
185
186<tr>
187<td><a name="L19">19</a></td>
188<td></td>
189<td></td>
190<td><div class="highlight"><pre></pre></div></td>
191</tr>
192
193<tr>
194<td><a name="L20">20</a></td>
195<td></td>
196<td></td>
197<td><div class="highlight"><pre>  foo(); bar(); foo();</pre></div></td>
198</tr>
199
200<tr>
201<td></td>
202<td></td>
203<td class="column-entry-red">inline</td>
204<td><pre style="display:inline">         </pre><span class="column-entry-yellow"> bar will not be inlined into Test because its definition is unavailable&nbsp;</span></td>
205<td class="column-entry-yellow">Test</td>
206</tr>
207
208<tr>
209<td></td>
210<td></td>
211<td class="column-entry-white">inline</td>
212<td><pre style="display:inline">  </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412)&nbsp;</span></td>
213<td class="column-entry-yellow">Test</td>
214</tr>
215
216<tr>
217<td></td>
218<td></td>
219<td class="column-entry-green">inline</td>
220<td><pre style="display:inline">  </pre><span class="column-entry-yellow"> foo inlined into Test&nbsp;</span></td>
221<td class="column-entry-yellow">Test</td>
222</tr>
223
224<tr>
225<td></td>
226<td></td>
227<td class="column-entry-white">inline</td>
228<td><pre style="display:inline">                </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412)&nbsp;</span></td>
229<td class="column-entry-yellow">Test</td>
230</tr>
231
232<tr>
233<td></td>
234<td></td>
235<td class="column-entry-green">inline</td>
236<td><pre style="display:inline">                </pre><span class="column-entry-yellow"> foo inlined into Test&nbsp;</span></td>
237<td class="column-entry-yellow">Test</td>
238</tr>
239
240<tr>
241<td><a name="L21">21</a></td>
242<td></td>
243<td></td>
244<td><div class="highlight"><pre>}</pre></div></td>
245</tr>
246
247<tr>
248<td><a name="L22">22</a></td>
249<td></td>
250<td></td>
251<td><div class="highlight"><pre></pre></div></td>
252</tr>
253
254</tbody>
255</table>
256</body>
257</html>
258