diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-12-29 11:36:22 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-12-29 11:36:22 +0000 |
commit | 2c776a540e4a9e3202b6f78c7dfe46020aba0bc6 (patch) | |
tree | 8baca97ed11c13d1b3be83dcd58d2863c4017a2a /gcc/regclass.c | |
parent | a249931c7f76e7650e9372d795eef854d9c8af87 (diff) | |
download | gcc-2c776a540e4a9e3202b6f78c7dfe46020aba0bc6.tar.gz |
Richard Kenner <kenner@vlsi1.ultra.nyu.edu>:
* rtl.def (CONSTANT_P_RTX): Clarify commentary.
* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
consider constant CONSTRUCTOR constant and to defer some cases
to cse.
* cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
* regclass.c (reg_scan_mark_refs, case CONST): Likewise.
Richard Henderson <rth@cygnus.com>
* expr.c (init_expr_once): Kill can_handle_constant_p recognition.
* cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24439 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r-- | gcc/regclass.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c index b442cc266be..489f8240407 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -2032,8 +2032,12 @@ reg_scan_mark_refs (x, insn, note_flag, min_regno) code = GET_CODE (x); switch (code) { - case CONST_INT: case CONST: + if (GET_CODE (XEXP (x, 0)) == CONSTANT_P_RTX) + reg_scan_mark_refs (XEXP (XEXP (x, 0), 0), insn, note_flag, min_regno); + return; + + case CONST_INT: case CONST_DOUBLE: case CC0: case PC: |