From 40f7d9253dd00cd289ff7421763bf0034e100cb4 Mon Sep 17 00:00:00 2001 From: "Kwasniewski, Patryk" Date: Wed, 18 Dec 2024 07:30:30 +0000 Subject: [PATCH] enable IndVarSimplification pass enable IndVarSimplification pass --- IGC/Compiler/CISACodeGen/ShaderCodeGen.cpp | 3 ++- IGC/common/igc_flags.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/IGC/Compiler/CISACodeGen/ShaderCodeGen.cpp b/IGC/Compiler/CISACodeGen/ShaderCodeGen.cpp index 98c18a11a55a..3543d59eeb53 100644 --- a/IGC/Compiler/CISACodeGen/ShaderCodeGen.cpp +++ b/IGC/Compiler/CISACodeGen/ShaderCodeGen.cpp @@ -1542,7 +1542,8 @@ void OptimizeIR(CodeGenContext* const pContext) mpm.add(createIGCInstructionCombiningPass()); - if (IGC_IS_FLAG_ENABLED(EnableIndVarSimplification)) + if (IGC_IS_FLAG_ENABLED(EnableIndVarSimplification) && + pContext->type == ShaderType::OPENCL_SHADER) { mpm.add(llvm::createIndVarSimplifyPass()); } diff --git a/IGC/common/igc_flags.h b/IGC/common/igc_flags.h index 7a4c45905d98..550557f4669c 100644 --- a/IGC/common/igc_flags.h +++ b/IGC/common/igc_flags.h @@ -213,7 +213,7 @@ DECLARE_IGC_REGKEY(bool, DisableIRVerification, false, "Setting this to DECLARE_IGC_REGKEY(bool, EnableJumpThreading, true, "Setting this to 1/true adds a compiler switch to enable llvm jumpThreading pass.", true) DECLARE_IGC_REGKEY(bool, DisableLoopUnroll, false, "Setting this to 1/true adds a compiler switch to disable loop unrolling.", true) DECLARE_IGC_REGKEY(DWORD, RuntimeLoopUnrolling, 0, "Setting this to switch on/off runtime loop unrolling. 0: default (on), 1: force on, 2: force off", false) -DECLARE_IGC_REGKEY(bool, EnableIndVarSimplification, false, "Enables IndVarSimplification pass.", true) +DECLARE_IGC_REGKEY(bool, EnableIndVarSimplification, true, "Enables IndVarSimplification pass.", true) DECLARE_IGC_REGKEY(bool, DisableBranchSwaping, false, "Setting this to 1/true adds a compiler switch to disable branch swapping.", false) DECLARE_IGC_REGKEY(bool, DisableSynchronizationObjectCoalescingPass, false, "Disable SynchronizationObjectCoalescing pass", false) DECLARE_IGC_REGKEY(bool, EnableIndependentSharedMemoryFenceFunctionality, false, "Enable treating global memory fences as shared memory fences in SynchronizationObjectCoalescing pass", false)