This is the mail archive of the gcc@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] | |
> 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?
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |