summaryrefslogtreecommitdiff
path: root/bolt/CMakeLists.txt
diff options
context:
space:
mode:
authorRafael Auler <rafaelauler@fb.com>2018-02-06 15:00:23 -0800
committerMaksim Panchenko <maks@fb.com>2018-02-06 15:00:23 -0800
commit8a5a30156e1e9c48dedc67c2b2413f69502715df (patch)
tree2c789a3742bdf78728efa1939d38bc1ed15a5a47 /bolt/CMakeLists.txt
parent600cf0ecf609d975d8aa85ebae251b2963087365 (diff)
downloadllvm-8a5a30156e1e9c48dedc67c2b2413f69502715df.tar.gz
[BOLT rebase] Rebase fixes on top of LLVM Feb2018
Summary: This commit includes all code necessary to make BOLT working again after the rebase. This includes a redesign of the EHFrame work, cherry-pick of the 3dnow disassembly work, compilation error fixes, and port of the debug_info work. The macroop fusion feature is not ported yet. The rebased version has minor changes to the "executed instructions" dynostats counter because REP prefixes are considered a part of the instruction it applies to. Also, some X86 instructions had the "mayLoad" tablegen property removed, which BOLT uses to identify and account for loads, thus reducing the total number of loads reported by dynostats. This was observed in X86::MOVDQUmr. TRAP instructions are not terminators anymore, changing our CFG. This commit adds compensation to preserve this old behavior and minimize tests changes. debug_info sections are now slightly larger. The discriminator field in the line table is slightly different due to a change upstream. New profiles generated with the other bolt are incompatible with this version because of different hash values calculated for functions, so they will be considered 100% stale. This commit changes the corresponding test to XFAIL so it can be updated. The hash function changes because it relies on raw opcode values, which change according to the opcodes described in the X86 tablegen files. When processing HHVM, bolt was observed to be using about 800MB more memory in the rebased version and being about 5% slower. (cherry picked from FBD7078072)
Diffstat (limited to 'bolt/CMakeLists.txt')
-rw-r--r--bolt/CMakeLists.txt3
1 files changed, 3 insertions, 0 deletions
diff --git a/bolt/CMakeLists.txt b/bolt/CMakeLists.txt
index bdcdb051f5b6..742405334e3e 100644
--- a/bolt/CMakeLists.txt
+++ b/bolt/CMakeLists.txt
@@ -75,6 +75,9 @@ add_llvm_tool(llvm-bolt
ProfileReader.cpp
ProfileWriter.cpp
RewriteInstance.cpp
+
+ DEPENDS
+ intrinsics_gen
)
add_llvm_tool_symlink(perf2bolt llvm-bolt)