[Decompiler] Implement IR2 Type Analysis Pass (#193)

* type analysis setup

* more framework

* update printing

* wip

* add type analysis pass

* fix tests
This commit is contained in:
water111
2021-01-10 20:46:49 -05:00
committed by GitHub
parent 45d37733a8
commit fe693b5da2
19 changed files with 1358 additions and 103 deletions
+5
View File
@@ -70,6 +70,7 @@ class ObjectFileDB {
void ir2_top_level_pass();
void ir2_basic_block_pass();
void ir2_atomic_op_pass();
void ir2_type_analysis_pass();
void ir2_write_results(const std::string& output_dir);
std::string ir2_to_file(ObjectFileData& data);
std::string ir2_function_to_string(ObjectFileData& data, Function& function, int seg);
@@ -83,6 +84,10 @@ class ObjectFileDB {
DecompilerTypeSystem dts;
std::string all_type_defs;
bool lookup_function_type(const FunctionName& name,
const std::string& obj_name,
TypeSpec* result);
private:
void load_map_file(const std::string& map_data);
void get_objs_from_dgo(const std::string& filename);