aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1998-07-13 11:04:45 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1998-07-13 12:04:45 +0100
commit518b6ce38a5a1ec4ec2e3935a6b24a0cad1ca9dd (patch)
treee46cdc643fb132d8507cd1b6226a86fd32bd05e5
parent8a2a7ea2943662322eb5b4ab98fd453b944c09ac (diff)
downloadgcc-518b6ce38a5a1ec4ec2e3935a6b24a0cad1ca9dd.zip
gcc-518b6ce38a5a1ec4ec2e3935a6b24a0cad1ca9dd.tar.gz
gcc-518b6ce38a5a1ec4ec2e3935a6b24a0cad1ca9dd.tar.bz2
* reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
From-SVN: r21103
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/reload1.c25
2 files changed, 7 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9f859f1..89b63a2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jul 13 19:01:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
+
Mon Jul 13 10:50:17 1998 Mark Mitchell <mark@markmitchell.com>
* cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 3b1fd56..2755ee6 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -4713,28 +4713,9 @@ reload_reg_free_before_p (regno, opnum, type)
&& ! TEST_HARD_REG_BIT (reload_reg_used_in_op_addr, regno));
case RELOAD_FOR_OUTPUT:
- /* This can't be used in the output address for this operand and
- anything that can't be used for it, except that we've already
- tested for RELOAD_FOR_INSN objects. */
-
- if (TEST_HARD_REG_BIT (reload_reg_used_in_output_addr[opnum], regno)
- || TEST_HARD_REG_BIT (reload_reg_used_in_outaddr_addr[opnum], regno))
- return 0;
-
- for (i = 0; i < opnum; i++)
- if (TEST_HARD_REG_BIT (reload_reg_used_in_output_addr[i], regno)
- || TEST_HARD_REG_BIT (reload_reg_used_in_outaddr_addr[i], regno)
- || TEST_HARD_REG_BIT (reload_reg_used_in_output[i], regno))
- return 0;
-
- for (i = 0; i < reload_n_operands; i++)
- if (TEST_HARD_REG_BIT (reload_reg_used_in_input_addr[i], regno)
- || TEST_HARD_REG_BIT (reload_reg_used_in_inpaddr_addr[i], regno)
- || TEST_HARD_REG_BIT (reload_reg_used_in_input[i], regno)
- || TEST_HARD_REG_BIT (reload_reg_used_in_op_addr, regno))
- return 0;
-
- return ! TEST_HARD_REG_BIT (reload_reg_used_in_other_addr, regno);
+ /* There is no reason to call this function for output reloads, thus
+ anything we'd put here wouldn't be tested. So just abort. */
+ abort ();
case RELOAD_FOR_OPERAND_ADDRESS:
/* Earlier reloads include RELOAD_FOR_OPADDR_ADDR reloads. */