diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-09-17 18:19:59 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-09-17 18:19:59 -0400 |
commit | 974f41466fc8df4f204a1fc0495171acd1e8986f (patch) | |
tree | d5d53c371d79ee3b6452f8071397971e531dcf8c | |
parent | f3becefd609e2ea009838ca4d68a6f2c6645cb19 (diff) | |
download | gcc-974f41466fc8df4f204a1fc0495171acd1e8986f.zip gcc-974f41466fc8df4f204a1fc0495171acd1e8986f.tar.gz gcc-974f41466fc8df4f204a1fc0495171acd1e8986f.tar.bz2 |
(recog_for_combine): Always reject a PARALLEL containing our special
CLOBBER.
From-SVN: r5348
-rw-r--r-- | gcc/combine.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index d833b59..ece5020 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -7875,6 +7875,15 @@ recog_for_combine (pnewpat, insn, pnotes) int i; rtx notes = 0; + /* If PAT is a PARALLEL, check to see if it contains the CLOBBER + we use to indicate that something didn't match. If we find such a + thing, force rejection. */ + if (GET_CODE (pat) == CLOBBER) + for (i = XVECLEN (pat, 0) - 1; i >= 0; i--) + if (GET_CODE (XVECEXP (pat, i, 0)) == CLOBBER + && XEXP (XVECEXP (pat, i, 0), 0) == const0_rtx) + return -1; + /* Is the result of combination a valid instruction? */ insn_code_number = recog (pat, insn, &num_clobbers_to_add); |