diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2018-10-25 00:34:40 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2018-10-25 00:34:40 +0200 |
commit | b8ac95761a5c0a902fa2547e9345febf26713bf5 (patch) | |
tree | a48e19391c14d046d4639b73ddd54954d831c418 /gcc/combine.c | |
parent | f8719680bfd5adf14aa91ce3017d59f7eac7f64e (diff) |
combine: Don't do make_more_copies for dest PC (PR87720)
Jumps are written in RTL as moves to PC. But the latter has no mode,
so we shouldn't try to use it. Since the optimization this routine
does does not really help for jumps at all, let's just skip it.
PR rtl-optimization/87720
* combine.c (make_more_copies): Skip if the dest is pc_rtx.
From-SVN: r265474
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 8ec6809c05c..2b933289392 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -14958,6 +14958,8 @@ make_more_copies (void) continue; rtx src = SET_SRC (set); rtx dest = SET_DEST (set); + if (dest == pc_rtx) + continue; if (GET_CODE (src) == SUBREG) src = SUBREG_REG (src); if (!(REG_P (src) && HARD_REGISTER_P (src))) |