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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94166 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-01-22 07:29:22 +00:00
parent 07404415ab
commit 86e2211d0a
3 changed files with 76 additions and 11 deletions

View File

@@ -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();