llvm-project/llvm/lib
Chandler Carruth 9c4ed175c2 [PM] Port the PostOrderFunctionAttrs pass to the new pass manager and
convert one test to use this.

This is a particularly significant milestone because it required
a working per-function AA framework which can be queried over each
function from within a CGSCC transform pass (and additionally a module
analysis to be accessible). This is essentially *the* point of the
entire pass manager rewrite. A CGSCC transform is able to query for
multiple different function's analysis results. It works. The whole
thing appears to actually work and accomplish the original goal. While
we were able to hack function attrs and basic-aa to "work" in the old
pass manager, this port doesn't use any of that, it directly leverages
the new fundamental functionality.

For this to work, the CGSCC framework also has to support SCC-based
behavior analysis, etc. The only part of the CGSCC pass infrastructure
not sorted out at this point are the updates in the face of inlining and
running function passes that mutate the call graph.

The changes are pretty boring and boiler-plate. Most of the work was
factored into more focused preperatory patches. But this is what wires
it all together.

llvm-svn: 261203
2016-02-18 11:03:11 +00:00
..
Analysis [AliasSetTracker] Teach AliasSetTracker about MemSetInst 2016-02-17 02:01:50 +00:00
AsmParser Remove autoconf support 2016-01-26 21:29:08 +00:00
Bitcode Bitcode writer: fix a typo, using getName() instead of getSourceFileName() 2016-02-16 22:07:03 +00:00
CodeGen Revert "LiveIntervalAnalysis: Remove LiveVariables requirement" and LiveIntervalTest 2016-02-18 05:21:43 +00:00
DebugInfo [DebugInfoPDB] A few cleanups on PDB Variant class. 2016-02-17 22:46:33 +00:00
ExecutionEngine Fix build LLVM with -D LLVM_USE_INTEL_JITEVENTS:BOOL=ON on Windows 2016-02-16 23:52:18 +00:00
Fuzzer [libFuzzer] fix the libFuzzer bot 2016-02-18 02:02:40 +00:00
IR Add support for memory operations (load/store/gep) in C API echo test 2016-02-17 22:51:03 +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 [codeview] Bail on a DBG_VALUE register operand with no register 2016-02-16 21:49:26 +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] Port the PostOrderFunctionAttrs pass to the new pass manager and 2016-02-18 11:03:11 +00:00
ProfileData Add a profile summary class specific to instrumentation profiles. 2016-02-17 18:18:47 +00:00
Support Simplify users of StringRef::{l,r}trim (NFC) 2016-02-16 02:06:01 +00:00
TableGen Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Target [X86][SSE] Improve PSHUFB shuffle mask decoding. 2016-02-18 10:17:40 +00:00
Transforms [PM] Port the PostOrderFunctionAttrs pass to the new pass manager and 2016-02-18 11:03:11 +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