[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