diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/calls.c | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7dbd9a8..289ed64 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/calls.c b/gcc/calls.c index 382de7f..316f148 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -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 |