Bug 54627 - VRP uses lots of memory and compile-time
Summary: VRP uses lots of memory and compile-time
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.8.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
Keywords: compile-time-hog, memory-hog
Depends on:
Blocks: 56113
  Show dependency treegraph
Reported: 2012-09-19 14:24 UTC by Richard Biener
Modified: 2013-03-18 10:03 UTC (History)
0 users

See Also:
Known to work:
Known to fail:
Last reconfirmed: 2012-10-01 00:00:00


Note You need to log in before you can comment on or make changes to this bug.
Description Richard Biener 2012-09-19 14:24:45 UTC
Part of it is due to equivalence set bitmaps becoming huge (and their
inefficient computation).  equivalences are only used when trying to
simplify comparisons (but during iteration).  So the only used
equivalence bitmaps are for operands of those.  equivalences are
generated only by asserts and SSA name copies, so they can be computed
up-front and shouldn't change (apart from handling of non-executable
edges in PHI nodes) during iteration.  At least equivalence processing
can be ignored for SSA name chains not leading up to a condition operand.
Comment 1 Steven Bosscher 2013-03-18 09:48:48 UTC
Is there a test case for this PR? I've seen this behavior in other PRs
but I can't find them.  It'd be nice to have this bug linked to such
cases (and to the "GCC is slow" meta-bug).
Comment 2 Richard Biener 2013-03-18 10:03:33 UTC
I filed this bug when working on PR56113.