The existing names for the ARM and Thumb Thunks highlight their current use as interworking Thunks. These Thunks can also be used for range extension Thunks where there is no state change. This change makes it clearer that the destination can be either ARM or Thumb.
I've now got a complete range extension implementation and tests, I'll be sending this for review tomorrow. I've split it into 10 or so smaller patches and 2 patches to add tests as it is a bit too big to review in one go. Do you have any preference for how I should submit it? My current plan is to make a Phabricator review for each of them and then write an RFC to llvm-dev to explain how they all fit together.