| |
| <html> |
| <title>or.c</title> |
| <meta charset="utf-8" /> |
| <head> |
| <link rel='stylesheet' type='text/css' href='style.css'> |
| </head> |
| <body> |
| <div class="centered"> |
| <table class="source"> |
| <thead> |
| <tr> |
| <th style="width: 2%">Line</td> |
| <th style="width: 3%">Hotness</td> |
| <th style="width: 10%">Optimization</td> |
| <th style="width: 70%">Source</td> |
| <th style="width: 15%">Inline Context</td> |
| </tr> |
| </thead> |
| <tbody> |
| |
| <tr> |
| <td><a name="L1">1</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre>void bar();</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L2">2</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre>void foo() { bar(); }</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-red">inline</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> bar will not be inlined into foo because its definition is unavailable </span></td> |
| <td class="column-entry-yellow">foo</td> |
| </tr> |
| |
| <tr> |
| <td><a name="L3">3</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre></pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L4">4</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre>#include "or.h"</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L5">5</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre></pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L6">6</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre>void Test(int *res, int *c, int *d, int *p, int n) {</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L7">7</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> int i;</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L8">8</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre></pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L9">9</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre>#pragma clang loop vectorize(assume_safety)</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L10">10</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> for (i = 0; i < 1600; i++) {</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-green">loop-vectorize</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> vectorized loop (vectorization width: 4, interleaved count: 2) </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td><a name="L11">11</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L12">12</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> }</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L13">13</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre></pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L14">14</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> for (i = 0; i < 16; i++) {</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-green">loop-unroll</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> completely unrolled loop with 16 iterations </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td><a name="L15">15</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L16">16</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> }</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L17">17</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre></pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L18">18</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> foo();</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-white">inline</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412) </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-green">inline</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into Test </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td><a name="L19">19</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre></pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L20">20</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre> foo(); bar(); foo();</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-red">inline</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> bar will not be inlined into Test because its definition is unavailable </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-white">inline</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412) </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-green">inline</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into Test </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-white">inline</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo can be inlined into Test with cost=30 (threshold=412) </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td></td> |
| <td></td> |
| <td class="column-entry-green">inline</td> |
| <td><pre style="display:inline"> </pre><span class="column-entry-yellow"> foo inlined into Test </span></td> |
| <td class="column-entry-yellow">Test</td> |
| </tr> |
| |
| <tr> |
| <td><a name="L21">21</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre>}</pre></div></td> |
| </tr> |
| |
| <tr> |
| <td><a name="L22">22</a></td> |
| <td></td> |
| <td></td> |
| <td><div class="highlight"><pre></pre></div></td> |
| </tr> |
| |
| </tbody> |
| </table> |
| </body> |
| </html> |