source: liacs/coco/tests/optimize/register.p0@ 153

Last change on this file since 153 was 2, checked in by Rick van der Zwet, 15 years ago

Initial import of data of old repository ('data') worth keeping (e.g. tracking
means of URL access statistics)

File size: 1.7 KB
RevLine 
[2]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 }
5program register;
6
7
8function sum(a,b : integer) : integer;
9begin
10 sum := a + b
11end;
12
13procedure foo;
14var
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;
16begin
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)
74end;
75
76begin
77 foo
78end.
Note: See TracBrowser for help on using the repository browser.