Currently, instructions doing memory accesses through a base operand that is not a register can not be analyzed using TII::getMemOpBaseRegImmOfs.
This means that functions such as TII::shouldClusterMemOps will bail out on instructions using an FI as a base instead of a register.
The goal of this patch is to refactor all this to return a base operand instead of a base register.
Then in a separate patch, I will add FI support to the mem op clustering in the MachineScheduler.