From 0f8da915f790c6fedc3dee4b5c140103b454ab4d Mon Sep 17 00:00:00 2001 From: Artur Gainullin Date: Wed, 16 Sep 2020 23:12:09 -0700 Subject: [PATCH] [SYCL] Didsable dead store elimination in early optimizations Dead store elimination in early optimizations causes fail on GPU target for some cases. --- llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp index 50e87f0ab684f..f61a6b01a1b75 100644 --- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -472,7 +472,8 @@ void PassManagerBuilder::addFunctionSimplificationPasses( if (OptLevel > 1) { MPM.add(createJumpThreadingPass()); // Thread jumps MPM.add(createCorrelatedValuePropagationPass()); - MPM.add(createDeadStoreEliminationPass()); // Delete dead stores + if (!SYCLOptimizationMode) + MPM.add(createDeadStoreEliminationPass()); // Delete dead stores MPM.add(createLICMPass(LicmMssaOptCap, LicmMssaNoAccForPromotionCap)); }