source:
liacs/coco/tests/optimize/register.p0@
89
Last change on this file since 89 was 2, checked in by , 15 years ago | |
---|---|
File size: 1.7 KB |
Line | |
---|---|
1 | { De procedure foo is een leaf-functie, alle lokale parameters kunnen daarom |
2 | in registers worden gestopt. Vanwege de vrij korte levensduur van de meeste |
3 | hoeven dit niet eens veel registers te zijn. Dit is echter een pittige |
4 | optimalisatie, verspil dus niet te veel tijd hierop } |
5 | program register; |
6 | |
7 | |
8 | function sum(a,b : integer) : integer; |
9 | begin |
10 | sum := a + b |
11 | end; |
12 | |
13 | procedure foo; |
14 | var |
15 | totaal,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z : integer; |
16 | begin |
17 | totaal := sum(0,0); |
18 | a := 1; |
19 | totaal := sum(totaal,a); |
20 | b := 2; |
21 | totaal := sum(totaal,b); |
22 | c := 3; |
23 | totaal := sum(totaal,c); |
24 | d := 4; |
25 | totaal := sum(totaal,d); |
26 | e := 5; |
27 | totaal := sum(totaal,e); |
28 | f := 6; |
29 | totaal := sum(totaal,f); |
30 | g := 7; |
31 | totaal := sum(totaal,g); |
32 | h := 8; |
33 | totaal := sum(totaal,h); |
34 | i := 9; |
35 | totaal := sum(totaal,i); |
36 | j := 10; |
37 | totaal := sum(totaal,j); |
38 | k := 12; |
39 | totaal := sum(totaal,k); |
40 | l := 14; |
41 | totaal := sum(totaal,l); |
42 | m := 16; |
43 | totaal := sum(totaal,m); |
44 | n := 18; |
45 | totaal := sum(totaal,n); |
46 | o := 22; |
47 | totaal := sum(totaal,o); |
48 | p := 23; |
49 | totaal := sum(totaal,p); |
50 | q := 24; |
51 | totaal := sum(totaal,q); |
52 | r := 25; |
53 | totaal := sum(totaal,r); |
54 | s := 26; |
55 | totaal := sum(totaal,s); |
56 | t := 27; |
57 | totaal := sum(totaal,t); |
58 | u := 28; |
59 | totaal := sum(totaal,u); |
60 | v := 29; |
61 | totaal := sum(totaal,v); |
62 | w := 30; |
63 | totaal := sum(totaal,w); |
64 | x := 40; |
65 | totaal := sum(totaal,x); |
66 | y := 42; |
67 | totaal := sum(totaal,y); |
68 | z := 44; |
69 | totaal := sum(totaal,z); |
70 | totaal := sum(totaal,a); |
71 | totaal := sum(totaal,k); |
72 | |
73 | writeinteger(totaal) |
74 | end; |
75 | |
76 | begin |
77 | foo |
78 | end. |
Note:
See TracBrowser
for help on using the repository browser.