Andrea Gussoni
4a49a60b99
Fix and convention enforcing
...
Some fixes and conventions enforcing before decompilation pipeline
restructure.
2019-03-12 13:49:53 +01:00
Andrea Gussoni
f27597b999
Introduce the Switch BasicBlockNode type
...
Introduced a new `BasicBlockNode` type to represent the nodes created
when building the nested tree in place of the `switch` instruction.
2019-03-08 15:31:30 +01:00
Pietro Fezzardi
3b2dac4e85
Enforce clang-format
2019-02-25 12:29:15 +01:00
Pietro Fezzardi
cb08b4ac31
tmp
2019-02-12 20:55:28 +01:00
Andrea Gussoni
dbffa54124
Handle check BBNode in inflate
...
Considering the `check` BBNode during the `inflate` procedure, and
fixing the functions handling edges and nodes successors accordingly.
2019-02-11 12:18:44 +01:00
Pietro Fezzardi
2afd5053e6
Rework exit and entry dispatcher trees
2019-02-01 19:24:56 +01:00
Pietro Fezzardi
2c93512f90
Rework BasicBlockNode class
2019-02-01 15:08:53 +01:00
Pietro Fezzardi
20a336344e
Add state variable info to dummy BasicBlockNodes
2019-01-25 18:36:37 +01:00
Andrea Gussoni
c70b6f1097
Implemented de-optimization on RegionCFGTree
...
Now, during the simplification of short-circuits the so called
`de-optimization` is also applied to the corresponding `RegionCFGTree`.
This allows us to avoid loss of information during the iterative
refinement phase, which basically divides for ever the existencies of
two nodes that have been cloned starting from a single original one.
2019-01-25 13:45:03 +01:00
Pietro Fezzardi
f5fcc4aa24
Completely redesign ownership model for RegionCFG
2019-01-25 13:13:35 +01:00
Andrea Gussoni
05a5d80151
Short-circuit simplification concept
...
First concept of short-circuit simplification.
The `isEqual` operator between ASTNodes is very limited (it does only
check if two nodes originate from the same `BasicBlock` in the original
IR.
2019-01-22 19:16:48 +01:00
Pietro Fezzardi
da299f3095
EnforceCFGCombingPass: inject dummy nodes in CFG
2019-01-16 12:53:08 +01:00
Pietro Fezzardi
5805679ead
RestructureCFGPass: fix use of include directory
2019-01-15 16:57:15 +01:00
Andrea Gussoni
06717a6185
Import RestructureCFGPass from revamb branch
...
Import the RestructureCFGPass from the `feature/the-comb` branch on the
`revamb` repository.
2019-01-14 15:45:08 +01:00