summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/tools/llvm-exegesis/lib/Analysis.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/Analysis.cpp b/llvm/tools/llvm-exegesis/lib/Analysis.cpp
index 0dd6bcbd466..3d7bffd5d6d 100644
--- a/llvm/tools/llvm-exegesis/lib/Analysis.cpp
+++ b/llvm/tools/llvm-exegesis/lib/Analysis.cpp
@@ -114,13 +114,11 @@ void Analysis::writeSnippet(llvm::raw_ostream &OS,
writeEscaped<Tag>(OS, "[error decoding asm snippet]");
return;
}
- Lines.emplace_back();
- std::string &Line = Lines.back();
- llvm::raw_string_ostream OSS(Line);
+ llvm::SmallString<128> InstPrinterStr; // FIXME: magic number.
+ llvm::raw_svector_ostream OSS(InstPrinterStr);
InstPrinter_->printInst(&MI, OSS, "", *SubtargetInfo_);
Bytes = Bytes.drop_front(MISize);
- OSS.flush();
- Line = llvm::StringRef(Line).trim().str();
+ Lines.emplace_back(llvm::StringRef(InstPrinterStr).trim());
}
writeEscaped<Tag>(OS, llvm::join(Lines, Separator));
}
OpenPOWER on IntegriCloud