X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FIR%2FFunction.cpp;h=83f71a891627ee63eb41d4a33b302a0b66d66061;hb=f9e44c8bf8deb202e668a045c4e47f4ee312c66f;hp=f1fe6604333462a01f5b483a1243404f5212a82f;hpb=d047a9df7d4b2934d6a9c22528b668d6100c0f87;p=oota-llvm.git diff --git a/lib/IR/Function.cpp b/lib/IR/Function.cpp index f1fe6604333..83f71a89162 100644 --- a/lib/IR/Function.cpp +++ b/lib/IR/Function.cpp @@ -474,7 +474,7 @@ std::string Intrinsic::getName(ID id, ArrayRef Tys) { /// /// NOTE: This must be kept in synch with the copy in TblGen/IntrinsicEmitter! enum IIT_Info { - // Common values should be encoded with 0-15. + // Common values should be encoded with 0-16. IIT_Done = 0, IIT_I1 = 1, IIT_I8 = 2, @@ -489,23 +489,24 @@ enum IIT_Info { IIT_V8 = 11, IIT_V16 = 12, IIT_V32 = 13, - IIT_PTR = 14, - IIT_ARG = 15, - - // Values from 16+ are only encodable with the inefficient encoding. - IIT_MMX = 16, - IIT_METADATA = 17, - IIT_EMPTYSTRUCT = 18, - IIT_STRUCT2 = 19, - IIT_STRUCT3 = 20, - IIT_STRUCT4 = 21, - IIT_STRUCT5 = 22, - IIT_EXTEND_ARG = 23, - IIT_TRUNC_ARG = 24, - IIT_ANYPTR = 25, - IIT_V1 = 26, - IIT_VARARG = 27, - IIT_HALF_VEC_ARG = 28 + IIT_V64 = 14, + IIT_PTR = 15, + IIT_ARG = 16, + + // Values from 17+ are only encodable with the inefficient encoding. + IIT_MMX = 17, + IIT_METADATA = 18, + IIT_EMPTYSTRUCT = 19, + IIT_STRUCT2 = 20, + IIT_STRUCT3 = 21, + IIT_STRUCT4 = 22, + IIT_STRUCT5 = 23, + IIT_EXTEND_ARG = 24, + IIT_TRUNC_ARG = 25, + IIT_ANYPTR = 26, + IIT_V1 = 27, + IIT_VARARG = 28, + IIT_HALF_VEC_ARG = 29 }; @@ -576,6 +577,10 @@ static void DecodeIITType(unsigned &NextElt, ArrayRef Infos, OutputTable.push_back(IITDescriptor::get(IITDescriptor::Vector, 32)); DecodeIITType(NextElt, Infos, OutputTable); return; + case IIT_V64: + OutputTable.push_back(IITDescriptor::get(IITDescriptor::Vector, 64)); + DecodeIITType(NextElt, Infos, OutputTable); + return; case IIT_PTR: OutputTable.push_back(IITDescriptor::get(IITDescriptor::Pointer, 0)); DecodeIITType(NextElt, Infos, OutputTable); @@ -692,7 +697,7 @@ static Type *DecodeFixedType(ArrayRef &Infos, assert(D.Struct_NumElements <= 5 && "Can't handle this yet"); for (unsigned i = 0, e = D.Struct_NumElements; i != e; ++i) Elts[i] = DecodeFixedType(Infos, Tys, Context); - return StructType::get(Context, ArrayRef(Elts,D.Struct_NumElements)); + return StructType::get(Context, makeArrayRef(Elts,D.Struct_NumElements)); } case IITDescriptor::Argument: