http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54896



Steven Bosscher <steven at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

           Keywords|                            |alias, compile-time-hog

             Status|WAITING                     |NEW

                 CC|                            |rguenth at gcc dot gnu.org

      Known to work|                            |4.3.2, 4.4.0

            Summary|Some optimization slowness  |[4.7/4.8 Regression] Some

                   |with GCC 4.7.2              |optimization slowness with

                   |                            |GCC 4.7.2

      Known to fail|                            |4.7.2, 4.8.0



--- Comment #3 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-10 
22:51:12 UTC ---

Thanks for the test case!



Bug is confirmed with GCC 4.8 (trunk revision 192219).



Problem areas at -O1:

 alias stmt walking    :  31.68 (36%) usr

 tree DSE              :  10.83 (12%) usr

 CSE                   :   9.02 (10%) usr

 reload CSE regs       :  23.17 (26%) usr

 TOTAL                 :  87.99



Problem areas at -O2 are pretty much the same:

 alias stmt walking    :  47.29 (28%) usr

 tree DSE              :  10.84 ( 7%) usr

 CSE                   :   9.12 ( 5%) usr

 CSE 2                 :  34.66 (21%) usr

 reload CSE regs       :  45.37 (27%) usr

 TOTAL                 : 166.12





GCC 4.3.2 has the same problems at the RTL level:

 tree DSE              :  11.60 (17%) usr

 CSE                   :  19.74 (28%) usr

 CSE 2                 :  12.63 (18%) usr

 reload CSE regs       :   8.49 (12%) usr

 TOTAL                 :  69.68





tree-DSE, CSE and reload-CSE are both quadratic in the number of

instructions per basic block, and all basic blocks in this test

case contain O(10^3) instructions.



The alias stmt walking slowness is a regression, but I suspect

there a dup that Rick Biener already knows about...

Reply via email to