Alon Zakai
|
490d55b399
|
properly outline the while (1) switch pattern
|
2013-09-06 21:56:41 -07:00 |
Alon Zakai
|
66b0df277f
|
fix outliner bug with checking when switch cases need to be joined
|
2013-08-27 11:57:19 -07:00 |
Alon Zakai
|
51278aa1eb
|
testcase for flattening of switches with cases that need to be kept together
|
2013-08-23 16:53:46 -07:00 |
Alon Zakai
|
7759fd4792
|
fix limit in outlining.flatten, and adjust to 1/4 of the outlining target
|
2013-08-13 17:33:02 -07:00 |
Alon Zakai
|
3adfd036d7
|
aim for more evenly-sized pieces in outliner
|
2013-08-09 17:19:33 -07:00 |
Alon Zakai
|
852bfa71be
|
sort spills and unspills in outliner
|
2013-08-09 16:30:13 -07:00 |
Alon Zakai
|
9987b9a039
|
flatten if-chains into smaller chains, chunking reduces the overhead of flattening them out entirely
|
2013-07-26 14:51:29 -07:00 |
Alon Zakai
|
068d558edc
|
fix bug in aggressive variable elimination and re-enable it
|
2013-07-25 19:56:24 -07:00 |
Alon Zakai
|
e618e710b7
|
disable aggressiveVariableElimination for now
|
2013-07-25 15:05:00 -07:00 |
Alon Zakai
|
6309dc12dc
|
do not outline sp assignments, because we need sp to perform an outline call
|
2013-07-25 13:00:53 -07:00 |
Alon Zakai
|
9aa1c31c71
|
flatten if chains in outliner, and be more careful to avoid outlining through an outline call
|
2013-07-24 20:06:54 -07:00 |
Alon Zakai
|
fe6cf455e3
|
use a separate stack location for control variable information for each outlined function, to avoid problems when outlining right through the support code for a previous outlining
|
2013-07-23 14:36:51 -07:00 |
Alon Zakai
|
b11c3d7d53
|
fix semantics of control variable handling in outlining: zero out when calling outlined funcitons, and right after using the value, so that we can handle nested outlined calls
|
2013-07-21 10:33:44 -07:00 |
Alon Zakai
|
91e447b1ad
|
use blocks in switch cases in outliner
|
2013-07-20 21:48:49 -07:00 |
Alon Zakai
|
94c3b3ce73
|
allow sp to be modified in outlined code, by changing the model to where outlined code returns sp (which also parallels that we sent it as the single parameter)
|
2013-07-20 21:15:29 -07:00 |
Alon Zakai
|
6e6807b4ce
|
wipe out control flow variable before calling outlined code
|
2013-07-18 18:44:33 -07:00 |
Alon Zakai
|
2ffa3a82fa
|
add coercions on return proxying in outliner
|
2013-07-18 16:26:26 -07:00 |
Alon Zakai
|
698b0c53eb
|
emit only necessary return proxying code when outlining
|
2013-07-18 16:20:40 -07:00 |
Alon Zakai
|
a1a7cb6031
|
send variables to outlines code even if just written; they may not be written to, and we would write a zero incorrectly
|
2013-07-18 16:08:26 -07:00 |
Alon Zakai
|
d45e687975
|
add asm coercions to switches for outlining
|
2013-07-17 18:18:53 -07:00 |
Alon Zakai
|
30a363191c
|
add asm coercions to ifs for outlining
|
2013-07-17 18:16:06 -07:00 |
Alon Zakai
|
7e8bd8bc10
|
add asm coercion when outlining
|
2013-07-17 17:27:35 -07:00 |
Alon Zakai
|
5955301625
|
do not emit illegal breaks in seqs when outlining
|
2013-07-17 16:45:32 -07:00 |
Alon Zakai
|
82f09254a7
|
do not overlap the normal C stack with outliner-spilled variables
|
2013-07-17 13:43:14 -07:00 |
Alon Zakai
|
50914ed6a3
|
update existing stack if there is one when outlining
|
2013-07-17 12:42:48 -07:00 |
Alon Zakai
|
9eaf060862
|
stack support in outlining
|
2013-07-17 12:11:00 -07:00 |
Alon Zakai
|
45568246cf
|
more testing
|
2013-07-17 11:10:35 -07:00 |
Alon Zakai
|
3ff94f3352
|
test for outlining of some of the functions
|
2013-07-17 11:03:46 -07:00 |
Alon Zakai
|
0f5e4bcdbf
|
add test for outlining variables
|
2013-07-17 11:01:03 -07:00 |
Alon Zakai
|
295b89e59b
|
test for forwarding variables to outlined code
|
2013-07-16 18:24:44 -07:00 |
Alon Zakai
|
105a967850
|
add test for not forwarding handled labeled break
|
2013-07-16 18:17:54 -07:00 |
Alon Zakai
|
33ea873c9f
|
fix labeled break/continue forwarding from outlined code
|
2013-07-16 18:14:49 -07:00 |
Alon Zakai
|
f09da648e3
|
add test for outlining of continue
|
2013-07-16 17:49:40 -07:00 |
Alon Zakai
|
f5f36712af
|
fix break forwarding in outlined code
|
2013-07-16 17:42:40 -07:00 |
Alon Zakai
|
b4d4833549
|
test for outlining a return
|
2013-07-16 16:46:06 -07:00 |
Alon Zakai
|
f2f45b8499
|
enable outline test and add a case for outlining in a while loop
|
2013-07-16 16:40:56 -07:00 |
Alon Zakai
|
438d0a5891
|
add smaller outline testcase
|
2013-07-16 16:24:37 -07:00 |