From b83eb6447ba155342598f0fabe1f08f5baa9164a Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Fri, 20 Oct 2006 07:07:24 +0000 Subject: For PR950: This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/bugpoint/ExtractFunction.cpp | 6 +++--- tools/llvm2cpp/CppWriter.cpp | 11 +++++------ 2 files changed, 8 insertions(+), 9 deletions(-) (limited to 'tools') diff --git a/tools/bugpoint/ExtractFunction.cpp b/tools/bugpoint/ExtractFunction.cpp index 756ef8b50d..c642dd0765 100644 --- a/tools/bugpoint/ExtractFunction.cpp +++ b/tools/bugpoint/ExtractFunction.cpp @@ -181,7 +181,7 @@ static Constant *GetTorInit(std::vector > &TorList) { std::vector ArrayElts; for (unsigned i = 0, e = TorList.size(); i != e; ++i) { std::vector Elts; - Elts.push_back(ConstantSInt::get(Type::IntTy, TorList[i].second)); + Elts.push_back(ConstantInt::get(Type::IntTy, TorList[i].second)); Elts.push_back(TorList[i].first); ArrayElts.push_back(ConstantStruct::get(Elts)); } @@ -210,8 +210,8 @@ static void SplitStaticCtorDtor(const char *GlobalName, Module *M1, Module *M2){ if (CS->getOperand(1)->isNullValue()) break; // Found a null terminator, stop here. - ConstantSInt *CI = dyn_cast(CS->getOperand(0)); - int Priority = CI ? CI->getValue() : 0; + ConstantInt *CI = dyn_cast(CS->getOperand(0)); + int Priority = CI ? CI->getSExtValue() : 0; Constant *FP = CS->getOperand(1); if (ConstantExpr *CE = dyn_cast(FP)) diff --git a/tools/llvm2cpp/CppWriter.cpp b/tools/llvm2cpp/CppWriter.cpp index 85c1ec7853..e69c722027 100644 --- a/tools/llvm2cpp/CppWriter.cpp +++ b/tools/llvm2cpp/CppWriter.cpp @@ -678,12 +678,11 @@ void CppWriter::printConstant(const Constant *CV) { if (const ConstantBool *CB = dyn_cast(CV)) { Out << "ConstantBool* " << constName << " = ConstantBool::get(" << (CB->getValue() ? "true" : "false") << ");"; - } else if (const ConstantSInt *CI = dyn_cast(CV)) { - Out << "ConstantSInt* " << constName << " = ConstantSInt::get(" - << typeName << ", " << CI->getValue() << ");"; - } else if (const ConstantUInt *CI = dyn_cast(CV)) { - Out << "ConstantUInt* " << constName << " = ConstantUInt::get(" - << typeName << ", " << CI->getValue() << ");"; + } else if (const ConstantInt *CI = dyn_cast(CV)) { + Out << "ConstantInt* " << constName << " = ConstantInt::get(" + << typeName << ", " + << (CV->getType()->isSigned() ? CI->getSExtValue() : CI->getZExtValue()) + << ");"; } else if (isa(CV)) { Out << "ConstantAggregateZero* " << constName << " = ConstantAggregateZero::get(" << typeName << ");"; -- cgit v1.2.3