diff --git a/llvm/include/llvm-c/Transforms/Scalar.h b/llvm/include/llvm-c/Transforms/Scalar.h --- a/llvm/include/llvm-c/Transforms/Scalar.h +++ b/llvm/include/llvm-c/Transforms/Scalar.h @@ -97,9 +97,6 @@ /** See llvm::createReassociatePass function. */ void LLVMAddReassociatePass(LLVMPassManagerRef PM); -/** See llvm::createSCCPPass function. */ -void LLVMAddSCCPPass(LLVMPassManagerRef PM); - /** See llvm::createSROAPass function. */ void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM); diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h --- a/llvm/include/llvm/LinkAllPasses.h +++ b/llvm/include/llvm/LinkAllPasses.h @@ -135,7 +135,6 @@ (void) llvm::createRegionOnlyViewerPass(); (void) llvm::createRegionPrinterPass(); (void) llvm::createRegionViewerPass(); - (void) llvm::createSCCPPass(); (void) llvm::createSafeStackPass(); (void) llvm::createSROAPass(); (void) llvm::createSingleLoopExtractorPass(); diff --git a/llvm/include/llvm/Transforms/Scalar.h b/llvm/include/llvm/Transforms/Scalar.h --- a/llvm/include/llvm/Transforms/Scalar.h +++ b/llvm/include/llvm/Transforms/Scalar.h @@ -31,12 +31,6 @@ // FunctionPass *createAlignmentFromAssumptionsPass(); -//===----------------------------------------------------------------------===// -// -// SCCP - Sparse conditional constant propagation. -// -FunctionPass *createSCCPPass(); - //===----------------------------------------------------------------------===// // // RedundantDbgInstElimination - This pass removes redundant dbg intrinsics diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp --- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -167,7 +167,6 @@ MPM.add(createMergedLoadStoreMotionPass()); // Merge ld/st in diamonds MPM.add(createGVNPass(DisableGVNLoadPRE)); // Remove redundancies } - MPM.add(createSCCPPass()); // Constant prop with SCCP // Delete dead bit computations (instcombine runs after to fold away the dead // computations, and then ADCE will run later to exploit any new DCE @@ -236,7 +235,6 @@ .sinkCommonInsts(true))); if (IsFullLTO) { - PM.add(createSCCPPass()); // Propagate exposed constants PM.add(createInstructionCombiningPass()); // Clean up again PM.add(createBitTrackingDCEPass()); } diff --git a/llvm/lib/Transforms/Scalar/SCCP.cpp b/llvm/lib/Transforms/Scalar/SCCP.cpp --- a/llvm/lib/Transforms/Scalar/SCCP.cpp +++ b/llvm/lib/Transforms/Scalar/SCCP.cpp @@ -41,7 +41,6 @@ #include "llvm/IR/Type.h" #include "llvm/IR/User.h" #include "llvm/IR/Value.h" -#include "llvm/InitializePasses.h" #include "llvm/Pass.h" #include "llvm/Support/Casting.h" #include "llvm/Support/Debug.h" @@ -136,54 +135,3 @@ PA.preserve(); return PA; } - -namespace { - -//===--------------------------------------------------------------------===// -// -/// SCCP Class - This class uses the SCCPSolver to implement a per-function -/// Sparse Conditional Constant Propagator. -/// -class SCCPLegacyPass : public FunctionPass { -public: - // Pass identification, replacement for typeid - static char ID; - - SCCPLegacyPass() : FunctionPass(ID) { - initializeSCCPLegacyPassPass(*PassRegistry::getPassRegistry()); - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequired(); - AU.addPreserved(); - AU.addPreserved(); - } - - // runOnFunction - Run the Sparse Conditional Constant Propagation - // algorithm, and return true if the function was modified. - bool runOnFunction(Function &F) override { - if (skipFunction(F)) - return false; - const DataLayout &DL = F.getParent()->getDataLayout(); - const TargetLibraryInfo *TLI = - &getAnalysis().getTLI(F); - auto *DTWP = getAnalysisIfAvailable(); - DomTreeUpdater DTU(DTWP ? &DTWP->getDomTree() : nullptr, - DomTreeUpdater::UpdateStrategy::Lazy); - return runSCCP(F, DL, TLI, DTU); - } -}; - -} // end anonymous namespace - -char SCCPLegacyPass::ID = 0; - -INITIALIZE_PASS_BEGIN(SCCPLegacyPass, "sccp", - "Sparse Conditional Constant Propagation", false, false) -INITIALIZE_PASS_DEPENDENCY(TargetLibraryInfoWrapperPass) -INITIALIZE_PASS_END(SCCPLegacyPass, "sccp", - "Sparse Conditional Constant Propagation", false, false) - -// createSCCPPass - This is the public interface to this file. -FunctionPass *llvm::createSCCPPass() { return new SCCPLegacyPass(); } - diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp --- a/llvm/lib/Transforms/Scalar/Scalar.cpp +++ b/llvm/lib/Transforms/Scalar/Scalar.cpp @@ -83,7 +83,6 @@ initializeRegToMemLegacyPass(Registry); initializeRewriteStatepointsForGCLegacyPassPass(Registry); initializeScalarizeMaskedMemIntrinLegacyPassPass(Registry); - initializeSCCPLegacyPassPass(Registry); initializeSROALegacyPassPass(Registry); initializeCFGSimplifyPassPass(Registry); initializeStructurizeCFGLegacyPassPass(Registry); @@ -196,10 +195,6 @@ unwrap(PM)->add(createReassociatePass()); } -void LLVMAddSCCPPass(LLVMPassManagerRef PM) { - unwrap(PM)->add(createSCCPPass()); -} - void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM) { unwrap(PM)->add(createSROAPass()); }