MVT MVT::getExtendedIntegerVT(unsigned BitWidth) { const Type *&ET = ExtendedIntegerTypeMap[BitWidth]; if (!ET) ET = new ExtendedIntegerType(BitWidth); MVT VT; VT.LLVMTy = ET; assert(VT.isExtended() && "Type is not extended!"); return VT; }
MVT MVT::getExtendedVectorVT(MVT VT, unsigned NumElements) { const Type *&ET = ExtendedVectorTypeMap[std::make_pair(VT.getRawBits(), NumElements)]; if (!ET) ET = new ExtendedVectorType(VT, NumElements); MVT ResultVT; ResultVT.LLVMTy = ET; assert(ResultVT.isExtended() && "Type is not extended!"); return ResultVT; }
MVT MVT::getExtendedVectorVT(MVT VT, unsigned NumElements) { MVT ResultVT; ResultVT.LLVMTy = VectorType::get(VT.getTypeForMVT(), NumElements); assert(ResultVT.isExtended() && "Type is not extended!"); return ResultVT; }
MVT MVT::getExtendedIntegerVT(unsigned BitWidth) { MVT VT; VT.LLVMTy = IntegerType::get(BitWidth); assert(VT.isExtended() && "Type is not extended!"); return VT; }