diff options
Diffstat (limited to '0004-llvm-c-Remove-bindings-for-creating-legacy-passes.patch')
-rw-r--r-- | 0004-llvm-c-Remove-bindings-for-creating-legacy-passes.patch | 714 |
1 files changed, 714 insertions, 0 deletions
diff --git a/0004-llvm-c-Remove-bindings-for-creating-legacy-passes.patch b/0004-llvm-c-Remove-bindings-for-creating-legacy-passes.patch new file mode 100644 index 000000000000..a9dfd87457cd --- /dev/null +++ b/0004-llvm-c-Remove-bindings-for-creating-legacy-passes.patch @@ -0,0 +1,714 @@ +From f7ca01333214f934c580c162afdee933e7430b6c Mon Sep 17 00:00:00 2001 +From: Nikita Popov <npopov@redhat.com> +Date: Tue, 28 Feb 2023 16:38:45 +0100 +Subject: [PATCH] [llvm-c] Remove bindings for creating legacy passes + +Legacy passes are only supported for codegen, and I don't believe +it's possible to write backends using the C API, so we should drop +all of those. Reduces the number of places that need to be modified +when removing legacy passes. + +Differential Revision: https://reviews.llvm.org/D144970 +--- + clang/docs/tools/clang-formatted-files.txt | 2 - + llvm/docs/ReleaseNotes.rst | 2 + + llvm/include/llvm-c/Transforms/IPO.h | 45 ----- + llvm/include/llvm-c/Transforms/InstCombine.h | 40 ----- + llvm/include/llvm-c/Transforms/Scalar.h | 152 ----------------- + llvm/include/llvm-c/Transforms/Utils.h | 50 ------ + llvm/include/llvm-c/Transforms/Vectorize.h | 47 ------ + llvm/lib/Transforms/IPO/IPO.cpp | 9 - + .../InstCombine/InstructionCombining.cpp | 5 - + llvm/lib/Transforms/Scalar/Scalar.cpp | 158 ------------------ + llvm/lib/Transforms/Utils/Utils.cpp | 13 -- + llvm/lib/Transforms/Vectorize/Vectorize.cpp | 9 - + llvm/tools/llvm-c-test/include-all.c | 6 +- + 13 files changed, 3 insertions(+), 535 deletions(-) + delete mode 100644 llvm/include/llvm-c/Transforms/IPO.h + delete mode 100644 llvm/include/llvm-c/Transforms/InstCombine.h + delete mode 100644 llvm/include/llvm-c/Transforms/Scalar.h + delete mode 100644 llvm/include/llvm-c/Transforms/Utils.h + delete mode 100644 llvm/include/llvm-c/Transforms/Vectorize.h + +diff --git a/clang/docs/tools/clang-formatted-files.txt b/clang/docs/tools/clang-formatted-files.txt +index 45970232d0c0..31d1dd7f365a 100644 +--- a/clang/docs/tools/clang-formatted-files.txt ++++ b/clang/docs/tools/clang-formatted-files.txt +@@ -5713,8 +5713,6 @@ llvm/include/llvm-c/OrcEE.h + llvm/include/llvm-c/Remarks.h + llvm/include/llvm-c/Types.h + llvm/include/llvm-c/Transforms/PassBuilder.h +-llvm/include/llvm-c/Transforms/Scalar.h +-llvm/include/llvm-c/Transforms/Vectorize.h + llvm/lib/Analysis/CodeMetrics.cpp + llvm/lib/Analysis/CycleAnalysis.cpp + llvm/lib/Analysis/DDGPrinter.cpp +diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst +index ef7dacd82bf0..aed1df36b490 100644 +--- a/llvm/docs/ReleaseNotes.rst ++++ b/llvm/docs/ReleaseNotes.rst +@@ -145,6 +145,8 @@ Changes to the C API + + * ``LLVMContextSetOpaquePointers``, a temporary API to pin to legacy typed + pointer, has been removed. ++* Functions for adding legacy passes like ``LLVMAddInstructionCombiningPass`` ++ have been removed. + + Changes to the FastISel infrastructure + -------------------------------------- +diff --git a/llvm/include/llvm-c/Transforms/IPO.h b/llvm/include/llvm-c/Transforms/IPO.h +deleted file mode 100644 +index c558aa37f1c3..000000000000 +--- a/llvm/include/llvm-c/Transforms/IPO.h ++++ /dev/null +@@ -1,45 +0,0 @@ +-/*===-- IPO.h - Interprocedural Transformations 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 libLLVMIPO.a, which implements *| +-|* various interprocedural transformations of the LLVM IR. *| +-|* *| +-\*===----------------------------------------------------------------------===*/ +- +-#ifndef LLVM_C_TRANSFORMS_IPO_H +-#define LLVM_C_TRANSFORMS_IPO_H +- +-#include "llvm-c/ExternC.h" +-#include "llvm-c/Types.h" +- +-LLVM_C_EXTERN_C_BEGIN +- +-/** +- * @defgroup LLVMCTransformsIPO Interprocedural transformations +- * @ingroup LLVMCTransforms +- * +- * @{ +- */ +- +-/** See llvm::createDeadArgEliminationPass function. */ +-void LLVMAddDeadArgEliminationPass(LLVMPassManagerRef PM); +- +-/** See llvm::createFunctionAttrsPass function. */ +-void LLVMAddFunctionAttrsPass(LLVMPassManagerRef PM); +- +-/** See llvm::createAlwaysInlinerPass function. */ +-void LLVMAddAlwaysInlinerPass(LLVMPassManagerRef PM); +- +-/** +- * @} +- */ +- +-LLVM_C_EXTERN_C_END +- +-#endif +diff --git a/llvm/include/llvm-c/Transforms/InstCombine.h b/llvm/include/llvm-c/Transforms/InstCombine.h +deleted file mode 100644 +index ebe17d667061..000000000000 +--- a/llvm/include/llvm-c/Transforms/InstCombine.h ++++ /dev/null +@@ -1,40 +0,0 @@ +-/*===-- Scalar.h - Scalar Transformation Library 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 libLLVMInstCombine.a, which *| +-|* combines instructions to form fewer, simple IR instructions. *| +-|* *| +-\*===----------------------------------------------------------------------===*/ +- +-#ifndef LLVM_C_TRANSFORMS_INSTCOMBINE_H +-#define LLVM_C_TRANSFORMS_INSTCOMBINE_H +- +-#include "llvm-c/ExternC.h" +-#include "llvm-c/Types.h" +- +-LLVM_C_EXTERN_C_BEGIN +- +-/** +- * @defgroup LLVMCTransformsInstCombine Instruction Combining transformations +- * @ingroup LLVMCTransforms +- * +- * @{ +- */ +- +-/** See llvm::createInstructionCombiningPass function. */ +-void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM); +- +-/** +- * @} +- */ +- +-LLVM_C_EXTERN_C_END +- +-#endif +- +diff --git a/llvm/include/llvm-c/Transforms/Scalar.h b/llvm/include/llvm-c/Transforms/Scalar.h +deleted file mode 100644 +index 8eefe7bec457..000000000000 +--- a/llvm/include/llvm-c/Transforms/Scalar.h ++++ /dev/null +@@ -1,152 +0,0 @@ +-/*===-- Scalar.h - Scalar Transformation Library 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 libLLVMScalarOpts.a, which *| +-|* implements various scalar transformations of the LLVM IR. *| +-|* *| +-|* Many exotic languages can interoperate with C code but have a harder time *| +-|* with C++ due to name mangling. So in addition to C, this interface enables *| +-|* tools written in such languages. *| +-|* *| +-\*===----------------------------------------------------------------------===*/ +- +-#ifndef LLVM_C_TRANSFORMS_SCALAR_H +-#define LLVM_C_TRANSFORMS_SCALAR_H +- +-#include "llvm-c/ExternC.h" +-#include "llvm-c/Types.h" +- +-LLVM_C_EXTERN_C_BEGIN +- +-/** +- * @defgroup LLVMCTransformsScalar Scalar transformations +- * @ingroup LLVMCTransforms +- * +- * @{ +- */ +- +-/** See llvm::createAggressiveDCEPass function. */ +-void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM); +- +-/** See llvm::createDeadCodeEliminationPass function. */ +-void LLVMAddDCEPass(LLVMPassManagerRef PM); +- +-/** See llvm::createBitTrackingDCEPass function. */ +-void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM); +- +-/** See llvm::createAlignmentFromAssumptionsPass function. */ +-void LLVMAddAlignmentFromAssumptionsPass(LLVMPassManagerRef PM); +- +-/** See llvm::createCFGSimplificationPass function. */ +-void LLVMAddCFGSimplificationPass(LLVMPassManagerRef PM); +- +-/** See llvm::createDeadStoreEliminationPass function. */ +-void LLVMAddDeadStoreEliminationPass(LLVMPassManagerRef PM); +- +-/** See llvm::createScalarizerPass function. */ +-void LLVMAddScalarizerPass(LLVMPassManagerRef PM); +- +-/** See llvm::createMergedLoadStoreMotionPass function. */ +-void LLVMAddMergedLoadStoreMotionPass(LLVMPassManagerRef PM); +- +-/** See llvm::createGVNPass function. */ +-void LLVMAddGVNPass(LLVMPassManagerRef PM); +- +-/** See llvm::createGVNPass function. */ +-void LLVMAddNewGVNPass(LLVMPassManagerRef PM); +- +-/** See llvm::createIndVarSimplifyPass function. */ +-void LLVMAddIndVarSimplifyPass(LLVMPassManagerRef PM); +- +-/** See llvm::createInstructionCombiningPass function. */ +-void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM); +- +-/** See llvm::createInstSimplifyLegacyPass function. */ +-void LLVMAddInstructionSimplifyPass(LLVMPassManagerRef PM); +- +-/** See llvm::createJumpThreadingPass function. */ +-void LLVMAddJumpThreadingPass(LLVMPassManagerRef PM); +- +-/** See llvm::createLICMPass function. */ +-void LLVMAddLICMPass(LLVMPassManagerRef PM); +- +-/** See llvm::createLoopRotatePass function. */ +-void LLVMAddLoopRotatePass(LLVMPassManagerRef PM); +- +-/** See llvm::createLoopUnrollPass function. */ +-void LLVMAddLoopUnrollPass(LLVMPassManagerRef PM); +- +-/** See llvm::createLowerAtomicPass function. */ +-void LLVMAddLowerAtomicPass(LLVMPassManagerRef PM); +- +-/** See llvm::createMemCpyOptPass function. */ +-void LLVMAddMemCpyOptPass(LLVMPassManagerRef PM); +- +-/** See llvm::createPartiallyInlineLibCallsPass function. */ +-void LLVMAddPartiallyInlineLibCallsPass(LLVMPassManagerRef PM); +- +-/** See llvm::createReassociatePass function. */ +-void LLVMAddReassociatePass(LLVMPassManagerRef PM); +- +-/** See llvm::createSROAPass function. */ +-void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM); +- +-/** See llvm::createSROAPass function. */ +-void LLVMAddScalarReplAggregatesPassSSA(LLVMPassManagerRef PM); +- +-/** See llvm::createSROAPass function. */ +-void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM, +- int Threshold); +- +-/** See llvm::createSimplifyLibCallsPass function. */ +-void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM); +- +-/** See llvm::createTailCallEliminationPass function. */ +-void LLVMAddTailCallEliminationPass(LLVMPassManagerRef PM); +- +-/** See llvm::demotePromoteMemoryToRegisterPass function. */ +-void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM); +- +-/** See llvm::createVerifierPass function. */ +-void LLVMAddVerifierPass(LLVMPassManagerRef PM); +- +-/** See llvm::createCorrelatedValuePropagationPass function */ +-void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM); +- +-/** See llvm::createEarlyCSEPass function */ +-void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM); +- +-/** See llvm::createEarlyCSEPass function */ +-void LLVMAddEarlyCSEMemSSAPass(LLVMPassManagerRef PM); +- +-/** See llvm::createLowerExpectIntrinsicPass function */ +-void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM); +- +-/** See llvm::createLowerConstantIntrinsicsPass function */ +-void LLVMAddLowerConstantIntrinsicsPass(LLVMPassManagerRef PM); +- +-/** See llvm::createTypeBasedAliasAnalysisPass function */ +-void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM); +- +-/** See llvm::createScopedNoAliasAAPass function */ +-void LLVMAddScopedNoAliasAAPass(LLVMPassManagerRef PM); +- +-/** See llvm::createBasicAliasAnalysisPass function */ +-void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM); +- +-/** See llvm::createUnifyFunctionExitNodesPass function */ +-void LLVMAddUnifyFunctionExitNodesPass(LLVMPassManagerRef PM); +- +-/** +- * @} +- */ +- +-LLVM_C_EXTERN_C_END +- +-#endif +diff --git a/llvm/include/llvm-c/Transforms/Utils.h b/llvm/include/llvm-c/Transforms/Utils.h +deleted file mode 100644 +index 30d1ae63de1d..000000000000 +--- a/llvm/include/llvm-c/Transforms/Utils.h ++++ /dev/null +@@ -1,50 +0,0 @@ +-/*===-- Utils.h - Transformation Utils Library 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 libLLVMTransformUtils.a, which *| +-|* implements various transformation utilities of the LLVM IR. *| +-|* *| +-|* Many exotic languages can interoperate with C code but have a harder time *| +-|* with C++ due to name mangling. So in addition to C, this interface enables *| +-|* tools written in such languages. *| +-|* *| +-\*===----------------------------------------------------------------------===*/ +- +-#ifndef LLVM_C_TRANSFORMS_UTILS_H +-#define LLVM_C_TRANSFORMS_UTILS_H +- +-#include "llvm-c/ExternC.h" +-#include "llvm-c/Types.h" +- +-LLVM_C_EXTERN_C_BEGIN +- +-/** +- * @defgroup LLVMCTransformsUtils Transformation Utilities +- * @ingroup LLVMCTransforms +- * +- * @{ +- */ +- +-/** See llvm::createLowerSwitchPass function. */ +-void LLVMAddLowerSwitchPass(LLVMPassManagerRef PM); +- +-/** See llvm::createPromoteMemoryToRegisterPass function. */ +-void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM); +- +-/** See llvm::createAddDiscriminatorsPass function. */ +-void LLVMAddAddDiscriminatorsPass(LLVMPassManagerRef PM); +- +-/** +- * @} +- */ +- +-LLVM_C_EXTERN_C_END +- +-#endif +- +diff --git a/llvm/include/llvm-c/Transforms/Vectorize.h b/llvm/include/llvm-c/Transforms/Vectorize.h +deleted file mode 100644 +index 0de458381399..000000000000 +--- a/llvm/include/llvm-c/Transforms/Vectorize.h ++++ /dev/null +@@ -1,47 +0,0 @@ +-/*===---------------------------Vectorize.h --------------------- -*- C -*-===*\ +-|*===----------- Vectorization Transformation Library C Interface ---------===*| +-|* *| +-|* 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 libLLVMVectorize.a, which *| +-|* implements various vectorization transformations of the LLVM IR. *| +-|* *| +-|* Many exotic languages can interoperate with C code but have a harder time *| +-|* with C++ due to name mangling. So in addition to C, this interface enables *| +-|* tools written in such languages. *| +-|* *| +-\*===----------------------------------------------------------------------===*/ +- +-#ifndef LLVM_C_TRANSFORMS_VECTORIZE_H +-#define LLVM_C_TRANSFORMS_VECTORIZE_H +- +-#include "llvm-c/ExternC.h" +-#include "llvm-c/Types.h" +- +-LLVM_C_EXTERN_C_BEGIN +- +-/** +- * @defgroup LLVMCTransformsVectorize Vectorization transformations +- * @ingroup LLVMCTransforms +- * +- * @{ +- */ +- +-/** See llvm::createLoopVectorizePass function. */ +-void LLVMAddLoopVectorizePass(LLVMPassManagerRef PM); +- +-/** See llvm::createSLPVectorizerPass function. */ +-void LLVMAddSLPVectorizePass(LLVMPassManagerRef PM); +- +-/** +- * @} +- */ +- +-LLVM_C_EXTERN_C_END +- +-#endif +diff --git a/llvm/lib/Transforms/IPO/IPO.cpp b/llvm/lib/Transforms/IPO/IPO.cpp +index eb0a91bbbc90..fcd58898c88b 100644 +--- a/llvm/lib/Transforms/IPO/IPO.cpp ++++ b/llvm/lib/Transforms/IPO/IPO.cpp +@@ -12,7 +12,6 @@ + // + //===----------------------------------------------------------------------===// + +-#include "llvm-c/Transforms/IPO.h" + #include "llvm-c/Initialization.h" + #include "llvm/IR/LegacyPassManager.h" + #include "llvm/InitializePasses.h" +@@ -34,11 +33,3 @@ void llvm::initializeIPO(PassRegistry &Registry) { + void LLVMInitializeIPO(LLVMPassRegistryRef R) { + initializeIPO(*unwrap(R)); + } +- +-void LLVMAddDeadArgEliminationPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createDeadArgEliminationPass()); +-} +- +-void LLVMAddAlwaysInlinerPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(llvm::createAlwaysInlinerLegacyPass()); +-} +diff --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp +index 34d1b2b46db2..c3ba452e3341 100644 +--- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp ++++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp +@@ -34,7 +34,6 @@ + + #include "InstCombineInternal.h" + #include "llvm-c/Initialization.h" +-#include "llvm-c/Transforms/InstCombine.h" + #include "llvm/ADT/APInt.h" + #include "llvm/ADT/ArrayRef.h" + #include "llvm/ADT/DenseMap.h" +@@ -4760,7 +4759,3 @@ FunctionPass *llvm::createInstructionCombiningPass() { + FunctionPass *llvm::createInstructionCombiningPass(unsigned MaxIterations) { + return new InstructionCombiningPass(MaxIterations); + } +- +-void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createInstructionCombiningPass()); +-} +diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp +index c2b9350933d4..9a3d243859be 100644 +--- a/llvm/lib/Transforms/Scalar/Scalar.cpp ++++ b/llvm/lib/Transforms/Scalar/Scalar.cpp +@@ -14,7 +14,6 @@ + + #include "llvm/Transforms/Scalar.h" + #include "llvm-c/Initialization.h" +-#include "llvm-c/Transforms/Scalar.h" + #include "llvm/Analysis/BasicAliasAnalysis.h" + #include "llvm/Analysis/ScopedNoAliasAA.h" + #include "llvm/Analysis/TypeBasedAliasAnalysis.h" +@@ -97,163 +96,6 @@ void llvm::initializeScalarOpts(PassRegistry &Registry) { + initializeLoopSimplifyCFGLegacyPassPass(Registry); + } + +-void LLVMAddLoopSimplifyCFGPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLoopSimplifyCFGPass()); +-} +- + void LLVMInitializeScalarOpts(LLVMPassRegistryRef R) { + initializeScalarOpts(*unwrap(R)); + } +- +-void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createAggressiveDCEPass()); +-} +- +-void LLVMAddDCEPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createDeadCodeEliminationPass()); +-} +- +-void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createBitTrackingDCEPass()); +-} +- +-void LLVMAddAlignmentFromAssumptionsPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createAlignmentFromAssumptionsPass()); +-} +- +-void LLVMAddCFGSimplificationPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createCFGSimplificationPass()); +-} +- +-void LLVMAddDeadStoreEliminationPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createDeadStoreEliminationPass()); +-} +- +-void LLVMAddScalarizerPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createScalarizerPass()); +-} +- +-void LLVMAddGVNPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createGVNPass()); +-} +- +-void LLVMAddNewGVNPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createNewGVNPass()); +-} +- +-void LLVMAddMergedLoadStoreMotionPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createMergedLoadStoreMotionPass()); +-} +- +-void LLVMAddIndVarSimplifyPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createIndVarSimplifyPass()); +-} +- +-void LLVMAddInstructionSimplifyPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createInstSimplifyLegacyPass()); +-} +- +-void LLVMAddJumpThreadingPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createJumpThreadingPass()); +-} +- +-void LLVMAddLoopSinkPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLoopSinkPass()); +-} +- +-void LLVMAddLICMPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLICMPass()); +-} +- +-void LLVMAddLoopRotatePass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLoopRotatePass()); +-} +- +-void LLVMAddLoopUnrollPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLoopUnrollPass()); +-} +- +-void LLVMAddLowerAtomicPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLowerAtomicPass()); +-} +- +-void LLVMAddMemCpyOptPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createMemCpyOptPass()); +-} +- +-void LLVMAddPartiallyInlineLibCallsPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createPartiallyInlineLibCallsPass()); +-} +- +-void LLVMAddReassociatePass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createReassociatePass()); +-} +- +-void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createSROAPass()); +-} +- +-void LLVMAddScalarReplAggregatesPassSSA(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createSROAPass()); +-} +- +-void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM, +- int Threshold) { +- unwrap(PM)->add(createSROAPass()); +-} +- +-void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM) { +- // NOTE: The simplify-libcalls pass has been removed. +-} +- +-void LLVMAddTailCallEliminationPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createTailCallEliminationPass()); +-} +- +-void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createDemoteRegisterToMemoryPass()); +-} +- +-void LLVMAddVerifierPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createVerifierPass()); +-} +- +-void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createCorrelatedValuePropagationPass()); +-} +- +-void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createEarlyCSEPass(false/*=UseMemorySSA*/)); +-} +- +-void LLVMAddEarlyCSEMemSSAPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createEarlyCSEPass(true/*=UseMemorySSA*/)); +-} +- +-void LLVMAddGVNHoistLegacyPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createGVNHoistPass()); +-} +- +-void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createTypeBasedAAWrapperPass()); +-} +- +-void LLVMAddScopedNoAliasAAPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createScopedNoAliasAAWrapperPass()); +-} +- +-void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createBasicAAWrapperPass()); +-} +- +-void LLVMAddLowerConstantIntrinsicsPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLowerConstantIntrinsicsPass()); +-} +- +-void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLowerExpectIntrinsicPass()); +-} +- +-void LLVMAddUnifyFunctionExitNodesPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createUnifyFunctionExitNodesPass()); +-} +diff --git a/llvm/lib/Transforms/Utils/Utils.cpp b/llvm/lib/Transforms/Utils/Utils.cpp +index a20dadb69767..d86f20c7bb6f 100644 +--- a/llvm/lib/Transforms/Utils/Utils.cpp ++++ b/llvm/lib/Transforms/Utils/Utils.cpp +@@ -13,7 +13,6 @@ + + #include "llvm/Transforms/Utils.h" + #include "llvm-c/Initialization.h" +-#include "llvm-c/Transforms/Utils.h" + #include "llvm/IR/LegacyPassManager.h" + #include "llvm/InitializePasses.h" + #include "llvm/Pass.h" +@@ -50,15 +49,3 @@ void llvm::initializeTransformUtils(PassRegistry &Registry) { + void LLVMInitializeTransformUtils(LLVMPassRegistryRef R) { + initializeTransformUtils(*unwrap(R)); + } +- +-void LLVMAddLowerSwitchPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLowerSwitchPass()); +-} +- +-void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createPromoteMemoryToRegisterPass()); +-} +- +-void LLVMAddAddDiscriminatorsPass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createAddDiscriminatorsPass()); +-} +diff --git a/llvm/lib/Transforms/Vectorize/Vectorize.cpp b/llvm/lib/Transforms/Vectorize/Vectorize.cpp +index c2060484af5d..6a335e9120bb 100644 +--- a/llvm/lib/Transforms/Vectorize/Vectorize.cpp ++++ b/llvm/lib/Transforms/Vectorize/Vectorize.cpp +@@ -14,7 +14,6 @@ + + #include "llvm/Transforms/Vectorize.h" + #include "llvm-c/Initialization.h" +-#include "llvm-c/Transforms/Vectorize.h" + #include "llvm/IR/LegacyPassManager.h" + #include "llvm/InitializePasses.h" + #include "llvm/PassRegistry.h" +@@ -31,11 +30,3 @@ void llvm::initializeVectorization(PassRegistry &Registry) { + void LLVMInitializeVectorization(LLVMPassRegistryRef R) { + initializeVectorization(*unwrap(R)); + } +- +-void LLVMAddLoopVectorizePass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createLoopVectorizePass()); +-} +- +-void LLVMAddSLPVectorizePass(LLVMPassManagerRef PM) { +- unwrap(PM)->add(createSLPVectorizerPass()); +-} +diff --git a/llvm/tools/llvm-c-test/include-all.c b/llvm/tools/llvm-c-test/include-all.c +index 69ed753e5068..eada03caf5e0 100644 +--- a/llvm/tools/llvm-c-test/include-all.c ++++ b/llvm/tools/llvm-c-test/include-all.c +@@ -35,11 +35,7 @@ + #include "llvm-c/Support.h" + #include "llvm-c/Target.h" + #include "llvm-c/TargetMachine.h" +-#include "llvm-c/Transforms/InstCombine.h" +-#include "llvm-c/Transforms/IPO.h" ++#include "llvm-c/Transforms/PassBuilder.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" + #include "llvm-c/Types.h" + #include "llvm-c/lto.h" +-- +2.39.2 + |