mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-24 14:20:17 +00:00
[NewPM] Update pass registration for the LLVM plugin interface
Summary: As of rL329273, LLVM has a mechanism to load new-pm plugins in opt. Use this API in Polly. Reviewers: grosser, Meinersbur, bollu Reviewed By: grosser, Meinersbur Subscribers: lksbhm, bollu, pollydev, llvm-commits Differential Revision: https://reviews.llvm.org/D45484 llvm-svn: 330181
This commit is contained in:
parent
21458fdc55
commit
8da7d1d7ee
@ -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 @@ void RegisterPollyPasses(PassBuilder &PB) {
|
||||
// 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};
|
||||
}
|
||||
|
13
polly/test/Support/Plugins.ll
Normal file
13
polly/test/Support/Plugins.ll
Normal file
@ -0,0 +1,13 @@
|
||||
; RUN: opt %loadPolly -passes='polly-prepare,scop(print<polly-ast>)' -S < %s \
|
||||
; RUN: | FileCheck %s
|
||||
|
||||
; This testcase tests plugin registration. Check-lines below serve to verify
|
||||
; that the passes actually ran.
|
||||
|
||||
; CHECK-LABEL: void @foo
|
||||
; CHECK-NEXT: entry:
|
||||
; CHECK-NEXT: br label %entry.split
|
||||
define void @foo() {
|
||||
entry:
|
||||
ret void
|
||||
}
|
@ -45,6 +45,8 @@ if config.link_polly_into_tools == '' or \
|
||||
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@LLVM_SHLIBEXT@'
|
||||
+ ' -load-pass-plugin '
|
||||
+ config.polly_lib_dir + '/LLVMPolly@LLVM_SHLIBEXT@'
|
||||
+ ' -polly-process-unprofitable '
|
||||
+ ' -polly-remarks-minimal '
|
||||
|
Loading…
Reference in New Issue
Block a user