-tailcallopt requires that we perform different stack adjustments than with sibling calls. For example, the @caller_to0_from8 function in test/CodeGen/AArch64/tail-call.ll requires that we adjust SP. Without -tailcallopt, this adjustment does not happen. With it, however, it is expected.
So, to ensure that adding sibling call support doesn't break -tailcallopt, make CallLowering always fall back on possible tail calls when -tailcallopt is passed in.
Update test/CodeGen/AArch64/tail-call.ll with a GlobalISel line to make sure that we get the correct code for tail calls with -tailcallopt.