OSDN Git Service

PR middle-end/50074
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Nov 2011 09:21:47 +0000 (09:21 +0000)
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Nov 2011 09:21:47 +0000 (09:21 +0000)
        * calls.c (mem_overlaps_already_clobbered_arg_p):
        Return false if no outgoing arguments have been stored so far.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181738 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/calls.c

index 7dbd9a8..289ed64 100644 (file)
@@ -1,3 +1,9 @@
+2011-11-26  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       PR middle-end/50074
+       * calls.c (mem_overlaps_already_clobbered_arg_p):
+       Return false if no outgoing arguments have been stored so far.
+
 2011-11-25  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.
index 382de7f..316f148 100644 (file)
@@ -1668,6 +1668,8 @@ mem_overlaps_already_clobbered_arg_p (rtx addr, unsigned HOST_WIDE_INT size)
 {
   HOST_WIDE_INT i;
 
+  if (sbitmap_empty_p (stored_args_map))
+    return false;
   if (addr == crtl->args.internal_arg_pointer)
     i = 0;
   else if (GET_CODE (addr) == PLUS