combine: Don't make an intermediate reg for assigning to sfp (PR87871)

The code with an intermediate register is perfectly fine, but LRA
apparently cannot handle the resulting code, or perhaps something else
is wrong.  In either case, making an extra temporary will not likely
help here, so let's just skip it.


	PR rtl-optimization/87871
	* combine.c (make_more_copies): Skip if dest is frame_pointer_rtx.

From-SVN: r265821
This commit is contained in:
Segher Boessenkool
2018-11-05 22:18:22 +01:00
committed by Segher Boessenkool
parent 7bbdffa22b
commit 0f31a75031
2 changed files with 8 additions and 0 deletions

View File

@@ -1,3 +1,8 @@
2018-11-05 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/87871
* combine.c (make_more_copies): Skip if dest is frame_pointer_rtx.
2018-11-05 Paul Koning <ni1d@arrl.net>
* doc/sourcebuild.texi (target attributes): Document new "inf"

View File

@@ -14959,6 +14959,9 @@ make_more_copies (void)
rtx dest = SET_DEST (set);
if (dest == pc_rtx)
continue;
/* See PR87871. */
if (dest == frame_pointer_rtx)
continue;
rtx src = SET_SRC (set);
if (!(REG_P (src) && HARD_REGISTER_P (src)))
continue;