[PATCH] D45484: [Polly][NewPM] Update pass registration for the LLVM plugin interface

Philip Pfaffe via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 10 05:50:41 PDT 2018


philip.pfaffe created this revision.
philip.pfaffe added reviewers: grosser, Meinersbur.
Herald added a reviewer: bollu.
Herald added a subscriber: bollu.

As of https://reviews.llvm.org/rL329273, LLVM has a mechanism to load new-pm plugins in opt. Use
this API in Polly.


Repository:
  rPLO Polly

https://reviews.llvm.org/D45484

Files:
  lib/Support/RegisterPasses.cpp
  test/lit.site.cfg.in


Index: test/lit.site.cfg.in
===================================================================
--- test/lit.site.cfg.in
+++ test/lit.site.cfg.in
@@ -45,6 +45,8 @@
    config.link_polly_into_tools.lower() == 'notfound' or \
    config.link_polly_into_tools.lower() == 'link_polly_into_tools-notfound':
     config.substitutions.append(('%loadPolly', '-load '
+                                 + config.polly_lib_dir + '/LLVMPolly at LLVM_SHLIBEXT@'
+                                 + ' -load-pass-plugin '
                                  + config.polly_lib_dir + '/LLVMPolly at LLVM_SHLIBEXT@'
                                  + ' -polly-process-unprofitable '
                                  + ' -polly-remarks-minimal '
Index: lib/Support/RegisterPasses.cpp
===================================================================
--- lib/Support/RegisterPasses.cpp
+++ lib/Support/RegisterPasses.cpp
@@ -42,6 +42,7 @@
 #include "llvm/IR/LegacyPassManager.h"
 #include "llvm/IR/Verifier.h"
 #include "llvm/Passes/PassBuilder.h"
+#include "llvm/Passes/PassPlugin.h"
 #include "llvm/Support/TargetSelect.h"
 #include "llvm/Transforms/IPO.h"
 #include "llvm/Transforms/IPO/PassManagerBuilder.h"
@@ -703,3 +704,10 @@
   // FIXME else Error?
 }
 } // namespace polly
+
+// Plugin Entrypoint:
+extern "C" ::llvm::PassPluginLibraryInfo LLVM_ATTRIBUTE_WEAK LLVM_PLUGIN_EXPORT
+llvmGetPassPluginInfo() {
+  return {LLVM_PLUGIN_API_VERSION, "Polly", LLVM_VERSION_STRING,
+          polly::RegisterPollyPasses};
+}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45484.141830.patch
Type: text/x-patch
Size: 1501 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180410/3452951a/attachment.bin>


More information about the llvm-commits mailing list