The implementation of RISCVRegisterInfo::canRealignStack was left out of the
implementation of Stack Realignment in D62007.
I think this is the root cause of the issues we've seen in D70401 around the
spilling of fp64 registers in the ILP32E ABI. Applying this patch seems to
solve those issues.
Unfortunately, I think that failure requires spilling a register with a spill
alignment that is larger than the current stack alignment. Until ILP32E has
landed, we have no registers which satisfy these constraints, so no testcases
have changed with this commit (but, we want to land this patche separately to
ILP32E support).