1. 30 Oct, 2013 7 commits
    • 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 30 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
    • Autogenerated fixes of "->symbol." to "->" · 67348ccc
      This is the autogenerated part of the conversion of the symtable types
      to a C++ class hierarchy.
      
      gcc/
      
      	Patch autogenerated by refactor_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      
      	* asan.c (asan_finish_file): Update for conversion of symtab types to
      	a true class hierarchy.
      	* cfgexpand.c (estimated_stack_frame_size): Likewise.
      	* cgraph.c (cgraph_get_body): Likewise.
      	(cgraph_get_create_real_symbol_node): Likewise.
      	(verify_cgraph_node): Likewise.
      	(verify_edge_corresponds_to_fndecl): Likewise.
      	(verify_edge_count_and_frequency): Likewise.
      	(cgraph_will_be_removed_from_program_if_no_direct_calls): Likewise.
      	(cgraph_can_remove_if_no_direct_calls_p): Likewise.
      	(cgraph_can_remove_if_no_direct_calls_and_refs_p): Likewise.
      	(cgraph_node_cannot_return): Likewise.
      	(cgraph_set_pure_flag_1): Likewise.
      	(cgraph_set_const_flag_1): Likewise.
      	(cgraph_set_nothrow_flag_1): Likewise.
      	(cgraph_make_node_local_1): Likewise.
      	(cgraph_for_node_and_aliases): Likewise.
      	(cgraph_for_node_thunks_and_aliases): Likewise.
      	(cgraph_node_can_be_local_p): Likewise.
      	(cgraph_node_cannot_be_local_p_1): Likewise.
      	(cgraph_function_body_availability): Likewise.
      	(dump_cgraph_node): Likewise.
      	(cgraph_rtl_info): Likewise.
      	(cgraph_mark_address_taken_node): Likewise.
      	(cgraph_remove_node): Likewise.
      	(cgraph_release_function_body): Likewise.
      	(cgraph_update_edges_for_call_stmt_node): Likewise.
      	(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
      	(cgraph_make_edge_direct): Likewise.
      	(cgraph_resolve_speculation): Likewise.
      	(cgraph_speculative_call_info): Likewise.
      	(cgraph_turn_edge_to_speculative): Likewise.
      	(cgraph_create_edge_1): Likewise.
      	(cgraph_set_call_stmt): Likewise.
      	(cgraph_node_for_asm): Likewise.
      	(cgraph_add_thunk): Likewise.
      	(cgraph_same_body_alias): Likewise.
      	(cgraph_create_function_alias): Likewise.
      	(cgraph_create_node): Likewise.
      	(cgraph_create_empty_node): Likewise.
      	(record_function_versions): Likewise.
      	(used_from_object_file_p): Likewise.
      	* cgraph.h (symtab_can_be_discarded): Likewise.
      	(symtab_real_symbol_p): Likewise.
      	(cgraph_mark_force_output_node): Likewise.
      	(cgraph_edge_recursive_p): Likewise.
      	(symtab_alias_target): Likewise.
      	(varpool_all_refs_explicit_p): Likewise.
      	(varpool_can_remove_if_no_refs): Likewise.
      	(cgraph_only_called_directly_or_aliased_p): Likewise.
      	(cgraph_next_function_with_gimple_body): Likewise.
      	(cgraph_first_function_with_gimple_body): Likewise.
      	(cgraph_function_with_gimple_body_p): Likewise.
      	(cgraph_next_function): Likewise.
      	(cgraph_first_function): Likewise.
      	(cgraph_next_defined_function): Likewise.
      	(cgraph_first_defined_function): Likewise.
      	(varpool_next_defined_variable): Likewise.
      	(varpool_first_defined_variable): Likewise.
      	(varpool_next_static_initializer): Likewise.
      	(varpool_first_static_initializer): Likewise.
      	(varpool_next_variable): Likewise.
      	(varpool_first_variable): Likewise.
      	(varpool_node_name): Likewise.
      	(varpool): Likewise.
      	(cgraph): Likewise.
      	(is_a_helper <varpool_node>::test): Likewise.
      	(is_a_helper <cgraph_node>::test): Likewise.
      	(varpool_variable_node): Likewise.
      	(cgraph_function_or_thunk_node): Likewise.
      	(varpool_alias_target): Likewise.
      	(cgraph_alias_target): Likewise.
      	(cgraph_node_name): Likewise.
      	(varpool_node_asm_name): Likewise.
      	(cgraph_node_asm_name): Likewise.
      	* cgraphbuild.c (remove_cgraph_callee_edges): Likewise.
      	(cgraph_rebuild_references): Likewise.
      	(rebuild_cgraph_edges): Likewise.
      	(record_eh_tables): Likewise.
      	(build_cgraph_edges): Likewise.
      	(mark_store): Likewise.
      	(mark_load): Likewise.
      	(mark_address): Likewise.
      	(record_type_list): Likewise.
      	(record_reference): Likewise.
      	* cgraphclones.c (cgraph_materialize_all_clones): Likewise.
      	(cgraph_materialize_clone): Likewise.
      	(cgraph_function_versioning): Likewise.
      	(cgraph_copy_node_for_versioning): Likewise.
      	(update_call_expr): Likewise.
      	(cgraph_find_replacement_node): Likewise.
      	(cgraph_create_virtual_clone): Likewise.
      	(cgraph_clone_node): Likewise.
      	* cgraphunit.c (compile): Likewise.
      	(output_weakrefs): Likewise.
      	(output_in_order): Likewise.
      	(expand_function): Likewise.
      	(assemble_thunks_and_aliases): Likewise.
      	(expand_thunk): Likewise.
      	(mark_functions_to_output): Likewise.
      	(handle_alias_pairs): Likewise.
      	(analyze_functions): Likewise.
      	(walk_polymorphic_call_targets): Likewise.
      	(varpool_finalize_decl): Likewise.
      	(process_function_and_variable_attributes): Likewise.
      	(cgraph_process_same_body_aliases): Likewise.
      	(analyze_function): Likewise.
      	(cgraph_add_new_function): Likewise.
      	(cgraph_finalize_function): Likewise.
      	(referred_to_p): Likewise.
      	(cgraph_reset_node): Likewise.
      	(cgraph_process_new_functions): Likewise.
      	(enqueue_node): Likewise.
      	(decide_is_symbol_needed): Likewise.
      	* coverage.c (coverage_compute_profile_id): Likewise.
      	* dbxout.c (dbxout_expand_expr): Likewise.
      	* dwarf2out.c (premark_types_used_by_global_vars_helper): Likewise.
      	(reference_to_unused): Likewise.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
      	* gimplify.c (unvisit_body): Likewise.
      	(unshare_body): Likewise.
      	* ipa-cp.c (ipcp_generate_summary): Likewise.
      	(ipcp_decision_stage): Likewise.
      	(identify_dead_nodes): Likewise.
      	(decide_whether_version_node): Likewise.
      	(decide_about_value): Likewise.
      	(perhaps_add_new_callers): Likewise.
      	(create_specialized_node): Likewise.
      	(update_profiling_info): Likewise.
      	(ipcp_propagate_stage): Likewise.
      	(estimate_local_effects): Likewise.
      	(good_cloning_opportunity_p): Likewise.
      	(devirtualization_time_bonus): Likewise.
      	(propagate_constants_accross_call): Likewise.
      	(initialize_node_lattices): Likewise.
      	(ipcp_cloning_candidate_p): Likewise.
      	(determine_versionability): Likewise.
      	(print_all_lattices): Likewise.
      	(print_lattice): Likewise.
      	(ipcp_discover_new_direct_edges): Likewise.
      	* ipa-devirt.c (ipa_devirt): Likewise.
      	(likely_target_p): Likewise.
      	(update_type_inheritance_graph): Likewise.
      	(possible_polymorphic_call_target_p): Likewise.
      	(dump_possible_polymorphic_call_targets): Likewise.
      	(devirt_variable_node_removal_hook): Likewise.
      	(record_binfo): Likewise.
      	(maybe_record_node): Likewise.
      	(build_type_inheritance_graph): Likewise.
      	* ipa-inline-analysis.c (inline_write_summary): Likewise.
      	(inline_generate_summary): Likewise.
      	(inline_analyze_function): Likewise.
      	(do_estimate_growth): Likewise.
      	(simple_edge_hints): Likewise.
      	(estimate_node_size_and_time): Likewise.
      	(estimate_edge_devirt_benefit): Likewise.
      	(compute_inline_parameters): Likewise.
      	(estimate_function_body_sizes): Likewise.
      	(compute_bb_predicates): Likewise.
      	(initialize_inline_failed): Likewise.
      	(dump_inline_summary): Likewise.
      	(dump_inline_edge_summary): Likewise.
      	* ipa-inline-transform.c (inline_transform): Likewise.
      	(preserve_function_body_p): Likewise.
      	(save_inline_function_body): Likewise.
      	(inline_call): Likewise.
      	(clone_inlined_nodes): Likewise.
      	(can_remove_node_now_p): Likewise.
      	(can_remove_node_now_p_1): Likewise.
      	* ipa-inline.c (early_inliner): Likewise.
      	(early_inline_small_functions): Likewise.
      	(inline_always_inline_functions): Likewise.
      	(ipa_inline): Likewise.
      	(flatten_function): Likewise.
      	(inline_small_functions): Likewise.
      	(speculation_useful_p): Likewise.
      	(recursive_inlining): Likewise.
      	(update_caller_keys): Likewise.
      	(reset_edge_caches): Likewise.
      	(update_edge_key): Likewise.
      	(edge_badness): Likewise.
      	(relative_time_benefit): Likewise.
      	(want_inline_self_recursive_call_p): Likewise.
      	(want_inline_small_function_p): Likewise.
      	(want_early_inline_function_p): Likewise.
      	(num_calls): Likewise.
      	(can_early_inline_edge_p): Likewise.
      	(can_inline_edge_p): Likewise.
      	(report_inline_failed_reason): Likewise.
      	* ipa-profile.c (ipa_profile): Likewise.
      	(ipa_propagate_frequency): Likewise.
      	(ipa_propagate_frequency_1): Likewise.
      	(ipa_profile_generate_summary): Likewise.
      	* ipa-prop.c (ipcp_transform_function): Likewise.
      	(read_replacements_section): Likewise.
      	(ipa_prop_read_section): Likewise.
      	(ipa_modify_call_arguments): Likewise.
      	(ipa_print_node_params): Likewise.
      	(propagate_controlled_uses): Likewise.
      	(update_indirect_edges_after_inlining): Likewise.
      	(remove_described_reference): Likewise.
      	(ipa_make_edge_direct_to_target): Likewise.
      	(ipa_analyze_node): Likewise.
      	(ipa_analyze_params_uses): Likewise.
      	(ipa_compute_jump_functions): Likewise.
      	(ipa_get_callee_param_type): Likewise.
      	(ipa_print_node_jump_functions): Likewise.
      	(ipa_initialize_node_params): Likewise.
      	(ipa_populate_param_decls): Likewise.
      	(ipa_func_spec_opts_forbid_analysis_p): Likewise.
      	(write_agg_replacement_chain): Likewise.
      	(ipa_write_node_info): Likewise.
      	(ipa_edge_duplication_hook): Likewise.
      	(try_decrement_rdesc_refcount): Likewise.
      	* ipa-pure-const.c (propagate_nothrow): Likewise.
      	(propagate_pure_const): Likewise.
      	(pure_const_read_summary): Likewise.
      	(pure_const_write_summary): Likewise.
      	(analyze_function): Likewise.
      	* ipa-ref-inline.h (ipa_ref_referred_ref_list): Likewise.
      	(ipa_ref_referring_ref_list): Likewise.
      	* ipa-ref.c (ipa_clear_stmts_in_references): Likewise.
      	(ipa_remove_stmt_references): Likewise.
      	(ipa_find_reference): Likewise.
      	(ipa_dump_referring): Likewise.
      	(ipa_dump_references): Likewise.
      	(ipa_record_reference): Likewise.
      	* ipa-reference.c (ipa_reference_read_optimization_summary): Likewise.
      	(ipa_reference_write_optimization_summary): Likewise.
      	(write_node_summary_p): Likewise.
      	(propagate): Likewise.
      	(read_write_all_from_decl): Likewise.
      	(generate_summary): Likewise.
      	(analyze_function): Likewise.
      	(propagate_bits): Likewise.
      	(ipa_reference_get_not_written_global): Likewise.
      	(ipa_reference_get_not_read_global): Likewise.
      	* ipa-split.c (execute_split_functions): Likewise.
      	(split_function): Likewise.
      	* ipa-utils.c (ipa_merge_profiles): Likewise.
      	(dump_cgraph_node_set): Likewise.
      	(ipa_reverse_postorder): Likewise.
      	(ipa_edge_within_scc): Likewise.
      	(ipa_get_nodes_in_cycle): Likewise.
      	(ipa_free_postorder_info): Likewise.
      	(ipa_reduced_postorder): Likewise.
      	(searchc): Likewise.
      	(recursive_call_p): Likewise.
      	* ipa.c (ipa_cdtor_merge): Likewise.
      	(record_cdtor_fn): Likewise.
      	(function_and_variable_visibility): Likewise.
      	(varpool_externally_visible_p): Likewise.
      	(cgraph_externally_visible_p): Likewise.
      	(comdat_can_be_unshared_p): Likewise.
      	(comdat_can_be_unshared_p_1): Likewise.
      	(address_taken_from_non_vtable_p): Likewise.
      	(ipa_discover_readonly_nonaddressable_vars): Likewise.
      	(symtab_remove_unreachable_nodes): Likewise.
      	(walk_polymorphic_call_targets): Likewise.
      	(process_references): Likewise.
      	(enqueue_node): Likewise.
      	(has_addr_references_p): Likewise.
      	(cgraph_non_local_node_p_1): Likewise.
      	* is-a.h (varpool_analyze_node): Likewise.
      	* lto-cgraph.c (input_symtab): Likewise.
      	(merge_profile_summaries): Likewise.
      	(input_cgraph_1): Likewise.
      	(input_edge): Likewise.
      	(input_varpool_node): Likewise.
      	(input_node): Likewise.
      	(input_overwrite_node): Likewise.
      	(compute_ltrans_boundary): Likewise.
      	(output_refs): Likewise.
      	(lto_output_varpool_node): Likewise.
      	(lto_output_node): Likewise.
      	(reachable_from_other_partition_p): Likewise.
      	(referenced_from_other_partition_p): Likewise.
      	(lto_output_edge): Likewise.
      	(output_node_opt_summary): Likewise.
      	(add_node_to): Likewise.
      	(reachable_from_this_partition_p): Likewise.
      	(lto_set_symtab_encoder_in_partition): Likewise.
      	(lto_symtab_encoder_in_partition_p): Likewise.
      	(lto_set_symtab_encoder_encode_initializer): Likewise.
      	(lto_symtab_encoder_encode_initializer_p): Likewise.
      	(lto_set_symtab_encoder_encode_body): Likewise.
      	(lto_symtab_encoder_encode_body_p): Likewise.
      	* lto-section-in.c (lto_free_function_in_decl_state_for_node):
      	Likewise.
      	* lto-streamer-in.c (lto_read_body): Likewise.
      	(fixup_call_stmt_edges): Likewise.
      	(fixup_call_stmt_edges_1): Likewise.
      	* lto-streamer-out.c (produce_symtab): Likewise.
      	(output_symbol_p): Likewise.
      	(write_symbol): Likewise.
      	(lto_output): Likewise.
      	(copy_function): Likewise.
      	(output_function): Likewise.
      	* passes.c (function_called_by_processed_nodes_p): Likewise.
      	(ipa_write_optimization_summaries): Likewise.
      	(ipa_write_summaries): Likewise.
      	(do_per_function_toporder): Likewise.
      	(do_per_function): Likewise.
      	(dump_passes): Likewise.
      	* symtab.c (symtab_semantically_equivalent_p): Likewise.
      	(symtab_nonoverwritable_alias): Likewise.
      	(symtab_nonoverwritable_alias_1): Likewise.
      	(symtab_for_node_and_aliases): Likewise.
      	(symtab_resolve_alias): Likewise.
      	(fixup_same_cpp_alias_visibility): Likewise.
      	(symtab_alias_ultimate_target): Likewise.
      	(symtab_used_from_object_file_p): Likewise.
      	(verify_symtab_base): Likewise.
      	(dump_symtab_base): Likewise.
      	(symtab_node_name): Likewise.
      	(symtab_node_asm_name): Likewise.
      	(symtab_dissolve_same_comdat_group_list): Likewise.
      	(symtab_add_to_same_comdat_group): Likewise.
      	(symtab_unregister_node): Likewise.
      	(symtab_insert_node_to_hashtable): Likewise.
      	(symtab_register_node): Likewise.
      	(unlink_from_assembler_name_hash): Likewise.
      	(insert_to_assembler_name_hash): Likewise.
      	(eq_assembler_name): Likewise.
      	(hash_node_by_assembler_name): Likewise.
      	(eq_node): Likewise.
      	(hash_node): Likewise.
      	* toplev.c (wrapup_global_declaration_2): Likewise.
      	* trans-mem.c (ipa_tm_execute): Likewise.
      	(ipa_tm_transform_clone): Likewise.
      	(ipa_tm_transform_transaction): Likewise.
      	(ipa_tm_transform_calls_redirect): Likewise.
      	(ipa_tm_insert_gettmclone_call): Likewise.
      	(ipa_tm_insert_irr_call): Likewise.
      	(ipa_tm_create_version): Likewise.
      	(ipa_tm_create_version_alias): Likewise.
      	(ipa_tm_mark_forced_by_abi_node): Likewise.
      	(ipa_tm_mark_force_output_node): Likewise.
      	(ipa_tm_diagnose_tm_safe): Likewise.
      	(ipa_tm_mayenterirr_function): Likewise.
      	(ipa_tm_scan_irr_function): Likewise.
      	(ipa_tm_note_irrevocable): Likewise.
      	(ipa_tm_scan_calls_clone): Likewise.
      	(get_cg_data): Likewise.
      	* tree-eh.c (tree_could_trap_p): Likewise.
      	* tree-emutls.c (ipa_lower_emutls): Likewise.
      	(create_emultls_var): Likewise.
      	(lower_emutls_function_body): Likewise.
      	(gen_emutls_addr): Likewise.
      	(emutls_decl): Likewise.
      	(new_emutls_decl): Likewise.
      	* tree-inline.c (tree_function_versioning): Likewise.
      	(optimize_inline_calls): Likewise.
      	(expand_call_inline): Likewise.
      	(estimate_num_insns): Likewise.
      	(copy_bb): Likewise.
      	(delete_unreachable_blocks_update_callgraph): Likewise.
      	* tree-nested.c (gimplify_all_functions): Likewise.
      	(create_nesting_tree): Likewise.
      	(check_for_nested_with_variably_modified): Likewise.
      	* tree-pretty-print.c (dump_function_header): Likewise.
      	* tree-profile.c (tree_profiling): Likewise.
      	* tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.
      	(modify_function): Likewise.
      	(convert_callers): Likewise.
      	(convert_callers_for_node): Likewise.
      	* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
      	(associate_varinfo_to_alias): Likewise.
      	(create_variable_info_for): Likewise.
      	(get_constraint_for_ssa_var): Likewise.
      	* tree-vectorizer.c (increase_alignment): Likewise.
      	* tree.c (find_decls_types_in_var): Likewise.
      	(find_decls_types_in_node): Likewise.
      	(free_lang_data_in_decl): Likewise.
      	* value-prof.c (gimple_ic_transform): Likewise.
      	(gimple_ic): Likewise.
      	(check_ic_target): Likewise.
      	(init_node_map): Likewise.
      	* varasm.c (decl_binds_to_current_def_p): Likewise.
      	(default_binds_local_p_1): Likewise.
      	(dump_tm_clone_pairs): Likewise.
      	(assemble_alias): Likewise.
      	(find_decl): Likewise.
      	(mark_decl_referenced): Likewise.
      	* varpool.c (varpool_for_node_and_aliases): Likewise.
      	(varpool_extra_name_alias): Likewise.
      	(varpool_create_variable_alias): Likewise.
      	(add_new_static_var): Likewise.
      	(varpool_finalize_named_section_flags): Likewise.
      	(varpool_remove_unreferenced_decls): Likewise.
      	(enqueue_node): Likewise.
      	(varpool_assemble_decl): Likewise.
      	(assemble_aliases): Likewise.
      	(varpool_analyze_node): Likewise.
      	(cgraph_variable_initializer_availability): Likewise.
      	(varpool_add_new_variable): Likewise.
      	(ctor_for_folding): Likewise.
      	(dump_varpool_node): Likewise.
      	(varpool_remove_initializer): Likewise.
      	(varpool_remove_node): Likewise.
      	(varpool_node_for_decl): Likewise.
      	(varpool_create_empty_node): Likewise.
      	* config/i386/i386.c (ix86_generate_version_dispatcher_body):
      	Likewise.
      	(ix86_get_function_versions_dispatcher): Likewise.
      
      gcc/ada/
      
      	Patch autogenerated by refactor_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      
      	* gcc-interface/trans.c (finalize_nrv): Update for conversion of
      	symtab types to a true class hierarchy.
      	* gcc-interface/utils.c (gnat_write_global_declarations): Likewise.
      
      gcc/c-family/
      
      	Patch autogenerated by refactor_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      
      	* c-gimplify.c (c_genericize): Update for conversion of symtab types
      	to a true class hierarchy.
      	* c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
      
      gcc/cp/
      
      	Patch autogenerated by refactor_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      
      	* call.c (mark_versions_used): Update for conversion of symtab types
      	to a true class hierarchy.
      	* decl2.c (cp_write_global_declarations): Likewise.
      	(clear_decl_external): Likewise.
      	(build_java_method_aliases): Likewise.
      	(collect_candidates_for_java_method_aliases): Likewise.
      	(mark_needed): Likewise.
      	(var_finalized_p): Likewise.
      	(maybe_make_one_only): Likewise.
      	(maybe_emit_vtables): Likewise.
      	* lambda.c (maybe_add_lambda_conv_op): Likewise.
      	* method.c (use_thunk): Likewise.
      	* optimize.c (maybe_clone_body): Likewise.
      	* tree.c (cp_fix_function_decl_p): Likewise.
      
      gcc/java/
      
      	Patch autogenerated by refactor_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      
      	* decl.c (java_mark_decl_local): Update for conversion of symtab types
      	to a true class hierarchy.
      
      gcc/lto/
      
      	Patch autogenerated by refactor_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      
      	* lto-partition.c (lto_promote_cross_file_statics): Update for
      	conversion of symtab types to a true class hierarchy.
      	(rename_statics): Likewise.
      	(promote_symbol): Likewise.
      	(privatize_symbol_name): Likewise.
      	(lto_balanced_map): Likewise.
      	(varpool_node_cmp): Likewise.
      	(node_cmp): Likewise.
      	(lto_1_to_1_map): Likewise.
      	(undo_partition): Likewise.
      	(add_symbol_to_partition): Likewise.
      	(contained_in_symbol): Likewise.
      	(add_symbol_to_partition_1): Likewise.
      	(add_references_to_partition): Likewise.
      	(symbol_partitioned_p): Likewise.
      	(get_symbol_class): Likewise.
      	(lto_max_map): Likewise.
      	* lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
      	(lto_symtab_merge_symbols): Likewise.
      	(lto_symtab_merge_symbols_1): Likewise.
      	(lto_symtab_merge_decls): Likewise.
      	(lto_symtab_merge_decls_1): Likewise.
      	(lto_symtab_merge_decls_2): Likewise.
      	(lto_symtab_resolve_symbols): Likewise.
      	(lto_symtab_resolve_can_prevail_p): Likewise.
      	(lto_symtab_symbol_p): Likewise.
      	(lto_symtab_resolve_replaceable_p): Likewise.
      	(lto_symtab_merge): Likewise.
      	(lto_varpool_replace_node): Likewise.
      	(lto_cgraph_replace_node): Likewise.
      	* lto.c (lto_main): Likewise.
      	(do_whole_program_analysis): Likewise.
      	(materialize_cgraph): Likewise.
      	(read_cgraph_and_symbols): Likewise.
      	(cmp_partitions_order): Likewise.
      	(lto_materialize_function): Likewise.
      	(has_analyzed_clone_p): Likewise.
      
      From-SVN: r204171
      David Malcolm committed
    • Convert symtab, cgraph and varpool nodes into a real class hierarchy · a3bfa8b8
      This is the handwritten part of the patch; automated part to follow.
      
      	* cgraph.h (symtab_node_base): Convert to a class;
      	add GTY((desc ("%h.type"), tag ("SYMTAB_SYMBOL"))), and take
      	chain_next/prev from symtab_node_def.
      	(cgraph_node): Inherit from symtab_node; add GTY option
      	tag ("SYMTAB_FUNCTION").
      	(varpool_node): Inherit from symtab_node; add GTY option
      	tag ("SYMTAB_VARIABLE").
      	(symtab_node_def): Remove.
      	(is_a_helper <cgraph_node>::test (symtab_node_def *)): Convert to...
      	(is_a_helper <cgraph_node>::test (symtab_node_base *)): ...this.
      	(is_a_helper <varpool_node>::test (symtab_node_def *)): Convert to...
      	(is_a_helper <varpool_node>::test (symtab_node_base *)): ...this.
      
      	* ipa-ref.h (symtab_node_def): Drop.
      	(symtab_node): Change underlying type from symtab_node_def to
      	symtab_node_base.
      	(const_symtab_node): Likwise.
      
      	* is-a.h: Update examples in comment.
      
      	* symtab.c (symtab_hash): Change symtab_node_def to symtab_node_base.
      	(assembler_name_hash): Likewise.
      
      From-SVN: r204170
      David Malcolm committed
    • tree-ssa.texi (gimple_phi_result): Document. · c960732f
            * doc/tree-ssa.texi (gimple_phi_result): Document.
             (gimple_phi_num_args, gimple_phi_arg): Likewise.
             (gimple_phi_arg_edge, gimple_phi_arg_def): Likewise.
             (PHI_RESULT, PHI_NUM_ARGS): Remove.
             (PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF): Likewise.
      
      From-SVN: r204169
      Martin Liska committed
    • expr.h: Revert change and include tree-core.h. · bdaaa1f1
      
      	* expr.h: Revert change and include tree-core.h.
      	* rtl.h: Revert change and don't include tree-core.h.
      
      From-SVN: r204167
      Andrew MacLeod committed
    • darwin.c: Include gimple.h. · f3e79ec8
      
      	* config/darwin.c: Include gimple.h.
      	* config/i386/winnt.c: Likewise.
      
      From-SVN: r204166
      Andrew MacLeod committed
    • re PR c++/58888 ([c++11] Rejects-valid: static member with auto and initializer) · 5f546e16
      /cp
      2013-10-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58888
      	* decl2.c (grokfield): Handle auto like NSDMI.
      
      /testsuite
      2013-10-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/58888
      	* g++.dg/cpp0x/auto40.C: New.
      	* g++.dg/other/warning1.C: Adjust.
      
      From-SVN: r204164
      Paolo Carlini committed
    • restrict-2.c: New testcase. · 72a6cdde
      2013-10-29  Richard Biener  <rguenther@suse.de>
      
      	* gcc.dg/torture/restrict-2.c: New testcase.
      	* gcc.dg/torture/restrict-3.c: Likewise.
      	* gcc.dg/torture/restrict-4.c: Likewise.
      	* gcc.dg/torture/restrict-5.c: Likewise.
      
      From-SVN: r204162
      Richard Biener committed
    • re PR tree-optimization/19831 (Missing DSE/malloc/free optimization) · 4879f42a
      2013-10-29  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/19831
      gcc/
      	* tree-ssa-alias.c (stmt_kills_ref_p_1): Handle BUILT_IN_FREE.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/alias-25.c: New file.
      
      From-SVN: r204160
      Marc Glisse committed
    • re PR tree-optimization/58689 ([meta-bug] __attribute__((returns_nonnull)) enhancements) · eda14d6a
      2013-10-29  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/58689
      include/
      	* ansidecl.h (ATTRIBUTE_RETURNS_NONNULL): New macro.
      	* libiberty.h (basename, lbasename, dos_lbasename, unix_lbasename,
      	concat_copy): Mark with attributes nonnull(1) and returns_nonnull.
      	(concat, reconcat, concat_copy2, choose_temp_base, xstrerror,
      	xmalloc, xrealloc, xcalloc, xstrdup, xstrndup, xmemdup, pex_init):
      	Mark with attribute returns_nonnull.
      
      libiberty/
      	* concat.c: Remove note about xmalloc.
      
      From-SVN: r204159
      Marc Glisse committed
    • tree-outof-ssa.h: Remove include files. · 8e9055ae
      
      	* tree-outof-ssa.h: Remove include files.
      	* tree-outof-ssa.c: Add required include files from tree-outof-ssa.h.
      	* expr.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* ipa-prop.h: Remove gimple.h and tree-core.h from include list.
      	* lto-streamer.h: Likewise.
      	* cgraphbuild.c: Add gimple.h to include list.
      	* data-streamer-in.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* lto-compress.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* data-streamer.c: Likewise.
      	* ipa-split.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* symtab.c: Likewise.
      	* opts-global.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* rtl.h: Add tree-core.h to include list.
      	* expr.h: Remove tree-core.h from include list.
      	* gimple.h: Likewise.
      	* ipa-utils.h: Likewise.
      	* streamer-hooks.h: Likewise.
      	* streamer-hooks.c: Include input.h.
      
      	* lto/lto-object.c: Add gimple.h to include list.
      	* lto/lto-partition.c: Likewise.
      
      From-SVN: r204158
      Andrew MacLeod committed
    • arm.c (cortexa7_extra_costs): New table. · 13758738
      2013-10-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* config/arm/arm.c (cortexa7_extra_costs): New table.
      	(arm_cortex_a7_tune): New.
      	* config/arm/arm-cores.def: Use cortex_a7 tuning for cortex-a7.
      
      From-SVN: r204157
      Kyrylo Tkachov committed
    • Fix typo. · cd216fbf
      From-SVN: r204156
      Eric Botcazou committed
    • slp-pr56812.cc: Adjust with respect to -fvect-cost-model changes. · f80b28a0
      2013-10-29  Richard Biener  <rguenther@suse.de>
      
      	* g++.dg/vect/slp-pr56812.cc: Adjust with respect to -fvect-cost-model
      	changes.
      	* gcc.dg/vect/bb-slp-32.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise.
      	* gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp: Likewise.
      	* gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp: Likewise.
      	* gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Likewise.
      	* gcc.target/powerpc/crypto-builtin-1.c: Likewise.
      	* gcc.target/powerpc/p8vector-builtin-1.c: Likewise.
      	* gcc.target/powerpc/p8vector-builtin-2.c: Likewise.
      	* gcc.target/powerpc/p8vector-builtin-3.c: Likewise.
      	* gcc.target/powerpc/p8vector-builtin-4.c: Likewise.
      	* gcc.target/powerpc/p8vector-builtin-5.c: Likewise.
      	* gcc.target/powerpc/p8vector-vectorize-1.c: Likewise.
      	* gcc.target/powerpc/p8vector-vectorize-2.c: Likewise.
      	* gcc.target/powerpc/p8vector-vectorize-3.c: Likewise.
      	* gcc.target/powerpc/p8vector-vectorize-4.c: Likewise.
      	* gcc.target/powerpc/p8vector-vectorize-5.c: Likewise.
      	* gfortran.dg/vect/vect.exp: Likewise.
      
      From-SVN: r204152
      Richard Biener committed
    • Make gengtype more robust against user error · 32fe5271
      	* doc/gty.texi ("Inheritance and GTY"): Make it clear that
      	to use autogenerated markers for a class-hierarchy, every class
      	must have a GTY marker.
      	* gengtype.h (struct type): Add linked list of subclasses to
      	the "s" member of the union.
      	(add_subclass): New decl.
      	* gengtype-state.c (read_state_struct_type): Set up subclass
      	linked list.
      	* gengtype.c (get_ultimate_base_class): New.
      	(add_subclass): New.
      	(new_structure): Set up subclass linked list.
      	(set_gc_used_type): Propagate usage information to subclasses.
      	(output_mangled_typename): Use get_ultimate_base_class.
      	(walk_subclasses): Use the subclass linked list, avoiding an
      	O(N^2) when writing out all types.
      	(walk_type): Issue an error if the base class is missing a tag,
      	rather than generating bogus C code.  Add a gcc_unreachable
      	default case, in case people omit tags from concrete subclasses,
      	or get the values wrong.
      	(write_func_for_structure): Issue an error for subclasses for
      	which the base doesn't have a "desc", since otherwise the
      	autogenerated routines for the base would silently fail to visit
      	any subclass fields.
      	(write_root): Use get_ultimate_base_class, tweaking constness of
      	tp to match that function's signature.
      
      From-SVN: r204148
      David Malcolm committed
    • Add documentation about gengtype and inheritance · 1ed5a6cc
      	* doc/gty.texi (GTY Options): Add note about inheritance to
      	description of desc and tag.
      	(Inheritance and GTY): New.
      
      From-SVN: r204147
      David Malcolm committed
    • Handle simple inheritance in gengtype · 52a7fb3c
      	* gengtype-parse.c (opts_have): Drop "static" so that
      	we can use this from gengtype.c.
      	* gengtype.c (set_gc_used_type): Mark any base class as used;
      	update field traversal to visit inherited fields.
      	(output_mangled_typename):  Convert references to classes within
      	an inheritance hierarchy to reference the ultimate base class,
      	since only it will have gt_ functions.
      	(get_string_option): New.
      	(walk_subclasses): New.
      	(walk_type): Treat GTY structs that have a "desc" as being the
      	root of an inheritance hierarchy.  Generate a switch on it
      	within the marking function which walks all subclasses, adding
      	cases for them via walk_subclasses.  For subclasses, visit all
      	fields of the type (including inherited ones).
      	(write_func_for_structure): Don't write fns for subclasses, only
      	for the ultimate base class within an inheritance hierarchy.
      	Subclasses-marking will be handled by the base class marking
      	functions.
      	(write_types): Likewise.
      	(write_local_func_for_structure): Likewise.
      	(USED_BY_TYPED_GC_P): Emit allocators for subclasses that have
      	a "tag" option (and are thus concrete subclasses).
      	(write_root): Use the marker function for the ultimate base class.
      	* gengtype.h (FOR_ALL_INHERITED_FIELDS): New.
      	(opts_have): Add declaration.
      
      From-SVN: r204146
      David Malcolm committed
    • Daily bump. · a6137eb9
      From-SVN: r204145
      GCC Administrator committed
  3. 28 Oct, 2013 3 commits