Jakub Jelinek [Fri, 24 Sep 2010 15:07:36 +0000 (17:07 +0200)]
Revert:
2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/45234
* calls.c (expand_call): Make sure that all variable sized
adjustments are multiple of preferred stack boundary after
stack alignment.
Eric Botcazou [Thu, 23 Sep 2010 13:07:01 +0000 (13:07 +0000)]
re PR middle-end/44763 (SEGV in allocno_priority_compare_func on Solaris 8)
PR middle-end/44763
* ira-color.c (SORTGT): New macro, helper for qsort callbacks.
(allocno_priority_compare_func): Use it instead of a straight
difference computation over priorities.
Jakub Jelinek [Thu, 23 Sep 2010 07:41:30 +0000 (09:41 +0200)]
re PR rtl-optimization/45728 (ICE: in gen_lowpart_general, at rtlhooks.c:59 at -O1 when comparing union members)
PR rtl-optimization/45728
* expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
gen_lowpart_common first and if that fails, force_reg first
before calling gen_lowpart.
Jakub Jelinek [Tue, 21 Sep 2010 16:30:21 +0000 (18:30 +0200)]
re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)
PR middle-end/45678
* expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
op0 isn't sufficiently aligned and there is movmisalignM
insn for mode, use it to load op0 into a temporary register.
Backport from mainline
2010-09-20 Jakub Jelinek <jakub@redhat.com>
PR middle-end/45678
* cfgexpand.c (expand_one_stack_var_at): Limit alignment to
crtl->max_used_stack_slot_alignment.
Backport from mainline
2010-09-17 Richard Guenther <rguenther@suse.de>
H.J. Lu <hongjiu.lu@intel.com>
H.J. Lu [Mon, 20 Sep 2010 20:32:41 +0000 (20:32 +0000)]
Make sure that all variable sized adjustments are multiple of preferred
stack boundary after stack alignment.
gcc/
2010-09-20 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline
2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/45234
* calls.c (expand_call): Make sure that all variable sized
adjustments are multiple of preferred stack boundary after
stack alignment.
gcc/testsuite/
2010-09-20 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline
2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
backport: 14220.cc: XFAIL on Solaris 9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
Backport from mainline:
2010-07-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* testsuite/22_locale/num_put/put/char/14220.cc: XFAIL on Solaris
9/x86, 32-bit Solaris 10/x86 and 64-bit Solaris 10/SPARC.
* testsuite/22_locale/num_put/put/wchar_t/14220.cc: XFAIL on
Solaris 9/x86 and 32-bit Solaris 10/x86.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Only XFAIL on Solaris 8 and 9.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: XFAIL before Solaris 11.
* lib/target-supports.exp
(check_effective_target_run_expensive_tests): New proc.
* gcc.c-torture/compile/limits-fnargs.c: Use
dg-require-effective-target run_expensive_tests.
backport: re PR rtl-optimization/44919 (ICE on ia64 with -O3 at sel-sched.c:4672)
Backport from mainline
2010-09-06 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/44919
* sel-sched.c (move_cond_jump): Remove assert, check that
the several blocks case can only happen with mutually exclusive
insns instead. Rewrite the movement code to support moving through
several basic blocks.
re PR 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-08 Vladimir Makarov <vmakarov@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 <vmakarov@redhat.com>
PR middle-end/40386
* gcc.c-torture/execute/{pr40386.c,pr40386.x}: New testcase.
Eric Botcazou [Wed, 1 Sep 2010 12:24:35 +0000 (12:24 +0000)]
backport: re PR rtl-optimization/45353 (ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in sel_bb_head, at sel-sched-ir.c:4329 with -fselective-scheduling and __builtin_unreachable())
Backport from mainline
2010-08-20 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/45353
* sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
after bb_note is a BARRIER.
backport: sel-sched.c (compute_av_set_at_bb_end): Do not test that number of all successors is the same as number of successors...
Backport from mainline:
* sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
all successors is the same as number of successors in current region.
backport: sel-sched.c (mark_unavailable_hard_regs): Do not try to search available registers when failed to discover LHS register class.
Backport from mainline:
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
* sel-sched.c (mark_unavailable_hard_regs): Do not try to search
available registers when failed to discover LHS register class.
Fix indentation. Update comment.
backport: re PR rtl-optimization/42389 (ICE in advance_state_on_fence with sel-schd for 175.vpr)
Backport from mainline:
PR rtl-optimization/42389
* sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
to can_issue_more.
(advance_state_on_fence): Likewise.
(sel_target_adjust_priority): Print debug output only when
sched_verbose >= 4, not 2.
(get_expr_cost): Do not issue all unique insns on the next cycle.
(fill_insns): Initialize can_issue_more from the value saved
with the fence.
* sel-sched-ir.c (flist_add): New parameter issue_more.
Init FENCE_ISSUE_MORE with it.
(merge_fences): Likewise.
(init_fences): Update call to flist_add.
(add_to_fences, add_clean_fence_to_fences)
(add_dirty_fence_to_fences): Likewise.
(move_fence_to_fences): Update call to merge_fences.
(invoke_reorder_hooks): Do not reset can_issue_more on insns from
sched groups.
* sel-sched-ir.h (struct _fence): New field issue_more.
(FENCE_ISSUE_MORE): New accessor macro.
backport: re PR rtl-optimization/42388 (ICE in move_bb_info with sel-sched and modulo-sched for 176.gcc)
Backport from mainline:
PR rtl-optimization/42388
* sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
that have no predecessors nor successors. Do not call move_bb_info
for empty blocks outside of current region.