Follow a similar pattern as AMDGPUDAGToDAGISel's constructor so that we
can use INITIALIZE_PASS to register a pass. This allows for more fine
grain testability of SelectionDAGISel via:
llc -stop-{before,after}=aarch64-isel
Link: https://github.com/llvm/llvm-project/issues/59538
See also: https://reviews.llvm.org/D140323
Push the shuffling in a separate commit.