aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-09-21Daily bump.GCC Administrator1-1/+1
From-SVN: r253046
2017-09-20libgo: fix build when using -enable-static=noIan Lance Taylor1-1/+1
With -enable-static=no we don't build non-pic objects, but libgotool.a is built from non-pic objects. Build the packages that go into libgotool.a in static mode in all cases. Also ensure that internal test packages are built, since nothing explicitly depended on them. Reviewed-on: https://go-review.googlesource.com/65050 From-SVN: r253042
2017-09-20Fix C++ testsuite fallout from r252976.Martin Sebor4-4/+12
gcc/testsuite/ChangeLog: PR c/81854 * g++.dg/ext/attr-ifunc-2.C: Correct type errors. * g++.dg/ext/attr-ifunc-4.C: Ditto. * lib/target-supports.exp: Adjust for C++. From-SVN: r253041
2017-09-20Fix testsuite fallout from r252976.Martin Sebor8-12/+25
gcc/testsuite/ChangeLog: PR c/81854 * gcc.dg/attr-ifunc-1.c: Correct type errors. * gcc.dg/attr-ifunc-2.c: Ditto. * gcc.dg/attr-ifunc-3.c: Ditto. * gcc.dg/attr-ifunc-4.c: Ditto. * gcc.dg/attr-ifunc-5.c: Ditto. * gcc.dg/pr81854.c: Require ifunc support. * gcc/testsuite/lib/target-supports.exp: Correct type error. From-SVN: r253037
2017-09-20powerpcspe.c (rs6000_expand_prologue): Fix thinko in stack clash protection ↵Jeff Law2-1/+4
support. * config/powerpcspe/powerpcspe.c (rs6000_expand_prologue): Fix thinko in stack clash protection support. From-SVN: r253036
2017-09-20explow.c (compute_stack_clash_protection_loop_data): Use CONST_INT_P instead ↵Jeff Law4-10/+26
of explicit test. * explow.c (compute_stack_clash_protection_loop_data): Use CONST_INT_P instead of explicit test. Verify object is a CONST_INT_P before looking at INTVAL. (anti_adjust_stack_and_probe_stack_clash): Use CONST_INT_P instead of explicit test. * gcc.target/i386/stack-check-11.c: Update test and regexp so that it works for both i?86 and x86_64. From-SVN: r253034
2017-09-20rs6000: Don't touch below the stack pointer (PR77687)Segher Boessenkool4-4/+33
With the 32-bit SVR4 ABI we don't have a red zone, so we have to restore the callee-saved registers before we restore the stack pointer. The previous fix for this PR failed in two ways, for huge frames: first, we use a negative offset from r11 in that case, so the (mem:BLK 11) access does no good; second, sched does not handle accesses to mem:BLK correctly in this case (does not make dependencies). This patch fixes it by doing a store to (mem:BLK (scratch)) instead. This means no unrelated (not to stack) loads/stores can be moved over the stack restore either, but so be it. PR target/77687 * config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch address instead of to r1 and r11. gcc/testsuite/ PR target/77687 * gcc.target/powerpc/pr77687.c: New testcase. From-SVN: r253033
2017-09-20P0409R2 - allow lambda capture [=, this]Jakub Jelinek5-3/+34
P0409R2 - allow lambda capture [=, this] * parser.c (cp_parser_lambda_introducer): For cxx2a don't pedwarn on redundant [=, this]. * g++.dg/cpp1z/lambda-this1.C: Don't expect error for c++2a on [=, this] capture. Add further tests. * g++.dg/cpp0x/lambda/lambda-capture-redundancy.C: Don't expect error for c++2a on [=, this] capture. From-SVN: r253030
2017-09-20cplusplus.C: Test that __cplusplus is equal to 201703L.Jakub Jelinek3-2/+13
* g++.dg/cpp1z/cplusplus.C: Test that __cplusplus is equal to 201703L. * g++.dg/cpp1z/cplusplus_1z.C: New test. From-SVN: r253029
2017-09-20syscall: enable ParseDirent for AIXIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/64990 From-SVN: r253022
2017-09-20syscall: workaround for getsockname bug in AIXIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/64552 From-SVN: r253021
2017-09-20internal,net,os,runtime,syscall: fixes for AIX following update to go1.9Ian Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/64551 From-SVN: r253016
2017-09-20config.gcc: Support "knm".Sebastian Peryt11-27/+93
gcc/ * config.gcc: Support "knm". * config/i386/driver-i386.c (host_detect_local_cpu): Detect "knm". * config/i386/i386-c.c (ix86_target_macros_internal): Handle PROCESSOR_KNM. * config/i386/i386.c (m_KNM): Define. (processor_target_table): Add "knm". (PTA_KNM): Define. (ix86_option_override_internal): Add "knm". (ix86_issue_rate): Add PROCESSOR_KNM. (ix86_adjust_cost): Ditto. (ia32_multipass_dfa_lookahead): Ditto. (get_builtin_code_for_version): Handle PROCESSOR_KNM. (fold_builtin_cpu): Add M_INTEL_KNM. * config/i386/i386.h (processor_costs): Define TARGET_KNM. (processor_type): Add PROCESSOR_KNM. * config/i386/x86-tune.def: Add m_KNM. * doc/invoke.texi: Add knm as x86 -march=/-mtune= CPU type. libgcc/ * config/i386/cpuinfo.h (processor_types): Add INTEL_KNM. * config/i386/cpuinfo.c (get_intel_cpu): Detect Knights Mill. gcc/testsuite/ * gcc.target/i386/builtin_target.c: Test knm. * gcc.target/i386/funcspec-56.inc: Test arch=knm. From-SVN: r253013
2017-09-20Revert my 2017-09-19 patch.Uros Bizjak7-152/+0
From-SVN: r253012
2017-09-20re PR tree-optimization/80213 (ICE in check_loop_closed_ssa_use, at ↵Richard Biener2-30/+34
tree-ssa-loop-manip.c:704) 2017-09-20 Richard Biener <rguenther@suse.de> PR tree-optimization/80213 * graphite-scop-detection.c (trivially_empty_bb_p): Labels are allowed in empty BBs as well. (canonicalize_loop_closed_ssa): Also look for other complex edges. (scop_detection::get_sese): Include the loop-closed PHI block in loop SESEs. (scop_detection::merge_sese): Remove code adding extra blocks. (scop_detection::region_has_one_loop): Adjust for get_sese changes. (build_scops): Assert the final returned scop is invalid. From-SVN: r253008
2017-09-20re PR tree-optimization/77362 ([graphite] ICE in sese_build_liveouts_use w/ ↵Richard Biener2-0/+26
-O2 -floop-nest-optimize) 2017-09-20 Richard Biener <rguenther@suse.de> PR tree-optimization/77362 * gcc.dg/graphite/pr77362.c: New testcase. From-SVN: r253006
2017-09-20re PR tree-optimization/82264 (ICE in vn_phi_lookup at ↵Richard Biener4-10/+41
gcc/tree-ssa-sccvn.c:3125) 2017-09-20 Richard Biener <rguenther@suse.de> PR tree-optimization/82264 * tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check for GIMPLE_CONDs. (vn_phi_lookup): Likewise. (vn_phi_insert): Likewise. * gcc.dg/torture/pr82264.c: New testcase. From-SVN: r253005
2017-09-20dwarf2out.c (tree_add_const_value_attribute): For INTEGER_CST that fits into ↵Jakub Jelinek15-13/+57
uhwi or shwi... * dwarf2out.c (tree_add_const_value_attribute): For INTEGER_CST that fits into uhwi or shwi, add DW_AT_const_value regardless of early_dwarf without going through RTL, using add_AT_unsigned or add_AT_int. * g++.dg/debug/dwarf2/template-params-13.C: New test. * g++.dg/debug/dwarf2/template-params-5.C: Adjust regexps so that it doesn't match newlines. * g++.dg/debug/dwarf2/template-params-3.C: Likewise. * g++.dg/debug/dwarf2/template-func-params-3.C: Likewise. * g++.dg/debug/dwarf2/lang-cpp98.C: Likewise. * g++.dg/debug/dwarf2/template-func-params-2.C: Likewise. * g++.dg/debug/dwarf2/template-func-params-1.C: Likewise. * g++.dg/debug/dwarf2/template-func-params-5.C: Likewise. * g++.dg/debug/dwarf2/template-params-1.C: Likewise. * g++.dg/debug/dwarf2/template-params-2.C: Likewise. * g++.dg/debug/dwarf2/lang-cpp14.C: Likewise. * g++.dg/debug/dwarf2/lang-cpp11.C: Likewise. From-SVN: r253004
2017-09-20dwarf2out.c (DEBUG_LTO_DWO_INFO_SECTION): Reorder defines.Jakub Jelinek2-41/+78
* dwarf2out.c (DEBUG_LTO_DWO_INFO_SECTION): Reorder defines. (DEBUG_LTO_ABBREV_SECTION): Likewise. (DEBUG_LTO_MACINFO_SECTION): Likewise. (DEBUG_MACRO_SECTION): Likewise. (DEBUG_LTO_MACRO_SECTION): Likewise. (DEBUG_STR_DWO_SECTION): Likewise. (DEBUG_LTO_STR_DWO_SECTION): Likewise. (DEBUG_LTO_LINE_SECTION): Drop .dwo suffix from the name. (DEBUG_LTO_DWO_LINE_SECTION): Define. (DEBUG_LTO_LINE_STR_SECTION): Define. (init_sections_and_labels): Initialize debug_line_str_section variable. Initialize debug_loc_section for -gdwarf-5 to DEBUG_LOCLISTS_SECTION. Formatting fixes. From-SVN: r253003
2017-09-20re PR c++/64954 (GCC incorrectly rejects constexpr variable initialization.)Paolo Carlini2-0/+13
2017-09-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/64954 * g++.dg/cpp0x/constexpr-ctor20.C: New. From-SVN: r253002
2017-09-20graphite-sese-to-poly.c (extract_affine): Properly handle POINTER_PLUS_EXPR, ↵Richard Biener2-3/+33
BIT_NOT_EXPR and conversion to signed. 2017-09-20 Richard Biener <rguenther@suse.de> * graphite-sese-to-poly.c (extract_affine): Properly handle POINTER_PLUS_EXPR, BIT_NOT_EXPR and conversion to signed. From-SVN: r253001
2017-09-20re PR tree-optimization/81373 (Graphite ICE in ssa_default_def at ↵Richard Biener4-7/+62
gcc/tree-dfa.c:305) 2017-09-20 Richard Biener <rguenther@suse.de> PR tree-optimization/81373 * graphite-scop-detection.c (build_cross_bb_scalars_def): Force SESE live-out defs to be handled even if they are scev_analyzable_p. * gcc.dg/graphite/pr81373.c: New testcase. From-SVN: r253000
2017-09-19combine-stack-adj.c (combine_stack_adjustments_for_block): Do nothing for ↵Jeff Law7-4/+44
stack adjustments with REG_STACK_CHECK. * combine-stack-adj.c (combine_stack_adjustments_for_block): Do nothing for stack adjustments with REG_STACK_CHECK. * sched-deps.c (parse_add_or_inc): Reject insns with REG_STACK_CHECK from dependency breaking. * config/i386/i386.c (pro_epilogue_adjust_stack): Return insn. (ix86_adjust_satck_and_probe_stack_clash): Add REG_STACK_NOTEs. * reg-notes.def (STACK_CHECK): New note. * gcc.target/i386/stack-check-11.c: New test. From-SVN: r252999
2017-09-19i386.c (ix86_adjust_stack_and_probe_stack_clash): New.Jeff Law13-6/+2600
* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): New. (ix86_expand_prologue): Dump stack clash info as needed. Call ix86_adjust_stack_and_probe_stack_clash as needed. * gcc.dg/stack-check-4.c: New test. * gcc.dg/stack-check-5.c: New test. * gcc.dg/stack-check-6.c: New test. * gcc.dg/stack-check-6a.c: New test. * gcc.dg/stack-check-7.c: New test. * gcc.dg/stack-check-8.c: New test. * gcc.dg/stack-check-9.c: New test. * gcc.dg/stack-check-10.c: New test. * lib/target-supports.exp (check_effective_target_supports_stack_clash_protection): Enable for x86 and x86_64 targets. From-SVN: r252998
2017-09-19function.c (dump_stack_clash_frame_info): New function.Jeff Law3-0/+64
* function.c (dump_stack_clash_frame_info): New function. * function.h (dump_stack_clash_frame_info): Prototype. (enum stack_clash_probes): New enum. From-SVN: r252997
2017-09-19alpha.c (alpha_expand_prologue): Also check flag_stack_clash_protection.Jeff Law8-17/+43
* config/alpha/alpha.c (alpha_expand_prologue): Also check flag_stack_clash_protection. * config/arm/arm.c (arm_compute_static_chain_stack_bytes): Likewise. (arm_expand_prologue, thumb1_expand_prologue): Likewise. (arm_frame_pointer_required): Likewise. * config/ia64/ia64.c (ia64_compute_frame_size): Likewise. (ia64_expand_prologue): Likewise. * config/mips/mips.c (mips_expand_prologue): Likewise. * config/powerpcspe/powerpcspe.c (rs6000_expand_prologue): Likewise. * config/sparc/sparc.c (sparc_expand_prologue): Likewise. (sparc_flat_expand_prologue): Likewise. * config/spu/spu.c (spu_expand_prologue): Likewise. From-SVN: r252996
2017-09-19explow.c: Include "params.h".Jeff Law20-43/+438
2017-09-18 Jeff Law <law@redhat.com> * explow.c: Include "params.h". (anti_adjust_stack_and_probe_stack_clash): New function. (get_stack_check_protect): Likewise. (compute_stack_clash_protection_loop_data): Likewise. (emit_stack_clash_protection_loop_start): Likewise. (emit_stack_clash_protection_loop_end): Likewise. (allocate_dynamic_stack_space): Use get_stack_check_protect. Use anti_adjust_stack_and_probe_stack_clash. * explow.h (compute_stack_clash_protection_loop_data): Prototype. (emit_stack_clash_protection_loop_start): Likewise. (emit_stack_clash_protection_loop_end): Likewise. * rtl.h (get_stack_check_protect): Prototype. * target.def (stack_clash_protection_final_dynamic_probe): New hook. * targhooks.c (default_stack_clash_protection_final_dynamic_probe): New. * targhooks.h (default_stack_clash_protection_final_dynamic_probe): Prototype. * doc/tm.texi.in (TARGET_STACK_CLASH_PROTECTION_FINAL_DYNAMIC_PROBE): Add @hook. * doc/tm.texi: Rebuilt. * config/aarch64/aarch64.c (aarch64_expand_prologue): Use get_stack_check_protect. * config/alpha/alpha.c (alpha_expand_prologue): Likewise. * config/arm/arm.c (arm_expand_prologue): Likewise. (arm_frame_pointer_required): Likewise. * config/i386/i386.c (ix86_expand_prologue): Likewise. * config/ia64/ia64.c (ia64_expand_prologue): Likewise. * config/mips/mips.c (mips_expand_prologue): Likewise. * config/powerpcspe/powerpcspe.c (rs6000_emit_prologue): Likewise. * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise. * config/sparc/sparc.c (sparc_expand_prologue): Likewise. (sparc_flat_expand_prologue): Likewise. * gcc.dg/stack-check-3.c: New test. From-SVN: r252995
2017-09-19common.opt (-fstack-clash-protection): New option.Jeff Law9-3/+246
* common.opt (-fstack-clash-protection): New option. * flag-types.h (enum stack_check_type): Note difference between -fstack-check= and -fstack-clash-protection. * params.def (PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE): New PARAM. (PARAM_STACK_CLASH_PROTECTION_PROBE_INTERVAL): Likewise. * toplev.c (process_options): Issue warnings/errors for cases not handled with -fstack-clash-protection. * doc/invoke.texi (-fstack-clash-protection): Document new option. (-fstack-check): Note additional problem with -fstack-check=generic. Note that -fstack-check is primarily for Ada and refer users to -fstack-clash-protection for stack-clash-protection. Document new params for stack clash protection. * gcc.dg/stack-check-2.c: New test. * lib/target-supports.exp (check_effective_target_supports_stack_clash_protection): New function. (check_effective_target_frame_pointer_for_non_leaf): Likewise. (check_effective_target_caller_implicit_probes): Likewise. From-SVN: r252994
2017-09-20runtime: restore "goroutine in C code" messageIan Lance Taylor1-1/+1
In the 1.9 upgrade I took out the word "goroutine" from a traceback showing a goroutine running in C code, to let TestCgoNumGoroutine pass. However, it turns out that some code is actually checking for that string; for example, https://github.com/grpc/grpc-go/blob/master/test/leakcheck/leakcheck.go#L44 So keep the message the same, and change the test. Reviewed-on: https://go-review.googlesource.com/64850 From-SVN: r252991
2017-09-20Daily bump.GCC Administrator1-1/+1
From-SVN: r252990
2017-09-19i386.md (*scc_bt<mode>): New insn_and_split pattern.Uros Bizjak7-0/+152
* config/i386/i386.md (*scc_bt<mode>): New insn_and_split pattern. (*scc_bt<mode>_1): Ditto. (*scc_bt<mode>_mask): Ditto. testsuite/ChangeLog: * gcc.target/i386/bt-5.c: New test. * gcc.target/i386/bt-6.c: Ditto. * gcc.target/i386/bt-mask-3.c: Ditto. * gcc.target/i386/bt-mask-4.c: Ditto. From-SVN: r252986
2017-09-19pr31146-2.C: Only do scan-tree-dump for c++14_down.Jakub Jelinek7-8/+26
* g++.dg/tree-ssa/pr31146-2.C: Only do scan-tree-dump for c++14_down. * g++.dg/tree-ssa/pr41428.C: Likewise. * g++.dg/expr/bool1.C: Only do dg-do compile instead of dg-do run for c++17 and up. * g++.dg/expr/bool3.C: Likewise. * g++.dg/expr/bitfield5.C: Likewise. * g++.old-deja/g++.jason/bool5.C: Likewise. From-SVN: r252985
2017-09-19i386.c (ix86_split_long_move): Do not handle address used for LEA in a ↵Uros Bizjak2-36/+10
special way. * config/i386/i386.c (ix86_split_long_move): Do not handle address used for LEA in a special way. From-SVN: r252984
2017-09-19Fix typo in simplify_binary_operation_1Segher Boessenkool2-1/+5
* simplify-rtx.c (simplify_binary_operation_1): Fix typo in comment. From-SVN: r252979
2017-09-19PR c/81854 - weak alias of an incompatible symbol acceptedMartin Sebor11-38/+221
gcc/ChangeLog: PR c/81854 * cgraphunit.c (handle_alias_pairs): Reject aliases between functions of incompatible types. gcc/testsuite/ChangeLog: PR c/81854 * gcc.dg/pr81854.c: New test. * g++.dg/ext/attr-ifunc-5.C: New test. * g++.dg/ext/attr-ifunc-1.C: Adjust. * g++.dg/ext/attr-ifunc-2.C: Same. * g++.dg/ext/attr-ifunc-3.C: Same. * g++.dg/ext/attr-ifunc-4.C: Same. * g++.old-deja/g++.abi/vtable2.C: Same. * gcc.dg/attr-ifunc-1.c: Same. From-SVN: r252976
2017-09-19rs6000.c (rs6000_gimple_fold_builtin): Add handling for early folding of ↵Will Schmidt3-72/+51
vector loads (ALTIVEC_BUILTIN_LVX_*). [gcc] 2017-09-19 Will Schmidt <will_schmidt@vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for early folding of vector loads (ALTIVEC_BUILTIN_LVX_*). * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Remove obsoleted code for handling ALTIVEC_BUILTIN_VEC_LD. From-SVN: r252975
2017-09-19fold-vec-ld-misc.c: New.Will Schmidt2-0/+58
[gcc/testsuite] 2017-09-19 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/fold-vec-ld-misc.c: New. From-SVN: r252974
2017-09-19re PR tree-optimization/82244 (-O2: ICE: tree check: expected ssa_name, have ↵Richard Biener4-0/+50
integer_cst in replace_uses_by, at tree-cfg.c:1904) 2017-09-19 Richard Biener <rguenther@suse.de> PR tree-optimization/82244 * tree-vrp.c (remove_range_assertions): Do not propagate a constant to abnormals but replace the assert with a copy. * gcc.dg/torture/pr82244.c: New testcase. From-SVN: r252973
2017-09-19lra: make reload_pseudo_compare_func a proper comparatorAlexander Monakov2-12/+11
PR rtl-optimization/57878 PR rtl-optimization/68988 * lra-assigns.c (reload_pseudo_compare_func): Remove fragmentation avoidance test involving non_reload_pseudos. Move frequency test below the general fragmentation avoidance test. From-SVN: r252972
2017-09-19validity_check.adb: Minor dg-options simplification.Pierre-Marie de Rodat1-1/+1
gcc/testsuite/ * gnat.dg/validity_check.adb: Minor dg-options simplification. From-SVN: r252971
2017-09-19re PR tree-optimization/69728 (internal compiler error: in ↵Richard Biener5-1/+83
outer_projection_mupa, at graphite-sese-to-poly.c:1175) 2017-09-19 Richard Biener <rguenther@suse.de> PR tree-optimization/69728 * graphite-sese-to-poly.c (schedule_error): New global. (add_loop_schedule): Handle empty domain by failing the schedule. (build_original_schedule): Handle schedule_error. * gfortran.dg/graphite/pr69728.f90: New testcase. * gcc.dg/graphite/pr69728.c: Likewise. From-SVN: r252968
2017-09-19graphite-scop-detection.c (scop_detection::can_represent_loop): Do not ↵Richard Biener2-5/+9
iterate to sibling loops but only to siblings of inner loops. 2017-09-19 Richard Biener <rguenther@suse.de> * graphite-scop-detection.c (scop_detection::can_represent_loop): Do not iterate to sibling loops but only to siblings of inner loops. From-SVN: r252962
2017-09-19Daily bump.GCC Administrator1-1/+1
From-SVN: r252961
2017-09-18re PR c++/80947 (Different visibility for the lambda and its capture list ↵Paolo Carlini2-0/+21
members with -fvisibility=hidden) 2017-09-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80947 * g++.dg/cpp0x/lambda/lambda-80947.C: New. From-SVN: r252957
2017-09-18runtime: always initialize str field in __go_string_slice resultIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/64110 From-SVN: r252953
2017-09-18re PR target/81613 (FAIL: gfortran.dg/intrinsic_modulo_1.f90 -O3 -g ↵Andreas Schwab2-1/+8
execution test) PR target/81613 * config/m68k/m68k.md (moveq feeding equality comparison): Check that the registers are different. From-SVN: r252949
2017-09-18i386.c (fold_builtin_cpu): Add M_AMDFAM17H to processor_model and ↵Uros Bizjak3-1/+12
"amdfam17h" to arch_names_table. * config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H to processor_model and "amdfam17h" to arch_names_table. * doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name. From-SVN: r252948
2017-09-18re PR c/82234 (__builtin_shuffle is not in the keyword index)Jakub Jelinek2-0/+6
PR c/82234 * doc/extend.texi: Add @findex entry for __builtin_shuffle. From-SVN: r252947
2017-09-18PR c++/82069 - ICE with lambda in templateJason Merrill3-2/+18
* semantics.c (process_outer_var_ref): Check uses_template_parms instead of any_dependent_template_arguments_p. From-SVN: r252936
2017-09-18Move computation of SLP_TREE_NUMBER_OF_VEC_STMTSRichard Sandiford4-49/+66
Previously SLP_TREE_NUMBER_OF_VEC_STMTS was calculated while scheduling an SLP tree after analysis, but sometimes it can be useful to know the value during analysis too. This patch moves the calculation to vect_slp_analyze_node_operations instead. 2017-09-18 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * tree-vectorizer.h (vect_slp_analyze_operations): Replace parameters with a vec_info *. * tree-vect-loop.c (vect_analyze_loop_operations): Update call accordingly. * tree-vect-slp.c (vect_slp_analyze_node_operations): Add vec_info * parameter. Set SLP_TREE_NUMBER_OF_VEC_STMTS here rather than in vect_schedule_slp_instance. (vect_slp_analyze_operations): Replace parameters with a vec_info *. Update call to vect_slp_analyze_node_operations. Simplify return value. (vect_slp_analyze_bb_1): Update call accordingly. (vect_schedule_slp_instance): Remove vectorization_factor parameter. Don't calculate SLP_TREE_NUMBER_OF_VEC_STMTS here. (vect_schedule_slp): Update call accordingly. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252935