このページを編集する際は,編集に関する方針に従ってください.[]
概要[]
引数[]
- void
実装[]
554 /* Compute the table of register modes.
555 These values are used to record death information for individual registers
556 (as opposed to a multi-register mode). */
557
558 void
559 init_reg_modes_once (void)
560 {
561 int i, j;
562
563 for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
564 for (j = 0; j < MAX_MACHINE_MODE; j++)
565 hard_regno_nregs[i][j] = HARD_REGNO_NREGS(i, (enum machine_mode)j);
566
567 for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
568 {
569 reg_raw_mode[i] = choose_hard_reg_mode (i, 1, false);
570
571 /* If we couldn't find a valid mode, just use the previous mode.
572 ??? One situation in which we need to do this is on the mips where
573 HARD_REGNO_NREGS (fpreg, [SD]Fmode) returns 2. Ideally we'd like
574 to use DF mode for the even registers and VOIDmode for the odd
575 (for the cpu models where the odd ones are inaccessible). */
576 if (reg_raw_mode[i] == VOIDmode)
577 reg_raw_mode[i] = i == 0 ? word_mode : reg_raw_mode[i-1];
578 }
579 }