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