Line | |
---|
1 | 1. problema generale: cost analysis at source level because... |
---|
2 | 2. problema specifico: indurre cost model sul sorgente |
---|
3 | 3. idea generale (labelling approach citato) |
---|
4 | costo assembly = big_sum costo(basic block) |
---|
5 | assunzione1: compilazione basic-block preserving |
---|
6 | (citare lavoro sui loop) |
---|
7 | assunzione2: costo basic blocks determinabile staticamente |
---|
8 | (citare lavoro sull'hardware) |
---|
9 | quindi: costo C = big_sum cost(basic block) = costo assembly |
---|
10 | |
---|
11 | 4. problemi |
---|
12 | a) label emitting instructions: |
---|
13 | una istruzione con due predecessori di cui uno if-then-else |
---|
14 | compilabile solo come sequenza => impossibile da compilare |
---|
15 | |
---|
16 | soluzione: gli archi determinano i costi e non i nodi |
---|
17 | |
---|
18 | b) chiamate di funzione e linguaggi non strutturati |
---|
19 | |
---|
20 | soluzione: tracce strutturate |
---|
21 | |
---|
22 | [c) hardware: funzione di costo non commutativa => una label dopo ogni |
---|
23 | chiamata; ma difficile ragionarci sopra nel caso di costo commutativo |
---|
24 | |
---|
25 | soluzione: passata che mette le post-label |
---|
26 | ] |
---|
27 | |
---|
28 | 5. sugo: |
---|
29 | |
---|
30 | 1. prova della passata che mette le post-label (work in progress, why |
---|
31 | SOS is hard) |
---|
32 | |
---|
33 | 2. predicato di simulazione fra tracce strutturate + prova che tale |
---|
34 | simulazione dimostra la preservazione dei costi |
---|
35 | |
---|
36 | 3. prova della statico-dinamica: vedi cerco, certificata dal fatto di usare |
---|
37 | solo chiamate post-label |
---|
Note: See
TracBrowser
for help on using the repository browser.