Commit Graph

137619 Commits

Author SHA1 Message Date
Jan Hubicka b3587b99fb ipa-icf.c (sem_item::compare_attributes): New function.
* ipa-icf.c (sem_item::compare_attributes): New function.
	(sem_item::compare_referenced_symbol_properties): Compare variable
	attributes.
	(sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
	(sem_function::param_used_p): New function.
	(sem_function::equals_wpa): Fix attribute comparsion; match
	parameter type codes; do not compare paremter flags when
	they are not used; compare edge flags; compare indirect calls.
	(sem_item::update_hash_by_addr_refs): Hash reference type.
	(sem_function::equals_private): Do not match DECL_ATTRIBUTES.
	(sem_variable::equals_wpa): Do not match DECL_ALIGN; match
	reference use type.
	(sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
	* ipa-icf.h (compare_attributes, param_used_p): Declare.

From-SVN: r222374
2015-04-23 15:25:26 +00:00
Bill Schmidt 9f468990e1 costmodel-bb-slp-9a.c: Replace vect_no_align with vect_no_align && { ! vect_hw_misalign }.
2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
	vect_no_align with vect_no_align && { ! vect_hw_misalign }.

From-SVN: r222373
2015-04-23 15:09:19 +00:00
Jan Hubicka 977b01e34d ipa-icf.c (symbol_compare_collection::symbol_compare_collection): cleanup.
* ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
	cleanup.
	(sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
	DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
	(sem_item::compare_referenced_symbol_properties): New.
	(sem_item::hash_referenced_symbol_properties): New.
	(sem_item::compare_cgraph_references): Rename to ...
	(sem_item::compare_symbol_references): ... this one; use
	compare_referenced_symbol_properties.
	(sem_function::equals_wpa): Do not compare
	DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
	DECL_IS_OPERATOR_NEW; compare pointer sizes.
	(sem_item::update_hash_by_addr_refs): Call
	hash_referenced_symbol_properties.
	(sem_item::update_hash_by_local_refs): Cleanup.
	(sem_function::merge): Do not mix up symbol properties.
	(sem_variable::equals_wpa): Use compare_symbol_references.
	* ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
	(sem_item::hash_referenced_symbol_properties): New.
	(sem_item::compare_symbol_references): New.
	(sem_item::compare_cgraph_references): Remove.

From-SVN: r222372
2015-04-23 14:55:07 +00:00
Ramana Radhakrishnan 4cf0223853 re PR target/26702 (.size is not emitted for BSS variables)
Fix PR target/26702

For Kwok Cheung Yeung.

From-SVN: r222371
2015-04-23 14:49:45 +00:00
Marek Polacek 5c4abbb8e8 re PR c/65345 (ICE with _Generic selection on _Atomic int)
PR c/65345
	* c-decl.c (set_labels_context_r): New function.
	(store_parm_decls): Call it via walk_tree_without_duplicates.
	* c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
	instead of create_tmp_var.  Build TARGET_EXPR instead of
	COMPOUND_EXPR.
	(build_atomic_assign): Use create_tmp_var_raw instead of
	create_tmp_var.  Build TARGET_EXPRs instead of MODIFY_EXPR.

	* gcc.dg/pr65345-1.c: New test.
	* gcc.dg/pr65345-2.c: New test.

From-SVN: r222370
2015-04-23 14:35:12 +00:00
Nick Clifton 0f9b95dfc7 rl78.c (rl78_preferred_reload_class): Add ATTRIBUTE_UNUSED to x parameter.
* config/rl78/rl78.c (rl78_preferred_reload_class): Add
	ATTRIBUTE_UNUSED to x parameter.
	* config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.

From-SVN: r222369
2015-04-23 13:41:48 +00:00
Bill Schmidt 6895fffb46 crypto.md (crypto_vpmsum<CR_char>): Change TARGET_CRYPTO to TARGET_P8_VECTOR>
[gcc]

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
	TARGET_CRYPTO to TARGET_P8_VECTOR>
	(crypto_vpermxor_<mode>): Likewise.
	* config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
	(BU_CRYPTO_3A): Likewise.
	(BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
	(BU_CRYPTO_OVERLOAD_3A): New #define.
	(VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
	(VPMSUMH): Likewise.
	(VPMSUMW): Likewise.
	(VPMSUMD): Likewise.
	(VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
	(VPERMXOR_V4SI): Likewise.
	(VPERMXOR_V8HI): Likewise.
	(VPERMXOR_V16QI): Likewise.
	(VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
	BU_CRYPTO_OVERLOAD_2A.
	(VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
	BU_CRYPTO_OVERLOAD_3A.
	* config/rs6000/rs6000.opt (mcrypto): Change description of
	option.

[gcc/testsuite]

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/crypto-builtin-2.c: New.

From-SVN: r222362
2015-04-23 12:36:43 +00:00
Andre Vehreschild f3b0bb7a56 PF fortran/60322
gcc/testsuite/ChangeLog:

2015-04-23  Andre Vehreschild  <vehre@gmx.de>

	PF fortran/60322
	* gfortran.dg/class_allocate_19.f03: New test.
	* gfortran.dg/class_array_20.f03: New test.
	* gfortran.dg/class_array_21.f03: New test.
	* gfortran.dg/finalize_10.f90: Corrected scan-trees.
	* gfortran.dg/finalize_15.f90: Fixing comparision to model
	initialization correctly.
	* gfortran.dg/finalize_29.f08: New test.


gcc/fortran/ChangeLog:

2015-04-23  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/60322
	* expr.c (gfc_lval_expr_from_sym): Code to select the regular
	or class array added.
	* gfortran.h: Add IS_CLASS_ARRAY macro.
	* trans-array.c (gfc_add_loop_ss_code): Treat class objects
	to be referenced always.
	(build_class_array_ref): Adapt retrieval of array descriptor.
	(build_array_ref): Likewise.
	(gfc_conv_array_ref): Hand the vptr or the descriptor to 
	build_array_ref depending whether the sym is class or not.
	(gfc_trans_array_cobounds):  Select correct gfc_array_spec for
	regular and class arrays.
	(gfc_trans_array_bounds): Likewise.
	(gfc_trans_dummy_array_bias): Likewise. 
	(gfc_get_dataptr_offset): Correcting call of build_array_ref.
	(gfc_conv_expr_descriptor): Set the array's offset to -1 when
	lbound in inner most dim is 1 and symbol non-pointer/assoc.
	* trans-decl.c (gfc_build_qualified_array): Select correct
	gfc_array_spec for regular and class arrays.
	(gfc_build_dummy_array_decl): Likewise.
	(gfc_get_symbol_decl): Get a dummy array for class arrays.
	(gfc_trans_deferred_vars): Tell conv_expr that the descriptor
	is desired.
	* trans-expr.c (gfc_class_vptr_get): Get the class descriptor
	from the correct location for class arrays.
	(gfc_class_len_get): Likewise.
	(gfc_conv_intrinsic_to_class): Add handling of _len component.
	(gfc_conv_class_to_class):  Prevent access to unset array data
	when the array is an optional argument. Add handling of _len
	component.
	(gfc_copy_class_to_class): Check that _def_init is non-NULL
	when used in _vptr->copy()
	(gfc_trans_class_init_assign): Ensure that the rank of
	_def_init is zero.
	(gfc_conv_component_ref): Get the _vptr along with _data refs.
	(gfc_conv_variable): Make sure the temp array descriptor is
	returned for class arrays, too, and that class arrays are
	dereferenced correctly.
	(gfc_conv_procedure_call): For polymorphic type initialization
	the initializer has to be a pointer to _def_init stored in a
	dummy variable, which then needs to be used by value.
	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
	temporary array descriptor for class arrays, too.
	(gfc_conv_intrinsic_storage_size): Likewise.
	(gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
	expressions.
	* trans-stmt.c (trans_associate_var): Use a temporary array for
	the associate variable of class arrays, too, making the array
	one-based (lbound == 1).
	* trans-types.c (gfc_is_nodesc_array): Use the correct
	array data.
	* trans.c (gfc_build_array_ref): Use the dummy array descriptor
	when present.
	* trans.h: Add class_vptr to gfc_se for storing a class ref's
	vptr.

From-SVN: r222361
2015-04-23 13:32:00 +02:00
Richard Biener eff973a26b passes.def: Remove copy propagation passes run directly after CCP.
2015-04-23  Richard Biener  <rguenther@suse.de>

	* passes.def: Remove copy propagation passes run directly after CCP.
	* tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
	SSA names.
	(ccp_visit_phi_node): Rework to handle first executable edge
	specially.

From-SVN: r222360
2015-04-23 11:19:45 +00:00
Matthew Wahab e4949e1d81 [ARM] Remove an unused reload hook.
* config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
	(ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
	* config/arm/arm.c (arm_legimitimize_reload_address): Remove.
	(thumb_legimitimize_reload_address): Remove.
	* config/arm/arm-protos.h (arm_legimitimize_reload_address):
	Remove.
	(thumb_legimitimize_reload_address): Remove.

From-SVN: r222359
2015-04-23 11:02:47 +00:00
Kyrylo Tkachov 8778aed76e Re: [PATCH 02/12] remove some ifdef HAVE_cc0.
* conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.

From-SVN: r222358
2015-04-23 10:34:58 +00:00
Kyrylo Tkachov f5ee50a5ab [ARM] Restrict {load,store}_multiple expanders to MAX_LD_STM_OPS regs
* config/arm/arm.md (load_multiple): Reject operand 2 greater than
	MAX_LDM_STM_OPS.
	(store_multiple): Likewise.

From-SVN: r222357
2015-04-23 10:26:25 +00:00
Kyrylo Tkachov dbb2d72517 [ARM] Make issue rate part of per-core tuning structs
* config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
	* config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
	arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
	arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
	arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
	arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
	arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
	Specify issue_rate value.
	(arm_issue_rate): Look up issue rate from tuning structs. Remove
	large switch statement.
	(arm_marvell_pj4_tune): New struct.
	* config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
	struct.

From-SVN: r222356
2015-04-23 10:24:07 +00:00
Richard Biener 2e8ab70c2e tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
2015-04-23  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
	(vect_find_last_store_in_slp_instance): Rename to ...
	(vect_find_last_scalar_stmt_in_slp): ... this and generalize.
	(vect_analyze_slp_cost_1): Use vector_load for constant defs
	and vec_construct for external defs when estimating prologue cost.
	(vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
	Compute costs here only when vectorizing loops.
	(vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
	have been determined.
	(vect_schedule_slp_instance): Simplify vectorized code placement
	and prepare for in-BB external defs.
	* tree-vectorizer.h (struct _slp_instance): Remove first_load member.
	(SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
	* tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
	guard.
	(vect_model_load_cost): Likewise.
	(vectorizable_store): Instead add it here.
	(vectorizable_load): Likewise.
	(vect_is_simple_use): Dump def type textually.

From-SVN: r222354
2015-04-23 08:43:10 +00:00
Richard Biener b0dd8c90ff cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
2015-04-23  Richard Biener  <rguenther@suse.de>

	* cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
	* cfgloop.c (verify_loop_structure): Verify the root loop node.
	* except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
	instead of get_eh_region_from_lp_number.
	* loop-init.c (fix_loop_structure): If we removed a loop, reset
	the SCEV cache.

From-SVN: r222353
2015-04-23 08:30:04 +00:00
Anton Blanchard 905bcb98e7 rs6000.c (rs6000_output_function_prologue): No need for -mprofile-kernel to save LR to stack.
* config/rs6000/rs6000.c (rs6000_output_function_prologue): No
	need for -mprofile-kernel to save LR to stack.

From-SVN: r222352
2015-04-23 15:06:55 +09:30
Bill Schmidt 30821df75c rs6000.c (rtx_is_swappable_p): Commentary adjustments.
[gcc]

2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
	adjustments.
	(insn_is_swappable_p): Return 1 for a convert from double to
	single precision when all of its uses are splats of BE element
	zero.

[gcc/testsuite]

2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/swaps-p8-18.c: New test.

From-SVN: r222351
2015-04-23 01:49:08 +00:00
Kugan Vivekanandarajah ed02353765 ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
2015-04-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* ira-costs.c (record_operand_costs): Fix typo (remove redundant code).

From-SVN: r222350
2015-04-23 00:43:30 +00:00
Bill Schmidt 047b83ff58 re PR target/65456 (powerpc64le autovectorized copy loop missed optimization)
[gcc]

2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/65456
	* config/rs6000/rs6000.c (rs6000_option_override_internal):  For
	VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
	TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
	option.
	(rs6000_builtin_mask_for_load): Return 0 for targets with
	efficient unaligned VSX accesses so that the vectorizer will use
	direct unaligned loads.
	(rs6000_builtin_support_vector_misalignment): Always return true
	for targets with efficient unaligned VSX accesses.
	(rs6000_builtin_vectorization_cost): Cost of unaligned loads and
	stores on targets with efficient unaligned VSX accesses is almost
	always the same as the cost of an aligned load or store, so model
	it that way.
	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
	unaligned vectors if we have efficient unaligned VSX accesses.
	* config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
	undocumented option.

[gcc/testsuite]

2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/65456
	* gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
	* gcc.dg/vect/bb-slp-25.c: Likewise.
	* gcc.dg/vect/bb-slp-29.c: Likewise.
	* gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with
	vect_no_align && { ! vect_hw_misalign }.
	* gcc.dg/vect/bb-slp-9.c: Likewise.
	* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
	vect_hw_misalign.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
	account for POWER8, where peeling for alignment is not needed.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
	vect_no_align with vect_no_align && { ! vect_hw_misalign }.
	* gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
	* gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
	* gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise.
	* gcc.dg/vect/pr16105.c: Likewise.
	* gcc.dg/vect/pr20122.c: Likewise.
	* gcc.dg/vect/pr33804.c: Likewise.
	* gcc.dg/vect/pr33953.c: Likewise.
	* gcc.dg/vect/pr56787.c: Likewise.
	* gcc.dg/vect/pr58508.c: Likewise.
	* gcc.dg/vect/slp-25.c: Likewise.
	* gcc.dg/vect/vect-105-bit-array.c: Likewise.
	* gcc.dg/vect/vect-105.c: Likewise.
	* gcc.dg/vect/vect-27.c: Likewise.
	* gcc.dg/vect/vect-29.c: Likewise.
	* gcc.dg/vect/vect-33.c: Exclude unaligned access test for
	POWER8.
	* gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
	&& { ! vect_hw_misalign }.
	* gcc.dg/vect/vect-44.c: Likewise.
	* gcc.dg/vect/vect-48.c: Likewise.
	* gcc.dg/vect/vect-50.c: Likewise.
	* gcc.dg/vect/vect-52.c: Likewise.
	* gcc.dg/vect/vect-56.c: Likewise.
	* gcc.dg/vect/vect-60.c: Likewise.
	* gcc.dg/vect/vect-72.c: Likewise.
	* gcc.dg/vect/vect-75-big-array.c: Likewise.
	* gcc.dg/vect/vect-75.c: Likewise.
	* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
	* gcc.dg/vect/vect-77-global.c: Likewise.
	* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
	* gcc.dg/vect/vect-78-global.c: Likewise.
	* gcc.dg/vect/vect-93.c: Likewise.
	* gcc.dg/vect/vect-95.c: Likewise.
	* gcc.dg/vect/vect-96.c: Likewise.
	* gcc.dg/vect/vect-cond-1.c: Likewise.
	* gcc.dg/vect/vect-cond-3.c: Likewise.
	* gcc.dg/vect/vect-cond-4.c: Likewise.
	* gcc.dg/vect/vect-cselim-1.c: Likewise.
	* gcc.dg/vect/vect-multitypes-1.c: Likewise.
	* gcc.dg/vect/vect-multitypes-3.c: Likewise.
	* gcc.dg/vect/vect-multitypes-4.c: Likewise.
	* gcc.dg/vect/vect-multitypes-6.c: Likewise.
	* gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
	* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
	* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-3a.c: Likewise.
	* gcc.dg/vect/vect-outer-5.c: Likewise.
	* gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
	* gcc.dg/vect/vect-outer-fir.c: Likewise.
	* gcc.dg/vect/vect-peel-3.c: Likewise.
	* gcc.dg/vect/vect-peel-4.c: Likewise.
	* gcc.dg/vect/vect-pre-interact.c: Likewise.
	* gcc.target/powerpc/pr65456.c: New test.
	* gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
	* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
	* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
	* gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
	vect_no_align && { ! vect_hw_misalign }.
	* gfortran.dg/vect/vect-3.f90: Likewise.
	* gfortran.dg/vect/vect-4.f90: Likewise.
	* gfortran.dg/vect/vect-5.f90: Likewise.
	* lib/target-supports.exp (check_effective_target_vect_no_align):
	Return 1 for POWER8.
	(check_effective_target_vect_hw_misalign): Return 1 for POWER8.

From-SVN: r222349
2015-04-23 00:21:39 +00:00
GCC Administrator ed4c75f949 Daily bump.
From-SVN: r222348
2015-04-23 00:16:16 +00:00
Steven G. Kargl 5912da3cd2 re PR fortran/65429 (ICE on implied-length character empty array constructor)
2015-04-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/65429
	* decl.c (add_init_expr_to_sym): Set the length type parameter.

	PR fortran/65429
	* gfortran.dg/pr65429.f90: New test.

From-SVN: r222342
2015-04-22 22:43:46 +00:00
Eli Zaretskii ffa176b09b libiberty/setenv.c: Do not declare environ if defined as a macro.
2015-04-22  Eli Zaretskii  <eliz@gnu.org>

        * strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
        macros.
        * setenv.c <environ>: Declare only if not a macro.

From-SVN: r222335
2015-04-22 19:34:06 +00:00
Bernhard Reutner-Fischer fafb95a6fe Makefile.tpl: Remove surplus whitespace throughout.
2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* Makefile.tpl: Remove surplus whitespace throughout.
	* Makefile.in: Regenerate.

From-SVN: r222334
2015-04-22 20:32:18 +02:00
Kyrylo Tkachov cbea306a5e Revert:
2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

	* config.gcc (LIBC_MUSL): New tm_defines macro.
	* config/linux.h (OPTION_MUSL): Define.
	(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
	(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
	(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.

	* config/linux.opt (mmusl): New option.
	* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
	(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.

	* configure: Regenerate.

From-SVN: r222330
2015-04-22 15:34:46 +00:00
Szabolcs Nagy 85da5c3024 libstdc++, libgfortran gthr workaround for musl
On behalf of szabolcs.nagy@arm.com

[libstdc++-v3/]
2015-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
	* configure.host (os_include_dir): Set to "os/generic" for linux-musl*.

[libgfortran/]
2015-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* acinclude.m4 (GTHREAD_USE_WEAK): Define as 0 for *-*-musl*.
	* configure: Regenerate.

From-SVN: r222329
2015-04-22 14:24:11 +00:00
Gregor Richards 15aa7b4472 unwind fix for musl
On behalf of szabolcs.nagy@arm.com

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>
	    Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME): Define it on
	Linux if target provides dl_iterate_phdr.

Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>

From-SVN: r222328
2015-04-22 14:20:01 +00:00
Gregor Richards 218213dfd0 fixincludes update for musl support
On behalf of Szabolcs.Nagy@arm.com

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

	* mkfixinc.sh: Add *-musl* with no fixes.

From-SVN: r222327
2015-04-22 14:18:16 +00:00
Gregor Richards 513686a6a7 config changes for musl libc support
On behalf of Szabolcs.Nagy@arm.com

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

	* config.gcc (LIBC_MUSL): New tm_defines macro.
	* config/linux.h (OPTION_MUSL): Define.
	(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
	(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
	(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.

	* config/linux.opt (mmusl): New option.
	* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
	(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.

	* configure: Regenerate.

From-SVN: r222326
2015-04-22 14:16:41 +00:00
Gregor Richards 96ce40cbce libitm fixes for musl support
On behalf of Szabolcs.Nagy@arm.com

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

       * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
       * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.

From-SVN: r222325
2015-04-22 14:11:25 +00:00
Renlin Li 04934297b8 [PATCH][libstc++v3]Add new dg-require-thread-fence directive.
libstdc++-v3/

2015-04-22  Renlin Li  <renlin.li@arm.com>

	* testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
	* testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
	* testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.

From-SVN: r222324
2015-04-22 14:01:02 +00:00
Yury Gribov 860503d8cc Allow wildcards in -fsanitize-sections.
2015-04-22  Yury Gribov  <y.gribov@samsung.com>

	Allow wildcards in -fsanitize-sections.

	gcc/
	* asan.c (set_sanitized_sections): Parse incoming arg.
	(section_sanitized_p): Support wildcards.
	* doc/invoke.texi (-fsanitize-sections): Update description.

	gcc/testsuite/
	* c-c++-common/asan/user-section-1.c: New test.
	* c-c++-common/asan/user-section-2.c: New test.
	* c-c++-common/asan/user-section-3.c: New test.

From-SVN: r222322
2015-04-22 11:44:26 +00:00
Tom de Vries 5cf3629251 Fix va_arg ap_copy nop detection
2015-04-22  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65823
	* gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
	equality between ap_copy and ap.

From-SVN: r222318
2015-04-22 09:03:01 +00:00
Bernhard Reutner-Fischer 2aa84d43ba PR target/47098 OBSD_LIB_SPEC on i686-openbsd3 missing
config-list.mk for i686-*-openbsd3.0 failed with:

gcc/config/openbsd.h:143:18: error: ‘OBSD_LIB_SPEC’ was not declared in this scope
 #define LIB_SPEC OBSD_LIB_SPEC
                  ^
gcc/gcc.c:879:31: note:
in expansion of macro ‘LIB_SPEC’
 static const char *lib_spec = LIB_SPEC;
                               ^
make[2]: *** [gcc.o] Error 1

i.e. openbsd-oldgas.h is only used on
i?86-*-openbsd2.*|i?86-*openbsd3.[0123] so add the OBSD_LIB_SPEC there

From-SVN: r222315
2015-04-22 10:41:13 +02:00
Bernhard Reutner-Fischer a42014a3f9 PR target/47122: vax-*-openbsd* config.gcc typo
Gerald / jsg typoed this in the initial r152218 a.k.a
8e6600a15374f9446d5026e8ef6b68e0d753fb6c

From-SVN: r222314
2015-04-22 10:30:15 +02:00
Bernhard Reutner-Fischer e08cf3453d re PR target/55144 (opening glibc-c.o: No such file or directory)
PR target/55144

building all-gcc for bfin-linux-uclibc resulted in

build/genchecksum cp/cp-lang.o c-family/stub-objc.o ... glibc-c.o \
libbackend.a .. > cc1plus-checksum.c.tmp
opening glibc-c.o: No such file or directory
make[2]: *** [cc1-checksum.c] Error 1

From-SVN: r222313
2015-04-22 10:25:40 +02:00
Bernhard Reutner-Fischer 07cb4ee604 tree-tailcall.c (suitable_for_tail_opt_p, [...]): Remove unneeded forward declarations.
2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
	Remove unneeded forward declarations.
	(suitable_for_tail_call_opt_p): Commentary typo fix.

From-SVN: r222312
2015-04-22 10:20:32 +02:00
Bernhard Reutner-Fischer 38b7a8dfc9 varasm.c (emit_bss): Remove redundant guard.
The whole emit_bss is wrapped in ifdef ASM_OUTPUT_ALIGNED_BSS

From-SVN: r222311
2015-04-22 10:16:17 +02:00
Jakub Jelinek a497da4c73 * gennews (files): Add files for GCC 5.
From-SVN: r222309
2015-04-22 10:14:03 +02:00
Bernhard Reutner-Fischer baa59cde37 c6x: handle c6x unk_isa in TARGET_CPU_CPP_BUILTINS
Fixes all-gcc for c6x config-list.mk that complained about

error: enumeration value ‘unk_isa’ not handled in switch

Maybe seeing unk_isa in the cpu switch statement should
__builtin_abort() but be conservative to just allow all-gcc of config-list.mk
to compile

From-SVN: r222308
2015-04-22 10:10:18 +02:00
Bernhard Reutner-Fischer 0828c47bb4 bfin: handle BFIN_CPU_UNKNOWN in TARGET_CPU_CPP_BUILTINS
gcc/c-family/c-cppbuiltin.c
In file included from ./tm.h:21:0,
                 from
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:23:
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:
In function ‘void c_cpp_builtins(cpp_reader*)’:
../../../../../../home/me/src/gcc-5.0.mine/gcc/config/bfin/bfin.h:43:14:
error: enumeration value ‘BFIN_CPU_UNKNOWN’ not handled in switch
[-Werror=switch]
       switch (bfin_cpu_type)   \
              ^
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:1243:3:
note: in expansion of macro ‘TARGET_CPU_CPP_BUILTINS’
   TARGET_CPU_CPP_BUILTINS ();
   ^
cc1plus: all warnings being treated as errors
make[2]: *** [c-family/c-cppbuiltin.o] Error 1

Maybe seeing BFIN_CPU_UNKNOWN in the cpu switch statement should
__builtin_abort() but be conservative to just allow all-gcc of config-list.mk
to compile

From-SVN: r222307
2015-04-22 10:05:20 +02:00
Hale Wang eefe4e49f4 re PR rtl-optimization/64818 (User specified register don't work correctly in inline-asm operands.)
gcc/ChangeLog:
2015-04-22  Hale Wang  <hale.wang@arm.com>
            Terry Guo  <terry.guo@arm.com>

       PR rtl-optimization/64818
       * combine.c (can_combine_p): Don't combine user-specified
       register if it is in an asm input.

gcc/testsuite/ChangeLog
2015-04-22  Hale Wang  <hale.wang@arm.com>
            Terry Guo  <terry.guo@arm.com>

       PR rtl-optimization/64818
       * gcc.target/arm/pr64818.c: New test.

Co-Authored-By: Terry Guo <terry.guo@arm.com>

From-SVN: r222306
2015-04-22 07:21:35 +00:00
Jan Hubicka 5a33401eab re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
PR ipa/65076
	* passes.def (early_optimizations): Add pass_dse.

	* g++.dg/tree-ssa/pr61034.C: Update template.
	* g++.dg/warn/Warray-bounds.C: Harden for DSE.
	* gcc.dg/Warray-bounds-11.c: Likewise.
	* gcc.dg/Warray-bounds.c: Likewise.

From-SVN: r222305
2015-04-22 01:32:14 +00:00
Trevor Saunders 6e37129a8d add default for INSN_REFERENCES_ARE_DELAYED
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
	* reorg.c (redundant_insn): Remove ifdef
	INSN_REFERENCES_ARE_DELAYED.
	* resource.c (mark_referenced_resources): Likewise.

From-SVN: r222304
2015-04-22 00:45:20 +00:00
Trevor Saunders 0923e946fb provide default for INSN_SETS_ARE_DELAYED
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (INSN_SETS_ARE_DELAYED): New definition.
	* reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
	* resource.c (mark_set_resources): Likewise.

From-SVN: r222303
2015-04-22 00:45:11 +00:00
Trevor Saunders 618f407374 remove more ifdefs for HAVE_cc0
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
	* cfgcleanup.c (flow_find_cross_jump): Likewise.
	(flow_find_head_matching_sequence): Likewise.
	(try_head_merge_bb): Likewise.
	* combine.c (can_combine_p): Likewise.
	(try_combine): Likewise.
	(distribute_notes): Likewise.
	* df-problems.c (can_move_insns_across): Likewise.
	* final.c (final): Likewise.
	* gcse.c (insert_insn_end_basic_block): Likewise.
	* ira.c (find_moveable_pseudos): Likewise.
	* reorg.c (try_merge_delay_insns): Likewise.
	(fill_simple_delay_slots): Likewise.
	(fill_slots_from_thread): Likewise.
	* sched-deps.c (sched_analyze_2): Likewise.

From-SVN: r222302
2015-04-22 00:45:06 +00:00
Trevor Saunders faa7b0dee6 remove #if for PIC_OFFSET_TABLE_REGNUM
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* df-scan.c (df_get_entry_block_def_set): Remove #ifdef
	PIC_OFFSET_TABLE_REGNUM.

From-SVN: r222301
2015-04-22 00:44:59 +00:00
Trevor Saunders c3e080363d reduce conditional compilation for HARD_FRAME_POINTER_IS_FRAME_POINTER
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* alias.c (init_alias_target): Remove ifdef
	* HARD_FRAME_POINTER_IS_FRAME_POINTER.
	* df-scan.c (df_insn_refs_collect): Likewise.
	(df_get_regular_block_artificial_uses): Likewise.
	(df_get_eh_block_artificial_uses): Likewise.
	(df_get_entry_block_def_set): Likewise.
	(df_get_exit_block_use_set): Likewise.
	* emit-rtl.c (gen_rtx_REG): Likewise.
	* ira.c (ira_setup_eliminable_regset): Likewise.
	* reginfo.c (init_reg_sets_1): Likewise.
	* regrename.c (rename_chains): Likewise.
	* reload1.c (reload): Likewise.
	(eliminate_regs_in_insn): Likewise.
	* resource.c (mark_referenced_resources): Likewise.
	(init_resource_info): Likewise.

From-SVN: r222300
2015-04-22 00:44:54 +00:00
Trevor Saunders cbc7d031c4 provide default for MASK_RETURN_ADDR
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (MASK_RETURN_ADDR): New definition.
	* except.c (expand_builtin_extract_return_addr): Remove ifdef
	MASK_RETURN_ADDR.

From-SVN: r222299
2015-04-22 00:44:48 +00:00
Trevor Saunders a8a6b3dfd3 provide default for RETURN_ADDR_OFFSET
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (RETURN_ADDR_OFFSET): New definition.
	* except.c (expand_builtin_extract_return_addr): Remove ifdef
	RETURN_ADDR_OFFSET.
	(expand_builtin_frob_return_addr): Likewise.

From-SVN: r222298
2015-04-22 00:44:43 +00:00
Trevor Saunders 058eb3b07a make some HAVE_cc0 code always compiled
gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
	(try_redirect_by_replacing_jump): Likewise.
	(rtl_tidy_fallthru_edge): Likewise.
	* combine.c (insn_a_feeds_b): Likewise.
	(find_split_point): Likewise.
	(simplify_set): Likewise.
	* cprop.c (cprop_jump): Likewise.
	* cse.c (cse_extended_basic_block): Likewise.
	* df-problems.c (can_move_insns_across): Likewise.
	* function.c (emit_use_return_register_into_block): Likewise.
	* haifa-sched.c (sched_init): Likewise.
	* ira.c (find_moveable_pseudos): Likewise.
	* loop-invariant.c (find_invariant_insn): Likewise.
	* lra-constraints.c (curr_insn_transform): Likewise.
	* postreload.c (reload_combine_recognize_const_pattern):
	* Likewise.
	* reload.c (find_reloads): Likewise.
	* reorg.c (delete_scheduled_jump): Likewise.
	(steal_delay_list_from_target): Likewise.
	(steal_delay_list_from_fallthrough): Likewise.
	(redundant_insn): Likewise.
	(fill_simple_delay_slots): Likewise.
	(fill_slots_from_thread): Likewise.
	(delete_computation): Likewise.
	* sched-rgn.c (add_branch_dependences): Likewise.

From-SVN: r222297
2015-04-22 00:44:37 +00:00