diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-25 09:10:56 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-25 09:10:56 +0000 |
commit | 7c266bb10281881ed99f9e594e46152bdcc0eaff (patch) | |
tree | 9ec01d7044846a0ba35c49e3628382ad19db08d7 /gcc/doc/rtl.texi | |
parent | f3f2b85e01f6e3f4fbd4de8e774823662511bcd6 (diff) | |
download | ppe42-gcc-7c266bb10281881ed99f9e594e46152bdcc0eaff.tar.gz ppe42-gcc-7c266bb10281881ed99f9e594e46152bdcc0eaff.zip |
* doc/rtl.texi (SYMBOL_REF_CONSTANT, SYMBOL_REF_DATA): Document.
* gengtype.c (adjust_field_rtx_def): Garbage-collect field 2 of
a SYMBOL_REF as either a tree or a constant_descriptor_rtx,
depending on the value of CONSTANT_POOL_ADDRESS_P.
* optabs.c (init_one_libfunc): Nullify SYMBOL_REF_DATA rather than
SYMBOL_REF_DECL.
* varasm.c (make_decl_rtl, build_constant_desc): Set SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
(rtx_constant_pool): Remove const_rtx_sym_htab.
(const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): Delete.
(init_varasm_status): Don't initialize const_rtx_sym_htab.
(force_const_mem): Point SYMBOL_REF_DATA to the constant pool entry.
Remove handling of const_rtx_sym_htab.
(find_pool_constant): Delete.
(get_pool_constant, get_pool_constant_mark): Use SYMBOL_REF_CONSTANT
rather than find_pool_constant.
(get_pool_constant_for_function): Delete.
(get_pool_mode, mark_constant): Use SYMBOL_REF_CONSTANT rather than
find_pool_constant.
* rtl.h (rtunion_def): Add rt_constant and rt_ptr fields.
(X0CONSTANT, X0PTR, SYMBOL_REF_DATA): New macros.
(SYMBOL_REF_DECL): Return NULL if CONSTANT_POOL_ADDRESS_P.
(SYMBOL_REF_CONSTANT): New macro.
(get_pool_constant_for_function): Delete.
* config/i386/winnt.c (i386_pe_mark_dllexport): Set SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
(i386_pe_mark_dllimport): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_move): Copy SYMBOL_REF_DATA
rather than SYMBOL_REF_DECL.
* config/darwin.c (machopic_indirect_data_reference): Likewise.
(machopic_indirect_call_target): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110210 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/rtl.texi')
-rw-r--r-- | gcc/doc/rtl.texi | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi index acd99c99dc9..610261694b6 100644 --- a/gcc/doc/rtl.texi +++ b/gcc/doc/rtl.texi @@ -455,6 +455,16 @@ that is, some sort of constant. In this case, the @code{symbol_ref} is an entry in the per-file constant pool; again, there is no associated front end symbol table entry. +@findex SYMBOL_REF_CONSTANT +@item SYMBOL_REF_CONSTANT (@var{x}) +If @samp{CONSTANT_POOL_ADDRESS_P (@var{x})} is true, this is the constant +pool entry for @var{x}. It is null otherwise. + +@findex SYMBOL_REF_DATA +@item SYMBOL_REF_DATA (@var{x}) +A @samp{void *} pointer used to store @code{SYMBOL_REF_DECL} or +@code{SYMBOL_REF_CONSTANT}. + @findex SYMBOL_REF_FLAGS @item SYMBOL_REF_FLAGS (@var{x}) In a @code{symbol_ref}, this is used to communicate various predicates |