Add CFG to IR decompiler pass (#60)

* add some more cfg ir stuff

* add cond with else

* add type of recognition

* add cond to compare conversion

* finally all conds are passing

* started sc recognize, but ash min and max should be recognized first

* fix ash showing up as sc

* add abs

* fix merge issues

* try building goos with optimizations on

* sc mostly working, still need to fix right aligned nesting

* ands and ors are converting correctly now

* clean up
This commit is contained in:
water111
2020-10-06 18:14:27 -04:00
committed by GitHub
parent b102d22dd9
commit a64dd6c90b
15 changed files with 1755 additions and 37 deletions
+2 -2
View File
@@ -572,8 +572,8 @@ bool Function::instr_starts_basic_op(int idx) {
return false;
}
IR* Function::get_basic_op_at_instr(int idx) {
return basic_ops.at(instruction_to_basic_op.at(idx)).get();
std::shared_ptr<IR> Function::get_basic_op_at_instr(int idx) {
return basic_ops.at(instruction_to_basic_op.at(idx));
}
int Function::get_basic_op_count() {