Commit Graph

134540 Commits

Author SHA1 Message Date
Jan Hubicka d142079af3 re PR ipa/63671 (21% tramp3d-v4 performance hit due to -fdevirtualize)
PR ipa/63671
	* ipa-inline-transform.c (can_remove_node_now_p_1): Handle alises
	and -fno-devirtualize more carefully.
	(can_remove_node_now_p): Update.

From-SVN: r218024
2014-11-24 16:15:46 +00:00
Andrew Pinski 3f2012e495 re PR middle-end/63972 (shrink_wrap_symbol_ref_1.c fail with -mabi=ilp32 on aarch64)
2014-11-24  Andrew Pinski  <apinski@cavium.com>

        PR rtl-opt/63972
        * shrink-wrap.c (move_insn_for_shrink_wrap): Allow LO_SUM also.

From-SVN: r218023
2014-11-24 07:40:19 -08:00
Alan Lawrence 0b4eefd5a8 [AArch64]Add vec_shr pattern for 64-bit vectors using ush{l,r}; enable tests.
gcc/:
 
	* config/aarch64/aarch64-simd.md (vec_shr<mode>): New.

gcc/testsuite/:

	* lib/target-supports.exp (check_effective_target_whole_vector_shift):
	Add aarch64{,_be}.

From-SVN: r218022
2014-11-24 15:23:28 +00:00
Alan Lawrence d9e80f4944 [AArch64]Tidy up aarch64_simd_expand_args
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): 
        Refactor by combining switch statements and make arrays into scalars.

From-SVN: r218021
2014-11-24 15:15:20 +00:00
David Edelsohn cf6abd9d9f re PR c++/58561 ([c++11] ICE using declaration of function with auto in return type)
PR c++/58561
        * dbxout.c: Include stringpool.h
        (dbxout_type) [default]: Ignore auto type.

From-SVN: r218020
2014-11-24 09:59:52 -05:00
Richard Biener 8403c2cf5f re PR target/63679 ([AArch64] Failure to constant fold.)
2014-11-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/63679
	* tree-ssa-sccvn.c: Include ipa-ref.h, plugin-api.h and cgraph.h.
	(copy_reference_ops_from_ref): Fix non-constant ADDR_EXPR case
	to properly leave off at -1.
	(fully_constant_vn_reference_p): Generalize folding from
	constant initializers.
	(vn_reference_lookup_3): When looking through aggregate copies
	handle offsetted reads and try simplifying the result to
	a constant.
	* gimple-fold.h (fold_ctor_reference): Export.
	* gimple-fold.c (fold_ctor_reference): Likewise.

	* gcc.dg/tree-ssa/ssa-fre-42.c: New testcase.
	* gcc.dg/tree-ssa/20030807-5.c: Avoid folding read from global to zero.
	* gcc.target/i386/ssetype-1.c: Likewise.
	* gcc.target/i386/ssetype-3.c: Likewise.
	* gcc.target/i386/ssetype-5.c: Likewise.

From-SVN: r218019
2014-11-24 14:07:18 +00:00
Richard Biener 34a4625c52 re PR java/64044 (Java emits bogus .class$ decls)
2014-11-24  Richard Biener  <rguenther@suse.de>

	PR java/64004
	* class.c (build_classdollar_field): Do not set TREE_READONLY.

From-SVN: r218018
2014-11-24 14:02:36 +00:00
Jonathan Wakely 8be2ce257e re PR c++/63203 (Self-initialization of reference not diagnosed if it occurs within a loop)
/cp
2014-11-24  Jonathan Wakely  <jwakely@redhat.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63203
	* decl.c (initialize_local_var): Add -Winit-self warning for
	references initialized with themselves.

/testsuite
2014-11-24  Jonathan Wakely  <jwakely@redhat.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63203
	* g++.dg/warn/Winit-self-2.C: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r218017
2014-11-24 13:35:08 +00:00
Jason Merrill f9b1eec215 re PR c++/63942 (constexpr conflicts with previous declaration)
PR c++/63942
	* mangle.c (mangle_decl): If we aren't going to create a symbol
	alias, don't build the alias DECL either.

From-SVN: r218016
2014-11-24 07:49:08 -05:00
Petr Murzin 691b9fb7a2 simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge (vec_duplicate (vec_select)).
2014-11-24  Petr Murzin  <petr.murzin@intel.com>

gcc/
	* simplify-rtx.c (simplify_ternary_operation): Simplify
	vec_merge (vec_duplicate (vec_select)).

gcc/testsuite/
	* gcc.target/i386/extract-insert-combining.c: New test.

From-SVN: r218015
2014-11-24 12:00:54 +00:00
Kyrylo Tkachov d8354ad712 [AArch64][4/5] Implement fusion of ARDP+LDR
* config/aarch64/aarch64.c (AARCH64_FUSE_ADRP_LDR): Define.
	(cortexa53_tunings): Specify AARCH64_FUSE_ADRP_LDR in fuseable_ops.
	(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_ADRP_LDR.

From-SVN: r218014
2014-11-24 11:37:34 +00:00
Kyrylo Tkachov cd0cb23271 [AArch64][3/5] Implement fusion of MOVK+MOVK
* config/aarch64/aarch64.c (AARCH64_FUSE_MOVK_MOVK): Define.
	(cortexa53_tunings): Specify AARCH64_FUSE_MOVK_MOVK in fuseable_ops.
	(cortexa57_tunings): Likewise.
	(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_MOVK_MOVK.

From-SVN: r218013
2014-11-24 11:26:04 +00:00
Kyrylo Tkachov 892d9879a8 [sched-deps] Remove needless check for modified_in_p when trying to fuse two non-conditional jump insns
* sched-deps.c (sched_macro_fuse_insns): Do not check modified_in_p
	in the not conditional jump case.
	* doc/tm.texi (TARGET_SCHED_MACRO_FUSION_PAIR_P): Update description.
	* target.def (TARGET_SCHED_MACRO_FUSION_PAIR_P): Update description.

	* gcc.target/aarch64/fuse_adrp_add_1.c: New test.

From-SVN: r218012
2014-11-24 11:09:59 +00:00
Richard Biener a9a318b031 re PR testsuite/64039 (FAIL: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized "return 28;")
2014-11-24  Richard Biener  <rguenther@suse.de>

	PR testsuite/64039
	* gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL for hppa*-*-*.

From-SVN: r218011
2014-11-24 11:07:23 +00:00
Kyrylo Tkachov 9bbe08fea9 [AArch64][2/5] Implement adrp+add fusion
* config/aarch64/aarch64.c: Include tm-constrs.h
	(AARCH64_FUSE_ADRP_ADD): Define.
	(cortexa57_tunings): Add AARCH64_FUSE_ADRP_ADD to fuseable_ops.
	(cortexa53_tunings): Likewise.
	(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_ADRP_ADD.

From-SVN: r218010
2014-11-24 10:50:45 +00:00
Martin Liska f0e1509b85 [PATCH 2/2] ipa-inline uses sreal for as fibonacci_heap template
* ipa-inline.c (edge_badness): long is replaced by sreal
	as fibonacci_heap template type.
	(update_edge_key): Likewise.
	(inline_small_functions): Likewise.

From-SVN: r218009
2014-11-24 10:43:55 +00:00
Martin Liska fd27ffab14 [PATCH 1/2] Negative numbers added for sreal class.
* predict.c (propagate_freq): More elegant sreal API is used.
	(estimate_bb_frequencies): Precomputed constants replaced by integer
	constants.
	* sreal.c (sreal::normalize): New function.
	(sreal::to_int): Likewise.
	(sreal::operator+): Likewise.
	(sreal::operator-): Likewise.
	(sreal::signedless_plus): Likewise.
	(sreal::signedless_minus): Likewise.
	(sreal::operator/): Negative number support is added.
	* sreal.h: Definition of new functions added.
	(inline sreal operator<<): New function.
	(inline sreal operator>>): Likewise.

From-SVN: r218008
2014-11-24 10:41:18 +00:00
Kyrylo Tkachov 6a569cdda9 [AArch64][1/5] Implement TARGET_SCHED_MACRO_FUSION_PAIR_P
* config/aarch64/aarch64-protos.h (struct tune_params): Add
	fuseable_ops field.
	* config/aarch64/aarch64.c (generic_tunings): Specify fuseable_ops.
	(cortexa53_tunings): Likewise.
	(cortexa57_tunings): Likewise.
	(thunderx_tunings): Likewise.
	(aarch64_macro_fusion_p): New function.
	(aarch_macro_fusion_pair_p): Likewise.
	(TARGET_SCHED_MACRO_FUSION_P): Define.
	(TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
	(AARCH64_FUSE_MOV_MOVK): Likewise.
	(AARCH64_FUSE_NOTHING): Likewise.

From-SVN: r218007
2014-11-24 10:37:30 +00:00
Martin Liska a3dc1a4518 re PR lto/63968 (175.vpr from cpu2000 fails to build with LTO)
PR lto/63968

        * bb-reorder.c (find_traces_1_round): decreate_key is replaced
	with replace_key method.
	* fibonacci_heap.h (fibonacci_heap::insert): New argument.
	(fibonacci_heap::replace_key_data): Likewise.
	(fibonacci_heap::replace_key): New method that can even increment key,
	this operation costs O(log N).
	(fibonacci_heap::extract_min): New argument.
	(fibonacci_heap::delete_node): Likewise.

From-SVN: r218006
2014-11-24 10:25:06 +00:00
Richard Biener aa09816577 re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization))
2014-11-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/55334
	* function.h (struct function): Add last_clique member.
	* tree-inline.c (remap_dependence_clique): New function.
	(remap_gimple_op_r): Remap dependence cliques in MEM_REFs.
	(copy_tree_body_r): Likewise.
	(copy_cfg_body): Free dependence map.
	(copy_gimple_seq_and_replace_locals): Likewise.
	* tree-pretty-print.c (dump_generic_node): Dump
	dependence info.
	* tree-ssa-alias.c (refs_may_alias_p_1): Use dependence info
	to answer alias query.
	* tree-ssa-structalias.c: Include tree-phinodes.h, ssa-iterators.h,
	tree-pretty-print.h and gimple-walk.h.
	(struct variable_info): Add is_restrict_var flag and ruid
	member.
	(new_var_info): Initialize is_restrict_var.
	(make_constraint_from_restrict): Likewise.
	(create_variable_info_for): Exclude restricts from global vars
	from new handling.
	(intra_create_variable_infos): But not those from parameters.
	(visit_loadstore): New function.
	(maybe_set_dependence_info): Likewise.
	(compute_dependence_clique): Likewise.
	(compute_may_aliases): Call compute_dependence_clique.
	* tree-data-ref.c (dr_analyze_indices): Copy dependence info
	to fake MEM_REF.
	(dr_may_alias_p): Use recorded dependence info to answer
	alias query.
	* tree-core.h (struct tree_base): Add clique, base struct in
	union.
	* tree.h (MR_DEPENDENCE_CLIQUE): New macro.
	(MR_DEPENDENCE_BASE): Likewise.
	* tree-inline.h (dependence_hasher): New hash-map kind.
	(struct copy_body_data): Add dependence_map pointer.
	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Avoid
	throwing away dependence info.
	* tree-streamer-in.c (unpack_value_fields): Stream dependence info.
	* tree-streamer-out.c (streamer_pack_tree_bitfields): Likewise.

	* gcc.dg/tree-ssa/restrict-5.c: New testcase.

From-SVN: r218005
2014-11-24 09:24:50 +00:00
Richard Biener f3dccf5091 re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization))
2014-11-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/55334
	* function.h (struct function): Add last_clique member.
	* tree-inline.c (remap_dependence_clique): New function.
	(remap_gimple_op_r): Remap dependence cliques in MEM_REFs.
	(copy_tree_body_r): Likewise.
	(copy_cfg_body): Free dependence map.
	(copy_gimple_seq_and_replace_locals): Likewise.
	* tree-pretty-print.c (dump_generic_node): Dump
	dependence info.
	* tree-ssa-alias.c (refs_may_alias_p_1): Use dependence info
	to answer alias query.
	* tree-ssa-structalias.c: Include tree-phinodes.h, ssa-iterators.h,
	tree-pretty-print.h and gimple-walk.h.
	(struct variable_info): Add is_restrict_var flag and ruid
	member.
	(new_var_info): Initialize is_restrict_var.
	(make_constraint_from_restrict): Likewise.
	(create_variable_info_for): Exclude restricts from global vars
	from new handling.
	(intra_create_variable_infos): But not those from parameters.
	(visit_loadstore): New function.
	(maybe_set_dependence_info): Likewise.
	(compute_dependence_clique): Likewise.
	(compute_may_aliases): Call compute_dependence_clique.
	* tree-data-ref.c (dr_analyze_indices): Copy dependence info
	to fake MEM_REF.
	(dr_may_alias_p): Use recorded dependence info to answer
	alias query.
	* tree-core.h (struct tree_base): Add clique, base struct in
	union.
	* tree.h (MR_DEPENDENCE_CLIQUE): New macro.
	(MR_DEPENDENCE_BASE): Likewise.
	* tree-inline.h (dependence_hasher): New hash-map kind.
	(struct copy_body_data): Add dependence_map pointer.
	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Avoid
	throwing away dependence info.
	* tree-streamer-in.c (unpack_value_fields): Stream dependence info.
	* tree-streamer-out.c (streamer_pack_tree_bitfields): Likewise.

	* gcc.dg/tree-ssa/restrict-5.c: New testcase.

From-SVN: r218004
2014-11-24 09:24:26 +00:00
Eric Botcazou 8f901c12f4 * gcc-interface/Makefile.in (Cygwin/Mingw): Fix previous change.
From-SVN: r218003
2014-11-24 09:18:38 +00:00
Trevor Saunders 013d933371 Add missing entry
From-SVN: r218002
2014-11-24 08:47:41 +00:00
Paolo Carlini 45410641f3 re PR c++/63905 (redundant fields left in gcc/cp/cp-tree.h:lang_decl_fn)
2014-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63905
	* cp-tree.h (lang_decl_fn): Remove constructor_attr, destructor_attr.

From-SVN: r218001
2014-11-24 08:36:32 +00:00
Eric Botcazou d864aeebbc trans.c (build_return_expr): Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object.
* gcc-interface/trans.c (build_return_expr): Use INIT_EXPR instead of
	MODIFY_EXPR to assign to the return object.
	(finalize_nrv_r): Adjust to above change.
	(finalize_nrv_unc_r): Likewise.

From-SVN: r218000
2014-11-24 08:34:01 +00:00
Eric Botcazou 90b4c164f4 trans.c (push_range_check_info): Replace early test with assertion.
* gcc-interface/trans.c (push_range_check_info): Replace early test
	with assertion.
	(Raise_Error_to_gnu): Do not call push_range_check_info if the loop
	stack is empty.
	* gcc-interface/utils.c (convert_to_fat_pointer): Fix formatting.
	* gcc-interface/utils2.c (gnat_invariant_expr): Deal with padded types
	and revert latest change.

From-SVN: r217998
2014-11-24 08:18:40 +00:00
Tobias Burnus 29e0597e25 error.c (gfc_fatal_error_1): Remove.
2014-11-24  Tobias Burnus  <burnus@net-b.de>

        * error.c (gfc_fatal_error_1): Remove.
        * gfortran.h (gfc_fatal_error_1): Remove.
        * check.c (check_co_collective): Change gfc_fatal_error_1 to
        gfc_fatal_error.
        * match.c (gfc_match_name): Ditto.
        * trans-array.c (gfc_conv_array_initializer): Ditto.
        * trans-stmt.c (gfc_trans_sync): Ditto.

2014-11-24  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/dollar_sym_3.f: Update dg-error.
        * gfortran.dg/dollar_sym_3.f: Ditto.

From-SVN: r217997
2014-11-24 08:47:46 +01:00
David Edelsohn c6a4ed03be pr46799.c: XFAIL on AIX.
* gcc.dg/autopar/pr46799.c: XFAIL on AIX.
        * gcc.dg/torture/pr59166.c: XFAIL on AIX.
        * gcc.dg/pr63914.c: Ignore non-standard ABI warning.
        * gcc.dg/pr63594-[12].c: Ignore non-standard ABI warning.

From-SVN: r217996
2014-11-23 20:59:38 -05:00
GCC Administrator 626460a47f Daily bump.
From-SVN: r217995
2014-11-24 00:16:28 +00:00
Manuel López-Ibáñez a96c39eaa1 re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
gcc/fortran/ChangeLog:

2014-11-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR fortran/44054
	* decl.c (gfc_verify_c_interop_param): Use gfc_error_now_2.
	(gfc_set_constant_character_len): Use gfc_warning_now_2.
	* resolve.c (resolve_ordinary_assign): Likewise.
	* gfortran.h (warn_character_truncation): Do not declare here.
	* error.c (gfc_format_decoder): Handle %L.
	* lang.opt (Wcharacter-truncation): Add Var and LangEnabledBy.
	* options.c (gfc_init_options): Do not handle
	warn_character_truncation explicitly.
	(set_Wall): Likewise.
	(gfc_handle_option): Likewise.

From-SVN: r217992
2014-11-23 23:47:42 +00:00
Trevor Saunders 875d4ba745 pr63856 - test case
From-SVN: r217991
2014-11-23 22:24:59 +00:00
Tobias Burnus 4b76ea71d1 invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that -Wtabs enables the warning.
2014-11-23  Tobias Burnus  <burnus@net-b.de>

        * invoke.texi (-Wtabs): Swap -Wtabs/-Wno-tabs now that
        -Wtabs enables the warning.

From-SVN: r217990
2014-11-23 23:02:38 +01:00
Oleg Endo abf64717ad Fix ChangeLog formatting.
From-SVN: r217988
2014-11-23 21:20:13 +00:00
Oleg Endo 8be6500b53 re PR target/53976 ([SH] Unnecessary clrt/sett after bt/bf)
gcc/
	PR target/53976
	* config/sh/sh_optimize_sett_clrt.cc
	(sh_optimize_sett_clrt::find_last_ccreg_values): Return bool instead
	of void.  Abort at complex edges.
	(sh_optimize_sett_clrt::execute): Do nothing if find_last_ccreg_values
	returned false.

From-SVN: r217987
2014-11-23 21:16:26 +00:00
Tobias Burnus bc1b9ef151 error.c (gfc_diagnostic_build_prefix): Correct coloring of the colon of the prefix.
2014-11-23  Tobias Burnus  <burnus@net-b.de>

        * error.c (gfc_diagnostic_build_prefix): Correct coloring
        of the colon of the prefix.

From-SVN: r217986
2014-11-23 21:35:14 +01:00
Tobias Burnus 16db2a6aa7 gfortran.h (gfc_option_t): Remove warn_tabs.
2014-11-23  Tobias Burnus  <burnus@net-b.de>
        Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/fortran/
        * gfortran.h (gfc_option_t): Remove warn_tabs.
        * lang.opt (Wpedantic): Add.
        (Wtabs): Use Var and LangEnabledBy.
        * options.c (gfc_init_options, gfc_post_options,
        set_Wall): Remove -Wtabs handling.
        (gfc_handle_option): Update -std=, remove OPT_Wtabs.
        * scanner.c (gfc_gobble_whitespace): Update for
        flag-variable renaming.
        (load_line): Ditto. Pass warn flag to diagnostic.

gcc/testsuite/
        * gfortran.dg/tab_continuation.f: Update dg-*.


Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r217985
2014-11-23 18:14:10 +01:00
Andrew Pinski 5e383359ea 20120927-1.c: New testcase.
2014-11-23  Andrew Pinski  <apinski@cavium.com>

        * gcc.c-torture/compile/20120927-1.c: New testcase.
        * gcc.c-torture/compile/20120830-1.c: New testcase.

From-SVN: r217982
2014-11-23 04:30:24 -08:00
Andrew Pinski 6a93d42ad8 initlist-lifetime1.C: Fix testcase where argc is always greater than 1 (octeon simulator).
2014-11-22  Andrew Pinski  <apinski@cavium.com>

        * g++.dg/cpp0x/initlist-lifetime1.C: Fix testcase where
        argc is always greater than 1 (octeon simulator).
        * g++.dg/cpp0x/initlist-lifetime2.C: Likewise.

From-SVN: r217979
2014-11-22 21:30:26 -08:00
GCC Administrator 0046bb1ed8 Daily bump.
From-SVN: r217978
2014-11-23 00:16:29 +00:00
Andrew Pinski af5d6309eb 2014-11-22 Andrew Pinski <apinski@cavium.com>
PR target/63971
        * gcc.target/aarch64/test_frame_1.c: Expect only two loads of
        x30 (in the epilogue).
        * gcc.target/aarch64/test_frame_6.c: Likewise.
        * gcc.target/aarch64/test_frame_2.c: Expect only one pair load of
        x30 and x19 (in the epilogue).
        * gcc.target/aarch64/test_frame_4.c: Likewise.
        * gcc.target/aarch64/test_frame_7.c: Likewise.

From-SVN: r217975
2014-11-22 15:41:26 -08:00
John David Anglin 7b5216ddac Commit missing change log entries.
From-SVN: r217974
2014-11-22 21:12:47 +00:00
Jan Hubicka 4ad08ee838 ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones as having abstract origin used.
* ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones
	as having abstract origin used.
	* ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract origin check.
	(clone_inlined_nodes): Copy abstract originflag.
	* lto-cgraph.c (compute_ltrans_boundary): Use get_create to get abstract origin node.

From-SVN: r217973
2014-11-22 21:08:07 +00:00
John David Anglin 2d3a20632b re PR other/63694 (Build error compiling asan.c: strtoull undeclared)
PR other/63694
	* libiberty/configure.ac: Check for strtol, strtoul, strtoll and strtoull
	declarations.
	* libiberty/configure: Regenerated.
	* gcc/configure.ac: Check for strtol, strtoul, strtoll and strtoull
	declarations.
	* gcc/configure: Regenerated.
	* gcc/config.in: Regenerated.

From-SVN: r217972
2014-11-22 20:53:36 +00:00
Uros Bizjak c1b4f9c6ec params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
* params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
	* config/i386/i386.c (ix86_option_override_internal): Do not increase
	PARAM_MAX_COMPLETELY_PEELED_INSNS.

From-SVN: r217971
2014-11-22 20:02:12 +01:00
Oleg Endo 10f916167c re PR target/63783 ([SH] Miscompilation of boolean negation on SH4 using -O2)
gcc/
	PR target/63783
	PR target/51244
	* config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
	Do not emit bitwise not insn.  Emit logical not insn sequence instead.
	Adjust related comments throughout the file.

gcc/testsuite/
	PR target/63783
	PR target/51244
	* gcc.target/sh/torture/pr63783-1.c: New.
	* gcc.target/sh/torture/pr63783-2.c: New.
	* gcc.target/sh/pr51244-20.c: Adjust.
	* gcc.target/sh/pr51244-20-sh2a.c: Adjust.

From-SVN: r217969
2014-11-22 15:50:10 +00:00
Oleg Endo 355e99758b re PR target/63986 ([SH] gcc.target/sh/pr51244-15.c failures)
gcc/
	PR target/63986
	PR target/51244
	* config/sh/sh.c (sh_is_logical_t_store_expr,
	sh_try_omit_signzero_extend): Use rtx_insn* for insn argument.
	(sh_split_movrt_negc_to_movt_xor): New function.
	(sh_find_set_of_reg): Move to ...
	* config/sh/sh-protos.h (sh_find_set_of_reg): ... here and convert
	to template function.
	(set_of_reg): Use rtx_insn* for insn member.
	(sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Use
	rtx_insn* for insn argument.
	* config/sh/sh.md (movrt_negc, *movrt_negc): Split into movt-xor
	sequence using new sh_split_movrt_negc_to_movt_xor function.
	(movrt_xor): Allow also for SH2A.
	(*movt_movrt): Delete insns and splits.

From-SVN: r217968
2014-11-22 15:06:34 +00:00
Marc Glisse 9ce85efc60 re PR tree-optimization/60770 (disappearing clobbers)
2014-11-22  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/60770
	* tree-sra.c (clobber_subtree): New function.
	(sra_modify_constructor_assign): Call it.

From-SVN: r217967
2014-11-22 14:28:19 +00:00
Tobias Burnus 5d26fda334 trans-expr.c (gfc_caf_get_image_index): Fix image calculation.
gcc/fortran/
2014-11-22  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_caf_get_image_index): Fix image calculation.

gcc/testsuite/
2014-11-22  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/cosubscript_1.f90: New.

From-SVN: r217966
2014-11-22 15:14:35 +01:00
Eric Botcazou 19f51f28fc trans.c (Call_to_gnu): Strip unchecked conversions on actuals of In parameters if...
* gcc-interface/trans.c (Call_to_gnu): Strip unchecked conversions on
	actuals of In parameters if the destination type is an unconstrained
	composite type.

From-SVN: r217965
2014-11-22 12:23:47 +00:00
Eric Botcazou 5e0f1fca62 trans.c (gnat_gimplify_expr): Add 'type' variable.
* gcc-interface/trans.c (gnat_gimplify_expr): Add 'type' variable.
	<case NULL_EXPR>: Deal with unconstrained array types and use 'type'.
	<case ADDR_EXPR>: Use 'type'.
	<case DECL_EXPR>: Likewise.

From-SVN: r217964
2014-11-22 12:15:53 +00:00