diff options
author | Peter Bergner <bergner@vnet.ibm.com> | 2006-12-13 13:19:03 -0600 |
---|---|---|
committer | Peter Bergner <bergner@gcc.gnu.org> | 2006-12-13 13:19:03 -0600 |
commit | 8c1249f9652e78aa0dd94f9548e4675ebf3e600f (patch) | |
tree | a3f908a3433ea8a7b7170937c4987b77ea227176 /gcc/config | |
parent | c53fa1740ae95a29c87a0cff19641657d85eb894 (diff) | |
download | gcc-8c1249f9652e78aa0dd94f9548e4675ebf3e600f.zip gcc-8c1249f9652e78aa0dd94f9548e4675ebf3e600f.tar.gz gcc-8c1249f9652e78aa0dd94f9548e4675ebf3e600f.tar.bz2 |
re PR middle-end/30191 (GCC error: in eliminate_regs_in_insn, at reload1.c:3126)
PR middle-end/30191
Revert:
* reload1.c (eliminate_regs_in_insn): Merge the plus_src "else" and
the offset == 0 "then" clauses.
* config/rs6000/predicates.md (gpc_reg_operand): Check for
reload_in_progress.
From-SVN: r119844
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/rs6000/predicates.md | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md index 0b4f7df..6aefe2d 100644 --- a/gcc/config/rs6000/predicates.md +++ b/gcc/config/rs6000/predicates.md @@ -81,13 +81,10 @@ (and (match_code "const_int") (match_test "INTVAL (op) > 0 && exact_log2 (INTVAL (op)) >= 0"))) -;; Return 1 if op is a register that is not special. We accept anything -;; during reload_in_progress since eliminate_regs_in_insn() sometimes -;; creates invalid insns which will be fixed up later in reload. +;; Return 1 if op is a register that is not special. (define_predicate "gpc_reg_operand" (and (match_operand 0 "register_operand") - (match_test "(reload_in_progress - || GET_CODE (op) != REG + (match_test "(GET_CODE (op) != REG || (REGNO (op) >= ARG_POINTER_REGNUM && !XER_REGNO_P (REGNO (op))) || REGNO (op) < MQ_REGNO) |