Allow legalization of target-specific SDNodes, provided that the target itself provide a legalization hook for them.

llvm-svn: 161536
This commit is contained in:
Owen Anderson 2012-08-08 23:31:14 +00:00
parent 89b1f2c7e1
commit be8130dc48
1 changed files with 3 additions and 1 deletions

View File

@ -366,7 +366,9 @@ public:
/// for it.
LegalizeAction getOperationAction(unsigned Op, EVT VT) const {
if (VT.isExtended()) return Expand;
assert(Op < array_lengthof(OpActions[0]) && "Table isn't big enough!");
// If a target-specific SDNode requires legalization, require the target
// to provide custom legalization for it.
if (Op > array_lengthof(OpActions[0])) return Custom;
unsigned I = (unsigned) VT.getSimpleVT().SimpleTy;
return (LegalizeAction)OpActions[I][Op];
}