[lanai] Manually match 0/-1 with R0/R1.
authorJacques Pienaar <jpienaar@google.com>
Tue, 29 Nov 2016 23:01:09 +0000 (23:01 +0000)
committerJacques Pienaar <jpienaar@google.com>
Tue, 29 Nov 2016 23:01:09 +0000 (23:01 +0000)
commitfc13bdd2db3035fc3693fec6aa086db4d1db3e4c
tree79f5be8b63bf49f0aeaa4bf76936dd921e2091de
parentf57f150b1b4c357ca50291d17f16dfb5dd735527
[lanai] Manually match 0/-1 with R0/R1.

Summary: Previously 0 and -1 was matched via tablegen rules. But this could cause problems where a physical register was being used where a virtual register was expected (seen in optimizeSelect and TwoAddressInstructionPass). Instead follow AArch64 and match in DAGToDAGISel.

Reviewers: eliben, majnemer

Subscribers: llvm-commits, aemerson

Differential Revision: https://reviews.llvm.org/D27171

llvm-svn: 288215
llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
llvm/lib/Target/Lanai/LanaiInstrInfo.td
llvm/test/CodeGen/Lanai/constant_multiply.ll