I've found it is good to have also one mode to invalidate a register for
all uses; it seems natural to use VOIDmode for that, and then we can use
BLKmode for all but the first hard register of a multi-hard-reg register.
OK, that sounds sensible.
I have attached the patch that makes the
Quoting Eric Botcazou ebotca...@adacore.com:
+static bool
+move2add_valid_value_p (int regno, enum machine_mode mode)
[...]
+ for (i = hard_regno_nregs[regno][mode] - 1; i 0; i--)
+if (reg_mode[i] != BLKmode)
+ return false;
I think that a 'regno' is missing in the second hunk.
Quoting Joern Rennecke joern.renne...@embecosm.com:
Looking into sharing the code with sites that perform essentially the same
function but look somewhat different, I see there's a problem with using
only reg_set_luid to indicate the consistency of a multi-hard-reg-value
in these other