PR rtl-optimization/39871 PR rtl-optimization/40615 PR rtl-optimization/42500 PR rtl-optimization/42502 * ira.c (init_reg_equiv_memory_loc: New function. (ira): Call it twice. * reload.h (calculate_elim_costs_all_insns): Declare. * ira-costs.c: Include "reload.h". (regno_equiv_gains): New static variable. (init_costs): Allocate it. (finish_costs): Free it. (ira_costs): Call calculate_elim_costs_all_insns. (find_costs_and_classes): Take estimated elimination costs into account. (ira_adjust_equiv_reg_cost): New function. * ira.h (ira_adjust_equiv_reg_cost): Declare it. * reload1.c (init_eliminable_invariants, free_reg_equiv, elimination_costs_in_insn, note_reg_elim_costly): New static functions. (elim_bb): New static variable. (reload): Move code out of here into init_eliminable_invariants and free_reg_equiv. Call them. (calculate_elim_costs_all_insns): New function. (eliminate_regs_1): Declare. Add extra arg FOR_COSTS; all callers changed. If FOR_COSTS is true, don't call alter_reg, but call note_reg_elim_costly if we turned a valid memory address into an invalid one. * Makefile.in (ira-costs.o): Depend on reload.h. testsuite/ PR rtl-optimization/39871 PR rtl-optimization/40615 PR rtl-optimization/42500 PR rtl-optimization/42502 * gcc.target/arm/eliminate.c: New test. From-SVN: r160260
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| ada/acats | Loading commit data... | |
| c-c++-common | Loading commit data... | |
| config | Loading commit data... | |
| g++.dg | Loading commit data... | |
| g++.old-deja | Loading commit data... | |
| gcc.c-torture | Loading commit data... | |
| gcc.dg | Loading commit data... | |
| gcc.misc-tests | Loading commit data... | |
| gcc.target | Loading commit data... | |
| gcc.test-framework | Loading commit data... | |
| gfortran.dg | Loading commit data... | |
| gfortran.fortran-torture | Loading commit data... | |
| gnat.dg | Loading commit data... | |
| lib | Loading commit data... | |
| obj-c++.dg | Loading commit data... | |
| objc | Loading commit data... | |
| objc-obj-c++-shared | Loading commit data... | |
| objc.dg | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog-1993-2007 | Loading commit data... | |
| ChangeLog-2008 | Loading commit data... | |
| ChangeLog-2009 | Loading commit data... | |
| ChangeLog.graphite | Loading commit data... | |
| ChangeLog.ptr | Loading commit data... | |
| ChangeLog.tree-ssa | Loading commit data... | |
| README | Loading commit data... | |
| README.QMTEST | Loading commit data... | |
| README.compat | Loading commit data... | |
| README.gcc | Loading commit data... |