re PR middle-end/17503 (quadratic behaviour in invalid_mode_change_p)
authorRichard Henderson <rth@redhat.com>
Fri, 24 Sep 2004 19:47:05 +0000 (12:47 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 24 Sep 2004 19:47:05 +0000 (12:47 -0700)
commit41bf2a8b17267a42615392ad9da37081f59e428c
tree8f489fcd2a7911641c9c974bdfda7d1ab77702cc
parent84f7a28c9b3fe007dbbdd332643cb6858997ba8f
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
gcc/ChangeLog
gcc/combine.c
gcc/flow.c
gcc/regclass.c
gcc/regs.h
gcc/rtl.h