This is the mail archive of the gcc@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: Unnecessary call to mark_temp_addr_taken in calls.c (related to pr25505)?


Richard Guenther wrote:

>> OK, thanks.  If you have any suggestions on other approaches to 
>> verifying this, I'd certainly appreciate it.

> Other than testing on more targets, no.  Does it fix PR25505?  In
> this case it would be a fix for a regression and maybe rth can have a
> look at the patch as he should know this area equally well?

PR25505 reports that the stack usage of a particular function increased
from 512 bytes to 20k from 3.3 -> 4.x.  This patch reduces the stack
usage for that function back to ~13k.  So, it solves one aspect of the
regression.  I'll attach the patch I've been testing.

- Josh

Index: gcc/calls.c
===================================================================
--- gcc/calls.c	(revision 116236)
+++ gcc/calls.c	(working copy)
@@ -1987,7 +1987,6 @@ expand_call (tree exp, rtx target, int i
 	       we would have no way of knowing when to free it.  */
 	    rtx d = assign_temp (TREE_TYPE (exp), 1, 1, 1);
 
-	    mark_temp_addr_taken (d);
 	    structure_value_addr = XEXP (d, 0);
 	    target = 0;
 	  }

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