It is very likely that the swiftself parameter is alive throughout most
functions. Putting it into a callee save register should avoid spills
for callers with only a few extra spills in callees.
Currently the generated code is correct but unnecessarily spills and
reloads arguments passed in callee save registers, I will address this
in upcoming patches.
So if isReturnAddressTaken is true, LRLiveIn will be true as well?
The original check of !(LRLiveIn && MF.getFrameInfo()->isReturnAddressTaken()) is equivalent to !LRLiveIn?