Commit Graph

137607 Commits

Author SHA1 Message Date
Yvan Roux c55d8b0bee arm.md (*arm_subsi3_insn): Fixed redundant alternatives.
2015-04-27  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
	alternatives.

From-SVN: r222453
2015-04-27 09:08:11 +00:00
GCC Administrator 70581f5a90 Daily bump.
From-SVN: r222452
2015-04-27 00:16:19 +00:00
Tom de Vries b8b2ab0621 Mark ifn_va_arg as ECF_LEAF
2015-04-26  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65826
	* internal-fn.def: Mark VA_ARG with ECF_LEAF.

From-SVN: r222446
2015-04-26 07:13:13 +00:00
GCC Administrator 822f686d3f Daily bump.
From-SVN: r222444
2015-04-26 00:16:22 +00:00
Marek Polacek 6c1db78eca re PR c/52085 (incomplete enum not completed correctly if packed was used)
PR c/52085
	* c-decl.c (finish_enum): Copy over TYPE_ALIGN.  Also check for "mode"
	attribute.

	* gcc.dg/enum-incomplete-2.c: New test.
	* gcc.dg/enum-mode-1.c: New test.

From-SVN: r222440
2015-04-25 10:12:01 +00:00
GCC Administrator 5962171edd Daily bump.
From-SVN: r222438
2015-04-25 00:16:18 +00:00
Steve Ellcey 7f8dede8d9 mips.md: (*madd4<mode>) Remove accum_in attribute.
2015-04-24  Steve Ellcey  <sellcey@imgtec.com>

	* config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
	(*madd3<mode>): Ditto.
	(*msub4<mode>): Ditto.
	(*msub3<mode>): Ditto.
	(*nmadd4<mode>): Ditto.
	(*nmadd3<mode>): Ditto.
	(*nmadd4<mode>_fastmath): Ditto.
	(*nmadd3<mode>_fastmath): Ditto.
	(*nmsub4<mode>): Ditto.
	(*nmsub3<mode>): Ditto.
	(*nmsub4<mode>_fastmath): Ditto.
	(*nmsub3<mode>_fastmath): Ditto.

From-SVN: r222432
2015-04-24 23:07:53 +00:00
Ian Lance Taylor bddc11a8ff re PR go/65616 (libgobegin.a not compiled with -fPIC)
PR go/65616
libgo: Compile go-main, in libgobegin, with -fPIC.

From-SVN: r222431
2015-04-24 22:08:32 +00:00
Jason Merrill 67739d3bd5 re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
	* g++.dg/ext/alias-canon2.C: Remove clashing fn definitions.

From-SVN: r222426
2015-04-24 16:53:28 -04:00
Jason Merrill c6f044f766 re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
gcc/
	* tree.c (build_reference_type_for_mode): Don't pass can_alias_all
	down when building TYPE_CANONICAL.
	(build_pointer_type_for_mode): Likewise.
gcc/cp/
	* typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL.

From-SVN: r222419
2015-04-24 15:11:45 -04:00
Chen Gang 6f96dcebb2 genrecog.c (validate_pattern): Check matching constraint refers to a lower numbered operand.
* genrecog.c (validate_pattern): Check matching constraint refers
        to a lower numbered operand.

From-SVN: r222418
2015-04-24 12:40:43 -06:00
Michael Meissner 6d7d9f0eae re PR target/65849 (Add missing tuning knobs to #pragma target/attribute target support)
[gcc]
2015-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/65849
	* config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
	save to independent variables use the Save attribute.  This will
	allow these options to be modified with the #pragma/attribute
	target support.
	(-mallow-movmisalign): Likewise.
	(-mallow-df-permute): Likewise.
	(-msched-groups): Likewise.
	(-malways-hint): Likewise.
	(-malign-branch-targets): Likewise.
	(-mvectorize-builtins): Likewise.
	(-msave-toc-indirect): Likewise.

	* config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
	can be set via the #pragma/attribute target support.
	(rs6000_opt_vars): Likewise.
	(rs6000_inner_target_options): If VSX was set, also set
	-mno-avoid-indexed-addresses.

[gcc/testsuite]
2015-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/65849
	* gcc.target/powerpc/pr65849-1.c: New test to verify being able to
	set new options.
	* gcc.target/powerpc/pr65849-2.c: Likewise.

From-SVN: r222417
2015-04-24 17:24:05 +00:00
Kyrylo Tkachov 728dc15380 [ARM][trivial] Use uppercase for code iterator names
* config/arm/iterators.md (shiftable_ops): Rename to...
	(SHIFTABLE_OPS): ... This.  Update use in comments.
	(ior_xor): Rename to...
	(IOR_XOR): ... This.
	(vqh_ops): Rename to...
	(VQH_OPS): ... This.
	(vqhs_ops): Rename to...
	(VQHS_OPS): ... This.
	(rshifts): Rename to...
	(RSHIFTS): ... This.
	(returns): Rename to...
	(RETURNS): ... This.
	* config/arm/arm.md: Update uses of the above.
	* config/arm/neon.md: Likewise.

From-SVN: r222416
2015-04-24 15:01:32 +00:00
Kyrylo Tkachov 7e1bcce371 [AArch64] Implement -m{cpu,tune,arch}=native using only /proc/cpuinfo
* config.host (case ${host}): Add aarch64*-*-linux case.
	* config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
	fields to all the cores.
	* config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
	Add MCPU_MTUNE_NATIVE_SPECS.
	* config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
	field to all extensions.
	* config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
	* config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
	Adjust definition of AARCH64_OPT_EXTENSION.
	* config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
	(MCPU_MTUNE_NATIVE_SPECS): Define.
	* config/aarch64/driver-aarch64.c: New file.
	* config/aarch64/x-arch64: New file.
	* doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
	-mtune and -march.

From-SVN: r222415
2015-04-24 14:52:47 +00:00
Jason Merrill f8815f7a48 constexpr.c (potential_constant_expression_1): Remove obsolete code.
* constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
	Remove obsolete code.
	[NE_EXPR]: Likewise.

From-SVN: r222414
2015-04-24 10:50:51 -04:00
Tom de Vries 1c3f3851dd Replace g++.dg/pr65802.C with gcc.dg/pr65802.c
2015-04-24  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65802
	* g++.dg/pr65802.C: Move to ...
	* gcc.dg/pr65802.c: ... here.  Add -fexceptions to dg-options. Include
	stdarg.h.  Rewrite for C.
	(fn1): Use va_list and va_arg.  Make variable args function.  Add use of
	va_start and va_end.  Remove unnecessary inline asm.

From-SVN: r222413
2015-04-24 14:18:57 +00:00
Uros Bizjak 97afef00ba i386-protos.h (ix86_operands_ok_for_move_multiple): New.
* config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
	* config/i386/i386.c (extract_base_offset_in_addr): New function.
	(ix86_operands_ok_for_move_multiple): Ditto.
	* config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
	(movlpd/movhpd to movupd peephole2): Ditto.

testsuite/ChangeLog:

	* gcc.target/i386/sse2-load-multi.c: New test.
	* gcc.target/i386/sse2-store-multi.c: Ditto.


Co-Authored-By: Wei Mi <wmi@google.com>

From-SVN: r222410
2015-04-24 15:05:50 +02:00
Marek Polacek 8c2b7f7972 re PR c/63357 (Warn for P && P and P || P (same expression used multiple times in a condition))
PR c/63357
	* c-common.c (warn_logical_operator): Warn if the operands have the
	same expressions.

	* doc/invoke.texi: Update description of -Wlogical-op.

	* c-c++-common/Wlogical-op-1.c: New test.

From-SVN: r222408
2015-04-24 12:10:52 +00:00
Marek Polacek 4853031ec8 re PR c/65830 (-Wno-shift-count-negative -Wno-shift-count-overflow don't work with const ints)
PR c/65830
	* c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
	and OPT_Wshift_count_overflow.

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

From-SVN: r222407
2015-04-24 11:53:27 +00:00
Marek Polacek b878781346 re PR c/61534 (Wlogical-op should not warn when either operand comes from macro expansion)
PR c/61534
	* input.h (from_macro_expansion_at): Define.

	* c-common.c (warn_logical_operator): Bail if either operand comes
	from a macro expansion.

	* c-c++-common/pr61534-1.c: New test.

From-SVN: r222406
2015-04-24 11:49:52 +00:00
Uros Bizjak 841e98017e sse.md (*vec_widen_smult_even_v8si<mask_name>): Mark operand1 commutative.
* config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
	Mark operand1 commutative.

From-SVN: r222403
2015-04-24 09:43:42 +02:00
Thomas Preud'homme 6a61f9bf33 unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix ternary operator in fprintf and harmonize spacing.
2015-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
    ternary operator in fprintf and harmonize spacing.

From-SVN: r222401
2015-04-24 06:02:10 +00:00
Uros Bizjak ee768d85a8 sse.md (*vec_concatv2sf_sse4_1): Do not allow both input operands in memory.
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
	input operands in memory.
	(*vec_concatv2si_sse4_1): Ditto.
	(*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
	(vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
	register_operand.
	(vec_extract_hi_v32hi): Ditto.
	(vec_extract_hi_v64hi): Ditto.
	(<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.

From-SVN: r222400
2015-04-24 08:01:34 +02:00
Thomas Preud'homme 8fceae614f re PR rtl-optimization/34503 (Issues with constant/copy propagation implementation in gcse.c)
2015-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
            Steven Bosscher <steven@gcc.gnu.org>

    gcc/
    PR rtl-optimization/34503
    * cprop.c (cprop_reg_p): New.
    (hash_scan_set): Use above function to check if register can be
    propagated.
    (find_avail_set): Return up to two sets, one whose source is a
    register and one whose source is a constant.  Sets are returned in an
    array passed as parameter rather than as a return value.
    (cprop_insn): Use a do while loop rather than a goto.  Try each of the
    sets returned by find_avail_set, starting with the one whose source is
    a constant. Use cprop_reg_p to check if register can be propagated.
    (do_local_cprop): Use cprop_reg_p to check if register can be
    propagated.
    (implicit_set_cond_p): Likewise.

    gcc/testsuite/
    PR rtl-optimization/34503
    * gcc.target/arm/pr64616.c: New file.

Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>

From-SVN: r222398
2015-04-24 04:49:34 +00:00
Bin Cheng 62d47a8827 pr42172-1.c: Check str instead of ldr.
gcc/testsuite/ChangeLog
	* gcc.target/arm/pr42172-1.c: Check str instead of ldr.

From-SVN: r222396
2015-04-24 03:44:53 +00:00
Terry Guo ea39708ac1 pr65710.c: Update the options.
2015-04-24  Terry Guo  <terry.guo@arm.com>

	* gcc.target/arm/pr65710.c: Update the options.

From-SVN: r222393
2015-04-24 02:07:30 +00:00
Jan Hubicka fb5c322ed1 ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
* ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
	(sem_function::equals): IGNORED_NODES parameter is now unused;
	update call of equals_private.
	(sem_function::equals_private): Do not call equals_wpa; skip
	gimple body matching if there is no body.
	(sem_function::init): Add logic to hash tthunk info.
	(sem_function::parse): Also parse thunks.
	* ipa-icf.h (equals_private): Update declaration.

From-SVN: r222392
2015-04-24 00:58:25 +00:00
GCC Administrator b3b80089c2 Daily bump.
From-SVN: r222391
2015-04-24 00:16:16 +00:00
Bill Schmidt b9e2e732a2 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
2015-04-23 20:18:10 +00:00
Jason Merrill bb7ec730fe Revert:PR c++/50800
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
2015-04-23 15:40:16 -04:00
H.J. Lu 98ff5bf959 Skip gcc.target/i386/pr65523.c for x32
* gcc.target/i386/pr65523.c: Skip x32.

From-SVN: r222382
2015-04-23 11:11:57 -07:00
Bill Schmidt 532ac1c1e7 rs6000.opt (mcrypto): Change option description to match category changes in ISA 2.07B.
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
2015-04-23 18:07:02 +00:00
Jan Hubicka 0b5751c240 tree.h (attribute_value_equal): Declare.
* tree.h (attribute_value_equal): Declare.
	* tree.c (attribute_value_equal): Export.

From-SVN: r222380
2015-04-23 16:23:26 +00:00
Kyrylo Tkachov 381811fa30 [ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECs
* 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
2015-04-23 16:19:26 +00:00
Jan Hubicka 14336fe34b Fix testuite for updated ICF dumps.
From-SVN: r222378
2015-04-23 16:07:43 +00:00
Jason Merrill b88fa2656b 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
2015-04-23 11:55:21 -04:00
Jason Merrill 6c28362134 re PR c++/65646 (ICE in invalid syntax)
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
2015-04-23 11:55:11 -04:00
Ramana Radhakrishnan 2667715244 Correct name and email address in the Changelog commit.
From-SVN: r222375
2015-04-23 15:30:50 +00:00
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