summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-10-20 07:07:24 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-10-20 07:07:24 +0000
commitb83eb6447ba155342598f0fabe1f08f5baa9164a (patch)
treea5822f5fdac89033b7b16ba8e5aaf1ae10833b1c /tools
parent6e7dd9db6bf677c9161a6ecc12f90651cf1231e0 (diff)
downloadllvm-b83eb6447ba155342598f0fabe1f08f5baa9164a.tar.gz
llvm-b83eb6447ba155342598f0fabe1f08f5baa9164a.tar.bz2
llvm-b83eb6447ba155342598f0fabe1f08f5baa9164a.tar.xz
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
Diffstat (limited to 'tools')
-rw-r--r--tools/bugpoint/ExtractFunction.cpp6
-rw-r--r--tools/llvm2cpp/CppWriter.cpp11
2 files changed, 8 insertions, 9 deletions
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<std::pair<Function*, int> > &TorList) {
std::vector<Constant*> ArrayElts;
for (unsigned i = 0, e = TorList.size(); i != e; ++i) {
std::vector<Constant*> 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<ConstantSInt>(CS->getOperand(0));
- int Priority = CI ? CI->getValue() : 0;
+ ConstantInt *CI = dyn_cast<ConstantInt>(CS->getOperand(0));
+ int Priority = CI ? CI->getSExtValue() : 0;
Constant *FP = CS->getOperand(1);
if (ConstantExpr *CE = dyn_cast<ConstantExpr>(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<ConstantBool>(CV)) {
Out << "ConstantBool* " << constName << " = ConstantBool::get("
<< (CB->getValue() ? "true" : "false") << ");";
- } else if (const ConstantSInt *CI = dyn_cast<ConstantSInt>(CV)) {
- Out << "ConstantSInt* " << constName << " = ConstantSInt::get("
- << typeName << ", " << CI->getValue() << ");";
- } else if (const ConstantUInt *CI = dyn_cast<ConstantUInt>(CV)) {
- Out << "ConstantUInt* " << constName << " = ConstantUInt::get("
- << typeName << ", " << CI->getValue() << ");";
+ } else if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
+ Out << "ConstantInt* " << constName << " = ConstantInt::get("
+ << typeName << ", "
+ << (CV->getType()->isSigned() ? CI->getSExtValue() : CI->getZExtValue())
+ << ");";
} else if (isa<ConstantAggregateZero>(CV)) {
Out << "ConstantAggregateZero* " << constName
<< " = ConstantAggregateZero::get(" << typeName << ");";