This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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