Commit d63e1389 by Steven Bosscher

re PR rtl-optimization/21299 (internal error on invalid asm statement)

        PR rtl-optimization/21299
        * reload1.c (reload): Purge invalid ASMs in the final pass.

From-SVN: r117061
parent 9f0b9edc
2006-09-19 Steven Bosscher <steven@gcc.gnu.org>
PR rtl-optimization/21299
* reload1.c (reload): Purge invalid ASMs in the final pass.
2006-09-19 Steve Ellcey <sje@cup.hp.com>
PR 28490
......
......@@ -1167,6 +1167,20 @@ reload (rtx first, int global)
{
rtx *pnote;
/* Clean up invalid ASMs so that they don't confuse later passes.
See PR 21299. */
if (asm_noperands (PATTERN (insn)) >= 0)
{
extract_insn (insn);
if (!constrain_operands (1))
{
error_for_asm (insn,
"%<asm%> operand has impossible constraints");
delete_insn (insn);
continue;
}
}
if (CALL_P (insn))
replace_pseudos_in (& CALL_INSN_FUNCTION_USAGE (insn),
VOIDmode, CALL_INSN_FUNCTION_USAGE (insn));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment