brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.8 KiB · 2b0baf9 Raw
291 lines · html
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>multiple133  lines134</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