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
This commit is contained in:
parent
af1430196a
commit
def703386a
|
@ -1,3 +1,8 @@
|
||||||
|
2018-03-14 Segher Boessenkool <segher@kernel.crashing.org>
|
||||||
|
|
||||||
|
PR rtl-optimization/84780
|
||||||
|
* combine.c (distribute_links): Don't make a link based on pc_rtx.
|
||||||
|
|
||||||
2018-03-14 Martin Liska <mliska@suse.cz>
|
2018-03-14 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
* tree.c (record_node_allocation_statistics): Use
|
* tree.c (record_node_allocation_statistics): Use
|
||||||
|
|
|
@ -14778,6 +14778,9 @@ distribute_links (struct insn_link *links)
|
||||||
|| GET_CODE (reg) == SUBREG)
|
|| GET_CODE (reg) == SUBREG)
|
||||||
reg = XEXP (reg, 0);
|
reg = XEXP (reg, 0);
|
||||||
|
|
||||||
|
if (reg == pc_rtx)
|
||||||
|
continue;
|
||||||
|
|
||||||
/* A LOG_LINK is defined as being placed on the first insn that uses
|
/* 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
|
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
|
searching at the next insn after the target of the link and stop
|
||||||
|
|
Loading…
Reference in New Issue