Lines Matching refs:elt

684   struct table_elt *elt;
690 for (elt = classp->first_same_value; elt; elt = elt->next_same_value)
692 print_rtl (stderr, elt->exp);
1314 remove_from_table (struct table_elt *elt, unsigned int hash)
1316 if (elt == 0)
1320 elt->first_same_value = 0;
1325 struct table_elt *prev = elt->prev_same_value;
1326 struct table_elt *next = elt->next_same_value;
1347 struct table_elt *prev = elt->prev_same_hash;
1348 struct table_elt *next = elt->next_same_hash;
1355 else if (table[hash] == elt)
1364 if (table[hash] == elt)
1371 if (elt->related_value != 0 && elt->related_value != elt)
1373 struct table_elt *p = elt->related_value;
1375 while (p->related_value != elt)
1377 p->related_value = elt->related_value;
1383 elt->next_same_hash = free_element_chain;
1384 free_element_chain = elt;
1394 struct table_elt *elt;
1398 while ((elt = lookup_for_remove (x, hash, VOIDmode)))
1399 remove_from_table (elt, hash);
1516 struct table_elt *elt;
1535 elt = free_element_chain;
1536 if (elt)
1537 free_element_chain = elt->next_same_hash;
1539 elt = XNEW (struct table_elt);
1541 elt->exp = x;
1542 elt->canon_exp = NULL_RTX;
1543 elt->cost = COST (x);
1544 elt->regcost = approx_reg_cost (x);
1545 elt->next_same_value = 0;
1546 elt->prev_same_value = 0;
1547 elt->next_same_hash = table[hash];
1548 elt->prev_same_hash = 0;
1549 elt->related_value = 0;
1550 elt->in_memory = 0;
1551 elt->mode = mode;
1552 elt->is_const = (CONSTANT_P (x) || fixed_base_plus_p (x));
1555 table[hash]->prev_same_hash = elt;
1556 table[hash] = elt;
1562 if (CHEAPER (elt, classp))
1566 elt->next_same_value = classp;
1567 classp->prev_same_value = elt;
1568 elt->first_same_value = elt;
1571 p->first_same_value = elt;
1579 for (p = classp; (next = p->next_same_value) && CHEAPER (next, elt);
1583 elt->next_same_value = next;
1585 next->prev_same_value = elt;
1587 elt->prev_same_value = p;
1588 p->next_same_value = elt;
1589 elt->first_same_value = classp;
1593 elt->first_same_value = elt;
1610 if (elt->is_const && classp && REG_P (classp->exp)
1623 && ! elt->is_const)
1672 elt->related_value = subelt_prev->related_value;
1673 subelt_prev->related_value = elt;
1679 return elt;
1695 struct table_elt *elt, *next, *new;
1705 for (elt = class2; elt; elt = next)
1708 rtx exp = elt->exp;
1709 enum machine_mode mode = elt->mode;
1711 next = elt->next_same_value;
1732 remove_from_table (elt, hash);
2097 use_related_value (rtx x, struct table_elt *elt)
2107 if (elt != 0 && elt->related_value != 0)
2108 relt = elt;
2109 else if (elt == 0 && GET_CODE (x) == CONST)
2296 rtx elt;
2302 elt = CONST_VECTOR_ELT (x, i);
2303 hash += hash_rtx (elt, GET_MODE (elt), do_not_record_p,
2872 struct table_elt *elt;
2940 elt = lookup (addr, hash, Pmode);
2942 if (elt)
2949 for (p = elt->first_same_value; p; p = p->next_same_value)
2955 int best_rtx_cost = (elt->cost + 1) >> 1;
2957 struct table_elt *best_elt = elt;
2960 for (p = elt->first_same_value; p; p = p->next_same_value)
3008 elt = lookup (XEXP (*loc, 0), hash, Pmode);
3009 if (elt == 0)
3017 for (p = elt->first_same_value; p; p = p->next_same_value)
3024 struct table_elt *best_elt = elt;
3035 for (p = elt->first_same_value, count = 0;
3301 struct table_elt *elt;
3305 && (elt = lookup (SUBREG_REG (x), HASH (SUBREG_REG (x), imode),
3307 for (elt = elt->first_same_value; elt; elt = elt->next_same_value)
3309 if (CONSTANT_P (elt->exp)
3310 && GET_MODE (elt->exp) == VOIDmode)
3311 return elt->exp;
3313 if (GET_CODE (elt->exp) == SUBREG
3314 && GET_MODE (SUBREG_REG (elt->exp)) == mode
3315 && exp_equiv_p (elt->exp, elt->exp, 1, false))
3316 return copy_rtx (SUBREG_REG (elt->exp));
3342 struct table_elt *elt;
3344 elt = lookup (folded_arg0,
3348 if (elt)
3349 elt = elt->first_same_value;
3368 for (; elt; elt = elt->next_same_value)
3370 enum rtx_code eltcode = GET_CODE (elt->exp);
3373 if (UNARY_P (elt->exp)
3376 && GET_CODE (XEXP (elt->exp, 0)) == SUBREG
3377 && GET_MODE (SUBREG_REG (XEXP (elt->exp, 0))) == mode
3379 == GET_MODE_CLASS (GET_MODE (XEXP (elt->exp, 0)))))
3381 rtx op0 = SUBREG_REG (XEXP (elt->exp, 0));
3388 new = simplify_unary_operation (GET_CODE (elt->exp), mode,
3391 else if (ARITHMETIC_P (elt->exp)
3396 && ((GET_CODE (XEXP (elt->exp, 0)) == SUBREG
3397 && (GET_MODE (SUBREG_REG (XEXP (elt->exp, 0)))
3399 || CONSTANT_P (XEXP (elt->exp, 0)))
3400 && ((GET_CODE (XEXP (elt->exp, 1)) == SUBREG
3401 && (GET_MODE (SUBREG_REG (XEXP (elt->exp, 1)))
3403 || CONSTANT_P (XEXP (elt->exp, 1))))
3405 rtx op0 = gen_lowpart_common (mode, XEXP (elt->exp, 0));
3406 rtx op1 = gen_lowpart_common (mode, XEXP (elt->exp, 1));
3426 && GET_CODE (elt->exp) == ASHIFT
3431 < GET_MODE_BITSIZE (GET_MODE (elt->exp)))
3442 new = simplify_binary_operation (GET_CODE (elt->exp),
3446 else if (GET_CODE (elt->exp) == SUBREG
3447 && GET_MODE (SUBREG_REG (elt->exp)) == mode
3450 && exp_equiv_p (elt->exp, elt->exp, 1, false))
3451 new = copy_rtx (SUBREG_REG (elt->exp));
3462 for (; elt; elt = elt->next_same_value)
3464 if (GET_CODE (elt->exp) == ZERO_EXTEND
3466 >= GET_MODE_BITSIZE (GET_MODE (XEXP (elt->exp, 0))))
4517 struct table_elt *elt;
4523 elt = lookup (x, SAFE_HASH (x, GET_MODE (x)), GET_MODE (x));
4524 if (elt == 0)
4527 for (elt = elt->first_same_value; elt; elt = elt->next_same_value)
4528 if (elt->is_const && CONSTANT_P (elt->exp))
4529 return elt->exp;
5104 struct table_elt *elt = 0, *p;
5242 elt = lookup (src, sets[i].src_hash, mode);
5244 sets[i].src_elt = elt;
5246 if (elt && src_eqv_here && src_eqv_elt)
5248 if (elt->first_same_value != src_eqv_elt->first_same_value)
5252 merge_equiv_classes (elt, src_eqv_elt);
5253 src_eqv_hash = HASH (src_eqv, elt->mode);
5254 src_eqv_elt = lookup (src_eqv, src_eqv_hash, elt->mode);
5261 elt = src_eqv_elt;
5267 if (elt)
5268 for (p = elt->first_same_value; p; p = p->next_same_value)
5272 src_const_elt = elt;
5284 src_const = src_folded, src_const_elt = elt;
5302 if (src_const_elt && elt
5303 && src_const_elt->first_same_value != elt->first_same_value)
5304 merge_equiv_classes (elt, src_const_elt);
5305 else if (src_const_elt && elt == 0)
5306 elt = src_const_elt;
5319 if (src_related_elt && elt)
5321 if (elt->first_same_value
5326 merge_equiv_classes (elt, src_related_elt);
5331 else if (src_related_elt && elt == 0)
5332 elt = src_related_elt;
5473 if (elt)
5474 elt = elt->first_same_value;
5475 for (p = elt; p; p = p->next_same_value)
5578 while (elt && !REG_P (elt->exp)
5579 && ! exp_equiv_p (elt->exp, elt->exp, 1, false))
5580 elt = elt->next_same_value;
5585 if (elt != 0
5586 && GET_CODE (elt->exp) == SUBREG
5587 && (GET_MODE_SIZE (GET_MODE (elt->exp))
5588 > GET_MODE_SIZE (GET_MODE (SUBREG_REG (elt->exp))))
5593 && GET_MODE (src) == GET_MODE (elt->exp)
5595 < GET_MODE_SIZE (GET_MODE (SUBREG_REG (elt->exp))))))
5597 elt = elt->next_same_value;
5601 if (elt)
5603 src_elt_cost = elt->cost;
5604 src_elt_regcost = elt->regcost;
5648 trial = copy_rtx (elt->exp);
5649 elt = elt->next_same_value;
5998 struct table_elt *elt;
6013 elt = insert (src_eqv, classp, src_eqv_hash, eqvmode);
6014 elt->in_memory = src_eqv_in_memory;
6015 src_eqv_elt = elt;
6018 does not yet have an elt, and if so set the elt of the set source
6067 struct table_elt *elt;
6077 elt = insert (src, classp, sets[i].src_hash, mode);
6078 elt->in_memory = sets[i].src_in_memory;
6079 sets[i].src_elt = classp = elt;
6104 struct table_elt *elt;
6113 elt = lookup (x, hash, mode);
6114 if (!elt)
6124 elt = insert (x, NULL, hash, mode);
6127 sets[i].dest_addr_elt = elt;
6235 /* The elt was removed, which means this destination is not
6240 /* If elt was removed, find current head of same class,
6243 struct table_elt *elt = sets[i].src_elt;
6245 while (elt && elt->prev_same_value)
6246 elt = elt->prev_same_value;
6248 while (elt && elt->first_same_value == 0)
6249 elt = elt->next_same_value;
6250 sets[i].src_elt = elt ? elt->first_same_value : 0;
6260 struct table_elt *elt;
6308 elt = insert (dest, sets[i].src_elt,
6311 elt->in_memory = (MEM_P (sets[i].inner_dest)
6338 struct table_elt *elt, *classp = 0;
6340 for (elt = sets[i].src_elt->first_same_value; elt;
6341 elt = elt->next_same_value)
6349 if (!REG_P (elt->exp)
6350 && ! exp_equiv_p (elt->exp, elt->exp, 1, false))
6355 if (GET_MODE (elt->exp) == new_mode)
6356 new_src = elt->exp;
6366 new_src = simplify_gen_subreg (new_mode, elt->exp,
6392 src_elt->in_memory = elt->in_memory;
7477 rtx elt = XVECEXP (PATTERN (insn), 0, i);
7479 if (GET_CODE (elt) == SET)
7481 if (set_live_p (elt, insn, counts))
7484 else if (GET_CODE (elt) != CLOBBER && GET_CODE (elt) != USE)