Commit Graph

12 Commits

Author SHA1 Message Date
Ben Vanik
bba99d4a22 Refactoring to allow for raw binary loading. 2013-01-27 12:48:10 -08:00
Ben Vanik
dcb958de54 Adding better register tracking through locals and fixing branches.
LLVM does an amazing job of optimizing this. There are many opportunities
to make it better, too, by preventing spilling where not required or only
spilling/filling things when needed.
2013-01-25 00:32:42 -08:00
Ben Vanik
860a0739ec Adding gflags to handle command line flags.
It sucks, but is the best there is without using boost.
2013-01-23 21:31:23 -08:00
Ben Vanik
91f9e8b7bb Generating a lot of code!
Still a few missing instructions/variants and other issues, but a big and
valid LLVM module is being generated.
2013-01-22 00:22:27 -08:00
Ben Vanik
791f14182c Fixing a bunch of valgrind errors and reworking globals. 2013-01-21 14:31:59 -08:00
Ben Vanik
b91d550ef1 Adding instruction generation loop.
Not yet doing anything, but close.
2013-01-21 01:11:57 -08:00
Ben Vanik
25af5f410a Cleaning up the names in imports/functions. 2013-01-21 00:13:00 -08:00
Ben Vanik
68cc34bb79 Fixing up basic block targets and such. 2013-01-20 17:27:49 -08:00
Ben Vanik
852536ae0a Basic function analysis.
Finds basic blocks and estimates proper function bounds.
Seems legit for compiled code.
2013-01-20 16:46:08 -08:00
Ben Vanik
ca2908db32 Converting everything to C++ cause I'm a masochist. 2013-01-20 01:13:59 -08:00
Ben Vanik
c18e94c5be Fleshing out the symbol database.
Now detecting a lot of functions via method hints and generating stub
functions. A few holes (in the test xex), but enough to move forward with
codegen.
2013-01-17 23:18:09 -08:00
Ben Vanik
6c5432eb45 Symbol database skeleton. 2013-01-14 00:02:24 -08:00