Home
last modified time | relevance | path

Searched refs:recog_data (Results 1 – 25 of 53) sorted by relevance

123

/openbsd-src/gnu/usr.bin/gcc/gcc/
H A Dregrename.c785 n_ops = recog_data.n_operands;
798 || (predicated && recog_data.operand_type[i] == OP_OUT))
799 recog_data.operand_type[i] = OP_INOUT;
804 scan_rtx (insn, recog_data.operand_loc[i],
806 recog_data.operand_type[i], 0);
814 old_operands[i] = recog_data.operand[i];
818 if (recog_data.constraints[i][0] == '\0')
820 *recog_data.operand_loc[i] = cc0_rtx;
822 for (i = 0; i < recog_data.n_dups; i++)
824 int dup_num = recog_data.dup_num[i];
[all …]
H A Dregclass.c963 for (i = 0; i < recog_data.n_operands; i++)
965 constraints[i] = recog_data.constraints[i];
966 modes[i] = recog_data.operand_mode[i];
975 for (i = 0; i < recog_data.n_operands; i++)
979 if (GET_CODE (recog_data.operand[i]) == SUBREG)
980 recog_data.operand[i] = SUBREG_REG (recog_data.operand[i]);
982 if (GET_CODE (recog_data.operand[i]) == MEM)
983 record_address_regs (XEXP (recog_data.operand[i], 0),
987 record_address_regs (recog_data.operand[i],
995 for (i = 0; i < (int) recog_data.n_operands - 1; i++)
[all …]
H A Dreload.c866 struct recog_data save_recog_data;
887 save_recog_data = recog_data;
893 recog_data = save_recog_data;
2618 noperands = reload_n_operands = recog_data.n_operands;
2619 n_alternatives = recog_data.n_alternatives;
2628 memcpy (operand_mode, recog_data.operand_mode,
2630 memcpy (constraints, recog_data.constraints, noperands * sizeof (char *));
2644 substed_operand[i] = recog_data.operand[i];
2679 = operands_match_p (recog_data.operand[c],
2680 recog_data.operand[i]);
[all …]
H A Drecog.c72 struct recog_data recog_data; variable
2076 if (recog_data.insn == insn && INSN_CODE (insn) >= 0)
2079 recog_data.insn = insn;
2114 recog_data.insn = NULL;
2115 recog_data.n_operands = 0;
2116 recog_data.n_alternatives = 0;
2117 recog_data.n_dups = 0;
2143 recog_data.n_operands = noperands = asm_noperands (body);
2153 decode_asm_operands (body, recog_data.operand,
2154 recog_data.operand_loc,
[all …]
H A Dreg-stack.c619 n_outputs = recog_data.n_operands - n_inputs;
630 for (i = 0; i < recog_data.n_operands; i++)
631 if (GET_CODE (recog_data.operand[i]) == SUBREG
632 && GET_CODE (SUBREG_REG (recog_data.operand[i])) == REG)
633 recog_data.operand[i] = SUBREG_REG (recog_data.operand[i]);
669 if (STACK_REG_P (recog_data.operand[i]))
681 if (REGNO (recog_data.operand[i]) == REGNO (clobber_reg[j]))
689 reg_used_as_output[REGNO (recog_data.operand[i])] = 1;
716 if (STACK_REG_P (recog_data.operand[i]))
723 if (operands_match_p (clobber_reg[j], recog_data.operand[i]))
[all …]
H A Drecog.h154 struct recog_data struct
208 extern struct recog_data recog_data; argument
H A Dlocal-alloc.c1290 && recog_data.n_operands > 1
1291 && recog_data.constraints[0][0] == '='
1292 && recog_data.constraints[0][1] != '&')
1300 for (i = 1; i < recog_data.n_operands; i++)
1302 const char *p = recog_data.constraints[i];
1306 if (this_match == recog_data.n_alternatives)
1310 r0 = recog_data.operand[0];
1311 for (i = 1; i < recog_data.n_operands; i++)
1319 && recog_data.constraints[i-1][0] == '%')
1321 && recog_data.constraints[i][0] == '%'))
[all …]
H A Dreload1.c1356 decode_asm_operands (pat, recog_data.operand, recog_data.operand_loc, in maybe_fix_stack_asms()
3126 for (i = 0; i < recog_data.n_operands; i++)
3128 orig_operand[i] = recog_data.operand[i];
3129 substed_operand[i] = recog_data.operand[i];
3135 if (recog_data.operand_type[i] != OP_IN
3148 substed_operand[i] = eliminate_regs (recog_data.operand[i], 0,
3154 *recog_data.operand_loc[i] = 0;
3158 if (recog_data.operand_type[i] != OP_IN
3167 for (i = 0; i < recog_data.n_dups; i++)
3168 *recog_data.dup_loc[i]
[all …]
H A Dfinal.c1943 return (*(insn_output_fn) output) (recog_data.operand, insn);
2728 FINAL_PRESCAN_INSN (insn, recog_data.operand, recog_data.n_operands);
2814 output_asm_insn (template, recog_data.operand);
2873 for (i = 0; i < recog_data.n_operands; i++)
2880 if (GET_CODE (*recog_data.operand_loc[i]) == SUBREG)
2881 recog_data.operand[i] = alter_subreg (recog_data.operand_loc[i]);
2882 else if (GET_CODE (recog_data.operand[i]) == PLUS
2883 || GET_CODE (recog_data.operand[i]) == MULT
2884 || GET_CODE (recog_data.operand[i]) == MEM)
2885 recog_data.operand[i] = walk_alter_subreg (recog_data.operand_loc[i]);
[all …]
H A Dregmove.c1159 for (op_no = 0; op_no < recog_data.n_operands; op_no++)
1170 src = recog_data.operand[op_no];
1171 dst = recog_data.operand[match_no];
1211 if (recog_data.operand[match_no] != SET_DEST (set))
1221 rtx comm = recog_data.operand[match.commutative[op_no]];
1267 for (op_no = 0; op_no < recog_data.n_operands; op_no++)
1281 dst = recog_data.operand[match_no];
1282 src = recog_data.operand[op_no];
1299 rtx comm = recog_data.operand[match.commutative[op_no]];
1327 if (recog_data.operand[match_no] != SET_DEST (set))
[all …]
/openbsd-src/gnu/gcc/gcc/
H A Dregrename.c784 n_ops = recog_data.n_operands; in build_def_use()
797 || (predicated && recog_data.operand_type[i] == OP_OUT)) in build_def_use()
798 recog_data.operand_type[i] = OP_INOUT; in build_def_use()
803 scan_rtx (insn, recog_data.operand_loc[i], in build_def_use()
805 recog_data.operand_type[i], 0); in build_def_use()
813 old_operands[i] = recog_data.operand[i]; in build_def_use()
817 if (recog_data.constraints[i][0] == '\0') in build_def_use()
819 *recog_data.operand_loc[i] = cc0_rtx; in build_def_use()
821 for (i = 0; i < recog_data.n_dups; i++) in build_def_use()
823 int dup_num = recog_data.dup_num[i]; in build_def_use()
[all …]
H A Dregclass.c967 for (i = 0; i < recog_data.n_operands; i++) in record_operand_costs()
969 constraints[i] = recog_data.constraints[i]; in record_operand_costs()
970 modes[i] = recog_data.operand_mode[i]; in record_operand_costs()
979 for (i = 0; i < recog_data.n_operands; i++) in record_operand_costs()
983 if (GET_CODE (recog_data.operand[i]) == SUBREG) in record_operand_costs()
984 recog_data.operand[i] = SUBREG_REG (recog_data.operand[i]); in record_operand_costs()
986 if (MEM_P (recog_data.operand[i])) in record_operand_costs()
987 record_address_regs (GET_MODE (recog_data.operand[i]), in record_operand_costs()
988 XEXP (recog_data.operand[i], 0), in record_operand_costs()
992 record_address_regs (VOIDmode, recog_data.operand[i], 0, ADDRESS, in record_operand_costs()
[all …]
H A Dpostreload.c388 if (recog_data.n_alternatives == 0 || recog_data.n_operands == 0) in reload_cse_simplify_operands()
395 alternative_reject = alloca (recog_data.n_alternatives * sizeof (int)); in reload_cse_simplify_operands()
396 alternative_nregs = alloca (recog_data.n_alternatives * sizeof (int)); in reload_cse_simplify_operands()
397 alternative_order = alloca (recog_data.n_alternatives * sizeof (int)); in reload_cse_simplify_operands()
398 memset (alternative_reject, 0, recog_data.n_alternatives * sizeof (int)); in reload_cse_simplify_operands()
399 memset (alternative_nregs, 0, recog_data.n_alternatives * sizeof (int)); in reload_cse_simplify_operands()
402 for (i = 0; i < recog_data.n_operands; i++) in reload_cse_simplify_operands()
414 if (LABEL_P (recog_data.operand[i]) in reload_cse_simplify_operands()
415 || (CONSTANT_P (recog_data.operand[i]) in reload_cse_simplify_operands()
416 && recog_data.operand_mode[i] == VOIDmode)) in reload_cse_simplify_operands()
[all …]
H A Dreload.c836 struct recog_data save_recog_data; in can_reload_into()
857 save_recog_data = recog_data; in can_reload_into()
863 recog_data = save_recog_data; in can_reload_into()
2618 noperands = reload_n_operands = recog_data.n_operands; in find_reloads()
2619 n_alternatives = recog_data.n_alternatives; in find_reloads()
2628 memcpy (operand_mode, recog_data.operand_mode, in find_reloads()
2630 memcpy (constraints, recog_data.constraints, noperands * sizeof (char *)); in find_reloads()
2644 substed_operand[i] = recog_data.operand[i]; in find_reloads()
2689 = operands_match_p (recog_data.operand[c], in find_reloads()
2690 recog_data.operand[i]); in find_reloads()
[all …]
H A Drecog.c77 struct recog_data recog_data; variable
1980 if (recog_data.insn == insn && INSN_CODE (insn) >= 0) in extract_insn_cached()
1983 recog_data.insn = insn; in extract_insn_cached()
2017 recog_data.insn = NULL; in extract_insn()
2018 recog_data.n_operands = 0; in extract_insn()
2019 recog_data.n_alternatives = 0; in extract_insn()
2020 recog_data.n_dups = 0; in extract_insn()
2046 recog_data.n_operands = noperands = asm_noperands (body); in extract_insn()
2055 decode_asm_operands (body, recog_data.operand, in extract_insn()
2056 recog_data.operand_loc, in extract_insn()
[all …]
H A Dreg-stack.c481 n_outputs = recog_data.n_operands - n_inputs; in check_asm_stack_operands()
492 for (i = 0; i < recog_data.n_operands; i++) in check_asm_stack_operands()
493 if (GET_CODE (recog_data.operand[i]) == SUBREG in check_asm_stack_operands()
494 && REG_P (SUBREG_REG (recog_data.operand[i]))) in check_asm_stack_operands()
495 recog_data.operand[i] = SUBREG_REG (recog_data.operand[i]); in check_asm_stack_operands()
531 if (STACK_REG_P (recog_data.operand[i])) in check_asm_stack_operands()
543 if (REGNO (recog_data.operand[i]) == REGNO (clobber_reg[j])) in check_asm_stack_operands()
551 reg_used_as_output[REGNO (recog_data.operand[i])] = 1; in check_asm_stack_operands()
578 if (STACK_REG_P (recog_data.operand[i])) in check_asm_stack_operands()
585 if (operands_match_p (clobber_reg[j], recog_data.operand[i])) in check_asm_stack_operands()
[all …]
H A Drecog.h154 struct recog_data struct
208 extern struct recog_data recog_data; argument
H A Dlocal-alloc.c1359 && recog_data.n_operands > 1 in block_alloc()
1360 && recog_data.constraints[0][0] == '=' in block_alloc()
1361 && recog_data.constraints[0][1] != '&') in block_alloc()
1369 for (i = 1; i < recog_data.n_operands; i++) in block_alloc()
1371 const char *p = recog_data.constraints[i]; in block_alloc()
1375 if (this_match == recog_data.n_alternatives) in block_alloc()
1379 r0 = recog_data.operand[0]; in block_alloc()
1380 for (i = 1; i < recog_data.n_operands; i++) in block_alloc()
1388 && recog_data.constraints[i-1][0] == '%') in block_alloc()
1390 && recog_data.constraints[i][0] == '%')) in block_alloc()
[all …]
H A Dfinal.c1626 return (*insn_data[code].output.function) (recog_data.operand, insn); in get_insn_template()
2388 FINAL_PRESCAN_INSN (insn, recog_data.operand, recog_data.n_operands); in final_scan_insn()
2469 output_asm_insn (template, recog_data.operand); in final_scan_insn()
2520 for (i = 0; i < recog_data.n_operands; i++) in cleanup_subreg_operands()
2527 if (GET_CODE (*recog_data.operand_loc[i]) == SUBREG) in cleanup_subreg_operands()
2528 recog_data.operand[i] = alter_subreg (recog_data.operand_loc[i]); in cleanup_subreg_operands()
2529 else if (GET_CODE (recog_data.operand[i]) == PLUS in cleanup_subreg_operands()
2530 || GET_CODE (recog_data.operand[i]) == MULT in cleanup_subreg_operands()
2531 || MEM_P (recog_data.operand[i])) in cleanup_subreg_operands()
2532 recog_data.operand[i] = walk_alter_subreg (recog_data.operand_loc[i]); in cleanup_subreg_operands()
[all …]
H A Dregmove.c1146 for (op_no = 0; op_no < recog_data.n_operands; op_no++) in regmove_optimize()
1157 src = recog_data.operand[op_no]; in regmove_optimize()
1158 dst = recog_data.operand[match_no]; in regmove_optimize()
1199 if (recog_data.operand[match_no] != SET_DEST (set)) in regmove_optimize()
1209 rtx comm = recog_data.operand[match.commutative[op_no]]; in regmove_optimize()
1254 for (op_no = 0; op_no < recog_data.n_operands; op_no++) in regmove_optimize()
1268 dst = recog_data.operand[match_no]; in regmove_optimize()
1269 src = recog_data.operand[op_no]; in regmove_optimize()
1286 rtx comm = recog_data.operand[match.commutative[op_no]]; in regmove_optimize()
1314 if (recog_data.operand[match_no] != SET_DEST (set)) in regmove_optimize()
[all …]
H A Dfunction.c1410 && recog_data.n_operands >= 3 in instantiate_virtual_regs_in_insn()
1411 && recog_data.operand_loc[1] == &XEXP (SET_SRC (set), 0) in instantiate_virtual_regs_in_insn()
1412 && recog_data.operand_loc[2] == &XEXP (SET_SRC (set), 1) in instantiate_virtual_regs_in_insn()
1413 && GET_CODE (recog_data.operand[2]) == CONST_INT in instantiate_virtual_regs_in_insn()
1414 && (new = instantiate_new_reg (recog_data.operand[1], &offset))) in instantiate_virtual_regs_in_insn()
1416 offset += INTVAL (recog_data.operand[2]); in instantiate_virtual_regs_in_insn()
1433 x = gen_int_mode (offset, recog_data.operand_mode[2]); in instantiate_virtual_regs_in_insn()
1441 *recog_data.operand_loc[1] = recog_data.operand[1] = new; in instantiate_virtual_regs_in_insn()
1442 *recog_data.operand_loc[2] = recog_data.operand[2] = x; in instantiate_virtual_regs_in_insn()
1458 for (i = 0; i < recog_data.n_operands; ++i) in instantiate_virtual_regs_in_insn()
[all …]
H A Dreload1.c1361 decode_asm_operands (pat, recog_data.operand, recog_data.operand_loc, in maybe_fix_stack_asms()
3150 for (i = 0; i < recog_data.n_operands; i++) in eliminate_regs_in_insn()
3152 orig_operand[i] = recog_data.operand[i]; in eliminate_regs_in_insn()
3153 substed_operand[i] = recog_data.operand[i]; in eliminate_regs_in_insn()
3161 if (recog_data.operand_type[i] != OP_IN in eliminate_regs_in_insn()
3177 if (old_set && recog_data.operand_loc[i] == &SET_SRC (old_set)) in eliminate_regs_in_insn()
3181 && (recog_data.operand_loc[i] == &XEXP (plus_src, 0) in eliminate_regs_in_insn()
3182 || recog_data.operand_loc[i] == &XEXP (plus_src, 1))) in eliminate_regs_in_insn()
3186 = eliminate_regs_1 (recog_data.operand[i], 0, in eliminate_regs_in_insn()
3193 *recog_data.operand_loc[i] = 0; in eliminate_regs_in_insn()
[all …]
/openbsd-src/gnu/usr.bin/gcc/gcc/config/romp/
H A Dromp.c170 && reg_overlap_mentioned_p (recog_data.operand[0], cc_status.value1))
174 && reg_overlap_mentioned_p (recog_data.operand[0], cc_status.value2))
183 && reg_overlap_mentioned_p (recog_data.operand[0], cc_status.value1))
187 && reg_overlap_mentioned_p (recog_data.operand[0], cc_status.value2))
191 && rtx_equal_p (cc_status.value1, recog_data.operand[1]))
192 cc_status.value2 = recog_data.operand[0];
195 && rtx_equal_p (cc_status.value2, recog_data.operand[1]))
196 cc_status.value1 = recog_data.operand[0];
209 cc_status.value1 = recog_data.operand[0];
/openbsd-src/gnu/usr.bin/gcc/gcc/config/mn10200/
H A Dmn10200.c836 && reg_overlap_mentioned_p (recog_data.operand[0], cc_status.value1))
845 cc_status.value1 = recog_data.operand[0];
853 cc_status.value1 = recog_data.operand[0];
/openbsd-src/gnu/usr.bin/gcc/gcc/config/mn10300/
H A Dmn10300.c615 && reg_overlap_mentioned_p (recog_data.operand[0], cc_status.value1))
624 cc_status.value1 = recog_data.operand[0];
632 cc_status.value1 = recog_data.operand[0];

123