summaryrefslogtreecommitdiff
path: root/llvm/unittests/CodeGen/CGPluginTest/PluginTest.cpp
AgeCommit message (Collapse)Author
2025-09-19[llvm][test][CGPluginTest] Keep plugin in shared library directoryRaul Tambre
Scoping to the root build directory instead of using the path directly is awkward and the only such occurrence in the test suite. It's also prone to breakage for downstreams that change the library path. But it's not even necessary: during build we have the appropriate RPATHs set so we can just depend on the dynamic loader to find it. This extra logic is probably just copy-paste from PluginsTest.cpp. Additionally: * Removed TargetParser as a dependency because it doesn't seem to actually be used. * Moved `add_dependencies()` to `DEPENDS` to better match the rest of LLVM.
2025-07-10Reland "[CodeGen] Expose the extensibility of PassConfig to plugins (#139059)"Tcc100
Add missing dependencies to unittest target Original patch broke BUILD_SHARED bots and required revert #147947
2025-07-10Revert "[CodeGen] Expose the extensibility of PassConfig to plugins" (#147947)Jan Patrick Lehr
Reverts llvm/llvm-project#139059 This broke https://lab.llvm.org/buildbot/#/builders/10/builds/9125/steps/8/logs/stdio The bot does a SHARED_LIBS=ON build. I can reproduce locally with the CMake cache file in offload/cmake/caches/AMDGPUBot.cmake as the build config.
2025-07-10[CodeGen] Expose the extensibility of PassConfig to plugins (#139059)Tcc100
This PR exposes the backend pass config to plugins via a callback. Plugin authors can register a callback that is being triggered before the target backend adds their passes to the pipeline. In the callback they then get access to the `TargetMachine`, the `PassManager`, and the `TargetPassConfig`. This allows plugins to call `TargetPassConfig::insertPass`, which is honored in the subsequent `addPass` of the main backend. We implemented this using the legacy pass manager since backends still use it as the default.