Skip to content

Commit 3ae1be7

Browse files
Artem Gindinsonigcbot
authored andcommitted
Disable TrivialLocalMemoryOpsElimination pass from the pipeline
The pass runs into multiple edge-case issues with aliased (and even direct) SLM accesses. Originally implemented within commit ac8f9d5, no clear performance benefit could be identified as of today.
1 parent 0ea9c16 commit 3ae1be7

File tree

2 files changed

+1
-1
lines changed

2 files changed

+1
-1
lines changed

IGC/Compiler/CISACodeGen/ShaderCodeGen.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1852,7 +1852,6 @@ void OptimizeIR(CodeGenContext* const pContext)
18521852
mpm.add(createSROAPass());
18531853
}
18541854

1855-
mpm.add(new TrivialLocalMemoryOpsElimination());
18561855
if (pContext->type == ShaderType::COMPUTE_SHADER &&
18571856
(IGC_IS_FLAG_ENABLED(RemoveUnusedTGMFence) ||
18581857
pContext->getModuleMetaData()->enableRemoveUnusedTGMFence))

IGC/Compiler/CustomSafeOptPass.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ namespace IGC
108108
llvm::Value* analyzeTreeForTrunc64bto32b(const llvm::Use& OperandUse, llvm::SmallVector<llvm::BinaryOperator*, 8>& OpsToDelete);
109109
};
110110

111+
// TODO: Remove this pass as unused
111112
class TrivialLocalMemoryOpsElimination : public llvm::FunctionPass, public llvm::InstVisitor<TrivialLocalMemoryOpsElimination>
112113
{
113114
public:

0 commit comments

Comments
 (0)