diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-15 09:35:15 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-15 09:35:15 +0000 |
commit | d5058a954b173f22eba48ed05469f54841f6f107 (patch) | |
tree | b40cadba77aa51e2ccdab31a99a181393d469ee4 /gcc/reload.h | |
parent | 97844b15249cfb7e07cee640649b49e989519ecf (diff) | |
download | gcc-d5058a954b173f22eba48ed05469f54841f6f107.tar.gz |
* Makefile.in (local-alloc.o): Depend on $(GGC_H) and reload.h.
* local-alloc.c: Include "ggc.h" and "reload.h".
(struct equivalence): New member is_arg_equivalence.
(local_alloc): Always call update_equiv_regs.
(update_equiv_regs): Allocate reg_equiv_init; set reg_equiv_init_size.
Detect equivalences made by stores to memory in a second pass.
Return early if not optimizing.
Initialize reg_equiv_init for all equivalences; treat equivalences for
REG_EQUIV notes existing before this pass specially.
(no_equiv): Don't clear reg_equiv_init or remove notes if the
is_arg_equivalence field is set.
* reload.h (reg_equiv_init, reg_equiv_init_size): Declare.
* reload1.c (reg_equiv_init): No longer static.
(reg_equiv_init_size): New variable.
(reload): Don't allocate reg_equiv_init; don't free it when done but
clear it.
Restructure equivalence set up code not to set reg_equiv_init, but to
clear it when we can't use an equivalence.
Undo change disabling equivalences for MEM_READONLY_P memrefs.
Dump equivalencing insns to dump_file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100975 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.h')
-rw-r--r-- | gcc/reload.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/reload.h b/gcc/reload.h index 1c5463d3d5b..bbf235ef3b2 100644 --- a/gcc/reload.h +++ b/gcc/reload.h @@ -170,6 +170,13 @@ extern rtx *reg_equiv_memory_loc; extern rtx *reg_equiv_address; extern rtx *reg_equiv_mem; +/* Element N is the list of insns that initialized reg N from its equivalent + constant or memory slot. */ +extern GTY((length("reg_equiv_init_size"))) rtx *reg_equiv_init; + +/* The size of the previous array, for GC purposes. */ +extern GTY(()) int reg_equiv_init_size; + /* All the "earlyclobber" operands of the current insn are recorded here. */ extern int n_earlyclobbers; |