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]

[PATCH] GCSE after reload - resubmit (SPECint +1.5% fp -0.5%).


Request to approve resubmission to mainline.
Previously discussed in these threads:
http://gcc.gnu.org/ml/gcc-patches/2003-10/msg01128.html
http://gcc.gnu.org/ml/gcc-patches/2003-10/msg01209.html
http://gcc.gnu.org/ml/gcc-patches/2004-01/msg02041.html

Spec results : Improved SPECint by 0.3% eon by 3.5% ,
Bootstrap time comparison on a powerpc-apple-darwin7.2.0:
-O3 vanilla:
   3951.850u 1886.090s 1:33:51.21 103.6%   0+0k 665+7928io 0pf+0w
-O3 gcse-after-reload patched:
   3964.530u 1881.950s 1:33:58.02 103.6%   0+0k 980+9177io 0pf+0w

Bootstrapp: passed on  i686-pc-linux-gnu and powerpc-apple-darwin7.2
Regtests: passed on powepc-apple-darwin7.2
          one FAIL on i686-pc-linux-gnu, due to a bug in
doloop_end_internal
          I have asked for comment on that in
          http://gcc.gnu.org/ml/gcc/2004-02/msg00997.html

SPEC results on G5 - Additional tuning could be made
but we should make this when the mainline stabilizes.

                     Vanilla    gcse-after-reload patched
164.gzip                775         803   3.6%
175.vpr                 513         504   -1.8%
176.gcc
181.mcf                 500         500   0.0%
186.crafty              868         872   0.5%
197.parser              679         681   0.3%
252.eon                 828         819   -1.1%
253.perlbmk             730         844   15.6%
254.gap                 811         790   -2.6%
255.vortex              952         964   1.3%
256.bzip2               619         622   0.5%
300.twolf               605         606   0.2%
Est. SPECint            702.2       712.0 1.4%

168.wupwise       895         895   0.0%
171.swim          249         249   0.0%
172.mgrid         643         643   0.0%
173.applu         647         660   2.0%
177.mesa          904         905   0.1%
178.galgel        696         697   0.1%
179.art           624         590   -5.4%
183.equake        996         994   -0.2%
187.facerec       1142        1143  0.1%
188.ammp          398         398   0.0%
189.lucas         530         530   0.0%
191.fma3d         970         969   -0.1%
200.sixtrac       578         562   -2.8%
301.apsi          554         554   0.0%
Est. SPECfp       656         653   -0.5%


ChangeLog entry
---------------
2004-02-17  Mostafa Hagog  <mustafa@il.ibm.com>

      * common.opt : Add description of the new -fgcse-after-reload flag.

      * flags.h (flag_gcse_after_reload): Declaration of global variable.

      * gcse.c: (reg_used_on_edge ,reg_set_between_after_reload_p,
      reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
      is_jump_table_basic_block, bb_has_well_behaved_predecessors,
      get_bb_avail_insn, hash_scan_set_after_reload,
      compute_hash_table_after_reload, eliminate_partially_redundant_loads,
      gcse_after_reload, get_bb_avail_insn): New functions to implement the
      gcse-after-reload.
      (gcse_after_reload_main): New fucntion, the main entry point to
      gcse-after-reload.

      * rtl.h: (gcse_after_reload_main): Declaration of the new function.

      * opts.c:
      (common_handle_option): Handle the -fgcse-after-reload flag.

      * toplev.c (flag_gcse_after_reload): Initialization.
                 (rest_of_handl_gcse2): Call gcse_after_reload_main.

      * doc/invoke.texi: Documetation for the new flag gcse-after-reload.

(See attached file: gcse-after-reload2.patch)

Attachment: gcse-after-reload2.patch
Description: Binary data


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