1. 24 Apr, 2015 18 commits
  2. 23 Apr, 2015 22 commits
    • altivec.md (*altivec_lvx_<mode>_internal): Remove asterisk from name so this can… · b9e2e732
      altivec.md (*altivec_lvx_<mode>_internal): Remove asterisk from name so this can be generated directly.
      
      2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
      	asterisk from name so this can be generated directly.
      	(*altivec_stvx_<mode>_internal): Likewise.
      	* config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
      	that this is never called during or after reload/lra.
      	(rs6000_frame_related): Remove split_reg
      	argument and logic that references it.
      	(emit_frame_save): Remove last parameter from call to
      	rs6000_frame_related.
      	(rs6000_emit_prologue): Remove last parameter from eight calls to
      	rs6000_frame_related.  Force generation of stvx instruction for
      	Altivec register saves.  Remove split_reg handling, which is no
      	longer needed.
      	(rs6000_emit_epilogue):  Force generation of lvx instruction for
      	Altivec register restores.
      
      From-SVN: r222385
      Bill Schmidt committed
    • Revert:PR c++/50800 · bb7ec730
      Revert:PR c++/50800
             * tree.c (strip_typedefs): Add remove_attributes parm.
             (strip_typedefs_expr): Likewise.
             (apply_identity_attributes): New subroutine of strip_typedefs.
             * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
             (convert_nontype_argument, unify): Likewise.
             * cp-tree.h: Adjust.
      
      From-SVN: r222384
      Jason Merrill committed
    • Skip gcc.target/i386/pr65523.c for x32 · 98ff5bf9
      	* gcc.target/i386/pr65523.c: Skip x32.
      
      From-SVN: r222382
      H.J. Lu committed
    • rs6000.opt (mcrypto): Change option description to match category changes in ISA 2.07B. · 532ac1c1
      2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.opt (mcrypto): Change option description to
      	match category changes in ISA 2.07B.
      
      From-SVN: r222381
      Bill Schmidt committed
    • tree.h (attribute_value_equal): Declare. · 0b5751c2
      
      	* tree.h (attribute_value_equal): Declare.
      	* tree.c (attribute_value_equal): Export.
      
      From-SVN: r222380
      Jan Hubicka committed
    • [ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECs · 381811fa
      	* config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
      	iterators.
      	(cmp_op, cmp_type): New code attributes.
      	(NEON_VCMP, NEON_VACMP): New int iterators.
      	(cmp_op_unsp): New int attribute.
      	* config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
      	(neon_vceq<mode>): Delete.
      	(neon_vc<cmp_op><mode>_insn): New pattern.
      	(neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
      	(neon_vcgeu<mode>): Delete.
      	(neon_vcle<mode>): Likewise.
      	(neon_vclt<mode>: Likewise.
      	(neon_vcage<mode>): Likewise.
      	(neon_vcagt<mode>): Likewise.
      	(neon_vca<cmp_op><mode>): New define_expand.
      	(neon_vca<cmp_op><mode>_insn): New pattern.
      	(neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
      
      	* gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns
      	to look for vcl* where appropriate.
      
      From-SVN: r222379
      Kyrylo Tkachov committed
    • Fix testuite for updated ICF dumps. · 14336fe3
      From-SVN: r222378
      Jan Hubicka committed
    • re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly… · b88fa265
      re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
      
      	PR c++/50800
      	* tree.c (strip_typedefs): Add remove_attributes parm.
      	(strip_typedefs_expr): Likewise.
      	(apply_identity_attributes): New subroutine of strip_typedefs.
      	* pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
      	(convert_nontype_argument, unify): Likewise.
      	* cp-tree.h: Adjust.
      
      From-SVN: r222377
      Jason Merrill committed
    • re PR c++/65646 (ICE in invalid syntax) · 6c283621
      	PR c++/65646
      	* pt.c (check_explicit_specialization): Don't
      	SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template
      	headers.
      	* decl.c (grokvardecl): Revert earlier fix.
      
      From-SVN: r222376
      Jason Merrill committed
    • ipa-icf.c (sem_item::compare_attributes): New function. · b3587b99
      
      	* 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
      Jan Hubicka committed
    • costmodel-bb-slp-9a.c: Replace vect_no_align with vect_no_align && { ! vect_hw_misalign }. · 9f468990
      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
      Bill Schmidt committed
    • ipa-icf.c (symbol_compare_collection::symbol_compare_collection): cleanup. · 977b01e3
      
      	* 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
      Jan Hubicka committed
    • re PR target/26702 (.size is not emitted for BSS variables) · 4cf02238
      Fix PR target/26702
      
      For Kwok Cheung Yeung.
      
      From-SVN: r222371
      Ramana Radhakrishnan committed
    • re PR c/65345 (ICE with _Generic selection on _Atomic int) · 5c4abbb8
      	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
      Marek Polacek committed
    • rl78.c (rl78_preferred_reload_class): Add ATTRIBUTE_UNUSED to x parameter. · 0f9b95df
      	* 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
      Nick Clifton committed
    • crypto.md (crypto_vpmsum<CR_char>): Change TARGET_CRYPTO to TARGET_P8_VECTOR> · 6895fffb
      [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
      Bill Schmidt committed
    • PF fortran/60322 · f3b0bb7a
      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
      Andre Vehreschild committed
    • passes.def: Remove copy propagation passes run directly after CCP. · eff973a2
      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
      Richard Biener committed
    • [ARM] Remove an unused reload hook. · e4949e1d
      	* 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
      Matthew Wahab committed
    • Re: [PATCH 02/12] remove some ifdef HAVE_cc0. · 8778aed7
      	* conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
      
      From-SVN: r222358
      Kyrylo Tkachov committed
    • [ARM] Restrict {load,store}_multiple expanders to MAX_LD_STM_OPS regs · f5ee50a5
      	* config/arm/arm.md (load_multiple): Reject operand 2 greater than
      	MAX_LDM_STM_OPS.
      	(store_multiple): Likewise.
      
      From-SVN: r222357
      Kyrylo Tkachov committed