[Bug rtl-optimization/20376] The missed-optimization of general induction variables in the new rtl-level loop optimizer cause performance degradation.

steven at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Mar 27 10:19:00 GMT 2005


------- Additional Comments From steven at gcc dot gnu dot org  2005-03-27 10:19 -------
Two things: 
1) Test case?  No test case, no way to reproduce it without re-doing the 
   investigating you have already done.  Stop work duplication, provide 
   test cases to your fellow GCC hackers.  I don't think anyone will 
   confirm this bug until there is a self-contained test case (that you 
   can add to this PR as an attachment), preferably with an annotated RTL 
   dump to show the problem (also as an attachment).  See also the bug 
   reporting guide, "http://gcc.gnu.org/bugs.html#report". 
2) Try compiling with -fweb, it may result in the code you are looking 
   for.  It basically is live range splitting, and it is a known problem 
   that we don't do that after unrolling.  Really, his is a job for the 
   register allocator, but since the existing one in GCC can not do this, 
   we need a live range splitting pass after unrolling. (And no, we do 
   not need this pass in the general case because when going out of SSA 
   form from trees we already do live range splitting too, and web is a 
   surprisingly expensive pass). 
 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |stevenb at suse dot de


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



More information about the Gcc-bugs mailing list