diff options
author | Andrew Trick <atrick@apple.com> | 2013-10-31 17:18:11 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2013-10-31 17:18:11 +0000 |
commit | a2efd99bdf817e67b21235416c1fef64d6d24306 (patch) | |
tree | 1a1b7f1852c697a6f9378e07ed296a0f8bc1be5b /llvm/lib/IR/Function.cpp | |
parent | d4d1d9c06e1aad9e059c54d60173d869cb8cc3a8 (diff) | |
download | bcm5719-llvm-a2efd99bdf817e67b21235416c1fef64d6d24306.tar.gz bcm5719-llvm-a2efd99bdf817e67b21235416c1fef64d6d24306.zip |
Enable variable arguments support for intrinsics.
llvm-svn: 193766
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
-rw-r--r-- | llvm/lib/IR/Function.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp index f4bf774efe0..e8a2402b3d9 100644 --- a/llvm/lib/IR/Function.cpp +++ b/llvm/lib/IR/Function.cpp @@ -454,7 +454,8 @@ enum IIT_Info { IIT_EXTEND_VEC_ARG = 23, IIT_TRUNC_VEC_ARG = 24, IIT_ANYPTR = 25, - IIT_V1 = 26 + IIT_V1 = 26, + IIT_VARARG = 27 }; @@ -468,6 +469,9 @@ static void DecodeIITType(unsigned &NextElt, ArrayRef<unsigned char> Infos, case IIT_Done: OutputTable.push_back(IITDescriptor::get(IITDescriptor::Void, 0)); return; + case IIT_VARARG: + OutputTable.push_back(IITDescriptor::get(IITDescriptor::VarArg, 0)); + return; case IIT_MMX: OutputTable.push_back(IITDescriptor::get(IITDescriptor::MMX, 0)); return; @@ -613,6 +617,7 @@ static Type *DecodeFixedType(ArrayRef<Intrinsic::IITDescriptor> &Infos, switch (D.Kind) { case IITDescriptor::Void: return Type::getVoidTy(Context); + case IITDescriptor::VarArg: return Type::getVoidTy(Context); case IITDescriptor::MMX: return Type::getX86_MMXTy(Context); case IITDescriptor::Metadata: return Type::getMetadataTy(Context); case IITDescriptor::Half: return Type::getHalfTy(Context); |