On 12/31/06, Richard Kenner <[EMAIL PROTECTED]> wrote:
> I think this is a fragile and not very practical approach. How do
> you define these "traditional" cases?
You don't need to define the "cases" in advance. Rather, you look at
each place where you'd be making an optimization based on the non-existance
of overflow and use knowlege of the importance of that optimization and the
types of code likely to trigger it to choose the default for whether to make
it or not. It seems quite practical to me.
It also doesn't seem fragile: if you guess wrong on one particular default,
it's easy to change it.
Are you volunteering to audit the present cases and argue whether they
fall in the "traditional" cases? Note that -fwrapv also _enables_ some
transformations on signed integers that are disabled otherwise. We for
example constant fold -CST for -fwrapv while we do not if signed overflow
is undefined. Would you change those?
Richard.