aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-11-09 11:04:44 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1995-11-09 11:04:44 -0500
commit67ca0b229bc378fe7b434b1a25c493f9562c9b2c (patch)
tree7ba714c2b0ce65b122cc422467e18aa89c97fae9
parent2ae342f72c43bc0092015de765be3dd164a3ab24 (diff)
downloadgcc-67ca0b229bc378fe7b434b1a25c493f9562c9b2c.zip
gcc-67ca0b229bc378fe7b434b1a25c493f9562c9b2c.tar.gz
gcc-67ca0b229bc378fe7b434b1a25c493f9562c9b2c.tar.bz2
(REG_ALLOC_ORDER): Define.
(REGNO_OK_FOR_BASE_P): Include stack pointer in test against reg_renumber[REGNO]. (ASM_OUTPUT_DESTRUCTOR): Remove bogus assembler comment. From-SVN: r10574
-rw-r--r--gcc/config/1750a/1750a.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/config/1750a/1750a.h b/gcc/config/1750a/1750a.h
index ac98eff..6fb892e 100644
--- a/gcc/config/1750a/1750a.h
+++ b/gcc/config/1750a/1750a.h
@@ -200,6 +200,13 @@ extern char *strdup(), *float_label();
{ 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1 }
+/* Order in which to allocate registers. Each register must be
+ listed once, even those in FIXED_REGISTERS. List frame pointer
+ late and fixed registers last. Note that, in general, we prefer
+ registers listed in CALL_USED_REGISTERS, keeping the others
+ available for storage of persistent values. */
+#define REG_ALLOC_ORDER \
+ { 2, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
/* Return number of consecutive hard regs needed starting at reg REGNO
to hold something of mode MODE.
This is ordinarily the length in words of a value of mode MODE
@@ -682,7 +689,7 @@ enum reg_class { NO_REGS, R2, R0_1, INDEX_REGS, BASE_REGS, ALL_REGS, LIM_REG_CLA
#define REGNO_OK_FOR_BASE_P(REGNO) \
((REGNO) > 0 && (REGNO) <= 15 || \
- reg_renumber[REGNO] > 0 && reg_renumber[REGNO] < 15)
+ reg_renumber[REGNO] > 0 && reg_renumber[REGNO] <= 15)
#define REGNO_OK_FOR_INDEX_P(REGNO) \
((REGNO) >= 12 && (REGNO) <= 15 || \
reg_renumber[REGNO] >= 12 && reg_renumber[REGNO] <= 15)
@@ -1264,8 +1271,8 @@ enum reg_class { NO_REGS, R2, R0_1, INDEX_REGS, BASE_REGS, ALL_REGS, LIM_REG_CLA
fprintf(FILE," ;constructor\n"); } while (0)
#define ASM_OUTPUT_DESTRUCTOR(FILE, NAME) do { \
- fprintf(FILE, "\t; ASM_OUTPUT_DESTRUCTOR called for "); \
- assemble_name(FILE, NAME); } while (0)
+ fprintf(FILE, "\tinit\n\t"); assemble_name(FILE, NAME); \
+ fprintf(FILE," ;destructor"); } while (0)
/* Define the parentheses used to group arithmetic operations
in assembler code. */