(RFA): Enable first scheduling pass for SH4

Sanjiv Kumar Gupta, Noida sanjivg@noida.hcltech.com
Wed Sep 3 08:28:00 GMT 2003


Hi,

The attached patch enables the first scheduling pass for SH4.
The insn movement is throttled taking the register pressure 
heuristics into account. The earlier discussion on this topic
is at

http://gcc.gnu.org/ml/gcc/2003-04/threads.html#01445  

The overall idea is to keep 
count of SImode and SFmode regs required by 
already scheduled insns. When these counts cross 
some threshold values; give higher priority to insns 
that free registers. The insn that frees registers is most 
likely to be the insn with lowest LUID (original insn order); 
but such an insn might be there in the stalled queue (Q) 
instead of the ready queue (R). To solve this, we skip cycles 
upto a max of 8 cycles so that such insns may move from 
Q -> R.

The results seem good. We get significant performance gain 
on some benchmarks (GSM compression, JPEG compression). The 
performance data is attached.

The figures are average execution timings (in seconds)for  
sample data, run several times. The % reduction 
in time is also indicated.

=========================================================
Benchmark 	    -fno-schedule-insns   -fschedule-insns  
=========================================================
Gsm compression	 31.83	          26.16 (+17 %)	
Gsm decompression	 17.72	          16.94 (+4.4 %)	
cjpeg -dct int	 2.30		          2.34  (-1.7 %)
cjpeg -dct float	 2.12			    2.19  (-3 %)	
djpeg -dct int	 1.53			    1.45  (+5 %)	
djpeg -dct float	 1.69			    1.42  (+15 %)
gzip			 225			    222   (+1 %)
gunzip		17.30			    16.69 (+3.5 %)	
Mpg123	       1.29		          1.26 (+2%)	
---------------------------------------------------------
HINT (results in QUIPS)
-----------------------
INT		     5102029.742473	5349600.780303(+4.8 %)	
FLOAT		     4769935.443263	5049562.236025(+5.8 %)	
DOUBLE	     3296055.498210	3271869.361460(-0.7 %)	
===========================================================

The patch is regtested for SH. This is enabled for SH4 only at the moment. 
Comments and reactions awaited.

Regards,
--Sanjiv.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ChangeLog.ISP1
Type: application/octet-stream
Size: 877 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20030903/302bd7e9/attachment.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: PATCH_20030902.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20030903/302bd7e9/attachment.txt>


More information about the Gcc-patches mailing list