Add instruction flags: hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. When
authorEvan Cheng <evan.cheng@apple.com>
Thu, 1 Oct 2009 08:21:18 +0000 (08:21 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 1 Oct 2009 08:21:18 +0000 (08:21 +0000)
commit799d697bf8d45ec404d0d105fc788ea5cf81c841
tree8af1dac2ce2c4fcca7840ed2bf730f7c2f8ca64b
parent8f3ec31133494d104f46b09d52377e6c4739749d
Add instruction flags: hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. When
set, these flags indicate the instructions source / def operands have special
register allocation requirement that are not captured in their register classes.
Post-allocation passes (e.g. post-alloc scheduler) should not change their
allocations. e.g. ARM::LDRD require the two definitions to be allocated
even / odd register pair.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83196 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/Target.td
include/llvm/Target/TargetInstrDesc.h
utils/TableGen/CodeGenInstruction.cpp
utils/TableGen/CodeGenInstruction.h
utils/TableGen/InstrInfoEmitter.cpp