1. 18 Jun, 2014 4 commits
    • gimplify.c (omp_notice_variable): If n is non-NULL and no flags change in… · f014c653
      gimplify.c (omp_notice_variable): If n is non-NULL and no flags change in ORT_TARGET region, don't jump to do_outer.
      
      	* gimplify.c (omp_notice_variable): If n is non-NULL
      	and no flags change in ORT_TARGET region, don't jump to
      	do_outer.
      	(struct gimplify_adjust_omp_clauses_data): New type.
      	(gimplify_adjust_omp_clauses_1): Adjust for data being
      	a struct gimplify_adjust_omp_clauses_data pointer instead
      	of tree *.  Pass pre_p as a new argument to
      	lang_hooks.decls.omp_finish_clause hook.
      	(gimplify_adjust_omp_clauses): Add pre_p argument, adjust
      	splay_tree_foreach to pass both list_p and pre_p.
      	(gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
      	gimplify_omp_workshare, gimplify_omp_target_update): Adjust
      	gimplify_adjust_omp_clauses callers.
      	* langhooks.c (lhd_omp_finish_clause): New function.
      	* langhooks-def.h (lhd_omp_finish_clause): New prototype.
      	(LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
      	* langhooks.h (struct lang_hooks_for_decls): Add a new
      	gimple_seq * argument to omp_finish_clause hook.
      	* omp-low.c (scan_sharing_clauses): Call scan_omp_op on
      	non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
      	(scan_omp_parallel, lower_omp_for): When adding
      	_LOOPTEMP_ clause var, add it to outer ctx's decl_map
      	as identity.
      	* tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
      	* tree-pretty-print.c (dump_omp_clause): Handle
      	OMP_CLAUSE_MAP_TO_PSET.
      gcc/cp/
      	* cp-gimplify.c (cxx_omp_finish_clause): Add a gimple_seq *
      	argument.
      	* cp-tree.h (cxx_omp_finish_clause): Adjust prototype.
      gcc/fortran/
      	* cpp.c (cpp_define_builtins): Change _OPENMP macro to
      	201307.
      	* dump-parse-tree.c (show_omp_namelist): Add list_type
      	argument.  Adjust for rop being u.reduction_op now,
      	handle depend_op or map_op.
      	(show_omp_node): Adjust callers.  Print some new
      	OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
      	becoming a single OMP_LIST_DEPEND.
      	* f95-lang.c (gfc_handle_omp_declare_target_attribute): New
      	function.
      	(gfc_attribute_table): New variable.
      	(LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
      	* frontend-passes.c (gfc_code_walker): Handle new OpenMP target
      	EXEC_OMP_* codes and new clauses.
      	* gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
      	ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
      	ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
      	ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
      	ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
      	ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
      	ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
      	ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
      	ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
      	ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
      	ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
      	ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
      	ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
      	ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
      	ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
      	ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
      	(symbol_attribute): Add omp_declare_target field.
      	(gfc_omp_depend_op, gfc_omp_map_op): New enums.
      	(gfc_omp_namelist): Replace rop field with union
      	containing reduction_op, depend_op and map_op.
      	(OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
      	(OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
      	(gfc_omp_clauses): Add num_teams, device, thread_limit,
      	dist_sched_kind, dist_chunk_size fields.
      	(gfc_common_head): Add omp_declare_target field.
      	(gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
      	EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
      	EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
      	EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
      	EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
      	EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
      	EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
      	EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
      	EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
      	EXEC_OMP_TARGET_UPDATE.
      	(gfc_add_omp_declare_target): New prototype.
      	* match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
      	gfc_match_omp_distribute_parallel_do,
      	gfc_match_omp_distribute_parallel_do_simd,
      	gfc_match_omp_distribute_simd, gfc_match_omp_target,
      	gfc_match_omp_target_data, gfc_match_omp_target_teams,
      	gfc_match_omp_target_teams_distribute,
      	gfc_match_omp_target_teams_distribute_parallel_do,
      	gfc_match_omp_target_teams_distribute_parallel_do_simd,
      	gfc_match_omp_target_teams_distribute_simd,
      	gfc_match_omp_target_update, gfc_match_omp_teams,
      	gfc_match_omp_teams_distribute,
      	gfc_match_omp_teams_distribute_parallel_do,
      	gfc_match_omp_teams_distribute_parallel_do_simd,
      	gfc_match_omp_teams_distribute_simd): New prototypes.
      	* module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
      	(attr_bits): Likewise.
      	(mio_symbol_attribute): Handle omp_declare_target attribute.
      	(gfc_free_omp_clauses): Free num_teams, device, thread_limit
      	and dist_chunk_size expressions.
      	(OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
      	OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
      	OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
      	OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
      	OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
      	OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
      	OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
      	OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
      	OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
      	(OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
      	OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
      	OMP_CLAUSE_DIST_SCHEDULE): Define.
      	(gfc_match_omp_clauses): Change mask parameter to unsigned int.
      	Adjust for rop becoming u.reduction_op.  Disallow inbranch with
      	notinbranch.  For depend clause, always create OMP_LIST_DEPEND
      	and fill in u.depend_op.  Handle num_teams, device, map,
      	to, from, thread_limit and dist_schedule clauses.
      	(OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
      	OMP_CLAUSE_NOTINBRANCH.
      	(OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
      	OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
      	OMP_DISTRIBUTE_CLAUSES): Define.
      	(match_omp): New function.
      	(gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
      	gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
      	gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
      	gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
      	gfc_match_omp_task): Rewritten using match_omp.
      	(gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
      	Diagnose if the directives are followed by unexpected junk.
      	(gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
      	gfc_match_omp_distribute_parallel_do_simd,
      	gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
      	gfc_match_omp_target, gfc_match_omp_target_data,
      	gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
      	gfc_match_omp_target_teams_distribute_parallel_do,
      	gfc_match_omp_target_teams_distribute_parallel_do_simd,
      	gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
      	gfc_match_omp_teams, gfc_match_omp_teams_distribute,
      	gfc_match_omp_teams_distribute_parallel_do,
      	gfc_match_omp_teams_distribute_parallel_do_simd,
      	gfc_match_omp_teams_distrbute_simd): New functions.
      	* openmp.c (resolve_omp_clauses): Adjust for
      	OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND.  Handle
      	OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
      	dist_chunk_size and thread_limit.
      	(gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
      	ctx.sharing_clauses.  Call gfc_resolve_omp_do_blocks for various
      	new EXEC_OMP_* codes.
      	(resolve_omp_do): Handle various new EXEC_OMP_* codes.
      	(gfc_resolve_omp_directive): Likewise.
      	(gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
      	* parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
      	offloading related directives.
      	(case_executable): Add ST_OMP_TARGET_UPDATE.
      	(case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
      	ST_OMP_DISTRIBUTE*.
      	(case_decl): Add ST_OMP_DECLARE_TARGET.
      	(gfc_ascii_statement): Handle new ST_OMP_* codes.
      	(parse_omp_do): Handle various new ST_OMP_* codes.
      	(parse_executable): Likewise.
      	* resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
      	codes.
      	(resolve_code): Likewise.
      	(resolve_symbol): Change that !$OMP DECLARE TARGET variables
      	are saved.
      	* st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
      	* symbol.c (check_conflict): Check omp_declare_target conflicts.
      	(gfc_add_omp_declare_target): New function.
      	(gfc_copy_attr): Copy omp_declare_target.
      	* trans.c (trans_code): Handle various new EXEC_OMP_* codes.
      	* trans-common.c (build_common_decl): Add "omp declare target"
      	attribute if needed.
      	* trans-decl.c (add_attributes_to_decl): Likewise.
      	* trans.h (gfc_omp_finish_clause): New prototype.
      	* trans-openmp.c (gfc_omp_finish_clause): New function.
      	(gfc_trans_omp_reduction_list): Adjust for rop being renamed
      	to u.reduction_op.
      	(gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
      	change to OMP_LIST_DEPEND and fix up depend handling.
      	Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
      	thread_limit, device, dist_chunk_size and dist_sched_kind.
      	(gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
      	(GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
      	GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
      	GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
      	(gfc_split_omp_clauses): Handle splitting of clauses for new
      	EXEC_OMP_* codes.
      	(gfc_trans_omp_do_simd): Add pblock argument, adjust for being
      	callable for combined constructs.
      	(gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
      	(gfc_trans_omp_distribute, gfc_trans_omp_teams,
      	gfc_trans_omp_target, gfc_trans_omp_target_data,
      	gfc_trans_omp_target_update): New functions.
      	(gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
      	new EXEC_OMP_* codes.
      gcc/testsuite/
      	* gfortran.dg/gomp/declare-simd-1.f90: New test.
      	* gfortran.dg/gomp/depend-1.f90: New test.
      	* gfortran.dg/gomp/target1.f90: New test.
      	* gfortran.dg/gomp/target2.f90: New test.
      	* gfortran.dg/gomp/target3.f90: New test.
      	* gfortran.dg/gomp/udr4.f90: Adjust expected diagnostics.
      	* gfortran.dg/openmp-define-3.f90: Expect _OPENMP 201307 instead of
      	201107.
      libgomp/
      	* omp_lib.f90.in (openmp_version): Set to 201307.
      	* omp_lib.h.in (openmp_version): Likewise.
      	* testsuite/libgomp.c/target-8.c: New test.
      	* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
      	and inbranch clauses.
      	* testsuite/libgomp.fortran/depend-3.f90: New test.
      	* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
      	openmp_version.
      	* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
      	* testsuite/libgomp.fortran/target1.f90: New test.
      	* testsuite/libgomp.fortran/target2.f90: New test.
      	* testsuite/libgomp.fortran/target3.f90: New test.
      	* testsuite/libgomp.fortran/target4.f90: New test.
      	* testsuite/libgomp.fortran/target5.f90: New test.
      	* testsuite/libgomp.fortran/target6.f90: New test.
      	* testsuite/libgomp.fortran/target7.f90: New test.
      
      From-SVN: r211768
      Jakub Jelinek committed
    • re PR fortran/61126 (gfortran does not enable -Wununused-parameter with -Wextra) · 3e9c4087
      2014-06-18  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/61126
              * invoke.texi (-Wunused-parameter): Make clearer when
              -Wextra implies this option.
      
      From-SVN: r211767
      Tobias Burnus committed
    • [multiple changes] · f2617193
      2014-06-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
              PR fortran/61126
              * options.c (gfc_handle_option): Remove call to
              handle_generated_option.
      
      2014-06-18  Dominique d'Humieres <dominiq@lps.ens.fr>
      
              PR fortran/61126
              * gfortran.dg/wextra_1.f: Add -Wall to dg-options.
      
      From-SVN: r211766
      Tobias Burnus committed
    • Daily bump. · 5f5a5e02
      From-SVN: r211764
      GCC Administrator committed
  2. 17 Jun, 2014 21 commits
    • tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here. · f2918c18
      
      	* tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
      	* tree-dfa.c (get_addr_base_and_unit_offset_1): To here.
      
      From-SVN: r211757
      Andrew MacLeod committed
    • re PR c++/60605 (incorrect diagosis of default template argument for function… · 5a96dac6
      re PR c++/60605 (incorrect diagosis of default template argument for function declaration inside class template member function)
      
      	PR c++/60605
      	* pt.c (check_default_tmpl_args): Check DECL_LOCAL_FUNCTION_P.
      
      From-SVN: r211754
      Jason Merrill committed
    • check.c (gfc_check_atomic, [...]): Use argument for GFC_ISYM_CAF_GET. · b5116268
      gcc/fortran/
      2014-06-17  Tobias Burnus  <burnus@net-b.de>
      
              * check.c (gfc_check_atomic, gfc_check_atomic_def):
              Use argument for GFC_ISYM_CAF_GET.
              * resolve.c (resolve_variable): Enable CAF_GET insertion.
              (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
              (resolve_ordinary_assign): Enable CAF_SEND insertion.
              * trans-const.c (gfc_build_string_const,
              gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
              * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
              gfor_fndecl_caf_sendget): New global variables.
              (gfc_build_builtin_function_decls): Initialize them;
              update co_min/max/sum initialization.
              * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
              get_tree_for_caf_expr and removed static.
              (gfc_conv_procedure_call): Update call.
              * trans-intrinsic.c (caf_get_image_index,
              conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
              get_caf_token_offset, gfc_conv_intrinsic_caf_get,
              conv_caf_send): New.
              (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
              gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
              (conv_co_minmaxsum): Update call for remove unused vector
              subscript.
              (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
              Skip a CAF_GET of the argument.
              * trans-types.c (gfc_get_caf_vector_type): New.
              * trans-types.h (gfc_get_caf_vector_type): New.
              * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
              gfor_fndecl_caf_sendget): New global variables.
              (gfc_get_tree_for_caf_expr): New prototypes.
      
      libgfortran/
      2014-06-17  Tobias Burnus  <burnus@net-b.de>
      
              * caf/libcaf.h (gfc_descriptor_t): New typedef.
              (caf_vector_t): Update.
              (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
              Remove vector-subscript argument.
              (_gfortran_caf_co_send, _gfortran_caf_co_get,
              _gfortran_caf_co_sendget): New.
              * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
              _gfortran_caf_co_min): Remove vector-subscript argument.
              (_gfortran_caf_co_send, _gfortran_caf_co_get,
              _gfortran_caf_co_sendget): New.
      
      gcc/testsuite/
      2014-06-17  Tobias Burnus  <burnus@net-b.de>
                  Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
      
              * gfortran.dg/coarray/send_array.f90: New.
              * gfortran.dg/coarray/get_array.f90: New.
              * gfortran.dg/coarray/sendget_array.f90: New.
              * gfortran.dg/coarray/collectives_1.f90: Correct subroutine
              names.
              * gfortran.dg/coarray/collectives_2.f90: New.
      
      
      
      Co-Authored-By: Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
      
      From-SVN: r211748
      Tobias Burnus committed
    • Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags. · dc3368d0
      	* Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.
      	* configure.ac (ACX_LT_HOST_FLAGS): New.
      	(target_thread_file): New.
      	* configure.tgt (mingw): Add mingw support.
      	* config/mingw/host-config.h: New file.
      	* config/mingw/lock.c: Likewise.
      	* Makefile.in: Regenerated.
      	* configure: Likewise.
      	* aclocal.m4: Likewise.
      	* testsuite/Makefile.in: Likewise.
      
      From-SVN: r211747
      Kai Tietz committed
    • Fix dot dump bug · 90d0d8d3
      From-SVN: r211746
      Xinliang David Li committed
    • Compile gcc.target/i386/fuse-caller-save.c with -fomit-frame-pointer (PR target/61533) · 72f4065c
      	PR target/61533
      	* gcc.target/i386/fuse-caller-save.c: Add -fomit-frame-pointer to
      	dg-options.
      
      From-SVN: r211740
      Rainer Orth committed
    • genopinit.c (main): Use vec<>::qsort method. · 75509ba2
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	* genopinit.c (main): Use vec<>::qsort method.
      	* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
      	Likewise.
      	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.
      
      From-SVN: r211738
      Richard Biener committed
    • Clean up ST_REGS handling in the MIPS backend. · e58b74ea
      gcc/
      
      	* config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
      	* config/mips/mips.c (mips_expand_fcc_reload): Remove.
      	(mips_move_to_gpr_cost): Remove ST_REGS case.
      	(mips_move_from_gpr_cost): Likewise.
      	(mips_register_move_cost): Likewise.
      	(mips_secondary_reload_class): Likewise.
      
      From-SVN: r211737
      Matthew Fortune committed
    • passes.def (pass_all_early_optimizations): Remove copy-prop pass. · 9e4f27ef
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	* passes.def (pass_all_early_optimizations): Remove copy-prop pass.
      	(pass_all_optimizations): Move 3rd copy-prop pass from after
      	fre to before ifcombine/phiopt.
      
      From-SVN: r211736
      Richard Biener committed
    • tree-switch-conversion.c (collect_switch_conv_info): Simplify and allow all… · 866f20d6
      tree-switch-conversion.c (collect_switch_conv_info): Simplify and allow all blocks to be forwarders.
      
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	* tree-switch-conversion.c (collect_switch_conv_info): Simplify
      	and allow all blocks to be forwarders.
      
      From-SVN: r211735
      Richard Biener committed
    • pr61335.f90 (cp_unit_create): Initialize unit_id and kind_id to zero. · 00bdef2c
      	* gfortran.dg/pr61335.f90 (cp_unit_create): Initialize
      	unit_id and kind_id to zero.
      
      From-SVN: r211734
      Uros Bizjak committed
    • re PR target/61483 ([AArch64] builtin va_start incorrectly initializes the field… · 3abf17cf
      re PR target/61483 ([AArch64] builtin va_start incorrectly initializes the field of va_list for incoming unnamed arguments on the stack)
      
      gcc/
      
      	PR target/61483
      	* config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
      	variable 'size'; calculate 'size' right in the front; use
      	'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
      	pcum->aapcs_stack_words.
      
      gcc/testsuite/
      
      	PR target/61483
      	* gcc.target/aarch64/aapcs64/type-def.h (struct hfa_fx2_t): New type.
      	* gcc.target/aarch64/aapcs64/va_arg-13.c: New test.
      	* gcc.target/aarch64/aapcs64/va_arg-14.c: Ditto.
      	* gcc.target/aarch64/aapcs64/va_arg-15.c: Ditto.
      
      From-SVN: r211733
      Yufeng Zhang committed
    • msp430.md (mulhisi3): Add a NOP after the DINT. · ba3cf9f1
      	* config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
      	(umulhi3, mulsidi3, umulsidi3): Likewise.
      
      From-SVN: r211730
      Nick Clifton committed
    • re PR lto/61012 (lto1: errors during merging of translation units (error:… · f807ce54
      re PR lto/61012 (lto1: errors during merging of translation units (error: variable ‘link’ redeclared as function))
      
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	PR lto/61012
      	* gcc.dg/lto/pr61526_0.c: New testcase.
      	* gcc.dg/lto/pr61526_1.c: Likewise.
      
      From-SVN: r211728
      Richard Biener committed
    • [PR middle-end/61508] fold-const.c:14863:55: error: cannot convert 'const char*' to 'const_tree · 7a75b6e2
      	gcc/
      	* fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
      	check for section name.
      
      From-SVN: r211727
      Thomas Schwinge committed
    • tree-ssa-propagate.c: Include domwalk.h. · ec18e2eb
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-propagate.c: Include domwalk.h.
      	(substitute_and_fold): Outline main worker into a domwalker ...
      	(substitute_and_fold_dom_walker::before_dom_children): ... here.
      	Schedule stmts we can fully propagate for removal.  Remove
      	poor-mans DCE.
      	(substitute_and_fold): Apply a dominator walk to perform
      	substitution.  Process stmts scheduled for removal here.
      
      	* gcc.dg/tree-ssa/20041122-1.c: Adjust.
      	* gcc.dg/tree-ssa/forwprop-21.c: Likewise.
      	* gcc.dg/tree-ssa/vrp35.c: Revert previous adjustments.
      	* gcc.dg/tree-ssa/vrp36.c: Likewise.
      	* gcc.dg/vect/nodump-forwprop-22.c: Adjust.
      
      From-SVN: r211725
      Richard Biener committed
    • tree-ssa-loop-im.c (determine_max_movement): Adjust cost of PHI node moving. · a4ab23b6
      2014-06-17  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-loop-im.c (determine_max_movement): Adjust cost
      	of PHI node moving.
      
      	* gcc.dg/tree-ssa/ssa-lim-12.c: New testcase.
      
      From-SVN: r211724
      Richard Biener committed
    • Rotate ChangeLog for 2013. · 31107d5d
      From-SVN: r211722
      Richard Sandiford committed
    • Introduce xmallocarray, an overflow checking variant of xmalloc. · 92e6f3a4
      2014-06-17  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* libgfortran.h (xmallocarray): New prototype.
      	* runtime/memory.c (xmallocarray): New function.
      	(xcalloc): Check for nonzero separately instead of multiplying.
      	* generated/*.c: Regenerated.
      	* intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
      	xmalloc.
      	* intrinsics/eoshift0.c (eoshift0): Likewise.
      	* intrinsics/eoshift2.c (eoshift2): Likewise.
      	* intrinsics/pack_generic.c (pack_internal): Likewise.
      	(pack_s_internal): Likewise.
      	* intrinsics/reshape_generic.c (reshape_internal): Likewise.
      	* intrinsics/spread_generic.c (spread_internal): Likewise.
      	(spread_internal_scalar): Likewise.
      	* intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
      	(string_minmax): Likewise.
      	* intrinsics/transpose_generic.c (transpose_internal): Likewise.
      	* intrinsics/unpack_generic.c (unpack_internal): Likewise.
      	* io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
      	* io/transfer.c (st_set_nml_var): Call xmallocarray instead of
      	xmalloc.
      	* io/unit.c (get_internal_unit): Likewise.
      	(filename_from_unit): Don't cast xmalloc return value.
      	* io/write.c (nml_write_obj): Likewise, formatting.
      	* m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
      	instead of xmalloc.
      	(besse_yn_r'rtype_kind`): Likewise.
      	* m4/cshift1.m4 (cshift1): Likewise.
      	* m4/eoshift1.m4 (eoshift1): Likewise.
      	* m4/eoshift3.m4 (eoshift3): Likewise.
      	* m4/iforeach.m4: Likewise.
      	* m4/ifunction.m4: Likewise.
      	* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
      	Likewise.
      	* m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
      	* m4/matmul.m4 (matmul_'rtype_code`): Likewise.
      	* m4/matmull.m4 (matmul_'rtype_code`): Likewise.
      	* m4/pack.m4 (pack_'rtype_code`): Likewise.
      	* m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
      	* m4/shape.m4 (shape_'rtype_kind`): Likewise.
      	* m4/spread.m4 (spread_'rtype_code`): Likewise.
      	(spread_scalar_'rtype_code`): Likewise.
      	* m4/transpose.m4 (transpose_'rtype_code`): Likewise.
      	* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
      	(unpack1_'rtype_code`): Likewise.
      	* runtime/convert_char.c (convert_char1_to_char4): Likewise.
      	(convert_char4_to_char1): Simplify.
      	* runtime/environ.c (init_unformatted): Call xmallocarray instead
      	of xmalloc.
      	* runtime/in_pack_generic.c (internal_pack): Likewise.
      
      From-SVN: r211721
      Janne Blomqvist committed
    • Daily bump. · d69d4bf5
      From-SVN: r211720
      GCC Administrator committed
    • arm.c (arm_atomic_assign_expand_fenv): call default_atomic_assign_expand_fenv… · 5db37871
      arm.c (arm_atomic_assign_expand_fenv): call default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
      
      gcc/
      2014-06-17  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* config/arm/arm.c (arm_atomic_assign_expand_fenv): call
      	default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
      	(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
      	__builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
      	* config/arm/vfp.md (set_fpscr): Make pattern conditional on
      	TARGET_HARD_FLOAT.
      	(get_fpscr) : Likewise.
      
      From-SVN: r211717
      Kugan Vivekanandarajah committed
  3. 16 Jun, 2014 15 commits