This is the mail archive of the gcc-bugs@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: [Bug lto/47205] New: GCC emits optimized out noinline function


> extern int foo(void);
> 
> int main(void)
> {
>   return foo() * 0;
> }
This is because gimple part of optimizers for some reason leads to the following in the optimized dump:
main ()
{
<bb 2>:
  foo ();
  return 0;

}
and only RTL optimizers do the trick.  
This is weird since pure/const detect function as pure (seen in pure-const dump)

Read info for foo/2  const nothrow
  pure const state: const
  previously known state: const

but tree-ssa-dce apparently fails to remove the statement.  I guess it is
confused by lack of return value.  I will take a look.  But this is
tree-optimization bug.

Honza


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