aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleg Raikhman <oleg@adapteva.com>2012-11-29 03:05:23 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2012-11-29 03:05:23 +0000
commitd45a0b2b5ad3a77870a202902e0c84e76f88ce17 (patch)
tree5575ba7d17777e87c0fb2ec92e4f036550899ac4
parentd9b83a68e1fc3b4a1a1386189e9e7d4f79323aed (diff)
downloadgcc-d45a0b2b5ad3a77870a202902e0c84e76f88ce17.zip
gcc-d45a0b2b5ad3a77870a202902e0c84e76f88ce17.tar.gz
gcc-d45a0b2b5ad3a77870a202902e0c84e76f88ce17.tar.bz2
epiphany.h (FIXED_REGISTERS, [...]): Make r40..r43 call-used.
* config/epiphany/epiphany.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make r40..r43 call-used. (REG_ALLOC_ORDER): Sort r40..r43 into the call-used registers. From-SVN: r193921
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/epiphany/epiphany.h7
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0aa5d30..9f87c74 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-29 Oleg Raikhman <oleg@adapteva.com>
+
+ * config/epiphany/epiphany.h (FIXED_REGISTERS, CALL_USED_REGISTERS):
+ Make r40..r43 call-used.
+ (REG_ALLOC_ORDER): Sort r40..r43 into the call-used registers.
+
2012-11-29 Joern Rennecke <joern.rennecke@embecosm.com>
* config/epiphany/predicates.md (addsub_operator): New predicate.
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 8c3b1ae..609030c 100644
--- a/gcc/config/epiphany/epiphany.h
+++ b/gcc/config/epiphany/epiphany.h
@@ -241,7 +241,7 @@ along with GCC; see the file COPYING3. If not see
0, 0, 0, 0, 0, 0, 0, 0, /* 016-023, gr16 - gr23 */ \
0, 0, 0, 0, 1, 1, 1, 1, /* 024-031, gr24 - gr31 */ \
0, 0, 0, 0, 0, 0, 0, 0, /* 032-039, gr32 - gr39 */ \
- 1, 1, 1, 1, 0, 0, 0, 0, /* 040-047, gr40 - gr47 */ \
+ 0, 0, 0, 0, 0, 0, 0, 0, /* 040-047, gr40 - gr47 */ \
0, 0, 0, 0, 0, 0, 0, 0, /* 048-055, gr48 - gr55 */ \
0, 0, 0, 0, 0, 0, 0, 0, /* 056-063, gr56 - gr63 */ \
/* Other registers */ \
@@ -270,7 +270,7 @@ along with GCC; see the file COPYING3. If not see
1, 1, 1, 1, 1, 1, 1, 1, /* 016-023, gr16 - gr23 */ \
1, 1, 1, 1, 1, 1, 1, 1, /* 024-031, gr24 - gr31 */ \
0, 0, 0, 0, 0, 0, 0, 0, /* 032-039, gr32 - gr38 */ \
- 1, 1, 1, 1, 1, 1, 1, 1, /* 040-047, gr40 - gr47 */ \
+ 0, 0, 0, 0, 1, 1, 1, 1, /* 040-047, gr40 - gr47 */ \
1, 1, 1, 1, 1, 1, 1, 1, /* 048-055, gr48 - gr55 */ \
1, 1, 1, 1, 1, 1, 1, 1, /* 056-063, gr56 - gr63 */ \
1, /* 64 AP - fake arg ptr */ \
@@ -294,9 +294,8 @@ along with GCC; see the file COPYING3. If not see
4, 5, 6, 7, /* Calle-saved 'small' registers. */ \
15, /* Calle-saved unpaired register. */ \
8, 9, 10, 11, /* Calle-saved registers. */ \
- 32, 33, 34, 35, 36, 37, 38, 39, \
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, \
14, 13, /* Link register, stack pointer. */ \
- 40, 41, 42, 43, /* Usually constant, but might be made callee-saved. */ \
/* Can't allocate, but must name these... */ \
28, 29, 30, 31, \
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77 \