diff options
author | Chris Lattner <sabre@nondot.org> | 2010-01-22 07:29:22 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-01-22 07:29:22 +0000 |
commit | 38e9219f71bf265588a28e65bd58f8444681d53d (patch) | |
tree | 7e3be09c0e92a944c316b7999e18c97195645262 /llvm/lib/CodeGen/AsmPrinter | |
parent | 0522eb2160bf692344fcccdb46584872b61954b4 (diff) | |
download | bcm5719-llvm-38e9219f71bf265588a28e65bd58f8444681d53d.tar.gz bcm5719-llvm-38e9219f71bf265588a28e65bd58f8444681d53d.zip |
Add the ability for MCStreamer to emit comments on the same line as directives.
Switch over the asm-verbose comment for double values to use it. We now get:
_x:
.long 343597384 ## double 1.231200e+02
.long 1079953326
For example, note that the comment is on the same line as the .long. Woo.
llvm-svn: 94166
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index d5ae71f8ea2..e12a66e7e41 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -1126,13 +1126,16 @@ static void EmitGlobalConstantStruct(const ConstantStruct *CS, static void EmitGlobalConstantFP(const ConstantFP *CFP, unsigned AddrSpace, AsmPrinter &AP) { + SmallString<128> TmpBuffer; + // FP Constants are printed as integer constants to avoid losing // precision. if (CFP->getType()->isDoubleTy()) { if (AP.VerboseAsm) { + raw_svector_ostream OS(TmpBuffer); double Val = CFP->getValueAPF().convertToDouble(); // for comment only - AP.O.PadToColumn(AP.MAI->getCommentColumn()); - AP.O << AP.MAI->getCommentString() << " double " << Val << '\n'; + OS << "double " << Val; + AP.OutStreamer.addComment(OS.str()); } uint64_t Val = CFP->getValueAPF().bitcastToAPInt().getZExtValue(); |