llvm-project/llvm/lib
Chandler Carruth 2a54094d40 [PM] Provide two templates for the two directionalities of analysis
manager proxies and use those rather than repeating their definition
four times.

There are real differences between the two directions: outer AMs are
const and don't need to have invalidation tracked. But every proxy in
a particular direction is identical except for the analysis manager type
and the IR unit they proxy into. This makes them prime candidates for
nice templates.

I've started introducing explicit template instantiation declarations
and definitions as well because we really shouldn't be emitting all this
everywhere. I'm going to go back and add the same for the other
templates like this in a follow-up patch.

I've left the analysis manager as an opaque type rather than using two
IR units and requiring it to be an AnalysisManager template
specialization. I think its important that users retain the ability to
provide their own custom analysis management layer and provided it has
the appropriate API everything should Just Work.

llvm-svn: 262127
2016-02-27 10:38:10 +00:00
..
Analysis [PM] Provide two templates for the two directionalities of analysis 2016-02-27 10:38:10 +00:00
AsmParser [IR] Extend cmpxchg to allow pointer type operands 2016-02-19 00:06:41 +00:00
Bitcode [ThinLTO] Add missing breaks when parsing summaries (NFC) 2016-02-24 17:57:28 +00:00
CodeGen DAGCombiner: Relax sqrt NaN folding check 2016-02-27 09:38:05 +00:00
DebugInfo [DebugInfoPDB] Add source / line number accessors for PDB. 2016-02-18 18:47:29 +00:00
ExecutionEngine [Orc] Add stack-realignment code to the i386 resolver function. 2016-02-21 22:50:26 +00:00
Fuzzer [libFuzzer] fixing the bot 2016-02-27 03:14:23 +00:00
IR [PM] Provide two templates for the two directionalities of analysis 2016-02-27 10:38:10 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO [PM] Port the PostOrderFunctionAttrs pass to the new pass manager and 2016-02-18 11:03:11 +00:00
LibDriver Remove autoconf support 2016-01-26 21:29:08 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Pass a std::unique_ptr to IRMover::move. 2016-02-16 18:50:12 +00:00
MC Add capability to push/pop DFI in MCStreamer. NFC 2016-02-24 22:25:18 +00:00
Object Represent the dynamic table itself with a DynRegionInfo. 2016-02-17 16:48:00 +00:00
Option Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Passes [PM] Finish removing references to fix MSVC builds. Somehow adding base 2016-02-26 12:30:18 +00:00
ProfileData Add prefix based function layout when profile is available. 2016-02-23 03:39:24 +00:00
Support [CMAKE] Update build on recent Haiku 2016-02-26 17:01:45 +00:00
TableGen [TableGen] Fix typos in comments. NFC 2016-02-26 06:50:27 +00:00
Target AMDGPU: Split vi-insts subtarget feature 2016-02-27 08:53:55 +00:00
Transforms [instrprof] Use __{start,stop}_SECNAME on PS4 too. 2016-02-27 06:01:26 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00