Commit 16ac6fa5 by Segher Boessenkool Committed by Segher Boessenkool

combine: More make_more_copies

This makes make_more_copies do what its documentation says, that is,
only make an intermediate pseudo if copying to a pseudo.

This regressed generated code quality when we didn't keep the original
notes that were on the copy, but since r265582 we do, and only allowing
pseudos now is a win.  It also simplifies the code.


	* combine.c (make_more_copies): Only make an intermediate copy if the
	dest of a move is a pseudo.

From-SVN: r266004
parent babe0c74
2018-11-10 Segher Boessenkool <segher@kernel.crashing.org>
* combine.c (make_more_copies): Only make an intermediate copy if the
dest of a move is a pseudo.
2018-11-09 Maya Rashish <coypu@sdf.org>
PR target/87221
......@@ -14956,12 +14956,11 @@ make_more_copies (void)
rtx set = single_set (insn);
if (!set)
continue;
rtx dest = SET_DEST (set);
if (dest == pc_rtx)
continue;
/* See PR87871. */
if (dest == frame_pointer_rtx)
continue;
if (!(REG_P (dest) && !HARD_REGISTER_P (dest)))
continue;
rtx src = SET_SRC (set);
if (!(REG_P (src) && HARD_REGISTER_P (src)))
continue;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment