diff options
author | Owen Anderson <resistor@mac.com> | 2012-08-08 23:31:14 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2012-08-08 23:31:14 +0000 |
commit | 12864689d199209a3a5046f4570d92a252da7420 (patch) | |
tree | 7659058a12f05e71ecd14b30b95806c86b71dad0 /include | |
parent | e723007ee6911c77bedaa2e914961e86b0b4ce61 (diff) | |
download | external_llvm-12864689d199209a3a5046f4570d92a252da7420.zip external_llvm-12864689d199209a3a5046f4570d92a252da7420.tar.gz external_llvm-12864689d199209a3a5046f4570d92a252da7420.tar.bz2 |
Allow legalization of target-specific SDNodes, provided that the target itself provide a legalization hook for them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161536 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Target/TargetLowering.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index f3113bd..acf0419 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -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]; } |