diff options
author | Clement Courbet <courbet@google.com> | 2018-05-17 13:41:28 +0000 |
---|---|---|
committer | Clement Courbet <courbet@google.com> | 2018-05-17 13:41:28 +0000 |
commit | cf210746038b4b7a31b8dffb937611d6d9afc4df (patch) | |
tree | 80bce1d061af5f29d95a41b70fc69839182c5462 /llvm/tools/llvm-exegesis/lib/Analysis.cpp | |
parent | 5e41fc83c5b614569ea862a4e412b8920b9aca1f (diff) | |
download | bcm5719-llvm-cf210746038b4b7a31b8dffb937611d6d9afc4df.tar.gz bcm5719-llvm-cf210746038b4b7a31b8dffb937611d6d9afc4df.zip |
[llvm-exegesis] Write out inconsistencies to a file.
Reviewers: gchatelet
Subscribers: tschuett, llvm-commits
Differential Revision: https://reviews.llvm.org/D47013
llvm-svn: 332608
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/Analysis.cpp')
-rw-r--r-- | llvm/tools/llvm-exegesis/lib/Analysis.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/Analysis.cpp b/llvm/tools/llvm-exegesis/lib/Analysis.cpp index 5b609257f59..a02ea29e3d1 100644 --- a/llvm/tools/llvm-exegesis/lib/Analysis.cpp +++ b/llvm/tools/llvm-exegesis/lib/Analysis.cpp @@ -91,7 +91,9 @@ Analysis::Analysis(const llvm::Target &Target, MnemonicToOpcode_.emplace(InstrInfo_->getName(I), I); } -llvm::Error Analysis::printClusters(llvm::raw_ostream &OS) const { +template <> +llvm::Error +Analysis::run<Analysis::PrintClusters>(llvm::raw_ostream &OS) const { if (Clustering_.getPoints().empty()) return llvm::Error::success(); @@ -133,8 +135,9 @@ Analysis::makePointsPerSchedClass() const { return PointsPerSchedClass; } -llvm::Error -Analysis::printSchedClassInconsistencies(llvm::raw_ostream &OS) const { +template <> +llvm::Error Analysis::run<Analysis::PrintSchedClassInconsistencies>( + llvm::raw_ostream &OS) const { // All the points in a scheduling class should be in the same cluster. // Print any scheduling class for which this is not the case. for (const auto &SchedClassAndPoints : makePointsPerSchedClass()) { @@ -167,4 +170,9 @@ Analysis::printSchedClassInconsistencies(llvm::raw_ostream &OS) const { return llvm::Error::success(); } +template llvm::Error +Analysis::run<Analysis::PrintClusters>(llvm::raw_ostream &OS) const; +template llvm::Error Analysis::run<Analysis::PrintSchedClassInconsistencies>( + llvm::raw_ostream &OS) const; + } // namespace exegesis |