llvm-project/llvm/lib
Chandler Carruth 241bf2456f [PM] Add a generic 'repeat N times' pass wrapper to the new pass
manager.

While this has some utility for debugging and testing on its own, it is
primarily intended to demonstrate the technique for adding custom
wrappers that can provide more interesting interation behavior in
a nice, orthogonal, and composable layer.

Being able to write these kinds of very dynamic and customized controls
for running passes was one of the motivating use cases of the new pass
manager design, and this gives a hint at how they might look. The actual
logic is tiny here, and most of this is just wiring in the pipeline
parsing so that this can be widely used.

I'm adding this now to show the wiring without a lot of business logic.
This is a precursor patch for showing how a "iterate up to N times as
long as we devirtualize a call" utility can be added as a separable and
composable component along side the CGSCC pass management.

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

llvm-svn: 277581
2016-08-03 07:44:48 +00:00
..
Analysis [CFLAA] Be more conservative with values we haven't seen. 2016-08-02 22:17:25 +00:00
AsmParser Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
Bitcode [ThinLTO] Address review comments from PGO indirect call promotion (NFC) 2016-07-18 18:31:50 +00:00
CodeGen [IfConversion] Bugfix: Don't use undef flag while adding use operands. 2016-08-03 05:46:35 +00:00
DebugInfo PDB: Mark extended file pages as free by default. 2016-08-02 21:56:37 +00:00
ExecutionEngine [Orc] Fix common symbol support in ORC. 2016-08-01 22:23:24 +00:00
Fuzzer [libFuzzer] extend the messages printed by afl_driver 2016-07-19 23:18:28 +00:00
IR [Verifier] Disallow illegal ptr<->int casts in ConstantExprs 2016-08-02 02:55:57 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO Move legacy LTO interface headers to legacy/ directory. 2016-07-14 21:21:16 +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 Fix handling of end-of-line preprocessor comments Attempt 2 2016-08-02 19:17:54 +00:00
Object RecordStreamer: handle inline asm "lazy_reference" and mark symbols as "used" 2016-08-03 03:51:42 +00:00
ObjectYAML BPF: Use official ELF e_machine value 2016-07-15 22:27:55 +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 [PM] Add a generic 'repeat N times' pass wrapper to the new pass 2016-08-03 07:44:48 +00:00
ProfileData [PGO] Make needsComdatForCounter() available (NFC) 2016-07-21 20:50:02 +00:00
Support Add unittests to {ARM | AArch64}TargetParser. 2016-07-28 06:11:18 +00:00
TableGen [TableGen] Autobrief-ize Record. NFC. 2016-07-14 14:53:14 +00:00
Target [XRay] Make the xray_instr_map section specification more correct 2016-08-03 07:21:55 +00:00
Transforms [ADCE] Refactor anticipating new functionality (NFC) 2016-08-03 04:28:39 +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