| Index: gcc/gcc/recog.c
|
| diff --git a/gcc/gcc/recog.c b/gcc/gcc/recog.c
|
| index a49a8ae31e0552c52c065104772e38b0284a5a9d..70370e3ad81619d4cc67c64fc4e1f70f5d80aff3 100644
|
| --- a/gcc/gcc/recog.c
|
| +++ b/gcc/gcc/recog.c
|
| @@ -332,17 +332,8 @@ insn_invalid_p (rtx insn)
|
| {
|
| extract_insn (insn);
|
|
|
| - /* Make sure we allow as much as possble here. We don't need to check
|
| - the sandboxing here, only validity of the instruction. */
|
| - NACL_LEA_MATCH_ADDRESS_OPERAND++;
|
| -
|
| if (! constrain_operands (1))
|
| - {
|
| - NACL_LEA_MATCH_ADDRESS_OPERAND--;
|
| - return 1;
|
| - }
|
| -
|
| - NACL_LEA_MATCH_ADDRESS_OPERAND--;
|
| + return 1;
|
| }
|
|
|
| INSN_CODE (insn) = icode;
|
| @@ -1970,25 +1961,10 @@ extract_insn_cached (rtx insn)
|
| void
|
| extract_constrain_insn_cached (rtx insn)
|
| {
|
| - int lea, change_lea;
|
| - /* get_attr_type can call extract_constrain_insn_cached - don't call it if in
|
| - lea mode already */
|
| - if (!TARGET_64BIT || NACL_LEA_MATCH_ADDRESS_OPERAND)
|
| - {
|
| - lea = 1;
|
| - change_lea = 0;
|
| - }
|
| - else
|
| - {
|
| - lea = insn_is_nacl_lea(insn);
|
| - change_lea = 1;
|
| - }
|
| - if (lea && change_lea) NACL_LEA_MATCH_ADDRESS_OPERAND++;
|
| extract_insn_cached (insn);
|
| if (which_alternative == -1
|
| && !constrain_operands (reload_completed))
|
| fatal_insn_not_found (insn);
|
| - if (lea && change_lea) NACL_LEA_MATCH_ADDRESS_OPERAND--;
|
| }
|
|
|
| /* Do cached constrain_operands and complain about failures. */
|
| @@ -2111,17 +2087,6 @@ extract_insn (rtx insn)
|
| which_alternative = -1;
|
| }
|
|
|
| -enum attr_type
|
| -get_attr_type (rtx insn ATTRIBUTE_UNUSED)
|
| -{
|
| - enum attr_type result;
|
| - extern int NACL_LEA_MATCH_ADDRESS_OPERAND;
|
| - NACL_LEA_MATCH_ADDRESS_OPERAND++;
|
| - result = get_attr_type_real(insn);
|
| - NACL_LEA_MATCH_ADDRESS_OPERAND--;
|
| - return result;
|
| -}
|
| -
|
| /* After calling extract_insn, you can use this function to extract some
|
| information from the constraint strings into a more usable form.
|
| The collected data is stored in recog_op_alt. */
|
| @@ -3661,3 +3626,5 @@ struct rtl_opt_pass pass_split_for_shorten_branches =
|
| TODO_dump_func | TODO_verify_rtl_sharing /* todo_flags_finish */
|
| }
|
| };
|
| +
|
| +
|
|
|