https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99083
--- Comment #10 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Richard Biener from comment #7) > There are a lot of targets that define REG_ALLOC_ORDER ^ > HONOR_REG_ALLOC_ORDER and thus are affected by this change... The following patch should solve this issue: --cut here-- diff --git a/gcc/defaults.h b/gcc/defaults.h index 91216593e75..2af4add0c05 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -1047,7 +1047,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #endif #ifndef HONOR_REG_ALLOC_ORDER -#define HONOR_REG_ALLOC_ORDER 0 +# if defined REG_ALLOC_ORDER +# define HONOR_REG_ALLOC_ORDER 1 +# else +# define HONOR_REG_ALLOC_ORDER 0 +# endif #endif /* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, --cut here-- So, if REG_ALLOC_ORDER is defined, then IRA should obey the order by default.