diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp b/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp @@ -770,9 +770,6 @@ Instruction *const SingleLaneTerminator = SplitBlockAndInsertIfThen(Cond, &I, false, nullptr, &DTU, nullptr); - // Control flow is changed here after splitting I's block - assert(DTU.getDomTree().verify(DominatorTree::VerificationLevel::Full)); - // At this point, we have split the I's block to allow one lane in wavefront // to update the precomputed reduced value. Also, completed the codegen for // new control flow i.e. iterative loop which perform reduction and scan using @@ -799,7 +796,6 @@ {{DominatorTree::Insert, EntryBB, ComputeLoop}, {DominatorTree::Insert, ComputeLoop, ComputeEnd}, {DominatorTree::Delete, EntryBB, SingleLaneTerminator->getParent()}}); - assert(DTU.getDomTree().verify(DominatorTree::VerificationLevel::Full)); Predecessor = ComputeEnd; } else { diff --git a/llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan.ll b/llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan.ll --- a/llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan.ll +++ b/llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan.ll @@ -1,5 +1,5 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py -; RUN: opt -S -mtriple=amdgcn-- -amdgpu-atomic-optimizer-strategy=Iterative -passes=amdgpu-atomic-optimizer %s | FileCheck -check-prefix=IR %s +; RUN: opt -S -mtriple=amdgcn-- -amdgpu-atomic-optimizer-strategy=Iterative -passes='amdgpu-atomic-optimizer,verify' %s | FileCheck -check-prefix=IR %s define amdgpu_kernel void @uniform_value(ptr addrspace(1) , ptr addrspace(1) %val) #0 { ; IR-LABEL: @uniform_value(