Commit graph

73 commits

Author SHA1 Message Date
Can Bölük
4f9abc25c0 Removing some redundancies. 2020-08-28 07:11:08 +02:00
Can Bölük
a25ce864fe Routine uses unordered_map now, other minor changes. 2020-08-24 04:38:15 +02:00
Can Bölük
6cbead72cc Minor logic fixes. 2020-08-23 06:40:55 +02:00
Can Bölük
eb82631fd6 Implementing parallel-df DCE. 2020-08-23 05:44:25 +02:00
Can Bölük
0bbc82b8f8 Implemented optimizer::execution_order. 2020-08-23 05:44:11 +02:00
Can Bölük
c0e26276ab Moved is_semantic_nop and remove_nops to auxiliaries. 2020-08-23 02:07:16 +02:00
Can Bölük
fac4c68236 Removed vector allocating ::recurse, replacing with ::enum_paths. 2020-08-22 03:47:49 +02:00
Can Bölük
fe1b7fc7e1 Implemented auto-scope ref and exception-less stack cleanup. 2020-08-01 21:21:16 +02:00
Can Bölük
ccd1969997 Added CustomHashable concept overload for std::hash. 2020-07-29 06:47:21 +02:00
Can Bölük
8a79ca03ba Fixed everything else to work with the changes. 2020-07-29 02:36:10 +02:00
Can Bölük
6b647f8db6 Fixing minor redundancies. 2020-07-28 21:44:53 +02:00
Can Bölük
091973723a Removing redundant code. 2020-07-27 20:28:05 +02:00
Can Bölük
0ac7649f15 Minor fixes, adjusted pool config. 2020-07-27 01:04:23 +02:00
Can Bölük
2938d31782 Fixed sym-rewrite not purging sym cache after destroying a basic block. 2020-07-25 15:29:04 +02:00
Can Bölük
5b4767acf1 vtil::zip and vtil::numeric_range can now be constructed constexpr. 2020-07-24 08:28:48 +02:00
Can Bölük
ace235b13c symbolic_vm now uses symbolic::context. 2020-07-24 07:10:46 +02:00
Can Bölük
22a6aca8a7 Fixing interfaces for the new deferred_value. 2020-07-24 07:01:47 +02:00
Can Bölük
7dd19292ff Reworked VM interface. 2020-07-23 04:46:54 +02:00
Can Bölük
d661711c8d Fully switched to the new CTX[] and MEMORY[] syntax. 2020-07-17 10:18:20 +02:00
Can Bölük
bedf29168d Minor deferred value changes. 2020-07-15 03:20:48 +02:00
Can Bölük
d6f6b5a8be Fixing recursive pointer tracing with a hack for now. 2020-07-14 15:28:37 +02:00
Can Bölük
af37f9d80f Implemented an _alright_ stack propagation for now. 2020-07-13 01:03:47 +02:00
Can Bölük
bc6dc89429 Prefer slow stack propagation for now, will be reworked soon. 2020-07-13 00:52:03 +02:00
Can Bölük
02e2271822 Fixed a concurrency issue with stack_propagation. 2020-07-13 00:42:21 +02:00
Can Bölük
715735b5ac Further reference usage, added [[nodiscard]] attributes. 2020-07-12 15:34:30 +02:00
Can Bölük
00d5c2c6cb Further pushing use of expression references. 2020-07-12 14:17:46 +02:00
Can Bölük
cb395a2b66 Symbolic VM now uses references, implemented special unique ptr for dirs 2020-07-12 08:00:52 +02:00
Can Bölük
caf1133aaf Implement simple filtering to mov prop. to improve speed. 2020-07-11 17:31:02 +02:00
Can Bölük
3ae0571c96 Change map to unordered_map. 2020-07-11 17:21:18 +02:00
Can Bölük
6304c98989 Fixing minor stack prop issues. 2020-07-11 17:20:37 +02:00
Can Bölük
6bc8fe6f85 Apply symex rewrite once more after propagation, ignore dup in apply_each. 2020-07-11 13:07:00 +02:00
Can Bölük
3d34c08b39 Fixing narrow casting issues in experimental fast prop. 2020-07-11 09:39:33 +02:00
Can Bölük
533d9e7059 Prefer single emplace over contains && insert when safe-recursing. 2020-07-11 07:35:07 +02:00
Can Bölük
9cef750626 Implement path helpers to routine. 2020-07-11 07:12:12 +02:00
Can Bölük
80793d9d04 Replacing ::null_expression with the new make_default. 2020-07-11 06:53:15 +02:00
Can Bölük
f9ed64d579 Fixing minor typo. 2020-07-11 02:34:45 +02:00
Can Bölük
0081496346 Fixed optimizer for improperly terminated routines. 2020-07-09 08:34:14 +02:00
Can Bölük
d77015977a Removing unnecessary tracer. 2020-07-09 07:21:34 +02:00
Can Bölük
392e02d973 Fixing license headers yet once again. 2020-07-09 02:43:51 +02:00
Can Bölük
614309aa11 Fixing license. 2020-07-06 21:41:04 +02:00
Can Bölük
04fcd433e2 Minor changes, stack pinning will no longer emit VPINR, fixed filters. 2020-07-05 04:10:06 +02:00
Can Bölük
4b8944cfcf aux::analyze_branch now takes flags in a structured way. 2020-07-04 07:20:32 +02:00
Can Bölük
516d61974e Fixed branch correction, added additional if packer. 2020-07-03 22:44:03 +02:00
Can Bölük
9e785bde5a Fixing neg unsigned. 2020-07-02 19:58:06 +02:00
Can Bölük
d72b05de48 Fixing dangling link in branch correction pass. 2020-07-02 19:56:59 +02:00
DefCon42
1f7f187a95 Fix fast propagation/fast DCE.
TODO: reimplement memory propagation.
2020-06-30 18:53:41 -04:00
DefCon42
2791104e38 Fix fast propagation pass. 2020-06-30 07:53:04 -04:00
DefCon42
31332a142c create fast reg/mem propagation pass 2020-06-28 16:39:26 -04:00
Can Bölük
e199394e27 Equals will invoke simplification so improve perf by changing the order. 2020-06-27 03:39:24 +02:00
DefCon42
daa35b769b Fix propagation and DCE algorithms. 2020-06-26 07:05:03 -04:00