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]

Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..."


Gerald Pfeifer <gerald@pfeifer.com> writes:

| On Tue, 2 Jan 2007, Gabriel Dos Reis wrote:
| >|>   for (i = 1; i < m; ++i)
| >|>     {
| >|>       if (i > 0)
| >|> 	bar ();
| >|>     }
| >| Of course, this is an example where either the programmer is doing 
| >| something very silly or else is expecting overflow and depending on 
| >| wrap semantics, so it seems to me marginal to remove that "if".  My 
| >| suggestion would be to issue a warning saying that the test will never 
| >| be false, but leaving it in.
| > That make sense to me.
| 
| I'm worried about our ability to optimize deeply inlined code and things 
| like template-heavy C++ code if do skip optimizations like this.

I suspect part of Richard K.'s questions has been to determine, based
on data, what improvements we actually gain from doing that kind of
elimination predicated on undefined-ness of signed integer
arithmetic overflow.  It would be also useful to see how that affects
inlining (for inlining, we may be able to adequately annotate the trees).
I fear I haven't seen any.

-- Gaby


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]