Convert ARMCodeGenPrepare into a generic type promotion pass by:
- Removing the insertion of arm specific intrinsics to handle narrow types, as we weren't using these.
- Removing ARMSubtarget references.
- Now query a generic TLI object to know which types should be promoted and what they should be promoted to.
- Move all codegen tests into Transforms folder and testing using opt and not llc, which is how they should have been written in the first place... This had the added advantage of running Alive2 on them.
So this pass is off by default on ARM?