C and C++ parser performing optimizations

Gunther Nikl gnikl@justmail.de
Mon Aug 24 19:06:20 GMT 2020


stefan@franke.ms (Stefan Franke) wrote:

> > Von: Alexander Monakov <amonakov@ispras.ru>
> > Betreff: Re: C and C++ parser performing optimizations
> > 
> > On Sun, 2 Aug 2020, Stefan Franke wrote:
> > 
> > > So the parser performs unwanted and uncontrollable optimizations,
> > > which I consider bogus.
> > 
> > On occasion they are also incorrect.
> > 
> > My (possibly wrong or incomplete) understanding is that GCC does
> > not have internal separation of mandatory simplifications that need
> > to be done in
> the
> > frontend (like constant folding in the context of integer constant
> > expressions) vs. optional simplifications (optimizing
> > substitutions). So it just does both at the same time.
> > 
> > Alexander
> 
> Here is an example where gcc creates wrong code:
> 
> test.c:
> int foo() {
>   const char * const txt = "hello";
>   register const char * const p asm("ecx") = txt;
>   register int dx asm("edx");
>   asm(" call _faa" :"=r" (dx) :"rf" (p));
> }

Let me guess: this is about the m68k-amigaos LP macros? Can you show an
example for that target?

Gunther


More information about the Gcc-help mailing list