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