platform/upstream/gcc.git
9 years agoDaily bump.
GCC Administrator [Tue, 28 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226294

9 years agoc-decl.c (get_parm_info): Remove static var.
Luis Felipe Strano Moraes [Mon, 27 Jul 2015 22:26:34 +0000 (22:26 +0000)]
c-decl.c (get_parm_info): Remove static var.

gcc/c/ChangeLog

2015-07-28  Luis Felipe Strano Moraes  <luis.strano@gmail.com>
    Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-decl.c (get_parm_info): Remove static var. Update warning
message.

gcc/testsuite/ChangeLog

2015-07-28  Luis Felipe Strano Moraes  <luis.strano@gmail.com>
    Manuel López-Ibáñez  <manu@gcc.gnu.org>

* gcc.dg/parm-incomplete-1.c: Update.
* gcc.dg/pr18809-1.c: Update.
* gcc.dg/pr27953.c: Update.
* gcc.dg/vla-11.c: Update.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r226274

9 years ago* c-c++-common/Wtautological-compare-2.c: Remove unused line.
Marek Polacek [Mon, 27 Jul 2015 20:51:48 +0000 (20:51 +0000)]
* c-c++-common/Wtautological-compare-2.c: Remove unused line.

From-SVN: r226271

9 years agoSimplify gather_scalar_reductions
Tom de Vries [Mon, 27 Jul 2015 20:05:19 +0000 (20:05 +0000)]
Simplify gather_scalar_reductions

2015-07-27  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (gather_scalar_reductions): Simplify function
structure.

From-SVN: r226270

9 years agoUpdate outer-4.c and uns-outer-4.c
Tom de Vries [Mon, 27 Jul 2015 20:05:09 +0000 (20:05 +0000)]
Update outer-4.c and uns-outer-4.c

2015-07-27  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline
attribute.  Update comment.
(main): Remove.
Add scan for not parallelizing inner loop.
* gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline
attribute.
(main): Remove.

From-SVN: r226269

9 years ago* ipa-devirt.c (types_same_for_odr): Fix typo.
Marek Polacek [Mon, 27 Jul 2015 19:36:40 +0000 (19:36 +0000)]
* ipa-devirt.c (types_same_for_odr): Fix typo.

From-SVN: r226266

9 years agore PR bootstrap/67030 (ARM bootstrap failure due to [-Werror=tautological-compare])
Marek Polacek [Mon, 27 Jul 2015 19:09:27 +0000 (19:09 +0000)]
re PR bootstrap/67030 (ARM bootstrap failure due to [-Werror=tautological-compare])

PR bootstrap/67030
* c-common.c (warn_tautological_cmp): Don't warn for macro expansion.

* c-c++-common/Wtautological-compare-2.c: New test.

From-SVN: r226264

9 years agoconstexpr.c (cxx_eval_call_expression): Don't add this call to the hash table if...
Jason Merrill [Mon, 27 Jul 2015 16:57:21 +0000 (12:57 -0400)]
constexpr.c (cxx_eval_call_expression): Don't add this call to the hash table if !depth_ok.

* constexpr.c (cxx_eval_call_expression): Don't add this call to
the hash table if !depth_ok.

From-SVN: r226256

9 years agore PR lto/66468 (ICE in in check_die, at dwarf2out.c:5719)
Jason Merrill [Mon, 27 Jul 2015 16:57:15 +0000 (12:57 -0400)]
re PR lto/66468 (ICE in in check_die, at dwarf2out.c:5719)

PR debug/66468
* dwarf2out.c (gen_inlined_subroutine_die): Check
cgraph_function_possibly_inlined_p.

From-SVN: r226255

9 years agoAdd more tests for PR target/66232
H.J. Lu [Mon, 27 Jul 2015 16:24:35 +0000 (16:24 +0000)]
Add more tests for PR target/66232

PR target/66232
* gcc.target/i386/pr66232-6.c: New tests.
* gcc.target/i386/pr66232-7.c: Likewise.
* gcc.target/i386/pr66232-8.c: Likewise.
* gcc.target/i386/pr66232-9.c: Likewise.

From-SVN: r226254

9 years ago[PATCH][AArch64] Improve spill code - swap order in shr patterns
Wilco Dijkstra [Mon, 27 Jul 2015 16:18:36 +0000 (16:18 +0000)]
[PATCH][AArch64] Improve spill code - swap order in shr patterns

gcc/

* gcc/config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
Place integer variant first.
(aarch64_ashr_sisd_or_int_<mode>3): Likewise.

From-SVN: r226253

9 years ago[ARM] PR/63870 Add a __builtin_lane_check
Alan Lawrence [Mon, 27 Jul 2015 15:55:23 +0000 (15:55 +0000)]
[ARM] PR/63870 Add a __builtin_lane_check

        * config/arm/arm-builtins.c (enum arm_builtins):
        Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
        (ARM_BUILTIN_NEON_BASE): Rename macro to....
        (ARM_BUILTIN_NEON_PATTERN_START): ...this.
        (arm_init_neon_builtins): Register __builtin_arm_lane_check.
        (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.

From-SVN: r226252

9 years ago[ARM] PR/63870 Add qualifier to check lane bounds in expand
Alan Lawrence [Mon, 27 Jul 2015 15:44:26 +0000 (15:44 +0000)]
[ARM] PR/63870 Add qualifier to check lane bounds in expand

* config/arm/arm-builtins.c (enum arm_type_qualifiers):
Add qualifier_lane_index.
(arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
(arm_getlane_qualifiers): Use qualifier_lane_index.
(arm_lanemac_qualifiers): Rename to...
(arm_mac_n_qualifiers): ...this.
(LANEMAC_QUALIFIERS): Rename to...
(MAC_N_QUALIFIERS): ...this.
(arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
(arm_setlane_qualifiers): Use qualifier_lane_index.
(arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
(enum builtin_arg): Add NEON_ARG_LANE_INDEX.
(arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
(arm_expand_neon_builtin): Handle qualifier_lane_index.

* config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
* config/arm/arm.c (bounds_check): Likewise, improve error message.
(neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
* config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
(vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
qualifiers to TERNOP_IMM.
(vdup_lane): Change qualifiers to GETLANE.
(vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
(vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
vqdmlsl_n): Change qualifiers to MAC_N.

* config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
Remove call to neon_lane_bounds.

From-SVN: r226251

9 years ago[PATCH][AArch64] Improve spill code - swap order in shl pattern
Wilco Dijkstra [Mon, 27 Jul 2015 15:02:55 +0000 (15:02 +0000)]
[PATCH][AArch64] Improve spill code - swap order in shl pattern

gcc/

* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
Place integer variant first.

From-SVN: r226247

9 years agoFix logic error in Fortran OpenACC parsing
Thomas Schwinge [Mon, 27 Jul 2015 14:26:41 +0000 (16:26 +0200)]
Fix logic error in Fortran OpenACC parsing

gcc/fortran/
* parse.c (parse_oacc_structured_block): Fix logic error.
Reported by Mikael Morin <mikael.morin@sfr.fr>.

From-SVN: r226246

9 years agoarm-arches.def: Add "armv6kz".
Matthew Wahab [Mon, 27 Jul 2015 13:07:09 +0000 (13:07 +0000)]
arm-arches.def: Add "armv6kz".

2015-07-27  Matthew Wahab  <matthew.wahab@arm.com>

* config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
* config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
for armv6kz targets.
* config/arm/arm-cores.def: Replace 6ZK with 6KZ.
* config/arm/arm-protos.h (FL_ARCH6KZ): New.
(FL_FOR_ARCH6ZK): Remove.
(FL_FOR_ARCH6KZ): New.
(arm_arch6zk): New declaration.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.c (arm_arch6kz): New.
(arm_option_override): Set arm_arch6kz.
* config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
* config/arm/driver-arm.c: Add comment to "armv6zk" entry.
        * doc/invoke.texi: Replace "armv6zk" with "armv6kz".

From-SVN: r226243

9 years agore PR c++/66555 (Fails to warn for if (j == 0 && i == i))
Marek Polacek [Mon, 27 Jul 2015 12:40:45 +0000 (12:40 +0000)]
re PR c++/66555 (Fails to warn for if (j == 0 && i == i))

PR c++/66555
PR c/54979
* c-common.c (find_array_ref_with_const_idx_r): New function.
(warn_tautological_cmp): New function.
* c-common.h (warn_tautological_cmp): Declare.
* c.opt (Wtautological-compare): New option.

* c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.

* call.c (build_new_op_1): Call warn_tautological_cmp.
* pt.c (tsubst_copy_and_build): Use sentinel to suppress tautological
compare warnings.

* doc/invoke.texi: Document -Wtautological-compare.

* c-c++-common/Wtautological-compare-1.c: New test.

From-SVN: r226242

9 years agogenmatch.c (decision_tree::gen_gimple): Split out large subtrees into separate functions.
Richard Biener [Mon, 27 Jul 2015 10:59:18 +0000 (10:59 +0000)]
genmatch.c (decision_tree::gen_gimple): Split out large subtrees into separate functions.

2015-07-27  Richard Biener  <rguenther@suse.de>

* genmatch.c (decision_tree::gen_gimple): Split out large
subtrees into separate functions.
(decision_tree::gen_generic): Likewise.

From-SVN: r226241

9 years agoDaily bump.
GCC Administrator [Mon, 27 Jul 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226240

9 years agoFix PR c++/18969 (invalid return statement diagnosed too late)
Patrick Palka [Sun, 26 Jul 2015 17:04:31 +0000 (17:04 +0000)]
Fix PR c++/18969 (invalid return statement diagnosed too late)

gcc/cp/ChangeLog:

PR c++/18969
* typeck.c (check_return_expr): Also do the basic return-value
validity checking if processing_template_decl and yet types are
not dependent.  Remove obsolete code.

gcc/testsuite/ChangeLog:

PR c++/18969
* g++.dg/template/pr18969.C: New test.
* g++.dg/template/pr18969-2.C: New test.
* g++.old-deja/g++.jason/overload.C: Remove return value in
template function returning void.

From-SVN: r226236

9 years agodecl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of...
Paolo Carlini [Sun, 26 Jul 2015 09:17:03 +0000 (09:17 +0000)]
decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning.

2015-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD"
in warning_at instead of "%q+D" in warning.
(warn_extern_redeclared_static): Likewise for inform.
(check_redeclaration_no_default_args): Likewise for permerror.
(duplicate_decls): Likewise.
(check_previous_goto_1): Likewise for inform.
(check_goto, start_decl, check_for_uninitialized_const_var,
start_preparsed_function, finish_function§): Likewise.
* decl2.c (build_anon_union_vars, c_parse_final_cleanups): Likewise.
* init.c (sort_mem_initializers): Likewise.
* typeck.c (convert_for_initialization): Likewise for inform.
(maybe_warn_about_returning_address_of_local): Likewise.
* typeck2.c (abstract_virtuals_error_sfinae): Likewise for inform.
(cxx_incomplete_type_diagnostic): Likewise for emit_diagnostic.

From-SVN: r226234

9 years agopr66140.c (lpfc_bg_setup_bpl): Use unsigned immediates to avoid shift-overflow warnings.
Uros Bizjak [Sun, 26 Jul 2015 09:08:04 +0000 (11:08 +0200)]
pr66140.c (lpfc_bg_setup_bpl): Use unsigned immediates to avoid shift-overflow warnings.

* gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned
immediates to avoid shift-overflow warnings.

From-SVN: r226233

9 years agoalpha.c: Use SUBREG_P predicate.
Uros Bizjak [Sun, 26 Jul 2015 08:51:14 +0000 (10:51 +0200)]
alpha.c: Use SUBREG_P predicate.

* config/alpha/alpha.c: Use SUBREG_P predicate.
* config/alpha/predicates.md: Ditto.

From-SVN: r226232

9 years agoDaily bump.
GCC Administrator [Sun, 26 Jul 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226231

9 years agore PR c++/66857 (Reference not bound to lvalue)
Patrick Palka [Sat, 25 Jul 2015 23:15:44 +0000 (23:15 +0000)]
re PR c++/66857 (Reference not bound to lvalue)

Fix PR c++/66857

gcc/cp/ChangeLog:

PR c++/66857
* cvt.c (ocp_convert): Don't call scalar_constant_value when
converting to a class type.

gcc/testsuite/ChangeLog:

PR c++/66857
* g++.dg/init/pr66857.C: New test.

From-SVN: r226228

9 years agoS390: Clean up cross-compile for S390.
Dominik Vogt [Sat, 25 Jul 2015 18:34:15 +0000 (18:34 +0000)]
S390: Clean up cross-compile for S390.

gcc/ChangeLog

* config.host (s390*-*-*): Include driver-native.c only when
building with s390* as host *and* target.

From-SVN: r226223

9 years agore PR target/66930 (gengtype.c is miscompiled during stage2)
Oleg Endo [Sat, 25 Jul 2015 14:07:17 +0000 (14:07 +0000)]
re PR target/66930 (gengtype.c is miscompiled during stage2)

gcc/
PR target/66930
* config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
T bit register modified_between_p check.

From-SVN: r226218

9 years agoChangeLog: Fix whitespace.
Uros Bizjak [Sat, 25 Jul 2015 12:57:23 +0000 (14:57 +0200)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r226217

9 years agoi386.c: Use SUBREG_P predicate.
Uros Bizjak [Sat, 25 Jul 2015 12:47:35 +0000 (14:47 +0200)]
i386.c: Use SUBREG_P predicate.

* config/i386/i386.c: Use SUBREG_P predicate.
* config/i386/i386.md: Ditto.
* config/i386/sse.md: Ditto.
* config/i386/predicates.md: Ditto.

From-SVN: r226216

9 years agore PR target/67004 (valgrind error in recog_memoized & shorten_branches)
Uros Bizjak [Sat, 25 Jul 2015 11:34:59 +0000 (13:34 +0200)]
re PR target/67004 (valgrind error in recog_memoized & shorten_branches)

PR target/67004
* config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.

From-SVN: r226215

9 years agoremove tree-browser
Sebastian Pop [Sat, 25 Jul 2015 09:29:11 +0000 (09:29 +0000)]
remove tree-browser

* Makefile.in: Remove use of TREEBROWSER.
* config.in: Regenerated.
* configure: Regenerated.
* configure.ac: Remove definition of TREEBROWSER.
* tree-browser.c: Removed.
* tree-browser.def: Removed.

From-SVN: r226214

9 years agodump reasons why graphite failed to detect a scop
Sebastian Pop [Sat, 25 Jul 2015 09:22:29 +0000 (09:22 +0000)]
dump reasons why graphite failed to detect a scop

When trying to analyze why Graphite does not handle a loop nest, it is easy to
look in the dumps of -fdump-tree-graphite-all to guess what has to be changed to
catch the loop.  This patch makes the dumps a bit more verbose and useful.

* graphite-scop-detection.c: Include gimple-pretty-print.h.
(stmt_simple_for_scop_p): Print when a stmt is not handled in Graphite.
(scopdet_basic_block_info): Print when a loop or bb cannot be
represented in Graphite.

From-SVN: r226213

9 years agore PR target/66648 (incorrect memcpy expansion with unrolled_loop strategy at -O2)
Uros Bizjak [Sat, 25 Jul 2015 09:19:24 +0000 (11:19 +0200)]
re PR target/66648 (incorrect memcpy expansion with unrolled_loop strategy at -O2)

PR target/66648
* config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
execution guard when min_size is less than size_needed.

testsuite/ChangeLog:

PR target/66648
* gcc.target/i386/pr66648.c: New test.

From-SVN: r226212

9 years agoupdate doc for supported isl versions
Sebastian Pop [Sat, 25 Jul 2015 09:14:55 +0000 (09:14 +0000)]
update doc for supported isl versions

       * doc/install.texi: Document supported versions of ISL.

From-SVN: r226211

9 years agoFixup graphite/uns-*.c testcases
Tom de Vries [Sat, 25 Jul 2015 07:52:59 +0000 (07:52 +0000)]
Fixup graphite/uns-*.c testcases

2015-07-25  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/graphite/graphite.exp: Include uns-*.c files in
interchange_files and block_files variables.
* gcc.dg/graphite/uns-block-1.c (main): Change signed into unsigned
arithmetic.
* gcc.dg/graphite/uns-interchange-12.c: Same.
* gcc.dg/graphite/uns-interchange-14.c: Same.
* gcc.dg/graphite/uns-interchange-15.c: Same.
* gcc.dg/graphite/uns-interchange-9.c (foo): Same.
* gcc.dg/graphite/uns-interchange-mvt.c: Same.

From-SVN: r226209

9 years agore PR c++/64969 (generic functions do not work with placeholder return types)
Jason Merrill [Sat, 25 Jul 2015 07:12:31 +0000 (03:12 -0400)]
re PR c++/64969 (generic functions do not work with placeholder return types)

PR c++/64969
* pt.c (splice_late_return_type): Correct deduced return type for
abbreviated function template.

From-SVN: r226208

9 years agore PR c++/64989 (constant-initialization of self-referencing array)
Jason Merrill [Sat, 25 Jul 2015 06:54:57 +0000 (02:54 -0400)]
re PR c++/64989 (constant-initialization of self-referencing array)

PR c++/64989
* pt.c (splice_late_return_type): Correct deduced return type for
abbreviated function template.

From-SVN: r226207

9 years agorevert: re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20...
Jeff Law [Sat, 25 Jul 2015 05:45:42 +0000 (23:45 -0600)]
revert: re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% lower than with CLANG)

Revert:
        PR lto/66752
        * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
        unable to find X NE 0 in the tables, return X as the simplified
        condition.
        (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
        in VISISTED_BBS, then return failure.  Else add nodes from NEXT_PATH
        to VISISTED_BBS.  */
        * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
        after removing the control flow statement and unnecessary edges.

    testsuite/
        PR lto/66752
        * gcc.dg/tree-ssa/pr66752-2.c: New test.
        * gcc.dg/torture/pr66752-1.c: New test
        * g++.dg/torture/pr66752-2.C: New test.

From-SVN: r226206

9 years agoRevert:
David Edelsohn [Sat, 25 Jul 2015 01:28:21 +0000 (01:28 +0000)]
Revert:

2015-07-23  Alexandre Oliva <aoliva@redhat.com>

From-SVN: r226202

9 years agoDaily bump.
GCC Administrator [Sat, 25 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226199

9 years agosyscall: Add ioctl consts from if_tun.h
Ian Lance Taylor [Sat, 25 Jul 2015 00:01:04 +0000 (00:01 +0000)]
syscall:  Add ioctl consts from if_tun.h

    During the gccgo build define constants from
    some header files are processed by mksysinfo.sh and
    added to syscall.go.  In some cases the constants
    are based on macros which are not processed
    correctly by mksysinfo.sh.  This adds the support
    to generate the correct values for the TUN* constants
    from linux/if_tun.h.

    Fixes golang/go#11707

    Reviewed-on: https://go-review.googlesource.com/12491

From-SVN: r226196

9 years agoi386.c (ix86_va_start): Remove unneeded !TARGET_64BIT check.
Uros Bizjak [Fri, 24 Jul 2015 22:21:54 +0000 (00:21 +0200)]
i386.c (ix86_va_start): Remove unneeded !TARGET_64BIT check.

* config/i386/i386.c (ix86_va_start): Remove
unneeded !TARGET_64BIT check.
(ix86_gimplify_va_arg): Ditto.

From-SVN: r226195

9 years agoEnable reductions without fassociative-math in graphite
Tom de Vries [Fri, 24 Jul 2015 20:55:31 +0000 (20:55 +0000)]
Enable reductions without fassociative-math in graphite

2015-07-24  Tom de Vries  <tom@codesourcery.com>

* graphite-sese-to-poly.c (build_poly_scop): Always call
rewrite_commutative_reductions_out_of_ssa.

From-SVN: r226194

9 years agoDon't allow unsafe reductions in graphite
Tom de Vries [Fri, 24 Jul 2015 20:55:22 +0000 (20:55 +0000)]
Don't allow unsafe reductions in graphite

2015-07-24  Tom de Vries  <tom@codesourcery.com>

* graphite-sese-to-poly.c (is_reduction_operation_p): Limit
flag_associative_math to FLOAT_TYPE_P.  Honour
TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.

* gcc.dg/graphite/block-1.c: Xfail scan.
* gcc.dg/graphite/interchange-12.c: Same.
* gcc.dg/graphite/interchange-14.c: Same.
* gcc.dg/graphite/interchange-15.c: Same.
* gcc.dg/graphite/interchange-9.c: Same.
* gcc.dg/graphite/interchange-mvt.c: Same.
* gcc.dg/graphite/uns-block-1.c: New test.
* gcc.dg/graphite/uns-interchange-12.c: New test.
* gcc.dg/graphite/uns-interchange-14.c: New test.
* gcc.dg/graphite/uns-interchange-15.c: New test.
* gcc.dg/graphite/uns-interchange-9.c: New test.
* gcc.dg/graphite/uns-interchange-mvt.c: New test.

From-SVN: r226193

9 years agore PR c++/64079 (%+D in diagnostics breaks pragma GCC diagnostic)
Manuel López-Ibáñez [Fri, 24 Jul 2015 20:20:13 +0000 (20:20 +0000)]
re PR c++/64079 (%+D in diagnostics breaks pragma GCC diagnostic)

2015-07-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/64079
* toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
and "%qD" in warning_at instead of "%q+D" in warning.

/testsuite
2015-07-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/64079
* c-c++-common/Wunused-function-1.c: New.

From-SVN: r226191

9 years agoi386.c (ix86_call_abi_override): Call ix86_function_abi.
Uros Bizjak [Fri, 24 Jul 2015 19:03:45 +0000 (21:03 +0200)]
i386.c (ix86_call_abi_override): Call ix86_function_abi.

* config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
(ix86_function_abi): Cleanup.

From-SVN: r226187

9 years agocompiler: Don't parse malformed receiver/parameters.
Ian Lance Taylor [Fri, 24 Jul 2015 18:51:13 +0000 (18:51 +0000)]
compiler: Don't parse malformed receiver/parameters.

    Fixes golang/go#11576.

    Reviewed-on: https://go-review.googlesource.com/12157

From-SVN: r226185

9 years agocompiler: Disallow rune literals with '\X'.
Ian Lance Taylor [Fri, 24 Jul 2015 18:28:40 +0000 (18:28 +0000)]
compiler: Disallow rune literals with '\X'.

    http://golang.org/ref/spec#Rune_literals states that rune literals
    encoded as hex bytes must begin with lowercase '\x'.
    Fixes golang/go#11575.

    Reviewed-on: https://go-review.googlesource.com/12158

From-SVN: r226184

9 years agore PR other/66259 (Combined gcc and binutils build from git-master fails, with gas...
Jeff Law [Fri, 24 Jul 2015 18:20:44 +0000 (12:20 -0600)]
re PR other/66259 (Combined gcc and binutils build from git-master fails, with gas/as-new not existing)

PR other/66259
* config-ml.in: Reflects renaming of configure.in to configure.ac
* configure: Likewise
* configure.ac: Likewise

boehm-gc/

PR other/66259
* Makefile.direct: Reflects renaming of configure.in to configure.ac
* Makefile.dist: Likewise
* version.h: Likewise
* doc/README: Likewise

config/

PR other/66259
* gettext.m4: Reflects renaming of configure.in to configure.ac
* po.m4: Likewise
* stdint.m4: Likewise
* tcl.m4: Likewise

gcc/

PR other/66259
* acinclude.m4: Reflects renaming of configure.in to configure.ac
* configure: Likewise
* configure.ac: Likewise
* doc/install.texi: Likewise
* doc/tm.texi: Likewise
* doc/tm.texi.in: Likewise

gcc/ada/

PR other/66259
* prj-nmsc.adb: Reflects renaming of configure.in to configure.ac
* gcc-interface/Makefile.in: Likewise

intl/

PR other/66259
* configure: Reflects renaming of configure.in to configure.ac

libjava/

PR other/66259
* configure: Reflects renaming of configure.in to configure.ac

libjava/classpath

PR other/66259
* INSTALL: Reflects renaming of configure.in to configure.ac
* ltconfig: Likewise
* missing: Likewise
* m4/ac_prog_javac.m4: Likewise
* m4/ac_prog/javac_works.m4: Likewise
* resource/META-INF/mimetypes.default: Likewise

libjava/libltdl

PR other/66259
* THREADS: Reflects renaming of configure.in to configure.ac

liboffloadmic/

PR other/66259
* configure: Reflects renaming of configure.in to configure.ac

From-SVN: r226183

9 years agocompiler: Don't make temporaries for constant expressions.
Ian Lance Taylor [Fri, 24 Jul 2015 17:22:03 +0000 (17:22 +0000)]
compiler: Don't make temporaries for constant expressions.

    Fixes golang/go#11039.

    Reviewed-on: https://go-review.googlesource.com/10645

From-SVN: r226180

9 years ago[obvious] Use std::swap instead of manually swapping in a few more places
Kyrylo Tkachov [Fri, 24 Jul 2015 16:46:04 +0000 (16:46 +0000)]
[obvious] Use std::swap instead of manually swapping in a few more places

* alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
manually swapping values.
* cse.c (fold_rtx): Likewise.
* lra-eliminations.c (form_sum): Likewise.

From-SVN: r226179

9 years ago* nl.po: Update.
Joseph Myers [Fri, 24 Jul 2015 16:44:23 +0000 (17:44 +0100)]
* nl.po: Update.

From-SVN: r226177

9 years agobe.po, [...]: Update.
Joseph Myers [Fri, 24 Jul 2015 16:41:44 +0000 (17:41 +0100)]
be.po, [...]: Update.

* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
zh_TW.po: Update.
* uk.po: New file.

From-SVN: r226175

9 years ago* include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
Jonathan Wakely [Fri, 24 Jul 2015 16:30:04 +0000 (17:30 +0100)]
* include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
(_M_load_and_test_until): Whitespace.
(_M_load_and_test): Value-initialize the unused durations.
(_M_load_when_equal): Add missing return value.

From-SVN: r226174

9 years agore PR target/64003 (valgrind complains about get_attr_length_nobnd in insn-attrtab...
Uros Bizjak [Fri, 24 Jul 2015 16:25:56 +0000 (18:25 +0200)]
re PR target/64003 (valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md)

PR target/64003
* config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
* config/i386/i386.md (maybe_prefix_bnd): New attribute.
(*jcc_1, *jcc_2, jump, simple_return_internal)
(simple_return_pop_internal): Set attribute maybe_prefix_bnd.
Set length_nobnd attribute instead of length attribute.
(indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
(length_nobnd): Remove attribute.
(length): Remove length_nobnd processing.

From-SVN: r226173

9 years agogimplify.c (omp_default_clause): New function.
Nathan Sidwell [Fri, 24 Jul 2015 16:13:04 +0000 (16:13 +0000)]
gimplify.c (omp_default_clause): New function.

* gimplify.c (omp_default_clause): New function.  Reorganize flow
for clarity. Broken out of ...
(omp_notice_variable): ... here.

From-SVN: r226170

9 years agore PR middle-end/66984 (ICE: fold_binary changes type of operand, causing failure...
Gary Funck [Fri, 24 Jul 2015 16:10:39 +0000 (16:10 +0000)]
re PR middle-end/66984 (ICE: fold_binary changes type of operand, causing failure in verify_gimple_assign_binary)

2015-07-24  Gary Funck  <gary@intrepid.com>

PR middle-end/66984
* fold-const.c (fold_binary_loc): Call fold_convert on arguments to
        fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.

From-SVN: r226168

9 years agoAdd transform_to_exit_first_loop_alt dump success message
Tom de Vries [Fri, 24 Jul 2015 15:00:59 +0000 (15:00 +0000)]
Add transform_to_exit_first_loop_alt dump success message

2015-07-24  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (gen_parallel_loop): Add debug print for alternative
exit-first loop transform.

* gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for
alternative exit-first loop transform.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.
* gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
* gfortran.dg/parloops-exit-first-loop-alt.f95: Same.

From-SVN: r226164

9 years agoFix gfortran.dg/class_to_type_4.f90 deallocation code misordering failure
Mikael Morin [Fri, 24 Jul 2015 14:44:59 +0000 (14:44 +0000)]
Fix gfortran.dg/class_to_type_4.f90 deallocation code misordering failure

PR fortran/64986
gcc/fortran/
* trans-expr.c (gfc_trans_assignment_1): Put component deallocation
code at the beginning of the block.

From-SVN: r226162

9 years agore PR libgomp/66714 (ICE in loc_list_from_tree with -g)
Cesar Philippidis [Fri, 24 Jul 2015 14:38:43 +0000 (07:38 -0700)]
re PR libgomp/66714 (ICE in loc_list_from_tree with -g)

PR 66714

gcc/
* tree-cfg.c (struct replace_decls_d): New struct.
(replace_block_vars_by_duplicates_1): New function.
(replace_block_vars_by_duplicates): Use it to replace the decls
in the value exprs by duplicates.

libgomp/
* testsuite/libgomp.c/pr66714.c: New test.

From-SVN: r226160

9 years ago[AArch64] elf toolchain does not pass -shared linker option
Szabolcs Nagy [Fri, 24 Jul 2015 14:30:41 +0000 (14:30 +0000)]
[AArch64] elf toolchain does not pass -shared linker option

2015-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
-shared, -symbolic, -rdynamic.

From-SVN: r226159

9 years ago[AArch64] Fix LINUX_TARGET_LINK_SPEC to be consistent with ARM
Szabolcs Nagy [Fri, 24 Jul 2015 14:27:55 +0000 (14:27 +0000)]
[AArch64] Fix LINUX_TARGET_LINK_SPEC to be consistent with ARM

2015-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>

PR target/65711
* config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
-dynamic-linker within %{!static %{!shared, and -rdynamic within
%{!static.

From-SVN: r226158

9 years agore PR ipa/66566 ([CHKP] ICE in early_inliner: internal compiler error: in operator...
Ilya Enkovich [Fri, 24 Jul 2015 13:15:49 +0000 (13:15 +0000)]
re PR ipa/66566 ([CHKP] ICE in early_inliner: internal compiler error: in operator[], at vec.h:714)

gcc/

PR ipa/66566
* ipa-inline-analysis.c (estimate_calls_size_and_time): Check
edge summary is available.

gcc/testsuite/

PR ipa/66566
* gcc.target/i386/mpx/pr66566.c: New test.

From-SVN: r226155

9 years agogenmatch.c (struct dt_node): Add statistic fields.
Richard Biener [Fri, 24 Jul 2015 12:39:08 +0000 (12:39 +0000)]
genmatch.c (struct dt_node): Add statistic fields.

2015-07-24  Richard Biener  <rguenther@suse.de>

* genmatch.c (struct dt_node): Add statistic fields.
(dt_node::analyze): New method.
(decision_tree::gen_gimple): Call analyze on the root node
and print statistics to stderr.
(decision_tree::gen_generic): Likewise.

From-SVN: r226154

9 years agofold-const.c (fold_binary_loc): Move simplifying of comparisons against the highest...
Richard Biener [Fri, 24 Jul 2015 12:36:00 +0000 (12:36 +0000)]
fold-const.c (fold_binary_loc): Move simplifying of comparisons against the highest or lowest possible integer ...

2015-07-24  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move simplifying of comparisons
against the highest or lowest possible integer ...
* match.pd: ... as patterns here.

From-SVN: r226153

9 years agogenmatch.c (struct capture_info): Add same_as field.
Richard Biener [Fri, 24 Jul 2015 12:35:22 +0000 (12:35 +0000)]
genmatch.c (struct capture_info): Add same_as field.

2015-07-24  Richard Biener  <rguenther@suse.de>

* genmatch.c (struct capture_info): Add same_as field.
(capture_info::capture_info): Initialize same_as.
(capture_info::walk_match): Compute same_as.
(capture_info::walk_result): Compute stuff for the leader.
(capture_info::walk_c_expr): Likewise.
(dt_simplify::gen_1): Only look at leaders when deciding
to force no side-effects or emit side-effects of omitted operands.

From-SVN: r226152

9 years agoAdd a testcase for PR bootstrap/66978
H.J. Lu [Fri, 24 Jul 2015 12:08:00 +0000 (12:08 +0000)]
Add a testcase for PR bootstrap/66978

PR bootstrap/66978
* gcc.target/i386/pr66978.c: New test.

From-SVN: r226150

9 years agoS/390: Fix cfi for GPR 2 FPR saves
Andreas Krebbel [Fri, 24 Jul 2015 11:29:50 +0000 (11:29 +0000)]
S/390: Fix cfi for GPR 2 FPR saves

gcc/ChangeLog:

2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
    reg note to the GPR -> FPR save instructions.

gcc/testsuite/ChangeLog:

2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    * gcc.target/s390/gpr2fprsavecfi.c: New test.

From-SVN: r226149

9 years ago[PATCH] S/390: Improve risbg usage
Andreas Krebbel [Fri, 24 Jul 2015 11:28:06 +0000 (11:28 +0000)]
[PATCH] S/390: Improve risbg usage

gcc/ChangeLog:

2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
    cheaper.
    (s390_expand_insv): Don't generate risbg pattern for constant zero
    sources.
    * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
    ("*insv<mode>_z10_appendbitsleft"): New pattern definitions.  New
    splitters.

gcc/testsuite/ChangeLog:

2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    * gcc.target/s390/insv-1.c: New test.
    * gcc.target/s390/insv-2.c: New test.
    * gcc.target/s390/insv-3.c: New test.

From-SVN: r226148

9 years ago[PATCH 4/4] S390 -march=native related fixes
Dominik Vogt [Fri, 24 Jul 2015 11:25:01 +0000 (11:25 +0000)]
[PATCH 4/4] S390 -march=native related fixes

gcc/ChangeLog

* config/s390/s390.c (s390_reorg): Clean up handling of processors with
-mtune=
(s390_issue_rate): Likewise.
(s390_sched_reorder): Likewise.
(s390_sched_variable_issue): Likewise.
(s390_loop_unroll_adjust): Likewise.
(s390_option_override):  Likewise.

From-SVN: r226147

9 years ago[PATCH 3/4] S390 -march=native related fixes
Dominik Vogt [Fri, 24 Jul 2015 11:23:53 +0000 (11:23 +0000)]
[PATCH 3/4] S390 -march=native related fixes

gcc/ChangeLog

* config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
processor capabilities with -march=native.
* config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
(DRIVER_SELF_SPECS): Likewise.  Join specs for 31 and 64 bit.
(S390_TARGET_BITS_STRING): Macro to simplify specs.

From-SVN: r226146

9 years ago[PATCH 2/4] S390 -march=native related fixes
Dominik Vogt [Fri, 24 Jul 2015 11:22:32 +0000 (11:22 +0000)]
[PATCH 2/4] S390 -march=native related fixes

gcc/ChangeLog

* config/s390/s390.c (s390_issue_rate): Handle PROCESSOR_2094_Z9_EC.
(s390_option_override): Likewise.
(s390_adjust_priority): Likewise.

From-SVN: r226145

9 years agoS390 -march=native related fixes
Dominik Vogt [Fri, 24 Jul 2015 11:19:59 +0000 (11:19 +0000)]
S390 -march=native related fixes

gcc/ChangeLog:

* config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS when
cross compiling.

From-SVN: r226144

9 years agofold-const.c (maybe_canonicalize_comparison_1): Move A code CST canonicalization ...
Richard Biener [Fri, 24 Jul 2015 10:31:21 +0000 (10:31 +0000)]
fold-const.c (maybe_canonicalize_comparison_1): Move A code CST canonicalization ...

2015-07-24  Richard Biener  <rguenther@suse.de>

* fold-const.c (maybe_canonicalize_comparison_1): Move
A code CST canonicalization ...
* match.pd: ... to a pattern here.

cp/
* init.c (build_vec_init): Build iterator bound in the same
type as the iterator.

From-SVN: r226143

9 years agoRemove xfail in autopar/uns-outer-4.c
Tom de Vries [Fri, 24 Jul 2015 10:14:34 +0000 (10:14 +0000)]
Remove xfail in autopar/uns-outer-4.c

2015-07-24  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/autopar/uns-outer-4.c: Remove loopfn xfail.

From-SVN: r226142

9 years ago[AArch64] Revert REG_ALLOC_ORDER/HONOR_REG_ALLOC_ORDER
Jiong Wang [Fri, 24 Jul 2015 09:06:53 +0000 (09:06 +0000)]
[AArch64] Revert REG_ALLOC_ORDER/HONOR_REG_ALLOC_ORDER

2015-07-24  Jiong Wang  <jiong.wang@arm.com>

  Revert:
  2015-07-22  Jiong Wang  <jiong.wang@arm.com>
  PR target/63521
  * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
  (HONOR_REG_ALLOC_ORDER): Define.

From-SVN: r226141

9 years agogenmatch.c (add_operator): Allow SSA_NAME as predicate.
Richard Biener [Fri, 24 Jul 2015 08:31:07 +0000 (08:31 +0000)]
genmatch.c (add_operator): Allow SSA_NAME as predicate.

2015-07-24  Richard Biener  <rguenther@suse.de>

* genmatch.c (add_operator): Allow SSA_NAME as predicate.
* fold-const.c (fold_comparison): Move parameter does not
alias &local simplification ...
* match.pd: ... as a pattern here.

From-SVN: r226140

9 years agogimple-fold.c (replace_stmt_with_simplification): Special-case valueizing call operands.
Richard Biener [Fri, 24 Jul 2015 08:25:41 +0000 (08:25 +0000)]
gimple-fold.c (replace_stmt_with_simplification): Special-case valueizing call operands.

2015-07-24  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (replace_stmt_with_simplification): Special-case
valueizing call operands.
* gimple-match-head.c (maybe_push_res_to_seq): Take
number of call arguments from ops array.
(do_valueize): New function.
(gimple_simplify): Return true if valueization changed
any operand even if the result didn't simplify further.

From-SVN: r226139

9 years agolibstdc++-v3/fragment.am (AM_CPPFLAGS): Add CPPFLAGS
Michael Haubenwallner [Fri, 24 Jul 2015 07:05:19 +0000 (07:05 +0000)]
libstdc++-v3/fragment.am (AM_CPPFLAGS): Add CPPFLAGS

2015-07-24  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.in: Regenerate.
* src/c++98/Makefile.in: Regenerate.
* src/filesystem/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

From-SVN: r226138

9 years agore PR middle-end/25530 ((unsigned / 2)*2 is not changed into unsigned &~1)
Naveen H.S [Fri, 24 Jul 2015 04:50:41 +0000 (04:50 +0000)]
re PR middle-end/25530 ((unsigned / 2)*2 is not changed into unsigned &~1)

PR middle-end/25530
2015-07-24  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

gcc/testsuite/ChangeLog:
* gcc.dg/pr25530.c: New test.

gcc/ChangeLog:
* match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.

From-SVN: r226137

9 years agore PR middle-end/25529 ((unsigned * 2)/2 is not changed into unsigned &0x7FFFFFFF)
Naveen H.S [Fri, 24 Jul 2015 04:47:48 +0000 (04:47 +0000)]
re PR middle-end/25529 ((unsigned * 2)/2 is not changed into unsigned &0x7FFFFFFF)

PR middle-end/25529
2015-07-24  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

gcc/testsuite/ChangeLog:
* gcc.dg/pr25529.c: New test.

gcc/ChangeLog:
* match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.

From-SVN: r226136

9 years agoreg_equal_test.c: New test.
Kugan Vivekanandarajah [Fri, 24 Jul 2015 01:43:22 +0000 (01:43 +0000)]
reg_equal_test.c: New test.

gcc/testsuite/ChangeLog:

2015-07-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

* gcc.target/arm/reg_equal_test.c: New test.

gcc/ChangeLog:

2015-07-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
instruction.

From-SVN: r226135

9 years agocse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor clean up.
Kugan Vivekanandarajah [Fri, 24 Jul 2015 01:38:19 +0000 (01:38 +0000)]
cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor clean up.

gcc/ChangeLog:

2015-07-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

* cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
clean up.

From-SVN: r226134

9 years agoDaily bump.
GCC Administrator [Fri, 24 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226132

9 years agoi386.c (ix86_build_builtin_va_list_64): Rename from ix86_build_builtin_va_list_abi.
Uros Bizjak [Thu, 23 Jul 2015 21:49:34 +0000 (23:49 +0200)]
i386.c (ix86_build_builtin_va_list_64): Rename from ix86_build_builtin_va_list_abi.

* config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
from ix86_build_builtin_va_list_abi.  Handle only 64bit non-MS_ABI
targets here.
(ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
ms_va_list_type_node initialization.

From-SVN: r226127

9 years agojit: supply MULTILIB_DEFAULTS as arguments when invoking driver
David Malcolm [Thu, 23 Jul 2015 21:19:07 +0000 (21:19 +0000)]
jit: supply MULTILIB_DEFAULTS as arguments when invoking driver

gcc/jit/ChangeLog:
* jit-playback.c (invoke_driver): Convert local "argvec"
to an auto_argvec, so that it owns copies of the strings,
rather than borrows them, updating ADD_ARG to use xstrdup
and special-casing the NULL terminator to avoid
xstrdup (NULL).  Call add_multilib_driver_arguments at the front
of the arguments.
(MULTILIB_DEFAULTS): Provide a default definition.
(multilib_defaults_raw): New constant array.
(gcc::jit::playback::context::add_multilib_driver_arguments): New
method.
* jit-playback.h
(gcc::jit::playback::context::add_multilib_driver_arguments): New
method.
* docs/internals/test-hello-world.exe.log.txt: Update.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r226126

9 years agore PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% lower...
Jeff Law [Thu, 23 Jul 2015 20:42:15 +0000 (14:42 -0600)]
re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% lower than with CLANG)

PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure.  Else add nodes from NEXT_PATH
to VISISTED_BBS.  */
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.

testsuite/
PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.

From-SVN: r226125

9 years agocompiler: Make empty interface types for vars during parse time.
Ian Lance Taylor [Thu, 23 Jul 2015 19:57:22 +0000 (19:57 +0000)]
compiler: Make empty interface types for vars during parse time.

    When making the type for a variable with an empty interface type,
    the parser makes an interface type with a NULL method set and relies
    on later passes to correct this.

    For sink variables, which are ignored in later passes, the interface
    method table is never finalized and a compile time assertion is issued.
    Instead, the initial type generated by the parser should be the empty
    interface type.

    Fixes golang/go#11579.

    Reviewed-on: https://go-review.googlesource.com/12049

From-SVN: r226123

9 years agocompiler: Check for errors in the underlying types of unary expressions.
Ian Lance Taylor [Thu, 23 Jul 2015 19:33:26 +0000 (19:33 +0000)]
compiler: Check for errors in the underlying types of unary expressions.

    Fixes golang/go#11592.

    Reviewed-on: https://go-review.googlesource.com/12044

From-SVN: r226122

9 years agotree-pass.h (get_current_pass_name): Removed.
Bernd Edlinger [Thu, 23 Jul 2015 19:01:03 +0000 (19:01 +0000)]
tree-pass.h (get_current_pass_name): Removed.

2015-07-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * tree-pass.h (get_current_pass_name): Removed.

From-SVN: r226121

9 years agore PR c++/66572 (Bogus Wlogical-op warning for operands coming from template instanti...
Marek Polacek [Thu, 23 Jul 2015 18:57:25 +0000 (18:57 +0000)]
re PR c++/66572 (Bogus Wlogical-op warning for operands coming from template instantiations)

PR c++/66572
* pt.c (tsubst_copy_and_build): Add warn_logical_op sentinel.

* g++.dg/warn/Wlogical-op-2.C: New test.

From-SVN: r226120

9 years ago* MAINTAINERS: Update my email address.
Bernd Schmidt [Thu, 23 Jul 2015 18:05:51 +0000 (18:05 +0000)]
* MAINTAINERS: Update my email address.

From-SVN: r226118

9 years agofunctional_hash.h: Add specializations for __intN types.
DJ Delorie [Thu, 23 Jul 2015 17:57:34 +0000 (13:57 -0400)]
functional_hash.h: Add specializations for __intN types.

* include/bits/functional_hash.h: Add specializations for __intN
types.

* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
Guard against values that might exceed size_t's precision.

From-SVN: r226117

9 years agoc-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
Marek Polacek [Thu, 23 Jul 2015 17:14:31 +0000 (17:14 +0000)]
c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.

* c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
(ubsan_instrument_shift): Likewise.

From-SVN: r226116

9 years ago[PR64164] Drop copyrename, use coalescible partition as base when optimizing.
Alexandre Oliva [Thu, 23 Jul 2015 15:34:49 +0000 (15:34 +0000)]
[PR64164] Drop copyrename, use coalescible partition as base when optimizing.

for  gcc/ChangeLog

PR rtl-optimization/64164
* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
* tree-ssa-copyrename.c: Removed.
* opts.c (default_options_table): Drop -ftree-copyrename.  Add
-ftree-coalesce-vars.
* passes.def: Drop all occurrences of pass_rename_ssa_copies.
* common.opt (ftree-copyrename): Ignore.
(ftree-coalesce-inlined-vars): Likewise.
* doc/invoke.texi: Remove the ignored options above.
* gimple-expr.h (gimple_can_coalesce_p): Move declaration
* tree-ssa-coalesce.h: ... here.
* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
headers required by it.
* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
across variables when flag_tree_coalesce_vars.  Check register
use and promoted modes to allow coalescing.  Moved to
tree-ssa-coalesce.c.
* tree-ssa-live.c (struct tree_int_map_hasher): Move along
with its member functions to tree-ssa-coalesce.c.
(var_map_base_init): Likewise.  Renamed to
compute_samebase_partition_bases.
(partition_view_normal): Drop want_bases parameter.
(partition_view_bitmap): Likewise.
* tree-ssa-live.h: Adjust declarations.
* tree-ssa-coalesce.c: Include explow.h.
(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
default defs at the entry point.
(dump_part_var_map): New.
(compute_optimized_partition_bases): New, called by...
(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
of compute_samebase_partition_bases.  Adjust.
* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
* cfgexpand.c (leader_merge): New.
(get_rtl_for_parm_ssa_default_def): New.
(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
vars.  Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
(expand_one_stack_var_at): Handle anonymous SSA_NAMEs.  Drop
redundant MEM attr setting.
(expand_one_stack_var_1): Handle anonymous SSA_NAMEs.  Renamed
from...
(expand_one_stack_var): ... this.  New wrapper to check and
skip already expanded SSA partitions.
(record_alignment_for_reg_var): New, factored out of...
(expand_one_var): ... this.
(expand_one_ssa_partition): New.
(adjust_one_expanded_partition_var): New.
(expand_one_register_var): Check and skip already expanded SSA
partitions.
(expand_used_vars): Don't create DECLs for anonymous SSA
names.  Expand all SSA partitions, then adjust all SSA names.
(pass::execute): Replace the loops that set
SA.partition_to_pseudo from partition leaders and cleared
DECL_RTL for multi-location variables, and that which used to
rename vars and set attrs, with one that clears DECL_RTL and
checks that PARMs and RESULTs default_defs match DECL_RTL.
* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
* emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
* explow.c (promote_ssa_mode): New.
* explow.h (promote_ssa_mode): Declare.
* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
* function.c: Include cfgexpand.h.
(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
(use_register_for_parm_decl): Wrapper for the above to
special-case the result_ptr.
(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
(split_complex_args): Take assign_parm_data_all argument.
Pass it to rtl_for_parm.  Set up rtl and context for split
args.
(assign_parms_augmented_arg_list): Adjust.
(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
multiple locations.  Recognize split complex args.
(assign_parm_adjust_stack_rtl): Add all and parm arguments,
for rtl_for_parm.  For SSA-assigned parms, zero stack_parm.
(assign_parm_setup_block): Prefer SSA-assigned location.
(assign_parm_setup_reg): Likewise.  Use entry_parm for equiv
if stack_parm is NULL.
(assign_parm_setup_stack): Prefer SSA-assigned location.
(assign_parms): Maybe reset DECL_RTL of params.  Adjust stack
rtl before testing for pointer bounds.  Special-case result_ptr.
(expand_function_start): Maybe reset DECL_RTL of result.
Prefer SSA-assigned location for result and static chain.
Factor out DECL_RESULT and SET_DECL_RTL.
* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
anonymous SSA names.  Use promote_ssa_mode.
(get_temp_reg): Likewise.
(remove_ssa_form): Adjust.
* stor-layout.c (layout_decl): Don't set mem attributes of
non-MEMs.
* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
and get its reg_usage for reg invalidation.
(compute_bb_dataflow): Pass it insn.
(emit_notes_in_bb): Likewise.

for  gcc/testsuite/ChangeLog

* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
* gcc.dg/ssp-1.c: Make counter a register.
* gcc.dg/ssp-2.c: Likewise.
* gcc.dg/torture/parm-coalesce.c: New.

From-SVN: r226113

9 years agore PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)
Segher Boessenkool [Thu, 23 Jul 2015 14:37:57 +0000 (16:37 +0200)]
re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)

PR target/66217
* config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
prototype.
* config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
(rs6000_emit_2insn_and): Handle dot forms.
* config/rs6000/rs6000.md (and<mode>3): Adjust.
(*and<mode>3_2insn): Remove TODO.  Adjust.  Add "type" attr.
(*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.

From-SVN: r226112

9 years agogeneric-match-head.c: Include cgraph.h.
Richard Biener [Thu, 23 Jul 2015 14:31:44 +0000 (14:31 +0000)]
generic-match-head.c: Include cgraph.h.

2015-07-23  Richard Biener  <rguenther@suse.de>

* generic-match-head.c: Include cgraph.h.
* gimple-match-head.c: Likewise.
* tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
SSA names.
* fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
* match.pd: ...to a pattern here.  Add &A ==/!= 0 simplification
pattern.

From-SVN: r226111

9 years agore PR sanitizer/66908 (Uninitialized variable when compiled with UBsan)
Marek Polacek [Thu, 23 Jul 2015 13:54:06 +0000 (13:54 +0000)]
re PR sanitizer/66908 (Uninitialized variable when compiled with UBsan)

PR sanitizer/66908
* c-ubsan.c: Include gimplify.h.
(ubsan_instrument_division): Unshare OP0 and OP1.
(ubsan_instrument_shift): Likewise.

* c-c++-common/ubsan/pr66908.c: New test.

From-SVN: r226110

9 years agogimple-fold.c (fold_gimple_cond): Do not require folding results to pass valid_gimple...
Richard Biener [Thu, 23 Jul 2015 13:33:43 +0000 (13:33 +0000)]
gimple-fold.c (fold_gimple_cond): Do not require folding results to pass valid_gimple_rhs_p.

2015-07-23  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_cond): Do not require folding
results to pass valid_gimple_rhs_p.
* tree-cfg.h (fold_cond_expr_cond): Remove.
* tree-cfg.c (fold_cond_expr_cond): Likewise.
(make_edges): Do not call it.
* tree-inline.c (tree_function_versioning): Likewise.

From-SVN: r226109

9 years agoCheck TYPE_OVERFLOW_WRAPS for parloops reductions
Tom de Vries [Thu, 23 Jul 2015 12:17:52 +0000 (12:17 +0000)]
Check TYPE_OVERFLOW_WRAPS for parloops reductions

2015-07-23  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (gather_scalar_reductions): Add arg to call to
vect_force_simple_reduction.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
(vect_is_simple_reduction_1): Add and handle
need_wrapping_integral_overflow parameter.
(vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
need_wrapping_integral_overflow parameter.
(vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
* tree-vectorizer.h (vect_force_simple_reduction): Add parameter to decl.

* gcc.dg/autopar/outer-4.c: Add xfail.
* gcc.dg/autopar/outer-5.c: Same.
* gcc.dg/autopar/outer-6.c: Same.
* gcc.dg/autopar/reduc-2.c: Same.
* gcc.dg/autopar/reduc-2char.c: Same.
* gcc.dg/autopar/reduc-2short.c: Same.
* gcc.dg/autopar/reduc-8.c: Same.
* gcc.dg/autopar/uns-outer-4.c: New test.
* gcc.dg/autopar/uns-outer-5.c: New test.
* gcc.dg/autopar/uns-outer-6.c: New test.

From-SVN: r226107