Re: behavior-preserving optimization in C, was compiler bugs

Diego Novillo <dnovillo@acm.org>
Fri, 15 May 2009 08:50:14 -0400

          From comp.compilers

Related articles
[4 earlier articles]
Re: compiler bugs cdg@nullstone.com (Christopher Glaeser) (2009-05-06)
Re: compiler bugs anton@mips.complang.tuwien.ac.at (2009-05-06)
Re: compiler bugs cfc@shell01.TheWorld.com (Chris F Clark) (2009-05-07)
Re: compiler bugs anton@mips.complang.tuwien.ac.at (2009-05-10)
Re: behavior-preserving optimization in C, was compiler bugs cdg@nullstone.com (Christopher Glaeser) (2009-05-12)
Re: behavior-preserving optimization in C, was compiler bugs anton@mips.complang.tuwien.ac.at (2009-05-13)
Re: behavior-preserving optimization in C, was compiler bugs dnovillo@acm.org (Diego Novillo) (2009-05-15)
Re: behavior-preserving optimization in C, was compiler bugs cdg@nullstone.com (Christopher Glaeser) (2009-05-15)
Re: behavior-preserving optimization in C, was compiler bugs mcintosh@cup.hp.com (Nathaniel McIntosh) (2009-05-16)
Re: behavior-preserving optimization in C, was compiler bugs pertti.kellomaki@tut.fi (Pertti Kellomaki) (2009-05-18)
Re: behavior-preserving optimization in C, was compiler bugs gah@ugcs.caltech.edu (glen herrmannsfeldt) (2009-05-18)
Re: behavior-preserving optimization in C, was compiler bugs torbenm@pc-003.diku.dk (2009-05-19)
Re: behavior-preserving optimization in C, was compiler bugs torbenm@pc-003.diku.dk (2009-05-19)
[16 later articles]
| List of all articles for this month |

From: Diego Novillo <dnovillo@acm.org>
Newsgroups: comp.compilers
Date: Fri, 15 May 2009 08:50:14 -0400
Organization: Compilers Central
References: 09-04-072 09-05-010 09-05-022 09-05-028 09-05-038 09-05-039 09-05-050 09-05-055 09-05-065 09-05-069
Keywords: optimize, GCC
Posted-Date: 18 May 2009 12:52:14 EDT

On Wed, May 13, 2009 at 10:22, Anton Ertl
<anton@mips.complang.tuwien.ac.at> wrote:


> * Do you analyse the program to see if it is actually
> standard-conformant? If it isn't, do you consider the program to be
> incorrect, the optimizer to be correct, and do you mark the bug
> report as invalid? Then you are an apologist. [ ... ]
>
> * Do you consider the behaviour change as an optimizer bug, and think
> about how it can be fixed, and suggest workarounds to the programmer
> for the meantime? Then you are no apologist. [ ... ]


GCC typically falls in between these two. Mostly due to lack of resources.


The governing principle in GCC is to strictly follow the standard,
except where massive user pressure wins and engineering resources are
available. We try to suggest fixes to user code, with varying degrees
of success.


The standard has the advantage of being a more rigorous specification,
making it easier to implement than the often subjective user
expectations. That is not to say that standards are always rigorous
or easy to implement, of course.




Diego.



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.