brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.4 KiB · b6cc2f3 Raw
234 lines · html
1 2<html>3<title>or.h</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 TestH(int *res, int *c, int *d, int *p, int n) {</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>  int i;</pre></div></td>51</tr>52 53<tr>54<td><a name="L3">3</a></td>55<td></td>56<td></td>57<td><div class="highlight"><pre></pre></div></td>58</tr>59 60<tr>61<td><a name="L4">4</a></td>62<td></td>63<td></td>64<td><div class="highlight"><pre>#pragma clang loop vectorize(assume_safety)</pre></div></td>65</tr>66 67<tr>68<td><a name="L5">5</a></td>69<td></td>70<td></td>71<td><div class="highlight"><pre>  for (i = 0; i < 1600; i++) {</pre></div></td>72</tr>73 74<tr>75<td></td>76<td></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)&nbsp;</span></td>79<td class="column-entry-yellow">TestH</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>    res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</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>  }</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>  for (i = 0; i < 16; i++) {</pre></div></td>108</tr>109 110<tr>111<td></td>112<td></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&nbsp;</span></td>115<td class="column-entry-yellow">TestH</td>116</tr>117 118<tr>119<td><a name="L10">10</a></td>120<td></td>121<td></td>122<td><div class="highlight"><pre>    res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];</pre></div></td>123</tr>124 125<tr>126<td><a name="L11">11</a></td>127<td></td>128<td></td>129<td><div class="highlight"><pre>  }</pre></div></td>130</tr>131 132<tr>133<td><a name="L12">12</a></td>134<td></td>135<td></td>136<td><div class="highlight"><pre></pre></div></td>137</tr>138 139<tr>140<td><a name="L13">13</a></td>141<td></td>142<td></td>143<td><div class="highlight"><pre>  foo();</pre></div></td>144</tr>145 146<tr>147<td></td>148<td></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)&nbsp;</span></td>151<td class="column-entry-yellow">TestH</td>152</tr>153 154<tr>155<td></td>156<td></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&nbsp;</span></td>159<td class="column-entry-yellow">TestH</td>160</tr>161 162<tr>163<td><a name="L14">14</a></td>164<td></td>165<td></td>166<td><div class="highlight"><pre></pre></div></td>167</tr>168 169<tr>170<td><a name="L15">15</a></td>171<td></td>172<td></td>173<td><div class="highlight"><pre>  foo(); bar(); foo();</pre></div></td>174</tr>175 176<tr>177<td></td>178<td></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&nbsp;</span></td>181<td class="column-entry-yellow">TestH</td>182</tr>183 184<tr>185<td></td>186<td></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)&nbsp;</span></td>189<td class="column-entry-yellow">TestH</td>190</tr>191 192<tr>193<td></td>194<td></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&nbsp;</span></td>197<td class="column-entry-yellow">TestH</td>198</tr>199 200<tr>201<td></td>202<td></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)&nbsp;</span></td>205<td class="column-entry-yellow">TestH</td>206</tr>207 208<tr>209<td></td>210<td></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&nbsp;</span></td>213<td class="column-entry-yellow">TestH</td>214</tr>215 216<tr>217<td><a name="L16">16</a></td>218<td></td>219<td></td>220<td><div class="highlight"><pre>}</pre></div></td>221</tr>222 223<tr>224<td><a name="L17">17</a></td>225<td></td>226<td></td>227<td><div class="highlight"><pre></pre></div></td>228</tr>229 230</tbody>231</table>232</body>233</html>234