if-conversion pass

Richard Henderson rth@cygnus.com
Sun Apr 30 04:11:00 GMT 2000


Here's the bulk of the work from the condexec branch: a brand new
set of if-conversion routines.  Not only do they support cond_exec,
but also replace the unmanagable code from jump.c. 

The new code identifies more transformations, plus it runs faster
than the old code.  Compilation time (with an optimized stage1 cc1)
on x86 insn-recog.c, for instance, went down from 59 sec to 30 sec.

The only thing remaining on the condexec branch is the d30v port,
which I shall bring over shortly.



r~


        * ifcvt.c: New file.
        * Makefile.in (OBJS): Add it.
        (ifcvt.o): New target.
        * jump.c (jump_optimize_1): Remove all code related to if-conversion,
        and conditional arithmetic.
        (find_insert_position): Remove.
        * timevar.def (TV_IFCVT, TV_IFCVT2): New.
        * toplev.c (DFI_ce, DFI_ce2): New.
        (dump_file): Add ce and ce2 dumps.
        (rest_of_compilation): Run if_convert a couple o times.  Set
        cse_not_expected after cse2.  Don't set no_new_pseudos until
        after sched1 or recompute_reg_usage. 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: d-condexec-0430.gz
Type: application/x-gzip
Size: 30739 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20000430/d6410f64/attachment.bin>


More information about the Gcc-patches mailing list