PR 23046. Folding predicates involving TYPE_MAX_VALUE/TYPE_MIN_VA
Robert Dewar
dewar@adacore.com
Sun Aug 14 01:38:00 GMT 2005
Kai Henningsen wrote:
> The point is that there are two different kinds of value range
> calculations. You have value range information from program flow, and you
> have value range information from types.
>
> You want 'Valid optimization to ignore range information from types,
> because that's what you're checking for in the first place.
>
> On the other hand, you *want* to use range information from program flow.
> For example, if you just assigned a constant, you *know* the exact range
> of the thing. Or maybe you already passed a program point where any out-of-
> range value would have been caught by an implicit 'Valid. It could
> optimize away a lot of implicit 'Valid checks done, say, on the same
> variable used as an array index multiple times.
>
> Now that is certainly nontrivial to implement, and may not be worth it for
> gcc. But I believe it would be better than the other way.
right, i agree completely with this analysis, very nice clear
statement. Now how difficult is this to implement?
More information about the Gcc
mailing list