Commit Graph

12 Commits

Author SHA1 Message Date
Peter Goodman 4a3307bc6c Got all BITBYTE instructions and tests working. 2016-08-08 17:05:43 -04:00
yan 3f815efcbd Rename all references from mcsema2 to remill 2016-06-23 11:39:36 -04:00
Peter Goodman fb5ac1bd6c Very early FPU support. Changes to libOptimize. Added a libFinalize and a scripts/finalize_bitcode.sh to get around the issue of LLVM and dead arg elimination. This is annoying because I had to use the Naked attribute on all functions, but then this affects codegen, so the finalize step is needed to make sure that code is correctly compiled. 2016-04-08 16:35:48 -04:00
Peter Goodman e2ef455ddf Minor fix to the register analysis that treats conditional writes as reads (I assumed there was a read operand in there), as it's an implicit data dependency and otherwise introduces undef values. 2016-03-08 20:13:06 -05:00
Peter Goodman 2bf82421f7 Fiddling with interrupt state. Need a vector value, and also needed extra State structure padding. Added -lowerswitch to optimize_bitcode.sh 2016-02-18 17:36:45 -05:00
Peter Goodman 09d71cada2 Improved flags analysis. Move the undefined optimization out into the plugin. Still have an issue where dead-store elimination is not happening :-( 2016-02-03 12:24:34 -05:00
Peter Goodman 5742f219e7 Minor fix. 2016-02-02 23:07:10 -05:00
Peter Goodman 24cc36e9e0 Tried to clean up a bit of code. Maybe didn't success so much. Added the beginnings of a data-flow analysis pass. It very aggressively marks condition codes as dead. Next step is to augment it to handle registers. 2016-02-02 22:46:23 -05:00
Peter Goodman c98dfd7b51 Minor tweaks 2016-01-28 12:40:46 -05:00
Peter Goodman 80adf5e085 Compiling is working on Linux. 2016-01-17 20:47:23 -05:00
Peter Goodman 9b3be033a2 Made it so that the test cases exercise the instruction with the flags zeroed and with the flags set. 2015-12-20 17:47:16 -05:00
Peter Goodman 5b955b358d Implemented inline deferral optimization. Enabled the optimization on the test case builds. Modified cmake to explicitly include LLVM; hopefully that works on macs. 2015-12-17 19:11:02 -05:00