This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
- From: "aoliva at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 01 Mar 2012 13:41:47 +0000
- Subject: [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
- Auto-submitted: auto-generated
- References: <bug-52417-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #26796|0 |1
is obsolete| |
--- Comment #5 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-03-01 13:41:47 UTC ---
Created attachment 26803
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26803
Here's a patch I'm happier with
This patch fully restores the get_addr behavior from before my patch in case
permanent equivalences aren't in use (e.g., for any passes other than
var-tracking), enabling the heuristics that breaks equivalence cycles only when
there are equivalences in the first place. It looks like the expensive,
seemingly exponential computational cost exhibited in dse doesn't occur with
var-tracking. Indeed, for this particular testcase, compile time with and
without -g is pretty much the same after the patch, wth or without dse.