This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/32723] [4.2 Regression] memory hog in solve_graph
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 Oct 2007 13:07:57 -0000
- Subject: [Bug tree-optimization/32723] [4.2 Regression] memory hog in solve_graph
- References: <bug-32723-14802@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #15 from rguenth at gcc dot gnu dot org 2007-10-31 13:07 -------
The memory is temporarily needed now by solve_graph(), because the graph has
48902 nodes. On the mainline we have only 3 constraints while for 4.2 we have
thousands:
ANYTHING = &ANYTHING
READONLY = &ANYTHING
INTEGER = &ANYTHING
ESCAPED_VARS = *ESCAPED_VARS
NONLOCAL.6 = ESCAPED_VARS
ESCAPED_VARS = &NONLOCAL.6
ESCAPED_VARS = &NONLOCAL.6
infos = ESCAPED_VARS
c_20089 = ESCAPED_VARS
ESCAPED_VARS = &c_20089
c_20089 = &ANYTHING
c_20089 = &ANYTHING
ESCAPED_VARS = &c_20089.val
c_20089.val = ESCAPED_VARS
infos = &c_20089
infos = &c_20089.val
c_200A2 = ESCAPED_VARS
ESCAPED_VARS = &c_200A2
...
the mainline looks like:
ANYTHING = { ANYTHING }
READONLY = { ANYTHING }
INTEGER = { ANYTHING }
D.28988 = same as infos
D.28988.c = same as infos
D.28988.b = same as infos
infos = { ANYTHING }
The shared bitmap stuff was not dominant for this testcase. Still I doubt
we can backport all of the solver changes. Also quite possibly 4.3 benefits
from early optimizations simplifying the problem to solve.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|rguenth at gcc dot gnu dot |unassigned at gcc dot gnu
|org |dot org
Status|REOPENED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32723