For Rectangular Loops :
----------------------

-3
<func name>
! loop <loop no>
<min iterations> <max iterations> -1 -1
! loop <loop no>
...
...
-3
<func name>


The functions and loops must be in the same order as in the assembly file.
the loop number must start from 1 and must be in increasing order, and differ
by one from the previous loop number.

For Non-Rectangular loops:
-------------------------
-3
<func name>
!loop <loop no>
-4 r[reg_num] <initial_val> <final_val> <loop_inc> s <min_iterations> <max_iterations> -1 -1
!loop <loop no>
-3 <iter_mode> <initial_rtl> <inner_loop_limit> <rel_op>
<inner_loop_inc> <dependant_outer_loop_number> <c/r><outer_init_val>
<c/r><outer_max_value> <outer_loop_inc> -1 -1

where :
iter_mode : 0/1 for averaging mode/non-averaging mode
rel_op : 1/2/3/4/5/6 for eq/ne/gt/lt/ge/le
c - constant, r - register : in register case, provide register number and a
loop number assoc with that reg.


Eg : for the following loop :
for( i = 0 ; i < 10 ; ++i )
	for( j = 0 ; j < i ; ++j ) {}

loop file would be :
...
!loop 1
-4 r[15] 0 10 1 s 10 10 -1 -1
!loop 2
-3 0 r[16]+0 10 4 1 1 c0 c10 1 -1 -1

