Changes in directory llvm/lib/VMCore:
ValueTypes.cpp updated: 1.16 -> 1.17 --- Log message: add a way to make this less brittle --- Diffs of the changes: (+7 -3) ValueTypes.cpp | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) Index: llvm/lib/VMCore/ValueTypes.cpp diff -u llvm/lib/VMCore/ValueTypes.cpp:1.16 llvm/lib/VMCore/ValueTypes.cpp:1.17 --- llvm/lib/VMCore/ValueTypes.cpp:1.16 Fri Mar 30 23:03:02 2007 +++ llvm/lib/VMCore/ValueTypes.cpp Sat Apr 28 00:38:52 2007 @@ -113,16 +113,20 @@ /// MVT::getValueType - Return the value type corresponding to the specified /// type. This returns all vectors as MVT::Vector and all pointers as -/// MVT::iPTR. -MVT::ValueType MVT::getValueType(const Type *Ty) { +/// MVT::iPTR. If HandleUnknown is true, unknown types are returned as Other, +/// otherwise they are invalid. +MVT::ValueType MVT::getValueType(const Type *Ty, bool HandleUnknown) { switch (Ty->getTypeID()) { - default: assert(0 && "Unknown type!"); + default: + if (HandleUnknown) return MVT::Other; + assert(0 && "Unknown type!"); case Type::VoidTyID: return MVT::isVoid; case Type::IntegerTyID: switch (cast<IntegerType>(Ty)->getBitWidth()) { default: // FIXME: Return MVT::iANY. + if (HandleUnknown) return MVT::Other; assert(0 && "Invalid width for value type"); case 1: return MVT::i1; case 8: return MVT::i8; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits