[Decompiler] Write IR2 to file and implement some Atomic Op conversions (#187)

This commit is contained in:
water111
2021-01-09 20:01:48 -05:00
committed by GitHub
parent 5093b97cda
commit 2901f4a99e
22 changed files with 2428 additions and 154 deletions
+13
View File
@@ -684,6 +684,19 @@ std::shared_ptr<IR_Atomic> Function::get_basic_op_at_instr(int idx) {
return basic_ops.at(instruction_to_basic_op.at(idx));
}
bool Function::instr_starts_atomic_op(int idx) {
auto op = ir2.atomic_ops->instruction_to_atomic_op.find(idx);
if (op != ir2.atomic_ops->instruction_to_atomic_op.end()) {
auto start_instr = ir2.atomic_ops->atomic_op_to_instruction.at(op->second);
return start_instr == idx;
}
return false;
}
const AtomicOp& Function::get_atomic_op_at_instr(int idx) {
return *ir2.atomic_ops->ops.at(ir2.atomic_ops->instruction_to_atomic_op.at(idx));
}
int Function::get_basic_op_count() {
return basic_ops.size();
}