This is the mail archive of the gcc@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: VTA alias set discrepancy


On Wed, Mar 17, 2010 at 6:28 PM, Aldy Hernandez <aldyh@redhat.com> wrote:
>> > ? ? rtl = DECL_RTL (decl);
>> > ? ? /* Reset DECL_RTL back, as various parts of the compiler expects
>> > ? ? ? ?DECL_RTL set meaning it is actually going to be output. ?*/
>> > ? ? SET_DECL_RTL (decl, NULL);
>> >
>> > ... why do this in the first place? ?Is this an issue for all decls or just
>> > for DEBUG_DECLs? ?For DEBUG_DECLs you could refuse to assign
>> > alias-sets in get_alias_set by returning 0 for them.
>>
>> It seems to me that code-path is from before we forced unit-at-a-time
>> compile and now should only trigger for statics we do not emit
>> (and debug-decls?). ?Why not simply remove it alltogether?
>
> The testcase I'm looking at is gfortran.dg/assign.f90. ?No, it's not a
> DEBUG_DECL, but a VAR_DECL named __BLNK__ which looks like the blank
> common block in Fortran (and of which I know nothing about).
>
> <var_decl 0x7ffff794d140 __BLNK__
> ? ?type <record_type 0x7ffff79493f0 SI
> ? ? ? ?size <integer_cst 0x7ffff7854988 constant 32>
> ? ? ? ?unit size <integer_cst 0x7ffff7854690 constant 4>
> ? ? ? ?align 32 symtab 0 alias set -1 canonical type 0x7ffff79493f0
> ? ? ? ?fields <field_decl 0x7ffff7946d10 i type <integer_type
> 0x7ffff7863498 integer(kind=4)>
> ? ? ? ? ? ?decl_2 SI file a.f90 line 4 col 0 size <integer_cst
> 0x7ffff7854988 32> unit size <integer_cst 0x7ffff7854690 4>
> ? ? ? ? ? ?align 32 offset_align 128
> ? ? ? ? ? ?offset <integer_cst 0x7ffff78546b8 constant 0>
> ? ? ? ? ? ?bit offset <integer_cst 0x7ffff7854d98 constant 0> context
> <record_type 0x7ffff79493f0>>>
> ? ?public static ignored common decl_3 SI defer-output file a.f90 line
> 5 col 0 size <integer_cst 0x7ffff7854988 32> unit size <integer_cst
> 0x7ffff7854690 4>
> ? ?align 128 context <function_decl 0x7ffff794b300 test> chain
> <var_decl 0x7ffff794d0a0 i.1>>
>
> Are you suggesting we remove the entire code path here:
>
> ?/* Try harder to get a rtl. ?If this symbol ends up not being emitted
> ? ? in the current CU, resolve_addr will remove the expression referencing
> ? ? it. ?*/
>
> ??

Yes.

Richard.

> Aldy
>


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