[Bug middle-end/40386] wrong code generation for several SPEC CPU2000 benchmarks (lucas, mgrid, face, applu, apsi) with -O1 -fno-ira-share-spill-slots

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #10 from vmakarov at gcc dot gnu dot org  2010-09-09 13:43 
---
Subject: Bug 40386

Author: vmakarov
Date: Thu Sep  9 13:42:51 2010
New Revision: 164095

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164095
Log:
2010-09-08  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/40386
* ira.c (pseudo_for_reload_consideration_p): Don't use
flag_ira_share_spill_slots.

2010-09-08  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/40386
* gcc.c-torture/execute/{pr40386.c,pr40386.x}: New testcase.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/execute/pr40386.c
branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/execute/pr40386.x
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/ira.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/40386] wrong code generation for several SPEC CPU2000 benchmarks (lucas, mgrid, face, applu, apsi) with -O1 -fno-ira-share-spill-slots

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #11 from vmakarov at gcc dot gnu dot org  2010-09-09 13:47 
---
Subject: Bug 40386

Author: vmakarov
Date: Thu Sep  9 13:47:14 2010
New Revision: 164097

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164097
Log:
2010-09-08  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/40386
* ira.c (pseudo_for_reload_consideration_p): Don't use
flag_ira_share_spill_slots.

2010-09-08  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/40386
* gcc.c-torture/execute/{pr40386.c,pr40386.x}: New testcase.


Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.c-torture/execute/pr40386.c
branches/gcc-4_5-branch/gcc/testsuite/gcc.c-torture/execute/pr40386.x
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/ira.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/40386] wrong code generation for several SPEC CPU2000 benchmarks (lucas, mgrid, face, applu, apsi) with -O1 -fno-ira-share-spill-slots

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #12 from vmakarov at gcc dot gnu dot org  2010-09-09 13:51 
---
Subject: Bug 40386

Author: vmakarov
Date: Thu Sep  9 13:51:25 2010
New Revision: 164100

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164100
Log:
2010-09-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/40386
* ira.c (pseudo_for_reload_consideration_p): Don't use
flag_ira_share_spill_slots.

2010-09-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/40386
* gcc.c-torture/execute/{pr40386.c,pr40386.x}: New testcase.



Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr40386.c
trunk/gcc/testsuite/gcc.c-torture/execute/pr40386.x
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/44554] Stack space after sigsetjmp is reused

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #11 from vmakarov at gcc dot gnu dot org  2010-09-09 13:54 
---
Subject: Bug 44554

Author: vmakarov
Date: Thu Sep  9 13:53:32 2010
New Revision: 164102

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164102
Log:
2010-09-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/44554
* ira.c (ira): Switch off sharing spill slots if setjmp is called.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c


-- 


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




[Bug middle-end/44554] Stack space after sigsetjmp is reused

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #12 from vmakarov at gcc dot gnu dot org  2010-09-09 13:56 
---
Subject: Bug 44554

Author: vmakarov
Date: Thu Sep  9 13:55:35 2010
New Revision: 164105

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164105
Log:
2010-09-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/44554
* ira.c (ira): Switch off sharing spill slots if setjmp is called.


Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/ira.c


-- 


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



[Bug middle-end/44554] Stack space after sigsetjmp is reused

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #13 from vmakarov at gcc dot gnu dot org  2010-09-09 13:58 
---
Subject: Bug 44554

Author: vmakarov
Date: Thu Sep  9 13:58:24 2010
New Revision: 164107

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164107
Log:
2010-09-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/44554
* ira.c (ira): Switch off sharing spill slots if setjmp is called.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/ira.c


-- 


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



[Bug middle-end/45312] [4.4 Regression] GCC 4.4.4 miscompiles the Linux kernel

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #19 from vmakarov at gcc dot gnu dot org  2010-09-09 18:36 
---
Subject: Bug 45312

Author: vmakarov
Date: Thu Sep  9 18:36:26 2010
New Revision: 164116

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164116
Log:
2010-09-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/45312
* reload1.c (merge_assigned_reloads): Remove.
(reload_as_needed): Don't call it.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/reload1.c


-- 


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



[Bug middle-end/45312] [4.4 Regression] GCC 4.4.4 miscompiles the Linux kernel

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #20 from vmakarov at gcc dot gnu dot org  2010-09-09 18:37 
---
Subject: Bug 45312

Author: vmakarov
Date: Thu Sep  9 18:37:17 2010
New Revision: 164117

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164117
Log:
2010-09-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/45312
* reload1.c (merge_assigned_reloads): Remove.
(reload_as_needed): Don't call it.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/reload1.c


-- 


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



[Bug middle-end/45312] [4.4 Regression] GCC 4.4.4 miscompiles the Linux kernel

2010-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #21 from vmakarov at gcc dot gnu dot org  2010-09-09 18:38 
---
Subject: Bug 45312

Author: vmakarov
Date: Thu Sep  9 18:37:58 2010
New Revision: 164118

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164118
Log:
2010-09-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/45312
* reload1.c (merge_assigned_reloads): Remove.
(reload_as_needed): Don't call it.


Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/reload1.c


-- 


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



[Bug rtl-optimization/43332] valgrind warns about using uninitialized variable with -fsched-pressure -fschedule-insns

2010-05-18 Thread vmakarov at gcc dot gnu dot org


--- Comment #5 from vmakarov at gcc dot gnu dot org  2010-05-18 22:09 
---
Subject: Bug 43332

Author: vmakarov
Date: Tue May 18 22:09:19 2010
New Revision: 159545

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159545
Log:
2010-05-18  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/43332
* haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/haifa-sched.c


-- 


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



[Bug rtl-optimization/43413] Powerpc generates worse code for -mvsx on gromacs even though there are no VSX instructions used

2010-03-23 Thread vmakarov at gcc dot gnu dot org


--- Comment #11 from vmakarov at gcc dot gnu dot org  2010-03-23 19:19 
---
Subject: Bug 43413

Author: vmakarov
Date: Tue Mar 23 19:18:42 2010
New Revision: 157676

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157676
Log:
2010-03-23  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/43413
* ira-color.c (setup_allocno_available_regs_num): Count prohibited
hard regs too.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c


-- 


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



[Bug middle-end/42973] [4.4/4.5 regression] IRA apparently systematically making reload too busy on 2 address instructions with 3 operands

2010-02-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #7 from vmakarov at gcc dot gnu dot org  2010-02-10 02:07 
---
Subject: Bug 42973

Author: vmakarov
Date: Wed Feb 10 02:07:22 2010
New Revision: 156641

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156641
Log:
2010-02-09  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/42973
* ira-conflicts.c (get_dup): Remove.
(process_reg_shuffles): Add new parameter.  Use it as an
additional guard for copy generation.
(add_insn_allocno_copies): Rewrite.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-conflicts.c


-- 


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



[Bug rtl-optimization/42941] -fsched-pressure -fschedule-insns - valgrind warns about using uninitialized variable

2010-02-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #4 from vmakarov at gcc dot gnu dot org  2010-02-03 19:01 
---
Subject: Bug 42941

Author: vmakarov
Date: Wed Feb  3 19:01:31 2010
New Revision: 156472

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156472
Log:
2010-02-03  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimizations/42941
* sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
of xmalloc.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/sched-deps.c


-- 


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



[Bug target/41399] [4.5 Regression] Scheduler gives huge dependence graph compiling fortran/intrinsic.c on ARM

2010-02-01 Thread vmakarov at gcc dot gnu dot org


--- Comment #23 from vmakarov at gcc dot gnu dot org  2010-02-01 19:52 
---
Subject: Bug 41399

Author: vmakarov
Date: Mon Feb  1 19:52:42 2010
New Revision: 156431

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156431
Log:
2010-02-01  Vladimir Makarov  vmaka...@redhat.com

PR target/41399
* sched-deps.c (sched_analyze_insn): Ignore fixed registers for
implicitly set registers.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/sched-deps.c


-- 


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



[Bug middle-end/22072] bizarre code for int*int/2 for -Os

2009-10-07 Thread vmakarov at gcc dot gnu dot org


--- Comment #15 from vmakarov at gcc dot gnu dot org  2009-10-07 17:18 
---
Subject: Bug 22072

Author: vmakarov
Date: Wed Oct  7 17:18:38 2009
New Revision: 152533

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152533
Log:
2009-10-07  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/22072
* ira-lives.c (check_and_make_def_conflict): Process all operands.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-lives.c


-- 


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



[Bug bootstrap/41241] [4.5 regression] bootstrap comparison failure

2009-09-04 Thread vmakarov at gcc dot gnu dot org


--- Comment #45 from vmakarov at gcc dot gnu dot org  2009-09-04 19:36 
---
Subject: Bug 41241

Author: vmakarov
Date: Fri Sep  4 19:36:26 2009
New Revision: 151440

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=151440
Log:
2009-09-04  Vladimir Makarov  vmaka...@redhat.com

PR bootstrap/41241
* ira.c (update_equiv_reg): Revert my previous patch for the PR.
* reginfo.c (resize_reg_info): Call allocate_reg_info if necessary.
(reginfo_init): Don't call allocate_reg_info.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c
trunk/gcc/reginfo.c


-- 


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



[Bug bootstrap/41241] [4.5 regression] bootstrap comparison failure

2009-09-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #13 from vmakarov at gcc dot gnu dot org  2009-09-03 18:33 
---
Subject: Bug 41241

Author: vmakarov
Date: Thu Sep  3 18:33:25 2009
New Revision: 151388

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=151388
Log:
2009-09-03  Vladimir Makarov  vmaka...@redhat.com

PR bootstrap/41241
* ira.c (update_equiv_reg): Remove check on class likely spill.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c


-- 


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



[Bug target/37488] register allocation spills floats needlessly

2009-07-22 Thread vmakarov at gcc dot gnu dot org


--- Comment #9 from vmakarov at gcc dot gnu dot org  2009-07-22 22:00 
---
Subject: Bug 37488

Author: vmakarov
Date: Wed Jul 22 22:00:17 2009
New Revision: 149962

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149962
Log:
2009-07-22  Vladimir Makarov  vmaka...@redhat.com

PR target/37488
* ira-lives.c (bb_has_abnormal_call_pred): New function.
(process_bb_node_lives): Use it.

* ira.c (setup_cover_and_important_classes): Don't setup
ira_important_class_nums.  Add cover classes to the end of
important classes.
(cover_class_order, comp_reg_classes_func,
reorder_important_classes): New.
(find_reg_class_closure): Use reorder_important_classes.

* config/i386/i386.h (IRA_COVER_CLASSES): Remove.

* config/i386/i386.c (i386_ira_cover_classes): New function.
(TARGET_IRA_COVER_CLASSES): Redefine.

* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Add a comment about
importance of order of cover classes in the array.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.h
trunk/gcc/doc/tm.texi
trunk/gcc/ira-lives.c
trunk/gcc/ira.c


-- 


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



[Bug target/40587] [4.4/4.5 Regression] Revision 139590 caused ICE in emit_swap_insn at reg-stack.c:827

2009-07-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #9 from vmakarov at gcc dot gnu dot org  2009-07-03 22:36 
---
Subject: Bug 40587

Author: vmakarov
Date: Fri Jul  3 22:36:31 2009
New Revision: 149212

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149212
Log:
2009-07-03  Vladimir Makarov  vmaka...@redhat.com

PR target/40587
* ira.c (build_insn_chain): Use DF_LR_OUT instead of
df_get_live_out.
* testsuite/gfortran.dg/pr40587.f: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/pr40587.f
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c


-- 


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



[Bug target/40587] [4.4/4.5 Regression] Revision 139590 caused ICE in emit_swap_insn at reg-stack.c:827

2009-07-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #10 from vmakarov at gcc dot gnu dot org  2009-07-03 22:46 
---
Subject: Bug 40587

Author: vmakarov
Date: Fri Jul  3 22:46:30 2009
New Revision: 149213

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149213
Log:
2009-07-03  Vladimir Makarov  vmaka...@redhat.com

PR target/40587
* ira.c (build_insn_chain): Use DF_LR_OUT instead of
df_get_live_out.
* testsuite/gfortran.dg/pr40587.f: New test.


Added:
branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/pr40587.f
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/ira.c


-- 


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



[Bug target/39856] [4.4/4.5 Regression] ICE in subst_stack_regs_pat, at reg-stack.c:1386

2009-05-22 Thread vmakarov at gcc dot gnu dot org


--- Comment #9 from vmakarov at gcc dot gnu dot org  2009-05-22 18:59 
---
Subject: Bug 39856

Author: vmakarov
Date: Fri May 22 18:59:30 2009
New Revision: 147803

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=147803
Log:
2009-05-22 Vladimir Makarov vmaka...@redhat.com

PR target/39856
* reg-stack.c (subst_stack_regs_pat): Remove gcc_assert for note
for clobber.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/reg-stack.c


-- 


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



[Bug target/39856] [4.4/4.5 Regression] ICE in subst_stack_regs_pat, at reg-stack.c:1386

2009-05-22 Thread vmakarov at gcc dot gnu dot org


--- Comment #10 from vmakarov at gcc dot gnu dot org  2009-05-22 19:01 
---
Subject: Bug 39856

Author: vmakarov
Date: Fri May 22 19:00:45 2009
New Revision: 147804

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=147804
Log:
2009-05-22 Vladimir Makarov vmaka...@redhat.com

PR target/39856
* reg-stack.c (subst_stack_regs_pat): Remove gcc_assert for note
for clobber.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/reg-stack.c


-- 


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



[Bug rtl-optimization/39762] [4.4 Regression] IRA ICE with -msoft-float

2009-04-22 Thread vmakarov at gcc dot gnu dot org


--- Comment #6 from vmakarov at gcc dot gnu dot org  2009-04-22 20:16 
---
Subject: Bug 39762

Author: vmakarov
Date: Wed Apr 22 20:16:13 2009
New Revision: 146612

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=146612
Log:
2009-04-22  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/39762
* ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
ira_may_move_out_cost): Add comments about way of their usage.
(ira_get_register_move_cost, ira_get_may_move_cost): New functions.

* ira-conflicts.c (process_regs_for_copy): Use function
ira_get_register_move_cost instead of global
ira_register_move_cost.

* ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
color_pass, move_spill_restore, update_curr_costs): Ditto.

* ira-lives.c (process_single_reg_class_operands): Ditto.

* ira-emit.c (emit_move_list): Ditto.

* ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
(record_reg_classes): Ditto.  Use functions
ira_get_register_move_cost and ira_get_may_move_cost instead of
global vars ira_register_move_cost, ira_may_move_out_cost and
ira_may_move_in_cost.
(record_address_regs): Don't call ira_init_register_move_cost.
Use function ira_get_may_move_cost instead of global
ira_may_move_in_cost.
(process_bb_node_for_hard_reg_moves): Use function
ira_get_register_move_cost instead of global ira_register_move_cost.
(ira_costs): Don't call ira_init_register_move_cost.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/ira-color.c
branches/gcc-4_4-branch/gcc/ira-conflicts.c
branches/gcc-4_4-branch/gcc/ira-costs.c
branches/gcc-4_4-branch/gcc/ira-emit.c
branches/gcc-4_4-branch/gcc/ira-int.h
branches/gcc-4_4-branch/gcc/ira-lives.c


-- 


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



[Bug rtl-optimization/39762] [4.4/4.5 Regression] IRA ICE with -msoft-float

2009-04-16 Thread vmakarov at gcc dot gnu dot org


--- Comment #2 from vmakarov at gcc dot gnu dot org  2009-04-16 15:16 
---
Subject: Bug 39762

Author: vmakarov
Date: Thu Apr 16 15:15:48 2009
New Revision: 146198

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=146198
Log:
2009-04-16  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/39762
* ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
ira_may_move_out_cost): Add comments about way of their usage.
(ira_get_register_move_cost, ira_get_may_move_cost): New
functions.

* ira-conflicts.c (process_regs_for_copy): Use function
ira_get_register_move_cost instead of global
ira_register_move_cost.

* ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
color_pass, move_spill_restore, update_curr_costs): Ditto.

* ira-lives.c (process_single_reg_class_operands): Ditto.

* ira-emit.c (emit_move_list): Ditto.

* ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
(record_reg_classes): Ditto.  Use functions
ira_get_register_move_cost and ira_get_may_move_cost instead of
global vars ira_register_move_cost, ira_may_move_out_cost and
ira_may_move_in_cost.
(record_address_regs): Don't call ira_init_register_move_cost.
Use function ira_get_may_move_cost instead of global
ira_may_move_in_cost.
(process_bb_node_for_hard_reg_moves): Use function
ira_get_register_move_cost instead of global
ira_register_move_cost.
(ira_costs): Don't call ira_init_register_move_cost.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c
trunk/gcc/ira-conflicts.c
trunk/gcc/ira-costs.c
trunk/gcc/ira-emit.c
trunk/gcc/ira-int.h
trunk/gcc/ira-lives.c


-- 


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



[Bug rtl-optimization/39522] [4.4 Regression] fix for PR37514 gives FAIL: gcc.c-torture/execute/stdarg-3.c compilation, -O3 -fomit-frame-pointer -funroll-loops (internal compiler error)

2009-03-26 Thread vmakarov at gcc dot gnu dot org


--- Comment #5 from vmakarov at gcc dot gnu dot org  2009-03-26 19:21 
---
Subject: Bug 39522

Author: vmakarov
Date: Thu Mar 26 19:21:18 2009
New Revision: 145093

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=145093
Log:
2009-03-26  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/39522
* reload1.c (reload_as_needed): Invalidate reg_last_reload_reg too
when reg_reloaded_valid is set.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/reload1.c


-- 


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



[Bug debug/39432] [4.4 Regression] gdb.base/store.exp failures

2009-03-12 Thread vmakarov at gcc dot gnu dot org


--- Comment #7 from vmakarov at gcc dot gnu dot org  2009-03-12 14:40 
---
Subject: Bug 39432

Author: vmakarov
Date: Thu Mar 12 14:39:55 2009
New Revision: 144812

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=144812
Log:
2009-03-12  Vladimir Makarov  vmaka...@redhat.com

PR debug/39432
* ira-int.h (struct allocno): Fix comment for calls_crossed_num.
* ira-conflicts.c (ira_build_conflicts): Prohibit call used
registers for allocnos created from user-defined variables.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-conflicts.c
trunk/gcc/ira-int.h


-- 


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



[Bug middle-end/38587] [4.4 Regression] IRA doesn't preserve local variables after setjmp

2009-01-21 Thread vmakarov at gcc dot gnu dot org


--- Comment #41 from vmakarov at gcc dot gnu dot org  2009-01-21 20:18 
---
Subject: Bug 38587

Author: vmakarov
Date: Wed Jan 21 20:18:03 2009
New Revision: 143554

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143554
Log:
2009-01-21  Vladimir Makarov  vmaka...@redhat.com

PR middle-end/38587
* ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
crossing setjmps.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c


-- 


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



[Bug c/38869] [4.4 Regression] valgrind find problem with -O -mtune=generic

2009-01-19 Thread vmakarov at gcc dot gnu dot org


--- Comment #9 from vmakarov at gcc dot gnu dot org  2009-01-19 17:17 
---
Subject: Bug 38869

Author: vmakarov
Date: Mon Jan 19 17:17:14 2009
New Revision: 143498

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143498
Log:
2009-01-19  Vladimir Makarov  vmaka...@redhat.com

PR c/38869
* rtl.h (reinit_regs): New prototype.
* regclass.c: Include ira.h.
(reinit_regs): New.
* Makefile.in (regclass.o): Add ira.h.
* config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/config/i386/i386.c
trunk/gcc/regclass.c
trunk/gcc/rtl.h


-- 


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



[Bug target/38811] [4.4 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2754

2009-01-13 Thread vmakarov at gcc dot gnu dot org


--- Comment #7 from vmakarov at gcc dot gnu dot org  2009-01-14 03:35 
---
Subject: Bug 38811

Author: vmakarov
Date: Wed Jan 14 03:35:35 2009
New Revision: 143362

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143362
Log:
2009-01-13  Vladimir Makarov  vmaka...@redhat.com

PR target/38811
* Makefile.in (ira-lives.o): Add except.h.

* ira-lives.c: Include except.h.
(process_bb_node_lives): Process can_throw_internal.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/ira-lives.c


-- 


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



[Bug rtl-optimization/38495] [4.4 Regression] ACATS tests cxa4004 cxa4005 cxa4026 fail

2009-01-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #7 from vmakarov at gcc dot gnu dot org  2009-01-09 17:52 
---
Subject: Bug 38495

Author: vmakarov
Date: Fri Jan  9 17:52:03 2009
New Revision: 143214

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143214
Log:
2008-01-09  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/38495
* ira-emit.c (print_move_list, ira_debug_move_list): New
functions.
(add_range_and_copies_from_move_list): Print all added ranges.
Add ranges to memory optimized destination.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-emit.c


-- 


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



[Bug rtl-optimization/38583] huge test case makes register allocator run out of memory while constructing the conflict graph

2009-01-05 Thread vmakarov at gcc dot gnu dot org


--- Comment #3 from vmakarov at gcc dot gnu dot org  2009-01-06 03:50 
---
Subject: Bug 38583

Author: vmakarov
Date: Tue Jan  6 03:50:07 2009
New Revision: 143112

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143112
Log:
2009-01-05  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/38583
* params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.

* params.def (ira-max-conflict-table-size): New.

* doc/invoke.texi (ira-max-conflict-table-size): Decribe.

* ira.h (ira_conflicts_p): New external definition.

* ira-conflicts.c (build_conflict_bit_table): Do not build too big
table.  Report this.  Return result of building.
(ira_build_conflicts): Use ira_conflicts_p.  Check result of
building conflict table.

* ira-color.c (fast_allocation): Use num instead of
ira_allocnos_num.
(ira_color): Use ira_conflicts_p.

* global.c: Include ira.h.
(pseudo_for_reload_consideration_p, build_insn_chain): Use
ira_conflicts_p.

* Makefile.in (global.o): Add ira.h.

* ira-build.c (mark_all_loops_for_removal,
propagate_some_info_from_allocno): New.
(remove_unnecessary_allocnos): Call
propagate_some_info_from_allocno.
(remove_low_level_allocnos): New.
(remove_unnecessary_regions): Add parameter.  Call
mark_all_loops_for_removal and remove_low_level_allocnos.  Pass
parameter to remove_unnecessary_regions.
(ira_build): Remove all regions but root if the conflict table was
not built.  Update conflict hard regs for allocnos crossing calls.

* ira.c (ira_conflicts_p): New global.
(ira): Define and use ira_conflicts_p.

* reload1.c (compute_use_by_pseudos, reload, count_pseudo,
count_spilled_pseudo, find_reg, alter_reg, finish_spills,
emit_input_reload_insns, delete_output_reload): Use
ira_conflicts_p.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/doc/invoke.texi
trunk/gcc/global.c
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c
trunk/gcc/ira-conflicts.c
trunk/gcc/ira.c
trunk/gcc/ira.h
trunk/gcc/params.def
trunk/gcc/params.h
trunk/gcc/reload1.c


-- 


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



[Bug rtl-optimization/37514] [4.4 Regression] Wrong code generated for 20021120-1.c with -O3 -fomit-frame-pointer on sh4

2008-12-01 Thread vmakarov at gcc dot gnu dot org


--- Comment #10 from vmakarov at gcc dot gnu dot org  2008-12-01 19:33 
---
Subject: Bug 37514

Author: vmakarov
Date: Mon Dec  1 19:31:41 2008
New Revision: 142328

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142328
Log:
2008-12-01  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-optimization/37514
* reload1.c (reload_as_needed): Invalidate reg_last_reload
from previous insns.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/reload1.c


-- 


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



[Bug rtl-optimization/38280] [4.4 regression] Revision 142207 breaks 416.gamess/481.wrf in SPEC CPU 2006

2008-12-01 Thread vmakarov at gcc dot gnu dot org


--- Comment #9 from vmakarov at gcc dot gnu dot org  2008-12-02 00:17 
---
Subject: Bug 38280

Author: vmakarov
Date: Tue Dec  2 00:15:35 2008
New Revision: 142336

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142336
Log:
2008-12-01  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-optimization/38280
* ira-build.c (loop_is_inside_p, regno_allocno_order_compare_func,
ira_rebuild_regno_allocno_list): New functions.
(regno_allocnos): New static variable.
(remove_unnecessary_allocnos): Allocate/deallocate regno_allocnos.
Call ira_rebuild_regno_allocno_list.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c


-- 


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



[Bug middle-end/37790] limits-fnargs.c takes very long time to compile at -O2

2008-11-19 Thread vmakarov at gcc dot gnu dot org


--- Comment #4 from vmakarov at gcc dot gnu dot org  2008-11-19 21:22 
---
Subject: Bug 37790

Author: vmakarov
Date: Wed Nov 19 21:20:44 2008
New Revision: 142017

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142017
Log:
2008-11-15  Vladimir Makarov  [EMAIL PROTECTED]

PR bootstrap/37790
* ira-int.h (ira_copy_allocno_live_range_list,
ira_merge_allocno_live_ranges,
ira_allocno_live_ranges_intersect_p,
ira_finish_allocno_live_range_list): New prototypes.
(ira_allocno_live_ranges_intersect_p,
ira_pseudo_live_ranges_intersect_p): Remove.

* ira-conflicts.c (ira_allocno_live_ranges_intersect_p,
ira_pseudo_live_ranges_intersect_p): Rename to
allocnos_have_intersected_live_ranges_p and
pseudos_have_intersected_live_ranges_p.  Move them from here to
...

* ira-color.c: ... here
(coalesced_allocno_conflict_p): Use
allocnos_have_intersected_live_ranges_p.
(coalesced_allocnos_living_at_program_points,
coalesced_allocnos_live_at_points_p,
set_coalesced_allocnos_live_points): Remove.
(slot_coalesced_allocnos_live_ranges,
slot_coalesced_allocno_live_ranges_intersect_p,
setup_slot_coalesced_allocno_live_ranges): New.
(coalesce_spill_slots): Use ranges of coalesced allocnos.
(ira_sort_regnos_for_alter_reg): Use
allocnos_have_intersected_live_ranges_p.
(ira_reuse_stack_slot): Use
pseudos_have_intersected_live_ranges_p.

* global.c (pseudo_for_reload_consideration_p): Check
flag_ira_share_spill_slots too.

* ira-build.c (copy_allocno_live_range_list): Rename to
ira_copy_allocno_live_range_list.  Make it external.
(merge_ranges): Rename to ira_merge_allocno_live_ranges.  Make it
external.
(ira_allocno_live_ranges_intersect_p): New.
(ira_finish_allocno_live_range_list): New.
(finish_allocno): Use it.
(remove_unnecessary_allocnos): Use ira_merge_allocno_live_ranges.
(copy_info_to_removed_store_destinations): Ditto.  Use
ira_copy_allocno_live_range_list.
(ira_flattening): Use ira_merge_allocno_live_ranges.

* ira.c (too_high_register_pressure_p): New function.
(ira): Switch off sharing spill slots if the pressure is too high.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/global.c
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c
trunk/gcc/ira-conflicts.c
trunk/gcc/ira-int.h
trunk/gcc/ira.c


-- 


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



[Bug bootstrap/37859] Bootstrap failure on mips64octeon-unknown-linux-gnu

2008-11-19 Thread vmakarov at gcc dot gnu dot org


--- Comment #3 from vmakarov at gcc dot gnu dot org  2008-11-19 21:26 
---
Subject: Bug 37859

Author: vmakarov
Date: Wed Nov 19 21:25:00 2008
New Revision: 142018

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142018
Log:
2008-11-19  Vladimir Makarov  [EMAIL PROTECTED]

PR bootstrap/37859
* ira-int.h (struct ira_loop_tree_node): New member
entered_from_non_parent_p.

* ira-color.c (print_loop_title): Print loop bbs.

* ira-emit.c (entered_from_non_parent_p,
setup_entered_from_non_parent_p): New functions.
(not_modified_p): Rename to store_can_be_removed_p.  Check there
is no side entries.
(generate_edge_moves): Use store_can_be_removed_p instead of
not_modified_p.
(ira_emit): Call setup_entered_from_non_parent_p.

* ira-build.c (copy_info_to_removed_store_destinations):
Accumulate CALL_FREQ, CALL_CROSSED_NUM, and
ALLOCNO_EXCESS_PRESSURE_POINTS_NUM.
(ira_flattening): Don't CHECK MEM_OPTIMIZED_DEST[_P], always
update all accumulated attributes.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c
trunk/gcc/ira-emit.c
trunk/gcc/ira-int.h


-- 


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



[Bug rtl-optimization/37397] IRA performance impact on SPEC CPU 2K/2006

2008-11-14 Thread vmakarov at gcc dot gnu dot org


--- Comment #3 from vmakarov at gcc dot gnu dot org  2008-11-14 16:43 
---
Subject: Bug 37397

Author: vmakarov
Date: Fri Nov 14 16:41:56 2008
New Revision: 141860

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141860
Log:
2008-11-14  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-optimization/37397
* ira-int.h (struct ira_allocno): New member bad_spill_p.
(ALLOCNO_BAD_SPILL_P): New macro.

* ira-color.c (push_allocnos_to_stack): Check ALLOCNO_BAD_SPILL_P.

* ira-build.c (ira_create_allocno): Initialize
ALLOCNO_BAD_SPILL_P.
(create_cap_allocno, propagate_allocno_info,
remove_unnecessary_allocnos): Set up or update
ALLOCNO_BAD_SPILL_P.
(update_bad_spill_attribute): New function.
(ira_build): Call it.

* ira-costs.c (record_reg_classes): Set up ALLOCNO_BAD_SPILL_P.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c
trunk/gcc/ira-costs.c
trunk/gcc/ira-int.h


-- 


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



[Bug rtl-optimization/37948] [4.4 Regression] IRA generates slower code

2008-11-10 Thread vmakarov at gcc dot gnu dot org


--- Comment #9 from vmakarov at gcc dot gnu dot org  2008-11-10 23:23 
---
Subject: Bug 37948

Author: vmakarov
Date: Mon Nov 10 23:21:45 2008
New Revision: 141753

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141753
Log:
2008-11-07  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-optimizations/37948
* ira-int.h (struct ira_allocno_copy): New member constraint_p.
(ira_create_copy, ira_add_allocno_copy): New parameter.

* ira-conflicts.c (process_regs_for_copy): New parameter.  Pass it
to ira_add_allocno_copy.
(process_reg_shuffles, add_insn_allocno_copies): Pass a new
parameter to process_regs_for_copy.
(propagate_copies): Pass a new parameter to ira_add_allocno_copy.
Fix typo in passing second allocno to ira_add_allocno_copy.

* ira-color.c (update_conflict_hard_regno_costs): Use head of
coalesced allocnos list.
(assign_hard_reg): Ditto.  Check that assigned allocnos are not in
the graph.
(add_ira_allocno_to_bucket): Rename to add_allocno_to_bucket.
(add_ira_allocno_to_ordered_bucket): Rename to
add_allocno_to_ordered_bucket.
(push_ira_allocno_to_stack): Rename to push_allocno_to_stack.  Use
head of coalesced allocnos list.
(push_allocnos_to_stack): Remove calculation of ALLOCNO_TEMP.
Check that it is aready calculated.
(push_ira_allocno_to_spill): Rename to push_ira_allocno_to_spill.
(setup_allocno_left_conflicts_num): Use head of coalesced allocnos
list.
(coalesce_allocnos): Do extended coalescing too.

* ira-emit.c (add_range_and_copies_from_move_list): Pass a new
parameter to ira_add_allocno_copy.

* ira-build.c (ira_create_copy, ira_add_allocno_copy): Add a new
parameter.
(print_copy): Print copy origination too.

* ira-costs.c (scan_one_insn): Use alloc_pref for load from
equivalent memory.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c
trunk/gcc/ira-conflicts.c
trunk/gcc/ira-costs.c
trunk/gcc/ira-emit.c
trunk/gcc/ira-int.h


-- 


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



[Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c

2008-10-27 Thread vmakarov at gcc dot gnu dot org


--- Comment #5 from vmakarov at gcc dot gnu dot org  2008-10-27 16:20 
---
Subject: Bug 37884

Author: vmakarov
Date: Mon Oct 27 16:19:25 2008
New Revision: 141383

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141383
Log:
2008-10-27  Vladimir Makarov  [EMAIL PROTECTED]

PR middle-end/37884
* ira-build.c (copy_live_ranges_to_removed_store_destinations):
Rename to copy_info_to_removed_store_destinations.  Propagate
conflict hard regs and register stack attribute.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c


-- 


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



[Bug middle-end/37813] assert with IRA_COVER_CLASSES with singleton

2008-10-27 Thread vmakarov at gcc dot gnu dot org


--- Comment #7 from vmakarov at gcc dot gnu dot org  2008-10-27 16:25 
---
Subject: Bug 37813

Author: vmakarov
Date: Mon Oct 27 16:24:19 2008
New Revision: 141384

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141384
Log:
2008-10-27  Vladimir Makarov  [EMAIL PROTECTED]

PR middle-end/37813
* ira-conflicts.c (process_regs_for_copy): Remove class subset
check.

* ira-int.h (ira_hard_regno_cover_class): New.

* ira-lives.c (mark_reg_live, mark_reg_dead,
process_bb_node_lives): Use ira_hard_regno_cover_class.

* ira.c (reg_class ira_hard_regno_cover_class): New global
variable.
(setup_hard_regno_cover_class): New function.
(ira_init): Call setup_hard_regno_cover_class.

* ira-costs.c (cost_class_nums): Add comment.
(find_allocno_class_costs): Initiate cost_class_nums.
(setup_allocno_cover_class_and_costs): Check cost_class_nums.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-conflicts.c
trunk/gcc/ira-costs.c
trunk/gcc/ira-int.h
trunk/gcc/ira-lives.c
trunk/gcc/ira.c


-- 


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



[Bug middle-end/37674] [4.4 Regression] Bootstrap failure due to miscompilation of genattrtab

2008-10-15 Thread vmakarov at gcc dot gnu dot org


--- Comment #7 from vmakarov at gcc dot gnu dot org  2008-10-16 00:23 
---
Subject: Bug 37674

Author: vmakarov
Date: Thu Oct 16 00:22:13 2008
New Revision: 141159

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141159
Log:
2008-10-15  Vladimir Makarov  [EMAIL PROTECTED]

PR middle-end/37674
* ira-build.c (ira_flattening): Recalculate
ALLOCNO_TOTAL_NO_STACK_REG_P and ALLOCNO_TOTAL_CONFLICT_HARD_REGS
from the scratch instead of the propagation.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c


-- 


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



[Bug middle-end/37535] [4.4 Regression] gcc/libgcc2.c:404: internal compiler error: Floating point exception

2008-10-15 Thread vmakarov at gcc dot gnu dot org


--- Comment #19 from vmakarov at gcc dot gnu dot org  2008-10-16 00:53 
---
Subject: Bug 37535

Author: vmakarov
Date: Thu Oct 16 00:51:34 2008
New Revision: 141160

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141160
Log:
2008-10-15  Vladimir Makarov  [EMAIL PROTECTED]

PR middle-end/37535
* ira-lives.c (mark_early_clobbers): Remove.
(make_pseudo_conflict, check_and_make_def_use_conflicts,
check_and_make_def_conflicts,
make_early_clobber_and_input_conflicts,
mark_hard_reg_early_clobbers): New functions.
(process_bb_node_lives): Call
make_early_clobber_and_input_conflicts and
mark_hard_reg_early_clobbers.  Make hard register inputs live
again.

* doc/rtl.texi (clobber): Change descriotion of RA behaviour for
early clobbers of pseudo-registers.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/rtl.texi
trunk/gcc/ira-lives.c


-- 


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



[Bug target/37633] [4.4 Regression] wrong register use on sh64

2008-10-15 Thread vmakarov at gcc dot gnu dot org


--- Comment #6 from vmakarov at gcc dot gnu dot org  2008-10-16 00:54 
---
Subject: Bug 37633

Author: vmakarov
Date: Thu Oct 16 00:52:59 2008
New Revision: 141161

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=141161
Log:
2008-10-14  Vladimir Makarov  [EMAIL PROTECTED]

PR target/37633
* ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Check
HARD_REGNO_CALL_PART_CLOBBERED.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-costs.c


-- 


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



[Bug middle-end/37535] [4.4 Regression] gcc/libgcc2.c:404: internal compiler error: Floating point exception

2008-10-06 Thread vmakarov at gcc dot gnu dot org


--- Comment #16 from vmakarov at gcc dot gnu dot org  2008-10-06 15:35 
---
Subject: Bug 37535

Author: vmakarov
Date: Mon Oct  6 15:34:26 2008
New Revision: 140906

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140906
Log:
2008-10-06  Vladimir Makarov  [EMAIL PROTECTED]

PR middle-end/37535

* ira-lives.c (mark_reg_live, mark_reg_dead): New functions.
(mark_ref_live, mark_ref_dead): Use them.
(def_conflicts_with_inputs_p): Remove.
(mark_early_clobbers): New function.
(process_bb_node_lives): Call preprocess_constraints and
mark_early_clobbers.

* doc/rtx.texi (clobber): Change how RA deals with clobbers.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/rtl.texi
trunk/gcc/ira-lives.c


-- 


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



[Bug middle-end/37448] [4.3 Regression] gcc 4.3.1 cannot compile big function

2008-09-25 Thread vmakarov at gcc dot gnu dot org


--- Comment #19 from vmakarov at gcc dot gnu dot org  2008-09-26 00:15 
---
Subject: Bug 37448

Author: vmakarov
Date: Fri Sep 26 00:14:30 2008
New Revision: 140674

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140674
Log:
2008-09-25  Vladimir Makarov  [EMAIL PROTECTED]

PR middle-end/37448

* ira-int.h (IRA_ALLOCNO_TEMP): Rename to ALLOCNO_TEMP.
(ira_compress_allocno_live_ranges): New prototype.

* ira-color.c: Rename IRA_ALLOCNO_TEMP to ALLOCNO_TEMP.
(coalesced_allocnos_living_at_program_points): New.
(coalesced_allocnos_live_at_points_p,
set_coalesced_allocnos_live_points): New functions.
(coalesce_spill_slots): Rewrite.

* ira-lives.c (remove_some_program_points_and_update_live_ranges,
ira_compress_allocno_live_ranges): New functions.

* ira-build.c (ira_flattening): Call
ira_compress_allocno_live_ranges.
(ira_build): Ditto.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c
trunk/gcc/ira-int.h
trunk/gcc/ira-lives.c


-- 


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



[Bug middle-end/37535] [4.4 Regression] gcc/libgcc2.c:404: internal compiler error: Floating point exception

2008-09-25 Thread vmakarov at gcc dot gnu dot org


--- Comment #14 from vmakarov at gcc dot gnu dot org  2008-09-26 00:44 
---
Subject: Bug 37535

Author: vmakarov
Date: Fri Sep 26 00:43:11 2008
New Revision: 140679

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140679
Log:
2008-09-25  Vladimir Makarov  [EMAIL PROTECTED]

PR middle-end/37535

* ira-lives.c (mark_reg_live, mark_reg_dead): New functions.
(mark_ref_live, mark_ref_dead): Use them.
(def_conflicts_with_inputs_p): Remove.
(mark_early_clobbers): New function.
(process_bb_node_lives): Call preprocess_constraints and
mark_early_clobbers.

* doc/rtx.texi (clobber): Change how RA deals with clobbers.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/rtl.texi
trunk/gcc/ira-lives.c


-- 


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



[Bug middle-end/37535] [4.4 Regression] gcc/libgcc2.c:404: internal compiler error: Floating point exception

2008-09-19 Thread vmakarov at gcc dot gnu dot org


--- Comment #9 from vmakarov at gcc dot gnu dot org  2008-09-19 23:24 
---
Subject: Bug 37535

Author: vmakarov
Date: Fri Sep 19 23:23:34 2008
New Revision: 140504

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140504
Log:
2008-09-19  Vladimir Makarov  [EMAIL PROTECTED]

PR middle-end/37535

* ira-lives.c (mark_reg_live, mark_reg_dead): New functions.
(mark_ref_live, mark_ref_dead): Use them.
(def_conflicts_with_inputs_p): Remove.
(mark_early_clobbers): New function.
(process_bb_node_lives): Call preprocess_constraints and
mark_early_clobbers.


Modified:
branches/ira-merge/gcc/ChangeLog
branches/ira-merge/gcc/ira-lives.c


-- 


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



[Bug rtl-optimization/37377] [4.4 Regression] Bootstrap failure compiling libgcc

2008-09-12 Thread vmakarov at gcc dot gnu dot org


--- Comment #14 from vmakarov at gcc dot gnu dot org  2008-09-12 22:56 
---
Subject: Bug 37377

Author: vmakarov
Date: Fri Sep 12 22:55:23 2008
New Revision: 140325

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140325
Log:
2008-09-12  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-opt/37377

* ira-build.c (common_loop_tree_node_dominator): Remove.
(copy_live_ranges_to_removed_store_destinations): New function.
(regno_top_level_allocno_map): Move to top level from ...
(ira_flattening): ... here.  Use
copy_live_ranges_to_removed_store_destinations.

* ira-emit.c (generate_edge_moves): Fix a comment.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-emit.c


-- 


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



[Bug rtl-optimization/37333] [4.4 Regression] ICE in ira_flattening, at ira-build.c:2146

2008-09-09 Thread vmakarov at gcc dot gnu dot org


--- Comment #5 from vmakarov at gcc dot gnu dot org  2008-09-09 17:07 
---
Subject: Bug 37333

Author: vmakarov
Date: Tue Sep  9 17:05:56 2008
New Revision: 140160

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=140160
Log:
2008-09-09  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-opt/37333

* ira-build.c (ira_create_allocno): Setup frequency to 0.

* ira-color.c (update_conflict_hard_regno_costs): Remove assert.
Check zero freq and increase if necessary.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c


-- 


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



[Bug rtl-optimization/37296] [4.4 Regression] Bootstrap failure compiling libgcc

2008-09-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #26 from vmakarov at gcc dot gnu dot org  2008-09-03 19:50 
---
Subject: Bug 37296

Author: vmakarov
Date: Wed Sep  3 19:49:30 2008
New Revision: 139948

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=139948
Log:
2008-09-03  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-opt/37296

* ira-int.h (ira_sort_insn_chain): Remove.

* ira.c (basic_block_order_nums, chain_insn_order,
chain_freq_compare, chain_bb_compare, ira_sort_insn_chain): Remove.
(ira): Don't call ira_sort_insn_chain.

* reload1.c (reload): Don't call ira_sort_insn_chain.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c
trunk/gcc/ira.h
trunk/gcc/reload1.c


-- 


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



[Bug middle-end/37243] [4.4 Regression] IRA causes wrong code generation

2008-09-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #25 from vmakarov at gcc dot gnu dot org  2008-09-03 20:13 
---
Subject: Bug 37243

Author: vmakarov
Date: Wed Sep  3 20:12:27 2008
New Revision: 139949

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=139949
Log:
2008-09-03  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-opt/37243

* ira-conflicts.c (REG_SUBREG_P, go_through_subreg): New.
(process_regs_for_copy): Process subregs.  Refine check when cost
is taken into account in ira-costs.c.
(process_reg_shuffles): Use REG_SUBREG_P.
(add_insn_allocno_copies): Ditto.  Ignore modes.

* ira-color.c (conflict_allocno_vec): New.
(COST_HOP_DIVISOR): New macro.
(update_copy_costs_1): Use it.
(update_conflict_hard_regno_costs): New function.
(assign_hard_reg): Use it.
(ira_color): Allocate and free conflict_allocno_vec.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c
trunk/gcc/ira-conflicts.c


-- 


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



[Bug middle-end/37243] [4.4 Regression] IRA causes wrong code generation

2008-09-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #26 from vmakarov at gcc dot gnu dot org  2008-09-03 20:22 
---
Subject: Bug 37243

Author: vmakarov
Date: Wed Sep  3 20:20:57 2008
New Revision: 139952

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=139952
Log:
2008-09-03  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-opt/37243

* ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
all_allocnos.

* ira-color.c (print_loop_title): Use all_allocnos.
(color_pass): Ditto.  Don't add border_allocnos.  Check that
subloop allocno in the correspdoning bitmap all_allocnos.

* ira-emit.c (change_loop): Use all_allocnos.

* ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
Ditto.
(ira_create_allocno): Set up all_allocnos bit for the created
allocno.
(create_cap_allocno): Remove setting mentioned_allocnos.
(create_insn_allocnos): Ditto.
(remove_unnecessary_allocnos): Use all_allocnos.
(check_allocno_creation): Check that allocnos are in the
corresponding bitmap all_allocnos.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/ira-color.c
trunk/gcc/ira-emit.c
trunk/gcc/ira-int.h


-- 


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



[Bug middle-end/37243] [4.4 Regression] IRA causes wrong code generation

2008-08-29 Thread vmakarov at gcc dot gnu dot org


--- Comment #13 from vmakarov at gcc dot gnu dot org  2008-08-29 16:18 
---
Subject: Bug 37243

Author: vmakarov
Date: Fri Aug 29 16:16:45 2008
New Revision: 139769

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=139769
Log:
2008-08-29  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-opt/37243
* ira-color (ira_fast_allocation): Don't assign hard registers to
global allocnos.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c


-- 


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



[Bug rtl-optimization/37251] [4.4 Regression] ICE with ira: delete_allocno_from_bucket

2008-08-29 Thread vmakarov at gcc dot gnu dot org


--- Comment #7 from vmakarov at gcc dot gnu dot org  2008-08-29 16:19 
---
Subject: Bug 37251

Author: vmakarov
Date: Fri Aug 29 16:18:11 2008
New Revision: 139770

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=139770
Log:
2008-08-29  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-opt/37251

* ira-color.c (push_allocnos_to_stack): Truncate
removed_splay_allocno_vec.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c


-- 


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



[Bug middle-end/36450] [4.4 Regression] ICE in insert_restore/insert_save with GET_MODE_ALIGNMENT mem

2008-08-06 Thread vmakarov at gcc dot gnu dot org


--- Comment #15 from vmakarov at gcc dot gnu dot org  2008-08-06 20:46 
---
Subject: Bug 36450

Author: vmakarov
Date: Wed Aug  6 20:44:53 2008
New Revision: 138826

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=138826
Log:
2008-08-04  H.J. Lu  [EMAIL PROTECTED]

PR middle-end/36450
* caller-save.c (insert_restore): Replace
PREFERRED_STACK_BOUNDARY with MAX_SUPPORTED_STACK_ALIGNMENT.
(insert_save): Likewise.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/caller-save.c


-- 


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



[Bug rtl-optimization/36672] IRA + -fno-pic ICE in emit_swap_insn, at reg-stack.c:829

2008-07-07 Thread vmakarov at gcc dot gnu dot org


--- Comment #3 from vmakarov at gcc dot gnu dot org  2008-07-07 18:14 
---
Subject: Bug 36672

Author: vmakarov
Date: Mon Jul  7 18:13:13 2008
New Revision: 137581

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137581
Log:
2008-07-07  Vladimir Makarov  [EMAIL PROTECTED]
PR preprocessor/36672

* ira.c (chain_insn_order): New variable.
(chain_freq_compare, chain_bb_compare): Use it.
(ira_sort_insn_chain): Set it up.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/ira.c


-- 


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



[Bug rtl-optimization/36673] IRA -O3 -fno-pic ICE in save_con_fun_n, at caller-save.c:1389

2008-07-07 Thread vmakarov at gcc dot gnu dot org


--- Comment #4 from vmakarov at gcc dot gnu dot org  2008-07-07 18:22 
---
Subject: Bug 36673

Author: vmakarov
Date: Mon Jul  7 18:21:28 2008
New Revision: 137585

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137585
Log:
2008-07-07  Vladimir Makarov  [EMAIL PROTECTED]
PR target/36673

* caller-saves.c (restore_con_fun_n, save_con_fun_n): Clear the
result if mode or pseudo is different.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/caller-save.c


-- 


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



[Bug rtl-optimization/36663] IRA ICE in save_call_clobbered_regs at caller-save.c:1949

2008-07-07 Thread vmakarov at gcc dot gnu dot org


--- Comment #2 from vmakarov at gcc dot gnu dot org  2008-07-07 18:29 
---
Subject: Bug 36663

Author: vmakarov
Date: Mon Jul  7 18:28:37 2008
New Revision: 137586

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137586
Log:
2008-07-07  Vladimir Makarov  [EMAIL PROTECTED]
PR target/36663

* caller-saves.c (free_con_fun_n): Use liveness info.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/caller-save.c


-- 


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



[Bug target/36450] ICE in insert_restore/insert_save with GET_MODE_ALIGNMENT mem

2008-06-10 Thread vmakarov at gcc dot gnu dot org


--- Comment #5 from vmakarov at gcc dot gnu dot org  2008-06-10 19:02 
---
Subject: Bug 36450

Author: vmakarov
Date: Tue Jun 10 19:01:37 2008
New Revision: 136638

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=136638
Log:
2008-06-10  Vladimir Makarov  [EMAIL PROTECTED]
PR target/36450
* caller-save.c (insert_restore, insert_save):  Don't require
alignment more than PREFERRED_STACK_BOUNDARY in asserts.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/caller-save.c
branches/ira/gcc/ira-int.h


-- 


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



[Bug tree-optimization/26854] Inordinate compile times on large routines

2008-05-18 Thread vmakarov at gcc dot gnu dot org


--- Comment #67 from vmakarov at gcc dot gnu dot org  2008-05-19 02:03 
---
Subject: Bug 26854

Author: vmakarov
Date: Mon May 19 02:02:52 2008
New Revision: 135523

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=135523
Log:
2008-05-18  Vladimir Makarov  [EMAIL PROTECTED]
PR tree-optimization/26854

* timevar.def (TV_RELOAD): New timer.

* ira.c (ira): Use TV_IRA and TV_RELOAD.
(pass_ira): Remove TV_IRA.

* Makefile.in (ira-color.o): Add SPLAY_TREE_H.

* ira-conflicts.c (DEF_VEC_P, DEF_ALLOCC_P): Move to ira-int.h.

* ira-int.h (DEF_VEC_P, DEF_ALLOCC_P): Move from ira-conflicts.c and
ira-color.c.
(struct allocno): New bitfield splay_removed_p.
(ALLOCNO_MAY_BE_SPILLED_P): New macro.

* ira-color.c (splay-tree.h): Add the header.
(allocno_spill_priority_compare, splay_tree_allocate,
splay_tree_free): New functions.
(DEF_VEC_P, DEF_ALLOCC_P): Move to ira-int.h.
(sorted_allocnos_for_spilling): Rename to allocnos_for_spilling.
(splay_tree_node_pool, removed_splay_allocno_vec,
uncolorable_allocnos_num, uncolorable_allocnos_splay_tree): New
global variables.
(add_allocno_to_bucket, add_allocno_to_ordered_bucket,
delete_allocno_from_bucket): Update uncolorable_allocnos_num.
(USE_SPLAY_P): New macro.
(push_allocno_to_stack): Remove allocno from the splay tree.
(push_allocnos_to_stack): Use the splay trees.
(do_coloring): Create and finish splay_tree_node_pool.
Move allocation/deallocation of allocnos_for_spilling to here...
(initiate_ira_assign, finish_ira_assign): Move
allocnos_for_spilling from here...
(ira_color): Allocate/deallocate removed_splay_allocno_vec.

* ira-build.c (DEF_VEC_P, DEF_ALLOCC_P): Move to ira-int.h.
(create_allocno): Initiate ALLOCNO_SPLAY_REMOVED_P.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/Makefile.in
branches/ira/gcc/ira-build.c
branches/ira/gcc/ira-color.c
branches/ira/gcc/ira-conflicts.c
branches/ira/gcc/ira-int.h
branches/ira/gcc/ira.c
branches/ira/gcc/timevar.def


-- 


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



[Bug target/36028] [IRA] ICE in reload_cse_simplify_operands

2008-05-06 Thread vmakarov at gcc dot gnu dot org


--- Comment #4 from vmakarov at gcc dot gnu dot org  2008-05-06 19:22 
---
Subject: Bug 36028

Author: vmakarov
Date: Tue May  6 19:22:07 2008
New Revision: 134996

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=134996
Log:
2008-05-06  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-optimization/36028
* caller-save.c (setup_save_areas): Adjust reused stack slot.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/caller-save.c


-- 


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



[Bug rtl-optimization/35817] [ira] Error in init_move_cost, at regclass.c:321

2008-04-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #1 from vmakarov at gcc dot gnu dot org  2008-04-04 02:05 
---
Subject: Bug 35817

Author: vmakarov
Date: Fri Apr  4 02:04:25 2008
New Revision: 133888

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133888
Log:
2008-04-03  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-optimization/35817
* ira-costs.c (ira-costs.c): Check have_regs_of_mode.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/ira-costs.c


-- 


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