summaryrefslogtreecommitdiff
path: root/gcc/combine-stack-adj.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-06-09 06:17:12 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-06-09 06:17:12 +0000
commitf62cadce1ea98102bfbafd86bc920986e74f8b59 (patch)
tree9e6b89b147d770090200e227d5974784b83e66cb /gcc/combine-stack-adj.c
parentc7474a2d896f054401dae945da381931cc6ae4b6 (diff)
downloadgcc-f62cadce1ea98102bfbafd86bc920986e74f8b59.tar.gz
PR c++/53602
* combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE note to a clobber insn when no other insn is available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188357 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine-stack-adj.c')
-rw-r--r--gcc/combine-stack-adj.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/combine-stack-adj.c b/gcc/combine-stack-adj.c
index b3ee785711a..b46fe3bcb38 100644
--- a/gcc/combine-stack-adj.c
+++ b/gcc/combine-stack-adj.c
@@ -1,7 +1,7 @@
/* Combine stack adjustments.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -414,9 +414,10 @@ force_move_args_size_note (basic_block bb, rtx prev, rtx insn)
{
/* ??? We *must* have a place, lest we ICE on the lost adjustment.
Options are: dummy clobber insn, nop, or prevent the removal of
- the sp += 0 insn. Defer that decision until we can prove this
- can actually happen. */
- gcc_unreachable ();
+ the sp += 0 insn. */
+ /* TODO: Find another way to indicate to the dwarf2 code that we
+ have not in fact lost an adjustment. */
+ test = emit_insn_before (gen_rtx_CLOBBER (VOIDmode, const0_rtx), insn);
}
add_reg_note (test, REG_ARGS_SIZE, XEXP (note, 0));
}