aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-09-24 12:47:05 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-09-24 12:47:05 -0700
commit41bf2a8b17267a42615392ad9da37081f59e428c (patch)
tree8f489fcd2a7911641c9c974bdfda7d1ab77702cc /gcc/ChangeLog
parent84f7a28c9b3fe007dbbdd332643cb6858997ba8f (diff)
downloadgcc-41bf2a8b17267a42615392ad9da37081f59e428c.zip
gcc-41bf2a8b17267a42615392ad9da37081f59e428c.tar.gz
gcc-41bf2a8b17267a42615392ad9da37081f59e428c.tar.bz2
re PR middle-end/17503 (quadratic behaviour in invalid_mode_change_p)
PR rtl-opt/17503 * regclass.c (subregs_of_mode): Turn into an htab. Make static. (som_hash, som_eq): New. (init_subregs_of_mode, record_subregs_of_mode): New. (cannot_change_mode_set_regs): Rewrite for htab implementation. (invalid_mode_change_p): Likewise. * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode. * flow.c (mark_used_regs): Likewise. (life_analysis): Use init_subregs_of_mode. * regs.h (subregs_of_mode): Remove. * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare. From-SVN: r88067
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 74b4a42..070d85c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,17 @@
+2004-09-24 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/17503
+ * regclass.c (subregs_of_mode): Turn into an htab. Make static.
+ (som_hash, som_eq): New.
+ (init_subregs_of_mode, record_subregs_of_mode): New.
+ (cannot_change_mode_set_regs): Rewrite for htab implementation.
+ (invalid_mode_change_p): Likewise.
+ * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
+ * flow.c (mark_used_regs): Likewise.
+ (life_analysis): Use init_subregs_of_mode.
+ * regs.h (subregs_of_mode): Remove.
+ * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
+
2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
* tree-ssa-phiopt.c (conditional_replacement): Use the correct