aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-09-19PR libstdc++/71500 restore C++11 compatibility in <regex>Jonathan Wakely4-48/+105
PR libstdc++/71500 * include/bits/regex_executor.tcc (_Backref_matcher<BidIt, regex_traits<C>>::_M_apply): Use std::__equal4 instead of C++14 4-iterator overloads of std::equal. * include/bits/stl_algobase.h (__equal4): New functions implementing 4-iterator overloads of std::equal for use in C++11. (equal(It1, It1, It2, It2), equal(It1, It1, It2, It2, BinaryPred)): Move function bodies to new __equal4 functions. * testsuite/28_regex/simple_c++11.cc: New. From-SVN: r252981
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 libstdc++/82254 fix std::is_nothrow_invocable_r w.r.t throwing conversionsJonathan Wakely4-24/+115
PR libstdc++/82254 * include/std/type_traits (__is_invocable): Add partial specialization for INVOKE<void> case and remove is_void<R> check from partial specialization for INVOKE<R> case. (__is_nt_invocable_impl): New helper for is_nothrow_invocable_r. (is_nothrow_invocable_r): Use __is_nt_invocable_impl. * testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for conversions that can throw or fail to convert. Use static assert strings to explain negative results. * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use is_nothrow_constructible in is_nt_invocable_conv. From-SVN: r252977
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-19Fix some gotools testing problemsRainer Orth3-15/+29
* Makefile.am (GOTESTFLAGS): New variable. (check-runtime): Pass it to gotest. (check-go-tools): Sort summary. (check-runtime): Likewise. (check-cgo-test): Likewise. (check-carchive-test): Likewise. (check): Likewise. * Makefile.in: Regenerate. From-SVN: r252963
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 Taylor2-5/+8
Reviewed-on: https://go-review.googlesource.com/64110 From-SVN: r252953
2017-09-18PR libstdc++/81468 fix test for duration conversionsJonathan Wakely2-3/+7
PR libstdc++/81468 * testsuite/20_util/duration/cons/dr1177.cc: Fix incorrect test and improve static assertion messages. From-SVN: r252950
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
2017-09-18Fix an SVE failure in the Fortran matmul* testsRichard Sandiford2-0/+12
The vectoriser was calling vect_get_smallest_scalar_type without having proven that the type actually is a scalar. This seems to be the intended behaviour: the ultimate test of whether the type is interesting (and hence scalar) is whether an associated vector type exists, but this is only tested later. The patch simply makes the function cope gracefully with non-scalar inputs. 2017-09-18 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Cope with types that aren't in fact scalar. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252934
2017-09-18Include phis in SLP unrolling calculationRichard Sandiford4-27/+73
Without this we'd pick an unrolling factor based purely on longs, ignoring the ints. It's posssible that vect_get_smallest_scalar_type should also handle shifts, but I think we'd still want this as a belt-and-braces fix. 2017-09-18 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * tree-vect-slp.c (vect_record_max_nunits): New function, split out from... (vect_build_slp_tree_1): ...here. (vect_build_slp_tree_2): Call it for phis too. gcc/testsuite/ * gcc.dg/vect/slp-multitypes-13.c: New test. From-SVN: r252933
2017-09-18Fix vectorizable_mask_load_store handling of invariant masksRichard Sandiford4-2/+24
vectorizable_mask_load_store was not passing the required mask type to vect_get_vec_def_for_operand. This doesn't matter for masks that are defined in the loop, since their STMT_VINFO_VECTYPE will be what we need anyway. But it's not possible to tell which mask type the caller needs when looking at an invariant scalar boolean. As the comment above the function says: In case OP is an invariant or constant, a new stmt that creates a vector def needs to be introduced. VECTYPE may be used to specify a required type for vector invariant. This fixes the attached testcase for SVE. 2017-09-18 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * tree-vect-stmts.c (vectorizable_mask_load_store): Pass mask_vectype to vect_get_vec_def_for_operand when getting the mask operand. gcc/testsuite/ * gfortran.dg/vect/mask-store-1.f90: New test. From-SVN: r252932
2017-09-18Fix type of bitstart in vectorizable_live_operationRichard Sandiford2-1/+8
This patch changes the type of the multiplier applied by vectorizable_live_operation from unsigned_type_node to bitsizetype, which matches the type of TYPE_SIZE and is the type expected of a BIT_FIELD_REF bit position. This is shown by existing tests when SVE is added. 2017-09-18 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * tree-vect-loop.c (vectorizable_live_operation): Fix type of bitstart. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252931
2017-09-18Fix vectorizable_live_operation handling of vector booleansRichard Sandiford2-1/+10
vectorizable_live_operation needs to use BIT_FIELD_REF to extract one element of a vector. For a packed vector boolean type, the number of bits to extract should be taken from TYPE_PRECISION rather than TYPE_SIZE. This is shown by existing tests once SVE is added. 2017-09-18 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * tree-vect-loop.c (vectorizable_live_operation): Fix element size calculation for vector booleans. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252930
2017-09-18Invoke vectorizable_live_operation in a consistent wayRichard Sandiford2-26/+44
vect_transform_stmt calls vectorizable_live_operation for each live statement in an SLP node, but vect_analyze_stmt only called it the once. This patch makes vect_analyze_stmt consistent with vect_transform_stmt, which should be a bit more robust, and also means that a later patch can use slp_index when deciding validity. 2017-09-18 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * tree-vect-stmts.c (can_vectorize_live_stmts): New function, split out from... (vect_transform_stmt): ...here. (vect_analyze_stmt): Use it instead of calling vectorizable_live_operation directly. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252929
2017-09-18omp-offload.c (oacc_xform_loop): Enable SIMD vectorization on non-SIMT ↵Cesar Philippidis2-0/+30
targets in acc vector loops. gcc/ * omp-offload.c (oacc_xform_loop): Enable SIMD vectorization on non-SIMT targets in acc vector loops. From-SVN: r252928
2017-09-18[ARC] Check the assembler for gdwar2 support.Claudiu Zissulescu3-6/+11
gcc/ 2017-09-18 Claudiu Zissulescu <claziss@synopsys.com> * configure.ac: Add arc and check if assembler supports gdwar2. * configure: Regenerate. From-SVN: r252927
2017-09-18re PR c++/45033 ("delete" does overload resolution for class operands, but ↵Paolo Carlini2-0/+17
shouldn't.) 2017-09-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45033 * g++.dg/expr/delete1.C: New. From-SVN: r252924
2017-09-18Use built-in for std::make_integer_sequnceJonathan Wakely2-34/+23
* include/std/utility (_Itup_cat, _Make_integer_sequence): Remove. (_Build_index_tuple, make_integer_sequence): Use built-in to generate pack expansion. From-SVN: r252923
2017-09-18PR libstdc++/71187 reimplement declval without add_rvalue_referenceJonathan Wakely5-11/+30
PR libstdc++/71187 * include/std/type_traits (__declval): New function to deduce return type of declval. (__declval_protector::_delegate): Remove. (declval): Use __declval instead of add_rvalue_reference and __declval_protector::__delegate. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error lineno. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. From-SVN: r252922
2017-09-18Update checksums for isl-0.18.tar.bz2Markus Trippelsdorf2-2/+2
From-SVN: r252921
2017-09-18re PR tree-optimization/82220 (SPEC CPU2006 482.sphinx3 ~10% performance ↵Richard Biener2-2/+8
regression with trunk@250416) 2017-09-18 Richard Biener <rguenther@suse.de> PR tree-optimization/82220 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Exclude epilogue niters from the min_profitable_iters compute. From-SVN: r252917
2017-09-18sem_ch4.adb (Complete_Object_Operation): Do not insert 'Access for reference ↵Pierre-Marie de Rodat22-154/+545
types in the access-to-access case. gcc/ada/ 2017-09-18 Bob Duff <duff@adacore.com> * sem_ch4.adb (Complete_Object_Operation): Do not insert 'Access for reference types in the access-to-access case. 2017-09-18 Eric Botcazou <ebotcazou@adacore.com> * sem_attr.adb (Analyze_Access_Attribute): Move check for the presence of the "aliased" keyword on the prefix from here to... (Resolve_Attribute) <Attribute_Access>: ...here. Remove useless call to Check_No_Implicit_Aliasing. * sinfo.ads (Non_Aliased_Prefix): Delete. (Set_Non_Aliased_Prefix): Likewise. * sinfo.adb (Non_Aliased_Prefix): Delete. (Set_Non_Aliased_Prefix): Likewise. 2017-09-18 Bob Duff <duff@adacore.com> * exp_ch5.adb (Build_Formal_Container_Iteration, Expand_Formal_Container_Element_Loop): Convert the container to the root type before passing it to the iteration operations, so it will be of the right type. 2017-09-18 Bob Duff <duff@adacore.com> * einfo.ads, validsw.ads, treepr.ads, sem_util.ads: Comment fixes. 2017-09-18 Bob Duff <duff@adacore.com> * exp_ch3.adb (Build_Array_Init_Proc): If validity checking is enabled, and it's a bit-packed array, pass False to the Consider_IS parameter of Needs_Simple_Initialization. 2017-09-18 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch6.adb (Check_Inline_Pragma): Link the newly generated spec to the preexisting body. * sem_prag.adb (Check_Inline_Always_Placement): New routine. (Process_Inline): Verify the placement of pragma Inline_Always. The pragma must now appear on the initial declaration of the related subprogram. 2017-09-18 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Analyze_Declarations): In ASIS mode, At the end of the declarative list in a subprogram body, analyze aspext specifications to provide basic semantic information, because otherwise the aspect specifications might only be snalyzed during expansion, when related subprograms are generated. 2017-09-18 Bob Duff <duff@adacore.com> * exp_ch9.adb (Is_Simple_Barrier_Name): Follow Original_Node, in case validity checks have rewritten the tree. 2017-09-18 Bob Duff <duff@adacore.com> * sem_util.adb: Comment fixes, and remove redundant Is_Itype check. 2017-09-18 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Save_References_In_Aggregate): When constructing a qualified exxpression for an aggregate in a generic unit, verify that the scope of the type is itself visible and not hidden, so that the qualified expression is correctly resolved in any instance. gcc/testsuite/ 2017-09-18 Bob Duff <duff@adacore.com> * gnat.dg/validity_check.adb: New testcase. 2017-09-18 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/overload.ads, gnat.dg/overload.adb: New testcase. 2017-09-18 Bob Duff <duff@adacore.com> * gnat.dg/tagged_prefix_call.adb: New testcase. From-SVN: r252916
2017-09-18re PR middle-end/82145 (i386/pr38988.c, i386/pr46254.c, i386/pr55154.c, ↵Jakub Jelinek2-20/+13
i386/pr81766.c fails) PR target/82145 * config/i386/i386.c (ix86_init_large_pic_reg): Revert 2017-09-01 changes. Turn CODE_LABEL into NOTE_INSN_DELETED_LABEL immediately. (ix86_init_pic_reg): Revert 2017-09-01 changes. From-SVN: r252915
2017-09-18re PR target/81361 (broken exception handling at -O2)Eric Botcazou2-11/+8
PR target/81361 * dwarf2cfi.c (add_cfis_to_fde): Do not generate DW_CFA_set_loc after switching to a new text section. From-SVN: r252914
2017-09-18[multiple changes]Pierre-Marie de Rodat7-1/+143
2017-09-18 Bob Duff <duff@adacore.com> * sem_ch4.adb (Analyze_Qualified_Expression): Give an error if the type mark refers to the current instance. Set the type to Any_Type in that case, to avoid later crashes. 2017-09-18 Ed Schonberg <schonberg@adacore.com> * exp_ch3.adb (Replace_Discriminant_References): New procedure, subsidiary of Build_Assignment, used to handle the initialization code for a mutable record component whose default value is an aggregate that sets the values of the discriminants of the components. 2017-09-18 Ed Schonberg <schonberg@adacore.com> * gnat.dg/default_variants.adb: New testcase. 2017-09-18 Eric Botcazou <ebotcazou@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Address>: Mark the entity as being volatile for an overlay that toggles the scalar storage order. 2017-09-18 Fedor Rybin <frybin@adacore.com> * doc/gnat_ugn/gnat_utility_programs.rst: Document that gnattest options -U main and --harness-only are not compatible. From-SVN: r252913
2017-09-18[multiple changes]Pierre-Marie de Rodat7-13/+40
2017-09-18 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb, sem_ch6.adb, sem_res.adb: Minor reformatting. 2017-09-18 Piotr Trojanek <trojanek@adacore.com> * einfo.ads (Is_Imported): Update comment, as this routine also applies to constants. 2017-09-18 Yannick Moy <moy@adacore.com> * sem_util.adb (Find_Placement_In_State_Space): Allow generic package holding state. 2017-09-18 Justin Squirek <squirek@adacore.com> * sem_prag.adb (Is_Non_Significant_Pragma_Reference): Change the constant indication for Pragma_Linker_Section. From-SVN: r252910
2017-09-18Alternate fix for PR ada/71358Bob Duff2-61/+78
2017-09-18 Bob Duff <duff@adacore.com> Alternate fix for PR ada/71358 * libgnat/g-comlin.adb (Getopt): Remove manual null access checks. Instead, make a local copy of Config, and if it's null, allocate an empty Command_Line_Configuration_Record, so we won't crash on null pointer dereference. From-SVN: r252909
2017-09-18Fix gcc.target/i386/pr81736-[34].c on 32-bit Solaris/x86 (PR target/81736)Rainer Orth3-2/+8
PR target/81736 * gcc.target/i386/pr81736-3.c: Add -mno-omit-leaf-frame-pointer. * gcc.target/i386/pr81736-4.c: Likewise. From-SVN: r252908
2017-09-18download_prerequisites (isl): Bump version to 0.18.Richard Biener2-1/+5
2017-09-18 Richard Biener <rguenther@suse.de> * download_prerequisites (isl): Bump version to 0.18. From-SVN: r252907
2017-09-18graphite-scop-detection.c (scop_detection::stmt_has_simple_data_ref): Simplify.Richard Biener2-26/+16
2017-09-18 Richard Biener <rguenther@suse.de> * graphite-scop-detection.c (scop_detection::stmt_has_simple_data_ref): Simplify. (build_alias_set): Reject aliases with no access function. From-SVN: r252906
2017-09-18re PR tree-optimization/79622 (Wrong code w/ -O2 -floop-nest-optimize)Richard Biener4-3/+46
2017-09-18 Richard Biener <rguenther@suse.de> PR tree-optimization/79622 * graphite-scop-detection.c (build_cross_bb_scalars_def): Properly handle PHIs. (build_cross_bb_scalars_use): Likewise. * gcc.dg/graphite/pr79622.c: New testcase. From-SVN: r252905
2017-09-18Fix a typo in a comment (cgraph.c:cgraph_thunk_info)Pierre-Marie de Rodat2-1/+5
gcc/ * cgraph.h (cgraph_thunk_info): Fix a typo in a comment. From-SVN: r252904
2017-09-18MAINTAINERS: Add myself as a maintainer for the Ada front end.Pierre-Marie de Rodat1-0/+4
2017-09-18 Pierre-Marie de Rodat <derodat@adacore.com> * MAINTAINERS: Add myself as a maintainer for the Ada front end. From-SVN: r252903
2017-09-18Add myself as a maintainer for the Ada front endPierre-Marie de Rodat1-0/+1
From-SVN: r252902
2017-09-18[RS6000] PR81996, __builtin_return_address(0) failsAlan Modra2-13/+19
rs6000_return_addr assumes that the stack link is at frame+0, which is true for count>0. For count==0, rs6000_return_addr is called with frame==frame_pointer_rtx and the stack link is *not* at frame+0 if -fstack-protector-all or -fsanitize=address because rs6000.h sets FRAME_GROWS_DOWNWARD for those options. PR target/81996 * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use stack_pointer_rtx for count 0. Update comments. Break up large rtl expression. From-SVN: r252901
2017-09-18Daily bump.GCC Administrator1-1/+1
From-SVN: r252900
2017-09-17PR target/82196 correct choice of avx/sse stubs for -mcall-ms2sysv-xloguesDaniel Santos26-102/+214
gcc: config/i386/i386.c: (xlogue_layout::STUB_NAME_MAX_LEN): Increase to 20 bytes. (xlogue_layout::s_stub_names): Add an additional size-2 diminsion. (xlogue_layout::get_stub_name): Modify to select the appropairate sse or avx version of the stub. gcc/testsuite: gcc.target/i386/pr82196-1.c: New test. gcc.target/i386/pr82196-2.c: Likewise. libgcc: config/i386/i386-asm.h (PASTE2): New macro. (ASMNAME): Modify to use PASTE2. (MS2SYSV_STUB_PREFIX): New macro for isa prefix. (MS2SYSV_STUB_BEGIN, MS2SYSV_STUB_END): New macros for stub headers. config/i386/resms64.S: Rename to a header file, use MS2SYSV_STUB_BEGIN instead of HIDDEN_FUNC and MS2SYSV_STUB_END instead of FUNC_END. config/i386/resms64f.S: Likewise. config/i386/resms64fx.S: Likewise. config/i386/resms64x.S: Likewise. config/i386/savms64.S: Likewise. config/i386/savms64f.S: Likewise. config/i386/avx_resms64.S: New file that only defines a macro and includes it's corresponding header file. config/i386/avx_resms64f.S: Likewise. config/i386/avx_resms64fx.S: Likewise. config/i386/avx_resms64x.S: Likewise. config/i386/avx_savms64.S: Likewise. config/i386/avx_savms64f.S: Likewise. config/i386/sse_resms64.S: Likewise. config/i386/sse_resms64f.S: Likewise. config/i386/sse_resms64fx.S: Likewise. config/i386/sse_resms64x.S: Likewise. config/i386/sse_savms64.S: Likewise. config/i386/sse_savms64f.S: Likewise. config/i386/t-msabi: Modified to add avx and sse versions of stubs. From-SVN: r252896