7b3702e2dd
Successfully tested both the gcc4 compiler on x86_64 with a simple program (fbdebug) and the gcc4-armhf cross-compiler to build a very old u-boot port for Galaxy Nexus (a MR will follow soon) which failed to boot with either newer version (6 and 8). [skip ci]: already went through
17 lines
679 B
Diff
17 lines
679 B
Diff
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63740
|
|
|
|
--- trunk/gcc/lra-lives.c 2014/06/16 09:25:26 211700
|
|
+++ trunk/gcc/lra-lives.c 2014/06/16 09:58:34 211701
|
|
@@ -558,7 +558,11 @@
|
|
/* It might be 'inheritance pseudo <- reload pseudo'. */
|
|
|| (src_regno >= lra_constraint_new_regno_start
|
|
&& ((int) REGNO (SET_DEST (set))
|
|
- >= lra_constraint_new_regno_start))))
|
|
+ >= lra_constraint_new_regno_start)
|
|
+ /* Remember to skip special cases where src/dest regnos are
|
|
+ the same, e.g. insn SET pattern has matching constraints
|
|
+ like =r,0. */
|
|
+ && src_regno != (int) REGNO (SET_DEST (set)))))
|
|
{
|
|
int hard_regno = -1, regno = -1;
|
|
|