llvm-project/llvm/lib
Sebastian Pop 63847d04e7 code hoisting pass based on GVN
This pass hoists duplicated computations in the program. The primary goal of
gvn-hoist is to reduce the size of functions before inline heuristics to reduce
the total cost of function inlining.

Pass written by Sebastian Pop, Aditya Kumar, Xiaoyu Hu, and Brian Rzycki.
Important algorithmic contributions by Daniel Berlin under the form of reviews.

Differential Revision: http://reviews.llvm.org/D19338

llvm-svn: 275401
2016-07-14 12:18:53 +00:00
..
Analysis This implements a more optimal algorithm for selecting a base constant in 2016-07-14 07:44:20 +00:00
AsmParser Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
Bitcode Add a libLTO API to query a memory buffer and check if it contains ObjC categories 2016-07-11 23:10:18 +00:00
CodeGen Remove extra ';' to appease -Wpedantic 2016-07-14 11:46:41 +00:00
DebugInfo Dump enum unique names. 2016-07-12 03:33:48 +00:00
ExecutionEngine [Object] Re-apply r275316 now that I have the corresponding LLD patch ready. 2016-07-14 02:24:01 +00:00
Fuzzer [LibFuzzer] Unbreak the build on macOS which was broken by r272858. 2016-07-07 18:14:11 +00:00
IR [IR] Make getIndexedOffsetInType return a signed result 2016-07-13 03:42:38 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO New pass manager for LICM. 2016-07-12 22:37:48 +00:00
LibDriver Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. 2016-06-29 22:27:42 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker IR: New representation for CFI and virtual call optimization pass metadata. 2016-06-24 21:21:32 +00:00
MC [MC] Fix lexing ordering in assembly label parsing to preserve same line 2016-07-13 14:03:12 +00:00
Object [Object] Re-apply r275316 now that I have the corresponding LLD patch ready. 2016-07-14 02:24:01 +00:00
ObjectYAML [YAML] Fix YAML tags appearing before the start of sequence elements 2016-06-28 21:10:26 +00:00
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
Passes code hoisting pass based on GVN 2016-07-14 12:18:53 +00:00
ProfileData [Coverage] Mark a few methods const (NFC) 2016-07-13 23:12:23 +00:00
Support [Object] Re-apply r275316 now that I have the corresponding LLD patch ready. 2016-07-14 02:24:01 +00:00
TableGen TableGen: promote "code" type from syntactic sugar. 2016-07-05 21:22:55 +00:00
Target [X86][AVX] Add VBROADCASTF128/VBROADCASTI128 shuffle comments support 2016-07-14 12:07:43 +00:00
Transforms code hoisting pass based on GVN 2016-07-14 12:18:53 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
LLVMBuild.txt Add LLVMBuild for ObjectYAML. 2016-03-01 21:29:33 +00:00