This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

(RFA): Enable first scheduling pass for SH4


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.

Attachment: ChangeLog.ISP1
Description: Binary data

Attachment: PATCH_20030902.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]