[BOLTDIFF] Add a tool to audit performance differences

Summary:
This is a simple bolt-based tool that instantiates two
RewriteInstances objects and compares them. Add a method to
RewriteInstance to enable us to compare two objects. Include a mechanism
to match functions from binary 1 to binary 2 and finally print the
largest differences in profiling data from one binary to another.

(cherry picked from FBD6517076)
This commit is contained in:
Rafael Auler
2017-12-07 15:00:41 -08:00
committed by Maksim Panchenko
parent d660f8b1fe
commit 6644548c74
9 changed files with 821 additions and 19 deletions

View File

@@ -67,6 +67,7 @@ add_llvm_tool(llvm-bolt
BinaryFunctionProfile.cpp
BinaryPassManager.cpp
BinarySection.cpp
BoltDiff.cpp
CacheMetrics.cpp
DataAggregator.cpp
DataReader.cpp
@@ -84,3 +85,4 @@ add_llvm_tool(llvm-bolt
)
add_llvm_tool_symlink(perf2bolt llvm-bolt)
add_llvm_tool_symlink(llvm-boltdiff llvm-bolt)