Commit graph

75 commits

Author SHA1 Message Date
wallds
df0d9a166e Fix infinite loop 2022-02-07 10:47:26 +08:00
windy
e5f800e5ff Fix https://github.com/vtil-project/VTIL-Core/issues/61 2022-01-14 12:48:12 +01:00
windy
06c268424b Fix https://github.com/vtil-project/VTIL-Core/issues/61 2022-01-14 12:48:12 +01:00
windy
f0316a22ab Fix bit operation 2021-08-30 23:35:55 +08:00
Can Bölük
ff94eef448
Fixing the arithmetic hinting for equals. 2021-05-29 18:32:45 +02:00
Can Bölük
7f115171a7 Implement expression::contains. 2020-08-24 20:49:57 +02:00
Can Bölük
b4081c568a Templating ::xvalues. 2020-08-22 03:58:06 +02:00
Can Bölük
e9a903c1cc Fixed variable depth matching logic. 2020-08-01 21:46:05 +02:00
Can Bölük
383583e5cd Delete the assumption of non-hash-collision. 2020-08-01 21:32:49 +02:00
Can Bölük
1010a725bd Implemented variable depth matching. 2020-08-01 21:20:26 +02:00
Can Bölük
070693bd73 Minor changes. 2020-07-31 02:54:17 +02:00
Can Bölük
2e0befba3b Major improvements to detached queue implementation. 2020-07-27 00:34:57 +02:00
Can Bölük
d01191bfed Minor changes, swap unnecessary fassert with dassert. 2020-07-25 21:54:47 +02:00
Can Bölük
8ac6807fef Fixed rhs mask being wrongly applied to non-variable xvalues. 2020-07-25 15:27:11 +02:00
Can Bölük
eecf0f350a Fixed a bug in matcher logic. 2020-07-25 15:24:13 +02:00
Can Bölük
002fa96fb0 Minor improvements, increased confident hash-cmp limit to 384 bits. 2020-07-25 14:28:40 +02:00
Can Bölük
ee5ce7d7bd Implemented match_to and fast is_identical. 2020-07-25 11:27:04 +02:00
Can Bölük
c914c52071 Xvalue calculation is now done on-demand. 2020-07-25 11:26:18 +02:00
Can Bölük
cde86a777f Minor fixes, faster expression::update(). 2020-07-25 08:02:15 +02:00
Can Bölük
d472f2f8eb Implemented O(1) tree matching approx with compressed signatures. 2020-07-25 06:37:34 +02:00
Can Bölük
58afba5c86 Implemented unordered hasher. 2020-07-25 03:52:50 +02:00
Can Bölük
0473834de3 xvalue propagation is now done within expression itself. 2020-07-24 08:29:11 +02:00
Can Bölük
a53a89671f Fixing pool alignment, removing cloning expression helpers. 2020-07-23 08:02:50 +02:00
Can Bölük
10447a448c More constexpr. 2020-07-18 22:32:27 +02:00
Can Bölük
2a15400d94 Fixed a bug on SHR resizing, implemented lambda filters. 2020-07-14 07:23:33 +02:00
Can Bölük
e8078d25d2 Improve resizing logic and pass ordering. 2020-07-13 00:06:04 +02:00
Can Bölük
22fafcc956 Fixing is_lazy bug. 2020-07-12 20:20:41 +02:00
Can Bölük
fbaa8efe2e Testing... 2020-07-12 18:05:19 +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
ac9206278f Fixing minor typo. 2020-07-12 10:52:00 +02:00
Can Bölük
a33beead93 Save another 15% by implementing a custom shared_ptr :). 2020-07-12 10:41:23 +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
babe3f7a21 Implemented eval-based ::equals fast path. 2020-07-09 06:19:39 +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
8176fc944a Fixed unbalanced simplifications with lazy resizing. 2020-07-01 06:25:50 +02:00
Can Bölük
c93bdc6471 Do lazy cast at a later stage. 2020-06-27 13:59:59 +02:00
Can Bölük
f2ea44f2ac Implemented speculative simplification of lazy expressions. 2020-06-27 11:39:21 +02:00
Can Bölük
5a8cd8c0cf Fix lazy clearing. 2020-06-26 12:29:37 +02:00
Can Bölük
d77ce575e9 Lazy flag is now "stolen" instead of being carried. 2020-06-26 11:32:28 +02:00
Can Bölük
38b52d5995 Implemented lazy expressions. 2020-06-26 09:17:48 +02:00
Can Bölük
05151efaf6 Fixing branch correction/analysis, few other minor fixes. 2020-06-26 08:36:44 +02:00
Can Bölük
aa9a66fa4f Convert umul into mul where possible. 2020-06-25 06:18:32 +02:00
Can Bölük
ce7f2d683b Enabled fast fp, replaced hardcodded cost with proper operator cost. 2020-06-25 05:05:44 +02:00
Can Bölük
d203c6ebd3 ::access_size and ::to_string now work with bitcnt, added safe narrowing 2020-06-21 00:04:03 +02:00
Can Bölük
026c66b181 Implemented very trivial boolean simplification. 2020-06-17 08:12:02 +02:00
Can Bölük
d2afb6ef2e Implemented optimising resizing for comparisons, fixed boolean negation. 2020-06-17 05:39:35 +02:00
Can Bölük
4910aae82b Fixed simplification of extended not and other minor fixes. 2020-06-17 02:58:20 +02:00
Can Bölük
468253f1c6 Fix multiplication casting bugs and mov constructor of cow ref. 2020-06-13 21:59:22 +02:00