Don't use register classes larger than TLI->getRegClassFor(VT).
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 16 Jun 2011 22:50:38 +0000 (22:50 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 16 Jun 2011 22:50:38 +0000 (22:50 +0000)
commitc02a6fa7d8f0ccf2e0059bc40978a466fff3fcab
treec309fd07bf5e332d5bb360a75e061113ee11e079
parented344d2e683d741a591a681157119e8fc3ee2827
Don't use register classes larger than TLI->getRegClassFor(VT).

In Thumb mode we cannot handle GPR virtual registers, even though some
instructions can. When isel is lowering a CopyFromReg, it should limit
itself to subclasses of getRegClassFor(VT).

<rdar://problem/9624323>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133210 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/InstrEmitter.cpp
test/CodeGen/Thumb/2011-06-16-NoGPRs.ll [new file with mode: 0644]