diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-22 20:56:36 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-22 20:56:36 +0000 |
commit | 93dc92e412fd06250e46951bffb6040eca9baebd (patch) | |
tree | 8cfd6d2eb0dc5903f09f8a3fdc7223480d43759a /utils/TableGen/IntrinsicEmitter.cpp | |
parent | b751418a3992c9da6f48c988f549c8e4c65e26f1 (diff) | |
download | llvm-93dc92e412fd06250e46951bffb6040eca9baebd.tar.gz llvm-93dc92e412fd06250e46951bffb6040eca9baebd.tar.bz2 llvm-93dc92e412fd06250e46951bffb6040eca9baebd.tar.xz |
Change intrinsic result type for void to store it as an empty list
instead of as a single element list with VoidTy. Now with a fix
for the verifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99206 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/IntrinsicEmitter.cpp')
-rw-r--r-- | utils/TableGen/IntrinsicEmitter.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/utils/TableGen/IntrinsicEmitter.cpp b/utils/TableGen/IntrinsicEmitter.cpp index c5df9e411c..417aca7cb3 100644 --- a/utils/TableGen/IntrinsicEmitter.cpp +++ b/utils/TableGen/IntrinsicEmitter.cpp @@ -172,10 +172,11 @@ static void EmitTypeGenerate(raw_ostream &OS, const Record *ArgType, static void EmitTypeGenerate(raw_ostream &OS, const std::vector<Record*> &ArgTypes, unsigned &ArgNo) { - if (ArgTypes.size() == 1) { - EmitTypeGenerate(OS, ArgTypes.front(), ArgNo); - return; - } + if (ArgTypes.empty()) + return EmitTypeForValueType(OS, MVT::isVoid); + + if (ArgTypes.size() == 1) + return EmitTypeGenerate(OS, ArgTypes.front(), ArgNo); OS << "StructType::get(Context, "; @@ -251,11 +252,11 @@ namespace { unsigned RHSSize = RHSVec->size(); unsigned LHSSize = LHSVec->size(); - do { + for (; i != LHSSize; ++i) { if (i == RHSSize) return false; // RHS is shorter than LHS. if ((*LHSVec)[i] != (*RHSVec)[i]) return (*LHSVec)[i]->getName() < (*RHSVec)[i]->getName(); - } while (++i != LHSSize); + } if (i != RHSSize) return true; |