From f03e37e21f4f0d6d4a7f6ac83a65a4cad3559bc2 Mon Sep 17 00:00:00 2001 From: Mariusz Merecki Date: Mon, 18 Sep 2023 06:24:53 +0000 Subject: [PATCH] Fix assert in SynchronizationObjectCoalescing Treat `EndOfThreadOperation` as a non atomic operation. --- IGC/Compiler/Optimizer/SynchronizationObjectCoalescing.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IGC/Compiler/Optimizer/SynchronizationObjectCoalescing.cpp b/IGC/Compiler/Optimizer/SynchronizationObjectCoalescing.cpp index 47d66dc0532f..c3e860f7ae64 100644 --- a/IGC/Compiler/Optimizer/SynchronizationObjectCoalescing.cpp +++ b/IGC/Compiler/Optimizer/SynchronizationObjectCoalescing.cpp @@ -67,7 +67,7 @@ enum InstructionMask : uint32_t EndOfThreadOperation = (1 << 9), }; constexpr InstructionMask AllNoAtomicMask = - InstructionMask{ ((1 << 9) - 1) & ~InstructionMask::AtomicOperation }; + InstructionMask{ ((EndOfThreadOperation << 1) - 1) & ~InstructionMask::AtomicOperation }; inline constexpr InstructionMask operator|(InstructionMask a, InstructionMask b) {