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] Remove TYPE_IS_SIZETYPE


On Sun, May 13, 2012 at 7:50 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>> I get a bootstrap failure on x86 (verify_flow_info failed) with it.
>
> It's actually pre-existing: it's PRE value-numbering a call that can make an
> abnormal goto, hence the CFG mess in the end. ?The call is ECF_PURE but also
> ECF_LOOPING_CONST_OR_PURE, so gimple_has_side_effects returns true and, in
> turn, call_can_make_abnormal_goto . ?The bug is in can_value_number_call.
>
> I can come up with two solutions:
> ?- testing ECF_LOOPING_CONST_OR_PURE as well, like gimple_has_side_effects, or
> ?- calling call_can_make_abnormal_goto explicitly.
>
> The attached patch implements the former. ?With it, I could bootstrap and test
> the stor-layout.c patch on our internal testsuite.
>
> What do you think?

I'd say simply test gimple_has_side_effects instead.

Richard.

>
> ? ? ? ?* stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype
> ? ? ? ?in a PLUS_EXPR byte offset.
>
> ? ? ? ?* tree-ssa-pre.c (can_value_number_call): Return false if the call
> ? ? ? ?has the ECF_LOOPING_CONST_OR_PURE flag.
>
>
> --
> Eric Botcazou


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