This is the mail archive of the gcc-bugs@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]

[Bug rtl-optimization/31360] [4.2/4.3 Regression] rtl loop invariant is broken



------- Comment #15 from rakdver at gcc dot gnu dot org  2007-04-17 17:42 -------
Subject: Bug 31360

Author: rakdver
Date: Tue Apr 17 17:42:29 2007
New Revision: 123919

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123919
Log:
        PR rtl-optimization/31360
        * cfgloopanal.c (target_small_cost, target_pres_cost): Removed.
        (target_reg_cost): New.
        (init_set_costs): Initialize target_reg_cost.  Add comments
        regarding the rationale of the costs.
        (global_cost_for_size): Renamed to...
        (estimate_reg_pressure_cost): ... and simplify.  Decrease importance
        of register pressure.
        * tree-ssa-loop-ivopts.c (ivopts_global_cost_for_size): Use
        estimate_reg_pressure_cost.  Add number of ivs.
        (determine_set_costs): Dump target_reg_cost.
        * loop-invariant.c (gain_for_invariant):  Use
        estimate_reg_pressure_cost.  Removed n_inv_uses argument.
        (best_gain_for_invariant, find_invariants_to_move): Remove
        n_inv_uses.
        * cfgloop.h (target_small_cost, target_pres_cost): Removed.
        (target_reg_cost): Declare.
        (global_cost_for_size): Declaration removed.
        (estimate_reg_pressure_cost): Declare.

        * gcc.dg/loop-7.c: New test.


Added:
    trunk/gcc/testsuite/gcc.dg/loop-7.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgloop.h
    trunk/gcc/cfgloopanal.c
    trunk/gcc/loop-invariant.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-loop-ivopts.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31360


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