summaryrefslogtreecommitdiff
path: root/gcc/var-tracking.c
diff options
context:
space:
mode:
authormpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-08 17:38:13 +0000
committermpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-08 17:38:13 +0000
commit514d377a3dcb7aeb49113b23d70fc87f6304a30e (patch)
tree3ccd528de449534d2eb9ed8fb56e11f0b643d079 /gcc/var-tracking.c
parent14c7dd36b1e70fa779d4baacbc97113b0b53969b (diff)
downloadgcc-514d377a3dcb7aeb49113b23d70fc87f6304a30e.tar.gz
PR54831.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192218 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r--gcc/var-tracking.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index bbd2f4b6923..6a6cd420a0c 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -9404,12 +9404,13 @@ vt_add_function_parameter (tree parm)
if (parm != decl)
{
- /* Assume that DECL_RTL was a pseudo that got spilled to
- memory. The spill slot sharing code will force the
- memory to reference spill_slot_decl (%sfp), so we don't
- match above. That's ok, the pseudo must have referenced
- the entire parameter, so just reset OFFSET. */
- gcc_assert (decl == get_spill_slot_decl (false));
+ /* If that DECL_RTL wasn't a pseudo that got spilled to
+ memory, bail out. Otherwise, the spill slot sharing code
+ will force the memory to reference spill_slot_decl (%sfp),
+ so we don't match above. That's ok, the pseudo must have
+ referenced the entire parameter, so just reset OFFSET. */
+ if (decl != get_spill_slot_decl (false))
+ return;
offset = 0;
}