[PATCH] D35258: [Plugins] Add a slim plugin API to work together with the new PM
Philip Pfaffe via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 11 08:06:41 PDT 2017
philip.pfaffe created this revision.
Herald added a subscriber: mgorny.
Add a new plugin API. This closes the gap between pass registration and out-of-tree passes for the new PassManager.
Unlike with the existing API, interaction with a plugin is always initiated from the tools perspective. I.e., when a plugin is loaded by the PluginLoader, it resolves and calls a well-known symbol `llvmPluginGetInfo` to obtain details about the plugin. The fundamental motivation is to get rid of as many global constructors as possible.
The API exposed by the plugin info is kept intentionally minimal.
Repository:
rL LLVM
https://reviews.llvm.org/D35258
Files:
include/llvm/Support/Plugin.h
include/llvm/Support/PluginLoader.h
lib/Support/PluginLoader.cpp
tools/opt/NewPMDriver.cpp
unittests/Support/CMakeLists.txt
unittests/Support/Plugins/CMakeLists.txt
unittests/Support/Plugins/Plugin.cxx
unittests/Support/Plugins/PluginsTest.cpp
unittests/Support/Plugins/TestPlugin.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35258.106023.patch
Type: text/x-patch
Size: 11487 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170711/eb4e8ae1/attachment.bin>
More information about the llvm-commits
mailing list