Commit Graph

153908 Commits

Author SHA1 Message Date
Jakub Jelinek af3b2e0538 backport: re PR target/81906 (Calls to rint() wrongly optimized away starting in g++ 6)
Backported from mainline
	2017-12-08  Joseph Myers  <joseph@codesourcery.com>
		    Alexander Monakov  <amonakov@ispras.ru>
		    Jakub Jelinek  <jakub@redhat.com>

	PR target/81906
	* config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math.

	* gcc.target/i386/pr81906.c: New test.

From-SVN: r255725
2017-12-15 23:11:33 +01:00
Jakub Jelinek 1c8f2b0a85 backport: re PR c++/80259 (ICE deleting friend function)
Backported from mainline
	2017-12-06  Jakub Jelinek  <jakub@redhat.com>

	PR c++/80259
	* decl2.c (grokfield): Diagnose = delete redefinition of a friend.

	* g++.dg/cpp0x/pr80259.C: New test.

From-SVN: r255723
2017-12-15 23:10:40 +01:00
Jakub Jelinek 25d8a020e0 backport: re PR sanitizer/81212 (-Wreturn-type is disabled when used together with -fsanitize=return)
Backported from mainline
	2017-12-02  Jakub Jelinek  <jakub@redhat.com>

	PR c++/81212
	* tree-cfg.c (pass_warn_function_return::execute): Handle
	__builtin_ubsan_handle_missing_return like __builtin_unreachable
	with BUILTINS_LOCATION.

	* g++.dg/ubsan/pr81212.C: New test.

From-SVN: r255722
2017-12-15 23:09:50 +01:00
Jakub Jelinek e2e1e8d9f8 backport: re PR target/78643 (ICE in convert_move, at expr.c:230)
Backported from mainline
	2017-12-02  Jakub Jelinek  <jakub@redhat.com>

	PR target/78643
	PR target/80583
	* expr.c (get_inner_reference): If DECL_MODE of a non-bitfield
	is BLKmode for vector field with vector raw mode, use TYPE_MODE
	instead of DECL_MODE.

	* gcc.target/i386/pr80583.c: New test.

From-SVN: r255721
2017-12-15 23:09:07 +01:00
Jakub Jelinek ab26ce4518 backport: re PR target/80819 (Useless store to the stack in _mm_set_epi64x with SSE4 -mno-avx)
Backported from mainline
	2017-11-29  Jakub Jelinek  <jakub@redhat.com>

	PR target/80819
	* config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm)
	alternative.

	* gcc.target/i386/pr80819-1.c: New test.
	* gcc.target/i386/pr80819-2.c: New test.

From-SVN: r255720
2017-12-15 23:08:20 +01:00
Jakub Jelinek d67cb7e401 backport: re PR c++/81888 (Structured bindings stopped working)
Backported from mainline
	2017-11-27  Jakub Jelinek  <jakub@redhat.com>

	PR c++/81888
	* parser.c (cp_parser_decomposition_declaration): Reject just
	BRACE_ENCLOSED_INITIALIZER_P initializers with nelts != 1 rather
	than all such CONSTRUCTORs, and only if is_direct_init is true.

	* g++.dg/cpp1z/decomp30.C: Add a test for structured binding with
	= {} and = { a, a } initializers.
	* g++.dg/cpp1z/decomp31.C: New test.

From-SVN: r255719
2017-12-15 23:07:23 +01:00
Jakub Jelinek 4c8c427fcf backport: re PR c++/81675 (attribute(noreturn) of destructor in :? not honored)
Backported from mainline
	2017-11-27  Jakub Jelinek  <jakub@redhat.com>

	PR c++/81675
	* cp-gimplify.c (cp_fold) <case COND_EXPR>: Don't return immediately
	for VOID_TYPE_P COND_EXPRs, instead fold the operands and if op0 is
	INTEGER_CST, ensure that both op1 and op2 are non-NULL and fall
	through into normal folding, otherwise just rebuild x if any op
	changed.

	* g++.dg/warn/pr81675.C: New test.

From-SVN: r255718
2017-12-15 23:06:16 +01:00
Jakub Jelinek 7e27191cf5 backport: re PR rtl-optimization/81553 (ICE in immed_wide_int_const, at emit-rtl.c:607)
Backported from mainline
	2017-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/81553
	* combine.c (simplify_if_then_else): In (if_then_else COND (OP Z C1) Z)
	to (OP Z (mult COND (C1 * STORE_FLAG_VALUE))) optimization, if OP
	is a shift where C1 has different mode than the whole shift, use C1's
	mode for MULT rather than the shift's mode.

	* gcc.c-torture/compile/pr81553.c: New test.

From-SVN: r255717
2017-12-15 23:05:00 +01:00
Jakub Jelinek 88b712c241 backport: re PR fortran/81304 (Bogus warning with -Wsurprising and -fopenmp: Type specified for intrinsic function 'min' / 'max')
Backported from mainline
	2017-11-24  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/81304
	* trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
	attr.implicit_type in intrinsic_sym to avoid undesirable warning.

	* testsuite/libgomp.fortran/pr81304.f90: New test.

From-SVN: r255716
2017-12-15 23:00:48 +01:00
Jakub Jelinek e57525d514 backport: re PR sanitizer/83014 (ICE in pretty-print with -fsanitize=bounds)
Backported from mainline
	2017-11-24  Jakub Jelinek  <jakub@redhat.com>
 
	PR sanitizer/83014
	* ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer
	instead of pp_printf with HOST_WIDE_INT_PRINT_DEC.  Avoid calling
	tree_to_uhwi twice.

	* gcc.dg/ubsan/pr83014.c: New test.

From-SVN: r255715
2017-12-15 22:58:13 +01:00
Jakub Jelinek 5a8687cc52 backport: tree-object-size.c (pass_through_call): Do not handle BUILT_IN_STPNCPY_CHK which is not a pass through call.
Backported from mainline
	2017-11-24  Jakub Jelinek  <jakub@redhat.com>

	* tree-object-size.c (pass_through_call): Do not handle
	BUILT_IN_STPNCPY_CHK which is not a pass through call.

	* gcc.dg/builtin-object-size-18.c: New test.

From-SVN: r255714
2017-12-15 22:57:19 +01:00
Jakub Jelinek 7c11fb2820 backport: parser.c (cp_parser_omp_declare): Change return type to bool from void, return true for declare simd.
Backported from mainline
	2017-11-23  Jakub Jelinek  <jakub@redhat.com>

	* parser.c (cp_parser_omp_declare): Change return type to bool from
	void, return true for declare simd.
	(cp_parser_pragma): Return cp_parser_omp_declare returned value
	rather than always false.

From-SVN: r255713
2017-12-15 22:56:21 +01:00
Jakub Jelinek 29d1342c4b backport: re PR fortran/81841 (THREADPRIVATE (OpenMP) wrongly rejected in BLOCK DATA)
Backported from mainline
	2017-11-23  Dirk Broemmel  <d.broemmel@fz-juelich.de>
		    Jakub Jelinek  <jakub@redhat.com>

	PR fortran/81841
	* parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
	BLOCK DATA.

	* libgomp.fortran/pr81841.f90: New test.

From-SVN: r255712
2017-12-15 22:55:47 +01:00
Jakub Jelinek 8ea87c5f83 backport: re PR middle-end/82253 (ICE in convert_move, at expr.c:604)
Backported from mainline
	2017-11-23  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/82253
	* expr.c (expand_assignment): For CONCAT to_rtx, complex type from and
	bitpos/bitsize covering the whole destination, use store_expr only if
	the complex mode is the same.  Otherwise, use expand_normal and if
	it returns CONCAT, subreg each part separately instead of trying to
	subreg the whole result.

	* gfortran.dg/pr82253.f90: New test.

From-SVN: r255711
2017-12-15 22:54:15 +01:00
Jakub Jelinek 98a409be9d backport: re PR debug/83084 (-fcompare-debug failure on ppc64le)
Backported from mainline
	2017-11-22  Jakub Jelinek  <jakub@redhat.com>

	PR debug/83084
	* valtrack.c (propagate_for_debug_subst, propagate_for_debug): Reset
	debug insns if they would contain UNSPEC_VOLATILE or volatile asm.
	(dead_debug_insert_temp): Likewise, but also ignore even non-volatile
	asm.

	* g++.dg/opt/pr83084.C: New test.

From-SVN: r255710
2017-12-15 22:53:29 +01:00
Jakub Jelinek 98ea6f03f9 backport: re PR target/82880 (gcc --help=target --help=optimizers hangs on mips)
Backported from mainline
	2017-11-21  James Cowgill  <James.Cowgill@imgtec.com>
		    Jakub Jelinek  <jakub@redhat.com>

	PR target/82880
	* config/mips/frame-header-opt.c (mips_register_frame_header_opt):
	Remove static keyword from f variable.

	* gcc.dg/opts-8.c: New test.

From-SVN: r255709
2017-12-15 22:52:06 +01:00
Jakub Jelinek 0c924e851e backport: re PR c++/83059 (ICE on invalid C++ code: in tree_to_uhwi, at tree.c:6633)
Backported from mainline
	2017-11-21  Jakub Jelinek  <jakub@redhat.com>

	PR c++/83059
	* c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
	instead of tree_to_uhwi, formatting fix.

	* c-c++-common/pr83059.c: New test.

From-SVN: r255708
2017-12-15 22:50:52 +01:00
Jakub Jelinek e74d698765 backport: re PR c++/82781 (Vector extension operators return wrong result in constexpr)
Backported from mainline
	2017-11-20  Jakub Jelinek  <jakub@redhat.com>

	PR c++/82781
	* constexpr.c (cxx_eval_vector_conditional_expression): New function.
	(cxx_eval_constant_expression) <case VEC_COND_EXPR>: Use it instead
	of cxx_eval_conditional_expression.

	* g++.dg/ext/constexpr-pr82781.C: New test.

From-SVN: r255707
2017-12-15 22:50:00 +01:00
Richard Biener 8c633e4d27 re PR bootstrap/83439 (Bootstrap failure with --enable-checking=yes,rtl,extra)
2017-12-15  Richard Biener  <rguenther@suse.de>

	PR bootstrap/83439
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Adjust remaining gimple_set_modified to use the modified
	variable instead.

From-SVN: r255704
2017-12-15 20:45:36 +00:00
Eric Botcazou 9f671acc02 re PR target/66488 (segfault on sizeof(long) < sizeof(void*) and large GCC memory usage)
PR target/66488
	* ggc-page.c (HOST_BITS_PER_PTR): Do not define here...
	* hwint.h (HOST_BITS_PER_PTR): ...but here instead.
	* config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete.

From-SVN: r255688
2017-12-15 11:31:42 +00:00
Richard Biener 2c44df49aa backport: re PR tree-optimization/82060 (ICE in refs_may_alias_p_1 with devirtualization enabled)
2017-12-15  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	PR tree-optimization/82060
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Move devirtualization after stmt folding and before EH/AB/noreturn
	cleanup to get the stmt refs canonicalized.  Use a bool instead
	of gimple_modified_p since that doesn't work for NOPs.  Schedule
	NOPs generated by folding for removal.

	* g++.dg/torture/pr82060.C: New testcase.

From-SVN: r255682
2017-12-15 10:12:08 +00:00
Sudakshina Das c49c3117e3 Fix regression on soft float targets for armv8_2-fp16-move-2.c
*** gcc/testsuite/ChangeLog ***

2017-12-15  Sudakshina Das  <sudi.das@arm.com>

	* gcc.target/arm/armv8_2-fp16-move-2.c: Remove dg-add-options.

From-SVN: r255681
2017-12-15 09:59:24 +00:00
Richard Biener ab5f49b5d8 backport: [multiple changes]
2017-12-15  Richard Biener  <rguenther@suse.de>
 
	Backport from mainline
	2017-09-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82102
	* tree-ssa-pre.c (eliminate): Check if lhs is NULL.

	* gcc.dg/torture/pr82102.c: New testcase.

	2017-09-13  Richard Biener  <rguenther@suse.de>

	PR middle-end/82128
	* gimple-fold.c (gimple_fold_call): Update SSA name in-place to
	default-def to avoid breaking iterator update with the weird
	interaction with cgraph_update_edges_for_call_stmt_node.

	* g++.dg/pr82128.C: New testcase.

From-SVN: r255678
2017-12-15 08:19:15 +00:00
Richard Biener ec40d1a8ad Backport PRs 82402, 82697, 82765, 82902
2017-12-15  Richard Biener  <rguenther@suse.de>

	Backport from mainline
	2017-11-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82402
	* tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly
	set SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

	* gcc.dg/torture/pr82402.c: New testcase.

	2017-10-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82697
	* tree-ssa-phiopt.c (cond_store_replacement): Use alias-set
	zero for conditional load and unconditional store.

	* gcc.dg/torture/pr82697.c: New testcase.

	2017-11-02  Richard Biener  <rguenther@suse.de>

	PR middle-end/82765
	* varasm.c (decode_addr_const): Make offset HOST_WIDE_INT.
	Truncate ARRAY_REF index and element size.

	* gcc.dg/pr82765.c: New testcase.

	2017-11-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82902
	* tree-ssa-phiprop.c (propagate_with_phi): Test proper type.

	* g++.dg/torture/pr82902.C: New testcase.

From-SVN: r255677
2017-12-15 08:12:10 +00:00
GCC Administrator 5c72862788 Daily bump.
From-SVN: r255669
2017-12-15 00:16:15 +00:00
Peter Bergner 34f5d7982a backport: re PR target/80210 (ICE in in extract_insn, at recog.c:2311 on ppc64 for with __builtin_pow)
gcc/
	Backport from mainline
	2017-10-02  Peter Bergner  <bergner@vnet.ibm.com>

	PR target/80210
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite
	function to not use the have_cpu variable.  Do not set cpu_index,
	rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT
	or the default cpu.
	(rs6000_valid_attribute_p): Remove duplicate initializations of
	old_optimize and func_optimize.
	(rs6000_pragma_target_parse): Call rs6000_activate_target_options ().
	(rs6000_activate_target_options): Make global.
	* config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add
	prototype.

gcc/testsuite/
	Backport from mainline
	2017-10-02  Peter Bergner  <bergner@vnet.ibm.com>

	PR target/80210
	* gcc.target/powerpc/pr80210-2.c: New test.

From-SVN: r255655
2017-12-14 11:43:32 -06:00
Jonathan Wakely 31ceab27a8 PR libstdc++/83427 detect weak result type from noexcept functions
PR libstdc++/83427
	* include/bits/refwrap.h (_Weak_result_type_impl)
	(_Reference_wrapper_base): Deduce noexcept for function types.
	* testsuite/20_util/bind/83427.cc: New test.
	* testsuite/20_util/reference_wrapper/83427.cc: New test.

From-SVN: r255652
2017-12-14 17:29:22 +00:00
Eric Botcazou a9834d8de0 decl.c (gnat_to_gnu_field): Do not set the alignment of the enclosing record type if it is not already set.
* gcc-interface/decl.c (gnat_to_gnu_field): Do not set the alignment
	of the enclosing record type if it is not already set.

From-SVN: r255646
2017-12-14 17:05:43 +00:00
Jonathan Wakely 3824ac481e PR libstdc++/59568 don't use putback or update value when extraction fails
PR libstdc++/59568
	* include/std/complex (operator>>): Only use putback if a character
	was successfully extracted and only set the value if a number was
	successfully extracted.
	* testsuite/26_numerics/complex/inserters_extractors/char/59568.cc:
	New test.

From-SVN: r255633
2017-12-14 11:53:02 +00:00
Peter Bergner 7eb38f05ee backport: ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define.
gcc/
	Backport from mainline
	2017-12-13  Peter Bergner  <bergner@vnet.ibm.com>

	* config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define.
	* config/rs6000/rs6000.c (cpu_supports_info): Use it.

gcc/testsuite/
	Backport from mainline
	2017-12-13  Peter Bergner  <bergner@vnet.ibm.com>

	* gcc.target/powerpc/cpu-builtin-1.c (htm-no-suspend): Add test.

From-SVN: r255622
2017-12-13 21:43:10 -06:00
GCC Administrator cbbde35a9c Daily bump.
From-SVN: r255619
2017-12-14 00:16:09 +00:00
Eric Botcazou 730b33562c * gcc-interface/trans.c (Subprogram_Body_to_gnu): Initialize locus.
From-SVN: r255604
2017-12-13 09:30:42 +00:00
Eric Botcazou c3eea58cc5 trans.c (process_freeze_entity): Be prepared for a package without body.
* gcc-interface/trans.c (process_freeze_entity): Be prepared for a
	package without body.

From-SVN: r255602
2017-12-13 09:18:42 +00:00
Eric Botcazou f89e8e8020 decl.c (gnat_to_gnu_entity): Robustify test for types descendant of System.Address.
* gcc-interface/decl.c (gnat_to_gnu_entity): Robustify test for types
	descendant of System.Address.
	(gnat_to_gnu_subprog_type): Likewise.

From-SVN: r255600
2017-12-13 09:05:48 +00:00
GCC Administrator 17fb0c2dce Daily bump.
From-SVN: r255595
2017-12-13 00:16:17 +00:00
Jonathan Wakely 4fb43923ef PR libstdc++/83395 fix invocable traits for INVOKE<cv void>
PR libstdc++/83395
	* include/std/type_traits (__is_invocable_impl): Remove partial
	specialization for INVOKE<void> and restore is_void<R> check in
	primary template.
	(__is_nt_invocable_impl): Likewise.
	* testsuite/20_util/is_invocable/83395.cc: New test.
	* testsuite/20_util/is_nothrow_invocable/83395.cc: New test.

From-SVN: r255585
2017-12-12 18:07:24 +00:00
GCC Administrator d712665521 Daily bump.
From-SVN: r255561
2017-12-12 00:16:13 +00:00
Michael Meissner 634940f168 backport: re PR target/81959 (PowerPC __float128 optimization fails with integer PRE_INC addresses)
[gcc]
2017-12-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	Back port from trunk
	2017-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81959
	* config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for
	whether we can allocate pseudos before trying to fix an address.
	* config/rs6000/rs6000.md (float_<mode>si2_hw): Make sure the
	memory address is indexed or indirect.
	(floatuns_<mode>si2_hw2): Likewise.

[gcct/testsuite]
2017-12-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	Back port from trunk
	2017-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81959
	* gcc.target/powerpc/pr81959.c: New test.

From-SVN: r255545
2017-12-11 18:54:55 +00:00
Sudakshina Das e9c07226b8 Backported 'Fix wrong code by arm_final_prescan with fp16 move instructions'
ChangeLog entry are as follow:

*** gcc/ChangeLog ***

2017-12-11  Sudakshina Das  <sudi.das@arm.com>

	Backported from trunk
	2017-12-01  Sudakshina Das  <sudi.das@arm.com>

	* config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute.

*** gcc/testsuite/ChangeLog ***

2017-12-11  Sudakshina Das  <sudi.das@arm.com>

	Backported from trunk
	2017-12-01  Sudakshina Das  <sudi.das@arm.com>

	* gcc.target/arm/armv8_2-fp16-move-2.c: New test.

From-SVN: r255541
2017-12-11 17:07:33 +00:00
GCC Administrator 5e8974d1f2 Daily bump.
From-SVN: r255536
2017-12-11 00:16:08 +00:00
Tom de Vries 3a15e0edf8 Backport "Fix condition folding in c_parser_omp_for_loop"
2017-12-10  Tom de Vries  <tom@codesourcery.com>

	backport from trunk:
	2017-09-16  Tom de Vries  <tom@codesourcery.com>

	PR c/81875
	* c-parser.c (c_parser_omp_for_loop): Fold only operands of cond, not
	cond itself.

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

From-SVN: r255531
2017-12-10 20:52:54 +00:00
GCC Administrator 07f59edb30 Daily bump.
From-SVN: r255526
2017-12-10 00:16:09 +00:00
GCC Administrator 040f7ca425 Daily bump.
From-SVN: r255519
2017-12-09 00:16:09 +00:00
GCC Administrator 84bb19ceab Daily bump.
From-SVN: r255489
2017-12-08 00:16:09 +00:00
Kelvin Nilsen 32c5be0d14 backport: re PR target/80101 (ICE in store_data_bypass_p, at recog.c:3737)
gcc/testsuite/ChangeLog:

2017-12-07  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	Backport from trunk
	2017-05-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/80101
	* gcc.target/powerpc/pr80101-1.c: New test.


gcc/ChangeLog:

2017-12-07  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	Backport from trunk
	2017-05-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/80101
	* config/rs6000/power6.md: Replace store_data_bypass_p calls with
	rs6000_store_data_bypass_p in seven define_bypass directives and
	in several comments.
	* config/rs6000/rs6000-protos.h: Add prototype for
	rs6000_store_data_bypass_p function.
	* config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New
	function implements slightly different (rs6000-specific) semantics
	than store_data_bypass_p, returning false rather than aborting
	with assertion error when arguments do not satisfy the
	requirements of store data bypass.
	(rs6000_adjust_cost): Replace six calls of store_data_bypass_p with
	rs6000_store_data_bypass_p.

From-SVN: r255465
2017-12-07 13:20:27 +00:00
GCC Administrator 6df2bbd2a8 Daily bump.
From-SVN: r255459
2017-12-07 00:16:09 +00:00
Eric Botcazou 2e5a45f932 Revert
2017-11-29  Martin Aberg  <maberg@gaisler.com>

	* config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
	to prevent b2bst errata sequence.
	(sqrtdf2_fix): Likewise.

From-SVN: r255440
2017-12-06 08:38:32 +00:00
GCC Administrator ee11eff31b Daily bump.
From-SVN: r255436
2017-12-06 00:16:16 +00:00
Max Filippov d888144028 xtensa: enable address sanitizer
2017-12-05  Max Filippov  <jcmvbkbc@gmail.com>

	Backport from mainline
	2017-12-05  Max Filippov  <jcmvbkbc@gmail.com>
	* config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New
	function.
	(TARGET_ASAN_SHADOW_OFFSET): New macro definition.
	* config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): Set to 1 if
	ASAN is enabled.

From-SVN: r255422
2017-12-05 14:31:41 +00:00
Max Filippov 6c118c0f70 xtensa: add support for SSP
gcc/
2017-12-05  Max Filippov  <jcmvbkbc@gmail.com>

	Backport from mainline
	2017-05-08  Max Filippov  <jcmvbkbc@gmail.com>
	* config/xtensa/xtensa-protos.h
       	(xtensa_initial_elimination_offset): New declaration.
	* config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
	New function. Move its body from the INITIAL_ELIMINATION_OFFSET
	macro definition, add case for FRAME_POINTER_REGNUM when
	FRAME_GROWS_DOWNWARD.
	* config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): New macro
	definition.
	(INITIAL_ELIMINATION_OFFSET): Replace body with call to
	xtensa_initial_elimination_offset.

From-SVN: r255421
2017-12-05 14:29:53 +00:00