This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: Remove TREE_CST_RTL
- From: Zack Weinberg <zack at codesourcery dot com>
- To: Ulrich Weigand <weigand at immd1 dot informatik dot uni-erlangen dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 06 Apr 2003 14:56:55 -0700
- Subject: Re: RFC: Remove TREE_CST_RTL
- References: <200304061958.VAA08874@faui11.informatik.uni-erlangen.de>
Ulrich Weigand <weigand at immd1 dot informatik dot uni-erlangen dot de> writes:
> Zack Weinberg wrote:
>
>>- rtl = DECL_P (decl) ? DECL_RTL (decl) : TREE_CST_RTL (decl);
>>+ rtl DECL_RTL (decl);
>
> Typo.
Oops, thanks.
> Do I understand correctly that this function is only ever
> called for RTL of the form (MEM (SYMBOL_REF ...)) where the
> symbol is a constant pool refererence, i.e. we always have
> CONSTANT_POOL_ADDRESS_P (XEXP (rtl, 0)) == true ?
The RTL is always of that form, but CONSTANT_POOL_ADDRESS_P is not set
for that RTL. This is the *tree* constant pool, maintained by
output_constant_def; CONSTANT_POOL_ADDRESS_P is set only for the *RTL*
constant pool, maintained by force_const_mem.
I do not know if it would be correct to set CONSTANT_POOL_ADDRESS_P
for items in the tree constant pool.
zw