diff options
author | Davide Italiano <davide@freebsd.org> | 2016-07-09 03:25:35 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2016-07-09 03:25:35 +0000 |
commit | 92b933a55c69b91808d47d451e152b3293354805 (patch) | |
tree | fdd01c0e4621ad10f021c271786e41ebd736b185 /llvm/lib | |
parent | 53b195c39cbd26a77776a51f051f1293a33c0d6a (diff) | |
download | bcm5719-llvm-92b933a55c69b91808d47d451e152b3293354805.tar.gz bcm5719-llvm-92b933a55c69b91808d47d451e152b3293354805.zip |
[PM] Port CrossDSOCFI to the new pass manager.
llvm-svn: 274962
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Passes/PassBuilder.cpp | 1 | ||||
-rw-r--r-- | llvm/lib/Passes/PassRegistry.def | 1 | ||||
-rw-r--r-- | llvm/lib/Transforms/IPO/CrossDSOCFI.cpp | 11 |
3 files changed, 12 insertions, 1 deletions
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index f21fc3b2471..991ece34607 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -57,6 +57,7 @@ #include "llvm/Target/TargetMachine.h" #include "llvm/Transforms/GCOVProfiler.h" #include "llvm/Transforms/IPO/ConstantMerge.h" +#include "llvm/Transforms/IPO/CrossDSOCFI.h" #include "llvm/Transforms/IPO/DeadArgumentElimination.h" #include "llvm/Transforms/IPO/ElimAvailExtern.h" #include "llvm/Transforms/IPO/ForceFunctionAttrs.h" diff --git a/llvm/lib/Passes/PassRegistry.def b/llvm/lib/Passes/PassRegistry.def index 18cf4841844..ec3c206c54f 100644 --- a/llvm/lib/Passes/PassRegistry.def +++ b/llvm/lib/Passes/PassRegistry.def @@ -38,6 +38,7 @@ MODULE_ALIAS_ANALYSIS("globals-aa", GlobalsAA()) #define MODULE_PASS(NAME, CREATE_PASS) #endif MODULE_PASS("constmerge", ConstantMergePass()) +MODULE_PASS("cross-dso-cfi", CrossDSOCFIPass()) MODULE_PASS("deadargelim", DeadArgumentEliminationPass()) MODULE_PASS("elim-avail-extern", EliminateAvailableExternallyPass()) MODULE_PASS("forceattrs", ForceFunctionAttrsPass()) diff --git a/llvm/lib/Transforms/IPO/CrossDSOCFI.cpp b/llvm/lib/Transforms/IPO/CrossDSOCFI.cpp index 448baa46ef9..58731eaf6e3 100644 --- a/llvm/lib/Transforms/IPO/CrossDSOCFI.cpp +++ b/llvm/lib/Transforms/IPO/CrossDSOCFI.cpp @@ -12,7 +12,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Transforms/IPO.h" +#include "llvm/Transforms/IPO/CrossDSOCFI.h" #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/EquivalenceClasses.h" #include "llvm/ADT/Statistic.h" @@ -30,6 +30,7 @@ #include "llvm/Pass.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" +#include "llvm/Transforms/IPO.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h" using namespace llvm; @@ -153,3 +154,11 @@ bool CrossDSOCFI::runOnModule(Module &M) { buildCFICheck(M); return true; } + +PreservedAnalyses CrossDSOCFIPass::run(Module &M, AnalysisManager<Module> &AM) { + CrossDSOCFI Impl; + bool Changed = Impl.runOnModule(M); + if (!Changed) + return PreservedAnalyses::all(); + return PreservedAnalyses::none(); +} |