diff --git a/include/llvm/Support/FormattedStream.h b/include/llvm/Support/FormattedStream.h index a7824f0aae2..6157c40de68 100644 --- a/include/llvm/Support/FormattedStream.h +++ b/include/llvm/Support/FormattedStream.h @@ -119,13 +119,12 @@ namespace llvm Scanned = begin(); } - /// PadToColumn - Align the output to some column number. + /// PadToColumn - Align the output to some column number. If the current + /// column is already equal to or more than NewCol, PadToColumn inserts one + /// space. /// /// \param NewCol - The column to move to. - /// \param MinPad - The minimum space to give after the most - /// recent I/O, even if the current column + minpad > newcol. - /// - void PadToColumn(unsigned NewCol, unsigned MinPad = 0); + void PadToColumn(unsigned NewCol); private: void releaseStream() { diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 7f23abe4ee1..d8594db9508 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -333,7 +333,7 @@ void AsmPrinter::EmitConstantPool(MachineConstantPool *MCP) { O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << '_' << CPI << ':'; if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " constant "; WriteTypeSymbolic(O, CPE.getType(), MF->getFunction()->getParent()); } @@ -606,7 +606,7 @@ void AsmPrinter::EOL() const { void AsmPrinter::EOL(const std::string &Comment) const { if (VerboseAsm && !Comment.empty()) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << ' ' << Comment; @@ -616,7 +616,7 @@ void AsmPrinter::EOL(const std::string &Comment) const { void AsmPrinter::EOL(const char* Comment) const { if (VerboseAsm && *Comment) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << ' ' << Comment; @@ -1020,21 +1020,21 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, if (TAI->getData64bitsDirective(AddrSpace)) { O << TAI->getData64bitsDirective(AddrSpace) << i; if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " double " << Val; } O << '\n'; } else if (TD->isBigEndian()) { O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " most significant word of double " << Val; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " least significant word of double " << Val; } @@ -1042,14 +1042,14 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, } else { O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " least significant word of double " << Val; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " most significant word of double " << Val; } @@ -1061,7 +1061,7 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, O << TAI->getData32bitsDirective(AddrSpace) << CFP->getValueAPF().bitcastToAPInt().getZExtValue(); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " float " << Val; } O << '\n'; @@ -1079,7 +1079,7 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, if (TD->isBigEndian()) { O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1]); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " most significant halfword of x86_fp80 ~" << DoubleVal.convertToDouble(); @@ -1087,25 +1087,25 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, O << '\n'; O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next halfword"; } O << '\n'; O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next halfword"; } O << '\n'; O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next halfword"; } O << '\n'; O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0]); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " least significant halfword"; } @@ -1113,7 +1113,7 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, } else { O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0]); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " least significant halfword of x86_fp80 ~" << DoubleVal.convertToDouble(); @@ -1121,28 +1121,28 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, O << '\n'; O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next halfword"; } O << '\n'; O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next halfword"; } O << '\n'; O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next halfword"; } O << '\n'; O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1]); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " most significant halfword"; } @@ -1159,28 +1159,28 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, if (TD->isBigEndian()) { O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " most significant word of ppc_fp128"; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0]); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next word"; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next word"; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1]); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " least significant word"; } @@ -1188,28 +1188,28 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP, } else { O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1]); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " least significant word of ppc_fp128"; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next word"; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0]); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " next word"; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " most significant word"; } @@ -1242,14 +1242,14 @@ void AsmPrinter::EmitGlobalConstantLargeInt(const ConstantInt *CI, else if (TD->isBigEndian()) { O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " most significant half of i64 " << Val; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " least significant half of i64 " << Val; } @@ -1257,14 +1257,14 @@ void AsmPrinter::EmitGlobalConstantLargeInt(const ConstantInt *CI, } else { O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " least significant half of i64 " << Val; } O << '\n'; O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32); if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " most significant half of i64 " << Val; } @@ -1308,7 +1308,7 @@ void AsmPrinter::EmitGlobalConstant(const Constant *CV, unsigned AddrSpace) { if (const ConstantInt *CI = dyn_cast(CV)) { SmallString<40> S; CI->getValue().toStringUnsigned(S, 16); - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " 0x" << S.c_str(); } } @@ -1574,7 +1574,7 @@ void AsmPrinter::printInlineAsm(const MachineInstr *MI) const { /// that is an implicit def. void AsmPrinter::printImplicitDef(const MachineInstr *MI) const { if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " implicit-def: " << TRI->getAsmName(MI->getOperand(0).getReg()) << '\n'; } @@ -1635,7 +1635,7 @@ void AsmPrinter::printBasicBlockLabel(const MachineBasicBlock *MBB, if (printComment) { if (const BasicBlock *BB = MBB->getBasicBlock()) if (BB->hasName()) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << ' '; WriteAsOperand(O, BB, /*PrintType=*/false); } @@ -1769,8 +1769,8 @@ void AsmPrinter::EmitComments(const MachineInstr &MI) const { DebugLocTuple DLT = MF->getDebugLocTuple(MI.getDebugLoc()); - // Print source line info - O.PadToColumn(TAI->getCommentColumn(), 1); + // Print source line info. + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " SrcLine "; if (DLT.CompileUnit->hasInitializer()) { Constant *Name = DLT.CompileUnit->getInitializer(); @@ -1791,7 +1791,7 @@ void AsmPrinter::EmitComments(const MCInst &MI) const DebugLocTuple DLT = MF->getDebugLocTuple(MI.getDebugLoc()); // Print source line info - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " SrcLine "; if (DLT.CompileUnit->hasInitializer()) { Constant *Name = DLT.CompileUnit->getInitializer(); @@ -1817,11 +1817,11 @@ void AsmPrinter::EmitComments(const MachineBasicBlock &MBB) const if (loop) { // Print a newline after bb# annotation. O << "\n"; - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " Loop Depth " << loop->getLoopDepth() << '\n'; - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); MachineBasicBlock *Header = loop->getHeader(); assert(Header && "No header for loop"); @@ -1837,7 +1837,7 @@ void AsmPrinter::EmitComments(const MachineBasicBlock &MBB) const if (loop->empty()) { O << '\n'; - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " Inner Loop"; } @@ -1849,7 +1849,7 @@ void AsmPrinter::EmitComments(const MachineBasicBlock &MBB) const assert(Header && "No header for loop"); O << '\n'; - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << Indent(CurLoop->getLoopDepth()-1) << " Inside Loop BB" << getFunctionNumber() << "_" << Header->getNumber() << " Depth " << CurLoop->getLoopDepth(); @@ -1868,7 +1868,7 @@ void AsmPrinter::PrintChildLoopComment(const MachineLoop *loop) const { assert(Header && "No header for loop"); O << '\n'; - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << Indent((*cl)->getLoopDepth()-1) << " Child Loop BB" << getFunctionNumber() << "_" diff --git a/lib/Support/FormattedStream.cpp b/lib/Support/FormattedStream.cpp index 0db21f651a7..0c787f8c4f9 100644 --- a/lib/Support/FormattedStream.cpp +++ b/lib/Support/FormattedStream.cpp @@ -51,21 +51,20 @@ void formatted_raw_ostream::ComputeColumn() { /// \param MinPad - The minimum space to give after the most recent /// I/O, even if the current column + minpad > newcol. /// -void formatted_raw_ostream::PadToColumn(unsigned NewCol, unsigned MinPad) { +void formatted_raw_ostream::PadToColumn(unsigned NewCol) { // Figure out what's in the buffer and add it to the column count. ComputeColumn(); // Output spaces until we reach the desired column. unsigned num = NewCol - ColumnScanned; - if (NewCol < ColumnScanned || num < MinPad) - num = MinPad; + if (NewCol < ColumnScanned || num < 1) + num = 1; // Keep a buffer of spaces handy to speed up processing. const char *Spaces = " " " "; assert(num < MAX_COLUMN_PAD && "Unexpectedly large column padding"); - write(Spaces, num); } diff --git a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp index 9dffbe831f3..8c9401cdbdf 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp @@ -217,7 +217,7 @@ void X86ATTAsmPrinter::emitFunctionHeader(const MachineFunction &MF) { O << CurrentFnName << ':'; if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << ' '; WriteAsOperand(O, F, /*PrintType=*/false, F->getParent()); } @@ -921,7 +921,7 @@ void X86ATTAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) { EmitAlignment(Align, GVar); O << name << ":"; if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << ' '; WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent()); } @@ -943,7 +943,7 @@ void X86ATTAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) { O << ',' << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align); } if (VerboseAsm) { - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << ' '; WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent()); } @@ -987,7 +987,7 @@ void X86ATTAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) { EmitAlignment(Align, GVar); O << name << ":"; if (VerboseAsm){ - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << ' '; WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent()); } diff --git a/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp index 00d0ddbcc6c..afe5ad6ea45 100644 --- a/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp @@ -524,7 +524,7 @@ void X86IntelAsmPrinter::PrintGlobalVariable(const GlobalVariable *GV) { O << name << ":"; if (VerboseAsm) - O.PadToColumn(TAI->getCommentColumn(), 1); + O.PadToColumn(TAI->getCommentColumn()); O << TAI->getCommentString() << " " << GV->getName(); O << '\n'; diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index 94256827f0a..c79c427ba87 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -1690,11 +1690,11 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) { } if (BB->getParent() == 0) { - Out.PadToColumn(50, 1); + Out.PadToColumn(50); Out << "; Error: Block without parent!"; } else if (BB != &BB->getParent()->getEntryBlock()) { // Not the entry block? // Output predecessors for the block... - Out.PadToColumn(50, 1); + Out.PadToColumn(50); Out << ";"; pred_const_iterator PI = pred_begin(BB), PE = pred_end(BB); @@ -1729,7 +1729,7 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) { /// void AssemblyWriter::printInfoComment(const Value &V) { if (V.getType() != Type::getVoidTy(V.getContext())) { - Out.PadToColumn(50, 1); + Out.PadToColumn(50); Out << "; <"; TypePrinter.print(V.getType(), Out); Out << "> [#uses=" << V.getNumUses() << ']'; // Output # uses diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp index 61117c16a31..03eaa7aee32 100644 --- a/utils/TableGen/AsmWriterEmitter.cpp +++ b/utils/TableGen/AsmWriterEmitter.cpp @@ -177,7 +177,7 @@ AsmWriterInst::AsmWriterInst(const CodeGenInstruction &CGI, Record *AsmWriter) { CurColumn++ * OperandSpacing; Operands.push_back( AsmWriterOperand("O.PadToColumn(" + - utostr(DestColumn) + ",1);\n", + utostr(DestColumn) + ");\n", AsmWriterOperand::isLiteralStatementOperand)); } break; @@ -211,7 +211,7 @@ AsmWriterInst::AsmWriterInst(const CodeGenInstruction &CGI, Record *AsmWriter) { unsigned DestColumn = FirstOperandColumn + CurColumn++ * OperandSpacing; Operands.push_back( - AsmWriterOperand("O.PadToColumn(" + utostr(DestColumn) + ", 1);\n", + AsmWriterOperand("O.PadToColumn(" + utostr(DestColumn) + ");\n", AsmWriterOperand::isLiteralStatementOperand)); break; } else if (std::string("${|}\\").find(AsmString[DollarPos+1])