static bool isSendMsgTraceDataOrGDS(const SIInstrInfo &TII, const MachineInstr &MI) { if (TII.isAlwaysGDS(MI.getOpcode())) return true; switch (MI.getOpcode()) { case AMDGPU::S_SENDMSG: case AMDGPU::S_SENDMSGHALT: case AMDGPU::S_TTRACEDATA: return true; // These DS opcodes don't support GDS. case AMDGPU::DS_NOP: case AMDGPU::DS_PERMUTE_B32: case AMDGPU::DS_BPERMUTE_B32: return false; default: if (TII.isDS(MI.getOpcode())) { int GDS = AMDGPU::getNamedOperandIdx(MI.getOpcode(), AMDGPU::OpName::gds); if (MI.getOperand(GDS).getImm()) return true; } return false; } }