summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
-rw-r--r--compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
index b729c4022..31565db1b 100644
--- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
@@ -795,6 +795,20 @@ LLVMRustOptimize(
CGSCCAnalysisManager CGAM;
ModuleAnalysisManager MAM;
+ if (LLVMPluginsLen) {
+ auto PluginsStr = StringRef(LLVMPlugins, LLVMPluginsLen);
+ SmallVector<StringRef> Plugins;
+ PluginsStr.split(Plugins, ',', -1, false);
+ for (auto PluginPath: Plugins) {
+ auto Plugin = PassPlugin::Load(PluginPath.str());
+ if (!Plugin) {
+ LLVMRustSetLastError(("Failed to load pass plugin" + PluginPath.str()).c_str());
+ return LLVMRustResult::Failure;
+ }
+ Plugin->registerPassBuilderCallbacks(PB);
+ }
+ }
+
FAM.registerPass([&] { return PB.buildDefaultAAPipeline(); });
Triple TargetTriple(TheModule->getTargetTriple());
@@ -918,20 +932,6 @@ LLVMRustOptimize(
}
}
- if (LLVMPluginsLen) {
- auto PluginsStr = StringRef(LLVMPlugins, LLVMPluginsLen);
- SmallVector<StringRef> Plugins;
- PluginsStr.split(Plugins, ',', -1, false);
- for (auto PluginPath: Plugins) {
- auto Plugin = PassPlugin::Load(PluginPath.str());
- if (!Plugin) {
- LLVMRustSetLastError(("Failed to load pass plugin" + PluginPath.str()).c_str());
- return LLVMRustResult::Failure;
- }
- Plugin->registerPassBuilderCallbacks(PB);
- }
- }
-
ModulePassManager MPM;
bool NeedThinLTOBufferPasses = UseThinLTOBuffers;
if (!NoPrepopulatePasses) {