- if (vec_ir_instr_find(it->writes, self, &idx))
- it->writes.erase(it->writes.begin() + idx);
- if (vec_ir_instr_find(it->reads, self, &idx))
- it->reads.erase(it->reads.begin() + idx);
- }
- (void)!ir_instr_op(self, 0, nullptr, false);
- (void)!ir_instr_op(self, 1, nullptr, false);
- (void)!ir_instr_op(self, 2, nullptr, false);
- mem_d(self);
+ if (vec_ir_instr_find(it->m_writes, this, &idx))
+ it->m_writes.erase(it->m_writes.begin() + idx);
+ if (vec_ir_instr_find(it->m_reads, this, &idx))
+ it->m_reads.erase(it->m_reads.begin() + idx);
+ }
+ (void)!ir_instr_op(this, 0, nullptr, false);
+ (void)!ir_instr_op(this, 1, nullptr, false);
+ (void)!ir_instr_op(this, 2, nullptr, false);
+}
+
+static void ir_instr_delete_quick(ir_instr *self)
+{
+ self->m_phi.clear();
+ self->m_params.clear();
+ self->_m_ops[0] = nullptr;
+ self->_m_ops[1] = nullptr;
+ self->_m_ops[2] = nullptr;
+ delete self;