Commit graph

62 commits

Author SHA1 Message Date
zZzetaS
32ee99ee8d merged & added tests for bblock_thunk_removal_pass 2022-01-14 22:55:20 +01:00
wallds
611c274b2e Fix test_access 2022-01-13 11:44:45 +08:00
z3t4s
617df086bf Applied fixes that are not yet available in master. Also added a new thunk removal pass 2022-01-12 23:42:06 +01:00
windy
57fda60379 Fix all warning in x86 2021-08-17 23:24:32 +08:00
windy
4c465af036 Fix x86 optimizers, demo-tests:
```
:: After:
 | | Entry point VIP:       0x1337
 | | Stack pointer:         -0x8
 | | Already visited?:      N
 | | ------------------------
 | | 0000: [ PSEUDO ]     -0x8     movd     eax          0x1
 | | 0001: [ PSEUDO ]     -0x8     strd     $sp          -0x4         0x0
 | | 0002: [ PSEUDO ]     -0x8     strd     $sp          -0x8         0x1
 | | 0003: [ PSEUDO ]     -0x8     vpinrd   eax
 | | 0004: [ PSEUDO ]     -0x8     vexitq   0x0
```
2021-08-16 02:54:00 +08:00
Can Bölük
7e741095ab
Fixing a bug with calling conventions. 2020-12-06 18:29:37 +01:00
Can Bölük
8ce6834536 Fixing pathing logic. 2020-08-23 23:38:21 +02:00
Can Bölük
6e174a6492 Fixing access check logic for call conventions. 2020-08-23 07:42:42 +02:00
Can Bölük
0ec97f0c17 Fixing further bugs with test_access, improved access_details interface. 2020-08-23 07:07:11 +02:00
Can Bölük
af918e0d74 Fixing a major bug discarding second operation on identical operand. 2020-08-23 06:34:38 +02:00
Can Bölük
9995722ace Removing invalid filter. 2020-08-21 02:17:33 +02:00
Can Bölük
dcb18d4f5f Fixing typo. 2020-08-20 21:27:14 +02:00
Can Bölük
03ecd7a307 Added proper barriers, refactored access check logic a little bit. 2020-08-20 21:25:09 +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
a53a89671f Fixing pool alignment, removing cloning expression helpers. 2020-07-23 08:02:50 +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
853e84509a Started using is_constant_evaluated, asserts work in constexpr. 2020-07-17 08:43:41 +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
bc6dc89429 Prefer slow stack propagation for now, will be reworked soon. 2020-07-13 00:52:03 +02:00
Can Bölük
22fafcc956 Fixing is_lazy bug. 2020-07-12 20:20:41 +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
573ac3d94c Implemented more generic register packing. 2020-07-11 14:00:42 +02:00
Can Bölük
7fc4860272 Reworked aux::is_used using routine::enumerate. 2020-07-11 12:25:03 +02:00
Can Bölük
9cef750626 Implement path helpers to routine. 2020-07-11 07:12:12 +02:00
Can Bölük
b9effa2ac1 Symbolic pointers now store references, changed variant size. 2020-07-11 02:17:12 +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
02adad1ea7 Switching to inline const instruction definitions. 2020-06-26 00:24:11 +02:00
Can Bölük
c022ce986b Iterator now takes a pointer to the pathfinding cache instead of copying 2020-06-25 01:38:34 +02:00
Can Bölük
1a1572ad22 Implemented cached path exploration. 2020-06-23 07:15:33 +02:00
Can Bölük
1b214b45b8 Fixing reg_desc constructor. 2020-06-22 17:45:10 +02:00
Can Bölük
ff50c37656 Fixed for clang. 2020-06-22 17:16:59 +02:00
L33T
57207b40a1 ARM64 register details preview 2020-06-22 15:55:18 +03:00
Can Bölük
d89661a6a1 Fixed validate macro. 2020-06-22 04:10:25 +02:00
Can Bölük
472c0d6952 More informative assert failures. 2020-06-22 01:21:10 +02:00
Can Bölük
523d35d53c Implemented a way to fix unknown access when rtracing is allowed. 2020-06-21 01:30:21 +02:00
Can Bölük
b61b19bfd0 Further narrow cast fixes, implemented dassert. 2020-06-21 00:07:48 +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
ed86fbc41e Changed the way unknown return works. 2020-06-19 03:44:53 +02:00
Can Bölük
e05e654444 Fixed an uninitialised memory bug in the variable class. 2020-06-19 03:40:49 +02:00
Can Bölük
93bbf429b1 Fixed .accessed_by combined with LDR/STR. 2020-06-15 19:12:27 +02:00
Can Bölük
6fb618f42c Fixed minor logic mistakes. 2020-06-13 02:52:44 +02:00
Can Bölük
75e30639e1 Reg rename fixes. 2020-06-12 10:10:49 +02:00
Can Bölük
edf235835d Minor fix. 2020-06-11 21:34:23 +02:00
Can Bölük
6a15a00d28 Fixed stack purging logic. 2020-06-11 21:05:27 +02:00
Can Bölük
d36663e0ff Fixed stack trashing logic. 2020-06-11 18:50:11 +02:00
Can Bölük
f61a2f3951 Fixed a mov tracing bug and DCE invalidating simplifier cache. 2020-06-10 03:04:27 +02:00