int zero { return 0; }
is gimplified to:
zero ()
{
int D.2115;
D.2115 = 0;
return D.2115;
}
The D.2115 temporary is not needed, the return value is constant, it is of the
same type as the function return type, and return CONSTANT is valid
gimple.
Not creating the temporary should save some memory and processing time later.
--
Summary: gimplifying "return CONSTANT" creates unneeded
temporaties
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dann at godzilla dot ics dot uci dot edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27798