Commit Graph

96 Commits

Author SHA1 Message Date
Colton1skees b976d50e82 bunch of optimizations 2026-05-25 17:38:50 -04:00
Colton1skees 0660778e75 Converges in one iteration now 2026-05-25 14:41:40 -04:00
Colton1skees 90908aab6b Trying to optimize performance and fix a bunch of bugs at the same time 2026-05-25 13:22:57 -04:00
Colton1skees 99d8f88e80 Integrate peephole logic into combined fixedpoint pass 2026-05-23 19:06:19 -04:00
Colton1skees 3c9b5d4124 Extend adhoc instcombine pass with enough patterns to avoid invoking instcombine 90% of the time 2026-05-23 17:39:03 -04:00
Colton1skees a3b16abf40 works on really complicated sample 2026-05-22 17:36:32 -04:00
Colton1skees 29c9298f70 new instcombine peephole for vmp shifts 2026-05-22 17:31:50 -04:00
Colton1skees 88dcd0e28e Cache handlers; Concretize VIP at each instruction 2026-05-16 13:07:33 -04:00
Colton1skees d0b072d496 add support for VIP register swapping 2026-05-14 20:30:01 -04:00
Colton1skees 9686e6c68e fix bswap 2026-05-14 15:37:51 -04:00
Colton1skees 5e532a8f9a works on 3.8; todo: stop hardcoding bytecode register 2026-05-14 14:24:48 -04:00
Colton1skees 8f998dd5a4 what possibly could have broken 2026-05-14 13:53:21 -04:00
Colton1skees 86c0145a65 New handler lifting code at parity with old code 2026-05-14 11:40:01 -04:00
Colton1skees d0ab372e17 pattern matching over IR instead of assembly 2026-05-13 14:49:44 -04:00
Colton1skees 5fa40bd5a7 Get incremental additions to existing cfg working 2026-05-13 11:45:04 -04:00
Colton1skees d18cfc3f12 Start rewriting 2026-05-12 12:17:08 -04:00
Colton1skees 4f40510a82 it works 2026-05-06 15:56:18 -04:00
Colton1skees 8616639cca Fix case where I was failing to solve for branch destination 2026-05-06 15:43:29 -04:00
Colton1skees 2737bf4ca2 bug fix 2026-05-06 09:06:25 -04:00
Colton1skees 8276c65696 Improve multi use cloning pass; Only clone load indices and do cloning directly over LLVM IR instead of round tripping through my own AST data structure; Implemenet generic version of distributing select nodes in adhoc inst combine pass; 2026-05-06 08:59:31 -04:00
Duncan Ogilvie e1595bef32 Fix assertion using the wrong RemillArch for a module 2026-05-02 23:58:28 +02:00
Duncan Ogilvie 0c71152f69 Put artifacts in separate output folder 2026-05-02 23:56:59 +02:00
Colton1skees 43a850091c Push vmp devirt
Co-authored-by: name <37@cmail.nu>
2025-03-29 19:08:17 -04:00
Colton1skees c1a05a7591 Finish upgrade to LLVM17; Push the rest of the recompilation code; Modify LLVMSharp to use our re-exported LLVM-C api; Upgrade from .NET 7 to .NET 8; Fix some recompilation bugs; 2024-10-07 17:56:04 -04:00
Colton1skees df10a6d86e Add managed bindings for Remill and Souper; Upgrade to LLVM 17; Implement iterative control flow graph reconstruction, jump table solving, and recompilation; Many other changes 2024-09-27 07:01:01 -04:00
Colton1skees ee9d11f5eb clean up readme 2023-04-18 05:02:50 -05:00
Colton1skees 757bbdbc26 Benchmark performance 2023-04-18 04:57:27 -05:00
Colton1skees 2fa792213a Performance benchmarking 2023-04-05 22:42:47 -05:00
Colton1skees 4b9c3887d8 archive changes before testing new vm 2023-04-03 02:12:12 -05:00
Colton1skees f892c7d45d proper constant concretization 2023-04-01 23:27:26 -05:00
Colton1skees 6c49a4a6cb New constant concretization pass 2023-04-01 19:34:02 -05:00
Colton1skees 9dffaa96af Managed API for MemorySSA 2023-04-01 17:24:26 -05:00
Colton1skees 975971297e Managed loop API 2023-03-31 21:58:13 -05:00
Colton1skees 6c593da407 .NET LLVM pass for structuring control flow 2023-03-31 17:06:05 -05:00
Colton1skees dce946ae0b Managed LLVM bindings 2023-03-30 17:21:40 -05:00
Colton1skees 7dfac1071f structuring 2023-03-29 21:22:22 -05:00
Colton1skees aee2bf8752 Loop analysis 2023-03-28 17:51:17 -05:00
Colton1skees 322c326c9b troubleshooting 2023-03-28 13:04:02 -05:00
Colton1skees ca4d74db95 pattern match loop using alias analysis 2023-03-27 20:54:31 -05:00
Colton1skees c02e7a068b Upgrade LLVM 2023-03-27 19:06:13 -05:00
Colton1skees edd2b90ab4 pipeline troubleshooting 2023-03-27 16:42:16 -05:00
Colton1skees dba8e698a8 Troubleshooting 2023-03-27 11:33:57 -05:00
Colton1skees 3858106963 constant concretization troubleshooting 2023-03-26 15:06:26 -05:00
Colton1skees 14cc9a0da0 optimization 2023-03-25 22:06:29 -05:00
Colton1skees 6fae22cf43 cfg exploration 2023-03-25 19:54:13 -05:00
Colton1skees 2e977efc29 constant concretization 2023-03-25 18:57:31 -05:00
Colton1skees 2422cc6987 correct alias analysis 2023-03-25 16:59:19 -05:00
Colton1skees 96ff2f0386 Add helper routine for compiling & loading executables into IDA 2023-03-25 13:13:22 -05:00
Colton1skees 3f9eb3fc75 Refactoring 2023-03-25 10:46:54 -05:00
Colton1skees 4282f28b51 add goto free decompiler 2023-03-24 19:53:18 -05:00