diff options
author | Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> | 1998-11-04 21:25:00 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-11-04 14:25:00 -0700 |
commit | 0eadeb15bc665b0bce3166ad2862f0a553cdd758 (patch) | |
tree | 99a39e0c8a6a367f35a2aad560dc42aff38fce41 /gcc/reload.c | |
parent | 56744d1a2a2177f56136b2fb1a8aaf4f51612d69 (diff) | |
download | gcc-0eadeb15bc665b0bce3166ad2862f0a553cdd758.zip gcc-0eadeb15bc665b0bce3166ad2862f0a553cdd758.tar.gz gcc-0eadeb15bc665b0bce3166ad2862f0a553cdd758.tar.bz2 |
recog.h (enum op_type): Define.
* recog.h (enum op_type): Define.
(constrain_operands): Adjust prototype.
(recog_op_type): Declare new variable.
* recog.c (recog_op_type): New variable.
(insn_invalid_p): Allow modifying an asm statement after reload.
(extract_insn): Set up recog_op_type.
(constrain_operands): Lose INSN_CODE_NUM arg. All callers changed.
Don't compute operand types, use recog_op_type.
Use the information computed by extract_insn instead of the previous
method of finding it by insn code number.
* caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
* reorg.c (fill_slots_from_thread): Likewise.
* reload1.c (reload_as_needed): Likewise.
(gen_reload): Likewise.
(inc_for_reload): Likewise.
(reload_cse_simplify_operands): Likewise.
Use the information computed by extract_insn instead of the previous
method of finding it by insn code number.
* genattrtab.c (write_attr_case): Generate call to extract_insn, not
insn_extract.
* final.c (final_scan_insn): Use extract_insn, not insn_extract.
(cleanup_operand_subregs): Use extract_insn, not insn_extract.
Use the information computed by extract_insn instead of the previous
method of finding it by insn code number.
* regmove.c (find_matches): Likewise. Change meaning of the return
value to be nonzero if the optimization can be performed, zero if
not. All callers changed.
Shorten some variable names to fix formatting problems.
(regmove_optimize): Shorten some variable names to fix formatting
problems.
Use the information computed by extract_insn instead of the previous
method of finding it by insn code number.
* regclass.c (scan_one_insn): Likewise.
(record_reg_classes): Don't compute operand types, use recog_op_type.
* reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
recog_constraints instead.
From-SVN: r23529
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index afe4753..dc1f4e4 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -2383,8 +2383,6 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) register int insn_code_number; register int i, j; int noperands; - /* These are the constraints for the insn. We don't change them. */ - char *constraints1[MAX_RECOG_OPERANDS]; /* These start out as the constraints for the insn and they are chewed up as we consider alternatives. */ char *constraints[MAX_RECOG_OPERANDS]; @@ -2488,8 +2486,6 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) noperands * sizeof (enum machine_mode)); bcopy ((char *) recog_constraints, (char *) constraints, noperands * sizeof (char *)); - bcopy ((char *) constraints, (char *) constraints1, - noperands * sizeof (char *)); commutative = -1; @@ -3360,7 +3356,7 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) || modified[j] != RELOAD_WRITE) && j != i /* Ignore things like match_operator operands. */ - && *constraints1[j] != 0 + && *recog_constraints[j] != 0 /* Don't count an input operand that is constrained to match the early clobber operand. */ && ! (this_alternative_matches[j] == i @@ -3477,7 +3473,7 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) pref_or_nothing[commutative] = pref_or_nothing[commutative + 1]; pref_or_nothing[commutative + 1] = t; - bcopy ((char *) constraints1, (char *) constraints, + bcopy ((char *) recog_constraints, (char *) constraints, noperands * sizeof (char *)); goto try_swapped; } @@ -3594,7 +3590,7 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) = find_reloads_toplev (force_const_mem (operand_mode[i], recog_operand[i]), i, address_type[i], ind_levels, 0, insn); - if (alternative_allows_memconst (constraints1[i], + if (alternative_allows_memconst (recog_constraints[i], goal_alternative_number)) goal_alternative_win[i] = 1; } |