From 25995093e785f4794b3590f3df70fbfe834a00a1 Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Tue, 1 Jul 2008 21:16:27 +0000 Subject: [PATCH] Add a version of AsmPrinter::EOL that takes a const char* so that we don't have to do as many implicit std::string constructions. Unfortunately, this doesn't appear to translate to a real speedup in practice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52981 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/AsmPrinter.h | 1 + lib/CodeGen/AsmPrinter.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h index e92c8a8df53..fbb0821c217 100644 --- a/include/llvm/CodeGen/AsmPrinter.h +++ b/include/llvm/CodeGen/AsmPrinter.h @@ -236,6 +236,7 @@ namespace llvm { /// then it will be printed first. Comments should not contain '\n'. void EOL() const; void EOL(const std::string &Comment) const; + void EOL(const char* Comment) const; /// EmitULEB128Bytes - Emit an assembler byte data directive to compose an /// unsigned leb128 value. diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp index a682a3f5a88..13206633972 100644 --- a/lib/CodeGen/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter.cpp @@ -551,6 +551,7 @@ void AsmPrinter::PrintHex(int Value) const { void AsmPrinter::EOL() const { O << '\n'; } + void AsmPrinter::EOL(const std::string &Comment) const { if (AsmVerbose && !Comment.empty()) { O << '\t' @@ -561,6 +562,16 @@ void AsmPrinter::EOL(const std::string &Comment) const { O << '\n'; } +void AsmPrinter::EOL(const char* Comment) const { + if (AsmVerbose && *Comment) { + O << '\t' + << TAI->getCommentString() + << ' ' + << Comment; + } + O << '\n'; +} + /// EmitULEB128Bytes - Emit an assembler byte data directive to compose an /// unsigned leb128 value. void AsmPrinter::EmitULEB128Bytes(unsigned Value) const { -- 2.34.1