Lines Matching refs:cand

79 typedef struct cand *cand_t;
80 typedef const struct cand *const_cand_t;
88 struct cand
175 cand_hash (const void *cand)
177 const_cand_t c = (const_cand_t) cand;
219 insert_cand (cand_t cand)
223 entry_ptr = htab_find_slot (cand_table, cand, INSERT);
225 *entry_ptr = (void *) cand;
231 free_cand (void *cand)
233 free (cand);
407 cand_t cand = XNEW (struct cand);
408 cand->insn = insn;
409 cand->nop = nop;
410 cand->regno = regno;
411 cand->reload_regno = op_regno == regno ? -1 : op_regno;
412 gcc_assert (cand->regno >= 0);
413 cand_t cand_in_table = insert_cand (cand);
415 if (cand != cand_in_table)
416 free (cand);
419 /* A new cand. */
420 cand->index = all_cands.length ();
421 all_cands.safe_push (cand);
422 cand->next_regno_cand = regno_cands[cand->regno];
423 regno_cands[cand->regno] = cand;
535 cand_t cand;
540 cand = all_cands[i];
542 i, cand->nop, cand->regno, cand->reload_regno);
543 print_inline_rtx (dump_file, cand->insn, 6);
739 cand_t cand = all_cands[i];
740 lra_insn_recog_data_t id = lra_get_insn_recog_data (cand->insn);
772 cand_t cand;
796 cand = insn_to_cand[INSN_UID (insn2)];
797 gcc_assert (cand != NULL);
799 if (src_regno == cand->reload_regno
800 && dst_regno == cand->regno)
802 if (cand->regno == reg->regno
805 bitmap_clear_bit (gen_cands, cand->index);
817 cand = insn_to_cand[INSN_UID (insn2)];
818 gcc_assert (cand != NULL);
821 bitmap_clear_bit (gen_cands, cand->index);
828 cand = insn_to_cand[INSN_UID (insn)];
829 if (cand != NULL)
831 bitmap_set_bit (gen_cands, cand->index);
866 cand_t cand = all_cands[cid];
867 lra_insn_recog_data_t id = lra_get_insn_recog_data (cand->insn);
878 if (reg->type == OP_OUT && reg->regno != cand->regno)
887 if (bitmap_bit_p (bb_changed_regs, cand->regno)
888 || bitmap_bit_p (bb_dead_regs, cand->regno))
1097 cand_t cand;
1111 cand = NULL;
1119 for (cand = regno_cands[src_regno];
1120 cand != NULL;
1121 cand = cand->next_regno_cand)
1122 if (bitmap_bit_p (avail_cands, cand->index)
1123 && bitmap_bit_p (active_cands, cand->index))
1130 if (cand != NULL)
1133 = lra_get_insn_recog_data (cand->insn);
1136 rtx saved_op = *cand_id->operand_loc[cand->nop];
1181 *cand_id->operand_loc[cand->nop] = SET_DEST (set);
1182 lra_update_insn_regno_info (cand->insn);
1183 bool ok_p = lra_constrain_insn (cand->insn);
1186 rtx remat_pat = copy_insn (PATTERN (cand->insn));
1196 *cand_id->operand_loc[cand->nop] = saved_op;
1197 lra_update_insn_regno_info (cand->insn);
1212 cand = all_cands[cid];
1215 if (src_regno == cand->reload_regno
1216 && dst_regno == cand->regno)
1218 if (cand->regno == reg->regno
1219 || reg_overlap_for_remat_p (reg, cand->insn))
1220 bitmap_set_bit (&temp_bitmap, cand->index);
1228 cand = all_cands[cid];
1230 if (call_used_input_regno_present_p (callee_abi, cand->insn))
1231 bitmap_set_bit (&temp_bitmap, cand->index);
1239 cand = insn_to_cand_activation[INSN_UID (insn)];
1240 if (cand)
1241 bitmap_set_bit (active_cands, cand->index);
1243 cand = insn_to_cand[INSN_UID (insn)];
1244 if (cand != NULL)
1246 bitmap_set_bit (avail_cands, cand->index);
1247 if (cand->reload_regno == -1)
1248 bitmap_set_bit (active_cands, cand->index);
1250 bitmap_clear_bit (active_cands, cand->index);