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/final.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/final.c')
-rw-r--r-- | gcc/final.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/gcc/final.c b/gcc/final.c index b750d93..18c4dc5 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -2843,11 +2843,11 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) since `reload' should have changed them so that they do. */ insn_code_number = recog_memoized (insn); - insn_extract (insn); + extract_insn (insn); cleanup_subreg_operands (insn); #ifdef REGISTER_CONSTRAINTS - if (! constrain_operands (insn_code_number, 1)) + if (! constrain_operands (1)) fatal_insn_not_found (insn); #endif @@ -2855,8 +2855,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) it is output. */ #ifdef FINAL_PRESCAN_INSN - FINAL_PRESCAN_INSN (insn, recog_operand, - insn_n_operands[insn_code_number]); + FINAL_PRESCAN_INSN (insn, recog_operand, recog_n_operands); #endif #ifdef HAVE_cc0 @@ -3047,8 +3046,8 @@ cleanup_subreg_operands (insn) since `reload' should have changed them so that they do. */ insn_code_number = recog_memoized (insn); - insn_extract (insn); - for (i = 0; i < insn_n_operands[insn_code_number]; i++) + extract_insn (insn); + for (i = 0; i < recog_n_operands; i++) { if (GET_CODE (recog_operand[i]) == SUBREG) recog_operand[i] = alter_subreg (recog_operand[i]); @@ -3057,7 +3056,7 @@ cleanup_subreg_operands (insn) recog_operand[i] = walk_alter_subreg (recog_operand[i]); } - for (i = 0; i < insn_n_dups[insn_code_number]; i++) + for (i = 0; i < recog_n_dups; i++) { if (GET_CODE (*recog_dup_loc[i]) == SUBREG) *recog_dup_loc[i] = alter_subreg (*recog_dup_loc[i]); |