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