Use utohex_buffer instead of utohexstr to avoid creating a temporary
string in the .ll and .s printers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58962 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 0185441..a9b2973 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -564,7 +564,9 @@
/// PrintHex - Print a value as a hexidecimal value.
///
void AsmPrinter::PrintHex(int Value) const {
- O << "0x" << utohexstr(static_cast<unsigned>(Value));
+ char Buffer[20];
+
+ O << "0x" << utohex_buffer(static_cast<unsigned>(Value), Buffer+20);
}
/// EOL - Print a newline character to asm stream. If a comment is present
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index 34e9716..2f6c1cc 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -662,7 +662,8 @@
// output the string in hexadecimal format!
assert(sizeof(double) == sizeof(uint64_t) &&
"assuming that double is 64 bits!");
- Out << "0x" << utohexstr(DoubleToBits(Val));
+ char Buffer[40];
+ Out << "0x" << utohex_buffer(uint64_t(DoubleToBits(Val)), Buffer+40);
return;
}