diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2018-03-14 13:24:21 +0100 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2018-03-14 13:24:21 +0100 |
commit | def703386a1efb5e48b24b1457ce679667e137c9 (patch) | |
tree | c91411fdac9a0e187e8f5cacf46f5228d2c47f79 /gcc/combine.c | |
parent | af1430196a223b94fd0aeaf292d9ce22730f7e23 (diff) | |
download | gcc-def703386a1efb5e48b24b1457ce679667e137c9.zip gcc-def703386a1efb5e48b24b1457ce679667e137c9.tar.gz gcc-def703386a1efb5e48b24b1457ce679667e137c9.tar.bz2 |
combine: Don't make log_links for pc_rtx (PR84780 #c10)
distribute_links tries to place a log_link for whatever the destination
of the modified instruction is. It shouldn't do that when that dest
is pc_rtx, which isn't actually a register.
* combine.c (distribute_links): Don't make a link based on pc_rtx.
From-SVN: r258523
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 06a9ddd..ff672ad 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -14778,6 +14778,9 @@ distribute_links (struct insn_link *links) || GET_CODE (reg) == SUBREG) reg = XEXP (reg, 0); + if (reg == pc_rtx) + continue; + /* A LOG_LINK is defined as being placed on the first insn that uses a register and points to the insn that sets the register. Start searching at the next insn after the target of the link and stop |