This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: Remove TREE_CST_RTL


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]