diff options
author | Richard Henderson <rth@redhat.com> | 2004-09-24 12:47:05 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-09-24 12:47:05 -0700 |
commit | 41bf2a8b17267a42615392ad9da37081f59e428c (patch) | |
tree | 8f489fcd2a7911641c9c974bdfda7d1ab77702cc /gcc/regs.h | |
parent | 84f7a28c9b3fe007dbbdd332643cb6858997ba8f (diff) | |
download | gcc-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/regs.h')
-rw-r--r-- | gcc/regs.h | 2 |
1 files changed, 0 insertions, 2 deletions
@@ -68,8 +68,6 @@ typedef struct reg_info_def extern varray_type reg_n_info; -extern bitmap_head subregs_of_mode; - /* Indexed by n, gives number of times (REG n) is used or set. */ #define REG_N_REFS(N) (VARRAY_REG (reg_n_info, N)->refs) |