llvm/lib/IR
Juergen Ributzka 4e0cc51d79 [PM] Add pass run listeners to the pass manager.
This commit provides the necessary C/C++ APIs and infastructure to enable fine-
grain progress report and safe suspension points after each pass in the pass
manager.

Clients can provide a callback function to the pass manager to call after each
pass. This can be used in a variety of ways (progress report, dumping of IR
between passes, safe suspension of threads, etc).

The run listener list is maintained in the LLVMContext, which allows a multi-
threaded client to be only informed for it's own thread. This of course assumes
that the client created a LLVMContext for each thread.

This fixes <rdar://problem/16728690>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207430 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-28 18:19:25 +00:00
..
AsmWriter.cpp Add 'musttail' marker to call instructions 2014-04-24 20:14:34 +00:00
AsmWriter.h IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
AttributeImpl.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
Attributes.cpp Retire llvm::array_endof in favor of non-member std::end. 2014-04-12 16:15:53 +00:00
AutoUpgrade.cpp [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
BasicBlock.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
CMakeLists.txt Move MDBuilder's methods out of line. 2014-04-12 14:26:59 +00:00
ConstantFold.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
ConstantFold.h
ConstantRange.cpp [Modules] Move the ConstantRange class into the IR library. This is 2014-03-04 12:24:34 +00:00
Constants.cpp Remove more default address space argument usage. 2014-04-23 20:58:57 +00:00
ConstantsContext.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
Core.cpp [PM] Add pass run listeners to the pass manager. 2014-04-28 18:19:25 +00:00
DataLayout.cpp Use pointer size function where only a pointer is expected 2014-04-23 21:10:15 +00:00
DebugInfo.cpp [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
DebugLoc.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
DiagnosticInfo.cpp Fix use-after-free bug caught by address sanitizer: 2014-04-11 13:55:56 +00:00
DiagnosticPrinter.cpp Report a warning when dropping outdated debug info metadata. 2014-01-16 01:51:12 +00:00
DIBuilder.cpp Modify the assertion in DIBuilder.cpp to cover the DWARF 5 languages 2014-04-28 18:11:01 +00:00
Dominators.cpp [Modules] Move CFG.h to the IR library as it defines graph traits over 2014-03-04 11:45:46 +00:00
Function.cpp [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
GCOV.cpp llvm-cov: Add support for gcov's --long-file-names option 2014-04-23 21:44:55 +00:00
Globals.cpp [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
GVMaterializer.cpp [Layering] Move GVMaterializer.h into the IR library where its 2014-03-06 03:50:29 +00:00
InlineAsm.cpp [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
Instruction.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
Instructions.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
IntrinsicInst.cpp [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
IRBuilder.cpp
IRPrintingPasses.cpp [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
LeakDetector.cpp [Modules] Move the LeakDetector header into the IR library where the 2014-03-04 12:46:06 +00:00
LeaksContext.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
LegacyPassManager.cpp [PM] Add pass run listeners to the pass manager. 2014-04-28 18:19:25 +00:00
LLVMBuild.txt
LLVMContext.cpp [PM] Add pass run listeners to the pass manager. 2014-04-28 18:19:25 +00:00
LLVMContextImpl.cpp [PM] Add pass run listeners to the pass manager. 2014-04-28 18:19:25 +00:00
LLVMContextImpl.h [PM] Add pass run listeners to the pass manager. 2014-04-28 18:19:25 +00:00
Makefile Actually update the CMake and Makefile builds correctly, and update the 2013-01-02 12:09:16 +00:00
Mangler.cpp [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
MDBuilder.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
Metadata.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
Module.cpp Fix bug 19437 - Only add discriminators for DWARF 4 and above. 2014-04-17 22:33:50 +00:00
Pass.cpp [PM] Add pass run listeners to the pass manager. 2014-04-28 18:19:25 +00:00
PassManager.cpp [PM] Fix a bug where we didn't properly clear the list map when the list 2014-04-21 11:11:54 +00:00
PassRegistry.cpp Use unique_ptr to manage PassInfo instances in the PassRegistry 2014-04-15 15:17:14 +00:00
SymbolTableListTraitsImpl.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
Type.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
TypeFinder.cpp TypeFinder: prefer iterative algorithm to keep stack usage low. 2013-10-16 04:10:06 +00:00
Use.cpp Fix some doc and comment typos 2014-04-09 14:47:27 +00:00
User.cpp Disable Visual C++ warning 4722 about aborting a destructor, 2014-03-25 08:42:49 +00:00
Value.cpp [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 06:32:26 +00:00
ValueSymbolTable.cpp [Modules] Remove potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:02:50 +00:00
ValueTypes.cpp Add v4f16 to supported value types. 2013-10-03 03:29:21 +00:00
Verifier.cpp Add 'musttail' marker to call instructions 2014-04-24 20:14:34 +00:00