rename APInt::toString -> toStringUnsigned for symmetry with toStringSigned()
Add an APSInt::toString() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41309 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/examples/Fibonacci/fibonacci.cpp b/examples/Fibonacci/fibonacci.cpp
index cd35417..d0ffb9a 100644
--- a/examples/Fibonacci/fibonacci.cpp
+++ b/examples/Fibonacci/fibonacci.cpp
@@ -116,6 +116,6 @@
GenericValue GV = EE->runFunction(FibF, Args);
// import result of execution
- std::cout << "Result: " << GV.IntVal.toString(10) << "\n";
+ std::cout << "Result: " << GV.IntVal.toStringUnsigned(10) << "\n";
return 0;
}
diff --git a/examples/HowToUseJIT/HowToUseJIT.cpp b/examples/HowToUseJIT/HowToUseJIT.cpp
index 621621d..a4f6f37 100644
--- a/examples/HowToUseJIT/HowToUseJIT.cpp
+++ b/examples/HowToUseJIT/HowToUseJIT.cpp
@@ -107,6 +107,6 @@
GenericValue gv = EE->runFunction(FooF, noargs);
// Import result of execution:
- std::cout << "Result: " << gv.IntVal.toString(10) << "\n";
+ std::cout << "Result: " << gv.IntVal.toStringUnsigned(10) << "\n";
return 0;
}
diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h
index 971822f..0102d67 100644
--- a/include/llvm/ADT/APInt.h
+++ b/include/llvm/ADT/APInt.h
@@ -932,7 +932,7 @@
/// radix given. The radix can be 2, 8, 10 or 16.
/// @returns a character interpretation of the APInt
/// @brief Convert unsigned APInt to string representation.
- inline std::string toString(uint8_t radix = 10) const {
+ inline std::string toStringUnsigned(uint8_t radix = 10) const {
return toString(radix, false);
}
diff --git a/include/llvm/ADT/APSInt.h b/include/llvm/ADT/APSInt.h
index 7e515da..91dd709 100644
--- a/include/llvm/ADT/APSInt.h
+++ b/include/llvm/ADT/APSInt.h
@@ -52,6 +52,12 @@
void setIsUnsigned(bool Val) { IsUnsigned = Val; }
void setIsSigned(bool Val) { IsUnsigned = !Val; }
+ /// This is used internally to convert an APInt to a string.
+ /// @brief Converts an APInt to a std::string
+ std::string toString(uint8_t Radix) const {
+ return toString(Radix, isSigned());
+ }
+
const APSInt &operator%=(const APSInt &RHS) {
assert(IsUnsigned == RHS.IsUnsigned && "Signedness mismatch!");
diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp
index 281f774..53df544 100644
--- a/lib/ExecutionEngine/Interpreter/Execution.cpp
+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp
@@ -1346,8 +1346,9 @@
case Type::DoubleTyID: DOUT << "double " << Val.DoubleVal; break;
case Type::PointerTyID: DOUT << "void* " << intptr_t(Val.PointerVal); break;
case Type::IntegerTyID:
- DOUT << "i" << Val.IntVal.getBitWidth() << " " << Val.IntVal.toString(10)
- << " (0x" << Val.IntVal.toString(16) << ")\n";
+ DOUT << "i" << Val.IntVal.getBitWidth() << " "
+ << Val.IntVal.toStringUnsigned(10)
+ << " (0x" << Val.IntVal.toStringUnsigned(16) << ")\n";
break;
}
}
diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp
index 173f28c..277a0b0 100644
--- a/lib/Support/APInt.cpp
+++ b/lib/Support/APInt.cpp
@@ -2008,8 +2008,8 @@
else for (unsigned i = getNumWords(); i > 0; i--) {
cerr << pVal[i-1] << " ";
}
- cerr << " U(" << this->toString(10) << ") S(" << this->toStringSigned(10)
- << ")\n" << std::setbase(10);
+ cerr << " U(" << this->toStringUnsigned(10) << ") S("
+ << this->toStringSigned(10) << ")\n" << std::setbase(10);
}
#endif
diff --git a/lib/Transforms/IPO/ArgumentPromotion.cpp b/lib/Transforms/IPO/ArgumentPromotion.cpp
index 78703a4..d40df48 100644
--- a/lib/Transforms/IPO/ArgumentPromotion.cpp
+++ b/lib/Transforms/IPO/ArgumentPromotion.cpp
@@ -519,7 +519,7 @@
std::string NewName = I->getName();
for (unsigned i = 0, e = Operands.size(); i != e; ++i)
if (ConstantInt *CI = dyn_cast<ConstantInt>(Operands[i]))
- NewName += "." + CI->getValue().toString(10);
+ NewName += "." + CI->getValue().toStringUnsigned(10);
else
NewName += ".x";
TheArg->setName(NewName+".val");