On 03/21/2016 02:43 AM, Alan Modra wrote:
+enum valid_equiv { valid_none, valid_combine, valid_reload };
+
Might be worth documenting that each step represents a superset of the
previous one.
+ ret = valid_combine;
+ if (! MEM_READONLY_P (memref)
+ && ! RTL_CONST_OR_PURE_CALL_P (insn))
+ return valid_none;
+ }
The gcc style is actually not to have a space after unary "!". None of
the code in this file follows that, but I think you may want to change
that as you modify things in your patches, and have new code follow the
recommended style.
@@ -3536,7 +3557,8 @@ update_equiv_regs (void)
{
/* Note that the statement below does not affect the priority
in local-alloc! */
- REG_LIVE_LENGTH (regno) *= 2;
+ if (note)
+ REG_LIVE_LENGTH (regno) *= 2;
That's a very suspicious comment. It would be worth testing whether
REG_LIVE_LENGTH has any effect on our current register allocation at
all, and remove this code if not.
Otherwise looks good for stage 1.
Bernd