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
This commit is contained in:
Chris Lattner
2010-03-19 22:40:56 +00:00
parent 2e68a02c26
commit 26e763753b
3 changed files with 16 additions and 18 deletions
+6 -3
View File
@@ -490,12 +490,15 @@ CodeGenIntrinsic::CodeGenIntrinsic(Record *R) {
OverloadedVTs.push_back(VT);
isOverloaded |= true;
}
IS.RetVTs.push_back(VT);
IS.RetTypeDefs.push_back(TyEl);
}
if (IS.RetVTs.size() == 0)
throw "Intrinsic '"+DefName+"' needs at least a type for the ret value!";
if (IS.RetVTs.size() == 1 && IS.RetVTs[0] == MVT::isVoid) {
IS.RetVTs.pop_back();
IS.RetTypeDefs.pop_back();
}
// Parse the list of parameter types.
TypeList = R->getValueAsListInit("ParamTypes");