PR target/41993
* mode-switching.c (create_pre_exit): Set return_copy to last_insn
when copy_start is a function return regno instead of pseudo.
Skip debug instructions in instruction scan loop.
From-SVN: r193480
+2012-11-13 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/41993
+ * mode-switching.c (create_pre_exit): Set return_copy to last_insn
+ when copy_start is a function return regno instead of pseudo.
+ Skip debug instructions in instruction scan loop.
+
2012-11-13 Andrew Stubbs <ams@codesourcery.com>
Ulrich Weigand <ulrich.weigand@linaro.org>
int copy_start, copy_num;
int j;
- if (INSN_P (return_copy))
+ if (INSN_P (return_copy)
+ && !DEBUG_INSN_P (return_copy))
{
/* When using SJLJ exceptions, the call to the
unregister function is inserted between the
short_block = 1;
break;
}
- if (copy_start >= FIRST_PSEUDO_REGISTER)
+ if (!targetm.calls.function_value_regno_p (copy_start))
{
last_insn = return_copy;
continue;