diff options
Diffstat (limited to 'gcc')
-rwxr-xr-x | gcc/global.c | 10 | ||||
-rwxr-xr-x | gcc/hard-reg-set.h | 310 | ||||
-rwxr-xr-x | gcc/local-alloc.c | 6 | ||||
-rwxr-xr-x | gcc/regclass.c | 38 | ||||
-rwxr-xr-x | gcc/reload1.c | 47 | ||||
-rwxr-xr-x | gcc/stupid.c | 6 | ||||
-rwxr-xr-x | gcc/sys-types.h | 240 | ||||
-rwxr-xr-x | gcc/tmp-emsgids.c | 96 |
8 files changed, 7 insertions, 746 deletions
diff --git a/gcc/global.c b/gcc/global.c index 715ee2c..590935a 100755 --- a/gcc/global.c +++ b/gcc/global.c @@ -990,11 +990,7 @@ find_reg (allocno, losers, alt_regs_p, accept_call_clobbered, retrying) for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) { -#ifdef REG_ALLOC_ORDER - int regno = reg_alloc_order[i]; -#else int regno = i; -#endif if (! TEST_HARD_REG_BIT (used, regno) && HARD_REGNO_MODE_OK (regno, mode) && (allocno_calls_crossed[allocno] == 0 @@ -1012,9 +1008,7 @@ find_reg (allocno, losers, alt_regs_p, accept_call_clobbered, retrying) best_reg = regno; break; } -#ifndef REG_ALLOC_ORDER i = j; /* Skip starting points we know will lose */ -#endif } } } @@ -1145,11 +1139,7 @@ find_reg (allocno, losers, alt_regs_p, accept_call_clobbered, retrying) /* Count from the end, to find the least-used ones first. */ for (i = FIRST_PSEUDO_REGISTER - 1; i >= 0; i--) { -#ifdef REG_ALLOC_ORDER - int regno = reg_alloc_order[i]; -#else int regno = i; -#endif if (local_reg_n_refs[regno] != 0 /* Don't use a reg no good for this pseudo. */ diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h index 8dfbc19..b97ea1c 100755 --- a/gcc/hard-reg-set.h +++ b/gcc/hard-reg-set.h @@ -24,10 +24,8 @@ Boston, MA 02111-1307, USA. */ /* HARD_REG_ELT_TYPE is a typedef of the unsigned integral type which will be used for hard reg sets, either alone or in an array. - If HARD_REG_SET is a macro, its definition is HARD_REG_ELT_TYPE, - and it has enough bits to represent all the target machine's hard - registers. Otherwise, it is a typedef for a suitably sized array - of HARD_REG_ELT_TYPEs. HARD_REG_SET_LONGS is defined as how many. + HARD_REG_SET is a macro. Its definition is HARD_REG_ELT_TYPE, + and it has enough bits to represent all the THUMB hard registers. Note that lots of code assumes that the first part of a regset is the same format as a HARD_REG_SET. To help make sure this is true, @@ -38,19 +36,8 @@ Boston, MA 02111-1307, USA. */ typedef unsigned HOST_WIDE_INT HARD_REG_ELT_TYPE; -#if FIRST_PSEUDO_REGISTER <= HOST_BITS_PER_WIDE_INT - #define HARD_REG_SET HARD_REG_ELT_TYPE -#else - -#define HARD_REG_SET_LONGS \ - ((FIRST_PSEUDO_REGISTER + HOST_BITS_PER_WIDE_INT - 1) \ - / HOST_BITS_PER_WIDE_INT) -typedef HARD_REG_ELT_TYPE HARD_REG_SET[HARD_REG_SET_LONGS]; - -#endif - /* HARD_CONST is used to cast a constant to the appropriate type for use with a HARD_REG_SET. */ @@ -83,8 +70,6 @@ typedef HARD_REG_ELT_TYPE HARD_REG_SET[HARD_REG_SET_LONGS]; if X is a subset of Y, go to TO. */ -#ifdef HARD_REG_SET - #define SET_HARD_REG_BIT(SET, BIT) \ ((SET) |= HARD_CONST (1) << (BIT)) #define CLEAR_HARD_REG_BIT(SET, BIT) \ @@ -107,282 +92,6 @@ typedef HARD_REG_ELT_TYPE HARD_REG_SET[HARD_REG_SET_LONGS]; #define GO_IF_HARD_REG_EQUAL(X,Y,TO) if ((X) == (Y)) goto TO -#else - -#define UHOST_BITS_PER_WIDE_INT ((unsigned) HOST_BITS_PER_WIDE_INT) - -#define SET_HARD_REG_BIT(SET, BIT) \ - ((SET)[(BIT) / UHOST_BITS_PER_WIDE_INT] \ - |= HARD_CONST (1) << ((BIT) % UHOST_BITS_PER_WIDE_INT)) - -#define CLEAR_HARD_REG_BIT(SET, BIT) \ - ((SET)[(BIT) / UHOST_BITS_PER_WIDE_INT] \ - &= ~(HARD_CONST (1) << ((BIT) % UHOST_BITS_PER_WIDE_INT))) - -#define TEST_HARD_REG_BIT(SET, BIT) \ - ((SET)[(BIT) / UHOST_BITS_PER_WIDE_INT] \ - & (HARD_CONST (1) << ((BIT) % UHOST_BITS_PER_WIDE_INT))) - -#if FIRST_PSEUDO_REGISTER <= 2*HOST_BITS_PER_WIDE_INT -#define CLEAR_HARD_REG_SET(TO) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO); \ - scan_tp_[0] = 0; \ - scan_tp_[1] = 0; } while (0) - -#define SET_HARD_REG_SET(TO) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO); \ - scan_tp_[0] = -1; \ - scan_tp_[1] = -1; } while (0) - -#define COPY_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] = scan_fp_[0]; \ - scan_tp_[1] = scan_fp_[1]; } while (0) - -#define COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] = ~ scan_fp_[0]; \ - scan_tp_[1] = ~ scan_fp_[1]; } while (0) - -#define AND_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] &= scan_fp_[0]; \ - scan_tp_[1] &= scan_fp_[1]; } while (0) - -#define AND_COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] &= ~ scan_fp_[0]; \ - scan_tp_[1] &= ~ scan_fp_[1]; } while (0) - -#define IOR_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] |= scan_fp_[0]; \ - scan_tp_[1] |= scan_fp_[1]; } while (0) - -#define IOR_COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] |= ~ scan_fp_[0]; \ - scan_tp_[1] |= ~ scan_fp_[1]; } while (0) - -#define GO_IF_HARD_REG_SUBSET(X,Y,TO) \ -do { register HARD_REG_ELT_TYPE *scan_xp_ = (X), *scan_yp_ = (Y); \ - if ((0 == (scan_xp_[0] & ~ scan_yp_[0])) \ - && (0 == (scan_xp_[1] & ~ scan_yp_[1]))) \ - goto TO; } while (0) - -#define GO_IF_HARD_REG_EQUAL(X,Y,TO) \ -do { register HARD_REG_ELT_TYPE *scan_xp_ = (X), *scan_yp_ = (Y); \ - if ((scan_xp_[0] == scan_yp_[0]) \ - && (scan_xp_[1] == scan_yp_[1])) \ - goto TO; } while (0) - -#else -#if FIRST_PSEUDO_REGISTER <= 3*HOST_BITS_PER_WIDE_INT -#define CLEAR_HARD_REG_SET(TO) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO); \ - scan_tp_[0] = 0; \ - scan_tp_[1] = 0; \ - scan_tp_[2] = 0; } while (0) - -#define SET_HARD_REG_SET(TO) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO); \ - scan_tp_[0] = -1; \ - scan_tp_[1] = -1; \ - scan_tp_[2] = -1; } while (0) - -#define COPY_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] = scan_fp_[0]; \ - scan_tp_[1] = scan_fp_[1]; \ - scan_tp_[2] = scan_fp_[2]; } while (0) - -#define COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] = ~ scan_fp_[0]; \ - scan_tp_[1] = ~ scan_fp_[1]; \ - scan_tp_[2] = ~ scan_fp_[2]; } while (0) - -#define AND_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] &= scan_fp_[0]; \ - scan_tp_[1] &= scan_fp_[1]; \ - scan_tp_[2] &= scan_fp_[2]; } while (0) - -#define AND_COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] &= ~ scan_fp_[0]; \ - scan_tp_[1] &= ~ scan_fp_[1]; \ - scan_tp_[2] &= ~ scan_fp_[2]; } while (0) - -#define IOR_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] |= scan_fp_[0]; \ - scan_tp_[1] |= scan_fp_[1]; \ - scan_tp_[2] |= scan_fp_[2]; } while (0) - -#define IOR_COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] |= ~ scan_fp_[0]; \ - scan_tp_[1] |= ~ scan_fp_[1]; \ - scan_tp_[2] |= ~ scan_fp_[2]; } while (0) - -#define GO_IF_HARD_REG_SUBSET(X,Y,TO) \ -do { register HARD_REG_ELT_TYPE *scan_xp_ = (X), *scan_yp_ = (Y); \ - if ((0 == (scan_xp_[0] & ~ scan_yp_[0])) \ - && (0 == (scan_xp_[1] & ~ scan_yp_[1])) \ - && (0 == (scan_xp_[2] & ~ scan_yp_[2]))) \ - goto TO; } while (0) - -#define GO_IF_HARD_REG_EQUAL(X,Y,TO) \ -do { register HARD_REG_ELT_TYPE *scan_xp_ = (X), *scan_yp_ = (Y); \ - if ((scan_xp_[0] == scan_yp_[0]) \ - && (scan_xp_[1] == scan_yp_[1]) \ - && (scan_xp_[2] == scan_yp_[2])) \ - goto TO; } while (0) - -#else -#if FIRST_PSEUDO_REGISTER <= 4*HOST_BITS_PER_WIDE_INT -#define CLEAR_HARD_REG_SET(TO) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO); \ - scan_tp_[0] = 0; \ - scan_tp_[1] = 0; \ - scan_tp_[2] = 0; \ - scan_tp_[3] = 0; } while (0) - -#define SET_HARD_REG_SET(TO) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO); \ - scan_tp_[0] = -1; \ - scan_tp_[1] = -1; \ - scan_tp_[2] = -1; \ - scan_tp_[3] = -1; } while (0) - -#define COPY_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] = scan_fp_[0]; \ - scan_tp_[1] = scan_fp_[1]; \ - scan_tp_[2] = scan_fp_[2]; \ - scan_tp_[3] = scan_fp_[3]; } while (0) - -#define COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] = ~ scan_fp_[0]; \ - scan_tp_[1] = ~ scan_fp_[1]; \ - scan_tp_[2] = ~ scan_fp_[2]; \ - scan_tp_[3] = ~ scan_fp_[3]; } while (0) - -#define AND_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] &= scan_fp_[0]; \ - scan_tp_[1] &= scan_fp_[1]; \ - scan_tp_[2] &= scan_fp_[2]; \ - scan_tp_[3] &= scan_fp_[3]; } while (0) - -#define AND_COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] &= ~ scan_fp_[0]; \ - scan_tp_[1] &= ~ scan_fp_[1]; \ - scan_tp_[2] &= ~ scan_fp_[2]; \ - scan_tp_[3] &= ~ scan_fp_[3]; } while (0) - -#define IOR_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] |= scan_fp_[0]; \ - scan_tp_[1] |= scan_fp_[1]; \ - scan_tp_[2] |= scan_fp_[2]; \ - scan_tp_[3] |= scan_fp_[3]; } while (0) - -#define IOR_COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - scan_tp_[0] |= ~ scan_fp_[0]; \ - scan_tp_[1] |= ~ scan_fp_[1]; \ - scan_tp_[2] |= ~ scan_fp_[2]; \ - scan_tp_[3] |= ~ scan_fp_[3]; } while (0) - -#define GO_IF_HARD_REG_SUBSET(X,Y,TO) \ -do { register HARD_REG_ELT_TYPE *scan_xp_ = (X), *scan_yp_ = (Y); \ - if ((0 == (scan_xp_[0] & ~ scan_yp_[0])) \ - && (0 == (scan_xp_[1] & ~ scan_yp_[1])) \ - && (0 == (scan_xp_[2] & ~ scan_yp_[2])) \ - && (0 == (scan_xp_[3] & ~ scan_yp_[3]))) \ - goto TO; } while (0) - -#define GO_IF_HARD_REG_EQUAL(X,Y,TO) \ -do { register HARD_REG_ELT_TYPE *scan_xp_ = (X), *scan_yp_ = (Y); \ - if ((scan_xp_[0] == scan_yp_[0]) \ - && (scan_xp_[1] == scan_yp_[1]) \ - && (scan_xp_[2] == scan_yp_[2]) \ - && (scan_xp_[3] == scan_yp_[3])) \ - goto TO; } while (0) - -#else /* FIRST_PSEUDO_REGISTER > 3*HOST_BITS_PER_WIDE_INT */ - -#define CLEAR_HARD_REG_SET(TO) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - *scan_tp_++ = 0; } while (0) - -#define SET_HARD_REG_SET(TO) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - *scan_tp_++ = -1; } while (0) - -#define COPY_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - *scan_tp_++ = *scan_fp_++; } while (0) - -#define COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - *scan_tp_++ = ~ *scan_fp_++; } while (0) - -#define AND_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - *scan_tp_++ &= *scan_fp_++; } while (0) - -#define AND_COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - *scan_tp_++ &= ~ *scan_fp_++; } while (0) - -#define IOR_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - *scan_tp_++ |= *scan_fp_++; } while (0) - -#define IOR_COMPL_HARD_REG_SET(TO, FROM) \ -do { register HARD_REG_ELT_TYPE *scan_tp_ = (TO), *scan_fp_ = (FROM); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - *scan_tp_++ |= ~ *scan_fp_++; } while (0) - -#define GO_IF_HARD_REG_SUBSET(X,Y,TO) \ -do { register HARD_REG_ELT_TYPE *scan_xp_ = (X), *scan_yp_ = (Y); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - if (0 != (*scan_xp_++ & ~ *scan_yp_++)) break; \ - if (i == HARD_REG_SET_LONGS) goto TO; } while (0) - -#define GO_IF_HARD_REG_EQUAL(X,Y,TO) \ -do { register HARD_REG_ELT_TYPE *scan_xp_ = (X), *scan_yp_ = (Y); \ - register int i; \ - for (i = 0; i < HARD_REG_SET_LONGS; i++) \ - if (*scan_xp_++ != *scan_yp_++) break; \ - if (i == HARD_REG_SET_LONGS) goto TO; } while (0) - -#endif -#endif -#endif -#endif - /* Define some standard sets of registers. */ /* Indexed by hard register number, contains 1 for registers @@ -429,21 +138,6 @@ extern HARD_REG_SET call_fixed_reg_set; extern char global_regs[FIRST_PSEUDO_REGISTER]; -/* Table of register numbers in the order in which to try to use them. */ - -#ifdef REG_ALLOC_ORDER /* Avoid undef symbol in certain broken linkers. */ -extern int reg_alloc_order[FIRST_PSEUDO_REGISTER]; -#endif - -/* CYGNUS LOCAL z8k */ -/* Table of register numbers in the order in which to try to use them - for reloads. */ -/* ??? Hack, see reload1.c. */ -#ifdef RELOAD_ALLOC_ORDER -extern int reload_alloc_order[FIRST_PSEUDO_REGISTER]; -#endif -/* END CYGNUS LOCAL */ - /* For each reg class, a HARD_REG_SET saying which registers are in it. */ extern HARD_REG_SET reg_class_contents[]; diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 1fbb20b..fcaf982 100755 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -1955,11 +1955,7 @@ find_free_reg (class, mode, qty, accept_call_clobbered, just_try_suggested, for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) { -#ifdef REG_ALLOC_ORDER - int regno = reg_alloc_order[i]; -#else int regno = i; -#endif if (! TEST_HARD_REG_BIT (first_used, regno) && HARD_REGNO_MODE_OK (regno, mode) && (qty_n_calls_crossed[qty] == 0 @@ -1976,9 +1972,7 @@ find_free_reg (class, mode, qty, accept_call_clobbered, just_try_suggested, post_mark_life (regno, mode, 1, born_index, dead_index); return regno; } -#ifndef REG_ALLOC_ORDER i += j; /* Skip starting points we know will lose */ -#endif } } diff --git a/gcc/regclass.c b/gcc/regclass.c index 97e8228..6104997 100755 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -111,20 +111,6 @@ int n_non_fixed_regs; and are also considered fixed. */ char global_regs[FIRST_PSEUDO_REGISTER]; - -/* Table of register numbers in the order in which to try to use them. */ -#ifdef REG_ALLOC_ORDER -int reg_alloc_order[FIRST_PSEUDO_REGISTER] = REG_ALLOC_ORDER; -#endif - -/* CYGNUS LOCAL z8k */ -/* Table of register numbers in the order in which to try to use them - for reloads. */ -/* ??? Hack, see reload1.c. */ -#ifdef RELOAD_ALLOC_ORDER -int reload_alloc_order[FIRST_PSEUDO_REGISTER] = RELOAD_ALLOC_ORDER; -#endif -/* END CYGNUS LOCAL */ /* For each reg class, a HARD_REG_SET saying which registers are in it. */ @@ -257,13 +243,6 @@ init_reg_sets_1 () { register unsigned int i, j; - /* This macro allows the fixed or call-used registers - and the register classes to depend on target flags. */ - -#ifdef CONDITIONAL_REGISTER_USAGE - CONDITIONAL_REGISTER_USAGE; -#endif - /* Compute number of hard regs in each class. */ zero_memory ((char *) reg_class_size, sizeof reg_class_size); @@ -280,11 +259,8 @@ init_reg_sets_1 () { for (j = 0; j < N_REG_CLASSES; j++) { -#ifdef HARD_REG_SET - register /* Declare it register if it's a scalar. */ -#endif - HARD_REG_SET c; - register int k; + HARD_REG_SET c; + int k; COPY_HARD_REG_SET (c, reg_class_contents[i]); IOR_HARD_REG_SET (c, reg_class_contents[j]); @@ -314,11 +290,8 @@ init_reg_sets_1 () { for (j = 0; j < N_REG_CLASSES; j++) { -#ifdef HARD_REG_SET - register /* Declare it register if it's a scalar. */ -#endif - HARD_REG_SET c; - register int k; + HARD_REG_SET c; + int k; COPY_HARD_REG_SET (c, reg_class_contents[i]); IOR_HARD_REG_SET (c, reg_class_contents[j]); @@ -2184,9 +2157,6 @@ reg_classes_intersect_p (c1, c2) register enum reg_class c1; register enum reg_class c2; { -#ifdef HARD_REG_SET - register -#endif HARD_REG_SET c; if (c1 == c2) return 1; diff --git a/gcc/reload1.c b/gcc/reload1.c index 96ae223..22b13af 100755 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4001,39 +4001,8 @@ order_regs_for_reload (chain) FREE_REG_SET (pseudos_counted); /* Prefer registers not so far used, for use in temporary loading. - Among them, if REG_ALLOC_ORDER is defined, use that order. - Otherwise, prefer registers not preserved by calls. */ - -/* CYGNUS LOCAL z8k */ -#ifdef RELOAD_ALLOC_ORDER - /* ??? This is a hack. This will give poor code, but is used for the - z8k because it is currently the only way to ensure that we will be - able to satisfy all of the reloads. Possible other solutions: - - make reload keep track of how many groups of each size are needed, - instead of just remembering the maximum group size - - improve code for making group 4 reloads - -- try looking for combinations of single register spills and potential - reload regs (sample uncompleted code exists for this) - -- try expanding an existing group 2 reload to a group 4 reload - -- unallocate a group 2 reload, try to allocate the group 4 reload, - then reallocate the group 2 reload, if one step fails then all do - - add code to deal with overlapping register groups(?). */ - for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - potential_reload_regs[i] = reload_alloc_order[i]; -#else -/* END CYGNUS LOCAL */ - - -#ifdef REG_ALLOC_ORDER - for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - { - int regno = reg_alloc_order[i]; + Prefer registers not preserved by calls. */ - if (hard_reg_n_uses[regno].uses == 0 - && ! TEST_HARD_REG_BIT (bad_spill_regs, regno)) - potential_reload_regs[o++] = regno; - } -#else for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) { if (hard_reg_n_uses[i].uses == 0 && call_used_regs[i] @@ -4046,7 +4015,6 @@ order_regs_for_reload (chain) && ! TEST_HARD_REG_BIT (bad_spill_regs, i)) potential_reload_regs[o++] = i; } -#endif qsort (hard_reg_n_uses, FIRST_PSEUDO_REGISTER, sizeof hard_reg_n_uses[0], hard_reg_use_compare); @@ -4062,9 +4030,6 @@ order_regs_for_reload (chain) for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) if (TEST_HARD_REG_BIT (bad_spill_regs, hard_reg_n_uses[i].regno)) potential_reload_regs[o++] = hard_reg_n_uses[i].regno; -/* CYGNUS LOCAL z8k */ -#endif -/* END CYGNUS LOCAL */ } /* Reload pseudo-registers into hard regs around each insn as needed. @@ -5308,19 +5273,9 @@ allocate_reload_reg (chain, r, last_reload, noerror) allocating the first one in such a way that we are not left with sufficient groups to handle the rest. */ -/* CYGNUS LOCAL z8k */ -#ifndef RELOAD_ALLOC_ORDER - /* If RELOAD_ALLOC_ORDER is defined, then we must always take spill - registers in that defined order, so this round-robin must be - disabled. */ -/* END CYGNUS LOCAL */ - if (noerror || ! force_group) i = last_spill_reg; else -/* CYGNUS LOCAL z8k */ -#endif -/* END CYGNUS LOCAL */ i = -1; for (count = 0; count < n_spills; count++) diff --git a/gcc/stupid.c b/gcc/stupid.c index 1ba8881..d912a33 100755 --- a/gcc/stupid.c +++ b/gcc/stupid.c @@ -542,11 +542,7 @@ stupid_find_reg (call_preserved, class, mode, for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) { -#ifdef REG_ALLOC_ORDER - int regno = reg_alloc_order[i]; -#else int regno = i; -#endif /* If a register has screwy overlap problems, don't use it at all if not optimizing. @@ -574,9 +570,7 @@ stupid_find_reg (call_preserved, class, mode, } return regno; } -#ifndef REG_ALLOC_ORDER i += j; /* Skip starting points we know will lose */ -#endif } } diff --git a/gcc/sys-types.h b/gcc/sys-types.h deleted file mode 100755 index 7db46f1..0000000 --- a/gcc/sys-types.h +++ /dev/null @@ -1,240 +0,0 @@ -enum clnt_stat { ___fake1 }; -enum auth_stat { ___fake2 }; - -struct netconfig; -struct netbuf; -struct address; -struct tm; -struct ldfile; -struct syment; -struct stat; -struct timeval; -struct termios; -struct tms; -struct dma_cb; -struct cred; -struct vnode; -struct vattr; -struct uarg; -struct statfs; -struct statvfs; -struct dirent; -struct itimerval; -struct mnttab; -struct strbuf; -struct vfstab; -struct ldfile; -struct syment; -struct scnhdr; -struct exception; -struct nd_hostservlist; -struct nd_hostserv; -struct utsname; -struct uio; -struct pid; -struct pollfd; -struct nlist; -struct passwd; -struct spwd; -struct flock; -struct seg; -struct sembuf; -struct sigaction; -struct utimbuf; -struct map; -struct filehdr; -struct lineno; -struct nd_addrlist; -struct FTW; -struct buf; -struct ustat; -struct qelem; -struct prpsinfo; -struct user; -struct qelem; -struct execenv; -struct utmpx; - -struct direct; -struct tm; -struct stat; -struct rlimit; -struct rusage; -struct sockaddr; -struct sockaddr_in; -struct timeval { int i; }; -struct exportent; -struct fstab; -struct hostent; -struct in_addr { int i; }; -struct ldfile; -struct mallinfo { int i; }; -struct mint; -struct nmtent; -struct netent; -struct pmaplist; -struct protoent; -struct rpcent; -struct servent; -struct authdes_cred; -struct rpc_err; -struct ypall_callback; - -union wait; - -/* Get size_t and wchar_t. */ -#include <stddef.h> - -/* #include "sys/types.h" */ -#define ssize_t int - -/* The actual types used here are mostly wrong, - but it is not supposed to matter what types we use here. */ - -typedef int dev_t; -typedef int pid_t; -typedef int gid_t; -typedef int off_t; -typedef int mode_t; -typedef int uid_t; - -typedef int proc_t; -typedef int time_t; -typedef int addr_t; -typedef int caddr_t; -typedef int clock_t; -typedef int div_t; -typedef int ldiv_t; -typedef int dl_t; -typedef int major_t; -typedef int minor_t; -typedef int emcp_t; -typedef int fpclass_t; -typedef int index_t; -typedef int ecb_t; -typedef int aioop_t; -typedef int evver_t; -typedef int evcntlcmds_t; -typedef int idtype_t; -typedef int id_t; -typedef int procset_t; -typedef int hostid_t; -typedef int evpollcmds_t; -typedef int event_t; -typedef int hrtime_t; -typedef int evqcntlcmds_t; -typedef int sigset_t; -typedef int evsiginfo_t; -typedef int evcontext_t; -typedef int evta_t; -typedef int speed_t; -typedef int rlim_t; -typedef int cred_t; -typedef int file_t; -typedef int vnode_t; -typedef int vfs_t; -typedef int fpos_t; -typedef int exhda_t; -typedef int ucontext_t; -typedef int sess_t; -typedef int hrtcmd_t; -typedef int interval_t; -typedef int key_t; -typedef int daddr_t; -typedef int stack_t; -typedef int sigaction_t; -typedef int siginfo_t; -typedef int mblk_t; -typedef int paddr_t; -typedef int qband_t; -typedef int queue_t; -typedef int rf_resource_t; -typedef int sr_mount_t; -typedef int timer_t; -typedef int fpregset_t; -typedef int prstatus_t; -typedef int vfssw_t; -typedef int eucwidth_t; -typedef int page_t; - -typedef int u_int; -typedef int u_short; -typedef int u_long; -typedef int u_char; - -typedef int ushort; -typedef int ulong; -typedef int uint; - -typedef int __gnuc_va_list; - -typedef int archdr; -typedef int AUTH; -typedef int CLIENT; -typedef int DIR; -typedef int ENTRY; -typedef int Elf; -typedef int Elf32_Ehdr; -typedef int Elf32_Phdr; -typedef int Elf32_Shdr; -typedef int Elf_Arhdr; -typedef int Elf_Arsym; -typedef int Elf_Cmd; -typedef int Elf_Data; -typedef int Elf_Scn; -typedef int Elf_Type; -typedef int Elf_Kind; -typedef int FIELD; -typedef int FIELDTYPE; -typedef int PTF_int; -typedef int PTF_void; -typedef int PTF_charP; -typedef int FILE; -typedef int FORM; -typedef int ITEM; -typedef int MENU; -typedef int OPTIONS; -typedef int PANEL; -typedef int FTP_void; -typedef int RPCBLIST; -typedef int SCREEN; -typedef int SVCXPRT; -typedef int TERMINAL; -typedef int WINDOW; -typedef int bool; -typedef int nl_catd; -typedef int nl_item; -typedef int chtype; -typedef int datum; -typedef int fp_rnd; -typedef int spraycumul; -typedef int WORD; -typedef int VISIT; -typedef int ACTION; - -typedef int *jmp_buf; -typedef int *sigjmp_buf; -typedef int xdrproc_t; -typedef int CALL; -typedef int bool_t; -typedef int DBM; -typedef int des_block; -typedef int resultproc_t; - - -#ifdef BSD - -#define mode_t int -#define uid_t int -#define gid_t int -#define time_t long -#define pid_t int -#define signal_ret_t int -#define wait_arg_t union wait - -#else - -#define signal_ret_t void -#define wait_arg_t int - -#endif diff --git a/gcc/tmp-emsgids.c b/gcc/tmp-emsgids.c deleted file mode 100755 index 67e8adb..0000000 --- a/gcc/tmp-emsgids.c +++ /dev/null @@ -1,96 +0,0 @@ -#line 59 "config/arc/arc.h" -_("may not use both -EB and -EL") -#line 176 "config/arm/arm.h" -_("-mapcs-26 and -mapcs-32 may not be used together") -#line 187 "config/arm/arm.h" -_("-msoft-float and -mhard_float may not be used together") -#line 198 "config/arm/arm.h" -_("-mbig-endian and -mlittle-endian may not be used together") -#line 72 "config/arm/riscix.h" -_("-mbsd and -pedantic incompatible") -#line 73 "config/arm/riscix.h" -_("-mbsd and -mxopen incompatible") -#line 74 "config/arm/riscix.h" -_("-mxopen and -pedantic incompatible") -#line 133 "config/arm/riscix.h" -_("-mbsd and -pedantic incompatible") -#line 134 "config/arm/riscix.h" -_("-mbsd and -mxopen incompatible") -#line 135 "config/arm/riscix.h" -_("-mxopen and -pedantic incompatible") -#line 126 "config/dsp16xx/dsp16xx.h" -_("A -ifile option requires a -map option") -#line 135 "config/dsp16xx/dsp16xx.h" -_("A -ifile option requires a -map option") -#line 809 "config/i386/sco5.h" -_("-static not valid with -mcoff") -#line 810 "config/i386/sco5.h" -_("-shared not valid with -mcoff") -#line 811 "config/i386/sco5.h" -_("-symbolic not valid with -mcoff") -#line 847 "config/i386/sco5.h" -_("-fpic is not valid with -mcoff") -#line 848 "config/i386/sco5.h" -_("-fPIC is not valid with -mcoff") -#line 882 "config/i386/sco5.h" -_("-static not valid with -mcoff") -#line 883 "config/i386/sco5.h" -_("-shared not valid with -mcoff") -#line 884 "config/i386/sco5.h" -_("-symbolic not valid with -mcoff") -#line 885 "config/i386/sco5.h" -_("-fpic not valid with -mcoff") -#line 886 "config/i386/sco5.h" -_("-fPIC not valid with -mcoff") -#line 305 "config/i860/fx2800.h" -_("-p option not supported: use -pg instead") -#line 674 "config/mips/mips.h" -_("-pipe is not supported.") -#line 811 "config/mips/mips.h" -_("may not use both -mfp64 and -msingle-float") -#line 812 "config/mips/mips.h" -_("may not use both -mfp64 and -m4650") -#line 815 "config/mips/mips.h" -_("may not use both -EB and -EL") -#line 27 "config/mips/r3900.h" -_("-mhard-float not supported.") -#line 29 "config/mips/r3900.h" -_("-msingle-float and -msoft-float can not both be specified.") -#line 41 "config/mips/r3900.h" -_("-mhard-float not supported.") -#line 43 "config/mips/r3900.h" -_("-msingle-float and -msoft-float can not both be specified.") -#line 166 "config/nextstep.h" -_("-p profiling is no longer supported. Use -pg instead.") -#line 169 "config/nextstep.h" -_("-p profiling is no longer supported. Use -pg instead.") -#line 36 "config/vax/vax.h" -_("profiling not supported with -mg\n") -#line 37 "config/vax/vax.h" -_("profiling not supported with -mg\n") -#line 32 "cp/lang-specs.h" -_("GNU C++ does not support -C without using -E") -#line 45 "cp/lang-specs.h" -_("-pg and -fomit-frame-pointer are incompatible") -#line 56 "cp/lang-specs.h" -_("-pg and -fomit-frame-pointer are incompatible") -#line 603 "gcc.c" -_("GNU C does not support -C without using -E") -#line 617 "gcc.c" -_("-pg and -fomit-frame-pointer are incompatible") -#line 624 "gcc.c" -_("GNU C does not support -C without using -E") -#line 633 "gcc.c" -_("-E required when input is from standard input") -#line 637 "gcc.c" -_("GNU C does not support -C without using -E") -#line 652 "gcc.c" -_("-pg and -fomit-frame-pointer are incompatible") -#line 659 "gcc.c" -_("Compilation of header file requested") -#line 661 "gcc.c" -_("GNU C does not support -C without using -E") -#line 676 "gcc.c" -_("-pg and -fomit-frame-pointer are incompatible") -#line 689 "gcc.c" -_("GNU C does not support -C without using -E") |