diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-07-13 11:04:45 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1998-07-13 12:04:45 +0100 |
commit | 518b6ce38a5a1ec4ec2e3935a6b24a0cad1ca9dd (patch) | |
tree | e46cdc643fb132d8507cd1b6226a86fd32bd05e5 | |
parent | 8a2a7ea2943662322eb5b4ab98fd453b944c09ac (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/reload1.c | 25 |
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. */ |