1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
llvm-mirror/include/llvm
Chandler Carruth a482d2bc0a [PM/AA] Teach the new pass manager to use pass-by-lambda for registering
analysis passes, support pre-registering analyses, and use that to
implement parsing and pre-registering a custom alias analysis pipeline.

With this its possible to configure the particular alias analysis
pipeline used by the AAManager from the commandline of opt. I've updated
the test to show this effectively in use to build a pipeline including
basic-aa as part of it.

My big question for reviewers are around the APIs that are used to
expose this functionality. Are folks happy with pass-by-lambda to do
pass registration? Are folks happy with pre-registering analyses as
a way to inject customized instances of an analysis while still using
the registry for the general case?

Other thoughts of course welcome. The next round of patches will be to
add the rest of the alias analyses into the new pass manager and wire
them up here so that they can be used from opt. This will require
extending the (somewhate limited) functionality of AAManager w.r.t.
module passes.

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

llvm-svn: 261197
2016-02-18 09:45:17 +00:00
..
ADT [ADT] Add StringRef::{l,r}trim(char) overloads (NFC) 2016-02-16 01:48:39 +00:00
Analysis Add static/const qualifiers to methods. NFC. 2016-02-17 19:59:32 +00:00
AsmParser
Bitcode Bitcode reader: replace DecodeChar6() with a lookup table (NFC) 2016-02-10 22:47:48 +00:00
CodeGen Revert r261070, it caused PR26652 / PR26653. 2016-02-17 18:47:29 +00:00
Config Remove references to *.h.in files and some autoconf hackery 2016-01-30 04:15:33 +00:00
DebugInfo [DebugInfoPDB] A few cleanups on PDB Variant class. 2016-02-17 22:46:33 +00:00
ExecutionEngine [Orc] Add lazy-JITting support for i386. 2016-02-10 01:02:33 +00:00
IR [PM/AA] Teach the new pass manager to use pass-by-lambda for registering 2016-02-18 09:45:17 +00:00
IRReader [ThinLTO] Metadata linking for imported functions 2015-12-17 17:14:09 +00:00
LibDriver
LineEditor
Linker Pass a std::unique_ptr to IRMover::move. 2016-02-16 18:50:12 +00:00
LTO Remove unused MC includes from LTOModule.h 2016-01-28 23:21:12 +00:00
MC [codeview] Describe int local variables using .cv_def_range 2016-02-10 20:55:49 +00:00
Object Represent the dynamic table itself with a DynRegionInfo. 2016-02-17 16:48:00 +00:00
Option Convert Arg, ArgList, and Option to dump() to dbgs() rather than errs(). 2015-12-18 18:55:26 +00:00
Passes [PM/AA] Teach the new pass manager to use pass-by-lambda for registering 2016-02-18 09:45:17 +00:00
ProfileData Add a profile summary class specific to instrumentation profiles. 2016-02-17 18:18:47 +00:00
Support [Hexagon] Adding relocation for code size, cold path optimization allowing a 23-bit 4-byte aligned relocation to be a valid instruction encoding. 2016-02-16 20:38:17 +00:00
TableGen Minor performance tweaks to llvm-tblgen (and a few that might be a good idea) 2016-02-03 19:34:28 +00:00
Target [GlobalISel] Re-apply r260922-260923 with MSVC-friendly code. 2016-02-16 19:26:02 +00:00
Transforms [sanitizer-coverage] implement -fsanitize-coverage=trace-pc. This is similar to trace-bb, but has a different API. We already use the equivalent flag in GCC for Linux kernel fuzzing. We may be able to use this flag with AFL too 2016-02-17 21:34:43 +00:00
CMakeLists.txt
InitializePasses.h WholeProgramDevirt: introduce. 2016-02-09 22:50:34 +00:00
LinkAllIR.h
LinkAllPasses.h New Loop Versioning LICM Pass 2016-02-06 07:47:48 +00:00
module.modulemap Fix the LLVM_ENABLE_MODULES build after adding TargetOpcodes.def in r259726. 2016-02-09 01:35:45 +00:00
module.modulemap.build
Pass.h Recommit r256952 "Filtering IR printing for print-after-all/print-before-all" 2016-01-06 22:55:03 +00:00
PassAnalysisSupport.h [PassManager] Tuning Memory Usage of AnalysisUsage 2015-12-08 00:10:56 +00:00
PassInfo.h
PassRegistry.h Reorganize the C API headers to improve build times. 2015-12-18 01:46:52 +00:00
PassSupport.h