Commit graph

1219 commits

Author SHA1 Message Date
Quentin Carbonneaux
8aa8070248 simplify spiller
It seems that this logic of shuffling stuff around
between blocks should be handled by the register
allocator instead: it *will* have to shuffle
between registers, so we might as well mix some
spill locations in.
2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
b6633a13bc finish spiller, now needs testing! 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
48f90356e0 new euclidean division test 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
5bd9deac8d add more printing support 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
e3356b23d5 standardize error message 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
f938fccd2b factor some spilling logic 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
da652b93f3 comment and fix if(BSET(..)) bug 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
5ac9fbd8e4 new spill test 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
36da4b30cc test isel 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
df0836e475 isel logic was moved to spill 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
2981a267f4 add slot addressing and some more spilling 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
ea811ab7c2 add simple spill test 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
49130f9edd prepare for block processing 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
abdcbe845a this makefile fu was useless 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
ee961fb487 always preserve last build 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
eb1df2b81e refine assertion in cost computation 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
4f4d4cce6f rework spilling code for jump arguments 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
0d1595c770 refine precision of loop use sets 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
2a4fbbc6e0 move some debug output out of main 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
7202c7dedf simplify tests for hd 2015-09-15 23:01:29 -04:00
Quentin Carbonneaux
1891a810e8 nicer debug, bug fixed in loop detection 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
58c314eeaf cosmetics 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
b35a7d2acd alt.ssa was in buggy ssa form 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
890c0ada0e attempt to fix loop uses/pressure in spill 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
5ad565e299 improve output, add debug array 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
bb2541693e correct phi usage accounting 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
6e8e6d3368 show more spilling data 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
037c1bf141 simplifications 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
a6168e6ed5 attempt more correct loop marking 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
3538e769a7 add a live-through temporary to test alt 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
4f9a5df76b more testing code 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
7f8a6d025c test code for the spiller 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
595ad96a34 cosmetics 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
8165e327e0 start working with loops in spill.c 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
0f0ee0466e rework liveness to compute reg pressure 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
7be3711bb6 add pressure in left block of alt.ssa 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
18cdbc1e7d add fun example! 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
226bbb5b71 fix some instruction emitting code 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
73add5daae start work on spiller 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
32cb8d315a define curi as a global too 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
186e68a8d3 single bit bitfield needs to be unsigned 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
bba9cf47c9 fix small type issues 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
a244ca17f1 start simple work on isel 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
a280eb6597 export error functions 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
e5a7482b54 rename mod to rem 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
c16532b9b0 remove useless typedefs 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
9ecfdf6334 cosmetics 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
77bdb3ae9e move main function out of parse.c 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
7295adcade fix allocation bug 2015-09-15 23:01:28 -04:00
Quentin Carbonneaux
9b2823a9f4 simplify liveness 2015-09-15 23:01:28 -04:00