llvm/bolt
Gabriel Poesia 5fa128e748 Inlining of small functions.
Summary:
Added an optimization pass of inlining calls to small functions (with only one
basic block). Inlining is done in a very simple way, inserting instructions to
simulate the changes to the stack pointer that call/ret would make before/after the
inlined function executes. Also, the heuristic prefers to inline calls that happen
in the hottest blocks (by looking at their execution count). Calls in cold blocks are
ignored.

(cherry picked from FBD3233516)
2016-04-25 14:25:58 -07:00
..
merge-fdata Fix ninja install-* for BOLT utilities. 2016-04-25 22:13:12 -07:00
BinaryBasicBlock.cpp Update DWARF lexical blocks address ranges. 2016-03-28 17:45:22 -07:00
BinaryBasicBlock.h Inlining of small functions. 2016-04-25 14:25:58 -07:00
BinaryContext.cpp Update address ranges of inlined functions and try/catch blocks. 2016-04-12 11:41:03 -07:00
BinaryContext.h Update address ranges of inlined functions and try/catch blocks. 2016-04-12 11:41:03 -07:00
BinaryFunction.cpp Changed splitting options and fixed sorting. 2016-04-20 15:31:11 -07:00
BinaryFunction.h Inlining of small functions. 2016-04-25 14:25:58 -07:00
BinaryPasses.cpp Inlining of small functions. 2016-04-25 14:25:58 -07:00
BinaryPasses.h Inlining of small functions. 2016-04-25 14:25:58 -07:00
BinaryPassManager.cpp Inlining of small functions. 2016-04-25 14:25:58 -07:00
BinaryPassManager.h Inlining of small functions. 2016-04-25 14:25:58 -07:00
CMakeLists.txt Optimize calls to functions that are a single unconditional jump 2016-04-15 15:59:52 -07:00
DataReader.cpp Populate function execution count while parsing fdata. 2016-03-28 11:06:28 -07:00
DataReader.h Make merge-fdata generate smaller .fdata files. 2016-04-27 18:06:18 -07:00
DebugData.cpp Group debugging info representation and serialization code. 2016-04-07 15:06:43 -07:00
DebugData.h Group debugging info representation and serialization code. 2016-04-07 15:06:43 -07:00
Exceptions.cpp Special handling for GNU_args_size call frame instruction. 2016-04-19 22:00:29 -07:00
Exceptions.h Check function data in symbol table against data in .eh_frame. 2016-03-11 11:09:34 -08:00
llvm-bolt.cpp Tool to merge .fdata files. 2016-04-08 12:18:06 -07:00
LLVMBuild.txt Tool to merge .fdata files. 2016-04-08 12:18:06 -07:00
README.md BOLT root commit 2022-01-10 17:58:05 -08:00
RewriteInstance.cpp Inlining of small functions. 2016-04-25 14:25:58 -07:00
RewriteInstance.h Fix debugging info for simple functions that we fail to rewrite. 2016-04-11 17:46:18 -07:00