aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/lra-constraints.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0339ac9..d4a0c0d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-02-17 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/79541
+ * lra-constraints.c (curr_insn_transform): Remove wrong asm insn
+ instead of transforming it into USE.
+
2017-02-17 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index 585ca841..0098a75 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -3773,9 +3773,9 @@ curr_insn_transform (bool check_only_p)
fatal_insn ("unable to generate reloads for:", curr_insn);
error_for_asm (curr_insn,
"inconsistent operand constraints in an %<asm%>");
- /* Avoid further trouble with this insn. */
- PATTERN (curr_insn) = gen_rtx_USE (VOIDmode, const0_rtx);
- lra_invalidate_insn_data (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);
return true;
}