1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00

[llvm-exegesis] Add a flag to output analysis csv to a file.

Reviewers: gchatelet

Subscribers: llvm-commits, tschuett

Differential Revision: https://reviews.llvm.org/D46931

llvm-svn: 332445
This commit is contained in:
Clement Courbet 2018-05-16 09:50:04 +00:00
parent c69d5b5cbb
commit 333ade66d9

View File

@ -70,6 +70,10 @@ static llvm::cl::opt<float>
llvm::cl::desc("dbscan epsilon for analysis clustering"),
llvm::cl::init(0.1));
static llvm::cl::opt<std::string> AnalysisClustersFile("analysis-clusters-file",
llvm::cl::desc(""),
llvm::cl::init("-"));
namespace exegesis {
void benchmarkMain() {
@ -135,7 +139,6 @@ void analysisMain() {
// FIXME: Check that all points have the same triple/cpu.
// FIXME: Merge points from several runs (latency and uops).
//llvm::InitializeAllTargets();
llvm::InitializeNativeTarget();
llvm::InitializeNativeTargetAsmPrinter();
@ -151,7 +154,13 @@ void analysisMain() {
const Analysis Analyzer(*TheTarget, Clustering);
if (auto Err = Analyzer.printClusters(llvm::outs()))
std::error_code ErrorCode;
llvm::raw_fd_ostream ClustersOS(AnalysisClustersFile, ErrorCode,
llvm::sys::fs::F_RW);
if (ErrorCode)
llvm::report_fatal_error("cannot open out file: " + AnalysisClustersFile);
if (auto Err = Analyzer.printClusters(ClustersOS))
llvm::report_fatal_error(std::move(Err));
}