nld and noft Manual

noft Utility
nld and noft Manual520384-003
4-8
Debugging With noft
Example 4-4 shows the noft output for the compute() function in Example 4-3 on
page 4-7 compiled at optimize 0. The native compilers perform no optimizations at
optimize 0.
Example 4-4. Optimize 0 Listing
noft> dumpproc compute
******** Innerlist Dump Of Procedure: compute ********
Procedure Src Line Address Long Word Instructions
-------------------------------------------------------------------
14 long compute(long a[])
[compute 14000] 0x70000470 0x27bdfff8 addiu sp,sp,0xfffffff8
15 {
16 long b;
17 int c,i;
18 b=0;
[compute 18000] 0x70000474 0xafa00004 sw zero,0x4(sp)
19 for (i=0; i<20; i++)
[compute 19000] 0x70000478 0xafa00000 sw zero,0(sp)
20 b += a[i];
[compute 20000] 0x7000047c 0x8fae0004 lw t6,0x4(sp)
[compute 20000] 0x70000480 0x8faf0000 lw t7,0(sp)
[compute 20000] 0x70000484 0000000000 nop
[compute 20000] 0x70000488 0x000fc080 sll t8,t7,2
[compute 20000] 0x7000048c 0x0098c821 addu t9,a0,t8
[compute 20000] 0x70000490 0x8f280000 lw t0,0(t9)
[compute 20000] 0x70000494 0000000000 nop
[compute 20000] 0x70000498 0x01c84821 addu t1,t6,t0
[compute 20000] 0x7000049c 0xafa90004 sw t1,0x4(sp)
[compute 20000] 0x700004a0 0x25ea0001 addiu t2,t7,0x1
[compute 20000] 0x700004a4 0xafaa0000 sw t2,0(sp)
[compute 20000] 0x700004a8 0x29410014 slti at,t2,0x14
[compute 20000] 0x700004ac 0x1420fff3 bne at,zero,0x7000047c
[compute 20000] 0x700004b0 0000000000 nop
21 return b;
[compute 21000] 0x700004b4 0x8fa20004 lw v0,0x4(sp)
[compute 21000] 0x700004b8 0x10000001 b 0x700004c0
[compute 21000] 0x700004bc 0000000000 nop
22 }
[compute 22000] 0x700004c0 0x03e00008 jr ra
[compute 22000] 0x700004c4 0x27bd0008 addiu sp,sp,0x8