combine.c (struct insn_link): New field `regno'.
authorSegher Boessenkool <segher@kernel.crashing.org>
Mon, 1 Dec 2014 18:26:20 +0000 (19:26 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Mon, 1 Dec 2014 18:26:20 +0000 (19:26 +0100)
commit66d4b012463b627a233bdae5349d27dc7ea5c5bf
tree614235e83afd25d65afa5ee8cffb6491b5c709cf
parenteeafb31957a4382a941e98a79d3e3ff1b5ca97a1
combine.c (struct insn_link): New field `regno'.

* combine.c (struct insn_link): New field `regno'.
(alloc_insn_link): New parameter `regno'.  Use it.
(find_single_use): Check the new field.
(can_combine_def_p, can_combine_use_p): New functions.  Split
off from ...
(create_log_links): ... here.  Correct data type of `regno'.
Adjust call to alloc_insn_link.
(adjust_for_new_dest): Find regno, use it in call to
alloc_insn_link.
(try_combine): Check reg_used_between_p when combining a PARALLEL
as earlier insn.  Adjust call to alloc_insn_link.
(distribute_links): Check the new field.

From-SVN: r218241
gcc/ChangeLog
gcc/combine.c