Oleg Endo [Wed, 6 Mar 2013 22:54:11 +0000 (22:54 +0000)]
backport: re PR target/56529 ([SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2)
Backport from mainline
2013-03-06 Oleg Endo <olegendo@gcc.gnu.org>
PR target/56529
* config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
to SH_DIV_CALL_TABLE for TARGET_SH2.
* config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
list.
* doc/invoke.texi (SH options): Use table for mdiv= option. Document
mdiv= call-div1, call-fp, call-table options.
Backport from mainline.
2013-03-06 Oleg Endo <olegendo@gcc.gnu.org>
Richard Biener [Fri, 1 Mar 2013 13:55:11 +0000 (13:55 +0000)]
backport: re PR middle-end/55481 (-O2 generates a wrong-code infinite loop in C++Benchmark's simple_types_constant_folding int8 xor test)
2013-03-01 Richard Biener <rguenther@suse.de>
Backport from mainline
2012-12-12 Zdenek Dvorak <ook@ucw.cz>
PR tree-optimization/55481
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
back to general rewriting if we cannot leave an original biv
definition alone.
* gcc.dg/torture/pr55481.c: New testcase.
* gcc.dg/torture/pr56488.c: Likewise.
Jakub Jelinek [Tue, 26 Feb 2013 10:29:47 +0000 (11:29 +0100)]
re PR middle-end/56443 (internal compiler error: verify_gimple failed at -O[1-2] -ftree-vectorize)
PR tree-optimization/56443
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
to type_for_mode langhook.
Jakub Jelinek [Tue, 19 Feb 2013 17:30:27 +0000 (18:30 +0100)]
backport: re PR tree-optimization/56350 (ICE in vectorizable_reduction, at tree-vect-loop.c:4731)
Backported from mainline
2013-02-19 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/56350
* tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
if haven't found reduction or nested cycle operand, rather than
asserting we must find it.
Jakub Jelinek [Tue, 19 Feb 2013 17:24:37 +0000 (18:24 +0100)]
backport: re PR c++/56241 (ICE in toplev.c:332 on invalid)
Backported from mainline
2013-02-07 Jakub Jelinek <jakub@redhat.com>
PR c++/56241
* init.c (build_vec_init): Don't append NULL values into new_vec.
(build_zero_init_1): Don't push anything into v if recursive call
returned NULL_TREE.
(build_value_init_noctor): Don't push anything into v if
build_value_init call returned NULL_TREE.
Tobias Burnus [Sun, 17 Feb 2013 22:59:52 +0000 (23:59 +0100)]
backport: re PR fortran/53537 (Explicit IMPORT of renamed USE-associated symbol fails)
2013-02-17 Tobias Burnus <burnus@net-b.de>
Mikael Morin <mikael@gcc.gnu.org>
Backport from trunk
2013-01-28 Tobias Burnus <burnus@net-b.de>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/53537
* symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
interface block.
(gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
* decl.c (gfc_match_data_decl): Ditto.
(variable_decl): Remove undeclared type error.
(gfc_match_import): Use renamed instead of original name.
2013-02-17 Tobias Burnus <burnus@net-b.de>
Mikael Morin <mikael@gcc.gnu.org>
Backport from trunk
2013-01-28 Tobias Burnus <burnus@net-b.de>
Mikael Morin <mikael@gcc.gnu.org>
PR target/52123
* adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
SECURITY_DESCRIPTOR *.
(__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE.
(__gnat_portable_spawn): Fix cast to char* const*.
(add_handle): Cast from pointer via void **.
(add_handle): Cast from pointer via int *.
(__gnat_locate_exec_on_path): Cast from pointer via TCHAR *.
(__gnat_locate_exec_on_path): Cast from pointer via char *.
* initialize.c (append_arg): Cast from pointer via LPWSTR.
(__gnat_initialize): Cast from pointer via LPWSTR.
* seh_init.c (__gnat_SEH_error_handler): Cast from pointer via FARPROC.
* tracebak.c: Cast from pointer via FARPROC.
Uros Bizjak [Mon, 11 Feb 2013 17:27:30 +0000 (18:27 +0100)]
backport: re PR rtl-optimization/56275 (ICE in simplify_subreg, at simplify-rtx.c:5261 with vector code.)
Backport from mainline
2013-02-11 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/56275
* simplify-rtx.c (avoid_constant_pool_reference): Check that
offset is non-negative and less than cmode size before
calling simplify_subreg.
testsuite/ChangeLog:
Backport from mainline
2013-02-11 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/56275
* gcc.dg/pr56275.c: New test.
Uros Bizjak [Sat, 9 Feb 2013 06:58:54 +0000 (07:58 +0100)]
backport: sse.md (FMAMODEM): New mode iterator.
Backport from mainline
2013-02-08 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (FMAMODEM): New mode iterator.
(fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
2013-02-08 Uros Bizjak <ubizjak@gmail.com>
* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
* config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
David S. Miller [Thu, 7 Feb 2013 23:42:03 +0000 (23:42 +0000)]
Fix variable tracking for leaf functions on sparc.
* dwarf2out.c (based_loc_descr): Perform leaf register remapping
on 'reg'.
* var-tracking.c (vt_add_function_parameter): Test the presence of
HAVE_window_save properly and do not remap argument registers when
we have a leaf function.
Simon Wright [Thu, 7 Feb 2013 18:07:58 +0000 (18:07 +0000)]
re PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)
PR target/50678
* init.c (__darwin_major_version): New function for x86-64/Darwin.
(__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
on Darwin 12 and above.
Alan Modra [Tue, 5 Feb 2013 13:40:25 +0000 (00:10 +1030)]
re PR libgomp/51376 (libgomp taskwait failure)
PR libgomp/51376
PR libgomp/56073
* task.c (GOMP_task): Revert 2011-12-09 change.
(GOMP_taskwait): Likewise. Instead use atomic load with acquire
barrier to read task->children..
(gomp_barrier_handle_tasks): ..and matching atomic store with
release barrier here when setting parent->children to NULL.
Richard Biener [Tue, 5 Feb 2013 12:56:51 +0000 (12:56 +0000)]
backport: re PR tree-optimization/55107 (GCC in an infinite loop in PRE)
2013-02-05 Richard Biener <rguenther@suse.de>
Backport from mainline
2012-12-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/55107
* tree-ssa-pre.c (struct pre_stats): Remove constified field.
(bitmap_set_replace_value): Add gcc_unreachable.
(do_regular_insertion): Re-write all_same handling. Insert
an assignment instead of a PHI in this case.
(execute_pre): Do not record constified events.
* gcc.dg/torture/pr55107.c: New testcase.
* gcc.dg/tree-ssa/ssa-pre-5.c: Adjust.
Richard Biener [Tue, 5 Feb 2013 12:54:12 +0000 (12:54 +0000)]
re PR tree-optimization/54767 (Incorrect code generated with "-O2 -fcheck=bounds")
2013-02-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/54767
* tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
backedges drop all symbolical range information.
(execute_vrp): Compute backedges.
* gfortran.fortran-torture/execute/pr54767.f90: New testcase.
PR lto/55660
* tree-streamer.c (record_common_node): Check that we are not
recursively pre-loading nodes we want to skip. Handle
char_type_node appearing as part of va_list_type_node.
* gcc.dg/lto/pr55660_0.c: New testcase.
* gcc.dg/lto/pr55660_1.c: Likewise.
2013-02-04 Richard Biener <rguenther@suse.de>
PR middle-end/55890
* gimple.h (gimple_call_builtin_class_p): New function.
* gimple.c (validate_call): New function.
(gimple_call_builtin_class_p): Likewise.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
Use gimple_call_builtin_class_p.
(find_func_clobbers): Likewise.
* tree-ssa-strlen.c (adjust_last_stmt): Likewise.
(strlen_optimize_stmt): Likewise.
* gcc.dg/torture/pr55890-1.c: New testcase.
* gcc.dg/torture/pr55890-2.c: Likewise.
Thomas Koenig [Sat, 2 Feb 2013 22:38:14 +0000 (22:38 +0000)]
backport: re PR fortran/50627 (Error recovery: ICE in gfc_free_namespace after diagnosing missing end of construct)
2013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
Backport from trunk
PR fortran/50627
PR fortran/56054
* decl.c (gfc_match_end): Remove half-ready namespace
from parent if the end of a block is missing.
* parse.c (parse_module): Do not put namespace into
gsymbol on error.
2013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
Backport from trunk
PR fortran/50627
PR fortran/56054
* gfortran.dg/block_12.f90: New test.
* gfortran.dg/module_error_1.f90: New test.