Home

[PM] Add pass run listeners to the pass manager.

Press ? to show keyboard shortcuts.
Committed
ributzkaApr 28 2014, 11:19 AM
Parents
rL207429: Fix comment
Branches
Unknown
Tags
Unknown
Subscribers
None
Projects
None
Description

[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

rL207430

llvm/trunk/include/llvm-c/Core.h

Loading...

llvm/trunk/include/llvm/IR/LLVMContext.h

Loading...

llvm/trunk/include/llvm/Pass.h

Loading...

llvm/trunk/include/llvm/PassSupport.h

Loading...

llvm/trunk/lib/IR/Core.cpp

Loading...

llvm/trunk/lib/IR/LLVMContext.cpp

Loading...

llvm/trunk/lib/IR/LLVMContextImpl.cpp

Loading...

llvm/trunk/lib/IR/LLVMContextImpl.h

Loading...

llvm/trunk/lib/IR/LegacyPassManager.cpp

Loading...

llvm/trunk/lib/IR/Pass.cpp

Loading...

llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp

Loading...

Add Comment