summaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-05-05 21:57:54 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-05-05 21:57:54 +0000
commit10b6a27401cfaff93dbb479de0fea2e49bb6530a (patch)
tree25c76bfeefa5b878c52eeeb1f17d57eb566eb1a1 /gcc/rtl.h
parent68ef8841db44baf4b390349b630dd8bcbdfd5223 (diff)
downloadgcc-10b6a27401cfaff93dbb479de0fea2e49bb6530a.tar.gz
rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
* 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
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index bc6f3929298..eab41e2918e 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1234,10 +1234,11 @@ do { \
#define CONSTANT_POOL_ADDRESS_P(RTX) \
(RTL_FLAG_CHECK1("CONSTANT_POOL_ADDRESS_P", (RTX), SYMBOL_REF)->unchanging)
-/* 1 if RTX is a symbol_ref that addresses this function's string constant
- pool */
-#define STRING_POOL_ADDRESS_P(RTX) \
- (RTL_FLAG_CHECK1("STRING_POOL_ADDRESS_P", (RTX), SYMBOL_REF)->frame_related)
+/* 1 if RTX is a symbol_ref that addresses a value in the file's constant
+ pool which has not yet been output. This information is private to
+ varasm.c. */
+#define DEFERRED_CONSTANT_P(RTX) \
+ (RTL_FLAG_CHECK1("DEFERRED_CONSTANT_P", (RTX), SYMBOL_REF)->frame_related)
/* Used if RTX is a symbol_ref, for machine-specific purposes. */
#define SYMBOL_REF_FLAG(RTX) \