4 <meta charset=
"utf-8" />
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. */
9 function toggleExpandedMessage(e) {
10 var FullTextElems = e.parentElement.parentElement.getElementsByClassName("full-info");
11 if (!FullTextElems || FullTextElems.length < 1) {
14 var FullText = FullTextElems[0];
15 if (FullText.style.display == 'none') {
17 FullText.style.display = 'block';
20 FullText.style.display = 'none';
26 <div class="centered">
27 <table class="source">
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>
40 <td><a name="L1">1</a></td>
43 <td><div class="highlight"><pre>void TestH(int *res, int *c, int *d, int *p, int n) {</pre></div></td>
47 <td><a name="L2">2</a></td>
50 <td><div class="highlight"><pre> int i;</pre></div></td>
54 <td><a name="L3">3</a></td>
57 <td><div class="highlight"><pre></pre></div></td>
61 <td><a name="L4">4</a></td>
64 <td><div class="highlight"><pre>#pragma clang loop vectorize(assume_safety)</pre></div></td>
68 <td><a name="L5">5</a></td>
71 <td><div class="highlight"><pre> for (i = 0; i < 1600; i++) {</pre></div></td>
77 <td class="column-entry-green">loop-vectorize</td>
78 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> vectorized loop (vectorization width: 4, interleaved count: 2) </span></td>
79 <td class="column-entry-yellow">TestH</td>
83 <td><a name="L6">6</a></td>
86 <td><div class="highlight"><pre> res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td>
90 <td><a name="L7">7</a></td>
93 <td><div class="highlight"><pre> }</pre></div></td>
97 <td><a name="L8">8</a></td>
100 <td><div class="highlight"><pre></pre></div></td>
104 <td><a name="L9">9</a></td>
107 <td><div class="highlight"><pre> for (i = 0; i < 16; i++) {</pre></div></td>
113 <td class="column-entry-green">loop-unroll</td>
114 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> completely unrolled loop with 16 iterations </span></td>
115 <td class="column-entry-yellow">TestH</td>
119 <td><a name="L10">10</a></td>
122 <td><div class="highlight"><pre> res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td>
126 <td><a name="L11">11</a></td>
129 <td><div class="highlight"><pre> }</pre></div></td>
133 <td><a name="L12">12</a></td>
136 <td><div class="highlight"><pre></pre></div></td>
140 <td><a name="L13">13</a></td>
143 <td><div class="highlight"><pre> foo();</pre></div></td>
149 <td class="column-entry-white">inline</td>
150 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into TestH with cost=30 (threshold=412) </span></td>
151 <td class="column-entry-yellow">TestH</td>
157 <td class="column-entry-green">inline</td>
158 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into TestH </span></td>
159 <td class="column-entry-yellow">TestH</td>
163 <td><a name="L14">14</a></td>
166 <td><div class="highlight"><pre></pre></div></td>
170 <td><a name="L15">15</a></td>
173 <td><div class="highlight"><pre> foo(); bar(); foo();</pre></div></td>
179 <td class="column-entry-red">inline</td>
180 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> bar will not be inlined into TestH because its definition is unavailable </span></td>
181 <td class="column-entry-yellow">TestH</td>
187 <td class="column-entry-white">inline</td>
188 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into TestH with cost=30 (threshold=412) </span></td>
189 <td class="column-entry-yellow">TestH</td>
195 <td class="column-entry-green">inline</td>
196 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into TestH </span></td>
197 <td class="column-entry-yellow">TestH</td>
203 <td class="column-entry-white">inline</td>
204 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into TestH with cost=30 (threshold=412) </span></td>
205 <td class="column-entry-yellow">TestH</td>
211 <td class="column-entry-green">inline</td>
212 <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into TestH </span></td>
213 <td class="column-entry-yellow">TestH</td>
217 <td><a name="L16">16</a></td>
220 <td><div class="highlight"><pre>}</pre></div></td>
224 <td><a name="L17">17</a></td>
227 <td><div class="highlight"><pre></pre></div></td>