aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-07-24compiler: Don't make temporaries for constant expressions.Ian Lance Taylor2-2/+3
Fixes golang/go#11039. Reviewed-on: https://go-review.googlesource.com/10645 From-SVN: r226180
2015-07-24[obvious] Use std::swap instead of manually swapping in a few more placesKyrylo Tkachov4-8/+13
* 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
2015-07-24be.po, [...]: Update.Joseph Myers20-74890/+130380
* 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
2015-07-24re PR target/64003 (valgrind complains about get_attr_length_nobnd in ↵Uros Bizjak3-21/+45
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
2015-07-24gimplify.c (omp_default_clause): New function.Nathan Sidwell2-79/+97
* gimplify.c (omp_default_clause): New function. Reorganize flow for clarity. Broken out of ... (omp_notice_variable): ... here. From-SVN: r226170
2015-07-24re PR middle-end/66984 (ICE: fold_binary changes type of operand, causing ↵Gary Funck2-1/+9
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
2015-07-24Add transform_to_exit_first_loop_alt dump success messageTom de Vries13-72/+51
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
2015-07-24Fix gfortran.dg/class_to_type_4.f90 deallocation code misordering failureMikael Morin2-1/+7
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
2015-07-24re PR libgomp/66714 (ICE in loc_list_from_tree with -g)Cesar Philippidis2-1/+46
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
2015-07-24[AArch64] elf toolchain does not pass -shared linker optionSzabolcs Nagy2-1/+11
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
2015-07-24[AArch64] Fix LINUX_TARGET_LINK_SPEC to be consistent with ARMSzabolcs Nagy2-2/+10
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
2015-07-24re PR ipa/66566 ([CHKP] ICE in early_inliner: internal compiler error: in ↵Ilya Enkovich4-0/+29
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
2015-07-24genmatch.c (struct dt_node): Add statistic fields.Richard Biener2-0/+51
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
2015-07-24fold-const.c (fold_binary_loc): Move simplifying of comparisons against the ↵Richard Biener3-117/+73
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
2015-07-24genmatch.c (struct capture_info): Add same_as field.Richard Biener2-7/+34
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
2015-07-24Add a testcase for PR bootstrap/66978H.J. Lu2-0/+20
PR bootstrap/66978 * gcc.target/i386/pr66978.c: New test. From-SVN: r226150
2015-07-24S/390: Fix cfi for GPR 2 FPR savesAndreas Krebbel4-0/+36
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
2015-07-24[PATCH] S/390: Improve risbg usageAndreas Krebbel7-3/+346
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
2015-07-24[PATCH 4/4] S390 -march=native related fixesDominik Vogt2-19/+24
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
2015-07-24[PATCH 3/4] S390 -march=native related fixesDominik Vogt3-41/+135
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
2015-07-24[PATCH 2/4] S390 -march=native related fixesDominik Vogt2-6/+10
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
2015-07-24S390 -march=native related fixesDominik Vogt2-0/+9
gcc/ChangeLog: * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS when cross compiling. From-SVN: r226144
2015-07-24fold-const.c (maybe_canonicalize_comparison_1): Move A code CST ↵Richard Biener5-67/+62
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
2015-07-24Remove xfail in autopar/uns-outer-4.cTom de Vries2-1/+5
2015-07-24 Tom de Vries <tom@codesourcery.com> * gcc.dg/autopar/uns-outer-4.c: Remove loopfn xfail. From-SVN: r226142
2015-07-24[AArch64] Revert REG_ALLOC_ORDER/HONOR_REG_ALLOC_ORDERJiong Wang2-25/+8
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
2015-07-24genmatch.c (add_operator): Allow SSA_NAME as predicate.Richard Biener4-27/+27
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
2015-07-24gimple-fold.c (replace_stmt_with_simplification): Special-case valueizing ↵Richard Biener3-152/+104
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
2015-07-24re PR middle-end/25530 ((unsigned / 2)*2 is not changed into unsigned &~1)Naveen H.S4-0/+27
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
2015-07-24re PR middle-end/25529 ((unsigned * 2)/2 is not changed into unsigned ↵Naveen H.S4-1/+31
&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
2015-07-24reg_equal_test.c: New test.Kugan Vivekanandarajah4-3/+44
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
2015-07-24cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor clean up.Kugan Vivekanandarajah2-5/+10
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
2015-07-24Daily bump.GCC Administrator1-1/+1
From-SVN: r226132
2015-07-23i386.c (ix86_build_builtin_va_list_64): Rename from ↵Uros Bizjak2-43/+26
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
2015-07-23jit: supply MULTILIB_DEFAULTS as arguments when invoking driverDavid Malcolm5-32/+81
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
2015-07-23re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% ↵Jeff Law7-0/+176
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
2015-07-23compiler: Make empty interface types for vars during parse time.Ian Lance Taylor2-2/+6
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
2015-07-23compiler: Check for errors in the underlying types of unary expressions.Ian Lance Taylor2-1/+3
Fixes golang/go#11592. Reviewed-on: https://go-review.googlesource.com/12044 From-SVN: r226122
2015-07-23tree-pass.h (get_current_pass_name): Removed.Bernd Edlinger2-1/+4
2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de> * tree-pass.h (get_current_pass_name): Removed. From-SVN: r226121
2015-07-23re PR c++/66572 (Bogus Wlogical-op warning for operands coming from template ↵Marek Polacek4-0/+41
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
2015-07-23c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.Marek Polacek2-7/+17
* c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout. (ubsan_instrument_shift): Likewise. From-SVN: r226116
2015-07-23[PR64164] Drop copyrename, use coalescible partition as base when optimizing.Alexandre Oliva30-853/+1133
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
2015-07-23re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)Segher Boessenkool4-15/+109
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
2015-07-23generic-match-head.c: Include cgraph.h.Richard Biener6-24/+37
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
2015-07-23re PR sanitizer/66908 (Uninitialized variable when compiled with UBsan)Marek Polacek4-0/+34
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
2015-07-23gimple-fold.c (fold_gimple_cond): Do not require folding results to pass ↵Richard Biener5-49/+12
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
2015-07-23Check TYPE_OVERFLOW_WRAPS for parloops reductionsTom de Vries15-30/+208
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
2015-07-23re PR tree-optimization/66952 (wrong code at -O2 and -O3 on x86_64-linux-gnu)Richard Biener2-2/+7
2015-07-23 Richard Biener <rguenther@suse.de> PR tree-optimization/66952 * gcc.dg/torture/pr66952.c: Use signed char. From-SVN: r226104
2015-07-23PR tree-optimization/66926,66951Yuri Rumyantsev4-7/+27
gcc/ PR tree-optimization/66926,66951 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete INNER_LOOP and fix up condition for renaming virtual operands. gcc/testsuite/ PR tree-optimization/66926,66951 * gcc.dg/vect/pr66951.c: New test. From-SVN: r226103
2015-07-23re PR c++/52987 (bogus expected ; before for undeclared type)Paolo Carlini5-2/+19
/cp 2015-07-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52987 * parser.c (cp_parser_simple_declaration): Robustify check avoiding redundant error messages. /testsuite 2015-07-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52987 * g++.dg/parse/error57.C: New. * g++.dg/expr/string-2.C: Update. From-SVN: r226097
2015-07-23[combine][obvious] Use std::swap in try_combineKyrylo Tkachov2-3/+8
* combine.c (try_combine): Use std::swap instead of manually swapping. From-SVN: r226094