Commit graph

558 commits

Author SHA1 Message Date
Quentin Carbonneaux
a07c6e10f5 fix minor bug in rega
The detection of empty permutations was incorrect
since the changes made to the vector routines.
2015-10-08 23:02:19 -04:00
Quentin Carbonneaux
2642ff022c improve debug output 2015-10-08 22:05:30 -04:00
Quentin Carbonneaux
e53054c076 allow multiple functions in file 2015-10-08 22:02:32 -04:00
Quentin Carbonneaux
b5d98b762f use DEnd for strings too 2015-10-08 17:59:01 -04:00
Quentin Carbonneaux
25f7bc06e3 emit alignment directives properly 2015-10-08 14:49:00 -04:00
Quentin Carbonneaux
bf3e6753f3 rename ealloc to emalloc 2015-10-08 14:05:13 -04:00
Quentin Carbonneaux
2205930c37 store the byte array in max.ssa 2015-10-07 22:32:58 -04:00
Quentin Carbonneaux
fb423f749c finish implementing data parsing 2015-10-07 22:26:13 -04:00
Quentin Carbonneaux
b93b0d2902 start work on parsing data blocks 2015-10-07 18:30:19 -04:00
Quentin Carbonneaux
01c1734e42 uh oh, typo bug in freeall() 2015-10-06 23:32:44 -04:00
Quentin Carbonneaux
72fc455978 add pool memory management 2015-10-06 22:51:51 -04:00
Quentin Carbonneaux
99ad19546d use new vector functions instead of reallocs 2015-10-06 20:42:54 -04:00
Quentin Carbonneaux
1f61873799 split long line in idup 2015-10-06 13:25:28 -04:00
Quentin Carbonneaux
1f7acbd88f specialize vdup into idup 2015-10-06 13:22:46 -04:00
Quentin Carbonneaux
ce72ad0ecd factor ins array edition in icpy 2015-10-06 13:17:20 -04:00
Quentin Carbonneaux
a83174f447 factor vector duplication in vdup() 2015-10-05 21:38:55 -04:00
Quentin Carbonneaux
60aacea0c3 rename blocka to balloc 2015-10-05 17:34:26 -04:00
Quentin Carbonneaux
2d8b7a6baf remove useless ntyp in util.c 2015-10-05 17:32:35 -04:00
Quentin Carbonneaux
bc9233d278 implement popcnt with a simple loop 2015-10-05 17:30:47 -04:00
Quentin Carbonneaux
e30fab31e1 factor some utility functions/data in util.c 2015-10-05 17:24:19 -04:00
Quentin Carbonneaux
cb4d738c36 fix debug output of liveness 2015-10-05 16:14:07 -04:00
Quentin Carbonneaux
a18e0ef50f clean the command line interface 2015-10-05 15:57:04 -04:00
Quentin Carbonneaux
a5428d33e1 remove example file 2015-10-04 22:54:07 -04:00
Quentin Carbonneaux
5b583f0f1b add gitignore to minic/ 2015-10-04 22:53:47 -04:00
Quentin Carbonneaux
4eb54dc750 support unary minus 2015-10-04 21:08:57 -04:00
Quentin Carbonneaux
ae38614f94 add post {in,de}crement support + fix grammar 2015-10-04 21:01:56 -04:00
Quentin Carbonneaux
47dcf86f19 update test to new syntax 2015-10-04 15:19:05 -04:00
Quentin Carbonneaux
6b3cbe2e83 parse functions in minic 2015-10-04 15:18:27 -04:00
Quentin Carbonneaux
4beee73fd3 update miniyacc 2015-10-04 15:17:58 -04:00
Quentin Carbonneaux
5b8b78f2f1 == and != do not consider signs 2015-10-03 11:38:28 -04:00
Quentin Carbonneaux
04ed7f56aa minor bug in case While 2015-10-02 15:46:24 -04:00
Quentin Carbonneaux
d1c348bf15 oops, stupid swap in a printf 2015-10-02 15:36:51 -04:00
Quentin Carbonneaux
30eced928c start an example compiler for a subset of C 2015-10-02 15:34:38 -04:00
Quentin Carbonneaux
ecaad8119f fix a bug for structure arguments in regs 2015-10-01 13:20:21 -04:00
Quentin Carbonneaux
3ef2693154 support negative frame offsets in emit
They are used to access function parameters passed
on the stack.
2015-10-01 13:19:09 -04:00
Quentin Carbonneaux
2d5c07fa4e remove dead assignment 2015-09-30 11:48:50 -04:00
Quentin Carbonneaux
94597f72d9 finalize the new slot system
There is still the issue that spill is set to
-1 to mark the absence of slot, it does not
play well with zero-initialization at all.
2015-09-30 11:26:59 -04:00
Quentin Carbonneaux
fa298cc9e1 use more machine registers 2015-09-30 11:25:43 -04:00
Quentin Carbonneaux
7333826bce uniformize alignment code in framesz() 2015-09-30 11:25:18 -04:00
Quentin Carbonneaux
790f852b96 fix two invalid Tmp.spill values 2015-09-30 10:34:52 -04:00
Quentin Carbonneaux
e2174da2f1 wip on new stack slots (emit, spill) 2015-09-29 22:25:49 -04:00
Quentin Carbonneaux
ae158a5c40 more fixes for the new slot representation 2015-09-29 17:40:47 -04:00
Quentin Carbonneaux
5e5d0a1e99 wip on a simpler slot handling 2015-09-29 17:25:04 -04:00
Quentin Carbonneaux
fdbff25a61 stupid hinting works better without traces! 2015-09-28 11:36:36 -04:00
Quentin Carbonneaux
538e3aff7f compute reg interferences in filllive() 2015-09-27 20:31:07 -04:00
Quentin Carbonneaux
2273d22ced do not merge phi classes of interfering temps 2015-09-26 16:34:18 -04:00
Quentin Carbonneaux
aa9dc34399 move the liveon() function in live.c 2015-09-26 16:33:29 -04:00
Quentin Carbonneaux
e80b84ebdb fresh new trace based allocator (needs tuning) 2015-09-25 16:19:03 -04:00
Quentin Carbonneaux
03d5ec674a prepare rega for trace-based allocation 2015-09-25 13:03:39 -04:00
Quentin Carbonneaux
f3bd48945e add union-find based phi-class computation 2015-09-25 13:02:44 -04:00