aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-05-19re PR tree-optimization/69848 (poor vectorization of a loop from SPEC2006 ↵Bin Cheng2-12/+11
464.h264ref) PR tree-optimization/69848 * tree-vect-loop.c (vectorizable_reduction): Don't factor comparison expr out of VEC_COND_EXPR for COND_REDUCTION. From-SVN: r236447
2016-05-19function: A fix for my previous commitSegher Boessenkool2-5/+10
It failed for targets that have an eh_return pattern with a splitter gated by epilogue_done. * function.c (thread_prologue_and_epilogue_insn): Move the "goto epilogue_done" one block later. From-SVN: r236441
2016-05-19re PR tree-optimization/70729 (Loop marked with omp simd pragma is not ↵Richard Biener17-18/+41
vectorized) 2016-05-19 Richard Biener <rguenther@suse.de> PR tree-optimization/70729 * passes.def: Move LIM pass before PRE. Remove no longer required copyprop and move first DCE out of the loop pipeline. * gcc.dg/autopar/outer-6.c: Adjust to avoid redundant store. * gcc.dg/graphite/scop-18.c: Likewise. * gcc.dg/pr41783.c: Disable LIM. * gcc.dg/tree-ssa/loadpre10.c: Likewise. * gcc.dg/tree-ssa/loadpre23.c: Likewise. * gcc.dg/tree-ssa/loadpre24.c: Likewise. * gcc.dg/tree-ssa/loadpre25.c: Likewise. * gcc.dg/tree-ssa/loadpre4.c: Likewise. * gcc.dg/tree-ssa/loadpre8.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-16.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-18.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-20.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-3.c: Likewise. * gfortran.dg/pr42108.f90: Likewise. From-SVN: r236440
2016-05-19PR driver/69265: add hint for options with misspelled argumentsDavid Malcolm5-3/+33
opts-common.c's cmdline_handle_error handles invalid arguments for options with CL_ERR_ENUM_ARG by building a string listing the valid arguments. By also building a vec of valid arguments, we can use find_closest_string and provide a hint if we see a close misspelling. gcc/ChangeLog: PR driver/69265 * Makefile.in (GCC_OBJS): Move spellcheck.o to... (OBJS-libcommon-target): ...here. * opts-common.c: Include spellcheck.h. (cmdline_handle_error): Build a vec of valid options and use it to suggest provide hints for misspelled arguments. gcc/testsuite/ChangeLog: PR driver/69265 * gcc.dg/spellcheck-options-11.c: New test case. From-SVN: r236439
2016-05-19Daily bump.GCC Administrator1-1/+1
From-SVN: r236438
2016-05-18re PR c++/71100 (Internal compiler error while calling a pointer to member ↵Jakub Jelinek4-1/+31
function that throws) PR c++/71100 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop lhs if it has TREE_ADDRESSABLE type. * g++.dg/opt/pr71100.C: New test. From-SVN: r236430
2016-05-18re PR target/71145 (Alpha: Error: No lda !gpdisp!278 was found)Uros Bizjak2-20/+27
PR target/71145 * config/alpha/alpha.md (trap): Add (use (reg:DI 29)). (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS. From-SVN: r236423
2016-05-18pt.c (value_dependent_expression_p): Tweak new cases to better match the ↵Jason Merrill2-11/+11
wording in the standard. * pt.c (value_dependent_expression_p): Tweak new cases to better match the wording in the standard. From-SVN: r236421
2016-05-18Allow constant global VAR_DECLs in constant jump functionsMartin Jambor8-2/+197
2016-05-18 Martin Jambor <mjambor@suse.cz> PR ipa/69708 * ipa-cp.c (ipa_get_jf_pass_through_result): Allow non-ip constant input for NOP_EXPR pass-through functions. * ipa-prop.c (ipa_compute_jump_functions_for_edge): Allow aggregate global constant VAR_DECLs in constant jump functions. testsuite/ * gcc.dg/ipa/iinline-cstagg-2.c: New test. * gcc.dg/ipa/ipcp-cstagg-5.c: Likewise. * gcc.dg/ipa/ipcp-cstagg-6.c: Likewise. * gcc.dg/ipa/ipcp-cstagg-7.c: Likewise. From-SVN: r236418
2016-05-18Const parameters are always unmodifiedMartin Jambor2-0/+11
2016-05-18 Martin Jambor <mjambor@suse.cz> PR ipa/69708 * ipa-prop.c (parm_preserved_before_stmt_p): Return true for loads from TREE_READONLY parameters. From-SVN: r236417
2016-05-18Indirect inlining of targets from references of global constantsMartin Jambor12-38/+476
2016-05-18 Martin Jambor <mjambor@suse.cz> PR ipa/69708 * cgraph.h (cgraph_indirect_call_info): New field guaranteed_unmodified. * ipa-cp.c (ipa_get_indirect_edge_target_1): Also pass parameter value to ipa_find_agg_cst_for_param, check guaranteed_unmodified when appropriate. * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Also pass the parameter value to ipa_find_agg_cst_for_param. * ipa-prop.c (ipa_load_from_parm_agg): New parameter guaranteed_unmodified, store AA results there instead of bailing out if present. (ipa_note_param_call): Also initialize guaranteed_unmodified flag. (ipa_analyze_indirect_call_uses): Also set guaranteed_unmodified flag. (find_constructor_constant_at_offset): New function. (ipa_find_agg_cst_from_init): Likewise. (ipa_find_agg_cst_for_param): Also seearch for aggregate values in static initializers of contants, report back through a new paameter from_global_constant if that was the case. (try_make_edge_direct_simple_call): Also pass parameter value to ipa_find_agg_cst_for_param, check guaranteed_unmodified when appropriate. (ipa_write_indirect_edge_info): Stream new flag guaranteed_unmodified. (ipa_read_indirect_edge_info): Likewise. * ipa-prop.h (ipa_find_agg_cst_for_param): Update declaration. (ipa_load_from_parm_agg): Likewise. testsuite/ * gcc.dg/ipa/iinline-cstagg-1.c: New test. * gcc.dg/ipa/ipcp-cstagg-1.c: Likewise. * gcc.dg/ipa/ipcp-cstagg-2.c: Likewise. * gcc.dg/ipa/ipcp-cstagg-3.c: Likewise. * gcc.dg/ipa/ipcp-cstagg-4.c: Likewise. From-SVN: r236416
2016-05-18re PR c++/69793 (ICE on invalid code in "cp_lexer_peek_nth_token")Paolo Carlini4-4/+19
/cp 2016-05-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/69793 * parser.c (cp_parser_template_id): Don't call cp_lexer_peek_nth_token when the previous cp_lexer_peek_token returns CPP_EOF. /testsuite 2016-05-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/69793 * g++.dg/template/crash122.C: New. From-SVN: r236414
2016-05-18[Patch, lra] Guard in_class_p with REG_P checkJiong Wang2-1/+8
gcc/ PR rtl-optimization/71150 * lra-constraint (process_addr_reg): Guard "in_class_p" with REG_P check. From-SVN: r236396
2016-05-18re PR c++/70466 ([ICE on invalid code in tree check: expected constructor, ↵Paolo Carlini5-1/+66
have parm_decl in convert_like_real, at cp/call.c:6371 with -std=c++11) /cp 2016-05-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70466 * call.c (convert_like_real): Check that we are actually converting from an init list. /testsuite 2016-05-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70466 * g++.dg/template/pr70466-1.C: New. * g++.dg/template/pr70466-2.C: Likewise. From-SVN: r236395
2016-05-18re PR target/70915 (Improve loading 0/-1 in VSX registers on PowerPC)Michael Meissner12-118/+694
[gcc] 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/70915 * config/rs6000/constraints.md (wE constraint): New constraint for a vector constant that can be loaded with XXSPLTIB. (wM constraint): New constraint for a vector constant of a 1's. (wS constraint): New constraint for a vector constant that can be loaded with XXSPLTIB and a vector sign extend instruction. * config/rs6000/predicates.md (xxspltib_constant_split): New predicates for wE/wS constraints. (xxspltib_constant_nosplit): Likewise. (easy_vector_constant): Add support for constants that can be loaded via XXSPLTIB. (all_ones_constant): New predicate for vector constant with all 1's set. (splat_input_operand): Add support for ISA 3.0 word splat operations. * config/rs6000/rs6000.c (xxspltib_constant_p): New function to return if a constant can be loaded with the ISA 3.0 XXSPLTIB instruction and possibly with a sign extension. (output_vec_const_move): Add support for XXSPLTIB. If we are loading up 0/-1 into Altivec registers, prefer using VSPLTISW instead of XXLXOR/XXLORC. (rs6000_expand_vector_init): Add support for ISA 3.0 word splat operations. (rs6000_legitimize_reload_address): Likewise. (rs6000_output_move_128bit): Use output_vec_const_move to emit constants. * config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and combine VSX_M and VSX_M2 into one iterator. (VSX_M2): Likewise. (VSINT_84): New iterators for loading constants with XXSPLTIB. (VSINT_842): Likewise. (UNSPEC_VSX_SIGN_EXTEND): New UNSPEC. (xxspltib_v16qi): New insns to load up constants with the ISA 3.0 XXSPLTIB instruction. (xxspltib_<mode>_nosplit): Likewise. (xxspltib_<mode>_split): New insn to load up constants with XXSPLTIB and a sign extend instruction. (vsx_mov<mode>): Replace single move that handled all vector types with separate 32-bit and 64-bit moves. Combine the movti_<bit> moves (when -mvsx-timode is in effect) into the main vector moves. Eliminate separate moves for <VSr> <VSa>, where the preferred register class (<VSr>) is listed first, and the secondary register class (<VSa>) is listed second with a '?' to discourage use. Prefer loading 0/-1 in any VSX register for ISA 3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so that if the register was involved in a slow operation, the clear/set operation does not wait for the slow operation to finish. Adjust the length attributes for 32-bit mode. Use rs6000_output_move_128bit and drop the use of the string instructions for 32-bit movti when -mvsx-timode is in effect. Use spacing so that the alternatives and attributes don't generate long lines, and put things in columns, so that it is easier to match up the operands and attributes with the insn alternatives. (vsx_mov<mode>_64bit): Likewise. (vsx_mov<mode>_32bit): Likewise. (vsx_movti_64bit): Fold movti into normal vector moves. (vsx_movti_32bit): Likewise. (vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word spat instructions. (vsx_splat_v4si_internal): Likewise. (vsx_splat_v4sf_internal): Likewise. (vector fusion peepholes): Use VSX_M instead of VSX_M2. (vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign extend vector elements. (vsx_sign_extend_hi_<mode>): Likewise. (vsx_sign_extend_si_v2di): Likewise. * config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add declaration. * doc/md.texi (PowerPC constraints): Document the wE, wM, and wS constraints. Add trailing period to wL documentation. [gcc/testsuite] 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-splat-1.c: New tests for ISA 3.0 word splat operations and the XXSPLTIB instruction. * gcc.target/powerpc/p9-splat-2.c: Likewise. * gcc.target/powerpc/p9-splat-3.c: Likewise. * gcc.target/powerpc/pr47755.c: Allow vspltisw in addition to xxlxor to clear a register. From-SVN: r236394
2016-05-18To...Richard Sandiford6-60/+166
To: gcc-patches@gcc.gnu.org Subject: PR 71020: Handle abnormal PHIs in tree-call-cdce.c From: Richard Sandiford <richard.sandiford@arm.com> Gcc: private.sent --text follows this line-- The PR is about a case where tree-call-cdce.c causes two abnormal PHIs for the same variable to be live at the same time, leading to a coalescing failure. It seemed like getting rid of these kinds of input would be generally useful, so I added a utility to tree-dfa.c. Tested on x86_64-linux-gnu. gcc/ PR middle-end/71020 * tree-dfa.h (replace_abnormal_ssa_names): Declare. * tree-dfa.c (replace_abnormal_ssa_names): New function. * tree-call-cdce.c: Include tree-dfa.h. (can_guard_call_p): New function, extracted from... (can_use_internal_fn): ...here. (shrink_wrap_one_built_in_call_with_conds): Remove failure path and return void. (shrink_wrap_one_built_in_call): Likewise. (use_internal_fn): Likewise. (shrink_wrap_conditional_dead_built_in_calls): Update accordingly and return void. Call replace_abnormal_ssa_names. (pass_call_cdce::execute): Check can_guard_call_p during the initial walk. Assume shrink_wrap_conditional_dead_built_in_calls will always change something. gcc/testsuite/ * gcc.dg/torture/pr71020.c: New test. From-SVN: r236393
2016-05-18Respect --param ipa-max-agg-items=0Martin Jambor2-0/+9
2016-05-18 Martin Jambor <mjambor@suse.cz> PR ipa/70646 * ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early if parameter PARAM_IPA_MAX_AGG_ITEMS is zero. From-SVN: r236390
2016-05-18[PR 70646] Store size to inlining predicate conditionsMartin Jambor5-51/+148
2016-05-18 Martin Jambor <mjambor@suse.cz> PR ipa/70646 * ipa-inline.h (condition): New field size. * ipa-inline-analysis.c (add_condition): New parameter SIZE, use it for comaprison and store it into the new condition. (evaluate_conditions_for_known_args): Use condition size to check access sizes for all but CHANGED conditions. (unmodified_parm_1): New parameter size_p, store access size into it. (unmodified_parm): Likewise. (unmodified_parm_or_parm_agg_item): Likewise. (eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p. (set_cond_stmt_execution_predicate): Extract access sizes and store them to conditions. (set_switch_stmt_execution_predicate): Likewise. (will_be_nonconstant_expr_predicate): Likewise. (will_be_nonconstant_predicate): Likewise. (inline_read_section): Stream condition size. (inline_write_summary): Likewise. testsuite/ * gcc.dg/ipa/pr70646.c: New test. From-SVN: r236389
2016-05-18vget_lane.c: Add fp16 tests.Christophe Lyon2-0/+23
* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: Add fp16 tests. From-SVN: r236388
2016-05-18vreinterpret.c: Add missing tests for vreinterpretq_p{8,16}.Christophe Lyon2-0/+104
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add missing tests for vreinterpretq_p{8,16}. From-SVN: r236387
2016-05-18vsli_n.c: Add checks for vsliq_n_s64 and vsliq_n_u64.Christophe Lyon2-0/+7
* gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Add checks for vsliq_n_s64 and vsliq_n_u64. From-SVN: r236385
2016-05-18arm-neon-ref.h (CHECK, [...]): Print which type was checked.Christophe Lyon2-3/+9
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK, CHECK_FP, CHECK_CUMULATIVE_SAT): Print which type was checked. From-SVN: r236384
2016-05-18vmul.c: Remove useless #ifdef.Christophe Lyon4-6/+6
* gcc.target/aarch64/advsimd-intrinsics/vmul.c: Remove useless #ifdef. * gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vtst.c: Likewise. From-SVN: r236383
2016-05-18vreinterpret.c: Fix typo in comment.Christophe Lyon2-1/+6
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Fix typo in comment. From-SVN: r236382
2016-05-18Fix ChangeLog date.Christophe Lyon1-1/+1
From-SVN: r236381
2016-05-18noplt_3.c: Scan for "br\t".Christophe Lyon3-3/+9
* gcc.target/aarch64/noplt_3.c: Scan for "br\t". * gcc.target/aarch64/tail_indirect_call_1.c: Scan for "br\t", "blr\t" and switch to scan-assembler-times. From-SVN: r236377
2016-05-18tree-ssa-loop-im.c (determine_max_movement): Properly add condition cost to ↵Richard Biener2-1/+6
PHI cost instead of total_cost. 2016-05-18 Richard Biener <rguenther@suse.de> * tree-ssa-loop-im.c (determine_max_movement): Properly add condition cost to PHI cost instead of total_cost. From-SVN: r236376
2016-05-18Set DECL_PT_UID for merged variables in IPA ICF (PR70856).Martin Liska2-0/+8
PR fortran/70856 * ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for merged variables. From-SVN: r236375
2016-05-18lto-streamer.h (LTO_major_version): Bump to 6.Richard Biener2-1/+5
2016-05-18 Richard Biener <rguenther@suse.de> * lto-streamer.h (LTO_major_version): Bump to 6. From-SVN: r236374
2016-05-18function: Factor out make_*logue_seqSegher Boessenkool2-69/+99
Make new functions make_split_prologue_seq, make_prologue_seq, and make_epilogue_seq. * function.c (make_split_prologue_seq, make_prologue_seq, make_epilogue_seq): New functions, factored out from... (thread_prologue_and_epilogue_insns): Here. From-SVN: r236373
2016-05-18function: Do the CLEANUP_EXPENSIVE after shrink-wrapping, not beforeSegher Boessenkool2-2/+10
We should do CLEANUP_EXPENSIVE after shrink-wrapping, because shrink- wrapping creates constructs that CLEANUP_EXPENSIVE can optimise, and nothing runs CLEANUP_EXPENSIVE later. * function.c (rest_of_handle_thread_prologue_and_epilogue): Call cleanup_cfg with CLEANUP_EXPENSIVE after shrink-wrapping instead of before. Add a comment. From-SVN: r236372
2016-05-18tree-ssa-loop-ivopts.c (get_computation_cost_at): Check inv expression ↵Bin Cheng2-1/+6
pointer, not pointer to the pointer. * tree-ssa-loop-ivopts.c (get_computation_cost_at): Check inv expression pointer, not pointer to the pointer. From-SVN: r236371
2016-05-18[testsuite] Guard float64_t with __aarch64__Jiong Wang3-3/+12
gcc/testsuite/ * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Guard float64_t with __aarch64__. * gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: Guard variable declarations under __aarch64__ and __ARM_FEATURE_FMA. From-SVN: r236370
2016-05-18sse.md (pbroadcast_evex_isa): New mode attr.Jakub Jelinek9-7/+489
* config/i386/sse.md (pbroadcast_evex_isa): New mode attr. (avx2_pbroadcast<mode>): Add another alternative with v instead of x constraints in it, using <pbroadcast_evex_isa> isa. (avx2_pbroadcast<mode>_1): Similarly, add two such alternatives. * gcc.target/i386/avx512bw-vpbroadcast-1.c: New test. * gcc.target/i386/avx512bw-vpbroadcast-2.c: New test. * gcc.target/i386/avx512bw-vpbroadcast-3.c: New test. * gcc.target/i386/avx512vl-vpbroadcast-1.c: New test. * gcc.target/i386/avx512vl-vpbroadcast-2.c: New test. * gcc.target/i386/avx512vl-vpbroadcast-3.c: New test. From-SVN: r236369
2016-05-18sse.md (<ssse3_avx2>_palignr<mode>): Use constraint x instead of v in second ↵Jakub Jelinek5-7/+75
alternative, add avx512bw alternative. * config/i386/sse.md (<ssse3_avx2>_palignr<mode>): Use constraint x instead of v in second alternative, add avx512bw alternative. * gcc.target/i386/avx512vl-vpalignr-3.c: New test. * gcc.target/i386/avx512bw-vpalignr-3.c: New test. From-SVN: r236368
2016-05-18sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use constraint x instead of ↵Jakub Jelinek5-7/+75
v in second alternative, add avx512bw alternative. * config/i386/sse.md (<ssse3_avx2>_pshufb<mode>3<mask_name>): Use constraint x instead of v in second alternative, add avx512bw alternative. * gcc.target/i386/avx512vl-vpshufb-3.c: New test. * gcc.target/i386/avx512bw-vpshufb-3.c: New test. From-SVN: r236367
2016-05-18sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use constraint x instead ↵Jakub Jelinek5-6/+74
of v in second alternative, add avx512bw alternative. * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>): Use constraint x instead of v in second alternative, add avx512bw alternative. * gcc.target/i386/avx512vl-vpmulhrsw-3.c: New test. * gcc.target/i386/avx512bw-vpmulhrsw-3.c: New test. From-SVN: r236366
2016-05-18sse.md (avx2_pmaddubsw256, [...]): Add avx512bw alternative.Jakub Jelinek4-11/+52
* config/i386/sse.md (avx2_pmaddubsw256, ssse3_pmaddubsw128): Add avx512bw alternative. * gcc.target/i386/avx512bw-vpmaddubsw-3.c: New test. From-SVN: r236365
2016-05-18i386. Extend static buffers. Fix SF mode operand constraint to `Yv' in ↵Kirill Yukhin2-6/+16
storehpd pattern. gcc/ * gcc/config/i386/sse.md (define_insn "*andnot<mode>3"): Extend static array to 128 chars. (define_insn "*andnottf3"): Ditto. (define_insn "*<code><mode>3"/any_logic): Ditto. (define_insn "*<code>tf3"/any_logic): Ditto. (define_insn "sse2_storehpd"): Use Yv constraint for scalar operand to block AVX-512VL insn variant emit when it is not enabled. From-SVN: r236364
2016-05-18AVX-512. Use `Yv' for SF mode operand in vec_concat pattern.Kirill Yukhin2-3/+8
gcc/ * config/i386/sse.md (define_insn "*vec_concatv2sf_sse4_1"): Use 'Yv' constraint fot SF mode. From-SVN: r236363
2016-05-18Fix patterns to enable sse-14.c to compile with -masm=intel.Petr Murzin3-16/+57
gcc/ * config/i386/sse.md (define_insn "srcp14<mode>"): Use proper operand modifiers. (define_insn "rsqrt14<mode>"): Ditto. (define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto. (define_insn "<fixsuffix>fix_truncv2sfv2di2<mask_name>"): Ditto. (define_insn "avx512f_<code>v8div16qi2_mask_store"): Ditto. (define_insn "vec_set_hi_<mode><mask_name>"): Ditto. (define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>"): Ditto. (define_insn "*avx512f_gatherdi<mode>"): Ditto. (define_insn "*avx512f_scatterdi<mode>"): Ditto. * config/i386/i386.c (ix86_print_operand): Expand check for size override codes for Intel syntax. Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> From-SVN: r236362
2016-05-18re PR tree-optimization/71168 (ICE in find_uses_to_rename_use ↵Richard Biener4-1/+32
(tree-ssa-loop-manip.c:379)) 2016-05-18 Richard Biener <rguenther@suse.de> PR tree-optimization/71168 * tree-loop-distribution.c (distribute_loop): Move *destroy_p initialization earlier. * gcc.dg/torture/pr71168.c: New testcase. From-SVN: r236361
2016-05-18[Patch AArch64] Simplify reduc_plus_scal_v2[sd]f sequenceJames Greenhalgh2-16/+9
gcc/ * config/aarch64/aarch64-simd.md (aarch64_reduc_plus_internal<mode>): Rename to... (reduc_plus_scal): ...This, and remove previous implementation. From-SVN: r236360
2016-05-18Adding the testcase which was not addaed as part of r236356.Kugan Vivekanandarajah2-0/+102
gcc/testsuite/ChangeLog: 2016-05-17 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/63586 * gcc.dg/tree-ssa/pr63586-2.c: New test. * gcc.dg/tree-ssa/pr63586.c: New test. From-SVN: r236359
2016-05-18passes.def: Put late dse and cd_dce in canonical order.Richard Biener2-1/+5
2016-05-18 Richard Biener <rguenther@suse.de> * passes.def: Put late dse and cd_dce in canonical order. From-SVN: r236358
2016-05-18ipa-inline-transform.c (preserve_function_body_p): Look for first non-thunk ↵Jan Hubicka6-34/+71
clone. * ipa-inline-transform.c (preserve_function_body_p): Look for first non-thunk clone. (save_function_body): Save into first non-thunk. * lto-cgraph.c (lto_output_edge): When streaming thunk do not look up call stmt id. (lto_output_node): Inline thunks don't need body in every partition. * lto-streamer-in.c: Do not fixup thunk clones. * cgraphclones.c (cgraph_node::create_edge_including_clone): Skip thunks. * tree-inline.c (copy_bb): Be prepared for target node to be new after folding suceeds. From-SVN: r236357
2016-05-18re PR tree-optimization/63586 (x+x+x+x -> 4*x in gimple)Kugan Vivekanandarajah4-2/+96
gcc/testsuite/ChangeLog: 2016-05-17 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/63586 * gcc.dg/tree-ssa/pr63586-2.c: New test. * gcc.dg/tree-ssa/pr63586.c: New test. * gcc.dg/tree-ssa/reassoc-14.c: Adjust multiplication count. gcc/ChangeLog: 2016-05-17 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/63586 * tree-ssa-reassoc.c (transform_add_to_multiply): New. (reassociate_bb): Call transform_add_to_multiply. From-SVN: r236356
2016-05-18aarch64.c (all_extensions): Removed unused static variable.Kugan Vivekanandarajah2-10/+4
gcc/ChangeLog: 2016-05-17 Kugan Vivekanandarajah <kuganv@linaro.org> * config/aarch64/aarch64.c (all_extensions): Removed unused static variable. From-SVN: r236355
2016-05-18Daily bump.GCC Administrator1-1/+1
From-SVN: r236354
2016-05-18* da.po, sv.po: Update.Joseph Myers3-1055/+392
From-SVN: r236347