Commit graph

95 commits

Author SHA1 Message Date
dword64
0c2e3e122e updated pe parsing, split operators, update docs 2026-04-05 00:02:58 +02:00
windy
34f5502b0b fix https://github.com/vtil-project/VTIL-Core/issues/74 2022-07-13 13:35:18 +08:00
windy
b92c3f736f make compatible (x86) 2022-01-14 12:48:12 +01:00
Duncan Ogilvie
c658914c53 Fix compilation on GCC 11.1 2022-01-10 22:08:33 +01:00
windy
566d2a998c Fix constexpr compile error 2021-08-18 22:05:41 +08: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
Peter Meerwald-Stadler
74134a8f56 Use C++-style include cstdint 2021-02-10 23:20:09 +01:00
Duncan Ogilvie
9c56d906fd Add implicit conversion from enum in register_desc 2020-11-16 03:22:49 +01: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
fb8f1340be Fixing constexpr-ness of regid weakening. 2020-08-16 00:17:06 +02:00
Can Bölük
305c2a764d Don't use combined_id in constexpr functions to avoid union cast. 2020-08-16 00:15:36 +02:00
Can Bölük
b4a6926c83 Minor fixes. 2020-07-31 19:10:18 +02:00
Can Bölük
dc17689ee0 Implemented vtil::bit_cast, constexpr hashing and reduction. 2020-07-31 15:12:10 +02:00
Can Bölük
1cc352a0eb Implemented magic enum namer. 2020-07-31 06:42:20 +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
fddaf47868 Making operand constexpr. 2020-07-28 09:06:25 +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
d65e34f03e Implemented register resize/rebase, reworking alias analysis... 2020-07-22 05:46:43 +02:00
Can Bölük
557e294b12 Minor changes to weak identifiers, changed dassert to not eval either. 2020-07-22 04:10:46 +02:00
Can Bölük
d8424afca3 Added reg_desc::weak_id, minor changes. 2020-07-20 00:23:23 +02:00
Can Bölük
26443c33ad Converted the constexpr array into an auto-xref tracking map. 2020-07-17 16:33:24 +02:00
Can Bölük
39914c5a7f Add fence aliases, try fixing for clang #2. 2020-07-17 09:34:04 +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
988e320392 Implemented a common trilean and noted special uses of vpin in final opt 2020-07-15 02:00:05 +02:00
Can Bölük
4112768b06 register_desc and their details are now constexpr. 2020-07-12 05:22:26 +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
87e25deed9 Initial implementation of the optimization validation pass. 2020-06-29 03:30:33 +02:00
Can Bölük
be0998c7da Completed basic ARM64 implementation. 2020-06-26 06:52:08 +02:00
Can Bölük
0e0f349255 Fixing static init order bug. 2020-06-26 00:32:20 +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
d032444a6b Implemented bitscan. 2020-06-23 04:55:03 +02:00
Can Bölük
84b8852bf3 Implemented lowering of urem udiv umul. 2020-06-23 04:27:03 +02:00
Can Bölük
c61a6d2072 Fix bit/byte mismatch. 2020-06-22 22:04:31 +02:00
Can Bölük
e315c1449a Auto conversion into REG_SP and REG_FLAGS for both platforms. 2020-06-22 22:01:11 +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
Can Bölük
4fdb65b835 Removed redundant namespaces, implemented default register_cast from cs. 2020-06-22 16:59:27 +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
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
136d3f42f7 Minor fixes to ISA and added console color support. 2020-06-16 22:57:19 +02:00
Can Bölük
d9275285a2 Fixed typo. 2020-06-16 20:21:15 +02:00
Can Bölük
f33450a12d Fixed js branch operands. 2020-06-15 22:53:05 +02:00
Can Bölük
94eec2119b Fixing size_t usage for MacOS compilers. 2020-06-15 22:30:56 +02:00
Can Bölük
7fc98a17ee Implemented branch correction. 2020-06-15 16:07:13 +02:00
Can Bölük
f0b4112c3f Implemented operand::bit_count. 2020-06-13 08:26:31 +02:00
Can Bölük
0aed6d219e Branches are no longed considered volatile instructions. 2020-05-29 22:50:29 +02:00