This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/63573] [5 Regression] libgo: ICE building libgo on powerpc-linux-gnu
- From: "hubicka at ucw dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 01 Nov 2014 18:36:03 +0000
- Subject: [Bug bootstrap/63573] [5 Regression] libgo: ICE building libgo on powerpc-linux-gnu
- Auto-submitted: auto-generated
- References: <bug-63573-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63573
--- Comment #8 from Jan Hubicka <hubicka at ucw dot cz> ---
There is a pasto in the previous patch. This is what I am testing.
Index: calls.c
===================================================================
--- calls.c (revision 216942)
+++ calls.c (working copy)
@@ -1210,6 +1211,15 @@ initialize_argument_information (int num
&& TREE_CODE (base) != SSA_NAME
&& (!DECL_P (base) || MEM_P (DECL_RTL (base)))))
{
+ /* Argument setup code may have copied the value to register. We
+ that optimization now because the tail call code must use
+ the original location. */
+ if (TREE_CODE (args[i].tree_value) == PARM_DECL
+ && !MEM_P (DECL_RTL (args[i].tree_value))
+ && DECL_INCOMING_RTL (args[i].tree_value)
+ && MEM_P (DECL_INCOMING_RTL (args[i].tree_value)))
+ set_decl_rtl (args[i].tree_value, DECL_INCOMING_RTL
(args[i].tree_value));
+
mark_addressable (args[i].tree_value);
/* We can't use sibcalls if a callee-copied argument is