llvm/lib
Matthew Simpson 7d6a3b6798 Add CalledValuePropagation pass
This patch adds a new pass for attaching !callees metadata to indirect call
sites. The pass propagates values to call sites by performing an IPSCCP-like
analysis using the generic sparse propagation solver. For indirect call sites
having a small set of possible callees, the attached metadata indicates what
those callees are. The metadata can be used to facilitate optimizations like
intersecting the function attributes of the possible callees, refining the call
graph, performing indirect call promotion, etc.

Differential Revision: https://reviews.llvm.org/D37355

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316576 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-25 13:40:08 +00:00
..
Analysis [SCEV] Enhance SCEVFindUnsafe for division 2017-10-25 11:07:43 +00:00
AsmParser Fix assembler for alloca of multiple elements in non-zero addr space 2017-10-14 03:23:18 +00:00
BinaryFormat Simplify. 2017-10-19 01:32:18 +00:00
Bitcode Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
CodeGen Re-land "[CodeGen][ExpandMemcmp][NFC] Allow memcmp to expand to vector loads (1)" 2017-10-25 11:02:09 +00:00
DebugInfo [llvm-dwarfdump] - Fix array out of bounds access crash. 2017-10-25 10:23:49 +00:00
Demangle
ExecutionEngine ExecutionEngine: make COFF Thumb2 assertions non-tautological 2017-10-22 20:51:25 +00:00
Fuzzer [libFuzzer] Delete llvm/lib/Fuzzer 2017-10-16 20:48:19 +00:00
FuzzMutate FuzzMutate: Fix arch parsing in FuzzerCLI 2017-10-17 02:39:40 +00:00
IR [inlineasm] Fix crash when number of matched input constraint operands overflows signed char 2017-10-25 12:51:32 +00:00
IRReader
LineEditor
Linker
LTO [raw_fd_ostream] report actual error in error messages 2017-10-24 01:26:22 +00:00
MC [MC] Adding code padding for performance stability - infrastructure. NFC. 2017-10-24 06:16:03 +00:00
Object llvm-readobj: Add support for reading relocations in the Android packed format. 2017-10-25 03:37:12 +00:00
ObjectYAML llvm-readobj: Add support for reading relocations in the Android packed format. 2017-10-25 03:37:12 +00:00
Option Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
Passes Add CalledValuePropagation pass 2017-10-25 13:40:08 +00:00
ProfileData [Coverage] Provide a stable order for getInstantiationGroups 2017-10-24 22:35:29 +00:00
Support Check special-case-list regex before insertion. 2017-10-24 23:56:12 +00:00
TableGen Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
Target [mips] Clean up some whitespace (NFC). 2017-10-25 13:35:53 +00:00
Testing
ToolDrivers [COFF] Improve the check for functions that should get an extra underscore 2017-10-23 09:08:13 +00:00
Transforms Add CalledValuePropagation pass 2017-10-25 13:40:08 +00:00
WindowsManifest
XRay [XRay][tools] Support arg1 logging entries in the basic logging mode 2017-10-05 05:18:17 +00:00
CMakeLists.txt
LLVMBuild.txt