Added TargetRegisterInfo::getAllocatableClass.
authorAndrew Trick <atrick@apple.com>
Thu, 3 May 2012 01:14:37 +0000 (01:14 +0000)
committerAndrew Trick <atrick@apple.com>
Thu, 3 May 2012 01:14:37 +0000 (01:14 +0000)
commitf12f6dff9784805e8f89309787231c1ec53a8c6e
tree2cff0b5f490ffbf44c24d6aaeac8620c10107033
parente8cd3f249133406c9b2a8dc6b6dbd2752fc605b4
Added TargetRegisterInfo::getAllocatableClass.

The ensures that virtual registers always belong to an allocatable class.
If your target attempts to create a vreg for an operand that has no
allocatable register subclass, you will crash quickly.

This ensures that targets define register classes as intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156046 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetRegisterInfo.h
lib/CodeGen/SelectionDAG/InstrEmitter.cpp
lib/CodeGen/TwoAddressInstructionPass.cpp
lib/Target/TargetRegisterInfo.cpp