aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDouglas B Rupp <rupp@gnat.com>2001-11-17 08:17:03 -0500
committerRichard Kenner <kenner@gcc.gnu.org>2001-11-17 08:17:03 -0500
commit5370b45d94fa38b4bed55121b47cd9ddbdf7baa3 (patch)
treeedc77659051b74f4a67ce5555ddc5831f398202f /gcc
parentb0df4321ea7db2dbe0194cec032926c5cf31c11d (diff)
downloadgcc-5370b45d94fa38b4bed55121b47cd9ddbdf7baa3.zip
gcc-5370b45d94fa38b4bed55121b47cd9ddbdf7baa3.tar.gz
gcc-5370b45d94fa38b4bed55121b47cd9ddbdf7baa3.tar.bz2
* config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
From-SVN: r47118
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/alpha/vms.h44
2 files changed, 48 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c270aa3..52e8273 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
+
+ * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
+
2001-11-16 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.md: Change all ldvx to lvx.
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
index 3b00b26..20389ed 100644
--- a/gcc/config/alpha/vms.h
+++ b/gcc/config/alpha/vms.h
@@ -108,6 +108,50 @@ Boston, MA 02111-1307, USA. */
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
+/* List the order in which to allocate registers. Each register must be
+ listed once, even those in FIXED_REGISTERS.
+
+ We allocate in the following order:
+ $f1 (nonsaved floating-point register)
+ $f10-$f15 (likewise)
+ $f22-$f30 (likewise)
+ $f21-$f16 (likewise, but input args)
+ $f0 (nonsaved, but return value)
+ $f2-$f9 (saved floating-point registers)
+ $1 (nonsaved integer registers)
+ $22-$25 (likewise)
+ $28 (likewise)
+ $0 (likewise, but return value)
+ $21-$16 (likewise, but input args)
+ $27 (procedure value in OSF, nonsaved in NT)
+ $2-$8 (saved integer registers)
+ $9-$14 (saved integer registers)
+ $26 (return PC)
+ $15 (frame pointer)
+ $29 (global pointer)
+ $30, $31, $f31 (stack pointer and always zero/ap & fp) */
+
+#undef REG_ALLOC_ORDER
+#define REG_ALLOC_ORDER \
+ {33, \
+ 42, 43, 44, 45, 46, 47, \
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, \
+ 53, 52, 51, 50, 49, 48, \
+ 32, \
+ 34, 35, 36, 37, 38, 39, 40, 41, \
+ 1, \
+ 22, 23, 24, 25, \
+ 28, \
+ 0, \
+ 21, 20, 19, 18, 17, 16, \
+ 27, \
+ 2, 3, 4, 5, 6, 7, 8, \
+ 9, 10, 11, 12, 13, 14, \
+ 26, \
+ 15, \
+ 29, \
+ 30, 31, 63 }
+
#undef HARD_FRAME_POINTER_REGNUM
#define HARD_FRAME_POINTER_REGNUM 29