@@ -157,6 +157,13 @@ SPDX-License-Identifier: MIT
157157#include < llvm/Transforms/Scalar.h>
158158#include < llvm/Bitcode/BitcodeWriter.h>
159159#include " llvmWrapper/Transforms/Scalar/ADCE.h"
160+ #include " llvmWrapper/Transforms/Scalar/CorrelatedValuePropagation.h"
161+ #include " llvmWrapper/Transforms/Scalar/DeadStoreElimination.h"
162+ #include " llvmWrapper/Transforms/Scalar/JumpThreading.h"
163+ #include " llvmWrapper/Transforms/IPO/SCCP.h"
164+ #include " llvmWrapper/Transforms/IPO/GlobalDCE.h"
165+ #include " llvmWrapper/Transforms/Scalar/MemCpyOptimizer.h"
166+
160167#include " common/LLVMWarningsPop.hpp"
161168#include " Compiler/CISACodeGen/PatternMatchPass.hpp"
162169#include " Compiler/CISACodeGen/EmitVISAPass.hpp"
@@ -651,7 +658,7 @@ void AddLegalizationPasses(CodeGenContext &ctx, IGCPassManager &mpm, PSSignature
651658
652659 if (ctx.enableFunctionCall () || ctx.type == ShaderType::RAYTRACING_SHADER) {
653660 // Sort functions if subroutine/indirect fcall is enabled.
654- mpm.add (llvm::createGlobalDCEPass ());
661+ mpm.add (IGCLLVM::createLegacyWrappedGlobalDCEPass ());
655662 mpm.add (new PurgeMetaDataUtils ());
656663 mpm.add (createGenXCodeGenModulePass ());
657664 }
@@ -745,7 +752,7 @@ void AddLegalizationPasses(CodeGenContext &ctx, IGCPassManager &mpm, PSSignature
745752 const bool allowIPConstProp = !ctx.m_hasStackCalls && IGC_IS_FLAG_DISABLED (DisableIPConstantPropagation);
746753
747754 if (allowIPConstProp) {
748- mpm.add (createIPSCCPPass ());
755+ mpm.add (IGCLLVM::createLegacyWrappedIPSCCPPass ());
749756 }
750757 mpm.add (createDeadCodeEliminationPass ());
751758 mpm.add (createCFGSimplificationPass ());
@@ -1221,7 +1228,7 @@ void OptimizeIR(CodeGenContext *const pContext) {
12211228 const bool allowIPConstProp = !pContext->m_hasStackCalls && IGC_IS_FLAG_DISABLED (DisableIPConstantPropagation);
12221229
12231230 if (allowIPConstProp) {
1224- mpm.add (createIPSCCPPass ());
1231+ mpm.add (IGCLLVM::createLegacyWrappedIPSCCPPass ());
12251232 }
12261233 // Note / todo: LLVM < 12 also runs simple constant propagation pass
12271234 // regardless of IPSCCP in this case. This pass is not available on
@@ -1262,7 +1269,7 @@ void OptimizeIR(CodeGenContext *const pContext) {
12621269 mpm.add (createScopedNoAliasAAWrapperPass ());
12631270
12641271 if (pContext->m_instrTypes .hasLoadStore ) {
1265- mpm.add (llvm::createDeadStoreEliminationPass ());
1272+ mpm.add (IGCLLVM::createLegacyWrappedDeadStoreEliminationPass ());
12661273 mpm.add (createMarkReadOnlyLoadPass ());
12671274 }
12681275
@@ -1273,7 +1280,7 @@ void OptimizeIR(CodeGenContext *const pContext) {
12731280
12741281
12751282 if (pContext->m_instrTypes .CorrelatedValuePropagationEnable ) {
1276- mpm.add (llvm::createCorrelatedValuePropagationPass ());
1283+ mpm.add (IGCLLVM::createLegacyWrappedCorrelatedValuePropagationPass ());
12771284 }
12781285
12791286 mpm.add (new BreakConstantExpr ());
@@ -1527,7 +1534,7 @@ void OptimizeIR(CodeGenContext *const pContext) {
15271534#if LLVM_VERSION_MAJOR >= 15
15281535 // In LLVM-12.x an extra parameter InsertFreezeWhenUnfoldingSelect = false was added
15291536 // to JumpThreading pass, but since LLVM-15.x it was removed again.
1530- mpm.add (llvm::createJumpThreadingPass (BBDuplicateThreshold));
1537+ mpm.add (IGCLLVM::createLegacyWrappedJumpThreadingPass (BBDuplicateThreshold));
15311538#else // LLVM_VERSION_MAJOR
15321539 mpm.add (llvm::createJumpThreadingPass (false , BBDuplicateThreshold));
15331540#endif // LLVM_VERSION_MAJOR
@@ -1662,8 +1669,8 @@ void OptimizeIR(CodeGenContext *const pContext) {
16621669 mpm.add (createGenSimplificationPass ());
16631670
16641671 if (pContext->m_instrTypes .hasLoadStore ) {
1665- mpm.add (llvm::createDeadStoreEliminationPass ());
1666- mpm.add (llvm::createMemCpyOptPass ());
1672+ mpm.add (IGCLLVM::createLegacyWrappedDeadStoreEliminationPass ());
1673+ mpm.add (IGCLLVM::createLegacyWrappedMemCpyOptPass ());
16671674 mpm.add (createLdShrinkPass ());
16681675 }
16691676
0 commit comments