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
This commit is contained in:
parent
9f0b9edcd7
commit
d63e138968
@ -1,3 +1,8 @@
|
||||
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));
|
||||
|
Loading…
Reference in New Issue
Block a user