ARM: Fix more fast-isel verifier failures.
authorJim Grosbach <grosbach@apple.com>
Fri, 16 Aug 2013 23:37:31 +0000 (23:37 +0000)
committerJim Grosbach <grosbach@apple.com>
Fri, 16 Aug 2013 23:37:31 +0000 (23:37 +0000)
commit06c2a681253e7ade487521b248233e01949014cd
treec694fc7afd4148d83d738d8f4411dd6f1fecd182
parentd69f3ed9479c8ff6a95d88a81b196ea467b96a6f
ARM: Fix more fast-isel verifier failures.

Teach the generic instruction selection helper functions to constrain
the register classes of their input operands. For non-physical register
references, the generic code needs to be careful not to mess that up
when replacing references to result registers. As the comment indicates
for MachineRegisterInfo::replaceRegWith(), it's important to call
constrainRegClass() first.

rdar://12594152

llvm-svn: 188593
llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
llvm/lib/Target/ARM/ARMFastISel.cpp
llvm/test/CodeGen/ARM/fast-isel.ll