[PR97870] LRA: don't remove asm goto, just nullify it.
gcc/ 2020-11-18 Vladimir Makarov <vmakarov@redhat.com> PR target/97870 * lra-constraints.c (curr_insn_transform): Do not delete asm goto with wrong constraints. Nullify it saving CFG.
This commit is contained in:
parent
cb1a4876a0
commit
2f2709e691
1 changed files with 12 additions and 3 deletions
|
@ -4104,9 +4104,18 @@ curr_insn_transform (bool check_only_p)
|
|||
error_for_asm (curr_insn,
|
||||
"inconsistent operand constraints in an %<asm%>");
|
||||
lra_asm_error_p = true;
|
||||
/* Avoid further trouble with this insn. Don't generate use
|
||||
pattern here as we could use the insn SP offset. */
|
||||
lra_set_insn_deleted (curr_insn);
|
||||
if (! JUMP_P (curr_insn))
|
||||
{
|
||||
/* Avoid further trouble with this insn. Don't generate use
|
||||
pattern here as we could use the insn SP offset. */
|
||||
lra_set_insn_deleted (curr_insn);
|
||||
}
|
||||
else
|
||||
{
|
||||
lra_invalidate_insn_data (curr_insn);
|
||||
ira_nullify_asm_goto (curr_insn);
|
||||
lra_update_insn_regno_info (curr_insn);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue