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>