A workaround for PR 19038

Mostafa Hagog MUSTAFA@il.ibm.com
Wed Dec 29 04:58:00 GMT 2004





The attached patch implements loop header copying in the RTL level
to work around the problem in http://gcc.gnu.org/PR19038
I know that this patch is controversial, but it could be added
at first at -O3 (or -O2) and disabled after the final fix in
out-of-ssa. Anyhow, I thought it would be helpful to put the
patch on the mailing list.
Currently this patch buy us improvements of 3.5% on SPEC (a 66%
for 176.gcc benchmark) on a G5 machine.  Compile time wasn't
affected by this patch, following are the compile time results
on a G5:

% time gcc -c -O3 generate-3.4.ii
53.140u 1.590s 0:54.70 100.0%   0+0k 0+12io 0pf+0w
% time gcc -c -frtl-loop-hc -O3 generate-3.4.ii
53.140u 1.670s 0:54.82 99.9%    0+0k 0+11io 0pf+0w
% time ./compile_i_files.sh gcc
150.220u 15.050s 2:45.46 99.8%  0+0k 0+124io 0pf+0w
% time ./compile_i_files.sh gcc -frtl-loop-hc
150.340u 14.850s 2:45.53 99.7%  0+0k 0+115io 0pf+0w
% time ./compile_i_files.sh gcc -O3
656.550u 33.980s 11:30.50 100.0%        0+0k 0+296io 0pf+0w
% time ./compile_i_files.sh gcc -O3 -frtl-loop-hc
658.510u 35.090s 11:33.77 99.9% 0+0k 0+313io 0pf+0w

Mostafa.


(See attached file: rtl_loop_ch.patch)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rtl_loop_ch.patch
Type: application/octet-stream
Size: 10631 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20041229/90a8eaaf/attachment.obj>


More information about the Gcc mailing list