aco/tests: add test for GFX10 0x3f bug
[mesa.git] / src / amd / compiler / aco_dead_code_analysis.cpp
index 443ba188c186cae399cb94d52f76fbe00031489f..b77a3dd89b27487f73529adcca9fe61a32f64dd8 100644 (file)
@@ -79,12 +79,12 @@ void process_block(dce_ctx& ctx, Block& block)
 
 bool is_dead(const std::vector<uint16_t>& uses, Instruction *instr)
 {
-   if (instr->definitions.empty())
+   if (instr->definitions.empty() || instr->format == Format::PSEUDO_BRANCH)
       return false;
    if (std::any_of(instr->definitions.begin(), instr->definitions.end(),
           [&uses] (const Definition& def) { return uses[def.tempId()];}))
       return false;
-   return instr_info.is_atomic[(int)instr->opcode];
+   return !(get_sync_info(instr).semantics & (semantic_volatile | semantic_acqrel));
 }
 
 std::vector<uint16_t> dead_code_analysis(Program *program) {