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