1. 24 Nov, 2014 23 commits
    • re PR java/64044 (Java emits bogus .class$ decls) · 34a4625c
      2014-11-24  Richard Biener  <rguenther@suse.de>
      
      	PR java/64004
      	* class.c (build_classdollar_field): Do not set TREE_READONLY.
      
      From-SVN: r218018
      Richard Biener committed
    • re PR c++/63203 (Self-initialization of reference not diagnosed if it occurs within a loop) · 8be2ce25
      /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
      Jonathan Wakely committed
    • re PR c++/63942 (constexpr conflicts with previous declaration) · f9b1eec2
      	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
      Jason Merrill committed
    • simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge (vec_duplicate (vec_select)). · 691b9fb7
      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
      Petr Murzin committed
    • [AArch64][4/5] Implement fusion of ARDP+LDR · d8354ad7
      	* 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
      Kyrylo Tkachov committed
    • [AArch64][3/5] Implement fusion of MOVK+MOVK · cd0cb232
      	* 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
      Kyrylo Tkachov committed
    • [sched-deps] Remove needless check for modified_in_p when trying to fuse two… · 892d9879
      [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
      Kyrylo Tkachov committed
    • re PR testsuite/64039 (FAIL: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized "return 28;") · a9a318b0
      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
      Richard Biener committed
    • [AArch64][2/5] Implement adrp+add fusion · 9bbe08fe
      	* 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
      Kyrylo Tkachov committed
    • [PATCH 2/2] ipa-inline uses sreal for as fibonacci_heap template · f0e1509b
      	* 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
      Martin Liska committed
    • [PATCH 1/2] Negative numbers added for sreal class. · fd27ffab
      	* 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
      Martin Liska committed
    • [AArch64][1/5] Implement TARGET_SCHED_MACRO_FUSION_PAIR_P · 6a569cdd
      	* 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
      Kyrylo Tkachov committed
    • re PR lto/63968 (175.vpr from cpu2000 fails to build with LTO) · a3dc1a45
      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
      Martin Liska committed
    • re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization)) · aa098165
      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
      Richard Biener committed
    • re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization)) · f3dccf50
      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
      Richard Biener committed
    • Add missing entry · 013d9333
      From-SVN: r218002
      Trevor Saunders committed
    • re PR c++/63905 (redundant fields left in gcc/cp/cp-tree.h:lang_decl_fn) · 45410641
      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
      Paolo Carlini committed
    • trans.c (build_return_expr): Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object. · d864aeeb
      	* 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
      Eric Botcazou committed
    • trans.c (push_range_check_info): Replace early test with assertion. · 90b4c164
      	* 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
      Eric Botcazou committed
    • error.c (gfc_fatal_error_1): Remove. · 29e0597e
      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
      Tobias Burnus committed
    • pr46799.c: XFAIL on AIX. · c6a4ed03
              * 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
      David Edelsohn committed
    • Daily bump. · 626460a4
      From-SVN: r217995
      GCC Administrator committed
  2. 23 Nov, 2014 10 commits
  3. 22 Nov, 2014 7 commits
    • 2014-11-22 Andrew Pinski <apinski@cavium.com> · af5d6309
              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
      Andrew Pinski committed
    • Commit missing change log entries. · 7b5216dd
      From-SVN: r217974
      John David Anglin committed
    • ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones as having… · 4ad08ee8
      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
      Jan Hubicka committed
    • re PR other/63694 (Build error compiling asan.c: strtoull undeclared) · 2d3a2063
      	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
      John David Anglin committed
    • params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200. · c1b4f9c6
      	* 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
      Uros Bizjak committed
    • re PR target/63783 ([SH] Miscompilation of boolean negation on SH4 using -O2) · 10f91616
      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
      Oleg Endo committed
    • re PR target/63986 ([SH] gcc.target/sh/pr51244-15.c failures) · 355e9975
      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
      Oleg Endo committed