This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/34503] Issues with constant/copy propagation implementation in gcse.c
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Dec 2007 08:41:07 -0000
- Subject: [Bug rtl-optimization/34503] Issues with constant/copy propagation implementation in gcse.c
- References: <bug-34503-280@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from steven at gcc dot gnu dot org 2007-12-17 08:41 -------
find_avail_set() uses a list search to find an available set. If it is called
multiple times for the same register, quadratic behavior results. This is part
of the issue for bug 19097. One fix would be to compute bitmaps of expressions
per set register, and then AND in the available expressions on entry of a basic
block. At most one bit will be set (or at most two bits if constants and
copies are tracked separately).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34503