|
|
1.1 ! root 1: 0 for the whole things. */ ! 2: ! 3: fmt = GET_RTX_FORMAT (code); ! 4: for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) ! 5: { ! 6: register int j; ! 7: switch (fmt[i]) ! 8: { ! 9: case 'i': ! 10: if (XINT (x, i) != XINT (y, i)) ! 11: return 0; ! 12: break; ! 13: ! 14: case 's': ! 15: if (strcmp (XSTR (x, i), XSTR (y, i))) ! 16: return 0; ! 17: break; ! 18: ! 19: case 'e': ! 20: if (! rtx_renumbered_equal_p (XEXP (x, i), XEXP (y, i))) ! 21: return 0; ! 22: break; ! 23: ! 24: case '0': ! 25: break; ! 26: ! 27: case 'E': ! 28: if (XVECLEN (x, i) != XVECLEN (y, i)) ! 29: return 0; ! 30: for (j = XVECLEN (x, i) - 1; j >= 0; j--) ! 31: if (!rtx_renumbered_equal_p (XVECEXP (x, i, j), XVECEXP (y, i, j))) ! 32: return 0; ! 33: break; ! 34: ! 35: /* It is believed that rtx's at this level will never ! 36: contain anything but integers and other rtx's, ! 37: except for within LABEL_REFs and SYMBOL_REFs. */ ! 38: default: ! 39: abort (); ! 40: } ! 41: } ! 42: return 1; ! 43: } ! 44: ! 45: /* If X is a hard register or equivalent to one or a subregister of one, ! 46: return the hard register number. Otherwise, return -1. ! 47: Any rtx is valid for X. */ ! 48: ! 49: int ! 50: true_regnum (x) ! 51: rtx x; ! 52: { ! 53: if (GET_CODE (x) == REG) ! 54: { ! 55: if (REGNO (x) >= FIRST_PSEUDO_REGISTER) ! 56: return reg_renumber[R
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.