[AArch64][GlobalISel] Select G_ADD_LOW into a MOVaddr pseudo.
authorAmara Emerson <aemerson@apple.com>
Tue, 9 Jun 2020 22:14:04 +0000 (15:14 -0700)
committerAmara Emerson <aemerson@apple.com>
Tue, 9 Jun 2020 23:47:58 +0000 (16:47 -0700)
commit938cc573ee1ae7fd628da0c2a9a0bcbc36c451e7
tree60efd6f335dad0989a83ece1bff2f3bfebf5709f
parent641d5ac4d1965990fcf981f153369b038816cd16
[AArch64][GlobalISel] Select G_ADD_LOW into a MOVaddr pseudo.

This ensures that we match SelectionDAG behaviour by waiting until the expand
pseudos pass to generate ADRP + ADD pairs. Doing this at selection time for the
G_ADD_LOW is fine because by the time we get to selecting the G_ADD_LOW,
previous attempts to fold it into loads/stores must have failed.

Differential Revision: https://reviews.llvm.org/D81512
llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
llvm/test/CodeGen/AArch64/GlobalISel/call-translator-variadic-musttail.ll