1. 30 Oct, 2013 28 commits
    • semantics.c (finish_compound_literal): Don't create a static variable inside… · afbb631e
      semantics.c (finish_compound_literal): Don't create a static variable inside cp_unevaluated_operand.
      
      	* semantics.c (finish_compound_literal): Don't create a static variable
      	inside cp_unevaluated_operand.
      
      From-SVN: r204228
      Jason Merrill committed
    • cilk-plus.exp: Add the libcilkrts library path to the compile flags. · fc7f44e4
      2013-10-30  Tobias Burnus  <burnus@net-b.de>
      
              * gcc.dg/cilk-plus/cilk-plus.exp: Add the libcilkrts library
              path to the compile flags.
      
      From-SVN: r204227
      Tobias Burnus committed
    • * init.c (push_base_cleanups): Check ANON_AGGR_TYPE_P. · 04056396
      From-SVN: r204226
      Jason Merrill committed
    • shared_ptr (__shared_ptr): Assert non-void pointer. · 8d52ed5c
      	* include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
      	* include/bits/shared_ptr (default_delete): Likewise.
      	* testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
      	default_delete<void>.
      	* testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
      	* testsuite/20_util/default_delete/void_neg.cc: New.
      	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
      	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
      
      From-SVN: r204225
      Jonathan Wakely committed
    • re PR rtl-optimization/58369 (ICE in subreg_get_info when compiling boost for m68k-linux) · 46088939
      	PR rtl-optimization/58369
      	* reload1.c (compute_reload_subreg_offset): New function.
      	(choose_reload_regs): Use it to pass endian-correct
      	offset to subreg_regno_offset.
      
      	* PR rtl-optimization/58369
      	* g++.dg/torture/pr58369.C: New test.
      
      From-SVN: r204224
      Jeff Law committed
    • re PR other/33426 (Support of #pragma ivdep) · c5028d80
      2013-10-30  Tobias Burnus  <burnus@net-b.de>
      
      gcc/cp/
              PR other/33426
              * cp-tree.h (RANGE_FOR_IVDEP): Define.
              (cp_convert_range_for, finish_while_stmt_cond, finish_do_stmt,
              finish_for_cond): Take 'bool ivdep' parameter.
              * cp-array-notation.c (create_an_loop): Update call.
              * init.c (build_vec_init): Ditto.
              * pt.c (tsubst_expr): Ditto.
              * parser.c (cp_parser_iteration_statement, cp_parser_for,
              cp_parser_range_for, cp_convert_range_for): Update calls.
              (cp_parser_pragma): Accept GCC ivdep for 'while' and 'do'.
              * semantics.c (finish_while_stmt_cond, finish_do_stmt,
              finish_for_cond): Optionally build ivdep annotation.
      
      gcc/testsuite/
              PR other/33426
              * g++.dg/vect/pr33426-ivdep-2.cc: New.
              * g++.dg/vect/pr33426-ivdep-3.cc: New.
              * g++.dg/vect/pr33426-ivdep-4.cc: New.
      
      gcc/
              PR other/33426
              * gcc/tree-cfg.c (replace_loop_annotate): Replace warning by
              warning_at.
      
      From-SVN: r204223
      Tobias Burnus committed
    • re PR target/47754 ([missed optimization] AVX allows unaligned memory operands… · 1079f7a1
      re PR target/47754 ([missed optimization] AVX allows unaligned memory operands but GCC uses unaligned load and register operand)
      
      	PR target/47754
      	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign): If
      	op1 is misaligned_operand, just use *mov<mode>_internal insn
      	rather than UNSPEC_LOADU load.
      	(ix86_expand_vector_move_misalign): Likewise (for TARGET_AVX only).
      	Avoid gen_lowpart on op0 if it isn't MEM.
      
      	* gcc.target/i386/avx256-unaligned-load-1.c: Adjust scan-assembler
      	and scan-assembler-not regexps.
      	* gcc.target/i386/avx256-unaligned-load-2.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-load-3.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-load-4.c: Likewise.
      	* gcc.target/i386/l_fma_float_1.c: Use pattern for
      	scan-assembler-times instead of just one insn name.
      	* gcc.target/i386/l_fma_float_2.c: Likewise.
      	* gcc.target/i386/l_fma_float_3.c: Likewise.
      	* gcc.target/i386/l_fma_float_4.c: Likewise.
      	* gcc.target/i386/l_fma_float_5.c: Likewise.
      	* gcc.target/i386/l_fma_float_6.c: Likewise.
      	* gcc.target/i386/l_fma_double_1.c: Likewise.
      	* gcc.target/i386/l_fma_double_2.c: Likewise.
      	* gcc.target/i386/l_fma_double_3.c: Likewise.
      	* gcc.target/i386/l_fma_double_4.c: Likewise.
      	* gcc.target/i386/l_fma_double_5.c: Likewise.
      	* gcc.target/i386/l_fma_double_6.c: Likewise.
      
      From-SVN: r204219
      Jakub Jelinek committed
    • * decl.c (cp_finish_decl): Never throw for VLA bound == 0. · 3e4403a4
      From-SVN: r204218
      Jason Merrill committed
    • Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass --disable-build-format-warnings. · 1652c6da
      /
      	* Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass
      	--disable-build-format-warnings.
      gcc/
      	* configure.ac (loose_warn): Add -Wno-format if
      	--disable-build-format-warnings.
      
      From-SVN: r204217
      Jason Merrill committed
    • Split symtab_node declarations onto multiple lines · 378cd6b1
      gcc/
      	* cgraphunit.c (analyze_functions): Split symtab_node
      	declarations onto multiple lines to make things easier
      	for rename_symtab.py.
      
      	* symtab.c (symtab_dissolve_same_comdat_group_list): Likewise.
      	(symtab_semantically_equivalent_p): Likewise.
      
      gcc/lto
      	* lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
      	declarations onto multiple lines to make things easier for
      	rename_symtab.py.
      	(lto_symtab_merge_decls_1): Likewise.
      	(lto_symtab_merge_symbols_1): Likewise.
      
      From-SVN: r204216
      David Malcolm committed
    • re PR target/58784 ([ARM] LRA legitimate address issue with misalign neon_store) · a26891f4
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/58784
      	* lra.c (check_rtl): Remove address check before LRA work.
      
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/58784
      	* gcc.target/arm/pr58784.c: New.
      
      From-SVN: r204215
      Vladimir Makarov committed
    • tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a POINTER_PLUS_EXPR… · 6ecb8b21
      tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a POINTER_PLUS_EXPR in the defining statement.
      
      2013-10-30  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a
      	POINTER_PLUS_EXPR in the defining statement.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/alias-24.c: New file.
      
      From-SVN: r204213
      Marc Glisse committed
    • regmove.c: Remove. · 3b6d1699
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* regmove.c: Remove.
      	* tree-pass.h (make_pass_regmove): Remove.
      	* timevar.def (TV_REGMOVE): Remove.
      	* passes.def (pass_regmove): Remove.
      	* opts.c (default_options_table): Remove entry for regmove.
      	* doc/passes.texi: Remove regmove pass description.
      	* doc/invoke.texi (-foptimize-register-move, -fregmove): Remove
      	options.
      	(-fdump-rtl-regmove): Ditto.
      	* common.opt (foptimize-register-move, fregmove): Ignore.
      	* Makefile.in (OBJS): Remove regmove.o.
      	* regmove.c: Remove.
      	* ira-int.h (struct ira_allocno_pref, ira_pref_t): New structure
      	and type.
      	(struct ira_allocno) New member allocno_prefs.
      	(ALLOCNO_PREFS): New macro.
      	(ira_prefs, ira_prefs_num): New external vars.
      	(ira_setup_alts, ira_get_dup_out_num, ira_debug_pref): New
      	prototypes.
      	(ira_debug_prefs, ira_debug_allocno_prefs, ira_create_pref):
      	Ditto.
      	(ira_add_allocno_pref, ira_remove_pref, ira_remove_allocno_prefs):
      	Ditto.
      	(ira_add_allocno_copy_to_list): Remove prototype.
      	(ira_swap_allocno_copy_ends_if_necessary): Ditto.
      	(ira_pref_iterator): New type.
      	(ira_pref_iter_init, ira_pref_iter_cond): New functions.
      	(FOR_EACH_PREF): New macro.
      	* ira.c (commutative_constraint_p): Move from ira-conflicts.c.
      	(ira_get_dup_out_num): Ditto. Rename from get_dup_num.  Modify the
      	code.
      	(ira_setup_alts): New function.
      	(decrease_live_ranges_number): New function.
      	(ira): Call the above function.
      	* ira-build.c (ira_prefs, ira_prefs_num): New global vars.
      	(ira_create_allocno): Initialize allocno prefs.
      	(pref_pool, pref_vec): New static vars.
      	(initiate_prefs, find_allocno_pref, ira_create_pref): New
      	functions.
      	(add_allocno_pref_to_list, ira_add_allocno_pref, print_pref): Ditto.
      	(ira_debug_pref, print_prefs, ira_debug_prefs): Ditto.
      	(print_allocno_prefs, ira_debug_allocno_prefs, finish_pref): Ditto.
      	(ira_remove_pref, ira_remove_allocno_prefs, finish_prefs): Ditto.
      	(ira_add_allocno_copy_to_list): Make static.  Rename to
      	add_allocno_copy_to_list.
      	(ira_swap_allocno_copy_ends_if_necessary): Make static.  Rename to
      	swap_allocno_copy_ends_if_necessary.
      	(remove_unnecessary_allocnos, remove_low_level_allocnos): Call
      	ira_remove_allocno_prefs.
      	(ira_flattening): Ditto.
      	(ira_build): Call initiate_prefs, print_prefs.
      	(ira_destroy): Call finish_prefs.
      	* ira-color.c (struct update_cost_record): New.
      	(struct allocno_color_data): Add new member update_cost_records.
      	(update_cost_record_pool): New static var.
      	(init_update_cost_records, get_update_cost_record): New functions.
      	(free_update_cost_record_list, finish_update_cost_records): Ditto.
      	(struct update_cost_queue_elem): Add member from.
      	(initiate_cost_update): Call init_update_cost_records.
      	(finish_cost_update): Call finish_update_cost_records.
      	(queue_update_cost, get_next_update_cost): Add new param from.
      	(Update_allocno_cost, update_costs_from_allocno): New functions.
      	(update_costs_from_prefs): Ditto.
      	(update_copy_costs): Rename to update_costs_from_copies.
      	(restore_costs_from_copies): New function.
      	(update_conflict_hard_regno_costs): Don't go back.
      	(assign_hard_reg): Call restore_costs_from_copies.  Add printing
      	more debug info.
      	(pop_allocnos): Add priniting more debug info.
      	(color_allocnos): Remove prefs for conflicting hard regs.
      	Call update_costs_from_prefs.
      	* ira-conflicts.c (commutative_constraint_p): Move to ira.c
      	(get_dup_num): Rename, modify, and move to ira.c
      	(process_regs_for_copy): Add prefs.
      	(add_insn_allocno_copies): Put src as first arg of
      	process_regs_for_copy.  Remove dead code.  Call ira_setup_alts.
      	* ira-costs.c (record_reg_classes): Modify and move code into
      	record_operands_costs.
      	(find_costs_and_classes): Create prefs for the hard reg of small
      	reg class.
      	(process_bb_node_for_hard_reg_moves): Add prefs.
      
      2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* gcc.target/i386/fma_double_3.c: Use pattern for
      	scan-assembler-times instead of just one insn name.
      	* gcc.target/i386/fma_double_5.c: Ditto.
      	* gcc.target/i386/fma_float_3.c: Ditto.
      	* gcc.target/i386/fma_float_5.c: Ditto.
      	* gcc.target/i386/l_fma_double_1.c: Ditto.
      	* gcc.target/i386/l_fma_double_2.c: Ditto.
      	* gcc.target/i386/l_fma_double_3.c: Ditto.
      	* gcc.target/i386/l_fma_double_4.c: Ditto.
      	* gcc.target/i386/l_fma_double_5.c: Ditto.
      	* gcc.target/i386/l_fma_double_6.c: Ditto.
      	* gcc.target/i386/l_fma_float_1.c: Ditto.
      	* gcc.target/i386/l_fma_float_2.c: Ditto.
      	* gcc.target/i386/l_fma_float_3.c: Ditto.
      	* gcc.target/i386/l_fma_float_4.c: Ditto.
      	* gcc.target/i386/l_fma_float_5.c: Ditto.
      	* gcc.target/i386/l_fma_float_6.c: Ditto.
      
      From-SVN: r204212
      Vladimir Makarov committed
    • re PR rtl-optimization/57100 (ICE: in pre_and_rev_post_order_compute, at… · 1bef9b23
      re PR rtl-optimization/57100 (ICE: in pre_and_rev_post_order_compute, at cfganal.c:869 with -fdump-rtl-pro_and_epilogue-graph)
      
      2013-10-30  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/57100
      	* basic-block.h (pre_and_rev_post_order_compute_fn): New function.
      	* cfganal.c (pre_and_rev_post_order_compute_fn): New function
      	as worker for ...
      	(pre_and_rev_post_order_compute): ... which now wraps it.
      	* graph.c (draw_cfg_nodes_no_loops): Use
      	pre_and_rev_post_order_compute_fn to avoid ICEing and dependence
      	on cfun.
      
      From-SVN: r204211
      Richard Biener committed
    • sh-mem.cc (sh_expand_cmpnstr): New function. · ca494b8d
      2013-10-30  Christian Bruel  <christian.bruel@st.com>
      
      	* gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr): New function.
      	(sh_expand_cmpstr): Handle known align and schedule improvements.
      	* gcc/config/sh/sh-protos.h (sh_expand_cmpstrn): Declare.
      	* gcc/config/sh/sh.md (cmpstrnsi): New pattern.
      
      From-SVN: r204206
      Christian Bruel committed
    • re PR rtl-optimization/10474 (shrink wrapping for functions) · eb1474c1
      2013-10-30  Martin Jambor  <mjambor@suse.cz>
      
      	PR rtl-optimization/10474
      	* ira.c (find_moveable_pseudos): Do not calculate dominance info
      	nor df analysis.
      	(interesting_dest_for_shprep): New function.
      	(split_live_ranges_for_shrink_wrap): Likewise.
      	(ira): Calculate dominance info and df analysis. Call
      	split_live_ranges_for_shrink_wrap.
      
      testsuite/
      	* gcc.dg/pr10474.c: New testcase.
      	* gcc.dg/ira-shrinkwrap-prep-1.c: Likewise.
      	* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
      
      From-SVN: r204205
      Martin Jambor committed
    • re PR target/58854 ("sub sp, fp, #40" hoisted above frame accesses) · 55ebf587
      Fix PR target/58854
      
      2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	PR target/58854
      	* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage.
      
      From-SVN: r204203
      Ramana Radhakrishnan committed
    • Minor tweaks · 34a3fb96
      From-SVN: r204202
      Eric Botcazou committed
    • tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE. · ea9637cd
              * tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
              * tree.h (POINTER_BOUNDS_P): New.
              (BOUNDED_TYPE_P): New.
              (BOUNDED_P): New.
              (pointer_bounds_type_node): New.
              * tree.c (build_common_tree_nodes): Initialize
              pointer_bounds_type_node.
              * gimple.h (gimple_call_get_nobnd_arg_index): New.
              (gimple_call_num_nobnd_args): New.
              (gimple_call_nobnd_arg): New.
              (gimple_return_retbnd): New.
              (gimple_return_set_retbnd): New
              * gimple.c (gimple_build_return): Increase number of ops
              for return statement.
              (gimple_call_get_nobnd_arg_index): New.
              * gimple-pretty-print.c (dump_gimple_return): Print second op.
      
      From-SVN: r204199
      Ilya Enkovich committed
    • ipa.c (cgraph_build_static_cdtor_1): Support contructors with "chkp ctor" and… · 0038da66
      ipa.c (cgraph_build_static_cdtor_1): Support contructors with "chkp ctor" and "bnd_legacy" attributes.
      
              * ipa.c (cgraph_build_static_cdtor_1): Support contructors
              with "chkp ctor" and "bnd_legacy" attributes.
              * gimplify.c (gimplify_init_constructor): Avoid infinite
              loop during gimplification of bounds initializer.
      
      From-SVN: r204198
      Ilya Enkovich committed
    • c-common.c (handle_bnd_variable_size_attribute): New. · 2017035a
              * c-family/c-common.c (handle_bnd_variable_size_attribute): New.
              (handle_bnd_legacy): New.
              (c_common_attribute_table): Add bnd_variable_size and bnd_legacy.
              * doc/extend.texi: Document bnd_variable_size and bnd_legacy
              attributes.
      
      From-SVN: r204197
      Ilya Enkovich committed
    • builtin-types.def (BT_FN_VOID_CONST_PTR): New. · 109719eb
              * builtin-types.def (BT_FN_VOID_CONST_PTR): New.
              (BT_FN_PTR_CONST_PTR): New.
              (BT_FN_CONST_PTR_CONST_PTR): New.
              (BT_FN_PTR_CONST_PTR_SIZE): New.
              (BT_FN_PTR_CONST_PTR_CONST_PTR): New.
              (BT_FN_VOID_PTRPTR_CONST_PTR): New.
              (BT_FN_VOID_CONST_PTR_SIZE): New.
              (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
              * chkp-builtins.def: New.
              * builtins.def: include chkp-builtins.def.
              (DEF_CHKP_BUILTIN): New.
              * builtins.c (expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
              BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
              BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
              BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
              BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
              BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
              BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
              BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
              BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_ARG_BND, BUILT_IN_CHKP_NARROW,
              BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
              * common.opt (fcheck-pointer-bounds): New.
              * toplev.c (process_options): Check Pointer Bounds Checker is supported.
              * doc/extend.texi: Document Pointer Bounds Checker built-in functions.
      
      From-SVN: r204196
      Ilya Enkovich committed
    • target.def (builtin_chkp_function): New. · f481a2ce
              * target.def (builtin_chkp_function): New.
              (chkp_bound_type): New.
              (chkp_bound_mode): New.
              (fn_abi_va_list_bounds_size): New.
              (load_bounds_for_arg): New.
              (store_bounds_for_arg): New.
              * targhooks.h (default_load_bounds_for_arg): New.
              (default_store_bounds_for_arg): New.
              (default_fn_abi_va_list_bounds_size): New.
              (default_chkp_bound_type): New.
              (default_chkp_bound_mode): New.
              (default_builtin_chkp_function): New.
              * targhooks.c (default_load_bounds_for_arg): New.
              (default_store_bounds_for_arg): New.
              (default_fn_abi_va_list_bounds_size): New.
              (default_chkp_bound_type): New.
              (default_chkp_bound_mode); New.
              (default_builtin_chkp_function): New.
              * doc/tm.texi.in (TARGET_FN_ABI_VA_LIST_BOUNDS_SIZE): New.
              (TARGET_LOAD_BOUNDS_FOR_ARG): New.
              (TARGET_STORE_BOUNDS_FOR_ARG): New.
              (TARGET_BUILTIN_CHKP_FUNCTION): New.
              (TARGET_CHKP_BOUND_TYPE): New.
              (TARGET_CHKP_BOUND_MODE): New.
              * doc/tm.texi: Regenerated.
              * langhooks.h (lang_hooks): Add chkp_supported field.
              * langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): New.
              (LANG_HOOKS_INITIALIZER); Add LANG_HOOKS_CHKP_SUPPORTED.
      
      From-SVN: r204195
      Ilya Enkovich committed
    • tree-ssa-ifcombine.c: Include rtl.h and tm_p.h. · 5d2a9da9
      2013-10-29  Andrew Pinski <apinski@cavium.com>
      
              * tree-ssa-ifcombine.c: Include rtl.h and tm_p.h.
              (ifcombine_ifandif): Handle cases where
              maybe_fold_and_comparisons fails, combining the branches
              anyways.
              (tree_ssa_ifcombine): Inverse the order of
              the basic block walk, increases the number of combinings.
              * gimple.h (gsi_start_nondebug_after_labels_bb): New function.
      
      2013-10-29  Andrew Pinski <apinski@cavium.com>
                  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: New test case.
              * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: New test case.
              * gcc.dg/tree-ssa/phi-opt-9.c: Use a function call to prevent
              conditional move to be used.
              * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Remove.
      
      
      Co-Authored-By: Zhenqiang Chen <zhenqiang.chen@linaro.org>
      
      From-SVN: r204194
      Andrew Pinski committed
    • machmode.def (PARTIAL_INT_MODE): Add precision and name. · d8487c94
      	* machmode.def (PARTIAL_INT_MODE): Add precision and name.
      	* genmodes.c (PARTIAL_INT_MODE): Add precision and name.
      	(make_vector_mode): Increase namebuf to 16.
      	(emit_insn_modes_h): When processing BImode, don't
      	also match partial int modes.
      	(emit_class_narrowest_mode): Likewise.
      
      	* config/bfin/bfin-modes.def: Add precision to PDI.
      	* config/m32c/m32c-modes.def: Add precision to PSI.
      	* config/msp430/msp430-modes.def: Add precision to PSI.
      	* config/rs6000/rs6000-modes.def: Add precision to PTI.
      	* config/sh/sh-modes.def: Add precision to PSI and PDI.
      
      From-SVN: r204193
      Mike Stump committed
    • Daily bump. · f0be72ea
      From-SVN: r204192
      GCC Administrator committed
    • gcc_update (files_and_dependencies): Add rules for libcilkrts. · 8a1a4544
      2013-10-29  Tobias Burnus  <burnus@net-b.de>
      
              * gcc_update (files_and_dependencies): Add rules for
              libcilkrts.
      
      2013-10-29  Tobias Burnus  <burnus@net-b.de>
      
              * configure.ac: Add AM_MAINTAINER_MODE.
              * aclocal.m4: Regenerate.
              * configure.ac: Regenerate.
              * Makefile.in: Regenerate.
      
      From-SVN: r204189
      Tobias Burnus committed
  2. 29 Oct, 2013 12 commits
    • re PR fortran/44350 (accepts illegal fortran in BLOCK DATA) · 9efc0826
      2013-10-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/44350
              * parse.c (parse_spec): Add C1116 constraint
              check for BLOCK DATA.
      
      2013-10-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/44350
              * gfortran.dg/blockdata_8.f90: New.
      
      From-SVN: r204185
      Tobias Burnus committed
    • re PR libstdc++/58839 (dereferencing void* in shared_ptr(unique_ptr&& u) constructor) · c8c0f557
      	PR libstdc++/58839
      	* include/bits/shared_ptr_base.h
      	(__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof
      	when unique_ptr<U,D>::pointer is not a built-in pointer type.
      	* testsuite/20_util/shared_ptr/cons/58839.cc: New.
      	* testsuite/20_util/enable_shared_from_this/members/assign.cc: New.
      	* testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New.
      
      From-SVN: r204184
      Jonathan Wakely committed
    • hashtable.cc (__access_protected_ctor): Define and use new type instead of _Hashtable_ebo_helper. · da2e6991
      	* include/bits/hashtable.cc (__access_protected_ctor): Define and use
      	new type instead of _Hashtable_ebo_helper.
      	* testsuite/23_containers/unordered_set/
      	not_default_constructible_hash_neg.cc: Adjust line number.
      
      From-SVN: r204182
      Jonathan Wakely committed
    • correct format · 94b89bc0
      From-SVN: r204181
      Paul Thomas committed
    • re PR target/54236 ([SH] Improve addc and subc insn utilization) · dd331dd0
      	PR target/54236
      	* config/sh/sh.md (*addc): Rename existing variations to ...
      	(*addc_r_r_1, *addc_2r_1, *addc_r_1): ... these.
      	(*addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_2r_lsb, *addc_r_msb,
      	*addc_r_r_msb, *addc_2r_msb): New insn_and_split patterns.
      	* config/sh/sh.c (addsubcosts): Handle some addc special cases.
      
      	PR target/54236
      	* gcc.target/sh/pr54236-2: New.
      	* gcc.target/sh/pr54089-6: Add another rotl special case.
      
      From-SVN: r204180
      Oleg Endo committed
    • correct PR numbers · c6a684e3
      From-SVN: r204179
      Paul Thomas committed
    • re PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008) · b6c00353
      2013-10-29  Teresa Johnson  <tejohnson@google.com>
      
      	PR ipa/58862
      	* tree-ssa-tail-merge.c (replace_block_by): Tolerate profile
      	insanities when updating probabilities.
      
      From-SVN: r204178
      Teresa Johnson committed
    • PR fortran 57893 · 25812571
      2013-10-29  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran 57893
      	* trans-types.c (gfc_typenode_for_spec): Add typenode for
      	BT_HOLLERITH. Note that the length is incorrect but unusable.
      
      	PR fortran 58858
      	* target-memory.c (gfc_element_size): Add element sizes for
      	BT_VOID and BT_ASSUMED, using gfc_typenode_for_spec.
      
      2013-10-29  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran 57893
      	* gfortran.dg/unlimited_polymorphic_13.f90 : Use real variables
      	to determine sizes of real kinds.
      
      	PR fortran 58858
      	* gfortran.dg/unlimited_polymorphic_14.f90 : New test.
      
      From-SVN: r204177
      Paul Thomas committed
    • gdbhooks.py: update cgraph_node prettyprinter · d19245aa
      	* gdbhooks.py (CGraphNodePrinter.to_string): Update gdb
      	prettyprinter for cgraph_node to reflect the conversion of the
      	symtable types to a C++ class hierarchy: it now *is* a
      	symtab_node_base, rather than having one (named "symbol").
      
      From-SVN: r204174
      David Malcolm committed
    • Added Cilk runtime library (libcilkrts) into GCC. · 3038054c
      From-SVN: r204173
      Balaji V. Iyer committed
    • Added _Cilk_spawn and _Cilk_sync (2 cilk keywords) for C. · 939b37da
      gcc/ChangeLog:
      2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* builtins.c (is_builtin_name): Added a check for __cilkrts_detach and
      	__cilkrts_pop_frame.  If matched, then return true for built-in
      	function name.
      	(expand_builtin): Added BUILT_IN_CILK_DETACH and
      	BUILT_IN_CILK_POP_FRAME case.
      	* langhooks-def.h (lhd_install_body_with_frame_cleanup): New prototype.
      	(lhs_cilk_detect_spawn): Likewise.
      	(LANG_HOOKS_DECLS): Added LANG_HOOKS_CILKPLUS.
      	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): New #define.
      	(LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
      	(LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
      	(LANG_HOOKS_CILKPLUS): Likewise.
      	* tree.h (CILK_SPAWN_FN): Likewise.
      	* builtin.def (DEF_CILK_BUILTIN_STUB): Likewise.
      	* Makefile.in (C_COMMON_OBJS): Added c-family/cilk.o.
      	(OBJS): Added cilk-common.o.
      	(CILK_H): Added a new define.
      	(gimplify.o): Added CILK_H into dependency list.
      	(builtins.o): Likewise.
      	(ipa-inline.o): Likewise.
      	(ipa-inline-analysis.o): Likewise.
      	(BUILTINS_DEF): Added cilk-builtins.def.
      	* langhooks.c (lhd_install_body_with_frame_cleanup): New function.
      	(lhd_cilk_detect_spawn): Likewise.
      	* langhooks.h (lang_hooks_for_cilkplus): New struct.
      	(struct lang_hooks): Added new field called "cilkplus."
      	* cilk-common.c: New file.
      	* cilk.h: Likewise.
      	* cilk-builtins.def: Likewise.
      	* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Added
      	"__cilk" macro and set it to 200.
      	* function.h (struct function::cilk_frame_decl): New field.
      	(struct function::is_cilk_function): Likewise.
      	(struct function::calls_cilk_spawn): Likewise.
      	* gimplify.c (gimplify_call_expr): Added a check if the function call
      	being gimplified is a spawn detach point.  If so, then add pop_frame
      	and detach function calls.
      	(gimplify_expr): Added a CILK_SPAWN_STMT and CILK_SYNC_STMT case
      	for gimplifying _Cilk_spawn and _Cilk_sync statements.
      	(gimplify_return_expr): Added a check for _Cilk_spawn usage in
      	function.  If so, added a _Cilk_sync and gimplified it.
      	(gimplify_modify_expr): Added a check for _Cilk_spawn in MODIFY and
      	INIT_EXPRs.  If so, then call gimplify_cilk_spawn.
      	* ipa-inline-analysis (initialize_inline_failed): Prevent inlining of
      	spawner function.
      	(can_inline_edge_p): Prevent inling of spawnee function.
      	* ira.c (ira_setup_eliminable_regset): Force usage of frame pointer
      	for functions that use Cilk keywords.
      	* tree-inline.h (struct copy_body_data::remap_var_for_cilk): New field.
      	* tree-pretty-print.c (dump_generic_node): Added CILK_SPAWN_STMT and
      	CILK_SYNC_STMT cases.
      	* tree.def (DEFTREECODE): Added CILK_SPAWN_STMT and CILK_SYNC_STMT
      	trees.
      	* generic.texi (CILK_SPAWN_STMT): Added documentation for _Cilk_spawn.
      	(CILK_SYNC_STMT): Added documentation for _Cilk_sync.
      	* passes.texi (Cilk Keywords): New section that describes the compiler
      	code changes for handling Cilk Keywords.
      
      gcc/c/ChangeLog:
      2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* c-decl.c (finish_function): Added a call for insert_cilk_frame when
      	a spawning function is found.
      	* c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
      	(LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
      	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
      	* c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
      	case.
      	(c_parser_postfix_expression): Added RID_CILK_SPAWN case.
      	* c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
      	expr.
      	(c_finish_return): Added a check to reject _Cilk_spawn in return
      	expression.
      	(build_cilk_spawn): New function.
      	(build_cilk_sync): Likewise.
      	* Makefile.in (c-decl.o): Added cilk.h in dependency list.
      
      gcc/c-family/ChangeLog
      2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
      	fields.
      	(c_define_builtins): Called cilk_init_builtins if Cilk Plus is
      	enabled.
      	* c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
      	(insert_cilk_frame): New prototype.
      	(cilk_init_builtins): Likewise.
      	(gimplify_cilk_spawn): Likewise.
      	(c_cilk_install_body_w_frame_cleanup): Likewise.
      	(cilk_detect_spawn_and_unwrap): Likewise.
      	(cilk_set_spawn_marker): Likewise.
      	(build_cilk_sync): Likewise.
      	(build_cilk_spawn): Likewise.
      	* cilk.c: New file.
      
      gcc/lto/ChangeLog
      2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
      	* lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
      	Plus is enabled.
      
      gcc/testsuite/ChangeLog
      2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      
      	* c-c++-common/cilk-plus/CK/compound_cilk_spawn.c: New test.
      	* c-c++-common/cilk-plus/CK/concec_cilk_spawn.c: Likewise.
      	* c-c++-common/cilk-plus/CK/fib.c: Likewise.
      	* c-c++-common/cilk-plus/CK/no_args_error.c: Likewise.
      	* c-c++-common/cilk-plus/CK/spawnee_inline.c: Likewise.
      	* c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise.
      	* c-c++-common/cilk-plus/CK/spawning_arg.c: Likewise.
      	* c-c++-common/cilk-plus/CK/steal_check.c: Likewise.
      	* c-c++-common/cilk-plus/CK/test__cilk.c: Likewise.
      	* c-c++-common/cilk-plus/CK/varargs_test.c: Likewise.
      	* c-c++-common/cilk-plus/CK/sync_wo_spawn.c: Likewise.
      	* c-c++-common/cilk-plus/CK/invalid_spawn.c: Likewise.
      	* c-c++-common/cilk-plus/CK/spawn_in_return.c: Likewise.
      	* c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
      	* c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
      	* c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
      	* gcc.dg/cilk-plus/cilk-plus.exp: Added support to run Cilk Keywords
      	test stored in c-c++-common.  Also, added the Cilk runtime's library
      	to the ld_library_path.
      
      From-SVN: r204172
      Balaji V. Iyer committed