@@ -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 }
@@ -746,7 +753,7 @@ void AddLegalizationPasses(CodeGenContext &ctx, IGCPassManager &mpm, PSSignature
746753 const bool allowIPConstProp = !ctx.m_hasStackCalls && IGC_IS_FLAG_DISABLED (DisableIPConstantPropagation);
747754
748755 if (allowIPConstProp) {
749- mpm.add (createIPSCCPPass ());
756+ mpm.add (IGCLLVM::createLegacyWrappedIPSCCPPass ());
750757 }
751758 mpm.add (createDeadCodeEliminationPass ());
752759 mpm.add (createCFGSimplificationPass ());
@@ -1222,7 +1229,7 @@ void OptimizeIR(CodeGenContext *const pContext) {
12221229 const bool allowIPConstProp = !pContext->m_hasStackCalls && IGC_IS_FLAG_DISABLED (DisableIPConstantPropagation);
12231230
12241231 if (allowIPConstProp) {
1225- mpm.add (createIPSCCPPass ());
1232+ mpm.add (IGCLLVM::createLegacyWrappedIPSCCPPass ());
12261233 }
12271234 // Note / todo: LLVM < 12 also runs simple constant propagation pass
12281235 // regardless of IPSCCP in this case. This pass is not available on
@@ -1263,7 +1270,7 @@ void OptimizeIR(CodeGenContext *const pContext) {
12631270 mpm.add (createScopedNoAliasAAWrapperPass ());
12641271
12651272 if (pContext->m_instrTypes .hasLoadStore ) {
1266- mpm.add (llvm::createDeadStoreEliminationPass ());
1273+ mpm.add (IGCLLVM::createLegacyWrappedDeadStoreEliminationPass ());
12671274 mpm.add (createMarkReadOnlyLoadPass ());
12681275 }
12691276
@@ -1274,7 +1281,7 @@ void OptimizeIR(CodeGenContext *const pContext) {
12741281
12751282
12761283 if (pContext->m_instrTypes .CorrelatedValuePropagationEnable ) {
1277- mpm.add (llvm::createCorrelatedValuePropagationPass ());
1284+ mpm.add (IGCLLVM::createLegacyWrappedCorrelatedValuePropagationPass ());
12781285 }
12791286
12801287 mpm.add (new BreakConstantExpr ());
@@ -1528,7 +1535,7 @@ void OptimizeIR(CodeGenContext *const pContext) {
15281535#if LLVM_VERSION_MAJOR >= 15
15291536 // In LLVM-12.x an extra parameter InsertFreezeWhenUnfoldingSelect = false was added
15301537 // to JumpThreading pass, but since LLVM-15.x it was removed again.
1531- mpm.add (llvm::createJumpThreadingPass (BBDuplicateThreshold));
1538+ mpm.add (IGCLLVM::createLegacyWrappedJumpThreadingPass (BBDuplicateThreshold));
15321539#else // LLVM_VERSION_MAJOR
15331540 mpm.add (llvm::createJumpThreadingPass (false , BBDuplicateThreshold));
15341541#endif // LLVM_VERSION_MAJOR
@@ -1663,8 +1670,8 @@ void OptimizeIR(CodeGenContext *const pContext) {
16631670 mpm.add (createGenSimplificationPass ());
16641671
16651672 if (pContext->m_instrTypes .hasLoadStore ) {
1666- mpm.add (llvm::createDeadStoreEliminationPass ());
1667- mpm.add (llvm::createMemCpyOptPass ());
1673+ mpm.add (IGCLLVM::createLegacyWrappedDeadStoreEliminationPass ());
1674+ mpm.add (IGCLLVM::createLegacyWrappedMemCpyOptPass ());
16681675 mpm.add (createLdShrinkPass ());
16691676 }
16701677
0 commit comments