diff --git a/llvm/lib/Target/AMDGPU/SIDefines.h b/llvm/lib/Target/AMDGPU/SIDefines.h index 1325afb68ca9a2..519cea1730ed9c 100644 --- a/llvm/lib/Target/AMDGPU/SIDefines.h +++ b/llvm/lib/Target/AMDGPU/SIDefines.h @@ -130,13 +130,6 @@ enum : uint64_t { // Is a WMMA instruction. IsWMMA = UINT64_C(1) << 59, - - // Is source of divergence. - // - // Note: There is no corresponding SIInstrInfo::IsSourceOfDivergence method - // by design, since this flag only covers opcodes that are _always_ divergent. - // Use SIInstrInfo::getInstructionUniformity for a more complete analysis. - IsSourceOfDivergence = UINT64_C(1) << 60 }; // v_cmp_class_* etc. use a 10-bit mask for what operation is checked. diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp index e7e8ac2e725539..01c04c1acfb7f3 100644 --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp @@ -8404,9 +8404,6 @@ SIInstrInfo::getGenericInstructionUniformity(const MachineInstr &MI) const { InstructionUniformity SIInstrInfo::getInstructionUniformity(const MachineInstr &MI) const { - if (MI.getDesc().TSFlags & SIInstrFlags::IsSourceOfDivergence) - return InstructionUniformity::NeverUniform; - // Atomics are divergent because they are executed sequentially: when an // atomic operation refers to the same address in each thread, then each // thread after the first sees the value written by the previous thread as