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 for PR middle-end/38059, Compile time regression


On Mon, Dec 1, 2008 at 11:57 PM, Steve Ellcey <sje@cup.hp.com> wrote:
>
> On Fri, 2008-11-21 at 17:36 -0500, Diego Novillo wrote:
>> On Fri, Nov 21, 2008 at 17:24, Jeff Law <law@redhat.com> wrote:
>>
>> > I'll support removal if someone goes through and
>> > verifies removal of the pass has little effect on a reasonable body of code
>> > (say gcc itself).
>>
>> Agreed.  This pass is pretty uninteresting nowadays.  We were tempted
>> to take it out when working on tuples, but the changes we had were
>> already too invasive.  I also support tossing this one out.
>>
>>
>> Diego.
>
> I tried removing the 'useless' pass (remove_useless_stmts) and am
> running into an odd situation I don't quite understand.  If I change
> passes.c to remove the line:
>
>  NEXT_PASS (pass_remove_useless_stmts);
>
> Then the compiler dies with:
>
> x.c:6: internal compiler error: in verify_curr_properties, at
> passes.c:1085
>
> It looks like this is dying in the lower_cfg pass because the compiler
> expects PROP_gimple_any to be set but finds that it isn't.  However the
> useless pass doesn't claim to provide this property, indeed it requires
> it just like the lower_cfg pass does.  So I don't understand how
> removing the useless pass is messing this up.  Does someone understand
> what is happening here?

PROP_gimple_any is supposed to be set at the beginning of
all_lowering_passes.  See passes.c

    register_dump_files (all_lowering_passes, PROP_gimple_any);
    all_lowering_passes->todo_flags_start |= TODO_set_props;

with TODO_set_props it sets all required properties.  Try setting
PROP_gimple_any requirement in pass_mudflap_1 (and/or the
following passes if disabled passes do not do this magic).

Richard.


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