backport: re PR rtl-optimization/45352 (ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7058)
Backport from mainline
2011-01-13 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/45352
* sel-sched.c: Update copyright years.
(reset_sched_cycles_in_current_ebb): Also recheck the DFA state
in the advancing loop when we have issued issue_rate insns.
Backport from mainline
2010-12-22 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/45352
PR rtl-optimization/46521
PR rtl-optimization/46522
* sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the DFA state
on the last iteration of the advancing loop.
(sel_sched_region_1): Propagate the rescheduling bit to the next block
also for empty blocks.
Backport from mainline
2010-11-08 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/45352
* sel-sched.c (find_best_expr): Do not set pneed_stall when
the variable_issue hook is not implemented.
(fill_insns): Remove dead variable stall_iterations.
(init_seqno_1): Force EBB start for resetting sched cycles on any
successor blocks of the rescheduled region.
(sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
(reset_sched_cycles_in_current_ebb): Add debug printing.
New variable issued_insns. Advance state when we have issued
issue_rate insns.
backport: re PR target/43603 (gcc-4.4.3 ICE on ia64 with -O3)
Backport from mainline
2010-12-07 Andrey Belevantsev <abel@ispras.ru>
PR target/43603
* haifa-sched.c (sched_create_recovery_edges): Update
dominator info.
* sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
after deleting an empty block.
(tidy_control_flow): Also verify dominators.
(sel_remove_bb): Update dominator info after removing a block.
(sel_redirect_edge_and_branch_force): Assert that no unreachable
blocks will be created. Update dominator info.
(sel_redirect_edge_and_branch): Update dominator info when
basic blocks do not become unreachable.
(sel_remove_loop_preheader): Update dominator info.
2010-10-14 Andrey Belevantsev <abel@ispras.ru>
* sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
(tidy_control_flow): Tidy vertical space.
(sel_remove_bb): New variable idx. Use it to remember the basic
block index before deleting the block.
(sel_remove_empty_bb): Remove dead code, simplify and insert to ...
(sel_merge_blocks): ... here.
* sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
backport: re PR rtl-optimization/46585 (ICE: SIGSEGV in vinsn_create (sel-sched-ir.c:1189) with -fno-dce -fschedule-insns -fselective-scheduling)
Backport from mainline
2010-11-25 Alexander Monakov <amonakov@ispras.ru>
PR rtl-optimization/46585
* sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
(vinsn_init): Skip computation of dependencies for local NOPs.
(vinsn_delete): Don't try to free regsets for local NOPs.
(setup_nop_and_exit_insns): Change definition of nop_pattern.
backport: re PR rtl-optimization/45652 (gcc.dg/compat/scalar-by-value-3 FAILs with -O2 -fselective-scheduling2)
Backport from mainline
2010-11-22 Alexander Monakov <amonakov@ispras.ru>
PR rtl-optimization/45652
* alias.c (get_reg_base_value): New.
* rtl.h (get_reg_base_value): Add prototype.
* sel-sched.c (init_regs_for_mode): Use it. Don't use registers with
non-null REG_BASE_VALUE for renaming.
backport: re PR middle-end/46518 (internal compiler error: in vinsn_detach, at sel-sched-ir.c:1271)
Backport from mainline
2010-11-18 Alexander Monakov <amonakov@ispras.ru>
PR middle-end/46518
* sel-sched-ir.c (init_expr): Use the correct type for
target_available.
* sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
backport: re PR rtl-optimization/46204 (g++.dg/torture/stackalign/throw-1.C fails to compile on IA64)
Backport from mainline
2010-11-12 Alexander Monakov <amonakov@ispras.ru>
PR rtl-optimization/46204
sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
pdate all callers. Do not recompute topological order. Adjust
allthrough edges following a degenerate conditional jump.
backport: re PR rtl-optimization/45570 (ICE: in cfg_preds_1, at sel-sched-ir.c:4584)
Backport from mainline
2010-10-14 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/45570
* sel-sched-ir.c (cfg_preds_1): When walking out of the region,
assert that we are pipelining outer loops. Allow returning
zero predecessors.
Jonathan Wakely [Wed, 23 Mar 2011 21:12:51 +0000 (21:12 +0000)]
re PR other/48179 (Reference mismatch in documentation chapter 6)
2011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
PR other/48179
PR other/48234
* doc/extend.texi (Alignment): Move section to match order in TOC.
* doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
Paul Thomas [Sun, 13 Mar 2011 17:37:43 +0000 (17:37 +0000)]
re PR fortran/47348 (wrong string length with array constructor)
2011-03-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/47348
* trans-array.c (get_array_ctor_all_strlen): Move up in file.
(get_array_ctor_var_strlen): Add block dummy and add call to
get_array_ctor_all_strlen instead of giving up on substrings.
Call gcc_unreachable for default case.
(get_array_ctor_strlen): Add extra argument to in call to
get_array_ctor_var_strlen.
2011-03-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/47348
* gfortran.dg/array_constructor_36.f90 : New test.
* gfortran.dg/bounds_check_10.f90 : Change dg-output message to
allow for comparison between different elements of the array
constructor at different levels of optimization.
Jason Merrill [Fri, 11 Mar 2011 17:20:27 +0000 (12:20 -0500)]
re PR c++/48029 (ICE in finish_member_declaration() with --param ggc-min-expand=0 --param ggc-min-heapsize=0)
PR c++/48029
* stor-layout.c (layout_type): Don't set structural equality
on arrays of incomplete type.
* tree.c (type_hash_eq): Handle comparing them properly.
* cp/pt.c (iterative_hash_template_arg): Remove special case for
ARRAY_TYPE.
Jerry DeLisle [Mon, 7 Mar 2011 02:06:27 +0000 (02:06 +0000)]
re PR fortran/47778 (reading two arrays of structures from namelist fails)
2011-03-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/47778
* io/list_read.c (namelist_read): Intialize the error string buffere.
If pprev_nl was used during the previous namelist read and the rank
was zero, reset the pointer to NULL for the next namelist read.
Jerry DeLisle [Sat, 5 Mar 2011 00:05:34 +0000 (00:05 +0000)]
backport: [multiple changes]
2011-03-04 Jakub Jelinek <jakub@redhat.com>
Backport from mainline
PR fortran/47878
* io/transfer.c (read_sf): Call fbuf_getptr only at the end,
and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline
PR libfortran/47694
* io/fbuf.h (fbuf_getptr): New inline function.
* io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
through the string instead of fbuf_read.
2011-03-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline
PR libgfortran/47878
* gfortran.dg/pr47878.f90: New test.
backport: re PR tree-optimization/47615 (ICE: too deep recursion in phi_translate/phi_translate_1 with -ftree-pre -fno-tree-fre -fno-tree-sra)
2011-03-02 Richard Guenther <rguenther@suse.de>
Backport from mainline
2011-02-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47615
* tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
* tree-ssa-sccvn.c (default_vn_walk_kind): New global.
(run_scc_vn): Initialize it.
(visit_reference_op_load): Use it.
* tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
backport: re PR tree-optimization/47639 (ICE: verify_stmts failed: statement marked for throw, but doesn't with -fstack-check=generic -fexceptions -fnon-call-exceptions)
2011-03-01 Richard Guenther <rguenther@suse.de>
Backport from mainline
2011-02-08 Richard Guenther <rguenther@suse.de>
PR middle-end/47639
* tree-vect-generic.c (expand_vector_operations_1): Update
stmts here ...
(expand_vector_operations): ... not here. Cleanup EH info
and the CFG if required.
Backport from mainline
2011-03-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47890
* tree-vect-loop.c (get_initial_def_for_induction): Set
related stmt properly.
* gcc.dg/torture/pr47890.c: New testcase.
2010-12-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46723
* tree-vect-loop.c (get_initial_def_for_induction): Strip
conversions from the induction evolution and apply it to
the result instead.
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
assigns for induction defs.