diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-19 22:40:56 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-19 22:40:56 +0000 |
commit | 26e763753be5f3422a892f6c268721eae7792eac (patch) | |
tree | 9e724155ced23e2c15987f781c3ed75400f7072d /utils/TableGen/IntrinsicEmitter.cpp | |
parent | 2e68a02c264c26abc6ed62d59f18813fa7fdb95d (diff) | |
download | llvm-26e763753be5f3422a892f6c268721eae7792eac.tar.gz llvm-26e763753be5f3422a892f6c268721eae7792eac.tar.bz2 llvm-26e763753be5f3422a892f6c268721eae7792eac.tar.xz |
Change intrinsic result type for void to store it as an empty list
instead of as a single element list with VoidTy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99009 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; |