diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -188,6 +188,10 @@ * ``LLVMConstFNeg`` +* The ``LLVMPassManagerBuilder*`` APIs have been removed as part of the + deprecation and removal of the legacy pass manager for the optimization + pipeline. ``llvm-c/Transforms/PassBuilder.h`` is the replacement. + Changes to the Go bindings -------------------------- diff --git a/llvm/include/llvm-c/Transforms/PassManagerBuilder.h b/llvm/include/llvm-c/Transforms/PassManagerBuilder.h deleted file mode 100644 --- a/llvm/include/llvm-c/Transforms/PassManagerBuilder.h +++ /dev/null @@ -1,81 +0,0 @@ -/*===-- llvm-c/Transform/PassManagerBuilder.h - PMB C Interface ---*- C -*-===*\ -|* *| -|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| -|* Exceptions. *| -|* See https://llvm.org/LICENSE.txt for license information. *| -|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| -|* *| -|*===----------------------------------------------------------------------===*| -|* *| -|* This header declares the C interface to the PassManagerBuilder class. *| -|* *| -\*===----------------------------------------------------------------------===*/ - -#ifndef LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H -#define LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H - -#include "llvm-c/ExternC.h" -#include "llvm-c/Types.h" - -typedef struct LLVMOpaquePassManagerBuilder *LLVMPassManagerBuilderRef; - -LLVM_C_EXTERN_C_BEGIN - -/** - * @defgroup LLVMCTransformsPassManagerBuilder Pass manager builder - * @ingroup LLVMCTransforms - * - * @{ - */ - -/** See llvm::PassManagerBuilder. */ -LLVMPassManagerBuilderRef LLVMPassManagerBuilderCreate(void); -void LLVMPassManagerBuilderDispose(LLVMPassManagerBuilderRef PMB); - -/** See llvm::PassManagerBuilder::OptLevel. */ -void -LLVMPassManagerBuilderSetOptLevel(LLVMPassManagerBuilderRef PMB, - unsigned OptLevel); - -/** See llvm::PassManagerBuilder::SizeLevel. */ -void -LLVMPassManagerBuilderSetSizeLevel(LLVMPassManagerBuilderRef PMB, - unsigned SizeLevel); - -/** See llvm::PassManagerBuilder::DisableUnitAtATime. */ -void -LLVMPassManagerBuilderSetDisableUnitAtATime(LLVMPassManagerBuilderRef PMB, - LLVMBool Value); - -/** See llvm::PassManagerBuilder::DisableUnrollLoops. */ -void -LLVMPassManagerBuilderSetDisableUnrollLoops(LLVMPassManagerBuilderRef PMB, - LLVMBool Value); - -/** See llvm::PassManagerBuilder::DisableSimplifyLibCalls */ -void -LLVMPassManagerBuilderSetDisableSimplifyLibCalls(LLVMPassManagerBuilderRef PMB, - LLVMBool Value); - -/** See llvm::PassManagerBuilder::Inliner. */ -void -LLVMPassManagerBuilderUseInlinerWithThreshold(LLVMPassManagerBuilderRef PMB, - unsigned Threshold); - -/** See llvm::PassManagerBuilder::populateFunctionPassManager. */ -void -LLVMPassManagerBuilderPopulateFunctionPassManager(LLVMPassManagerBuilderRef PMB, - LLVMPassManagerRef PM); - -/** See llvm::PassManagerBuilder::populateModulePassManager. */ -void -LLVMPassManagerBuilderPopulateModulePassManager(LLVMPassManagerBuilderRef PMB, - LLVMPassManagerRef PM); - -/** - * @} - */ - -LLVM_C_EXTERN_C_END - -#endif diff --git a/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h b/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h --- a/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h +++ b/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h @@ -14,7 +14,6 @@ #ifndef LLVM_TRANSFORMS_IPO_PASSMANAGERBUILDER_H #define LLVM_TRANSFORMS_IPO_PASSMANAGERBUILDER_H -#include "llvm-c/Transforms/PassManagerBuilder.h" #include #include #include @@ -123,13 +122,5 @@ void populateModulePassManager(legacy::PassManagerBase &MPM); }; -inline PassManagerBuilder *unwrap(LLVMPassManagerBuilderRef P) { - return reinterpret_cast(P); -} - -inline LLVMPassManagerBuilderRef wrap(PassManagerBuilder *P) { - return reinterpret_cast(P); -} - } // end namespace llvm #endif 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 @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Transforms/IPO/PassManagerBuilder.h" -#include "llvm-c/Transforms/PassManagerBuilder.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallVector.h" #include "llvm/Analysis/CFLAndersAliasAnalysis.h" @@ -461,68 +460,3 @@ MPM.add(createAnnotationRemarksLegacyPass()); } -LLVMPassManagerBuilderRef LLVMPassManagerBuilderCreate() { - PassManagerBuilder *PMB = new PassManagerBuilder(); - return wrap(PMB); -} - -void LLVMPassManagerBuilderDispose(LLVMPassManagerBuilderRef PMB) { - PassManagerBuilder *Builder = unwrap(PMB); - delete Builder; -} - -void -LLVMPassManagerBuilderSetOptLevel(LLVMPassManagerBuilderRef PMB, - unsigned OptLevel) { - PassManagerBuilder *Builder = unwrap(PMB); - Builder->OptLevel = OptLevel; -} - -void -LLVMPassManagerBuilderSetSizeLevel(LLVMPassManagerBuilderRef PMB, - unsigned SizeLevel) { - PassManagerBuilder *Builder = unwrap(PMB); - Builder->SizeLevel = SizeLevel; -} - -void -LLVMPassManagerBuilderSetDisableUnitAtATime(LLVMPassManagerBuilderRef PMB, - LLVMBool Value) { - // NOTE: The DisableUnitAtATime switch has been removed. -} - -void -LLVMPassManagerBuilderSetDisableUnrollLoops(LLVMPassManagerBuilderRef PMB, - LLVMBool Value) { - PassManagerBuilder *Builder = unwrap(PMB); - Builder->DisableUnrollLoops = Value; -} - -void -LLVMPassManagerBuilderSetDisableSimplifyLibCalls(LLVMPassManagerBuilderRef PMB, - LLVMBool Value) { - // NOTE: The simplify-libcalls pass has been removed. -} - -void -LLVMPassManagerBuilderUseInlinerWithThreshold(LLVMPassManagerBuilderRef PMB, - unsigned Threshold) { - PassManagerBuilder *Builder = unwrap(PMB); - Builder->Inliner = createFunctionInliningPass(Threshold); -} - -void -LLVMPassManagerBuilderPopulateFunctionPassManager(LLVMPassManagerBuilderRef PMB, - LLVMPassManagerRef PM) { - PassManagerBuilder *Builder = unwrap(PMB); - legacy::FunctionPassManager *FPM = unwrap(PM); - Builder->populateFunctionPassManager(*FPM); -} - -void -LLVMPassManagerBuilderPopulateModulePassManager(LLVMPassManagerBuilderRef PMB, - LLVMPassManagerRef PM) { - PassManagerBuilder *Builder = unwrap(PMB); - legacy::PassManagerBase *MPM = unwrap(PM); - Builder->populateModulePassManager(*MPM); -} diff --git a/llvm/tools/llvm-c-test/include-all.c b/llvm/tools/llvm-c-test/include-all.c --- a/llvm/tools/llvm-c-test/include-all.c +++ b/llvm/tools/llvm-c-test/include-all.c @@ -37,7 +37,6 @@ #include "llvm-c/TargetMachine.h" #include "llvm-c/Transforms/InstCombine.h" #include "llvm-c/Transforms/IPO.h" -#include "llvm-c/Transforms/PassManagerBuilder.h" #include "llvm-c/Transforms/Scalar.h" #include "llvm-c/Transforms/Utils.h" #include "llvm-c/Transforms/Vectorize.h"