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: [PATCH] Fix PR optimization/13653


> I guess I'm going to reask the question I saw asked but not answered
> before: how in the world can a giv be /u?

At what level is your question?

If it's "how in the world can a REG simultaneously be set in a loop and 
marked as unchanging?", then I can only show you the VAR_DECL:

 <var_decl 0x423855b0
    type <reference_type 0x40711cb0
        type <record_type 0x40711c40 Interval<1> readonly addressable 
needs-constructing type_1 type_2 type_4 type_5 BLK
            size <integer_cst 0x40175920 constant 64>
            unit size <integer_cst 0x40175b40 constant 8>
            align 32 symtab 0 alias set -1 fields <field_decl 0x407697e0>
           needs-constructor needs-destructor ~X() X() X(constX&) this=(X&) 
op() op[] n_parents 1 use_template=2 interface-unknown
            member-functions <tree_vec 0x40764740
                elt 0 <overload 0x406d5610>
                elt 1 <function_decl 0x40767f50 Interval>
                elt 2 <overload 0x406d5600>
                elt 3 <overload 0x406d56d0>
                elt 4 <overload 0x406d56c0>
                elt 5 <function_decl 0x40769460 __comp_dtor>
                elt 6 <function_decl 0x40769620 __base_dtor>>
            pointer_to_this <pointer_type 0x4072e5b0> reference_to_this 
<reference_type 0x40711cb0>>
        unsigned SI
        size <integer_cst 0x40175ba0 constant 32>
        unit size <integer_cst 0x40175c00 constant 4>
        align 32 symtab 0 alias set -1>
    readonly unsigned used SI file ../15490.cpp line 1496 size <integer_cst 
0x40175ba0 32> unit size <integer_cst 0x40175c00 4>
    align 32 context <function_decl 0x40c722a0 __base_ctor> abstract_origin 
<result_decl 0x416120e0>
    (reg/v/u/f:SI 149)>

I presume it's a read-only temporary.


If it's "how in the world can such a REG be recorded as a giv?", my 
understanding is that this is required, otherwise the biv could be 
eliminated because all the recorded givs could have been reduced.

-- 
Eric Botcazou


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