[Bug middle-end/54315] Unnecessary copy of return value

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat Aug 18 17:45:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54315

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> 2012-08-18 17:45:43 UTC ---
The difference between -m32 and -m64 is

-  struct S160 D.1692;
+  struct S160 D.1719;

 ;;   basic block 2, loop depth 0
 ;;    pred:       ENTRY
-  D.1692 = check160 (); [return slot optimization]
-  checkx160 (D.1692);
+  D.1719 = check160 ();
+  checkx160 (D.1719);
   return;
 ;;    succ:       EXIT

"return slot optimization" generates extra copy.



More information about the Gcc-bugs mailing list