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]

if-conversion pass


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. 

d-condexec-0430.gz


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