6 Commits

Author SHA1 Message Date
Nico Weber
8e398a45d5 Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE
As far as I can tell from revision history, there's no good reason to call
these files .so instead of .dll in Windows, so use the normal extension.

Also change PipSquak from SHARED to MODULE -- it's never passed to
target_link_libraries() and only loaded via dlopen(), so MODULE is more
appropriate. This makes it possible to delete a workaround for SHARED ldflags
being not quite right as well.

No intended behavior change.
https://reviews.llvm.org/D46898


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332487 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-16 16:29:05 +00:00
Reid Kleckner
22fafe6262 Fix PluginsTests failure on Windows buildbots by enabling it everywhere
lit is picking up a stale executable in the unittests tree, which is
failing on Windows.

To simplify the CMake and avoid problems like this in the future, now we
always compile the test, but the test exits successfully when plugins
are not enabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330867 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-25 20:16:24 +00:00
Gabor Buella
e914bb329f Avoid a warning on pointer casting, NFC
Reviewers: philip.pfaffe	

Reviewed By: philip.pfaffe	

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330817 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-25 12:15:34 +00:00
Philip Pfaffe
530167710b Re-land r329273: [Plugins] Add a slim plugin API to work together with the new PM
Fix unittest: Do not link LLVM into the test plugin.
Additionally, remove an unrelated change that slipped in in r329273.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329293 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-05 15:04:13 +00:00
Philip Pfaffe
a4419a604e Revert "[Plugins] Add a slim plugin API to work together with the new PM"
This reverts commit ecf3ba1ab45edb1b0fadce716a7facf50dca4fbb/r329273.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329276 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-05 12:42:12 +00:00
Philip Pfaffe
ff02230cf5 [Plugins] Add a slim plugin API to work together with the new PM
Summary:
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, it
resolves and calls a well-known symbol `llvmGetPassPluginInfo` 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.

Reviewers: chandlerc

Reviewed By: chandlerc

Subscribers: bollu, grosser, lksbhm, mgorny, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329273 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-05 11:29:37 +00:00