Loading...

fortran@gcc.gnu.org

[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [PATCH][4.5] Do not set TREE_ADDRESSABLE from build_fold_addr_expr Richard Guenther Tue Mar 31 02:00:56 2009

On Sat, Jan 31, 2009 at 11:55 PM, Tobias Burnus <[EMAIL PROTECTED]> wrote:
> Richard Guenther wrote:
>> On Fri, 9 Jan 2009, Richard Guenther wrote:
>>
>>> This removes setting TREE_ADDRESSABLE from build_fold_addr_expr and variants
>>> [...]
>>> The large Fortran frontend parts replace all build_fold_addr_expr calls
>>> with the internal gfc_build_addr_expr routine which properly marks decls
>>> TREE_ADDRESSABLE.
>>>
>>> Bootstrapped and tested on x86_64-unknown-linux-gnu, ok for stage1?
>>> (I need approval for the Fortran FE parts).  I will install this on the
>>> alias-improvements branch later.
>>>
>> Ping!  I need approval for the Fortran FE parts (even though it is just
>> a search&replace).
>>
>
> The Fortran part is OK.

I plan to commit this patch and the followup patch that verifies
TREE_ADDRESSABLE
in PHI nodes after retesting.  This makes the alias-improvement branch only
touch middle-end areas.

Richard.

> Tobias
>
>
>>> 2009-01-09  Richard Guenther  <[EMAIL PROTECTED]>
>>>
>>>      fortran/
>>>      * trans-array.c (gfc_conv_descriptor_data_addr): Use
>>>      gfc_build_addr_expr instead of build_fold_addr_expr.
>>>      (gfc_trans_allocate_array_storage, gfc_trans_array_constructor_value,
>>>      gfc_trans_constant_array_constructor, gfc_conv_array_data,
>>>      gfc_conv_expr_descriptor, gfc_conv_array_parameter): Likewise.
>>>      * trans-expr.c (gfc_conv_missing_dummy, gfc_conv_variable,
>>>      gfc_conv_function_val, gfc_conv_operator_assign,
>>>      gfc_conv_subref_array_arg, gfc_conv_function_call,
>>>      gfc_conv_expr_reference, gfc_trans_scalar_assign): Likewise.
>>>      * trans-intrinsic.c (gfc_conv_intrinsic_exponent,
>>>      gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate,
>>>      gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax_char,
>>>      gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_spacing,
>>>      gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_set_exponent,
>>>      gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer,
>>>      gfc_conv_intrinsic_si_kind, gfc_conv_intrinsic_trim): Likewise.
>>>      * trans-io.c (gfc_trans_io_runtime_check, set_parameter_ref,
>>>      gfc_convert_array_to_string, gfc_trans_open, gfc_trans_close,
>>>      build_filepos, gfc_trans_inquire, gfc_trans_wait,
>>>      nml_get_addr_expr, transfer_namelist_element, build_dt,
>>>      gfc_trans_dt_end, transfer_array_component, transfer_expr,
>>>      transfer_array_desc, gfc_trans_transfer): Likewise.
>>>      * trans-stmt.c (gfc_trans_allocate, gfc_trans_deallocate): Likewise.
>>>      * trans.c (gfc_build_addr_expr): Mark the base of the address
>>>      TREE_ADDRESSABLE.
>>>
>