[PATCH] Kill TREE_OVERFLOW during gimplification

Richard Guenther richard.guenther@gmail.com
Thu Oct 16 14:52:00 GMT 2008


On Thu, Oct 16, 2008 at 3:44 PM, Paolo Bonzini <bonzini@gnu.org> wrote:
> Richard Guenther wrote:
>> On Thu, Oct 16, 2008 at 3:39 PM, Paolo Bonzini <bonzini@gnu.org> wrote:
>>>> As TREE_OVERFLOW happens to be an optimization
>>>> barrier in many cases, this helps getting rid of missed optimizations.
>>>> Still, any folding during gimple passes that doesn't go through gimplifier
>>>> on the result may introduce again TREE_OVERFLOW constants, but this at least
>>>> decreases their number.  Bootstrapped/regtested on x86_64-linux, during
>>>> make check this triggered 1355 times.
>>> You can also try changing all the occurrences of
>>>
>>>   TREE_OVERFLOW (t) = 1;
>>>
>>> in fold-const.c into
>>>
>>>   TREE_OVERFLOW (t) = in_gimple_form;
>>
>> This will very likely break at least VRP.
>
> But VRP sets TREE_OVERFLOW in vrp_int_const_binop, doesn't it?

Only for TYPE_OVERFLOW_WRAPS (TREE_TYPE (val1)), otherwise
it relies on int_const_binop.

Anyway - this is probably not a change suitable for stage3.

Richard.



More information about the Gcc-patches mailing list