<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""></div><div class=""><div class="">(beware, the file is ~6MB).</div></div><div class=""><br class=""></div><div class="">Guided by this profile I moved some patterns under the "if (ExpensiveCombines)" check, which expectedly happened to be neutral for runtime performance, but improved compile-time. The testing results are below (measured for Os).</div><div class=""><br class=""></div><div class=""><table class="" style="font-family: Helvetica, sans-serif; font-size: 9pt; border-spacing: 0px; border: 1px solid black;"><thead class=""><tr class=""><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px; width: 500px;" class="">Performance Improvements - Compile Time</th><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px;" class="">Δ </th><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px;" class="">Previous</th><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px;" class="">Current</th><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px;" class="">σ </th></tr></thead><tbody class="searchable"><tr class=""><td class="benchmark-name" style="padding: 5px 5px 5px 8px;"><a href="http://MichaelsMacMini.local/perf/v4/nts/2/graph?test.15=2" class="">CTMark/sqlite3/sqlite3</a></td><td style="padding: 5px 5px 5px 8px; background-color: rgb(200, 255, 200);" class="">-1.55%</td><td style="padding: 5px 5px 5px 8px;" class="">6.8155</td><td style="padding: 5px 5px 5px 8px;" class="">6.7102</td><td style="padding: 5px 5px 5px 8px;" class="">0.0081</td></tr><tr class=""><td class="benchmark-name" style="padding: 5px 5px 5px 8px;"><a href="http://MichaelsMacMini.local/perf/v4/nts/2/graph?test.1=2" class="">CTMark/mafft/pairlocalalign</a></td><td style="padding: 5px 5px 5px 8px; background-color: rgb(209, 255, 209);" class="">-1.05%</td><td style="padding: 5px 5px 5px 8px;" class="">8.0407</td><td style="padding: 5px 5px 5px 8px;" class="">7.9559</td><td style="padding: 5px 5px 5px 8px;" class="">0.0193</td></tr><tr class=""><td class="benchmark-name" style="padding: 5px 5px 5px 8px;"><a href="http://MichaelsMacMini.local/perf/v4/nts/2/graph?test.7=2" class="">CTMark/ClamAV/clamscan</a></td><td style="padding: 5px 5px 5px 8px; background-color: rgb(210, 255, 210);" class="">-1.02%</td><td style="padding: 5px 5px 5px 8px;" class="">11.3893</td><td style="padding: 5px 5px 5px 8px;" class="">11.2734</td><td style="padding: 5px 5px 5px 8px;" class="">0.0081</td></tr><tr class=""><td class="benchmark-name" style="padding: 5px 5px 5px 8px;"><a href="http://MichaelsMacMini.local/perf/v4/nts/2/graph?test.10=2" class="">CTMark/lencod/lencod</a></td><td style="padding: 5px 5px 5px 8px; background-color: rgb(210, 255, 210);" class="">-1.01%</td><td style="padding: 5px 5px 5px 8px;" class="">12.8763</td><td style="padding: 5px 5px 5px 8px;" class="">12.7461</td><td style="padding: 5px 5px 5px 8px;" class="">0.0244</td></tr><tr class=""><td class="benchmark-name" style="padding: 5px 5px 5px 8px;"><a href="http://MichaelsMacMini.local/perf/v4/nts/2/graph?test.5=2" class="">CTMark/SPASS/SPASS</a></td><td style="padding: 5px 5px 5px 8px; background-color: rgb(210, 255, 210);" class="">-1.01%</td><td style="padding: 5px 5px 5px 8px;" class="">12.5048</td><td style="padding: 5px 5px 5px 8px;" class="">12.3791</td><td style="padding: 5px 5px 5px 8px;" class="">0.0340</td></tr></tbody></table><div class=""><br class=""></div><table class="" style="font-family: Helvetica, sans-serif; font-size: 9pt; border-spacing: 0px; border: 1px solid black;"><thead class=""><tr class=""><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px; width: 500px;" class="">Performance Improvements - Compile Time</th><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px;" class="">Δ </th><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px;" class="">Previous</th><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px;" class="">Current</th><th style="background-color: rgb(238, 238, 238); color: rgb(102, 102, 102); cursor: default; text-align: center; font-family: Verdana; padding: 5px 5px 5px 8px;" class="">σ </th></tr></thead><tbody class="searchable"><tr class=""><td class="benchmark-name" style="padding: 5px 5px 5px 8px;"><a href="http://MichaelsMacMini.local/perf/v4/nts/2/graph?test.14=2" class="">External/SPEC/CINT2006/403.gcc/403.gcc</a></td><td style="padding: 5px 5px 5px 8px; background-color: rgb(199, 255, 199);" class="">-1.64%</td><td style="padding: 5px 5px 5px 8px;" class="">54.0801</td><td style="padding: 5px 5px 5px 8px;" class="">53.1930</td><td style="padding: 5px 5px 5px 8px;" class="">-</td></tr><tr class=""><td class="benchmark-name" style="padding: 5px 5px 5px 8px;"><a href="http://MichaelsMacMini.local/perf/v4/nts/2/graph?test.7=2" class="">External/SPEC/CINT2006/400.perlbench/400.perlbench</a></td><td style="padding: 5px 5px 5px 8px; background-color: rgb(205, 255, 205);" class="">-1.25%</td><td style="padding: 5px 5px 5px 8px;" class="">19.1481</td><td style="padding: 5px 5px 5px 8px;" class="">18.9091</td><td style="padding: 5px 5px 5px 8px;" class="">-</td></tr><tr class=""><td class="benchmark-name" style="padding: 5px 5px 5px 8px;"><a href="http://MichaelsMacMini.local/perf/v4/nts/2/graph?test.15=2" class="">External/SPEC/CINT2006/445.gobmk/445.gobmk</a></td><td style="padding: 5px 5px 5px 8px; background-color: rgb(210, 255, 210);" class="">-1.01%</td><td style="padding: 5px 5px 5px 8px;" class="">15.2819</td><td style="padding: 5px 5px 5px 8px;" class="">15.1274</td><td style="padding: 5px 5px 5px 8px;" class="">-</td></tr></tbody></table><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Do such changes make sense? The patch doesn't change O3, but it does change Os and potentially can change performance there (though I didn't see any changes in my tests).</div></div><div class=""><br class=""></div><div class="">The patch is attached for the reference, if we decide to go for it, I'll upload it to phab:</div><div class=""><br class=""></div><div class=""></div></div></div></div></body></html>