Commit Graph

32 Commits

Author SHA1 Message Date
Ben Vanik
b0034f3b4d Fix cntlz. 2014-05-27 15:15:52 -07:00
Ben Vanik
5a85263e5f Trying out a new style of JIT pattern matching. 2014-05-26 20:28:21 -07:00
Ben Vanik
1bb0b08a14 Fixing WIN32 build. 2014-05-21 10:38:41 -07:00
Anthony Pesch
f01609c5aa replace usage of itoa with snprintf 2014-05-14 00:39:47 -07:00
Anthony Pesch
60a7e79e1a assume c++11
clang didn't like static members in anonymous structures, gave them names
WriteEvent template wouldn't resolve for temporary values without const decl in clang
added a few missing headers
added -fno-operator-names for xbyak compilation under gcc/clang
2014-05-14 00:35:21 -07:00
Ben Vanik
9a2d99d652 Fixing CFA. 2014-03-28 20:39:21 -07:00
Ben Vanik
74c9df6697 Re-enabling x64 backend, fixing many bugs. 2014-02-10 23:24:46 -08:00
Ben Vanik
4a584129d2 A probably-working register allocator. 2014-02-10 21:16:38 -08:00
Ben Vanik
6bd214af0b Adding a shared scratch arena for compiler passes. 2014-02-08 22:01:51 -08:00
Ben Vanik
bca349b302 Oh my. Basic CFA/DFA, local variable support, misc fixes, etc. 2014-02-02 00:33:57 -08:00
Ben Vanik
465c3a41dd Hacking. 2014-01-28 00:19:05 -08:00
Ben Vanik
c74f35552a (air quotes) "register allocation" without spills. 2014-01-25 23:36:59 -08:00
Ben Vanik
c4d6c7a526 Reducing value count. IVM could take advantage of this. 2014-01-25 22:47:21 -08:00
Ben Vanik
05432242ff Removing block continuation branches. 2014-01-25 21:35:59 -08:00
Ben Vanik
0cca23cdd7 Source map in DebugInfo. IVM needs to port its stuff over eventually. 2014-01-25 21:20:28 -08:00
Ben Vanik
4609339c5a JIT hackery. Not quite working. 2014-01-25 20:30:41 -08:00
Ben Vanik
8ae6053d0f Deleting LIR and such, wiring up for HIR->x64. 2014-01-24 22:26:15 -08:00
Ben Vanik
50587974b5 Not sure why I thought I could do this. 2014-01-14 00:39:31 -08:00
Ben Vanik
e7a31c78bf Simplifying byteswap(byteswap(a)) to a. 2014-01-08 18:47:39 -08:00
Ben Vanik
d1528e24bb Removing REM, adding MUL_HI, renaming MULADD/MULSUB. 2014-01-06 22:17:49 -08:00
Ben Vanik
e362a65189 Simplification pass handles redundant truncate/extend & extend/truncate. 2014-01-04 11:56:32 -08:00
Ben Vanik
4db1b13e98 DCE pass removes assigns. 2014-01-04 11:56:05 -08:00
Ben Vanik
3d01efffac LIR skeleton, renaming some types to prevent conflict. 2013-12-29 14:28:46 -08:00
Ben Vanik
abc5aac7ee Removing unused code, via jdarpinian. 2013-12-25 20:57:07 -08:00
Ben Vanik
f2348301ea More aggressive constant propagation pass. 2013-12-15 14:40:18 -08:00
Ben Vanik
e5d867a92f Removing comments. 2013-12-07 06:29:58 -08:00
Ben Vanik
3b268f07ef Basic constant propagation. 2013-12-07 05:52:51 -08:00
Ben Vanik
57432d5996 Making ContextPromotion actually remove dead stores. 2013-12-07 04:57:37 -08:00
Ben Vanik
329b554c7a Basic ContextPromotionPass and some opcode info rearranging. 2013-12-07 04:39:48 -08:00
Ben Vanik
51d0be0f0a Basic DCE pass. 2013-12-07 02:18:26 -08:00
Ben Vanik
c2113c116d Starting compiler work. Adding pass TODOs. 2013-12-07 01:36:13 -08:00
Ben Vanik
fdb6a5cfa3 Initial Alloy implementation.
This is a regression in functionality and performance, but a much better
foundation for the future of the project (I think). It can run basic
apps under an SSA interpreter but doesn't support some of the features
required to do real 360 apps yet.
2013-12-06 22:57:16 -08:00