[decompiler] process-drawable-h (#561)

* decomile process-drawable-h

* one more
This commit is contained in:
water111
2021-06-05 23:55:36 -04:00
committed by GitHub
parent 54f72e9b10
commit fef7fad65a
33 changed files with 2389 additions and 214 deletions
+3 -4
View File
@@ -242,7 +242,6 @@ FormElement* StoreOp::get_vf_store_as_form(FormPool& pool, const Env& env) const
}
assert(!rd.addr_of); // we'll change this to true because .svf uses an address.
auto addr = pool.alloc_single_element_form<DerefElement>(nullptr, source, true, tokens);
return pool.alloc_element<VectorFloatLoadStoreElement>(m_value.var().reg(), addr, false);
} else {
// try again with no deref.
@@ -261,7 +260,6 @@ FormElement* StoreOp::get_vf_store_as_form(FormPool& pool, const Env& env) const
// some sketchy type stuff going on.
addr = pool.alloc_single_element_form<CastElement>(
nullptr, TypeSpec("pointer", {TypeSpec("uint128")}), addr);
return pool.alloc_element<VectorFloatLoadStoreElement>(m_value.var().reg(), addr, false);
}
}
@@ -421,7 +419,8 @@ FormElement* StoreOp::get_as_form(FormPool& pool, const Env& env) const {
return pool.alloc_element<StorePlainDeref>(
addr, m_value.as_expr(), m_my_idx, ro.var, std::nullopt,
get_typecast_for_atom(m_value, env, coerce_to_reg_type(rd.result_type), m_my_idx));
get_typecast_for_atom(m_value, env, coerce_to_reg_type(rd.result_type), m_my_idx),
m_size);
}
std::string cast_type;
@@ -466,7 +465,7 @@ FormElement* StoreOp::get_as_form(FormPool& pool, const Env& env) const {
pool.alloc_element<DerefElement>(cast_source, false, std::vector<DerefToken>());
return pool.alloc_element<StorePlainDeref>(deref, m_value.as_expr(), m_my_idx, ro.var,
TypeSpec("pointer", {TypeSpec(cast_type)}),
std::nullopt);
std::nullopt, m_size);
}
}
}