|
|
1.1 root 1: .set reorder
2: .globl codehead
3: .data; .align 2; codehead:.word 0x6
4: .space 44
5: .globl codelist
6: .sdata; .align 2; codelist:.word codehead
7: .text
8: .globl addlocal
9: .text
10: .align 2; .ent addlocal
11: addlocal:
12: $fp1=24
13: .frame $sp,24,$31
14: addu $sp,$sp,-24
15: .mask 0x80000000,-8
16: sw $31,16($sp)
17: sw $4,24($sp)
18: lw $25,$fp1+0($sp)
19: lw $25,32($25)
20: and $25,$25,0x80000000
21: bne $25,$0,L.24
22: li $4,2
23: jal code # int
24: move $25,$2
25: lw $24,$fp1+0($sp)
26: sw $24,12($25)
27: lw $25,$fp1+0($sp)
28: lw $24,32($25)
29: or $24,$24,0x80000000
30: sw $24,32($25)
31: lw $25,$fp1+0($sp)
32: lw $24,level
33: sh $24,28($25)
34: L.24:
35: L.23:
36: lw $31,16($sp)
37: addu $sp,$sp,24
38: j $31
39: .end addlocal
40: .globl btot
41: .text
42: .align 2; .ent btot
43: btot:
44: $fp2=24
45: .frame $sp,24,$31
46: addu $sp,$sp,-24
47: .mask 0xc0000000,-4
48: sw $30,16($sp)
49: sw $31,20($sp)
50: sw $4,24($sp)
51: lw $25,$fp2+0($sp)
52: and $30,$25,15
53: blt $30,1,L.27
54: bgt $30,7,L.27
55: sll $25,$30,2
56: lw $25,L.40-4($25)
57: j $25
58: L.40:
59: .align 2; .word L.30
60: .align 2; .word L.31
61: .align 2; .word L.32
62: .align 2; .word L.33
63: .align 2; .word L.34
64: .align 2; .word L.35
65: .align 2; .word L.36
66: L.30:
67: lw $2,floattype
68: b L.26
69: L.31:
70: lw $2,doubletype
71: b L.26
72: L.32:
73: lw $2,chartype
74: b L.26
75: L.33:
76: lw $2,shorttype
77: b L.26
78: L.34:
79: lw $2,inttype
80: b L.26
81: L.35:
82: lw $2,unsignedtype
83: b L.26
84: L.36:
85: lw $2,voidptype
86: b L.26
87: L.27:
88: la $4,L.37
89: la $5,L.38
90: li $6,46
91: jal fatal # int
92: move $2,$0
93: L.26:
94: lw $30,16($sp)
95: lw $31,20($sp)
96: addu $sp,$sp,24
97: j $31
98: .end btot
99: .globl code
100: .text
101: .align 2; .ent code
102: code:
103: $fp3=32
104: .frame $sp,32,$31
105: addu $sp,$sp,-32
106: .mask 0xc0800000,-8
107: sw $23,16($sp)
108: sw $30,20($sp)
109: sw $31,24($sp)
110: sw $4,32($sp)
111: lw $25,$fp3+0($sp)
112: ble $25,5,L.43
113: lw $30,codelist
114: b L.48
115: L.45:
116: lw $30,4($30)
117: L.46:
118: L.48:
119: lw $25,($30)
120: blt $25,5,L.45
121: lw $25,($30)
122: bne $25,9,L.49
123: la $4,L.51
124: jal warning # int
125: L.49:
126: L.43:
127: lw $25,transient
128: li $24,48
129: sw $24,($25)
130: lw $25,transient
131: lw $24,($25)
132: lw $15,4($25)
133: addu $24,$24,$15
134: lw $25,8($25)
135: bltu $24,$25,L.53
136: lw $25,transient
137: lw $4,($25)
138: la $5,transient
139: jal allocate # int
140: move $23,$2
141: b L.54
142: L.53:
143: lw $25,transient
144: lw $24,($25)
145: lw $15,4($25)
146: addu $24,$24,$15
147: sw $24,4($25)
148: lw $25,transient
149: lw $24,4($25)
150: lw $25,($25)
151: subu $23,$24,$25
152: L.54:
153: move $30,$23
154: lw $25,$fp3+0($sp)
155: sw $25,($30)
156: lw $25,codelist
157: sw $25,4($30)
158: sw $0,8($30)
159: lw $25,codelist
160: sw $30,8($25)
161: sw $30,codelist
162: move $2,$30
163: L.42:
164: lw $23,16($sp)
165: lw $30,20($sp)
166: lw $31,24($sp)
167: addu $sp,$sp,32
168: j $31
169: .end code
170: .text
171: .align 2; .ent dagnode
172: dagnode:
173: $fp4=32
174: .frame $sp,32,$31
175: addu $sp,$sp,-32
176: .mask 0xc0c00000,-4
177: sw $22,16($sp)
178: sw $23,20($sp)
179: sw $30,24($sp)
180: sw $31,28($sp)
181: sw $4,32($sp)
182: sw $5,36($sp)
183: sw $6,40($sp)
184: sw $7,44($sp)
185: lw $25,transient
186: li $24,88
187: sw $24,($25)
188: lw $25,transient
189: lw $24,($25)
190: lw $15,4($25)
191: addu $24,$24,$15
192: lw $25,8($25)
193: bltu $24,$25,L.57
194: lw $25,transient
195: lw $4,($25)
196: la $5,transient
197: jal allocate # int
198: move $23,$2
199: b L.58
200: L.57:
201: lw $25,transient
202: lw $24,($25)
203: lw $15,4($25)
204: addu $24,$24,$15
205: sw $24,4($25)
206: lw $25,transient
207: lw $24,4($25)
208: lw $25,($25)
209: subu $23,$24,$25
210: L.58:
211: move $30,$23
212: move $23,$30
213: addu $22,$23,64
214: b L.62
215: L.59:
216: sw $0,28($23)
217: sw $0,24($23)
218: sw $0,20($23)
219: sw $0,16($23)
220: sw $0,12($23)
221: sw $0,8($23)
222: sw $0,4($23)
223: sw $0,($23)
224: L.60:
225: addu $23,$23,32
226: L.62:
227: bltu $23,$22,L.59
228: sw $0,($23)
229: sw $0,4($23)
230: sw $0,8($23)
231: sw $0,12($23)
232: sw $0,16($23)
233: lw $25,$fp4+0($sp)
234: sw $25,($30)
235: lw $25,$fp4+4($sp)
236: sw $25,24($30)
237: beq $25,$0,L.63
238: lw $25,$fp4+4($sp)
239: lh $24,4($25)
240: addu $24,$24,1
241: sh $24,4($25)
242: L.63:
243: lw $25,$fp4+8($sp)
244: sw $25,28($30)
245: beq $25,$0,L.65
246: lw $25,$fp4+8($sp)
247: lh $24,4($25)
248: addu $24,$24,1
249: sh $24,4($25)
250: L.65:
251: lw $25,$fp4+12($sp)
252: sw $25,8($30)
253: move $2,$30
254: L.55:
255: lw $22,16($sp)
256: lw $23,20($sp)
257: lw $30,24($sp)
258: lw $31,28($sp)
259: addu $sp,$sp,32
260: j $31
261: .end dagnode
262: .globl emitcode
263: .text
264: .align 2; .ent emitcode
265: emitcode:
266: $fp5=48
267: .frame $sp,48,$31
268: addu $sp,$sp,-48
269: .mask 0xc0f00000,-12
270: sw $20,16($sp)
271: sw $21,20($sp)
272: sw $22,24($sp)
273: sw $23,28($sp)
274: sw $30,32($sp)
275: sw $31,36($sp)
276: la $25,$fp5-8($sp)
277: la $24,src
278: lw $2,0($24)
279: lw $3,4($24)
280: sw $2,0($25)
281: sw $3,4($25)
282: move $23,$0
283: la $30,codehead
284: b L.71
285: L.68:
286: lw $22,($30)
287: blt $22,$0,L.72
288: bgt $22,10,L.72
289: sll $25,$22,2
290: lw $25,L.100($25)
291: j $25
292: L.100:
293: .align 2; .word L.75
294: .align 2; .word L.78
295: .align 2; .word L.81
296: .align 2; .word L.72
297: .align 2; .word L.84
298: .align 2; .word L.90
299: .align 2; .word L.72
300: .align 2; .word L.72
301: .align 2; .word L.90
302: .align 2; .word L.87
303: .align 2; .word L.91
304: L.75:
305: sw $23,12($30)
306: move $23,$30
307: lw $25,glevel
308: beq $25,$0,L.73
309: lw $25,IR
310: lw $25,104($25)
311: beq $25,$0,L.73
312: li $4,123
313: lh $25,18($23)
314: subu $5,$25,5
315: lw $6,20($23)
316: lw $25,IR
317: lw $25,104($25)
318: jal $25 # int
319: li $4,1
320: jal swtoseg # int
321: b L.73
322: L.78:
323: lw $25,glevel
324: beq $25,$0,L.79
325: lw $25,IR
326: lw $25,104($25)
327: beq $25,$0,L.79
328: lw $4,24($23)
329: lh $5,18($23)
330: la $6,typestab
331: move $7,$0
332: jal foreach # int
333: lw $4,28($23)
334: lh $5,18($23)
335: la $6,typestab
336: move $7,$0
337: jal foreach # int
338: li $4,125
339: lh $25,18($23)
340: subu $5,$25,5
341: lw $6,20($23)
342: lw $25,IR
343: lw $25,104($25)
344: jal $25 # int
345: li $4,1
346: jal swtoseg # int
347: L.79:
348: lw $23,12($23)
349: b L.73
350: L.81:
351: lw $25,glevel
352: beq $25,$0,L.73
353: lw $25,IR
354: lw $25,124($25)
355: beq $25,$0,L.73
356: lw $4,12($30)
357: lw $25,IR
358: lw $25,124($25)
359: jal $25 # int
360: li $4,1
361: jal swtoseg # int
362: b L.73
363: L.84:
364: la $25,src
365: la $24,12($30)
366: lw $2,0($24)
367: lw $3,4($24)
368: sw $2,0($25)
369: sw $3,4($25)
370: lw $25,glevel
371: beq $25,$0,L.73
372: lw $25,IR
373: lw $25,120($25)
374: beq $25,$0,L.73
375: addu $4,$30,12
376: lw $25,IR
377: lw $25,120($25)
378: jal $25 # int
379: li $4,1
380: jal swtoseg # int
381: b L.73
382: L.87:
383: lw $25,12($30)
384: bne $25,$0,L.88
385: b L.73
386: L.88:
387: L.90:
388: lw $4,12($30)
389: lw $25,IR
390: lw $25,60($25)
391: jal $25 # int
392: b L.73
393: L.91:
394: lw $25,28($30)
395: lw $20,($25)
396: move $21,$0
397: b L.95
398: L.96:
399: lw $25,20($30)
400: lw $4,68($25)
401: lw $25,IR
402: lw $25,44($25)
403: jal $25 # int
404: L.97:
405: move $25,$20
406: addu $20,$25,1
407: sll $24,$21,2
408: lw $15,28($30)
409: addu $24,$24,$15
410: lw $24,($24)
411: blt $25,$24,L.96
412: sll $25,$21,2
413: lw $24,32($30)
414: addu $25,$25,$24
415: lw $25,($25)
416: lw $4,68($25)
417: lw $25,IR
418: lw $25,44($25)
419: jal $25 # int
420: L.93:
421: addu $21,$21,1
422: L.95:
423: lw $25,24($30)
424: blt $21,$25,L.97
425: L.72:
426: L.73:
427: L.69:
428: lw $30,8($30)
429: L.71:
430: lw $25,errcnt
431: bgt $25,$0,L.101
432: bne $30,$0,L.68
433: L.101:
434: la $25,src
435: la $24,$fp5-8($sp)
436: lw $2,0($24)
437: lw $3,4($24)
438: sw $2,0($25)
439: sw $3,4($25)
440: L.67:
441: lw $20,16($sp)
442: lw $21,20($sp)
443: lw $22,24($sp)
444: lw $23,28($sp)
445: lw $30,32($sp)
446: lw $31,36($sp)
447: addu $sp,$sp,48
448: j $31
449: .end emitcode
450: .text
451: .align 2; .ent fixup
452: fixup:
453: $fp6=32
454: .frame $sp,32,$31
455: addu $sp,$sp,-32
456: .mask 0xc0800000,-8
457: sw $23,16($sp)
458: sw $30,20($sp)
459: sw $31,24($sp)
460: move $30,$4
461: b L.106
462: L.103:
463: lw $25,($30)
464: and $23,$25,0xfffffff0
465: beq $23,544,L.113
466: beq $23,560,L.113
467: bgt $23,560,L.115
468: beq $23,512,L.113
469: beq $23,528,L.113
470: bgt $23,528,L.107
471: beq $23,480,L.113
472: beq $23,496,L.113
473: b L.107
474: L.115:
475: beq $23,576,L.110
476: beq $23,592,L.113
477: b L.107
478: L.110:
479: lw $25,24($30)
480: lw $25,($25)
481: bne $25,263,L.108
482: lw $25,24($30)
483: lw $24,8($25)
484: lw $24,68($24)
485: sw $24,8($25)
486: b L.108
487: L.113:
488: lw $25,8($30)
489: bne $25,$0,L.114
490: la $4,L.37
491: la $5,L.38
492: li $6,151
493: jal fatal # int
494: L.114:
495: lw $25,8($30)
496: lw $25,68($25)
497: sw $25,8($30)
498: L.107:
499: L.108:
500: L.104:
501: lw $30,48($30)
502: L.106:
503: bne $30,$0,L.103
504: L.102:
505: lw $23,16($sp)
506: lw $30,20($sp)
507: lw $31,24($sp)
508: addu $sp,$sp,32
509: j $31
510: .end fixup
511: .globl gencode
512: .text
513: .align 2; .ent gencode
514: gencode:
515: $fp7=64
516: .frame $sp,64,$31
517: addu $sp,$sp,-64
518: .mask 0xc0ff0000,-12
519: sw $16,16($sp)
520: sw $17,20($sp)
521: sw $18,24($sp)
522: sw $19,28($sp)
523: sw $20,32($sp)
524: sw $21,36($sp)
525: sw $22,40($sp)
526: sw $23,44($sp)
527: sw $30,48($sp)
528: sw $31,52($sp)
529: move $30,$4
530: move $23,$5
531: la $25,$fp7-8($sp)
532: la $24,src
533: lw $2,0($24)
534: lw $3,4($24)
535: sw $2,0($25)
536: sw $3,4($25)
537: lw $25,codehead+8
538: lw $22,8($25)
539: lw $25,codehead+8
540: sw $25,codelist
541: move $19,$0
542: b L.122
543: L.119:
544: lbu $25,30($21)
545: lbu $24,30($20)
546: bne $25,$24,L.125
547: lw $25,40($21)
548: lw $24,40($20)
549: beq $25,$24,L.123
550: L.125:
551: move $4,$20
552: jal idnode # int
553: move $4,$21
554: move $5,$2
555: jal asgn # int
556: move $4,$2
557: move $5,$0
558: move $6,$0
559: jal walk # int
560: lw $25,glevel
561: beq $25,$0,L.124
562: lw $25,IR
563: lw $25,124($25)
564: beq $25,$0,L.124
565: move $4,$21
566: lw $25,IR
567: lw $25,124($25)
568: jal $25 # int
569: move $4,$20
570: lw $25,IR
571: lw $25,124($25)
572: jal $25 # int
573: li $4,1
574: jal swtoseg # int
575: b L.124
576: L.123:
577: lw $25,glevel
578: beq $25,$0,L.128
579: lw $25,IR
580: lw $25,124($25)
581: beq $25,$0,L.128
582: move $4,$21
583: lw $25,IR
584: lw $25,124($25)
585: jal $25 # int
586: li $4,1
587: jal swtoseg # int
588: L.128:
589: L.124:
590: L.120:
591: addu $19,$19,1
592: L.122:
593: sll $25,$19,2
594: addu $24,$25,$23
595: lw $24,($24)
596: move $21,$24
597: beq $24,$0,L.130
598: addu $25,$25,$30
599: lw $25,($25)
600: move $20,$25
601: bne $25,$0,L.119
602: L.130:
603: lw $25,codelist
604: sw $22,8($25)
605: lw $25,codelist
606: sw $25,4($22)
607: move $18,$0
608: la $22,codehead
609: b L.134
610: L.131:
611: lw $17,($22)
612: blt $17,$0,L.135
613: bgt $17,10,L.135
614: sll $25,$17,2
615: lw $25,L.160($25)
616: j $25
617: L.160:
618: .align 2; .word L.140
619: .align 2; .word L.149
620: .align 2; .word L.150
621: .align 2; .word L.152
622: .align 2; .word L.139
623: .align 2; .word L.156
624: .align 2; .word L.136
625: .align 2; .word L.135
626: .align 2; .word L.156
627: .align 2; .word L.153
628: .align 2; .word L.136
629: b L.136
630: L.139:
631: la $25,src
632: la $24,12($22)
633: lw $2,0($24)
634: lw $3,4($24)
635: sw $2,0($25)
636: sw $3,4($25)
637: b L.136
638: L.140:
639: lw $16,20($22)
640: sw $18,12($22)
641: move $18,$22
642: addu $4,$18,32
643: lw $25,IR
644: lw $25,36($25)
645: jal $25 # int
646: b L.144
647: L.141:
648: lw $25,($16)
649: l.s $f18,36($25)
650: l.s $f16,L.148
651: c.eq.s $f18,$f16; bc1f L.147
652: lw $25,glevel
653: beq $25,$0,L.145
654: L.147:
655: lw $4,($16)
656: lw $25,IR
657: lw $25,84($25)
658: jal $25 # int
659: L.145:
660: L.142:
661: addu $16,$16,4
662: L.144:
663: lw $25,($16)
664: bne $25,$0,L.141
665: b L.136
666: L.149:
667: addu $4,$18,32
668: lw $25,IR
669: lw $25,40($25)
670: jal $25 # int
671: lw $18,12($18)
672: b L.136
673: L.150:
674: lw $25,12($22)
675: lhu $25,28($25)
676: lh $24,18($18)
677: beq $25,$24,L.151
678: la $4,L.37
679: la $5,L.38
680: li $6,202
681: jal fatal # int
682: L.151:
683: lw $4,12($22)
684: lw $25,IR
685: lw $25,84($25)
686: jal $25 # int
687: b L.136
688: L.152:
689: lw $4,12($22)
690: lw $5,16($22)
691: lw $6,20($22)
692: lw $25,IR
693: lw $25,32($25)
694: jal $25 # int
695: b L.136
696: L.153:
697: lw $25,12($22)
698: bne $25,$0,L.154
699: b L.136
700: L.154:
701: L.156:
702: lw $4,12($22)
703: jal fixup # int
704: lw $25,IR
705: lw $25,28($25)
706: and $25,$25,0x2000000
707: beq $25,$0,L.157
708: lw $4,12($22)
709: jal undag # int
710: move $25,$2
711: sw $25,12($22)
712: L.157:
713: lw $4,12($22)
714: lw $25,IR
715: lw $25,72($25)
716: jal $25 # int
717: move $25,$2
718: sw $25,12($22)
719: b L.136
720: L.135:
721: la $4,L.37
722: la $5,L.38
723: li $6,218
724: jal fatal # int
725: L.136:
726: L.132:
727: lw $22,8($22)
728: L.134:
729: lw $25,errcnt
730: bgt $25,$0,L.161
731: bne $22,$0,L.131
732: L.161:
733: la $25,src
734: la $24,$fp7-8($sp)
735: lw $2,0($24)
736: lw $3,4($24)
737: sw $2,0($25)
738: sw $3,4($25)
739: L.116:
740: lw $16,16($sp)
741: lw $17,20($sp)
742: lw $18,24($sp)
743: lw $19,28($sp)
744: lw $20,32($sp)
745: lw $21,36($sp)
746: lw $22,40($sp)
747: lw $23,44($sp)
748: lw $30,48($sp)
749: lw $31,52($sp)
750: addu $sp,$sp,64
751: j $31
752: .end gencode
753: .text
754: .align 2; .ent haskid
755: haskid:
756: $fp8=24
757: .frame $sp,24,$31
758: addu $sp,$sp,-24
759: .mask 0xc0000000,-4
760: sw $30,16($sp)
761: sw $31,20($sp)
762: sw $4,24($sp)
763: sw $5,28($sp)
764: lw $25,$fp8+4($sp)
765: bne $25,$0,L.163
766: move $2,$0
767: b L.162
768: L.163:
769: lw $25,$fp8+0($sp)
770: lw $24,$fp8+4($sp)
771: bne $25,$24,L.165
772: li $2,1
773: b L.162
774: L.165:
775: lw $4,$fp8+0($sp)
776: lw $25,$fp8+4($sp)
777: lw $5,24($25)
778: jal haskid # int
779: bne $2,$0,L.170
780: lw $4,$fp8+0($sp)
781: lw $25,$fp8+4($sp)
782: lw $5,28($25)
783: jal haskid # int
784: beq $2,$0,L.168
785: L.170:
786: li $30,1
787: b L.169
788: L.168:
789: move $30,$0
790: L.169:
791: move $2,$30
792: L.162:
793: lw $30,16($sp)
794: lw $31,20($sp)
795: addu $sp,$sp,24
796: j $31
797: .end haskid
798: .text
799: .align 2; .ent labelnode
800: labelnode:
801: $fp9=24
802: .frame $sp,24,$31
803: addu $sp,$sp,-24
804: .mask 0x80000000,-8
805: sw $31,16($sp)
806: sw $4,24($sp)
807: lw $25,$fp9+0($sp)
808: bne $25,$0,L.172
809: la $4,L.37
810: la $5,L.38
811: li $6,235
812: jal fatal # int
813: L.172:
814: lw $25,nodelist
815: move $24,$25
816: beq $24,$0,L.173
817: lw $24,($25)
818: bne $24,600,L.173
819: lw $25,8($25)
820: beq $25,$0,L.173
821: lw $4,$fp9+0($sp)
822: jal findlabel # int
823: move $4,$2
824: lw $25,nodelist
825: lw $5,8($25)
826: jal equatelab # int
827: lw $2,nodelist
828: b L.171
829: L.173:
830: lw $4,$fp9+0($sp)
831: jal findlabel # int
832: li $4,600
833: move $5,$0
834: move $6,$0
835: move $7,$2
836: jal newnode # int
837: move $4,$2
838: jal list # int
839: L.171:
840: lw $31,16($sp)
841: addu $sp,$sp,24
842: j $31
843: .end labelnode
844: .text
845: .align 2; .ent list
846: list:
847: $fp10=0
848: .frame $sp,0,$31
849: beq $4,$0,L.176
850: lw $25,48($4)
851: bne $25,$0,L.176
852: lw $25,nodelist
853: beq $25,$0,L.178
854: lw $25,nodelist
855: lw $25,48($25)
856: sw $25,48($4)
857: lw $25,nodelist
858: sw $4,48($25)
859: b L.179
860: L.178:
861: sw $4,48($4)
862: L.179:
863: sw $4,nodelist
864: L.176:
865: move $2,$4
866: L.175:
867: j $31
868: .end list
869: .globl listnodes
870: .text
871: .align 2; .ent listnodes
872: listnodes:
873: $fp11=80
874: .frame $sp,80,$31
875: addu $sp,$sp,-80
876: .mask 0xc0f80000,-40
877: sw $19,16($sp)
878: sw $20,20($sp)
879: sw $21,24($sp)
880: sw $22,28($sp)
881: sw $23,32($sp)
882: sw $30,36($sp)
883: sw $31,40($sp)
884: move $30,$4
885: sw $5,84($sp)
886: sw $6,88($sp)
887: bne $30,$0,L.181
888: move $2,$0
889: b L.180
890: L.181:
891: lw $25,16($30)
892: beq $25,$0,L.183
893: lw $2,16($30)
894: b L.180
895: L.183:
896: lw $25,($30)
897: and $25,$25,0xfffffff0
898: sw $25,$fp11-4($sp)
899: lw $22,$fp11-4($sp)
900: beq $22,336,L.323
901: beq $22,352,L.323
902: bgt $22,352,L.376
903: beq $22,176,L.336
904: beq $22,192,L.336
905: bgt $22,192,L.377
906: beq $22,80,L.336
907: beq $22,96,L.336
908: bgt $22,96,L.378
909: beq $22,48,L.292
910: beq $22,64,L.339
911: bgt $22,64,L.185
912: beq $22,16,L.211
913: beq $22,32,L.266
914: b L.185
915: L.378:
916: beq $22,144,L.336
917: beq $22,160,L.336
918: bgt $22,160,L.185
919: beq $22,112,L.336
920: beq $22,128,L.336
921: b L.185
922: L.377:
923: beq $22,272,L.371
924: beq $22,288,L.366
925: bgt $22,288,L.379
926: beq $22,240,L.333
927: beq $22,256,L.371
928: bgt $22,256,L.185
929: beq $22,208,L.248
930: b L.185
931: L.379:
932: beq $22,304,L.323
933: beq $22,320,L.323
934: b L.185
935: L.376:
936: beq $22,528,L.273
937: beq $22,544,L.273
938: bgt $22,544,L.380
939: beq $22,432,L.323
940: beq $22,448,L.323
941: bgt $22,448,L.381
942: beq $22,400,L.336
943: beq $22,416,L.323
944: bgt $22,416,L.185
945: beq $22,368,L.318
946: beq $22,384,L.313
947: b L.185
948: L.381:
949: beq $22,496,L.273
950: beq $22,512,L.273
951: bgt $22,512,L.185
952: beq $22,464,L.323
953: beq $22,480,L.273
954: b L.185
955: L.380:
956: beq $22,608,L.188
957: beq $22,624,L.191
958: bgt $22,624,L.382
959: beq $22,560,L.273
960: beq $22,576,L.243
961: b L.185
962: L.382:
963: beq $22,672,L.226
964: beq $22,688,L.363
965: bgt $22,688,L.185
966: beq $22,640,L.192
967: beq $22,656,L.195
968: b L.185
969: L.188:
970: lw $25,$fp11+8($sp)
971: beq $25,$0,L.189
972: lw $4,8($30)
973: move $5,$0
974: lw $6,$fp11+8($sp)
975: jal listnodes # int
976: lw $4,12($30)
977: move $5,$0
978: lw $6,$fp11+8($sp)
979: jal listnodes # int
980: move $25,$2
981: sw $25,$fp11-12($sp)
982: b L.190
983: L.189:
984: li $4,1
985: jal genlabel # int
986: sw $2,$fp11+8($sp)
987: lw $4,8($30)
988: move $5,$0
989: move $6,$2
990: jal listnodes # int
991: lw $4,12($30)
992: lw $5,$fp11+4($sp)
993: move $6,$0
994: jal listnodes # int
995: lw $4,$fp11+8($sp)
996: jal labelnode # int
997: move $25,$2
998: sw $25,$fp11-12($sp)
999: L.190:
1000: move $4,$0
1001: jal trash # int
1002: lw $2,$fp11-12($sp)
1003: b L.180
1004: L.191:
1005: lw $4,8($30)
1006: lw $5,$fp11+8($sp)
1007: lw $6,$fp11+4($sp)
1008: jal listnodes # int
1009: b L.180
1010: L.192:
1011: lw $25,$fp11+4($sp)
1012: beq $25,$0,L.193
1013: lw $4,8($30)
1014: lw $5,$fp11+4($sp)
1015: move $6,$0
1016: jal listnodes # int
1017: lw $4,12($30)
1018: lw $5,$fp11+4($sp)
1019: move $6,$0
1020: jal listnodes # int
1021: move $25,$2
1022: sw $25,$fp11-12($sp)
1023: b L.194
1024: L.193:
1025: li $4,1
1026: jal genlabel # int
1027: sw $2,$fp11+4($sp)
1028: lw $4,8($30)
1029: move $5,$2
1030: move $6,$0
1031: jal listnodes # int
1032: lw $4,12($30)
1033: move $5,$0
1034: lw $6,$fp11+8($sp)
1035: jal listnodes # int
1036: lw $4,$fp11+4($sp)
1037: jal labelnode # int
1038: move $25,$2
1039: sw $25,$fp11-12($sp)
1040: L.194:
1041: move $4,$0
1042: jal trash # int
1043: lw $2,$fp11-12($sp)
1044: b L.180
1045: L.195:
1046: lw $25,$fp11+4($sp)
1047: bne $25,$0,L.197
1048: lw $25,$fp11+8($sp)
1049: beq $25,$0,L.196
1050: L.197:
1051: la $4,L.37
1052: la $5,L.38
1053: li $6,296
1054: jal fatal # int
1055: L.196:
1056: lw $25,24($30)
1057: beq $25,$0,L.198
1058: lw $4,24($30)
1059: jal addlocal # int
1060: L.198:
1061: move $4,$0
1062: jal trash # int
1063: li $4,2
1064: jal genlabel # int
1065: sw $2,$fp11+8($sp)
1066: lw $4,8($30)
1067: move $5,$0
1068: move $6,$2
1069: jal listnodes # int
1070: move $4,$0
1071: jal trash # int
1072: lw $25,12($30)
1073: sw $25,$fp11-16($sp)
1074: beq $25,$0,L.200
1075: lw $25,$fp11-16($sp)
1076: lw $25,($25)
1077: beq $25,672,L.202
1078: la $4,L.37
1079: la $5,L.38
1080: li $6,303
1081: jal fatal # int
1082: L.202:
1083: lw $25,$fp11-16($sp)
1084: lw $4,8($25)
1085: move $5,$0
1086: move $6,$0
1087: jal listnodes # int
1088: lw $25,nodelist
1089: move $24,$25
1090: beq $24,$0,L.203
1091: lw $24,($25)
1092: bne $24,600,L.203
1093: lw $25,8($25)
1094: beq $25,$0,L.203
1095: lw $25,$fp11+8($sp)
1096: addu $4,$25,1
1097: jal findlabel # int
1098: lw $25,nodelist
1099: lw $4,8($25)
1100: move $5,$2
1101: jal equatelab # int
1102: lw $4,nodelist
1103: jal remove # int
1104: L.203:
1105: move $4,$0
1106: jal trash # int
1107: L.200:
1108: lw $25,$fp11-16($sp)
1109: move $24,$25
1110: beq $24,$0,L.205
1111: lw $25,12($25)
1112: beq $25,$0,L.205
1113: lw $25,$fp11+8($sp)
1114: addu $4,$25,1
1115: jal jump # int
1116: move $4,$2
1117: jal list # int
1118: lw $4,$fp11+8($sp)
1119: jal labelnode # int
1120: lw $25,$fp11-16($sp)
1121: lw $4,12($25)
1122: move $5,$0
1123: move $6,$0
1124: jal listnodes # int
1125: lw $25,nodelist
1126: move $24,$25
1127: beq $24,$0,L.206
1128: lw $24,($25)
1129: bne $24,600,L.206
1130: lw $25,8($25)
1131: beq $25,$0,L.206
1132: lw $25,$fp11+8($sp)
1133: addu $4,$25,1
1134: jal findlabel # int
1135: lw $25,nodelist
1136: lw $4,8($25)
1137: move $5,$2
1138: jal equatelab # int
1139: lw $4,nodelist
1140: jal remove # int
1141: b L.206
1142: L.205:
1143: lw $4,$fp11+8($sp)
1144: jal labelnode # int
1145: L.206:
1146: lw $25,$fp11+8($sp)
1147: addu $4,$25,1
1148: jal labelnode # int
1149: move $23,$2
1150: move $4,$0
1151: jal trash # int
1152: lw $25,24($30)
1153: beq $25,$0,L.186
1154: lw $4,24($30)
1155: jal idnode # int
1156: move $25,$2
1157: sw $25,$fp11-20($sp)
1158: lw $25,24($30)
1159: l.s $f18,L.148
1160: s.s $f18,36($25)
1161: lw $4,$fp11-20($sp)
1162: move $5,$0
1163: move $6,$0
1164: jal listnodes # int
1165: move $23,$2
1166: b L.186
1167: L.211:
1168: lw $25,4($30)
1169: lw $25,($25)
1170: blt $25,15,L.213
1171: lw $25,4($30)
1172: lw $21,12($25)
1173: b L.214
1174: L.213:
1175: lw $21,4($30)
1176: L.214:
1177: sw $21,$fp11-16($sp)
1178: lw $25,$fp11-4($sp)
1179: beq $25,20,L.215
1180: lw $25,$fp11-16($sp)
1181: lw $25,16($25)
1182: bne $25,$0,L.215
1183: la $4,L.37
1184: la $5,L.38
1185: li $6,332
1186: jal fatal # int
1187: L.215:
1188: lw $25,$fp11-4($sp)
1189: beq $25,20,L.218
1190: lw $25,$fp11-16($sp)
1191: lw $25,16($25)
1192: lw $25,32($25)
1193: and $25,$25,0x8000000
1194: beq $25,$0,L.216
1195: L.218:
1196: move $4,$30
1197: jal cvtconst # int
1198: move $4,$2
1199: lw $5,$fp11+4($sp)
1200: lw $6,$fp11+8($sp)
1201: jal listnodes # int
1202: move $23,$2
1203: b L.186
1204: L.216:
1205: lw $25,$fp11+4($sp)
1206: bne $25,$0,L.219
1207: lw $25,$fp11+8($sp)
1208: bne $25,$0,L.219
1209: lw $4,$fp11-16($sp)
1210: la $25,24($30)
1211: lw $2,0($25)
1212: lw $3,4($25)
1213: sw $2,8($sp)
1214: sw $3,12($sp)
1215: lw $6,8($sp)
1216: lw $7,12($sp)
1217: jal constant # int
1218: lw $4,($30)
1219: move $5,$0
1220: move $6,$0
1221: move $7,$2
1222: jal node # int
1223: move $23,$2
1224: b L.186
1225: L.219:
1226: lw $25,$fp11-16($sp)
1227: lw $24,inttype
1228: beq $25,$24,L.221
1229: la $4,L.37
1230: la $5,L.38
1231: li $6,338
1232: jal fatal # int
1233: L.221:
1234: lw $25,$fp11+4($sp)
1235: beq $25,$0,L.222
1236: lw $25,24($30)
1237: beq $25,$0,L.222
1238: lw $4,$fp11+4($sp)
1239: jal jump # int
1240: move $4,$2
1241: jal list # int
1242: move $23,$2
1243: b L.186
1244: L.222:
1245: lw $25,$fp11+8($sp)
1246: beq $25,$0,L.224
1247: lw $25,24($30)
1248: bne $25,$0,L.224
1249: lw $4,$fp11+8($sp)
1250: jal jump # int
1251: move $4,$2
1252: jal list # int
1253: move $23,$2
1254: b L.186
1255: L.224:
1256: move $23,$0
1257: b L.186
1258: L.226:
1259: lw $25,8($30)
1260: move $24,$25
1261: beq $24,$0,L.227
1262: lw $24,($25)
1263: and $24,$24,0xfffffff0
1264: bne $24,64,L.227
1265: lw $24,12($30)
1266: move $15,$24
1267: beq $15,$0,L.227
1268: lw $15,($24)
1269: and $15,$15,0xfffffff0
1270: bne $15,48,L.227
1271: lw $25,8($25)
1272: lw $24,8($24)
1273: bne $25,$24,L.227
1274: lw $4,8($30)
1275: move $5,$0
1276: move $6,$0
1277: jal listnodes # int
1278: move $23,$2
1279: lw $25,nodelist
1280: beq $25,$0,L.229
1281: lw $25,nodelist
1282: sw $25,$fp11-16($sp)
1283: L.231:
1284: move $4,$23
1285: lw $25,$fp11-16($sp)
1286: lw $5,48($25)
1287: jal haskid # int
1288: beq $2,$0,L.235
1289: lw $25,$fp11-16($sp)
1290: lw $25,48($25)
1291: sw $25,48($23)
1292: lw $25,$fp11-16($sp)
1293: sw $23,48($25)
1294: b L.230
1295: L.235:
1296: lw $25,$fp11-16($sp)
1297: lw $25,48($25)
1298: lw $24,nodelist
1299: bne $25,$24,L.237
1300: move $4,$23
1301: jal list # int
1302: b L.230
1303: L.237:
1304: L.232:
1305: lw $25,$fp11-16($sp)
1306: lw $25,48($25)
1307: sw $25,$fp11-16($sp)
1308: b L.231
1309: L.229:
1310: move $4,$23
1311: jal list # int
1312: L.230:
1313: lw $4,12($30)
1314: move $5,$0
1315: move $6,$0
1316: jal listnodes # int
1317: b L.186
1318: L.227:
1319: lw $25,12($30)
1320: beq $25,$0,L.239
1321: lw $25,8($30)
1322: move $24,$25
1323: beq $24,$0,L.241
1324: lw $25,($25)
1325: and $25,$25,0xfffffff0
1326: bne $25,16,L.241
1327: sw $0,8($30)
1328: L.241:
1329: lw $4,8($30)
1330: move $5,$0
1331: move $6,$0
1332: jal listnodes # int
1333: lw $4,12($30)
1334: lw $5,$fp11+4($sp)
1335: lw $6,$fp11+8($sp)
1336: jal listnodes # int
1337: move $23,$2
1338: b L.186
1339: L.239:
1340: lw $4,8($30)
1341: lw $5,$fp11+4($sp)
1342: lw $6,$fp11+8($sp)
1343: jal listnodes # int
1344: move $23,$2
1345: b L.186
1346: L.243:
1347: lw $25,$fp11+4($sp)
1348: bne $25,$0,L.245
1349: lw $25,$fp11+8($sp)
1350: beq $25,$0,L.244
1351: L.245:
1352: la $4,L.37
1353: la $5,L.38
1354: li $6,376
1355: jal fatal # int
1356: L.244:
1357: lw $25,24($30)
1358: beq $25,$0,L.246
1359: la $4,L.37
1360: la $5,L.38
1361: li $6,377
1362: jal fatal # int
1363: L.246:
1364: lw $25,8($30)
1365: bne $25,$0,L.247
1366: la $4,L.37
1367: la $5,L.38
1368: li $6,378
1369: jal fatal # int
1370: L.247:
1371: lw $4,8($30)
1372: move $5,$0
1373: move $6,$0
1374: jal listnodes # int
1375: move $25,$2
1376: sw $25,$fp11-8($sp)
1377: li $4,584
1378: lw $5,$fp11-8($sp)
1379: move $6,$0
1380: move $7,$0
1381: jal newnode # int
1382: move $23,$2
1383: move $4,$0
1384: jal trash # int
1385: move $4,$23
1386: jal list # int
1387: b L.186
1388: L.248:
1389: lw $25,$fp11+4($sp)
1390: bne $25,$0,L.250
1391: lw $25,$fp11+8($sp)
1392: beq $25,$0,L.249
1393: L.250:
1394: la $4,L.37
1395: la $5,L.38
1396: li $6,385
1397: jal fatal # int
1398: L.249:
1399: lw $4,8($30)
1400: move $5,$0
1401: move $6,$0
1402: jal listnodes # int
1403: move $25,$2
1404: sw $25,$fp11-8($sp)
1405: lw $4,12($30)
1406: move $5,$0
1407: move $6,$0
1408: jal listnodes # int
1409: move $25,$2
1410: sw $25,$fp11-12($sp)
1411: lw $4,($30)
1412: lw $5,$fp11-8($sp)
1413: lw $6,$fp11-12($sp)
1414: move $7,$0
1415: jal newnode # int
1416: move $23,$2
1417: lw $25,transient
1418: li $24,104
1419: sw $24,($25)
1420: lw $25,transient
1421: lw $24,($25)
1422: lw $15,4($25)
1423: addu $24,$24,$15
1424: lw $25,8($25)
1425: bltu $24,$25,L.252
1426: lw $25,transient
1427: lw $4,($25)
1428: la $5,transient
1429: jal allocate # int
1430: move $21,$2
1431: b L.253
1432: L.252:
1433: lw $25,transient
1434: lw $24,($25)
1435: lw $15,4($25)
1436: addu $24,$24,$15
1437: sw $24,4($25)
1438: lw $25,transient
1439: lw $24,4($25)
1440: lw $25,($25)
1441: subu $21,$24,$25
1442: L.253:
1443: sw $21,8($23)
1444: lw $21,8($23)
1445: addu $25,$21,96
1446: sw $25,$fp11-16($sp)
1447: b L.257
1448: L.254:
1449: sw $0,28($21)
1450: sw $0,24($21)
1451: sw $0,20($21)
1452: sw $0,16($21)
1453: sw $0,12($21)
1454: sw $0,8($21)
1455: sw $0,4($21)
1456: sw $0,($21)
1457: L.255:
1458: addu $21,$21,32
1459: L.257:
1460: lw $25,$fp11-16($sp)
1461: bltu $21,$25,L.254
1462: sw $0,($21)
1463: sw $0,4($21)
1464: lw $25,8($30)
1465: lw $25,4($25)
1466: lw $25,($25)
1467: blt $25,15,L.262
1468: lw $25,8($30)
1469: lw $25,4($25)
1470: lw $21,12($25)
1471: b L.263
1472: L.262:
1473: lw $25,8($30)
1474: lw $21,4($25)
1475: L.263:
1476: lw $25,($21)
1477: bne $25,7,L.258
1478: lw $25,8($30)
1479: lw $25,4($25)
1480: lw $25,12($25)
1481: lw $25,($25)
1482: blt $25,15,L.264
1483: lw $25,8($30)
1484: lw $25,4($25)
1485: lw $25,12($25)
1486: lw $20,12($25)
1487: b L.265
1488: L.264:
1489: lw $25,8($30)
1490: lw $25,4($25)
1491: lw $20,12($25)
1492: L.265:
1493: lw $25,($20)
1494: bne $25,11,L.258
1495: lw $25,8($23)
1496: lw $24,8($30)
1497: lw $24,4($24)
1498: lw $24,12($24)
1499: sw $24,40($25)
1500: b L.259
1501: L.258:
1502: lw $4,voidtype
1503: move $5,$0
1504: li $6,1
1505: jal func # int
1506: lw $25,8($23)
1507: move $24,$2
1508: sw $24,40($25)
1509: L.259:
1510: move $4,$0
1511: jal trash # int
1512: move $4,$23
1513: jal list # int
1514: lw $25,cfunc
1515: lw $24,92($25)
1516: addu $24,$24,1
1517: sw $24,92($25)
1518: b L.186
1519: L.266:
1520: lw $25,$fp11+4($sp)
1521: bne $25,$0,L.268
1522: lw $25,$fp11+8($sp)
1523: beq $25,$0,L.267
1524: L.268:
1525: la $4,L.37
1526: la $5,L.38
1527: li $6,400
1528: jal fatal # int
1529: L.267:
1530: lw $25,IR
1531: lw $25,28($25)
1532: and $25,$25,0x80000000
1533: beq $25,$0,L.269
1534: lw $4,12($30)
1535: move $5,$0
1536: move $6,$0
1537: jal listnodes # int
1538: L.269:
1539: lw $4,8($30)
1540: move $5,$0
1541: move $6,$0
1542: jal listnodes # int
1543: move $25,$2
1544: sw $25,$fp11-8($sp)
1545: lw $4,($30)
1546: lw $5,$fp11-8($sp)
1547: move $6,$0
1548: move $7,$0
1549: jal newnode # int
1550: move $23,$2
1551: lw $25,4($30)
1552: lw $4,8($25)
1553: jal intconst # int
1554: move $25,$2
1555: sw $25,8($23)
1556: lw $25,4($30)
1557: lh $4,4($25)
1558: jal intconst # int
1559: move $25,$2
1560: sw $25,12($23)
1561: move $4,$23
1562: jal list # int
1563: lw $25,IR
1564: lw $25,28($25)
1565: and $25,$25,0x80000000
1566: bne $25,$0,L.271
1567: lw $4,12($30)
1568: move $5,$0
1569: move $6,$0
1570: jal listnodes # int
1571: L.271:
1572: move $2,$0
1573: b L.180
1574: L.273:
1575: lw $25,24($30)
1576: beq $25,$0,L.274
1577: la $4,L.37
1578: la $5,L.38
1579: li $6,413
1580: jal fatal # int
1581: L.274:
1582: lw $25,errcnt
1583: bne $25,$0,L.275
1584: lw $25,$fp11+4($sp)
1585: bne $25,$0,L.275
1586: lw $25,$fp11+8($sp)
1587: bne $25,$0,L.275
1588: la $4,L.37
1589: la $5,L.38
1590: li $6,414
1591: jal fatal # int
1592: L.275:
1593: lw $25,$fp11+8($sp)
1594: sw $25,$fp11-16($sp)
1595: beq $25,$0,L.276
1596: lw $25,$fp11+4($sp)
1597: beq $25,$0,L.278
1598: la $4,L.37
1599: la $5,L.38
1600: li $6,416
1601: jal fatal # int
1602: L.278:
1603: lw $21,$fp11-4($sp)
1604: beq $21,512,L.284
1605: beq $21,528,L.287
1606: bgt $21,528,L.288
1607: beq $21,480,L.282
1608: beq $21,496,L.286
1609: b L.277
1610: L.288:
1611: beq $21,544,L.285
1612: beq $21,560,L.283
1613: b L.277
1614: L.282:
1615: lw $25,($30)
1616: and $25,$25,15
1617: addu $25,$25,560
1618: sw $25,$fp11-4($sp)
1619: b L.277
1620: L.283:
1621: lw $25,($30)
1622: and $25,$25,15
1623: addu $25,$25,480
1624: sw $25,$fp11-4($sp)
1625: b L.277
1626: L.284:
1627: lw $25,($30)
1628: and $25,$25,15
1629: addu $25,$25,528
1630: sw $25,$fp11-4($sp)
1631: b L.277
1632: L.285:
1633: lw $25,($30)
1634: and $25,$25,15
1635: addu $25,$25,496
1636: sw $25,$fp11-4($sp)
1637: b L.277
1638: L.286:
1639: lw $25,($30)
1640: and $25,$25,15
1641: addu $25,$25,544
1642: sw $25,$fp11-4($sp)
1643: b L.277
1644: L.287:
1645: lw $25,($30)
1646: and $25,$25,15
1647: addu $25,$25,512
1648: sw $25,$fp11-4($sp)
1649: b L.277
1650: L.276:
1651: lw $25,$fp11+4($sp)
1652: sw $25,$fp11-16($sp)
1653: beq $25,$0,L.289
1654: lw $25,($30)
1655: sw $25,$fp11-4($sp)
1656: L.289:
1657: L.277:
1658: lw $4,8($30)
1659: move $5,$0
1660: move $6,$0
1661: jal listnodes # int
1662: move $25,$2
1663: sw $25,$fp11-8($sp)
1664: lw $4,12($30)
1665: move $5,$0
1666: move $6,$0
1667: jal listnodes # int
1668: move $25,$2
1669: sw $25,$fp11-12($sp)
1670: lw $4,$fp11-16($sp)
1671: jal findlabel # int
1672: lw $4,$fp11-4($sp)
1673: lw $5,$fp11-8($sp)
1674: lw $6,$fp11-12($sp)
1675: move $7,$2
1676: jal newnode # int
1677: move $23,$2
1678: lw $25,8($23)
1679: l.s $f18,36($25)
1680: l.s $f16,L.291
1681: add.s $f18,$f18,$f16
1682: s.s $f18,36($25)
1683: move $4,$23
1684: jal list # int
1685: b L.186
1686: L.292:
1687: lw $25,$fp11+4($sp)
1688: bne $25,$0,L.294
1689: lw $25,$fp11+8($sp)
1690: beq $25,$0,L.293
1691: L.294:
1692: la $4,L.37
1693: la $5,L.38
1694: li $6,435
1695: jal fatal # int
1696: L.293:
1697: lw $25,8($30)
1698: lw $25,($25)
1699: bne $25,688,L.295
1700: lw $25,8($30)
1701: lw $25,8($25)
1702: sw $25,$fp11-20($sp)
1703: lw $25,8($30)
1704: lw $25,24($25)
1705: sw $25,$fp11-16($sp)
1706: lw $25,$fp11-20($sp)
1707: lw $25,($25)
1708: and $25,$25,0xfffffff0
1709: beq $25,64,L.297
1710: la $4,L.37
1711: la $5,L.38
1712: li $6,439
1713: jal fatal # int
1714: L.297:
1715: move $4,$0
1716: jal trash # int
1717: lw $4,$fp11-20($sp)
1718: jal lvalue # int
1719: move $4,$2
1720: move $5,$0
1721: move $6,$0
1722: jal listnodes # int
1723: move $25,$2
1724: sw $25,$fp11-8($sp)
1725: lw $25,$fp11-16($sp)
1726: lh $24,12($25)
1727: lw $25,4($25)
1728: lw $25,8($25)
1729: sll $25,$25,3
1730: bge $24,$25,L.298
1731: li $25,0xffffffff
1732: lw $24,$fp11-16($sp)
1733: lh $24,12($24)
1734: sll $25,$25,$24
1735: not $25,$25
1736: sw $25,$fp11-28($sp)
1737: lw $25,$fp11-28($sp)
1738: lw $24,$fp11-16($sp)
1739: lh $24,14($24)
1740: subu $24,$24,1
1741: sll $25,$25,$24
1742: sw $25,$fp11-32($sp)
1743: lw $25,12($30)
1744: sw $25,$fp11-24($sp)
1745: lw $25,$fp11-24($sp)
1746: lw $24,($25)
1747: bne $24,21,L.303
1748: lw $25,24($25)
1749: beq $25,$0,L.302
1750: L.303:
1751: lw $25,$fp11-24($sp)
1752: lw $24,($25)
1753: bne $24,22,L.300
1754: lw $25,24($25)
1755: bne $25,$0,L.300
1756: L.302:
1757: lw $25,$fp11-32($sp)
1758: not $4,$25
1759: lw $5,unsignedtype
1760: jal constnode # int
1761: li $4,384
1762: lw $5,$fp11-20($sp)
1763: move $6,$2
1764: jal bitnode # int
1765: move $25,$2
1766: sw $25,$fp11-24($sp)
1767: b L.301
1768: L.300:
1769: lw $25,$fp11-24($sp)
1770: lw $24,($25)
1771: bne $24,21,L.307
1772: lw $25,24($25)
1773: lw $24,$fp11-28($sp)
1774: and $25,$25,$24
1775: beq $25,$24,L.306
1776: L.307:
1777: lw $25,$fp11-24($sp)
1778: lw $24,($25)
1779: bne $24,22,L.304
1780: lw $25,24($25)
1781: lw $24,$fp11-28($sp)
1782: and $25,$25,$24
1783: bne $25,$24,L.304
1784: L.306:
1785: lw $4,$fp11-32($sp)
1786: lw $5,unsignedtype
1787: jal constnode # int
1788: li $4,416
1789: lw $5,$fp11-20($sp)
1790: move $6,$2
1791: jal bitnode # int
1792: move $25,$2
1793: sw $25,$fp11-24($sp)
1794: b L.305
1795: L.304:
1796: lw $25,$fp11-32($sp)
1797: not $4,$25
1798: lw $5,unsignedtype
1799: jal constnode # int
1800: li $4,384
1801: lw $5,$fp11-20($sp)
1802: move $6,$2
1803: jal bitnode # int
1804: move $21,$2
1805: lw $4,$fp11-24($sp)
1806: lw $5,unsignedtype
1807: jal cast # int
1808: move $20,$2
1809: lw $25,$fp11-16($sp)
1810: lh $25,14($25)
1811: subu $4,$25,1
1812: lw $5,inttype
1813: jal constnode # int
1814: li $4,336
1815: move $5,$20
1816: move $6,$2
1817: jal shnode # int
1818: move $19,$2
1819: lw $4,$fp11-32($sp)
1820: lw $5,unsignedtype
1821: jal constnode # int
1822: li $4,384
1823: move $5,$19
1824: move $6,$2
1825: jal bitnode # int
1826: li $4,416
1827: move $5,$21
1828: move $6,$2
1829: jal bitnode # int
1830: move $25,$2
1831: sw $25,$fp11-24($sp)
1832: L.305:
1833: L.301:
1834: lw $4,$fp11-24($sp)
1835: move $5,$0
1836: move $6,$0
1837: jal listnodes # int
1838: move $25,$2
1839: sw $25,$fp11-12($sp)
1840: b L.296
1841: L.298:
1842: lw $4,12($30)
1843: move $5,$0
1844: move $6,$0
1845: jal listnodes # int
1846: move $25,$2
1847: sw $25,$fp11-12($sp)
1848: b L.296
1849: L.295:
1850: lw $4,8($30)
1851: move $5,$0
1852: move $6,$0
1853: jal listnodes # int
1854: move $25,$2
1855: sw $25,$fp11-8($sp)
1856: lw $4,12($30)
1857: move $5,$0
1858: move $6,$0
1859: jal listnodes # int
1860: move $25,$2
1861: sw $25,$fp11-12($sp)
1862: L.296:
1863: lw $25,8($30)
1864: lw $25,($25)
1865: beq $25,263,L.312
1866: beq $25,295,L.312
1867: bne $25,279,L.309
1868: L.312:
1869: lw $25,8($30)
1870: lw $25,24($25)
1871: lw $25,32($25)
1872: and $25,$25,0x10000000
1873: bne $25,$0,L.309
1874: lw $21,$fp11-8($sp)
1875: b L.310
1876: L.309:
1877: move $21,$0
1878: L.310:
1879: move $4,$21
1880: jal trash # int
1881: lw $4,($30)
1882: lw $5,$fp11-8($sp)
1883: lw $6,$fp11-12($sp)
1884: move $7,$0
1885: jal newnode # int
1886: move $23,$2
1887: lw $25,12($30)
1888: lw $25,4($25)
1889: lw $4,8($25)
1890: jal intconst # int
1891: move $25,$2
1892: sw $25,8($23)
1893: lw $25,12($30)
1894: lw $25,4($25)
1895: lh $4,4($25)
1896: jal intconst # int
1897: move $25,$2
1898: sw $25,12($23)
1899: move $4,$23
1900: jal list # int
1901: lw $4,12($30)
1902: move $5,$0
1903: move $6,$0
1904: jal listnodes # int
1905: move $23,$2
1906: b L.186
1907: L.313:
1908: lw $25,$fp11+4($sp)
1909: bne $25,$0,L.315
1910: lw $25,$fp11+8($sp)
1911: beq $25,$0,L.314
1912: L.315:
1913: la $4,L.37
1914: la $5,L.38
1915: li $6,473
1916: jal fatal # int
1917: L.314:
1918: lw $4,8($30)
1919: move $5,$0
1920: move $6,$0
1921: jal listnodes # int
1922: move $25,$2
1923: sw $25,$fp11-8($sp)
1924: lw $25,IR
1925: lw $25,28($25)
1926: and $25,$25,0x8000000
1927: beq $25,$0,L.316
1928: lw $4,12($30)
1929: lw $5,unsignedtype
1930: jal cast # int
1931: li $4,406
1932: lw $5,unsignedtype
1933: move $6,$2
1934: move $7,$0
1935: jal simplify # int
1936: move $4,$2
1937: lw $25,12($30)
1938: lw $5,4($25)
1939: jal cast # int
1940: move $4,$2
1941: move $5,$0
1942: move $6,$0
1943: jal listnodes # int
1944: move $25,$2
1945: sw $25,$fp11-12($sp)
1946: b L.317
1947: L.316:
1948: lw $4,12($30)
1949: move $5,$0
1950: move $6,$0
1951: jal listnodes # int
1952: move $25,$2
1953: sw $25,$fp11-12($sp)
1954: L.317:
1955: lw $4,($30)
1956: lw $5,$fp11-8($sp)
1957: lw $6,$fp11-12($sp)
1958: move $7,$0
1959: jal node # int
1960: move $23,$2
1961: b L.186
1962: L.318:
1963: lw $25,$fp11+4($sp)
1964: bne $25,$0,L.320
1965: lw $25,$fp11+8($sp)
1966: beq $25,$0,L.319
1967: L.320:
1968: la $4,L.37
1969: la $5,L.38
1970: li $6,485
1971: jal fatal # int
1972: L.319:
1973: lw $4,8($30)
1974: move $5,$0
1975: move $6,$0
1976: jal listnodes # int
1977: move $25,$2
1978: sw $25,$fp11-8($sp)
1979: lw $25,IR
1980: lw $25,28($25)
1981: and $25,$25,0x8000000
1982: beq $25,$0,L.321
1983: lw $25,($30)
1984: bne $25,373,L.321
1985: li $4,197
1986: lw $5,inttype
1987: lw $6,12($30)
1988: move $7,$0
1989: jal simplify # int
1990: move $4,$2
1991: move $5,$0
1992: move $6,$0
1993: jal listnodes # int
1994: move $25,$2
1995: sw $25,$fp11-12($sp)
1996: b L.322
1997: L.321:
1998: lw $4,12($30)
1999: move $5,$0
2000: move $6,$0
2001: jal listnodes # int
2002: move $25,$2
2003: sw $25,$fp11-12($sp)
2004: L.322:
2005: lw $4,($30)
2006: lw $5,$fp11-8($sp)
2007: lw $6,$fp11-12($sp)
2008: move $7,$0
2009: jal node # int
2010: move $23,$2
2011: b L.186
2012: L.323:
2013: lw $25,$fp11+4($sp)
2014: bne $25,$0,L.325
2015: lw $25,$fp11+8($sp)
2016: beq $25,$0,L.324
2017: L.325:
2018: la $4,L.37
2019: la $5,L.38
2020: li $6,495
2021: jal fatal # int
2022: L.324:
2023: lw $4,8($30)
2024: move $5,$0
2025: move $6,$0
2026: jal listnodes # int
2027: move $25,$2
2028: sw $25,$fp11-8($sp)
2029: lw $4,12($30)
2030: move $5,$0
2031: move $6,$0
2032: jal listnodes # int
2033: move $25,$2
2034: sw $25,$fp11-12($sp)
2035: lw $4,($30)
2036: lw $5,$fp11-8($sp)
2037: lw $6,$fp11-12($sp)
2038: move $7,$0
2039: jal node # int
2040: move $23,$2
2041: lw $25,IR
2042: lw $25,28($25)
2043: and $25,$25,0x10000000
2044: beq $25,$0,L.186
2045: lw $25,($23)
2046: beq $25,453,L.332
2047: beq $25,357,L.332
2048: beq $25,469,L.332
2049: beq $25,454,L.332
2050: beq $25,358,L.332
2051: bne $25,470,L.186
2052: L.332:
2053: move $4,$23
2054: jal list # int
2055: b L.186
2056: L.333:
2057: lw $25,$fp11+4($sp)
2058: bne $25,$0,L.335
2059: lw $25,$fp11+8($sp)
2060: beq $25,$0,L.334
2061: L.335:
2062: la $4,L.37
2063: la $5,L.38
2064: li $6,505
2065: jal fatal # int
2066: L.334:
2067: lw $4,8($30)
2068: move $5,$0
2069: move $6,$0
2070: jal listnodes # int
2071: move $25,$2
2072: sw $25,$fp11-8($sp)
2073: lw $4,($30)
2074: lw $5,$fp11-8($sp)
2075: move $6,$0
2076: move $7,$0
2077: jal newnode # int
2078: move $23,$2
2079: move $4,$23
2080: jal list # int
2081: b L.186
2082: L.336:
2083: lw $25,$fp11+4($sp)
2084: bne $25,$0,L.338
2085: lw $25,$fp11+8($sp)
2086: beq $25,$0,L.337
2087: L.338:
2088: la $4,L.37
2089: la $5,L.38
2090: li $6,512
2091: jal fatal # int
2092: L.337:
2093: lw $4,8($30)
2094: move $5,$0
2095: move $6,$0
2096: jal listnodes # int
2097: move $25,$2
2098: sw $25,$fp11-8($sp)
2099: lw $4,($30)
2100: lw $5,$fp11-8($sp)
2101: move $6,$0
2102: move $7,$0
2103: jal node # int
2104: move $23,$2
2105: b L.186
2106: L.339:
2107: lw $25,8($30)
2108: lw $25,4($25)
2109: sw $25,$fp11-16($sp)
2110: lw $25,$fp11-16($sp)
2111: lw $25,($25)
2112: blt $25,15,L.343
2113: lw $25,$fp11-16($sp)
2114: lw $21,12($25)
2115: b L.344
2116: L.343:
2117: lw $21,$fp11-16($sp)
2118: L.344:
2119: lw $25,($21)
2120: bne $25,7,L.340
2121: lw $25,$fp11-16($sp)
2122: lw $25,($25)
2123: blt $25,15,L.346
2124: lw $25,$fp11-16($sp)
2125: lw $21,12($25)
2126: b L.347
2127: L.346:
2128: lw $21,$fp11-16($sp)
2129: L.347:
2130: lw $25,12($21)
2131: sw $25,$fp11-16($sp)
2132: L.340:
2133: lw $25,$fp11+4($sp)
2134: bne $25,$0,L.349
2135: lw $25,$fp11+8($sp)
2136: beq $25,$0,L.348
2137: L.349:
2138: la $4,L.37
2139: la $5,L.38
2140: li $6,520
2141: jal fatal # int
2142: L.348:
2143: lw $4,8($30)
2144: move $5,$0
2145: move $6,$0
2146: jal listnodes # int
2147: move $25,$2
2148: sw $25,$fp11-8($sp)
2149: lw $25,$fp11-16($sp)
2150: lw $25,($25)
2151: beq $25,16,L.355
2152: beq $25,31,L.355
2153: lw $25,$fp11-16($sp)
2154: lw $25,($25)
2155: blt $25,15,L.357
2156: lw $25,$fp11-16($sp)
2157: lw $21,12($25)
2158: b L.358
2159: L.357:
2160: lw $21,$fp11-16($sp)
2161: L.358:
2162: lw $25,($21)
2163: beq $25,9,L.356
2164: lw $25,$fp11-16($sp)
2165: lw $25,($25)
2166: blt $25,15,L.359
2167: lw $25,$fp11-16($sp)
2168: lw $20,12($25)
2169: b L.360
2170: L.359:
2171: lw $20,$fp11-16($sp)
2172: L.360:
2173: lw $25,($20)
2174: bne $25,10,L.350
2175: L.356:
2176: lw $25,$fp11-16($sp)
2177: lw $25,($25)
2178: blt $25,15,L.361
2179: lw $25,$fp11-16($sp)
2180: lw $19,12($25)
2181: b L.362
2182: L.361:
2183: lw $19,$fp11-16($sp)
2184: L.362:
2185: lw $25,16($19)
2186: lw $25,64($25)
2187: and $25,$25,0x40000000
2188: beq $25,$0,L.350
2189: L.355:
2190: lw $4,($30)
2191: lw $5,$fp11-8($sp)
2192: move $6,$0
2193: move $7,$0
2194: jal newnode # int
2195: move $23,$2
2196: b L.186
2197: L.350:
2198: lw $4,($30)
2199: lw $5,$fp11-8($sp)
2200: move $6,$0
2201: move $7,$0
2202: jal node # int
2203: move $23,$2
2204: b L.186
2205: L.363:
2206: lw $25,$fp11+4($sp)
2207: bne $25,$0,L.365
2208: lw $25,$fp11+8($sp)
2209: beq $25,$0,L.364
2210: L.365:
2211: la $4,L.37
2212: la $5,L.38
2213: li $6,530
2214: jal fatal # int
2215: L.364:
2216: lw $25,24($30)
2217: lw $24,4($25)
2218: lw $24,8($24)
2219: sll $24,$24,3
2220: lh $15,12($25)
2221: subu $24,$24,$15
2222: lh $25,14($25)
2223: subu $25,$25,1
2224: subu $4,$24,$25
2225: lw $5,inttype
2226: jal constnode # int
2227: li $4,336
2228: lw $5,8($30)
2229: move $6,$2
2230: jal shnode # int
2231: move $21,$2
2232: lw $25,4($30)
2233: lw $25,8($25)
2234: sll $25,$25,3
2235: lw $24,24($30)
2236: lh $24,12($24)
2237: subu $4,$25,$24
2238: lw $5,inttype
2239: jal constnode # int
2240: li $4,368
2241: move $5,$21
2242: move $6,$2
2243: jal shnode # int
2244: move $25,$2
2245: sw $25,$fp11-16($sp)
2246: lw $4,$fp11-16($sp)
2247: move $5,$0
2248: move $6,$0
2249: jal listnodes # int
2250: move $23,$2
2251: b L.186
2252: L.366:
2253: lw $25,$fp11+4($sp)
2254: bne $25,$0,L.368
2255: lw $25,$fp11+8($sp)
2256: beq $25,$0,L.367
2257: L.368:
2258: la $4,L.37
2259: la $5,L.38
2260: li $6,539
2261: jal fatal # int
2262: L.367:
2263: lw $25,24($30)
2264: lw $25,32($25)
2265: and $25,$25,0x40000000
2266: beq $25,$0,L.369
2267: lw $4,24($30)
2268: jal addlocal # int
2269: lw $4,24($30)
2270: jal release # int
2271: L.369:
2272: lw $4,($30)
2273: move $5,$0
2274: move $6,$0
2275: lw $7,24($30)
2276: jal node # int
2277: move $23,$2
2278: b L.186
2279: L.371:
2280: lw $25,$fp11+4($sp)
2281: bne $25,$0,L.373
2282: lw $25,$fp11+8($sp)
2283: beq $25,$0,L.372
2284: L.373:
2285: la $4,L.37
2286: la $5,L.38
2287: li $6,547
2288: jal fatal # int
2289: L.372:
2290: lw $25,24($30)
2291: lhu $25,28($25)
2292: bne $25,2,L.374
2293: lw $25,24($30)
2294: l.s $f18,36($25)
2295: l.s $f16,L.291
2296: add.s $f18,$f18,$f16
2297: s.s $f18,36($25)
2298: L.374:
2299: lw $4,($30)
2300: move $5,$0
2301: move $6,$0
2302: lw $7,24($30)
2303: jal node # int
2304: move $23,$2
2305: b L.186
2306: L.185:
2307: la $4,L.37
2308: la $5,L.38
2309: li $6,552
2310: jal fatal # int
2311: L.186:
2312: sw $23,16($30)
2313: move $2,$23
2314: L.180:
2315: lw $19,16($sp)
2316: lw $20,20($sp)
2317: lw $21,24($sp)
2318: lw $22,28($sp)
2319: lw $23,32($sp)
2320: lw $30,36($sp)
2321: lw $31,40($sp)
2322: addu $sp,$sp,80
2323: j $31
2324: .end listnodes
2325: .globl jump
2326: .text
2327: .align 2; .ent jump
2328: jump:
2329: $fp12=24
2330: .frame $sp,24,$31
2331: addu $sp,$sp,-24
2332: .mask 0xc0000000,-4
2333: sw $30,16($sp)
2334: sw $31,20($sp)
2335: sw $4,24($sp)
2336: lw $4,$fp12+0($sp)
2337: jal findlabel # int
2338: move $30,$2
2339: l.s $f18,36($30)
2340: l.s $f16,L.291
2341: add.s $f18,$f18,$f16
2342: s.s $f18,36($30)
2343: li $4,263
2344: move $5,$0
2345: move $6,$0
2346: move $7,$30
2347: jal node # int
2348: li $4,584
2349: move $5,$2
2350: move $6,$0
2351: move $7,$0
2352: jal newnode # int
2353: L.387:
2354: lw $30,16($sp)
2355: lw $31,20($sp)
2356: addu $sp,$sp,24
2357: j $31
2358: .end jump
2359: .globl newnode
2360: .text
2361: .align 2; .ent newnode
2362: newnode:
2363: $fp13=24
2364: .frame $sp,24,$31
2365: addu $sp,$sp,-24
2366: .mask 0x80000000,-8
2367: sw $31,16($sp)
2368: sw $4,24($sp)
2369: sw $5,28($sp)
2370: sw $6,32($sp)
2371: sw $7,36($sp)
2372: lw $4,$fp13+0($sp)
2373: lw $5,$fp13+4($sp)
2374: lw $6,$fp13+8($sp)
2375: lw $7,$fp13+12($sp)
2376: jal dagnode # int
2377: L.388:
2378: lw $31,16($sp)
2379: addu $sp,$sp,24
2380: j $31
2381: .end newnode
2382: .globl node
2383: .text
2384: .align 2; .ent node
2385: node:
2386: $fp14=32
2387: .frame $sp,32,$31
2388: addu $sp,$sp,-32
2389: .mask 0xc0800000,-8
2390: sw $23,16($sp)
2391: sw $30,20($sp)
2392: sw $31,24($sp)
2393: sw $4,32($sp)
2394: sw $5,36($sp)
2395: sw $6,40($sp)
2396: sw $7,44($sp)
2397: lw $25,$fp14+0($sp)
2398: sra $25,$25,4
2399: lw $24,$fp14+12($sp)
2400: srl $24,$24,2
2401: xor $25,$25,$24
2402: and $23,$25,15
2403: sll $25,$23,2
2404: lw $30,buckets($25)
2405: b L.393
2406: L.390:
2407: lw $25,($30)
2408: lw $24,$fp14+0($sp)
2409: bne $25,$24,L.394
2410: lw $25,8($30)
2411: lw $24,$fp14+12($sp)
2412: bne $25,$24,L.394
2413: lw $25,24($30)
2414: lw $24,$fp14+4($sp)
2415: bne $25,$24,L.394
2416: lw $25,28($30)
2417: lw $24,$fp14+8($sp)
2418: bne $25,$24,L.394
2419: move $2,$30
2420: b L.389
2421: L.394:
2422: L.391:
2423: lw $30,80($30)
2424: L.393:
2425: bne $30,$0,L.390
2426: lw $4,$fp14+0($sp)
2427: lw $5,$fp14+4($sp)
2428: lw $6,$fp14+8($sp)
2429: lw $7,$fp14+12($sp)
2430: jal dagnode # int
2431: move $30,$2
2432: sll $25,$23,2
2433: lw $25,buckets($25)
2434: sw $25,80($30)
2435: sll $25,$23,2
2436: sw $30,buckets($25)
2437: lw $25,nodecount
2438: addu $25,$25,1
2439: sw $25,nodecount
2440: move $2,$30
2441: L.389:
2442: lw $23,16($sp)
2443: lw $30,20($sp)
2444: lw $31,24($sp)
2445: addu $sp,$sp,32
2446: j $31
2447: .end node
2448: .globl printdag
2449: .text
2450: .align 2; .ent printdag
2451: printdag:
2452: $fp15=32
2453: .frame $sp,32,$31
2454: addu $sp,$sp,-32
2455: .mask 0xc0800000,-8
2456: sw $23,16($sp)
2457: sw $30,20($sp)
2458: sw $31,24($sp)
2459: move $30,$4
2460: move $23,$5
2461: move $4,$0
2462: jal printed # int
2463: bne $30,$0,L.397
2464: lw $25,nodelist
2465: move $30,$25
2466: beq $25,$0,L.398
2467: L.401:
2468: lw $30,48($30)
2469: move $4,$30
2470: move $5,$23
2471: move $6,$0
2472: jal printdag1 # int
2473: L.402:
2474: lw $25,nodelist
2475: bne $30,$25,L.401
2476: b L.398
2477: L.397:
2478: move $4,$30
2479: jal nodeid # int
2480: move $4,$2
2481: jal printed # int
2482: move $25,$2
2483: lw $25,($25)
2484: beq $25,$0,L.404
2485: move $4,$30
2486: jal nodeid # int
2487: move $4,$23
2488: la $5,L.406
2489: move $6,$2
2490: jal fprint # int
2491: b L.405
2492: L.404:
2493: move $4,$30
2494: move $5,$23
2495: move $6,$0
2496: jal printdag1 # int
2497: L.405:
2498: L.398:
2499: L.396:
2500: lw $23,16($sp)
2501: lw $30,20($sp)
2502: lw $31,24($sp)
2503: addu $sp,$sp,32
2504: j $31
2505: .end printdag
2506: .text
2507: .align 2; .ent printdag1
2508: printdag1:
2509: $fp16=40
2510: .frame $sp,40,$31
2511: addu $sp,$sp,-40
2512: .mask 0xc0e00000,-8
2513: sw $21,16($sp)
2514: sw $22,20($sp)
2515: sw $23,24($sp)
2516: sw $30,28($sp)
2517: sw $31,32($sp)
2518: move $30,$4
2519: move $23,$5
2520: move $22,$6
2521: beq $30,$0,L.410
2522: move $4,$30
2523: jal nodeid # int
2524: sw $2,$fp16-4($sp)
2525: move $4,$2
2526: jal printed # int
2527: move $25,$2
2528: lw $25,($25)
2529: beq $25,$0,L.408
2530: L.410:
2531: b L.407
2532: L.408:
2533: lw $4,$fp16-4($sp)
2534: jal printed # int
2535: move $25,$2
2536: li $24,1
2537: sw $24,($25)
2538: move $21,$0
2539: L.411:
2540: sll $25,$21,2
2541: la $24,24($30)
2542: addu $25,$25,$24
2543: lw $4,($25)
2544: move $5,$23
2545: addu $6,$22,1
2546: jal printdag1 # int
2547: L.412:
2548: addu $21,$21,1
2549: blt $21,6,L.411
2550: move $4,$30
2551: move $5,$23
2552: move $6,$22
2553: jal printnode # int
2554: L.407:
2555: lw $21,16($sp)
2556: lw $22,20($sp)
2557: lw $23,24($sp)
2558: lw $30,28($sp)
2559: lw $31,32($sp)
2560: addu $sp,$sp,40
2561: j $31
2562: .end printdag1
2563: .text
2564: .align 2; .ent printnode
2565: printnode:
2566: $fp17=56
2567: .frame $sp,56,$31
2568: addu $sp,$sp,-56
2569: .mask 0xc0f80000,-12
2570: sw $19,20($sp)
2571: sw $20,24($sp)
2572: sw $21,28($sp)
2573: sw $22,32($sp)
2574: sw $23,36($sp)
2575: sw $30,40($sp)
2576: sw $31,44($sp)
2577: move $30,$4
2578: move $23,$5
2579: sw $6,64($sp)
2580: beq $30,$0,L.416
2581: move $4,$30
2582: jal nodeid # int
2583: sw $2,$fp17-4($sp)
2584: move $4,$23
2585: la $5,L.418
2586: lw $25,$fp17+8($sp)
2587: bne $25,$0,L.423
2588: li $21,39
2589: b L.424
2590: L.423:
2591: li $21,35
2592: L.424:
2593: move $6,$21
2594: lw $7,$fp17-4($sp)
2595: lw $25,$fp17-4($sp)
2596: bge $25,10,L.425
2597: move $20,$0
2598: b L.426
2599: L.425:
2600: lw $25,$fp17-4($sp)
2601: bge $25,100,L.427
2602: li $19,1
2603: b L.428
2604: L.427:
2605: li $19,2
2606: L.428:
2607: move $20,$19
2608: L.426:
2609: la $25,L.420($20)
2610: sw $25,16($sp)
2611: jal fprint # int
2612: lw $4,($30)
2613: jal opname # int
2614: move $4,$23
2615: la $5,L.429
2616: move $6,$2
2617: lh $7,4($30)
2618: jal fprint # int
2619: move $22,$0
2620: b L.433
2621: L.430:
2622: sll $25,$22,2
2623: la $24,24($30)
2624: addu $25,$25,$24
2625: lw $4,($25)
2626: jal nodeid # int
2627: move $4,$23
2628: la $5,L.434
2629: move $6,$2
2630: jal fprint # int
2631: L.431:
2632: addu $22,$22,1
2633: L.433:
2634: bge $22,6,L.435
2635: sll $25,$22,2
2636: la $24,24($30)
2637: addu $25,$25,$24
2638: lw $25,($25)
2639: bne $25,$0,L.430
2640: L.435:
2641: move $22,$0
2642: b L.439
2643: L.436:
2644: move $4,$23
2645: la $5,L.440
2646: sll $25,$22,2
2647: la $24,8($30)
2648: addu $25,$25,$24
2649: lw $25,($25)
2650: lw $6,24($25)
2651: jal fprint # int
2652: L.437:
2653: addu $22,$22,1
2654: L.439:
2655: bge $22,4,L.441
2656: sll $25,$22,2
2657: la $24,8($30)
2658: addu $25,$25,$24
2659: lw $25,($25)
2660: bne $25,$0,L.436
2661: L.441:
2662: move $4,$23
2663: la $5,L.442
2664: jal fprint # int
2665: L.416:
2666: L.415:
2667: lw $19,20($sp)
2668: lw $20,24($sp)
2669: lw $21,28($sp)
2670: lw $22,32($sp)
2671: lw $23,36($sp)
2672: lw $30,40($sp)
2673: lw $31,44($sp)
2674: addu $sp,$sp,56
2675: j $31
2676: .end printnode
2677: .text
2678: .align 2; .ent remove
2679: remove:
2680: $fp18=32
2681: .frame $sp,32,$31
2682: addu $sp,$sp,-32
2683: .mask 0xc0800000,-8
2684: sw $23,16($sp)
2685: sw $30,20($sp)
2686: sw $31,24($sp)
2687: move $30,$4
2688: lw $25,nodelist
2689: beq $25,$0,L.444
2690: lw $23,nodelist
2691: b L.449
2692: L.446:
2693: L.447:
2694: lw $23,48($23)
2695: L.449:
2696: lw $25,48($23)
2697: beq $25,$30,L.450
2698: lw $24,nodelist
2699: bne $25,$24,L.446
2700: L.450:
2701: lw $25,48($23)
2702: beq $25,$30,L.451
2703: la $4,L.37
2704: la $5,L.38
2705: li $6,637
2706: jal fatal # int
2707: L.451:
2708: lw $25,48($30)
2709: sw $25,48($23)
2710: lw $25,nodelist
2711: bne $30,$25,L.452
2712: sw $23,nodelist
2713: L.452:
2714: L.444:
2715: L.443:
2716: lw $23,16($sp)
2717: lw $30,20($sp)
2718: lw $31,24($sp)
2719: addu $sp,$sp,32
2720: j $31
2721: .end remove
2722: .text
2723: .align 2; .ent reset
2724: reset:
2725: $fp19=0
2726: .frame $sp,0,$31
2727: la $24,buckets
2728: addu $25,$24,64
2729: b L.458
2730: L.455:
2731: sw $0,28($24)
2732: sw $0,24($24)
2733: sw $0,20($24)
2734: sw $0,16($24)
2735: sw $0,12($24)
2736: sw $0,8($24)
2737: sw $0,4($24)
2738: sw $0,($24)
2739: L.456:
2740: addu $24,$24,32
2741: L.458:
2742: bltu $24,$25,L.455
2743: sw $0,nodecount
2744: L.454:
2745: j $31
2746: .end reset
2747: .text
2748: .align 2; .ent trash
2749: trash:
2750: $fp20=16
2751: .frame $sp,16,$31
2752: addu $sp,$sp,-16
2753: .mask 0xc0c00000,-4
2754: sw $22,0($sp)
2755: sw $23,4($sp)
2756: sw $30,8($sp)
2757: sw $31,12($sp)
2758: sw $4,16($sp)
2759: lw $25,$fp20+0($sp)
2760: beq $25,$0,L.460
2761: move $30,$0
2762: L.462:
2763: sll $25,$30,2
2764: la $22,buckets($25)
2765: b L.469
2766: L.466:
2767: lw $25,($23)
2768: and $25,$25,0xfffffff0
2769: bne $25,64,L.470
2770: lw $25,24($23)
2771: lw $25,($25)
2772: beq $25,263,L.474
2773: beq $25,295,L.474
2774: bne $25,279,L.472
2775: L.474:
2776: lw $25,24($23)
2777: lw $25,8($25)
2778: lw $24,$fp20+0($sp)
2779: lw $24,8($24)
2780: bne $25,$24,L.470
2781: L.472:
2782: lw $25,80($23)
2783: sw $25,($22)
2784: lw $25,nodecount
2785: subu $25,$25,1
2786: sw $25,nodecount
2787: b L.471
2788: L.470:
2789: addu $22,$23,80
2790: L.471:
2791: L.467:
2792: L.469:
2793: lw $25,($22)
2794: move $23,$25
2795: bne $25,$0,L.466
2796: L.463:
2797: addu $30,$30,1
2798: blt $30,16,L.462
2799: b L.461
2800: L.460:
2801: lw $25,nodecount
2802: ble $25,$0,L.475
2803: jal reset # int
2804: L.475:
2805: L.461:
2806: L.459:
2807: lw $22,0($sp)
2808: lw $23,4($sp)
2809: lw $30,8($sp)
2810: lw $31,12($sp)
2811: addu $sp,$sp,16
2812: j $31
2813: .end trash
2814: .text
2815: .align 2; .ent typestab
2816: typestab:
2817: $fp21=32
2818: .frame $sp,32,$31
2819: addu $sp,$sp,-32
2820: .mask 0xc0800000,-8
2821: sw $23,16($sp)
2822: sw $30,20($sp)
2823: sw $31,24($sp)
2824: move $30,$4
2825: sw $5,36($sp)
2826: lw $25,40($30)
2827: lw $25,($25)
2828: blt $25,15,L.481
2829: lw $25,40($30)
2830: lw $23,12($25)
2831: b L.482
2832: L.481:
2833: lw $23,40($30)
2834: L.482:
2835: lw $25,($23)
2836: beq $25,11,L.478
2837: lbu $25,30($30)
2838: beq $25,74,L.483
2839: bne $25,81,L.478
2840: L.483:
2841: lw $25,IR
2842: lw $25,124($25)
2843: beq $25,$0,L.478
2844: move $4,$30
2845: lw $25,IR
2846: lw $25,124($25)
2847: jal $25 # int
2848: b L.479
2849: L.478:
2850: lbu $25,30($30)
2851: beq $25,83,L.486
2852: bne $25,$0,L.484
2853: L.486:
2854: lw $25,IR
2855: lw $25,128($25)
2856: beq $25,$0,L.484
2857: move $4,$30
2858: lw $25,IR
2859: lw $25,128($25)
2860: jal $25 # int
2861: L.484:
2862: L.479:
2863: L.477:
2864: lw $23,16($sp)
2865: lw $30,20($sp)
2866: lw $31,24($sp)
2867: addu $sp,$sp,32
2868: j $31
2869: .end typestab
2870: .text
2871: .align 2; .ent undag
2872: undag:
2873: $fp22=112
2874: .frame $sp,112,$31
2875: addu $sp,$sp,-112
2876: .mask 0xc0c00000,-84
2877: sw $22,16($sp)
2878: sw $23,20($sp)
2879: sw $30,24($sp)
2880: sw $31,28($sp)
2881: sw $4,112($sp)
2882: lw $25,$fp22+0($sp)
2883: sw $25,$fp22-32($sp)
2884: la $23,$fp22-80($sp)
2885: b L.492
2886: L.489:
2887: lw $22,48($30)
2888: sw $23,48($30)
2889: lw $25,($30)
2890: and $25,$25,0xfffffff0
2891: bne $25,64,L.493
2892: lh $25,4($30)
2893: bge $25,1,L.495
2894: la $4,L.37
2895: la $5,L.38
2896: li $6,695
2897: jal fatal # int
2898: L.495:
2899: move $4,$30
2900: move $5,$30
2901: jal undag1 # int
2902: lw $23,48($30)
2903: sw $22,48($23)
2904: sw $0,48($30)
2905: b L.494
2906: L.493:
2907: lw $25,($30)
2908: move $24,$25
2909: and $24,$24,0xfffffff0
2910: beq $24,208,L.503
2911: lw $24,IR
2912: lw $24,28($24)
2913: and $24,$24,0x10000000
2914: beq $24,$0,L.496
2915: beq $25,453,L.503
2916: beq $25,357,L.503
2917: beq $25,469,L.503
2918: beq $25,454,L.503
2919: beq $25,358,L.503
2920: bne $25,470,L.496
2921: L.503:
2922: lh $25,4($30)
2923: blt $25,1,L.496
2924: move $4,$30
2925: move $5,$30
2926: jal undag1 # int
2927: lw $25,48($30)
2928: move $24,$25
2929: beq $24,$0,L.506
2930: lw $24,($25)
2931: and $24,$24,0xfffffff0
2932: bne $24,48,L.506
2933: lw $25,28($25)
2934: beq $25,$30,L.504
2935: L.506:
2936: la $4,L.37
2937: la $5,L.38
2938: li $6,711
2939: jal fatal # int
2940: L.504:
2941: lw $23,48($30)
2942: sw $22,48($23)
2943: sw $0,48($30)
2944: b L.497
2945: L.496:
2946: lh $25,4($30)
2947: beq $25,$0,L.507
2948: la $4,L.37
2949: la $5,L.38
2950: li $6,730
2951: jal fatal # int
2952: L.507:
2953: move $4,$30
2954: move $5,$30
2955: jal undag1 # int
2956: sw $22,48($30)
2957: move $23,$30
2958: L.497:
2959: L.494:
2960: L.490:
2961: L.492:
2962: lw $25,48($23)
2963: move $30,$25
2964: bne $25,$0,L.489
2965: move $4,$0
2966: li $5,5
2967: jal rmtemps # int
2968: lw $2,$fp22-32($sp)
2969: L.487:
2970: lw $22,16($sp)
2971: lw $23,20($sp)
2972: lw $30,24($sp)
2973: lw $31,28($sp)
2974: addu $sp,$sp,112
2975: j $31
2976: .end undag
2977: .text
2978: .align 2; .ent undag1
2979: undag1:
2980: $fp23=40
2981: .frame $sp,40,$31
2982: addu $sp,$sp,-40
2983: .mask 0xc0c00000,-12
2984: sw $22,16($sp)
2985: sw $23,20($sp)
2986: sw $30,24($sp)
2987: sw $31,28($sp)
2988: move $30,$4
2989: sw $5,44($sp)
2990: bne $30,$0,L.510
2991: b L.511
2992: L.510:
2993: lw $25,16($30)
2994: beq $25,$0,L.512
2995: lw $25,16($30)
2996: lw $25,40($25)
2997: lw $25,($25)
2998: blt $25,15,L.518
2999: lw $25,16($30)
3000: lw $25,40($25)
3001: lw $22,12($25)
3002: b L.519
3003: L.518:
3004: lw $25,16($30)
3005: lw $22,40($25)
3006: L.519:
3007: lw $25,($22)
3008: bne $25,6,L.516
3009: li $23,5
3010: b L.517
3011: L.516:
3012: lw $25,16($30)
3013: lw $4,40($25)
3014: jal ttob # int
3015: move $23,$2
3016: L.517:
3017: li $4,295
3018: move $5,$0
3019: move $6,$0
3020: lw $7,16($30)
3021: jal newnode # int
3022: addu $4,$23,64
3023: move $5,$2
3024: move $6,$0
3025: move $7,$0
3026: jal newnode # int
3027: move $25,$2
3028: sw $25,$fp23-4($sp)
3029: lw $25,$fp23-4($sp)
3030: li $24,1
3031: sh $24,4($25)
3032: lh $25,4($30)
3033: subu $25,$25,1
3034: sh $25,4($30)
3035: sll $25,$25,16; sra $25,$25,16
3036: bne $25,1,L.520
3037: sw $0,16($30)
3038: L.520:
3039: lw $30,$fp23-4($sp)
3040: b L.513
3041: L.512:
3042: lh $25,4($30)
3043: bgt $25,1,L.531
3044: lw $25,($30)
3045: move $24,$25
3046: and $24,$24,0xfffffff0
3047: beq $24,208,L.531
3048: lw $24,IR
3049: lw $24,28($24)
3050: and $24,$24,0x10000000
3051: beq $24,$0,L.537
3052: beq $25,453,L.531
3053: beq $25,357,L.531
3054: beq $25,469,L.531
3055: beq $25,454,L.531
3056: beq $25,358,L.531
3057: bne $25,470,L.537
3058: L.531:
3059: lh $25,4($30)
3060: bne $25,$0,L.522
3061: lw $25,($30)
3062: move $24,$25
3063: and $24,$24,0xfffffff0
3064: beq $24,208,L.537
3065: lw $24,IR
3066: lw $24,28($24)
3067: and $24,$24,0x10000000
3068: beq $24,$0,L.522
3069: beq $25,453,L.537
3070: beq $25,357,L.537
3071: beq $25,469,L.537
3072: beq $25,454,L.537
3073: beq $25,358,L.537
3074: bne $25,470,L.522
3075: L.537:
3076: lw $4,24($30)
3077: lw $5,$fp23+4($sp)
3078: jal undag1 # int
3079: move $25,$2
3080: sw $25,24($30)
3081: lw $4,28($30)
3082: lw $5,$fp23+4($sp)
3083: jal undag1 # int
3084: move $25,$2
3085: sw $25,28($30)
3086: b L.523
3087: L.522:
3088: lw $25,($30)
3089: beq $25,295,L.540
3090: bne $25,279,L.538
3091: L.540:
3092: lw $25,$fp23+4($sp)
3093: bne $30,$25,L.541
3094: la $4,L.37
3095: la $5,L.38
3096: li $6,765
3097: jal fatal # int
3098: L.541:
3099: lw $4,($30)
3100: move $5,$0
3101: move $6,$0
3102: lw $7,8($30)
3103: jal newnode # int
3104: move $30,$2
3105: li $25,1
3106: sh $25,4($30)
3107: b L.539
3108: L.538:
3109: lw $25,($30)
3110: and $25,$25,0xfffffff0
3111: bne $25,64,L.542
3112: lw $25,24($30)
3113: lw $25,($25)
3114: beq $25,295,L.544
3115: bne $25,279,L.542
3116: L.544:
3117: lw $25,24($30)
3118: lw $25,8($25)
3119: lbu $25,30($25)
3120: bne $25,78,L.542
3121: lw $25,$fp23+4($sp)
3122: beq $30,$25,L.542
3123: lw $25,24($30)
3124: lw $4,($25)
3125: move $5,$0
3126: move $6,$0
3127: lw $7,8($25)
3128: jal newnode # int
3129: lw $4,($30)
3130: move $5,$2
3131: move $6,$0
3132: move $7,$0
3133: jal newnode # int
3134: move $30,$2
3135: li $25,1
3136: sh $25,4($30)
3137: b L.543
3138: L.542:
3139: lw $25,($30)
3140: bne $25,73,L.545
3141: lh $25,4($30)
3142: subu $25,$25,1
3143: sh $25,4($30)
3144: lw $4,($30)
3145: lw $5,24($30)
3146: move $6,$0
3147: move $7,$0
3148: jal newnode # int
3149: move $30,$2
3150: li $25,1
3151: sh $25,4($30)
3152: lw $4,24($30)
3153: lw $5,$fp23+4($sp)
3154: jal undag1 # int
3155: move $25,$2
3156: sw $25,24($30)
3157: b L.546
3158: L.545:
3159: lw $4,($30)
3160: jal btot # int
3161: li $4,78
3162: move $5,$2
3163: jal temporary # int
3164: move $25,$2
3165: sw $25,16($30)
3166: lw $25,16($30)
3167: lw $25,32($25)
3168: and $25,$25,0x80000000
3169: bne $25,$0,L.547
3170: lw $25,16($30)
3171: li $24,5
3172: sh $24,28($25)
3173: lw $25,16($30)
3174: l.s $f18,L.291
3175: s.s $f18,36($25)
3176: lw $4,16($30)
3177: lw $25,IR
3178: lw $25,84($25)
3179: jal $25 # int
3180: lw $25,16($30)
3181: lw $24,32($25)
3182: or $24,$24,0x80000000
3183: sw $24,32($25)
3184: L.547:
3185: lw $4,24($30)
3186: lw $5,$fp23+4($sp)
3187: jal undag1 # int
3188: move $25,$2
3189: sw $25,24($30)
3190: lw $4,28($30)
3191: lw $5,$fp23+4($sp)
3192: jal undag1 # int
3193: move $25,$2
3194: sw $25,28($30)
3195: lw $25,16($30)
3196: lw $25,40($25)
3197: lw $25,($25)
3198: blt $25,15,L.553
3199: lw $25,16($30)
3200: lw $25,40($25)
3201: lw $22,12($25)
3202: b L.554
3203: L.553:
3204: lw $25,16($30)
3205: lw $22,40($25)
3206: L.554:
3207: lw $25,($22)
3208: bne $25,6,L.551
3209: li $23,5
3210: b L.552
3211: L.551:
3212: lw $25,16($30)
3213: lw $4,40($25)
3214: jal ttob # int
3215: move $23,$2
3216: L.552:
3217: li $4,295
3218: move $5,$0
3219: move $6,$0
3220: lw $7,16($30)
3221: jal newnode # int
3222: addu $4,$23,48
3223: move $5,$2
3224: move $6,$30
3225: move $7,$0
3226: jal newnode # int
3227: move $25,$2
3228: sw $25,$fp23-4($sp)
3229: lw $25,16($30)
3230: lw $25,40($25)
3231: lw $4,8($25)
3232: jal intconst # int
3233: lw $25,$fp23-4($sp)
3234: move $24,$2
3235: sw $24,8($25)
3236: lw $25,16($30)
3237: lw $25,40($25)
3238: lh $4,4($25)
3239: jal intconst # int
3240: lw $25,$fp23-4($sp)
3241: move $24,$2
3242: sw $24,12($25)
3243: lw $25,$fp23+4($sp)
3244: lw $24,48($25)
3245: lw $15,$fp23-4($sp)
3246: sw $15,48($24)
3247: sw $15,48($25)
3248: lw $25,$fp23-4($sp)
3249: lw $24,$fp23+4($sp)
3250: sw $24,48($25)
3251: lw $25,$fp23+4($sp)
3252: beq $30,$25,L.555
3253: move $4,$30
3254: lw $5,$fp23+4($sp)
3255: jal undag1 # int
3256: move $30,$2
3257: L.555:
3258: L.546:
3259: L.543:
3260: L.539:
3261: L.523:
3262: L.513:
3263: L.511:
3264: move $2,$30
3265: L.509:
3266: lw $22,16($sp)
3267: lw $23,20($sp)
3268: lw $30,24($sp)
3269: lw $31,28($sp)
3270: addu $sp,$sp,40
3271: j $31
3272: .end undag1
3273: .globl walk
3274: .text
3275: .align 2; .ent walk
3276: walk:
3277: $fp24=24
3278: .frame $sp,24,$31
3279: addu $sp,$sp,-24
3280: .mask 0x80000000,-8
3281: sw $31,16($sp)
3282: sw $4,24($sp)
3283: sw $5,28($sp)
3284: sw $6,32($sp)
3285: lw $4,$fp24+0($sp)
3286: lw $5,$fp24+4($sp)
3287: lw $6,$fp24+8($sp)
3288: jal listnodes # int
3289: lw $25,nodelist
3290: beq $25,$0,L.558
3291: move $4,$0
3292: jal trash # int
3293: li $4,8
3294: jal code # int
3295: lw $25,codelist
3296: lw $24,nodelist
3297: lw $24,48($24)
3298: sw $24,12($25)
3299: lw $25,nodelist
3300: sw $0,48($25)
3301: sw $0,nodelist
3302: li $4,78
3303: move $5,$0
3304: jal rmtemps # int
3305: L.558:
3306: jal reset # int
3307: sw $0,ntree
3308: L.557:
3309: lw $31,16($sp)
3310: addu $sp,$sp,24
3311: j $31
3312: .end walk
3313: .lcomm nodelist,4
3314: .lcomm buckets,64
3315: .extern voidtype 4
3316: .extern voidptype 4
3317: .extern unsignedtype 4
3318: .extern unsignedshort 4
3319: .extern unsignedlong 4
3320: .extern unsignedchar 4
3321: .extern signedchar 4
3322: .extern shorttype 4
3323: .extern longtype 4
3324: .extern longdouble 4
3325: .extern inttype 4
3326: .extern floattype 4
3327: .extern doubletype 4
3328: .extern chartype 4
3329: .extern transient 4
3330: .extern permanent 4
3331: .extern refinc 4
3332: .extern density 4
3333: .extern needconst 4
3334: .extern opnode 0
3335: .extern wflag 4
3336: .extern errlimit 4
3337: .extern errcnt 4
3338: .extern bp 4
3339: .extern events 24
3340: .extern npoints 4
3341: .extern ncalled 4
3342: .extern xref 4
3343: .extern glevel 4
3344: .extern YYnull 4
3345: .extern Pflag 4
3346: .extern Aflag 4
3347: .extern tsym 4
3348: .extern token 4
3349: .extern t 4
3350: .extern src 8
3351: .extern kind 0
3352: .extern lineno 4
3353: .extern line 4
3354: .extern limit 4
3355: .extern firstfile 4
3356: .extern file 4
3357: .extern cp 4
3358: .extern ntree 4
3359: .extern retv 4
3360: .extern fname 4
3361: .extern cfunc 4
3362: .globl nodecount
3363: .comm nodecount,4
3364: .extern symbols 4
3365: .extern level 4
3366: .extern types 4
3367: .extern labels 0
3368: .extern identifiers 4
3369: .extern globals 4
3370: .extern externals 4
3371: .extern constants 4
3372: .extern bnumber 4
3373: .extern IR 4
3374: .extern interfaces 0
3375: .extern genx 4
3376: .extern salign 4
3377: .extern dalign 4
3378: .extern vmask 0
3379: .extern usedmask 0
3380: .extern tmask 0
3381: .extern tempmask 0
3382: .extern savemask 0
3383: .extern savebase 0
3384: .extern rmap 0
3385: .extern regvars 4
3386: .extern regs 4
3387: .extern opcodes 4
3388: .extern nregsets 4
3389: .extern rflag 4
3390: .extern pflag 4
3391: .extern kflag 4
3392: .extern dflag 4
3393: .extern bflag 4
3394: .extern offset 4
3395: .extern ncalls 4
3396: .extern maxoffset 4
3397: .extern last 4
3398: .extern freemask 0
3399: .extern eemask 0
3400: .extern asmstr 0
3401: .extern argoffset 4
3402: .extern argbuildsize 4
3403: .rdata
3404: L.442:.byte 10,0
3405: L.440:.ascii " %s\000"
3406: L.434:.ascii " #%d\000"
3407: L.429:.ascii "%s count=%d\000"
3408: L.420:.ascii " \000"
3409: L.418:.ascii "%c%d%s\000"
3410: L.406:.ascii "node'%d printed above\012\000"
3411: .align 2; L.291:.word 0x3f800000
3412: .align 2; L.148:.word 0x0
3413: L.51:.ascii "unreachable code\012\000"
3414: L.38:.ascii "assertion failure at line %d\012\000"
3415: L.37:.ascii "../c/dag.c\000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.