* rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P. * varasm.c (struct varasm_status): Add deferred_constants field. (n_deferred_strings): Delete variable. (n_deferred_constants): New #define. (struct constant_descriptor_tree): Kill next and label fields. (const_hash_table, MAX_HASH_TABLE): Delete. (const_desc_htab): New static variable. (const_hash): Rename const_desc_hash, and make it fit the hashtab.h interface. (const_desc_eq): New. (const_hash_1, compare_constant): Const-ify arguments. (build_constant_desc): Set DEFERRED_CONSTANT_P on all new SYMBOL_REFs. Clarify comments. Don't set desc->label. (output_constant_def): Do the lookup/insert using the hashtab.h interface. Don't muck with n_deferred_constants or DEFERRED_CONSTANT_P here. Always call maybe_output_constant_def_contents. (maybe_output_constant_def_contents): Take a pointer to the descriptor, not the EXP and RTL separately. Return immediately if this constant is not deferred. Defer output of everything, except writable string constants. Update n_deferred_constants here. (output_constant_def_contents): Now takes just one argument, an rtx. Clear DEFERRED_CONSTANT_P here. (mark_constant_pool): Update for rename of n_deferred_strings. (mark_constant): Don't clear DEFERRED_CONSTANT_P here. (init_varasm_status): Clear p->deferred_constants. (init_varasm_once): Call htab_create_ggc for const_desc_htab. * gcc.dg/const-elim-1.c, gcc.dg/const-elim-2.c: New testcases. From-SVN: r66505
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fastjar | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libf2c | Loading commit data... | |
libffi | Loading commit data... | |
libiberty | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.def | Loading commit data... | |
Makefile.in | Loading commit data... | |
Makefile.tpl | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.if | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltcf-c.sh | Loading commit data... | |
ltcf-cxx.sh | Loading commit data... | |
ltcf-gcj.sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkdep | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |