Allow TargetLowering::getRegClassFor() to be called on illegal types. Also

allow target to override it in order to map register classes to illegal
but synthesizable types. e.g. v4i64, v8i64 for ARM / NEON.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103854 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng
2010-05-15 02:18:07 +00:00
parent 7092c2bfcb
commit 06b666c705
4 changed files with 29 additions and 9 deletions

View File

@@ -240,6 +240,10 @@ namespace llvm {
return Subtarget;
}
/// getRegClassFor - Return the register class that should be used for the
/// specified value type.
virtual TargetRegisterClass *getRegClassFor(EVT VT) const;
/// getFunctionAlignment - Return the Log2 alignment of this function.
virtual unsigned getFunctionAlignment(const Function *F) const;