diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2014-10-22 12:01:59 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2014-10-22 12:01:59 +0000 |
commit | 75d25a02fcd6d85c314700b5b2e03743f1bec04a (patch) | |
tree | 1cfd60a35211e1d5fcc4f29a8a6797c182569882 /gcc/recog.c | |
parent | d95a2703476dcbacd128577bb0c41b74588132b1 (diff) | |
download | gcc-75d25a02fcd6d85c314700b5b2e03743f1bec04a.zip gcc-75d25a02fcd6d85c314700b5b2e03743f1bec04a.tar.gz gcc-75d25a02fcd6d85c314700b5b2e03743f1bec04a.tar.bz2 |
recog.h (extract_constrain_insn): Declare.
gcc/
* recog.h (extract_constrain_insn): Declare.
* recog.c (extract_constrain_insn): New function.
* lra.c (check_rtl): Use it.
* postreload.c (reload_cse_simplify_operands): Likewise.
* reg-stack.c (check_asm_stack_operands): Likewise.
(subst_asm_stack_regs): Likewise.
* regcprop.c (copyprop_hardreg_forward_1): Likewise.
* regrename.c (build_def_use): Likewise.
* sel-sched.c (get_reg_class): Likewise.
* config/arm/arm.c (note_invalid_constants): Likewise.
* config/s390/predicates.md (execute_operation): Likewise.
From-SVN: r216553
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 35cd22c..199c7de 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -2115,6 +2115,17 @@ extract_insn_cached (rtx_insn *insn) recog_data.insn = insn; } +/* Do uncached extract_insn, constrain_operands and complain about failures. + This should be used when extracting a pre-existing constrained instruction + if the caller wants to know which alternative was chosen. */ +void +extract_constrain_insn (rtx_insn *insn) +{ + extract_insn (insn); + if (!constrain_operands (reload_completed)) + fatal_insn_not_found (insn); +} + /* Do cached extract_insn, constrain_operands and complain about failures. Used by insn_attrtab. */ void |