Changes

Summary

  1. Revert "Teach the AArch64 backend to materialize immediates using a pair of ORR-immediate" (details)
  2. Teach the AArch64 backend to materialize immediates using a pair of ORR-immediate (details)
  3. [ORC] Use JITLink as the default linker for LLJIT on Linux/arm64. (details)
Commit 80fe7721827cd52c621544afde0acd21bb7693f5 by resistor
Revert "Teach the AArch64 backend to materialize immediates using a pair of ORR-immediate"

This reverts commit 8d433a0ae55ac25ba0a77d733e1ee5e23d1eb9f7 due to test failures on
CodeGen/AArch64/GlobalISel/store-merging.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandImm.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/arm64-movi.ll (diff)
Commit ae51a828685d088aca5b5be9dbb3d0695312f2e1 by resistor
Teach the AArch64 backend to materialize immediates using a pair of ORR-immediate
instructions.

Credit to czwarich for figuring out the algorithm to test for this.

Re-applied with fix for ubsan error on out-of-range shift.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D140952
The file was modifiedllvm/test/CodeGen/AArch64/arm64-movi.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandImm.cpp (diff)
Commit 6747fc07d1aa94e22622e278e5a02ba70675ac9b by Lang Hames
[ORC] Use JITLink as the default linker for LLJIT on Linux/arm64.

Also updates the OrcCAPIsTest unit test to enable the C API tests on Linux.
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp (diff)
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CMakeLists.txt (diff)