I've patched SROA in a way that may have made it slower. Do you have a testcase we can look at?<div><br></div><div>Nick<br><br><div class="gmail_quote">On 4 April 2012 16:19, Andrew Clinton <span dir="ltr"><<a href="mailto:andrew@sidefx.com">andrew@sidefx.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I just upgraded our optimizer to LLVM 3.0 from 2.8 and noticed that the<br>
scalar replacement of aggregates pass takes a lot longer for some code.<br>
Has there been a performance regression in this pass, or does it do more<br>
work?<br>
<br>
LLVM 3.0:<br>
<br>
Total Execution Time: 1.0600 seconds (1.0526 wall clock)<br>
<br>
---User Time--- --System Time-- --User+System-- ---Wall<br>
Time--- --- Name ---<br>
0.5100 ( 49.5%) 0.0000 ( 0.0%) 0.5100 ( 48.1%) 0.5099 (<br>
48.4%) Scalar Replacement of Aggregates (SSAUp)<br>
0.1900 ( 18.4%) 0.0300 (100.0%) 0.2200 ( 20.8%) 0.2156 (<br>
20.5%) Scalar Replacement of Aggregates (DT)<br>
0.1200 ( 11.7%) 0.0000 ( 0.0%) 0.1200 ( 11.3%) 0.1158 (<br>
11.0%) VEX Constant Propagation<br>
0.0200 ( 1.9%) 0.0000 ( 0.0%) 0.0200 ( 1.9%) 0.0196 (<br>
1.9%) Simplify the CFG<br>
0.0200 ( 1.9%) 0.0000 ( 0.0%) 0.0200 ( 1.9%) 0.0181 (<br>
1.7%) Module Verifier<br>
...<br>
<br>
LLVM 2.8:<br>
<br>
Total Execution Time: 0.6500 seconds (0.6489 wall clock)<br>
<br>
---User Time--- --System Time-- --User+System-- ---Wall<br>
Time--- --- Name ---<br>
0.1400 ( 21.9%) 0.0000 ( 0.0%) 0.1400 ( 21.5%) 0.1379 (<br>
21.3%) Scalar Replacement of Aggregates<br>
0.1200 ( 18.7%) 0.0000 ( 0.0%) 0.1200 ( 18.5%) 0.1208 (<br>
18.6%) VEX Constant Propagation<br>
0.1000 ( 15.6%) 0.0000 ( 0.0%) 0.1000 ( 15.4%) 0.1050 (<br>
16.2%) Scalar Replacement of Aggregates<br>
0.0400 ( 6.3%) 0.0000 ( 0.0%) 0.0400 ( 6.2%) 0.0481 (<br>
7.4%) Combine redundant instructions<br>
0.0200 ( 3.1%) 0.0000 ( 0.0%) 0.0200 ( 3.1%) 0.0235 (<br>
3.6%) Preliminary module verification<br>
...<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>