1. 22 Nov, 2013 2 commits
    • ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos. · 31519c38
      	* ipa.c (symtab_remove_unreachable_nodes): Fix up comment typos.
      	* ipa-prop.c (get_vector_of_formal_parm_types): Renamed to ...
      	(ipa_get_vector_of_formal_parm_types): ... this.  No longer static.
      	(ipa_modify_formal_parameters): Adjust caller.  Remove
      	synth_parm_prefix argument.  Use operator enum instead of bit fields.
      	Add assert for properly handling vector of references.  Handle
      	creating brand new parameters.
      	(ipa_modify_call_arguments): Use operator enum instead of bit
      	fields.
      	(ipa_combine_adjustments): Same.  Assert that IPA_PARM_OP_NEW is not
      	used.
      	(ipa_modify_expr, get_ssa_base_param, ipa_get_adjustment_candidate):
      	New functions.
      	(ipa_dump_param_adjustments): Rename reduction to new_decl.
      	Use operator enum instead of bit fields.
      	* ipa-prop.h (enum ipa_parm_op): New.
      	(struct ipa_parm_adjustment): New field op.  Rename reduction
      	to new_decl, new_arg_prefix to arg_prefix and remove remove_param
      	and copy_param.
      	(ipa_modify_formal_parameters): Remove last argument.
      	(ipa_get_vector_of_formal_parm_types, ipa_modify_expr,
      	ipa_get_adjustment_candidate): New prototypes.
      	* tree-sra.c (turn_representatives_into_adjustments): Use operator
      	enum.  Set arg_prefix.
      	(get_adjustment_for_base): Use operator enum.
      	(sra_ipa_modify_expr): Rename to ipa_modify_expr and move to
      	ipa-prop.c.
      	(sra_ipa_modify_assign): Rename sra_ipa_modify_expr to
      	ipa_modify_expr.
      	(ipa_sra_modify_function_body): Same.  No longer static.
      	(sra_ipa_reset_debug_stmts): Use operator enum.
      	(modify_function): Do not pass prefix argument.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r205284
      Aldy Hernandez committed
    • gimple.h: Remove all includes. · 2fb9a547
      
      	* gimple.h: Remove all includes.
      	(recalculate_side_effects): Move prototype to gimplify.h.
      	* Makefile.in (PLUGIN_HEADERS): Add flattened gimple.h includes.
      	* gengtype.c (open_base_files): Add gimple.h include list.
      	* gimplify.h (recalculate_side_effects): Relocate prototype here.
      	* gimple.c: Adjust include list.
      	(recalculate_side_effects): Move to gimplify.c.
      	* gimplify.c: Adjust include list.
      	(recalculate_side_effects): Relocate from gimple.c.
      	* alias.c: Add required include files removed from gimple.h.
      	* asan.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* data-streamer.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* dse.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* gimple-builder.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple-streamer-out.c: Likewise.
      	* gimple-walk.c: Likewise.
      	* gimplify-me.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* internal-fn.c: Likewise.
      	* ipa.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* langhooks.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* omp-low.c: Likewise.
      	* opts-global.c: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* sese.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* symtab.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tsan.c: Likewise.
      	* ubsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* varpool.c: Likewise.
      	* var-tracking.c: Likewise.
      	* vtable-verify.c: Likewise.
      
      	* ada/gcc-interface/trans.c: Add required include files from gimple.h.
      
      	* c/c-typeck.c: Add required include files from gimple.h.
      
      	* c-family/c-common.c: Add required include files from gimple.h.
      	* c-family/c-gimplify.c: Likewise
      	* c-family/cilk.c: Likewise
      
      	* cp/class.c: Add required include files from gimple.h.
      	* cp/cp-gimplify.c: Likewise
      	* cp/decl2.c: Likewise
      	* cp/init.c: Likewise
      	* cp/optimize.c: Likewise
      	* cp/pt.c: Likewise
      	* cp/semantics.c: Likewise
      	* cp/tree.c: Likewise
      	* cp/typeck.c: Likewise
      	* cp/vtable-class-hierarchy.c: Likewise
      
      	* fortran/trans.c: Add required include files from gimple.h.
      	* fortran/trans-expr.c: Likewise
      	* fortran/trans-openmp.c: Likewise
      
      	* go/gofrontend/expressions.cc: Add required include files from
      	gimple.h.
      	* go/gofrontend/gogo-tree.cc: Likewise
      	* go/gofrontend/types.cc: Likewise
      	* go/go-gcc.cc: Likewise
      	* go/go-lang.c: Likewise
      
      	* java/java-gimplify.c: Add required include files from gimple.h.
      
      	* lto/lto.c: Add required include files from gimple.h.
      	* lto/lto-lang.c: Likewise
      	* lto/lto-object.c: Likewise
      	* lto/lto-partition.c: Likewise
      	* lto/lto-symtab.c: Likewise
      
      	* objc/objc-act.c: Add required include files from gimple.h.
      
      	* config/darwin.c: Add required include files removed from gimple.h.
      	* config/aarch64/aarch64-builtins.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      	* testsuite/gcc.dg/plugin/finish_unit_plugin.c: Add required include
      	files removed from gimple.h.
      	* testsuite/gcc.dg/plugin/ggcplug.c: Likewise.
      	* testsuite/gcc.dg/plugin/one_time_plugin.c: Likewise.
      	* testsuite/gcc.dg/plugin/selfassign.c: Likewise.
      	* testsuite/gcc.dg/plugin/start_unit_plugin.c: Likewise.
      	* testsuite/g++.dg/plugin/selfassign.c: Likewise.
      
      From-SVN: r205272
      Andrew MacLeod committed
  2. 19 Nov, 2013 1 commit
    • Factor unrelated declarations out of tree.h. · d8a2d370
      This patch applies the rule that functions defined in FOO.c must be
      declared in FOO.h. One of the worst offenders in the code base is
      tree.h, unsurprisingly.
      
      The patch creates several new headers: attribs.h calls.h fold-const.h
      gcc-symtab.h print-rtl.h print-tree.h stmt.h stor-layout.h stringpool.h
      tree-nested.h tree-object-size.h varasm.h.
      
      Functions in each corresponding .c file got moved to those headers and
      others that already existed. I wanted to make this patch as mechanical
      as possible, so I made no attempt to fix problems like having
      build_addr defined in tree-inline.c. I left that for later.
      
      There were some declarations that I could not move out of tree.h
      because of header poisoning or the use of target macros. We forbid the
      inclusion of things like expr.h from FE files. While that's a
      reasonable idea, the FE file *still* manage to at expr.c functionality
      because the declarations they want to use were defined in tree.h.
      
      The affected files are builtins.h, emit-rtl.h and expr.h.
      
      If that functionality is allowed to be accessed from the FEs,
      then I will later move those functions out of expr.c into tree.c.
      I have moved these declarations to the bottom of tree.h so they
      are easy to identify later.
      
      There is a namespace collision with libcpp. The file gcc/symtab.c
      cannot use gcc/symtab.h because the #include command picks up
      libcpp/include/symtab.h first. So I named this file gcc-symtab.h
      for now.
      
      Finally, I added a new header to PLUGIN_HEADERS to account for the
      tree.h refactoring. I did not add all headers factored out of tree.h
      because it is unclear (and impossible to tell) what plugins need.
      This adds the one header used by the plugins in the testsuite.
      
      This will be changing quite dramatically as we progress with the header
      refactoring.
      
      This patch should offer some minimal incremental build advantages
      by reducing the size of tree.h. Changes that would otherwise
      affected tree.h, will now go to other headers which are less
      frequently included.
      
      	* tree.h: Include fold-const.h.
      	(aggregate_value_p): Moved to function.h.
      	(alloca_call_p): Moved to calls.h.
      	(allocate_struct_function): Moved to function.h.
      	(apply_tm_attr): Moved to attribs.h.
      	(array_at_struct_end_p): Moved to expr.h.
      	(array_ref_element_size): Moved to tree-dfa.h.
      	(array_ref_low_bound): Moved to tree-dfa.h.
      	(array_ref_up_bound): Moved to tree.h.
      	(assemble_alias): Moved to cgraph.h.
      	(bit_from_pos): Moved to stor-layout.h.
      	(build_addr): Moved to tree-nested.h.
      	(build_duplicate_type): Moved to tree-inline.h.
      	(build_fold_addr_expr): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type): Moved to fold-const.h.
      	(build_fold_addr_expr_with_type_loc): Moved to fold-const.h.
      	(build_fold_indirect_ref): Moved to fold-const.h.
      	(build_fold_indirect_ref_loc): Moved to fold-const.h.
      	(build_personality_function): Moved to tree.h.
      	(build_range_check): Moved to fold-const.h.
      	(build_simple_mem_ref): Moved to fold-const.h.
      	(build_simple_mem_ref_loc): Moved to fold-const.h.
      	(build_tm_abort_call): Moved to trans-mem.h.
      	(byte_from_pos): Moved to stor-layout.h.
      	(call_expr_flags): Moved to calls.h.
      	(can_move_by_pieces): Moved to expr.h.
      	(categorize_ctor_elements): Moved to expr.h.
      	(change_decl_assembler_name): Moved to gcc-symtab.h.
      	(combine_comparisons): Moved to fold-const.h.
      	(complete_ctor_at_level_p): Moved to tree.h.
      	(component_ref_field_offset): Moved to tree-dfa.h.
      	(compute_builtin_object_size): Moved to tree-object-size.h.
      	(compute_record_mode): Moved to stor-layout.h.
      	(constant_boolean_node): Moved to fold-const.h.
      	(constructor_static_from_elts_p): Moved to varasm.h.
      	(cxx11_attribute_p): Moved to attribs.h.
      	(debug_body): Moved to print-tree.h.
      	(debug_find_tree): Moved to tree-inline.h.
      	(debug_fold_checksum): Moved to fold-const.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_head): Moved to print-tree.h.
      	(debug_raw): Moved to print-tree.h.
      	(debug_tree): Moved to print-tree.h.
      	(debug_vec_tree): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(debug_verbose): Moved to print-tree.h.
      	(decl_attributes): Moved to attribs.h.
      	(decl_binds_to_current_def_p): Moved to varasm.h.
      	(decl_default_tls_model): Moved to varasm.h.
      	(decl_replaceable_p): Moved to varasm.h.
      	(div_if_zero_remainder): Moved to fold-const.h.
      	(double_int mem_ref_offset): Moved to fold-const.h.
      	(dump_addr): Moved to print-tree.h.
      	(element_precision): Moved to machmode.h.
      	(expand_dummy_function_end): Moved to function.h.
      	(expand_function_end): Moved to function.h.
      	(expand_function_start): Moved to function.h.
      	(expand_label): Moved to stmt.h.
      	(expr_first): Moved to tree-iterator.h.
      	(expr_last): Moved to tree-iterator.h.
      	(finalize_size_functions): Moved to stor-layout.h.
      	(finish_builtin_struct): Moved to stor-layout.h.
      	(finish_record_layout): Moved to stor-layout.h.
      	(fixup_signed_type): Moved to stor-layout.h.
      	(fixup_unsigned_type): Moved to stor-layout.h.
      	(flags_from_decl_or_type): Moved to calls.h.
      	(fold): Moved to fold-const.h.
      	(fold_abs_const): Moved to fold-const.h.
      	(fold_binary): Moved to fold-const.h.
      	(fold_binary_loc): Moved to fold-const.h.
      	(fold_binary_to_constant): Moved to fold-const.h.
      	(fold_build1): Moved to fold-const.h.
      	(fold_build1_initializer_loc): Moved to fold-const.h.
      	(fold_build1_loc): Moved to fold-const.h.
      	(fold_build1_stat_loc): Moved to fold-const.h.
      	(fold_build2): Moved to fold-const.h.
      	(fold_build2_initializer_loc): Moved to fold-const.h.
      	(fold_build2_loc): Moved to fold-const.h.
      	(fold_build2_stat_loc): Moved to fold-const.h.
      	(fold_build3): Moved to fold-const.h.
      	(fold_build3_loc): Moved to fold-const.h.
      	(fold_build3_stat_loc): Moved to fold-const.h.
      	(fold_build_call_array): Moved to fold-const.h.
      	(fold_build_call_array_initializer): Moved to fold-const.h.
      	(fold_build_call_array_initializer_loc): Moved to fold-const.h.
      	(fold_build_call_array_loc): Moved to fold-const.h.
      	(fold_build_cleanup_point_expr): Moved to fold-const.h.
      	(fold_convert): Moved to fold-const.h.
      	(fold_convert_loc): Moved to fold-const.h.
      	(fold_convertible_p): Moved to fold-const.h.
      	(fold_defer_overflow_warnings): Moved to fold-const.h.
      	(fold_deferring_overflow_warnings_p): Moved to fold-const.h.
      	(fold_fma): Moved to fold-const.h.
      	(fold_ignored_result): Moved to fold-const.h.
      	(fold_indirect_ref): Moved to fold-const.h.
      	(fold_indirect_ref_1): Moved to fold-const.h.
      	(fold_indirect_ref_loc): Moved to fold-const.h.
      	(fold_read_from_constant_string): Moved to fold-const.h.
      	(fold_real_zero_addition_p): Moved to fold-const.h.
      	(fold_single_bit_test): Moved to fold-const.h.
      	(fold_strip_sign_ops): Moved to fold-const.h.
      	(fold_ternary): Moved to fold-const.h.
      	(fold_ternary_loc): Moved to fold-const.h.
      	(fold_unary): Moved to tree-data-ref.h.
      	(fold_unary_ignore_overflow): Moved to fold-const.h.
      	(fold_unary_ignore_overflow_loc): Moved to fold-const.h.
      	(fold_unary_loc): Moved to fold-const.h.
      	(fold_unary_to_constant): Moved to fold-const.h.
      	(fold_undefer_and_ignore_overflow_warnings): Moved to fold-const.h.
      	(fold_undefer_overflow_warnings): Moved to fold-const.h.
      	(folding_initializer): Moved to fold-const.h.
      	(free_temp_slots): Moved to function.h.
      	(generate_setjmp_warnings): Moved to function.h.
      	(get_attribute_name): Moved to attribs.h.
      	(get_identifier): Moved to stringpool.h.
      	(get_identifier_with_length): Moved to stringpool.h.
      	(get_inner_reference): Moved to tree.h.
      	(gimple_alloca_call_p): Moved to calls.h.
      	(gimplify_parameters): Moved to function.h.
      	(highest_pow2_factor): Moved to expr.h.
      	(indent_to): Moved to print-tree.h.
      	(init_attributes): Moved to attribs.h.
      	(init_dummy_function_start): Moved to function.h.
      	(init_function_start): Moved to function.h.
      	(init_inline_once): Moved to tree-inline.h.
      	(init_object_sizes): Moved to tree-object-size.h.
      	(init_temp_slots): Moved to function.h.
      	(init_tree_optimization_optabs): Moved to optabs.h.
      	(initialize_sizetypes): Moved to stor-layout.h.
      	(initializer_constant_valid_for_bitfield_p): Moved to varasm.h.
      	(initializer_constant_valid_p): Moved to varasm.h.
      	(int_const_binop): Moved to fold-const.h.
      	(internal_reference_types): Moved to stor-layout.h.
      	(invert_tree_comparison): Moved to fold-const.h.
      	(invert_truthvalue): Moved to fold-const.h.
      	(invert_truthvalue_loc): Moved to fold-const.h.
      	(is_tm_ending_fndecl): Moved to trans-mem.h.
      	(is_tm_may_cancel_outer): Moved to trans-mem.h.
      	(is_tm_pure): Moved to trans-mem.h.
      	(is_tm_safe): Moved to trans-mem.h.
      	(layout_decl): Moved to stor-layout.h.
      	(layout_type): Moved to stor-layout.h.
      	(lookup_attribute_spec): Moved to attribs.h.
      	(make_accum_type): Moved to stor-layout.h.
      	(make_decl_one_only): Moved to varasm.h.
      	(make_decl_rtl): Moved to tree.h.
      	(make_decl_rtl_for_debug): Moved to varasm.h.
      	(make_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_signed_fract_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_accum_type): Moved to stor-layout.h.
      	(make_or_reuse_unsigned_fract_type): Moved to stor-layout.h.
      	(make_range): Moved to fold-const.h.
      	(make_range_step): Moved to fold-const.h.
      	(make_sat_signed_accum_type): Moved to stor-layout.h.
      	(make_sat_signed_fract_type): Moved to stor-layout.h.
      	(make_sat_unsigned_accum_type): Moved to stor-layout.h.
      	(make_sat_unsigned_fract_type): Moved to stor-layout.h.
      	(make_signed_accum_type): Moved to stor-layout.h.
      	(make_signed_fract_type): Moved to stor-layout.h.
      	(make_signed_type): Moved to stor-layout.h.
      	(make_unsigned_accum_type): Moved to stor-layout.h.
      	(make_unsigned_fract_type): Moved to stor-layout.h.
      	(make_unsigned_type): Moved to stor-layout.h.
      	(mark_decl_referenced): Moved to varasm.h.
      	(mark_referenced): Moved to varasm.h.
      	(may_negate_without_overflow_p): Moved to fold-const.h.
      	(maybe_get_identifier): Moved to stringpool.h.
      	(merge_ranges): Moved to fold-const.h.
      	(merge_weak): Moved to varasm.h.
      	(mode_for_size_tree): Moved to stor-layout.h.
      	(multiple_of_p): Moved to fold-const.h.
      	(must_pass_in_stack_var_size): Moved to calls.h.
      	(must_pass_in_stack_var_size_or_pad): Moved to calls.h.
      	(native_encode_expr): Moved to fold-const.h.
      	(native_interpret_expr): Moved to fold-const.h.
      	(non_lvalue): Moved to fold-const.h.
      	(non_lvalue_loc): Moved to fold-const.h.
      	(normalize_offset): Moved to stor-layout.h.
      	(normalize_rli): Moved to stor-layout.h.
      	(notice_global_symbol): Moved to varasm.h.
      	(omit_one_operand): Moved to fold-const.h.
      	(omit_one_operand_loc): Moved to fold-const.h.
      	(omit_two_operands): Moved to fold-const.h.
      	(omit_two_operands_loc): Moved to fold-const.h.
      	(operand_equal_p): Moved to tree-data-ref.h.
      	(parse_input_constraint): Moved to stmt.h.
      	(parse_output_constraint): Moved to stmt.h.
      	(place_field): Moved to stor-layout.h.
      	(pop_function_context): Moved to function.h.
      	(pop_temp_slots): Moved to function.h.
      	(pos_from_bit): Moved to stor-layout.h.
      	(preserve_temp_slots): Moved to function.h.
      	(print_node): Moved to print-tree.h.
      	(print_node_brief): Moved to print-tree.h.
      	(print_rtl): Moved to rtl.h.
      	(process_pending_assemble_externals): Moved to varasm.h.
      	(ptr_difference_const): Moved to fold-const.h.
      	(push_function_context): Moved to function.h.
      	(push_struct_function): Moved to function.h.
      	(push_temp_slots): Moved to function.h.
      	(record_tm_replacement): Moved to trans-mem.h.
      	(relayout_decl): Moved to stor-layout.h.
      	(resolve_asm_operand_names): Moved to stmt.h.
      	(resolve_unique_section): Moved to varasm.h.
      	(rli_size_so_far): Moved to stor-layout.h.
      	(rli_size_unit_so_far): Moved to stor-layout.h.
      	(round_down): Moved to fold-const.h.
      	(round_down_loc): Moved to fold-const.h.
      	(round_up): Moved to fold-const.h.
      	(round_up_loc): Moved to fold-const.h.
      	(set_decl_incoming_rtl): Moved to emit-rtl.h.
      	(set_decl_rtl): Moved to tree.h.
      	(set_min_and_max_values_for_integral_type): Moved to stor-layout.h.
      	(set_user_assembler_name): Moved to varasm.h.
      	(setjmp_call_p): Moved to calls.h.
      	(size_binop): Moved to fold-const.h.
      	(size_binop_loc): Moved to fold-const.h.
      	(size_diffop): Moved to fold-const.h.
      	(size_diffop_loc): Moved to fold-const.h.
      	(size_int_kind): Moved to fold-const.h.
      	(stack_protect_epilogue): Moved to function.h.
      	(start_record_layout): Moved to stor-layout.h.
      	(supports_one_only): Moved to varasm.h.
      	(swap_tree_comparison): Moved to fold-const.h.
      	(tm_malloc_replacement): Moved to trans-mem.h.
      	(tree build_fold_addr_expr_loc): Moved to fold-const.h.
      	(tree build_invariant_address): Moved to fold-const.h.
      	(tree_binary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_binary_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_call_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_p): Moved to fold-const.h.
      	(tree_expr_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_output_constant_def): Moved to varasm.h.
      	(tree_overlaps_hard_reg_set): Moved to stmt.h.
      	(tree_single_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_single_nonzero_warnv_p): Moved to fold-const.h.
      	(tree_swap_operands_p): Moved to fold-const.h.
      	(tree_unary_nonnegative_warnv_p): Moved to fold-const.h.
      	(tree_unary_nonzero_warnv_p): Moved to fold-const.h.
      	(update_alignment_for_field): Moved to stor-layout.h.
      	(use_register_for_decl): Moved to function.h.
      	(variable_size): Moved to rtl.h.
      	(vector_type_mode): Moved to stor-layout.h.
      	* cgraph.h: Corresponding changes.
      	* emit-rtl.h: Corresponding changes.
      	* expr.h: Corresponding changes.
      	* function.h: Corresponding changes.
      	* optabs.h: Corresponding changes.
      	* trans-mem.h: Corresponding changes.
      	Protect against multiple inclusion.
      	* tree-inline.h: Corresponding changes.
      	* tree-iterator.h: Corresponding changes.
      	* tree-dfa.h: Include expr.h.
      	* tree-ssanames.h: Include stringpool.h.
      	* attribs.h: New file.
      	* calls.h: New file.
      	* fold-const.h: New file.
      	* gcc-symtab.h: New file.
      	* print-rtl.h: New file.
      	* print-tree.h: New file.
      	* stmt.h: New file.
      	* stor-layout.h: New file.
      	* strinpool.h: New file.
      	* tree-nested.h: New file
      	* tree-object-size.h: New file.
      	* varasm.h: New file.
      	* Makefile.in (PLUGIN_HEADERS): Add stringpool.h.
      
      	* alias.c: Include varasm.h.
      	Include expr.h.
      	* asan.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* attribs.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* builtins.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	Include tree-object-size.h.
      	* calls.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include attribs.h.
      	* cfgexpand.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	* cgraph.c: Include varasm.h.
      	Include calls.h.
      	Include print-tree.h.
      	* cgraphclones.c: Include stringpool.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* cgraphunit.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* cilk-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	* combine.c: Include stor-layout.h.
      	* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/aarch64/aarch64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/alpha/alpha.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/arc/arc.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/arm/arm.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/avr/avr-c.c: Include stor-layout.h.
      	* config/avr/avr-log.c: Include print-tree.h.
      	* config/avr/avr.c: Include print-tree.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/bfin/bfin.c: Include varasm.h.
      	Include calls.h.
      	* config/c6x/c6x.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/cr16/cr16.c: Include stor-layout.h.
      	Include calls.h.
      	* config/cris/cris.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stmt.h.
      	* config/darwin.c: Include stringpool.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/epiphany/epiphany.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/fr30/fr30.c: Include stor-layout.h.
      	Include varasm.h.
      	* config/frv/frv.c: Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* config/h8300/h8300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	* config/i386/i386.c: Include stringpool.h.
      	Include attribs.h.
      	Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/i386/winnt-cxx.c: Include stringpool.h.
      	Include attribs.h.
      	* config/i386/winnt.c: Include stringpool.h.
      	Include varasm.h.
      	* config/ia64/ia64-c.c: Include stringpool.h.
      	* config/ia64/ia64.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/iq2000/iq2000.c: Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/lm32/lm32.c: Include calls.h.
      	* config/m32c/m32c.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/m32r/m32r.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/m68k/m68k.c: Include calls.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* config/mcore/mcore.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	Include calls.h.
      	* config/mep/mep.c: Include varasm.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	* config/microblaze/microblaze.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mips/mips.c: Include varasm.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mmix/mmix.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/mn10300/mn10300.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/moxie/moxie.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/msp430/msp430.c: Include stor-layout.h.
      	Include calls.h.
      	* config/nds32/nds32.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pa/pa.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/pdp11/pdp11.c: Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/picochip/picochip.c: Include calls.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* config/rl78/rl78.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/rs6000/rs6000-c.c: Include stor-layout.h.
      	Include stringpool.h.
      	* config/rs6000/rs6000.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include print-tree.h.
      	Include varasm.h.
      	* config/rx/rx.c: Include varasm.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* config/s390/s390.c: Include print-tree.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/score/score.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	* config/sh/sh-c.c: Include stringpool.h.
      	Include attribs.h.h.
      	* config/sh/sh.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/sol2-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/sol2-cxx.c: Include stringpool.h.
      	* config/sol2.c: Include stringpool.h.
      	Include varasm.h.
      	* config/sparc/sparc.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/spu/spu-c.c: Include stringpool.h.
      	* config/spu/spu.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* config/stormy16/stormy16.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilegx/tilegx.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/tilepro/tilepro.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/v850/v850-c.c: Include stringpool.h.
      	Include attribs.h.
      	* config/v850/v850.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include calls.h.
      	* config/vax/vax.c: Include calls.h.
      	Include varasm.h.
      	* config/vms/vms.c: Include stringpool.h.
      	* config/vxworks.c: Include stringpool.h.
      	* config/xtensa/xtensa.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include varasm.h.
      	* convert.c: Include stor-layout.h.
      	* coverage.c: Include stringpool.h.
      	Include stor-layout.h.
      	* dbxout.c: Include varasm.h.
      	Include stor-layout.h.
      	* dojump.c: Include stor-layout.h.
      	* dse.c: Include stor-layout.h.
      	* dwarf2asm.c: Include stringpool.h.
      	Include varasm.h.
      	* dwarf2cfi.c: Include stor-layout.h.
      	* dwarf2out.c: Include rtl.h.
      	Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	Move inclusion of rtl.h earlier in the file.
      	* emit-rtl.c: Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* explow.c: Include stor-layout.h.
      	* expmed.c: Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	Include varasm.h.
      	* final.c: Include varasm.h.
      	* fold-const.c: Include stor-layout.h.
      	Include calls.h.
      	Include tree-iterator.h.
      	* function.c: Include stor-layout.h.
      	Include varasm.h.
      	Include stringpool.h.
      	* genattrtab.c (write_header): Emit includes for varasm.h,
      	stor-layout.h and calls.h.
      	* genautomata.c (main): Likewise.
      	* genemit.c: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c: Likewise.
      	* genpreds.c (write_insn_preds_c): Likewise.
      	* gengtype.c (open_base_files): Add stringpool.h.
      	* gimple-expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* gimple-fold.c: Include stringpool.h.
      	Include expr.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimple-low.c: Include tree-nested.h.
      	Include calls.h.
      	* gimple-pretty-print.c: Include stringpool.h.
      	* gimple-ssa-strength-reduction.c: Include stor-layout.h.
      	Include expr.h.
      	* gimple-walk.c: Include stmt.h.
      	* gimple.c: Include calls.h.
      	Include stmt.h.
      	Include stor-layout.h.
      	* gimplify.c: Include stringpool.h.
      	Include calls.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stmt.h.
      	Include print-tree.h.
      	Include expr.h.
      	* gimplify-me.c: Include stmt.h
      	Include stor-layout.h
      	* internal-fn.c: Include stor-layout.h.
      	* ipa-devirt.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-inline-analysis.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include print-tree.h.
      	* ipa-inline.c: Include trans-mem.h.
      	Include calls.h.
      	* ipa-prop.c: Include expr.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* ipa-pure-const.c: Include print-tree.h.
      	Include calls.h.
      	* ipa-reference.c: Include calls.h.
      	* ipa-split.c: Include stringpool.h.
      	Include expr.h.
      	Include calls.h.
      	* ipa.c: Include calls.h.
      	Include stringpool.h.
      	* langhooks.c: Include stringpool.h.
      	Include attribs.h.
      	* lto-cgraph.c: Include stringpool.h.
      	* lto-streamer-in.c: Include stringpool.h.
      	* lto-streamer-out.c: Include stor-layout.h.
      	Include stringpool.h.
      	* omp-low.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include expr.h.
      	* optabs.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* passes.c: Include varasm.h.
      	* predict.c: Include calls.h.
      	* print-rtl.c: Include print-tree.h.
      	* print-tree.c: Include varasm.h.
      	Include print-rtl.h.
      	Include stor-layout.h.
      	* realmpfr.c: Include stor-layout.h.
      	* reg-stack.c: Include varasm.h.
      	* sdbout.c: Include varasm.h.
      	Include stor-layout.h.
      	* simplify-rtx.c: Include varasm.h.
      	* stmt.c: Include varasm.h.
      	Include stor-layout.h.
      	* stor-layout.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	Include print-tree.h.
      	* symtab.c: Include rtl.h.
      	Include print-tree.h.
      	Include varasm.h.
      	Include function.h.
      	Include emit-rtl.h.
      	* targhooks.c: Include stor-layout.h.
      	Include varasm.h.
      	* toplev.c: Include varasm.h.
      	Include tree-inline.h.
      	* trans-mem.c: Include calls.h.
      	Include function.h.
      	Include rtl.h.
      	Include emit-rtl.h.
      	* tree-affine.c: Include expr.h.
      	* tree-browser.c: Include print-tree.h.
      	* tree-call-cdce.c: Include stor-layout.h.
      	* tree-cfg.c: Include trans-mem.h.
      	Include stor-layout.h.
      	Include print-tree.h.
      	* tree-complex.c: Include stor-layout.h.
      	* tree-data-ref.c: Include expr.h.
      	* tree-dfa.c: Include stor-layout.h.
      	* tree-eh.c: Include expr.h.
      	Include calls.h.
      	* tree-emutls.c: Include stor-layout.h.
      	Include varasm.h.
      	* tree-if-conv.c: Include stor-layout.h.
      	* tree-inline.c: Include stor-layout.h.
      	Include calls.h.
      	* tree-loop-distribution.c: Include stor-layout.h.
      	* tree-nested.c: Include stringpool.h.
      	Include stor-layout.h.
      	* tree-object-size.c: Include tree-object-size.h.
      	* tree-outof-ssa.c: Include stor-layout.h.
      	* tree-parloops.c: Include stor-layout.h.
      	Include tree-nested.h.
      	* tree-pretty-print.c: Include stor-layout.h.
      	Include expr.h.
      	* tree-profile.c: Include varasm.h.
      	Include tree-nested.h.
      	* tree-scalar-evolution.c: Include expr.h.
      	* tree-sra.c: Include stor-layout.h.
      	* tree-ssa-address.c: Include stor-layout.h.
      	* tree-ssa-ccp.c: Include stor-layout.h.
      	* tree-ssa-dce.c: Include calls.h.
      	* tree-ssa-dom.c: Include stor-layout.h.
      	* tree-ssa-forwprop.c: Include stor-layout.h.
      	* tree-ssa-ifcombine.c: Include stor-layout.h.
      	* tree-ssa-loop-ivopts.c: Include stor-layout.h.
      	* tree-ssa-loop-niter.c: Include calls.h.
      	Include expr.h.
      	* tree-ssa-loop-prefetch.c: Include stor-layout.h.
      	* tree-ssa-math-opts.c: Include stor-layout.h.
      	* tree-ssa-operands.c: Include stmt.h.
      	Include print-tree.h.
      	* tree-ssa-phiopt.c: Include stor-layout.h.
      	* tree-ssa-reassoc.c: Include stor-layout.h.
      	* tree-ssa-sccvn.c: Include stor-layout.h.
      	* tree-ssa-sink.c: Include stor-layout.h.
      	* tree-ssa-strlen.c: Include stor-layout.h.
      	* tree-ssa-structalias.c: Include stor-layout.h.
      	Include stmt.h.
      	* tree-ssa-tail-merge.c: Include stor-layout.h.
      	Include trans-mem.h.
      	* tree-ssa-uncprop.c: Include stor-layout.h.
      	* tree-ssa.c: Include stor-layout.h.
      	* tree-ssanames.c: Include stor-layout.h.
      	* tree-streamer-in.c: Include stringpool.h.
      	* tree-streamer-out.c: Include stor-layout.h.
      	* tree-switch-conversion.c: Include varasm.h.
      	Include stor-layout.h.
      	* tree-tailcall.c: Include stor-layout.h.
      	* tree-vect-data-refs.c: Include stor-layout.h.
      	* tree-vect-generic.c: Include stor-layout.h.
      	* tree-vect-loop.c: Include stor-layout.h.
      	* tree-vect-patterns.c: Include stor-layout.h.
      	* tree-vect-slp.c: Include stor-layout.h.
      	* tree-vect-stmts.c: Include stor-layout.h.
      	* tree-vectorizer.c: Include stor-layout.h.
      	* tree-vrp.c: Include stor-layout.h.
      	Include calls.h.
      	* tree.c: Include stor-layout.h.
      	Include calls.h.
      	Include attribs.h.
      	Include varasm.h.
      	* tsan.c: Include expr.h.
      	* ubsan.c: Include stor-layout.h.
      	Include stringpool.h.
      	* value-prof.c: Include tree-nested.h.
      	Include calls.h.
      	* var-tracking.c: Include varasm.h.
      	Include stor-layout.h.
      	* varasm.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include gcc-symtab.h.
      	Include varasm.h.
      	* varpool.c: Include varasm.h.
      	* vmsdbgout.c: Include varasm.h.
      	* xcoffout.c: Include varasm.h.
      
      ada/ChangeLog
      
      	* gcc-interface/decl.c: Include stringpool.h
      	Include stor-layout.h
      	* gcc-interface/misc.c: Include stor-layout.h
      	Include print-tree.h
      	* gcc-interface/trans.c: Include stringpool.h
      	Include stor-layout.h
      	Include stmt.h
      	Include varasm.h
      	* gcc-interface/utils.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      	* gcc-interface/utils2.c: Include stringpool.h
      	Include stor-layout.h
      	Include attribs.h
      	Include varasm.h
      
      c-family/ChangeLog
      
      	* c-common.c: Include fold-const.h.
      	Include stor-layout.h.
      	Include calls.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-cppbuiltin.c: Include stor-layout.h.
      	Include stringpool.h.
      	* c-format.c: Include stringpool.h.
      	* c-lex.c: Include stringpool.h.
      	Include stor-layout.h.
      	* c-pragma.c: Include stringpool.h.
      	Include attribs.h.
      	Include varasm.h.
      	Include gcc-symtab.h.
      	* c-pretty-print.c: Include stor-layout.h.
      	Include attribs.h.
      	* cilk.c: Include stringpool.h.
      	Include calls.h.
      
      c/ChangeLog
      
      	* c-decl.c: Include print-tree.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stringpool.h.
      	* c-lang.c: Include fold-const.h.
      	* c-parser.c: Include stringpool.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include trans-mem.h.
      	* c-typeck.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include varasm.h.
      	Include stmt.h.
      
      cp/ChangeLog
      
      	* call.c: Include stor-layout.h.
      	Include trans-mem.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* cp-gimplify.c: Include stor-layout.h.
      	* cvt.c: Include stor-layout.h.
      	* decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include calls.h.
      	* decl2.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	Include calls.h.
      	* error.c: Include stringpool.h.
      	* except.c: Include stringpool.h.
      	Include trans-mem.h.
      	Include attribs.h.
      	* init.c: Include stringpool.h.
      	Include varasm.h.
      	* lambda.c: Include stringpool.h.
      	* lex.c: Include stringpool.h.
      	* mangle.c: Include stor-layout.h.
      	Include stringpool.h.
      	* method.c: Include stringpool.h.
      	Include varasm.h.
      	* name-lookup.c: Include stringpool.h.
      	Include print-tree.h.
      	Include attribs.h.
      	* optimize.c: Include stringpool.h.
      	* parser.c: Include print-tree.h.
      	Include stringpool.h.
      	Include attribs.h.
      	Include trans-mem.h.
      	* pt.c: Include stringpool.h.
      	Include varasm.h.
      	Include attribs.h.
      	Include stor-layout.h.
      	* ptree.c: Include print-tree.h.
      	* repo.c: Include stringpool.h.
      	* rtti.c: Include stringpool.h.
      	Include stor-layout.h.
      	* semantics.c: Include stmt.h.
      	Include varasm.h.
      	Include stor-layout.h.
      	Include stringpool.h.
      	* tree.c: Include stor-layout.h.
      	Include print-tree.h.
      	Include tree-iterator.h.
      	* typeck.c: Include stor-layout.h.
      	Include varasm.h.
      	* typeck2.c: Include stor-layout.h.
      	Include varasm.h.
      	* vtable-class-hierarchy.c: Include stringpool.h.
      	Include stor-layout.h.
      
      fortran/ChangeLog
      
      	* decl.c: Include stringpool.h.
      	* iresolve.c: Include stringpool.h.
      	* match.c: Include stringpool.h.
      	* module.c: Include stringpool.h.
      	* target-memory.c: Include stor-layout.h.
      	* trans-common.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* trans-const.c: Include stor-layout.h.
      	* trans-decl.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	Include attribs.h.
      	* trans-expr.c: Include stringpool.h.
      	* trans-intrinsic.c: Include stringpool.h.
      	Include tree-nested.h.
      	Include stor-layout.h.
      	* trans-io.c: Include stringpool.h.
      	Include stor-layout.h.
      	* trans-openmp.c: Include stringpool.h.
      	* trans-stmt.c: Include stringpool.h.
      	* trans-types.c: Include stor-layout.h.
      	Include stringpool.h.
      	* trans.c: Include stringpool.h.
      
      go/ChangeLog
      
      	* go-backend.c: Include stor-layout.h.
      	* go-gcc.cc: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* go-lang.c: Include stor-layout.h.
      
      java/ChangeLog
      
      	* builtins.c: Include stor-layout.h.
      	Include stringpool.h.
      	* class.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include varasm.h.
      	* constants.c: Include stringpool.h.
      	Include stor-layout.h.
      	* decl.c: Include stor-layout.h.
      	Include stringpool.h.
      	Include varasm.h.
      	* except.c: Include stringpool.h.
      	Include stor-layout.h.
      	* expr.c: Include stringpool.h.
      	Include stor-layout.h.
      	* jcf-parse.c: Include stringpool.h.
      	* mangle.c: Include stringpool.h.
      	* resource.c: Include stringpool.h.
      	Include stor-layout.h.
      	* typeck.c: Include stor-layout.h.
      	Include stringpool.h.
      	* verify-glue.c: Include stringpool.h.
      
      lto/ChangeLog
      	* lto-lang.c: Include stringpool.h.
      	Include stor-layout.h.
      	* lto-partition.c: Include gcc-symtab.h.
      	* lto.c: Include stor-layout.h.
      
      objc/ChangeLog
      	* objc-act.c: Include stringpool.h.
      	Include stor-layout.h.
      	Include attribs.h.
      	* objc-encoding.c: Include stringpool.h.
      	Include stor-layout.h.
      	* objc-gnu-runtime-abi-01.c: Include stringpool.h.
      	* objc-next-runtime-abi-01.c:
      	Include stringpool.h.
      	* objc-next-runtime-abi-02.c: Include stringpool.h.
      	* objc-runtime-shared-support.c: Include stringpool.h.
      
      testsuite/ChangeLog
      
      	* gcc.dg/plugin/selfassign.c: Include stringpool.h.
      	* gcc.dg/plugin/start_unit_plugin.c: Likewise.
      
      From-SVN: r205023
      Diego Novillo committed
  3. 18 Nov, 2013 1 commit
  4. 14 Nov, 2013 1 commit
    • gimplify-be.h: New file. · 18f429e2
      
      	* gimplify-be.h:  New file.  Add prototypes.
      	* gimplify.h: Don't include gimple.h.
      	(struct gimplify_hasher, struct gimplify_ctx, is_gimple_sizepos,
      	gimplify_hasher::hash, gimplify_hasher::equal): Relocate from gimple.h.
      	* gimple.h (struct gimplify_hasher, gimplify_hasher::hash,
      	gimplify_hasher::equal, struct gimplify_ctx, is_gimple_sizepos): Move
      	to gimplify.h.
      	(enum gsi_iterator_update): Move to gimple-iterator.h.
      	* gimple-iterator.h (enum gsi_iterator_update): Relocate from gimple.h.
      	* gimplify-be.c: New File.
      	(force_gimple_operand_1, force_gimple_operand,
      	force_gimple_operand_gsi_1, force_gimple_operand_gsi): Relocate from
      	gimplify.c.
      	* gimplify.c (force_gimple_operand_1, force_gimple_operand,
      	force_gimple_operand_gsi_1, force_gimple_operand_gsi): Move to
      	gimplify-be.c.
      	* Makefile.in (OBJS): Add gimplify-be.o
      	* asan.c: Include only gimplify.h, gimplify-be.h, and/or gimple.h as
      	required.
      	* cfgloopmanip.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* gimple-expr.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa.c: Likewise.
      	* langhooks.c: Likewise.
      	* omp-low.c: Likewise.
      	* sese.c: Likewise.
      	* stor-layout.c: Likewise.
      	* targhooks.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      	* c/c-typeck.c: Include only gimplify.h and gimple.h as needed.
      	* c-family/c-common.c: Likewise.
      	* c-family/c-gimplify.c: Likewise.
      	* c-family/cilk.c: Likewise.
      
      	* cp/class.c: Include only gimplify.h and gimple.h as needed.
      	* cp/cp-gimplify.c: Likewise.
      	* cp/error.c: Likewise.
      	* cp/init.c: Likewise.
      	* cp/optimize.c: Likewise.
      	* cp/pt.c: Likewise.
      	* cp/semantics.c: Likewise.
      	* cp/tree.c: Likewise.
      	* cp/vtable-class-hierarchy.c: Likewise.
      
      	* fortran/trans-expr.c: Include only gimplify.h and gimple.h as needed.
      	* fortran/trans-openmp.c: Likewise.
      
      	* go/go-lang.c: Include only gimplify.h and gimple.h as needed.
      
      	* java/java-gimplify.c: Include only gimplify.h and gimple.h as needed.
      
      	* objc/objc-act.c: Include only gimplify.h and gimple.h as needed.
      
      From-SVN: r204812
      Andrew MacLeod committed
  5. 13 Nov, 2013 1 commit
  6. 12 Nov, 2013 1 commit
    • gimple-expr.h (create_tmp_var_name, [...]): Relocate prototypes from gimple.h. · 45b0be94
      2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
      
      	* gimple-expr.h (create_tmp_var_name, create_tmp_var_raw,
      	create_tmp_var, create_tmp_reg, mark_addressable, is_gimple_reg_rhs):
      	Relocate prototypes from gimple.h.
      	* gimplify.h: New File.  Relocate some prototypes from gimple.h here.
      	(gimple_predicate, enum fallback, enum gimplify_status): Relocate
      	from gimple.h.
      	* gimple.h: Move some prototypes to gimplify.h.
      	(gimple_predicate, enum fallback, enum gimplify_status): Move to
      	gimplify.h.
      	(gimple_do_not_emit_location_p, gimple_set_do_not_emit_location):
      	Relocate from gimpify.c.
      	* gimple-expr.c (remove_suffix, tmp_var_id_num, create_tmp_var_name,
      	create_tmp_var_raw, create_tmp_var, create_tmp_reg, mark_addressable,
      	is_gimple_reg_rhs) Relocate from gimplify.c.
      	* gimplify.c (mark_addressable): Move to gimple-expr.c.
      	(gimple_seq_add_stmt_without_update): Move to gimple.c.
      	(remove_suffix, tmp_var_id_num, create_tmp_var_name, create_tmp_var_raw,
      	create_tmp_var, create_tmp_reg, is_gimple_reg_rhs): Move to 
      	gimple-expr.c.
      	(should_carry_location_p): Move to gimple.c.
      	(gimple_do_not_emit_location_p, gimple_set_do_not_emit_location): Move
      	to gimple.h.
      	(annotate_one_with_location, annotate_all_with_location_after,
      	annotate_all_with_location): Move to gimple.c.
      	(compare_case_labels, sort_case_labels,
      	preprocess_case_label_vec_for_gimple): Move to gimple.c.
      	(rhs_predicate_for): Make static.
      	(gimplify_assign): Relocate from gimple.c.
      	* gimple.c (gimplify_assign): Move to gimplify.c.
      	(gimple_seq_add_stmt_without_update, should_carry_location_p,
      	annotate_one_with_location, annotate_all_with_location_after,
      	annotate_all_with_location, compare_case_labels, sort_case_labels,
      	preprocess_case_label_vec_for_gimple): Relocate from gimplify.c.
      	* tree.h (unshare_expr, unshare_expr_without_location,
      	mark_addressable): Move prototypes to gimplify.h.
      	* Makefile.in (GTFILES): gimple-expr.c now has the GTY tag for
      	tmp_var_id_num
      	* asan.c: Include gimplify.h rather than gimple.h.
      	* cfgloopmanip.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cilk-common.c: Likewise.
      	* dwarf2out.c: Dont include gimple.h.
      	* fold-const.c: Include gimplify.h rather than gimple.h.
      	* function.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa.c: Likewise.
      	* langhooks.c: Dont include gimple.h.
      	* loop-init.c: Include gimplify.h rather than gimple.h.
      	* omp-low.c: Likewise.
      	* sese.c: Likewise.
      	* stor-layout.c: Likewise.
      	* targhooks.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-switch-conversio: Likewise.n.c
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tsan.c: Likewise.
      	* value-prof.c: Likewise.
      	* config/aarch64/aarch64.c: Include gimplify.h instead of gimple.h.
      	* config/alpha/alpha.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      	* ada/gcc-interface/trans.c: Include gimplify.h.
      
      	* c/c-typeck.c: Include gimplify.h.
      
      	* c-family/c-common.c: Include gimplify.h.
      	* c-family/c-gimplify.c: Likewise.
      	* c-family/cilk.c: Likewise.
      	* c-family/c-omp.c: Include gimple-expr.h instead of gimple.h.
      	* c-family/c-ubsan.c: Don't include gimple.h.
      
      	* cp/class.c: Include gimplify.h.
      	* cp/cp-gimplify.c: Likewise.
      	* cp/error.c: Likewise.
      	* cp/init.c: Likewise.
      	* cp/optimize.c: Likewise.
      	* cp/pt.c: Likewise.
      	* cp/semantics.c: Likewise.
      	* cp/tree.c: Likewise.
      	* cp/vtable-class-hierarchy.c: Likewise.
      	* cp/decl2.c: Don't include gimple.h.
      	* cp/except.c: Likewise.
      	* cp/method.c: Include pointer-set.h instead of gimple.h.
      
      	* fortran/f95-lang.c: Don't include gimple.h.
      	* fortran/trans-array.c: Include gimple-expr.h instead of gimple.h.
      	* fortran/trans.c: Likewise.
      	* fortran/trans-decl.c: Likewise.
      	* fortran/trans-expr.c: Include gimplify.h.
      	* fortran/trans-openmp.c: Likewise.
      
      	* go/go-lang.c: Include gimplify.h.
      
      	* java/java-gimplify.c: Include gimplify.h.
      
      	* objc/objc-act.c: Include gimplify.h.
      
      From-SVN: r204717
      Andrew MacLeod committed
  7. 31 Oct, 2013 1 commit
    • Automated part of renaming of symtab_node_base to symtab_node. · 5e20cdc9
      gcc/
      
      	Patch autogenerated by rename_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      	with ChangeLog entry fixed up by hand.
      
      	* cgraph.c (x_cgraph_nodes_queue): Rename symtab_node_base to
      	symtab_node.
      	(cgraph_node_for_asm): Likewise.
      	* cgraph.h (symtab_node_base): Likewise.
      	(cgraph_node): Likewise.
      	(varpool_node): Likewise.
      	(is_a_helper <cgraph_node>::test): Likewise.
      	(is_a_helper <varpool_node>::test): Likewise.
      	(symtab_nodes): Likewise.
      	(symtab_register_node): Likewise.
      	(symtab_unregister_node): Likewise.
      	(symtab_remove_node): Likewise.
      	(symtab_get_node): Likewise.
      	(symtab_node_for_asm): Likewise.
      	(symtab_node_asm_name): Likewise.
      	(symtab_node_name): Likewise.
      	(symtab_insert_node_to_hashtable): Likewise.
      	(symtab_add_to_same_comdat_group): Likewise.
      	(symtab_dissolve_same_comdat_group_list): Likewise.
      	(dump_symtab_node): Likewise.
      	(debug_symtab_node): Likewise.
      	(dump_symtab_base): Likewise.
      	(verify_symtab_node): Likewise.
      	(verify_symtab_base): Likewise.
      	(symtab_used_from_object_file_p): Likewise.
      	(symtab_alias_ultimate_target): Likewise.
      	(symtab_resolve_alias): Likewise.
      	(fixup_same_cpp_alias_visibility): Likewise.
      	(symtab_for_node_and_aliases): Likewise.
      	(symtab_nonoverwritable_alias): Likewise.
      	(availability symtab_node_availability): Likewise.
      	(symtab_semantically_equivalent_p): Likewise.
      	(fixup_same_cpp_alias_visibility): Likewise.
      	(symtab_prevail_in_asm_name_hash): Likewise.
      	(cgraph): Likewise.
      	(varpool): Likewise.
      	(varpool_first_variable): Likewise.
      	(varpool_next_variable): Likewise.
      	(varpool_first_static_initializer): Likewise.
      	(varpool_next_static_initializer): Likewise.
      	(varpool_first_defined_variable): Likewise.
      	(varpool_next_defined_variable): Likewise.
      	(cgraph_first_defined_function): Likewise.
      	(cgraph_next_defined_function): Likewise.
      	(cgraph_first_function): Likewise.
      	(cgraph_next_function): Likewise.
      	(cgraph_first_function_with_gimple_body): Likewise.
      	(cgraph_next_function_with_gimple_body): Likewise.
      	(symtab_alias_target): Likewise.
      	(symtab_real_symbol_p): Likewise.
      	(symtab_can_be_discarded): Likewise.
      	* cgraphbuild.c (mark_address): Likewise.
      	(mark_load): Likewise.
      	(mark_store): Likewise.
      	* cgraphunit.c (decide_is_symbol_needed): Likewise.
      	(first): Likewise.
      	(enqueue_node): Likewise.
      	(referred_to_p): Likewise.
      	(cgraph_process_same_body_aliases): Likewise.
      	(analyze_functions): Likewise.
      	(handle_alias_pairs): Likewise.
      	(output_weakrefs): Likewise.
      	(compile): Likewise.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
      	* ipa-inline-analysis.c (inline_write_summary): Likewise.
      	* ipa-prop.c (remove_described_reference): Likewise.
      	(try_decrement_rdesc_refcount): Likewise.
      	(ipa_edge_duplication_hook): Likewise.
      	* ipa-ref.c (ipa_record_reference): Likewise.
      	(ipa_maybe_record_reference): Likewise.
      	(ipa_clone_ref): Likewise.
      	(ipa_clone_references): Likewise.
      	(ipa_clone_referring): Likewise.
      	(ipa_find_reference): Likewise.
      	(ipa_remove_stmt_references): Likewise.
      	(ipa_clear_stmts_in_references): Likewise.
      	* ipa-ref.h (symtab_node_base): Likewise.
      	(ipa_ref): Likewise.
      	(ipa_record_reference): Likewise.
      	(ipa_maybe_record_reference): Likewise.
      	(ipa_clone_references): Likewise.
      	(ipa_clone_referring): Likewise.
      	(ipa_clone_ref): Likewise.
      	(ipa_find_reference): Likewise.
      	(ipa_remove_stmt_references): Likewise.
      	(ipa_clear_stmts_in_references): Likewise.
      	* ipa-reference.c (ipa_reference_write_optimization_summary):
      	Likewise.
      	* ipa.c (enqueue_node): Likewise.
      	(process_references): Likewise.
      	(walk_polymorphic_call_targets): Likewise.
      	(symtab_remove_unreachable_nodes): Likewise.
      	(address_taken_from_non_vtable_p): Likewise.
      	(comdat_can_be_unshared_p_1): Likewise.
      	(comdat_can_be_unshared_p): Likewise.
      	(can_replace_by_local_alias): Likewise.
      	(function_and_variable_visibility): Likewise.
      	* is-a.h: Likewise (within example in comment).
      	* lto-cgraph.c (input_cgraph_opt_summary): Likewise.
      	(lto_symtab_encoder_encode): Likewise.
      	(lto_symtab_encoder_delete_node): Likewise.
      	(lto_symtab_encoder_in_partition_p): Likewise.
      	(lto_set_symtab_encoder_in_partition): Likewise.
      	(output_refs): Likewise.
      	(compute_ltrans_boundary): Likewise.
      	(output_symtab): Likewise.
      	(input_node): Likewise.
      	(input_ref): Likewise.
      	(input_edge): Likewise.
      	(input_cgraph_1): Likewise.
      	(input_refs): Likewise.
      	(output_cgraph_opt_summary): Likewise.
      	(input_node_opt_summary): Likewise.
      	(input_cgraph_opt_section): Likewise.
      	* lto-section-in.c (lto_free_function_in_decl_state_for_node):
      	Likewise.
      	* lto-streamer-out.c (lto_output): Likewise.
      	(output_symbol_p): Likewise.
      	(produce_symtab): Likewise.
      	* lto-streamer.h (lto_encoder_entry): Likewise.
      	(lto_free_function_in_decl_state_for_node): Likewise.
      	(lto_symtab_encoder_encode): Likewise.
      	(lto_symtab_encoder_delete_node): Likewise.
      	(lto_symtab_encoder_in_partition_p): Likewise.
      	(lto_set_symtab_encoder_in_partition): Likewise.
      	(lto_symtab_encoder_lookup): Likewise.
      	(lsei_node): Likewise.
      	(lto_symtab_encoder_deref): Likewise.
      	* symtab.c (symtab_hash): Likewise.
      	(assembler_name_hash): Likewise.
      	(symtab_nodes): Likewise.
      	(hash_node): Likewise.
      	(eq_node): Likewise.
      	(hash_node_by_assembler_name): Likewise.
      	(eq_assembler_name): Likewise.
      	(insert_to_assembler_name_hash): Likewise.
      	(unlink_from_assembler_name_hash): Likewise.
      	(symtab_prevail_in_asm_name_hash): Likewise.
      	(symtab_register_node): Likewise.
      	(symtab_insert_node_to_hashtable): Likewise.
      	(symtab_unregister_node): Likewise.
      	(symtab_get_node): Likewise.
      	(symtab_remove_node): Likewise.
      	(symtab_initialize_asm_name_hash): Likewise.
      	(symtab_node_for_asm): Likewise.
      	(symtab_add_to_same_comdat_group): Likewise.
      	(symtab_dissolve_same_comdat_group_list): Likewise.
      	(symtab_node_asm_name): Likewise.
      	(symtab_node_name): Likewise.
      	(dump_symtab_base): Likewise.
      	(dump_symtab_node): Likewise.
      	(dump_symtab): Likewise.
      	(debug_symtab_node): Likewise.
      	(verify_symtab_base): Likewise.
      	(verify_symtab_node): Likewise.
      	(verify_symtab): Likewise.
      	(symtab_used_from_object_file_p): Likewise.
      	(symtab_node_availability): Likewise.
      	(symtab_alias_ultimate_target): Likewise.
      	(fixup_same_cpp_alias_visibility): Likewise.
      	(symtab_resolve_alias): Likewise.
      	(symtab_for_node_and_aliases): Likewise.
      	(symtab_for_node_and_aliases): Likewise.
      	(symtab_nonoverwritable_alias_1): Likewise.
      	(symtab_nonoverwritable_alias): Likewise.
      	(symtab_semantically_equivalent_p): Likewise.
      	* value-prof.c (init_node_map): Likewise.
      	* varasm.c (find_decl): Likewise.
      	* varpool.c (varpool_node_for_asm): Likewise.
      	(varpool_remove_unreferenced_decls): Likewise.
      
      gcc/c-family/
      
      	Patch autogenerated by rename_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      
      	* c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
      	symtab_node_base to symtab_node.
      
      gcc/lto/
      
      	Patch autogenerated by rename_symtab.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 58bb219cc090b2f4516a9297d868c245495ee622
      
      	* lto-partition.c (add_symbol_to_partition): Rename
      	symtab_node_base to symtab_node.
      	(get_symbol_class): Likewise.
      	(symbol_partitioned_p): Likewise.
      	(add_references_to_partition): Likewise.
      	(add_symbol_to_partition_1): Likewise.
      	(contained_in_symbol): Likewise.
      	(add_symbol_to_partition): Likewise.
      	(lto_1_to_1_map): Likewise.
      	(lto_max_map): Likewise.
      	(lto_balanced_map): Likewise.
      	(privatize_symbol_name): Likewise.
      	(promote_symbol): Likewise.
      	(may_need_named_section_p): Likewise.
      	(rename_statics): Likewise.
      	(lto_promote_statics_nonwpa): Likewise.
      	* lto-symtab.c (lto_symtab_merge): Likewise.
      	(lto_symtab_resolve_replaceable_p): Likewise.
      	(lto_symtab_symbol_p): Likewise.
      	(lto_symtab_resolve_can_prevail_p): Likewise.
      	(lto_symtab_resolve_symbols): Likewise.
      	(lto_symtab_merge_decls_2): Likewise.
      	(lto_symtab_merge_decls_1): Likewise.
      	(lto_symtab_merge_decls): Likewise.
      	(lto_symtab_merge_symbols_1): Likewise.
      	(lto_symtab_merge_symbols): Likewise.
      	(lto_symtab_prevailing_decl): Likewise.
      	* lto.c (lto_wpa_write_files): Likewise.
      	(read_cgraph_and_symbols): Likewise.
      	(do_whole_program_analysis): Likewise.
      
      From-SVN: r204279
      David Malcolm committed
  8. 30 Oct, 2013 1 commit
  9. 29 Oct, 2013 1 commit
    • 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
  10. 21 Oct, 2013 1 commit
    • Re-factor inclusion of tree.h. · 4d648807
      This moves tree.h out of every header. This exposes dependencies of
      tree.h in files that should probably not need it after tree and gimple
      are separated.
      
      After this change, no header should include tree.h directly. It should
      only be included by a .c file. Unfortunately, I did not find an
      automatic way of forcing this.
      
      Tested on x86_64 with all languages enabled and using
      contrib/config-list.mk.
      
      2013-10-21  Diego Novillo  <dnovillo@google.com>
      
      	* asan.c: Include tree.h
      	* bb-reorder.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* data-streamer-in.c: Likewise.
      	* data-streamer-out.c: Likewise.
      	* data-streamer.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa.c: Likewise.
      	* ira.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto/lto-object.c: Likewise.
      	* recog.c: Likewise.
      	* reginfo.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* value-prof.c: Likewise.
      	* target-globals.c: Likewise.
      	* expr.h: Include tree-core.h instead of tree.h.
      	* gimple.h: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-utils.h: Likewise.
      	* lto-streamer.h: Likewise.
      	* streamer-hooks.h: Likewise.
      	* ipa-reference.h: Include cgraph.h instead of tree.h.
      	* cgraph.h: Include basic-block.h instead of tree.h.
      	* tree-streamer.h: Do not include tree.h.
      	* genattrtab.c (write_header): Generate inclusion of
      	tree.h.
      	* genautomata.c (main): Likewise.
      	* genemit.c: Likewise.
      	* genopinit.c: Likewise.
      	* genoutput.c (output_prologue): Likewise.
      	* genpeep.c: Likewise.
      
      testsuite/ChangeLog
      
      	* g++.dg/plugin/selfassign.c: Include tree.h.
      	* gcc.dg/plugin/finish_unit_plugin.c: Likewise.
      	* gcc.dg/plugin/ggcplug.c: Likewise.
      	* gcc.dg/plugin/one_time_plugin.c: Likewise.
      	* gcc.dg/plugin/selfassign.c: Likewise.
      	* gcc.dg/plugin/start_unit_plugin.c: Likewise.
      
      From-SVN: r203908
      Diego Novillo committed
  11. 28 Sep, 2013 1 commit
    • alloc-pool.c, [...]: Add missing whitespace before "(". · c3284718
      gcc/
      	* alloc-pool.c, asan.c, auto-inc-dec.c, basic-block.h, bb-reorder.c,
      	bitmap.c, bitmap.h, bt-load.c, builtins.c, calls.c, cfgcleanup.c,
      	cfgexpand.c, cfghooks.c, cfgloop.c, cfgloopmanip.c, cfgrtl.c, cgraph.c,
      	cgraph.h, cgraphbuild.c, cgraphclones.c, cgraphunit.c, collect2.c,
      	combine-stack-adj.c, combine.c, compare-elim.c, context.c, context.h,
      	cprop.c, cse.c, cselib.c, dbxout.c, dce.c, defaults.h, df-core.c,
      	df-problems.c, df-scan.c, df.h, diagnostic.c, double-int.c, dse.c,
      	dumpfile.c, dwarf2asm.c, dwarf2cfi.c, dwarf2out.c, emit-rtl.c,
      	errors.c, except.c, expmed.c, expr.c, file-find.c, final.c,
      	fixed-value.c, fold-const.c, function.c, fwprop.c, gcc-ar.c, gcc.c,
      	gcov-io.c, gcov-io.h, gcov.c, gcse.c, genattr-common.c, genattr.c,
      	genattrtab.c, genautomata.c, genconfig.c, genemit.c, genextract.c,
      	genflags.c, gengenrtl.c, gengtype-state.c, gengtype.c, genmodes.c,
      	genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
      	gensupport.c, ggc-common.c, ggc-page.c, gimple-fold.c, gimple-low.c,
      	gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimple.c,
      	gimple.h, godump.c, graphite-clast-to-gimple.c,
      	graphite-optimize-isl.c, graphite-poly.h, graphite-sese-to-poly.c,
      	graphite.c, haifa-sched.c, hash-table.c, hash-table.h, hwint.c,
      	hwint.h, ifcvt.c, incpath.c, init-regs.c, input.h, intl.c, intl.h,
      	ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
      	ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c,
      	ipa-utils.c, ipa.c, ira-build.c, ira.c, jump.c, loop-doloop.c,
      	loop-init.c, loop-invariant.c, loop-iv.c, lower-subreg.c, lto-cgraph.c,
      	lto-streamer-in.c, lto-streamer-out.c, lto-wrapper.c, mcf.c,
      	mode-switching.c, modulo-sched.c, omp-low.c, optabs.c, opts.c,
      	pass_manager.h, passes.c, plugin.c, postreload-gcse.c, postreload.c,
      	predict.c, prefix.c, pretty-print.c, print-rtl.c, print-tree.c,
      	profile.c, read-md.c, real.c, real.h, recog.c, ree.c, reg-stack.c,
      	regcprop.c, reginfo.c, regmove.c, regrename.c, regs.h, regstat.c,
      	reload1.c, reorg.c, rtl.c, rtl.h, rtlanal.c, sbitmap.c, sched-rgn.c,
      	sdbout.c, sel-sched-ir.c, sel-sched.c, sparseset.c, stack-ptr-mod.c,
      	statistics.c, stmt.c, stor-layout.c, store-motion.c, streamer-hooks.h,
      	system.h, target-hooks-macros.h, targhooks.c, targhooks.h, toplev.c,
      	tracer.c, trans-mem.c, tree-browser.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-data-ref.c, tree-data-ref.h,
      	tree-eh.c, tree-emutls.c, tree-flow.h, tree-if-conv.c, tree-into-ssa.c,
      	tree-iterator.c, tree-loop-distribution.c, tree-mudflap.c,
      	tree-nested.c, tree-nomudflap.c, tree-nrv.c, tree-object-size.c,
      	tree-optimize.c, tree-pass.h, tree-pretty-print.c, tree-profile.c,
      	tree-scalar-evolution.c, tree-sra.c, tree-ssa-ccp.c,
      	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
      	tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
      	tree-ssa-ifcombine.c, tree-ssa-live.c, tree-ssa-loop-ch.c,
      	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
      	tree-ssa-uncprop.c, tree-ssa-uninit.c, tree-ssa.c, tree-ssanames.c,
      	tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
      	tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
      	tree-vect-stmts.c, tree-vectorizer.c, tree-vectorizer.h, tree-vrp.c,
      	tree.c, tree.h, tsan.c, tsystem.h, value-prof.c, var-tracking.c,
      	varasm.c, vec.h, vmsdbgout.c, vtable-verify.c, web.c: Add missing
      	whitespace before "(".
      
      From-SVN: r203004
      Richard Sandiford committed
  12. 17 Sep, 2013 1 commit
    • re PR ipa/58329 (ld: Invalid symbol type for plabel… · 5b79657a
      re PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11convenience.a/system_error.o, std::error_category::default_error_condition(int) const [clone .localalias.9]).)
      
      	PR middle-end/58329
      	* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
      	to return NULL.
      	* ipa.c (function_and_variable_visibility): Likewise.
      	* ipa-profile.c (ipa_profile): Likewise.
      
      From-SVN: r202657
      Jan Hubicka committed
  13. 09 Sep, 2013 1 commit
  14. 08 Sep, 2013 2 commits
    • devirt-11.C: Update template. · 3462aa02
      	* testsuite/g++.dg/ipa/devirt-11.C: Update template.
      	* testsuite/g++.dg/ipa/devirt-16.C: New testcase.
      	* testsuite/g++.dg/ipa/devirt-17.C: New testcase.
      	* testsuite/g++.dg/ipa/devirt-18.C: New testcase.
      
      	* cgraphunit.c (walk_polymorphic_call_targets): Permit 0 possible
      	targets and devirtualize to BUILT_IN_UNREACHABLE.
      	* timevar.def (TV_IPA_UNREACHABLE): New timevar.
      	* ipa.c (walk_polymorphic_call_targets): New function.
      	(symtab_remove_unreachable_nodes): Use it; do not keep all virtual
      	functions; use the new timevar.
      	* ipa-devirt.c (maybe_record_node): Do not insert static nodes that
      	was removed from the program.
      	(record_binfo): If BINFO corresponds to an anonymous namespace, we may
      	not consider it in the walk when its vtable is dead.
      	(possible_polymorphic_call_targets_1): Pass anonymous flag to
      	record_binfo.
      	(devirt_variable_node_removal_hook): New function.
      	(possible_polymorphic_call_targets): Also register
      	devirt_variable_node_removal_hook.
      	(ipa_devirt): Do not do non-speculative devirtualization.
      	(gate_ipa_devirt): One execute if devirtualizing speculatively.
      
      From-SVN: r202368
      Jan Hubicka committed
  15. 04 Sep, 2013 1 commit
    • Makefile.in (ipa-devirt.o): Add dependency on diagnostic.h · 61a74079
      	* Makefile.in (ipa-devirt.o): Add dependency on diagnostic.h
      	* ipa-devirt.c: Include diganostic.h
      	(odr_type_d): Add types and types_set.
      	(hash_type_name): Work for types with vtables during LTO.
      	(odr_hasher::remove): Fix comment; destroy types_set.
      	(add_type_duplicate): New function,
      	(get_odr_type): Use it.
      	(dump_type_inheritance_graph): Dump type duplicates.
      	* ipa.c (symtab_remove_unreachable_nodes): Build type inheritance
      	graph.
      	* tree.c (types_same_for_odr): Give exact answers on types with
      	virtual tables.
      
      From-SVN: r202258
      Jan Hubicka committed
  16. 01 Sep, 2013 1 commit
    • Makefile.in: Add ipa-profile.o · 08f835dc
      	* Makefile.in: Add ipa-profile.o
      	(ipa.o, ipa-devrit.o, ipa-inline-analysis.o): Adjust dependencies.
      	* cgraph.c (struct cgraph_propagate_frequency_data,
      	cgraph_propagate_frequency_1, cgraph_propagate_frequency): Move to
      	ipa-profile.c; replace cgraph_ by ipa_ prefix.
      	* cgraph.h (cgraph_propagate_frequency): Remove.
      	* ipa-inline-analysis.c: Include ipa-utils.h; drop duplicated cfgloop.h.
      	(inline_update_callee_summaries): Update.
      	* ipa-profile.c: New file.
      	* ipa-utils.h (ipa_propagate_frequency): Declare.
      	* ipa.c: Do not include pointer-set.h, hash-table.h, lto-streamer.h,
      	data-streamer.h, value-prof.h
      	(symtab_remove_unreachable_nodes): Update profile.
      	(struct histogram_entry, histogram, histogram_pool, histogram_hash,
      	account_time_size, cmp_counts, dump_histogram,
      	ipa_profile_generate_summary, ipa_profile_write_summary,
      	ipa_profile_read_summary, ipa_profile, gate_ipa_profile,
      	pass_data_ipa_profile, pass_ipa_profile, make_pass_ipa_profile):
      	Move to ipa-profile.c
      
      From-SVN: r202154
      Jan Hubicka committed
  17. 26 Aug, 2013 1 commit
  18. 22 Aug, 2013 1 commit
  19. 21 Aug, 2013 1 commit
  20. 13 Aug, 2013 1 commit
    • cgraph.c (cgraph_turn_edge_to_speculative): Return newly introduced edge; fix typo in sanity check. · 09ce3660
      	* cgraph.c (cgraph_turn_edge_to_speculative): Return newly
      	introduced edge; fix typo in sanity check.
      	(cgraph_resolve_speculation): Export; improve diagnostic.
      	(cgraph_redirect_edge_call_stmt_to_callee): Better diagnostic; cancel
      	speculation at type mismatch.
      	* cgraph.h (cgraph_turn_edge_to_speculative): Update.
      	(cgraph_resolve_speculation): Declare.
      	(symtab_can_be_discarded): New function.
      	* value-prof.c (gimple_ic_transform): Remove actual transform code.
      	* ipa-inline-transform.c (speculation_removed): New global var.
      	(clone_inlined_nodes): See if speculation can be removed.
      	(inline_call): If speculations was removed, we growths may not match.
      	* ipa-inline.c (can_inline_edge_p): Add DISREGARD_LIMITS parameter.
      	(speculation_useful_p): New function.
      	(resolve_noninline_speculation): New function.
      	(inline_small_functions): Resolve useless speculations.
      	* ipa-inline.h (speculation_useful_p): Declare
      	* ipa.c (can_replace_by_local_alias): Simplify.
      	(ipa_profile): Produce speculative calls in non-lto, too;
      	add simple cost model; produce local aliases.
      
      From-SVN: r201683
      Jan Hubicka committed
  21. 09 Aug, 2013 1 commit
    • cgraph.c (cgraph_resolve_speculation): Cut frequency to CGRAPH_FREQ_MAX. · 634ab819
      	* cgraph.c (cgraph_resolve_speculation): Cut frequency to
      	CGRAPH_FREQ_MAX.
      	(dump_cgraph_node): Dump profile-id.
      	* cgraph.h (cgraph_indirect_call_info): Add common_target_id
      	and common_target_probability.
      	* lto-cgraph.c (lto_output_edge): Stream common targets.
      	(lto_output_node): Stream profile ids.
      	(input_node): Stream profile ids.
      	(input_edge): Stream common targets.
      	* lto-streamer-in.c (fixup_call_stmt_edges_1): Fix formatting.
      	* ipa.c: Include value-prof.h
      	(ipa_profile_generate_summary): Turn indirect call statement histograms
      	into common targets.
      	(ipa_profile): Turn common targets into speculative edges.
      
      	* gcc.dg/tree-prof/crossmodule-indircall-1.c: New testcase.
      	* gcc.dg/tree-prof/crossmodule-indircall-1a.c: New testcase.
      
      From-SVN: r201639
      Jan Hubicka committed
  22. 06 Aug, 2013 1 commit
    • cgraph.c (cgraph_get_body): New function based on lto.c implementation. · a2e2a668
      	* cgraph.c (cgraph_get_body): New function based on lto.c
      	implementation.
      	* cgraph.h (cgraph_get_body): Declare.
      	* cgraphclones.c (cgraph_create_virtual_clone): Commonize WPA and LTO paths.
      	* cgraphunit.c (expand_function): Get body prior expanding.
      	* ipa.c (function_and_variable_visibility): Use gimple_has_body_p test.
      	* lto-cgraph.c (lto_output_node): Do not stream bodies we don't really need.
      	* passes.c (do_per_function_toporder): Get body.
      	* tree-inline.c (expand_call_inline): Get body prior inlining it.
      	* tree-ssa-structalias.c (ipa_pta_execute): Get body; skip clones.
      
      	* lto.c (lto_materialize_function): Do not read body anymore.
      
      From-SVN: r201537
      Jan Hubicka committed
  23. 05 Aug, 2013 2 commits
    • Automated conversion of passes to C++ classes · 27a4cd48
      gcc/
      
      	Patch autogenerated by refactor_passes.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 03fe39476a4c4ea450b49e087cfa817b5f92021e
      
      	* asan.c (pass_asan): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_asan): ...new pass_data instance and...
      	(make_pass_asan): ...new function.
      	(pass_asan_O0): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_asan_O0): ...new pass_data instance and...
      	(make_pass_asan_O0): ...new function.
      	* auto-inc-dec.c (pass_inc_dec): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_inc_dec): ...new pass_data instance and...
      	(make_pass_inc_dec): ...new function.
      	* bb-reorder.c (pass_reorder_blocks): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_reorder_blocks): ...new pass_data instance and...
      	(make_pass_reorder_blocks): ...new function.
      	(pass_duplicate_computed_gotos): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_duplicate_computed_gotos): ...new pass_data instance and...
      	(make_pass_duplicate_computed_gotos): ...new function.
      	(pass_partition_blocks): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_partition_blocks): ...new pass_data instance and...
      	(make_pass_partition_blocks): ...new function.
      	* bt-load.c (pass_branch_target_load_optimize1): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_branch_target_load_optimize1): ...new pass_data instance
      	and...
      	(make_pass_branch_target_load_optimize1): ...new function.
      	(pass_branch_target_load_optimize2): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_branch_target_load_optimize2): ...new pass_data instance
      	and...
      	(make_pass_branch_target_load_optimize2): ...new function.
      	* cfgcleanup.c (pass_jump): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_jump): ...new pass_data instance and...
      	(make_pass_jump): ...new function.
      	(pass_jump2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_jump2): ...new pass_data instance and...
      	(make_pass_jump2): ...new function.
      	* cfgexpand.c (pass_expand): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_expand): ...new pass_data instance and...
      	(make_pass_expand): ...new function.
      	* cfgrtl.c (pass_free_cfg): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_free_cfg): ...new pass_data instance and...
      	(make_pass_free_cfg): ...new function.
      	(pass_into_cfg_layout_mode): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_into_cfg_layout_mode): ...new pass_data instance and...
      	(make_pass_into_cfg_layout_mode): ...new function.
      	(pass_outof_cfg_layout_mode): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_outof_cfg_layout_mode): ...new pass_data instance and...
      	(make_pass_outof_cfg_layout_mode): ...new function.
      	* cgraphbuild.c (pass_build_cgraph_edges): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_build_cgraph_edges): ...new pass_data instance and...
      	(make_pass_build_cgraph_edges): ...new function.
      	(pass_rebuild_cgraph_edges): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_rebuild_cgraph_edges): ...new pass_data instance and...
      	(make_pass_rebuild_cgraph_edges): ...new function.
      	(pass_remove_cgraph_callee_edges): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_remove_cgraph_callee_edges): ...new pass_data instance
      	and...
      	(make_pass_remove_cgraph_callee_edges): ...new function.
      	* combine-stack-adj.c (pass_stack_adjustments): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_stack_adjustments): ...new pass_data instance and...
      	(make_pass_stack_adjustments): ...new function.
      	* combine.c (pass_combine): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_combine): ...new pass_data instance and...
      	(make_pass_combine): ...new function.
      	* compare-elim.c (pass_compare_elim_after_reload): Convert from a
      	global struct to a subclass of rtl_opt_pass along with...
      	(pass_data_compare_elim_after_reload): ...new pass_data instance
      	and...
      	(make_pass_compare_elim_after_reload): ...new function.
      	* cprop.c (pass_rtl_cprop): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_rtl_cprop): ...new pass_data instance and...
      	(make_pass_rtl_cprop): ...new function.
      	* cse.c (pass_cse): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_cse): ...new pass_data instance and...
      	(make_pass_cse): ...new function.
      	(pass_cse2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_cse2): ...new pass_data instance and...
      	(make_pass_cse2): ...new function.
      	(pass_cse_after_global_opts): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_cse_after_global_opts): ...new pass_data instance and...
      	(make_pass_cse_after_global_opts): ...new function.
      	* dce.c (pass_ud_rtl_dce): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_ud_rtl_dce): ...new pass_data instance and...
      	(make_pass_ud_rtl_dce): ...new function.
      	(pass_fast_rtl_dce): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_fast_rtl_dce): ...new pass_data instance and...
      	(make_pass_fast_rtl_dce): ...new function.
      	* df-core.c (pass_df_initialize_opt): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_df_initialize_opt): ...new pass_data instance and...
      	(make_pass_df_initialize_opt): ...new function.
      	(pass_df_initialize_no_opt): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_df_initialize_no_opt): ...new pass_data instance and...
      	(make_pass_df_initialize_no_opt): ...new function.
      	(pass_df_finish): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_df_finish): ...new pass_data instance and...
      	(make_pass_df_finish): ...new function.
      	* dse.c (pass_rtl_dse1): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_dse1): ...new pass_data instance and...
      	(make_pass_rtl_dse1): ...new function.
      	(pass_rtl_dse2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_dse2): ...new pass_data instance and...
      	(make_pass_rtl_dse2): ...new function.
      	* dwarf2cfi.c (pass_dwarf2_frame): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_dwarf2_frame): ...new pass_data instance and...
      	(make_pass_dwarf2_frame): ...new function.
      	* except.c (pass_set_nothrow_function_flags): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_set_nothrow_function_flags): ...new pass_data instance
      	and...
      	(make_pass_set_nothrow_function_flags): ...new function.
      	(pass_convert_to_eh_region_ranges): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_convert_to_eh_region_ranges): ...new pass_data instance
      	and...
      	(make_pass_convert_to_eh_region_ranges): ...new function.
      	* final.c (pass_compute_alignments): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_compute_alignments): ...new pass_data instance and...
      	(make_pass_compute_alignments): ...new function.
      	(pass_final): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_final): ...new pass_data instance and...
      	(make_pass_final): ...new function.
      	(pass_shorten_branches): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_shorten_branches): ...new pass_data instance and...
      	(make_pass_shorten_branches): ...new function.
      	(pass_clean_state): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_clean_state): ...new pass_data instance and...
      	(make_pass_clean_state): ...new function.
      	* function.c (pass_instantiate_virtual_regs): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_instantiate_virtual_regs): ...new pass_data instance and...
      	(make_pass_instantiate_virtual_regs): ...new function.
      	(pass_leaf_regs): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_leaf_regs): ...new pass_data instance and...
      	(make_pass_leaf_regs): ...new function.
      	(pass_thread_prologue_and_epilogue): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_thread_prologue_and_epilogue): ...new pass_data instance
      	and...
      	(make_pass_thread_prologue_and_epilogue): ...new function.
      	(pass_match_asm_constraints): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_match_asm_constraints): ...new pass_data instance and...
      	(make_pass_match_asm_constraints): ...new function.
      	* fwprop.c (pass_rtl_fwprop): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_rtl_fwprop): ...new pass_data instance and...
      	(make_pass_rtl_fwprop): ...new function.
      	(pass_rtl_fwprop_addr): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_fwprop_addr): ...new pass_data instance and...
      	(make_pass_rtl_fwprop_addr): ...new function.
      	* gcse.c (pass_rtl_pre): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_pre): ...new pass_data instance and...
      	(make_pass_rtl_pre): ...new function.
      	(pass_rtl_hoist): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_hoist): ...new pass_data instance and...
      	(make_pass_rtl_hoist): ...new function.
      	* gimple-low.c (pass_lower_cf): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_lower_cf): ...new pass_data instance and...
      	(make_pass_lower_cf): ...new function.
      	* gimple-ssa-strength-reduction.c (pass_strength_reduction): Convert
      	from a global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_strength_reduction): ...new pass_data instance and...
      	(make_pass_strength_reduction): ...new function.
      	* ifcvt.c (pass_rtl_ifcvt): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_rtl_ifcvt): ...new pass_data instance and...
      	(make_pass_rtl_ifcvt): ...new function.
      	(pass_if_after_combine): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_if_after_combine): ...new pass_data instance and...
      	(make_pass_if_after_combine): ...new function.
      	(pass_if_after_reload): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_if_after_reload): ...new pass_data instance and...
      	(make_pass_if_after_reload): ...new function.
      	* init-regs.c (pass_initialize_regs): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_initialize_regs): ...new pass_data instance and...
      	(make_pass_initialize_regs): ...new function.
      	* ipa-cp.c (pass_ipa_cp): Convert from a global struct to a subclass
      	of ipa_opt_pass_d along with...
      	(pass_data_ipa_cp): ...new pass_data instance and...
      	(make_pass_ipa_cp): ...new function.
      	* ipa-inline-analysis.c (pass_inline_parameters): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_inline_parameters): ...new pass_data instance and...
      	(make_pass_inline_parameters): ...new function.
      	* ipa-inline.c (pass_early_inline): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_early_inline): ...new pass_data instance and...
      	(make_pass_early_inline): ...new function.
      	(pass_ipa_inline): Convert from a global struct to a subclass of
      	ipa_opt_pass_d along with...
      	(pass_data_ipa_inline): ...new pass_data instance and...
      	(make_pass_ipa_inline): ...new function.
      	* ipa-pure-const.c (pass_local_pure_const): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_local_pure_const): ...new pass_data instance and...
      	(make_pass_local_pure_const): ...new function.
      	(pass_ipa_pure_const): Convert from a global struct to a subclass of
      	ipa_opt_pass_d along with...
      	(pass_data_ipa_pure_const): ...new pass_data instance and...
      	(make_pass_ipa_pure_const): ...new function.
      	* ipa-reference.c (pass_ipa_reference): Convert from a global struct
      	to a subclass of ipa_opt_pass_d along with...
      	(pass_data_ipa_reference): ...new pass_data instance and...
      	(make_pass_ipa_reference): ...new function.
      	* ipa-split.c (pass_split_functions): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_split_functions): ...new pass_data instance and...
      	(make_pass_split_functions): ...new function.
      	(pass_feedback_split_functions): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_feedback_split_functions): ...new pass_data instance and...
      	(make_pass_feedback_split_functions): ...new function.
      	* ipa.c (pass_ipa_function_and_variable_visibility): Convert from a
      	global struct to a subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_function_and_variable_visibility): ...new pass_data
      	instance and...
      	(make_pass_ipa_function_and_variable_visibility): ...new function.
      	(pass_ipa_free_inline_summary): Convert from a global struct to a
      	subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_free_inline_summary): ...new pass_data instance and...
      	(make_pass_ipa_free_inline_summary): ...new function.
      	(pass_ipa_whole_program_visibility): Convert from a global struct to a
      	subclass of ipa_opt_pass_d along with...
      	(pass_data_ipa_whole_program_visibility): ...new pass_data instance
      	and...
      	(make_pass_ipa_whole_program_visibility): ...new function.
      	(pass_ipa_profile): Convert from a global struct to a subclass of
      	ipa_opt_pass_d along with...
      	(pass_data_ipa_profile): ...new pass_data instance and...
      	(make_pass_ipa_profile): ...new function.
      	(pass_ipa_cdtor_merge): Convert from a global struct to a subclass of
      	ipa_opt_pass_d along with...
      	(pass_data_ipa_cdtor_merge): ...new pass_data instance and...
      	(make_pass_ipa_cdtor_merge): ...new function.
      	* ira.c (pass_ira): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_ira): ...new pass_data instance and...
      	(make_pass_ira): ...new function.
      	(pass_reload): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_reload): ...new pass_data instance and...
      	(make_pass_reload): ...new function.
      	* jump.c (pass_cleanup_barriers): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_cleanup_barriers): ...new pass_data instance and...
      	(make_pass_cleanup_barriers): ...new function.
      	* loop-init.c (pass_loop2): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_loop2): ...new pass_data instance and...
      	(make_pass_loop2): ...new function.
      	(pass_rtl_loop_init): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_loop_init): ...new pass_data instance and...
      	(make_pass_rtl_loop_init): ...new function.
      	(pass_rtl_loop_done): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_loop_done): ...new pass_data instance and...
      	(make_pass_rtl_loop_done): ...new function.
      	(pass_rtl_move_loop_invariants): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_rtl_move_loop_invariants): ...new pass_data instance and...
      	(make_pass_rtl_move_loop_invariants): ...new function.
      	(pass_rtl_unswitch): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_unswitch): ...new pass_data instance and...
      	(make_pass_rtl_unswitch): ...new function.
      	(pass_rtl_unroll_and_peel_loops): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_rtl_unroll_and_peel_loops): ...new pass_data instance
      	and...
      	(make_pass_rtl_unroll_and_peel_loops): ...new function.
      	(pass_rtl_doloop): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_doloop): ...new pass_data instance and...
      	(make_pass_rtl_doloop): ...new function.
      	* lower-subreg.c (pass_lower_subreg): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_lower_subreg): ...new pass_data instance and...
      	(make_pass_lower_subreg): ...new function.
      	(pass_lower_subreg2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_lower_subreg2): ...new pass_data instance and...
      	(make_pass_lower_subreg2): ...new function.
      	* lto-streamer-out.c (pass_ipa_lto_gimple_out): Convert from a global
      	struct to a subclass of ipa_opt_pass_d along with...
      	(pass_data_ipa_lto_gimple_out): ...new pass_data instance and...
      	(make_pass_ipa_lto_gimple_out): ...new function.
      	(pass_ipa_lto_finish_out): Convert from a global struct to a subclass
      	of ipa_opt_pass_d along with...
      	(pass_data_ipa_lto_finish_out): ...new pass_data instance and...
      	(make_pass_ipa_lto_finish_out): ...new function.
      	* mode-switching.c (pass_mode_switching): Convert from a global struct
      	to a subclass of rtl_opt_pass along with...
      	(pass_data_mode_switching): ...new pass_data instance and...
      	(make_pass_mode_switching): ...new function.
      	* modulo-sched.c (pass_sms): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_sms): ...new pass_data instance and...
      	(make_pass_sms): ...new function.
      	* omp-low.c (pass_expand_omp): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_expand_omp): ...new pass_data instance and...
      	(make_pass_expand_omp): ...new function.
      	(pass_lower_omp): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_omp): ...new pass_data instance and...
      	(make_pass_lower_omp): ...new function.
      	(pass_diagnose_omp_blocks): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_diagnose_omp_blocks): ...new pass_data instance and...
      	(make_pass_diagnose_omp_blocks): ...new function.
      	* passes.c (pass_early_local_passes): Convert from a global struct to
      	a subclass of simple_ipa_opt_pass along with...
      	(pass_data_early_local_passes): ...new pass_data instance and...
      	(make_pass_early_local_passes): ...new function.
      	(pass_all_early_optimizations): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_all_early_optimizations): ...new pass_data instance and...
      	(make_pass_all_early_optimizations): ...new function.
      	(pass_all_optimizations): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_all_optimizations): ...new pass_data instance and...
      	(make_pass_all_optimizations): ...new function.
      	(pass_all_optimizations_g): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_all_optimizations_g): ...new pass_data instance and...
      	(make_pass_all_optimizations_g): ...new function.
      	(pass_rest_of_compilation): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_rest_of_compilation): ...new pass_data instance and...
      	(make_pass_rest_of_compilation): ...new function.
      	(pass_postreload): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_postreload): ...new pass_data instance and...
      	(make_pass_postreload): ...new function.
      	* postreload-gcse.c (pass_gcse2): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_gcse2): ...new pass_data instance and...
      	(make_pass_gcse2): ...new function.
      	* postreload.c (pass_postreload_cse): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_postreload_cse): ...new pass_data instance and...
      	(make_pass_postreload_cse): ...new function.
      	* predict.c (pass_profile): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_profile): ...new pass_data instance and...
      	(make_pass_profile): ...new function.
      	(pass_strip_predict_hints): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_strip_predict_hints): ...new pass_data instance and...
      	(make_pass_strip_predict_hints): ...new function.
      	* recog.c (pass_peephole2): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_peephole2): ...new pass_data instance and...
      	(make_pass_peephole2): ...new function.
      	(pass_split_all_insns): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_split_all_insns): ...new pass_data instance and...
      	(make_pass_split_all_insns): ...new function.
      	(pass_split_after_reload): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_split_after_reload): ...new pass_data instance and...
      	(make_pass_split_after_reload): ...new function.
      	(pass_split_before_regstack): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_split_before_regstack): ...new pass_data instance and...
      	(make_pass_split_before_regstack): ...new function.
      	(pass_split_before_sched2): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_split_before_sched2): ...new pass_data instance and...
      	(make_pass_split_before_sched2): ...new function.
      	(pass_split_for_shorten_branches): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_split_for_shorten_branches): ...new pass_data instance
      	and...
      	(make_pass_split_for_shorten_branches): ...new function.
      	* ree.c (pass_ree): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_ree): ...new pass_data instance and...
      	(make_pass_ree): ...new function.
      	* reg-stack.c (pass_stack_regs): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_stack_regs): ...new pass_data instance and...
      	(make_pass_stack_regs): ...new function.
      	(pass_stack_regs_run): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_stack_regs_run): ...new pass_data instance and...
      	(make_pass_stack_regs_run): ...new function.
      	* regcprop.c (pass_cprop_hardreg): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_cprop_hardreg): ...new pass_data instance and...
      	(make_pass_cprop_hardreg): ...new function.
      	* reginfo.c (pass_reginfo_init): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_reginfo_init): ...new pass_data instance and...
      	(make_pass_reginfo_init): ...new function.
      	* regmove.c (pass_regmove): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_regmove): ...new pass_data instance and...
      	(make_pass_regmove): ...new function.
      	* regrename.c (pass_regrename): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_regrename): ...new pass_data instance and...
      	(make_pass_regrename): ...new function.
      	* reorg.c (pass_delay_slots): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_delay_slots): ...new pass_data instance and...
      	(make_pass_delay_slots): ...new function.
      	(pass_machine_reorg): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_machine_reorg): ...new pass_data instance and...
      	(make_pass_machine_reorg): ...new function.
      	* sched-rgn.c (pass_sched): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_sched): ...new pass_data instance and...
      	(make_pass_sched): ...new function.
      	(pass_sched2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_sched2): ...new pass_data instance and...
      	(make_pass_sched2): ...new function.
      	* stack-ptr-mod.c (pass_stack_ptr_mod): Convert from a global struct
      	to a subclass of rtl_opt_pass along with...
      	(pass_data_stack_ptr_mod): ...new pass_data instance and...
      	(make_pass_stack_ptr_mod): ...new function.
      	* store-motion.c (pass_rtl_store_motion): Convert from a global struct
      	to a subclass of rtl_opt_pass along with...
      	(pass_data_rtl_store_motion): ...new pass_data instance and...
      	(make_pass_rtl_store_motion): ...new function.
      	* tracer.c (pass_tracer): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_tracer): ...new pass_data instance and...
      	(make_pass_tracer): ...new function.
      	* trans-mem.c (pass_diagnose_tm_blocks): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_diagnose_tm_blocks): ...new pass_data instance and...
      	(make_pass_diagnose_tm_blocks): ...new function.
      	(pass_lower_tm): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_tm): ...new pass_data instance and...
      	(make_pass_lower_tm): ...new function.
      	(pass_tm_init): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tm_init): ...new pass_data instance and...
      	(make_pass_tm_init): ...new function.
      	(pass_tm_mark): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tm_mark): ...new pass_data instance and...
      	(make_pass_tm_mark): ...new function.
      	(pass_tm_edges): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tm_edges): ...new pass_data instance and...
      	(make_pass_tm_edges): ...new function.
      	(pass_tm_memopt): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tm_memopt): ...new pass_data instance and...
      	(make_pass_tm_memopt): ...new function.
      	(pass_ipa_tm): Convert from a global struct to a subclass of
      	simple_ipa_opt_pass along with...
      	(pass_data_ipa_tm): ...new pass_data instance and...
      	(make_pass_ipa_tm): ...new function.
      	* tree-call-cdce.c (pass_call_cdce): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_call_cdce): ...new pass_data instance and...
      	(make_pass_call_cdce): ...new function.
      	* tree-cfg.c (pass_build_cfg): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_build_cfg): ...new pass_data instance and...
      	(make_pass_build_cfg): ...new function.
      	(pass_split_crit_edges): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_split_crit_edges): ...new pass_data instance and...
      	(make_pass_split_crit_edges): ...new function.
      	(pass_warn_function_return): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_warn_function_return): ...new pass_data instance and...
      	(make_pass_warn_function_return): ...new function.
      	(pass_warn_function_noreturn): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_warn_function_noreturn): ...new pass_data instance and...
      	(make_pass_warn_function_noreturn): ...new function.
      	(pass_warn_unused_result): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_warn_unused_result): ...new pass_data instance and...
      	(make_pass_warn_unused_result): ...new function.
      	* tree-cfgcleanup.c (pass_merge_phi): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_merge_phi): ...new pass_data instance and...
      	(make_pass_merge_phi): ...new function.
      	* tree-complex.c (pass_lower_complex): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_lower_complex): ...new pass_data instance and...
      	(make_pass_lower_complex): ...new function.
      	(pass_lower_complex_O0): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_complex_O0): ...new pass_data instance and...
      	(make_pass_lower_complex_O0): ...new function.
      	* tree-eh.c (pass_lower_eh): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_lower_eh): ...new pass_data instance and...
      	(make_pass_lower_eh): ...new function.
      	(pass_refactor_eh): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_refactor_eh): ...new pass_data instance and...
      	(make_pass_refactor_eh): ...new function.
      	(pass_lower_resx): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_resx): ...new pass_data instance and...
      	(make_pass_lower_resx): ...new function.
      	(pass_lower_eh_dispatch): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_lower_eh_dispatch): ...new pass_data instance and...
      	(make_pass_lower_eh_dispatch): ...new function.
      	(pass_cleanup_eh): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_cleanup_eh): ...new pass_data instance and...
      	(make_pass_cleanup_eh): ...new function.
      	* tree-emutls.c (pass_ipa_lower_emutls): Convert from a global struct
      	to a subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_lower_emutls): ...new pass_data instance and...
      	(make_pass_ipa_lower_emutls): ...new function.
      	* tree-if-conv.c (pass_if_conversion): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_if_conversion): ...new pass_data instance and...
      	(make_pass_if_conversion): ...new function.
      	* tree-into-ssa.c (pass_build_ssa): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_build_ssa): ...new pass_data instance and...
      	(make_pass_build_ssa): ...new function.
      	* tree-loop-distribution.c (pass_loop_distribution): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_loop_distribution): ...new pass_data instance and...
      	(make_pass_loop_distribution): ...new function.
      	* tree-mudflap.c (pass_mudflap_1): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_mudflap_1): ...new pass_data instance and...
      	(make_pass_mudflap_1): ...new function.
      	(pass_mudflap_2): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_mudflap_2): ...new pass_data instance and...
      	(make_pass_mudflap_2): ...new function.
      	* tree-nomudflap.c (pass_mudflap_1): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_mudflap_1): ...new pass_data instance and...
      	(make_pass_mudflap_1): ...new function.
      	(pass_mudflap_2): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_mudflap_2): ...new pass_data instance and...
      	(make_pass_mudflap_2): ...new function.
      	* tree-nrv.c (pass_nrv): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_nrv): ...new pass_data instance and...
      	(make_pass_nrv): ...new function.
      	(pass_return_slot): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_return_slot): ...new pass_data instance and...
      	(make_pass_return_slot): ...new function.
      	* tree-object-size.c (pass_object_sizes): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_object_sizes): ...new pass_data instance and...
      	(make_pass_object_sizes): ...new function.
      	* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_cleanup_cfg_post_optimizing): ...new pass_data instance
      	and...
      	(make_pass_cleanup_cfg_post_optimizing): ...new function.
      	(pass_fixup_cfg): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_fixup_cfg): ...new pass_data instance and...
      	(make_pass_fixup_cfg): ...new function.
      	* tree-pass.h (pass_mudflap_1): Replace declaration with that of...
      	(make_pass_mudflap_1): ...new function.
      	(pass_mudflap_2): Replace declaration with that of...
      	(make_pass_mudflap_2): ...new function.
      	(pass_asan): Replace declaration with that of...
      	(make_pass_asan): ...new function.
      	(pass_asan_O0): Replace declaration with that of...
      	(make_pass_asan_O0): ...new function.
      	(pass_tsan): Replace declaration with that of...
      	(make_pass_tsan): ...new function.
      	(pass_tsan_O0): Replace declaration with that of...
      	(make_pass_tsan_O0): ...new function.
      	(pass_lower_cf): Replace declaration with that of...
      	(make_pass_lower_cf): ...new function.
      	(pass_refactor_eh): Replace declaration with that of...
      	(make_pass_refactor_eh): ...new function.
      	(pass_lower_eh): Replace declaration with that of...
      	(make_pass_lower_eh): ...new function.
      	(pass_lower_eh_dispatch): Replace declaration with that of...
      	(make_pass_lower_eh_dispatch): ...new function.
      	(pass_lower_resx): Replace declaration with that of...
      	(make_pass_lower_resx): ...new function.
      	(pass_build_cfg): Replace declaration with that of...
      	(make_pass_build_cfg): ...new function.
      	(pass_early_tree_profile): Replace declaration with that of...
      	(make_pass_early_tree_profile): ...new function.
      	(pass_cleanup_eh): Replace declaration with that of...
      	(make_pass_cleanup_eh): ...new function.
      	(pass_sra): Replace declaration with that of...
      	(make_pass_sra): ...new function.
      	(pass_sra_early): Replace declaration with that of...
      	(make_pass_sra_early): ...new function.
      	(pass_early_ipa_sra): Replace declaration with that of...
      	(make_pass_early_ipa_sra): ...new function.
      	(pass_tail_recursion): Replace declaration with that of...
      	(make_pass_tail_recursion): ...new function.
      	(pass_tail_calls): Replace declaration with that of...
      	(make_pass_tail_calls): ...new function.
      	(pass_tree_loop): Replace declaration with that of...
      	(make_pass_tree_loop): ...new function.
      	(pass_tree_loop_init): Replace declaration with that of...
      	(make_pass_tree_loop_init): ...new function.
      	(pass_lim): Replace declaration with that of...
      	(make_pass_lim): ...new function.
      	(pass_tree_unswitch): Replace declaration with that of...
      	(make_pass_tree_unswitch): ...new function.
      	(pass_predcom): Replace declaration with that of...
      	(make_pass_predcom): ...new function.
      	(pass_iv_canon): Replace declaration with that of...
      	(make_pass_iv_canon): ...new function.
      	(pass_scev_cprop): Replace declaration with that of...
      	(make_pass_scev_cprop): ...new function.
      	(pass_empty_loop): Replace declaration with that of...
      	(make_pass_empty_loop): ...new function.
      	(pass_record_bounds): Replace declaration with that of...
      	(make_pass_record_bounds): ...new function.
      	(pass_graphite): Replace declaration with that of...
      	(make_pass_graphite): ...new function.
      	(pass_graphite_transforms): Replace declaration with that of...
      	(make_pass_graphite_transforms): ...new function.
      	(pass_if_conversion): Replace declaration with that of...
      	(make_pass_if_conversion): ...new function.
      	(pass_loop_distribution): Replace declaration with that of...
      	(make_pass_loop_distribution): ...new function.
      	(pass_vectorize): Replace declaration with that of...
      	(make_pass_vectorize): ...new function.
      	(pass_slp_vectorize): Replace declaration with that of...
      	(make_pass_slp_vectorize): ...new function.
      	(pass_complete_unroll): Replace declaration with that of...
      	(make_pass_complete_unroll): ...new function.
      	(pass_complete_unrolli): Replace declaration with that of...
      	(make_pass_complete_unrolli): ...new function.
      	(pass_parallelize_loops): Replace declaration with that of...
      	(make_pass_parallelize_loops): ...new function.
      	(pass_loop_prefetch): Replace declaration with that of...
      	(make_pass_loop_prefetch): ...new function.
      	(pass_iv_optimize): Replace declaration with that of...
      	(make_pass_iv_optimize): ...new function.
      	(pass_tree_loop_done): Replace declaration with that of...
      	(make_pass_tree_loop_done): ...new function.
      	(pass_ch): Replace declaration with that of...
      	(make_pass_ch): ...new function.
      	(pass_ccp): Replace declaration with that of...
      	(make_pass_ccp): ...new function.
      	(pass_phi_only_cprop): Replace declaration with that of...
      	(make_pass_phi_only_cprop): ...new function.
      	(pass_build_ssa): Replace declaration with that of...
      	(make_pass_build_ssa): ...new function.
      	(pass_build_alias): Replace declaration with that of...
      	(make_pass_build_alias): ...new function.
      	(pass_build_ealias): Replace declaration with that of...
      	(make_pass_build_ealias): ...new function.
      	(pass_dominator): Replace declaration with that of...
      	(make_pass_dominator): ...new function.
      	(pass_dce): Replace declaration with that of...
      	(make_pass_dce): ...new function.
      	(pass_dce_loop): Replace declaration with that of...
      	(make_pass_dce_loop): ...new function.
      	(pass_cd_dce): Replace declaration with that of...
      	(make_pass_cd_dce): ...new function.
      	(pass_call_cdce): Replace declaration with that of...
      	(make_pass_call_cdce): ...new function.
      	(pass_merge_phi): Replace declaration with that of...
      	(make_pass_merge_phi): ...new function.
      	(pass_split_crit_edges): Replace declaration with that of...
      	(make_pass_split_crit_edges): ...new function.
      	(pass_pre): Replace declaration with that of...
      	(make_pass_pre): ...new function.
      	(pass_profile): Replace declaration with that of...
      	(make_pass_profile): ...new function.
      	(pass_strip_predict_hints): Replace declaration with that of...
      	(make_pass_strip_predict_hints): ...new function.
      	(pass_lower_complex_O0): Replace declaration with that of...
      	(make_pass_lower_complex_O0): ...new function.
      	(pass_lower_complex): Replace declaration with that of...
      	(make_pass_lower_complex): ...new function.
      	(pass_lower_vector): Replace declaration with that of...
      	(make_pass_lower_vector): ...new function.
      	(pass_lower_vector_ssa): Replace declaration with that of...
      	(make_pass_lower_vector_ssa): ...new function.
      	(pass_lower_omp): Replace declaration with that of...
      	(make_pass_lower_omp): ...new function.
      	(pass_diagnose_omp_blocks): Replace declaration with that of...
      	(make_pass_diagnose_omp_blocks): ...new function.
      	(pass_expand_omp): Replace declaration with that of...
      	(make_pass_expand_omp): ...new function.
      	(pass_expand_omp_ssa): Replace declaration with that of...
      	(make_pass_expand_omp_ssa): ...new function.
      	(pass_object_sizes): Replace declaration with that of...
      	(make_pass_object_sizes): ...new function.
      	(pass_strlen): Replace declaration with that of...
      	(make_pass_strlen): ...new function.
      	(pass_fold_builtins): Replace declaration with that of...
      	(make_pass_fold_builtins): ...new function.
      	(pass_stdarg): Replace declaration with that of...
      	(make_pass_stdarg): ...new function.
      	(pass_early_warn_uninitialized): Replace declaration with that of...
      	(make_pass_early_warn_uninitialized): ...new function.
      	(pass_late_warn_uninitialized): Replace declaration with that of...
      	(make_pass_late_warn_uninitialized): ...new function.
      	(pass_cse_reciprocals): Replace declaration with that of...
      	(make_pass_cse_reciprocals): ...new function.
      	(pass_cse_sincos): Replace declaration with that of...
      	(make_pass_cse_sincos): ...new function.
      	(pass_optimize_bswap): Replace declaration with that of...
      	(make_pass_optimize_bswap): ...new function.
      	(pass_optimize_widening_mul): Replace declaration with that of...
      	(make_pass_optimize_widening_mul): ...new function.
      	(pass_warn_function_return): Replace declaration with that of...
      	(make_pass_warn_function_return): ...new function.
      	(pass_warn_function_noreturn): Replace declaration with that of...
      	(make_pass_warn_function_noreturn): ...new function.
      	(pass_cselim): Replace declaration with that of...
      	(make_pass_cselim): ...new function.
      	(pass_phiopt): Replace declaration with that of...
      	(make_pass_phiopt): ...new function.
      	(pass_forwprop): Replace declaration with that of...
      	(make_pass_forwprop): ...new function.
      	(pass_phiprop): Replace declaration with that of...
      	(make_pass_phiprop): ...new function.
      	(pass_tree_ifcombine): Replace declaration with that of...
      	(make_pass_tree_ifcombine): ...new function.
      	(pass_dse): Replace declaration with that of...
      	(make_pass_dse): ...new function.
      	(pass_nrv): Replace declaration with that of...
      	(make_pass_nrv): ...new function.
      	(pass_rename_ssa_copies): Replace declaration with that of...
      	(make_pass_rename_ssa_copies): ...new function.
      	(pass_sink_code): Replace declaration with that of...
      	(make_pass_sink_code): ...new function.
      	(pass_fre): Replace declaration with that of...
      	(make_pass_fre): ...new function.
      	(pass_check_data_deps): Replace declaration with that of...
      	(make_pass_check_data_deps): ...new function.
      	(pass_copy_prop): Replace declaration with that of...
      	(make_pass_copy_prop): ...new function.
      	(pass_vrp): Replace declaration with that of...
      	(make_pass_vrp): ...new function.
      	(pass_uncprop): Replace declaration with that of...
      	(make_pass_uncprop): ...new function.
      	(pass_return_slot): Replace declaration with that of...
      	(make_pass_return_slot): ...new function.
      	(pass_reassoc): Replace declaration with that of...
      	(make_pass_reassoc): ...new function.
      	(pass_rebuild_cgraph_edges): Replace declaration with that of...
      	(make_pass_rebuild_cgraph_edges): ...new function.
      	(pass_remove_cgraph_callee_edges): Replace declaration with that of...
      	(make_pass_remove_cgraph_callee_edges): ...new function.
      	(pass_build_cgraph_edges): Replace declaration with that of...
      	(make_pass_build_cgraph_edges): ...new function.
      	(pass_local_pure_const): Replace declaration with that of...
      	(make_pass_local_pure_const): ...new function.
      	(pass_tracer): Replace declaration with that of...
      	(make_pass_tracer): ...new function.
      	(pass_warn_unused_result): Replace declaration with that of...
      	(make_pass_warn_unused_result): ...new function.
      	(pass_diagnose_tm_blocks): Replace declaration with that of...
      	(make_pass_diagnose_tm_blocks): ...new function.
      	(pass_lower_tm): Replace declaration with that of...
      	(make_pass_lower_tm): ...new function.
      	(pass_tm_init): Replace declaration with that of...
      	(make_pass_tm_init): ...new function.
      	(pass_tm_mark): Replace declaration with that of...
      	(make_pass_tm_mark): ...new function.
      	(pass_tm_memopt): Replace declaration with that of...
      	(make_pass_tm_memopt): ...new function.
      	(pass_tm_edges): Replace declaration with that of...
      	(make_pass_tm_edges): ...new function.
      	(pass_split_functions): Replace declaration with that of...
      	(make_pass_split_functions): ...new function.
      	(pass_feedback_split_functions): Replace declaration with that of...
      	(make_pass_feedback_split_functions): ...new function.
      	(pass_strength_reduction): Replace declaration with that of...
      	(make_pass_strength_reduction): ...new function.
      	(pass_ipa_lower_emutls): Replace declaration with that of...
      	(make_pass_ipa_lower_emutls): ...new function.
      	(pass_ipa_function_and_variable_visibility): Replace declaration with
      	that of...
      	(make_pass_ipa_function_and_variable_visibility): ...new function.
      	(pass_ipa_tree_profile): Replace declaration with that of...
      	(make_pass_ipa_tree_profile): ...new function.
      	(pass_early_local_passes): Replace declaration with that of...
      	(make_pass_early_local_passes): ...new function.
      	(pass_ipa_whole_program_visibility): Replace declaration with that
      	of...
      	(make_pass_ipa_whole_program_visibility): ...new function.
      	(pass_ipa_lto_gimple_out): Replace declaration with that of...
      	(make_pass_ipa_lto_gimple_out): ...new function.
      	(pass_ipa_increase_alignment): Replace declaration with that of...
      	(make_pass_ipa_increase_alignment): ...new function.
      	(pass_ipa_inline): Replace declaration with that of...
      	(make_pass_ipa_inline): ...new function.
      	(pass_ipa_free_lang_data): Replace declaration with that of...
      	(make_pass_ipa_free_lang_data): ...new function.
      	(pass_ipa_free_inline_summary): Replace declaration with that of...
      	(make_pass_ipa_free_inline_summary): ...new function.
      	(pass_ipa_cp): Replace declaration with that of...
      	(make_pass_ipa_cp): ...new function.
      	(pass_ipa_reference): Replace declaration with that of...
      	(make_pass_ipa_reference): ...new function.
      	(pass_ipa_pure_const): Replace declaration with that of...
      	(make_pass_ipa_pure_const): ...new function.
      	(pass_ipa_pta): Replace declaration with that of...
      	(make_pass_ipa_pta): ...new function.
      	(pass_ipa_lto_finish_out): Replace declaration with that of...
      	(make_pass_ipa_lto_finish_out): ...new function.
      	(pass_ipa_tm): Replace declaration with that of...
      	(make_pass_ipa_tm): ...new function.
      	(pass_ipa_profile): Replace declaration with that of...
      	(make_pass_ipa_profile): ...new function.
      	(pass_ipa_cdtor_merge): Replace declaration with that of...
      	(make_pass_ipa_cdtor_merge): ...new function.
      	(pass_cleanup_cfg_post_optimizing): Replace declaration with that
      	of...
      	(make_pass_cleanup_cfg_post_optimizing): ...new function.
      	(pass_init_datastructures): Replace declaration with that of...
      	(make_pass_init_datastructures): ...new function.
      	(pass_fixup_cfg): Replace declaration with that of...
      	(make_pass_fixup_cfg): ...new function.
      	(pass_expand): Replace declaration with that of...
      	(make_pass_expand): ...new function.
      	(pass_instantiate_virtual_regs): Replace declaration with that of...
      	(make_pass_instantiate_virtual_regs): ...new function.
      	(pass_rtl_fwprop): Replace declaration with that of...
      	(make_pass_rtl_fwprop): ...new function.
      	(pass_rtl_fwprop_addr): Replace declaration with that of...
      	(make_pass_rtl_fwprop_addr): ...new function.
      	(pass_jump): Replace declaration with that of...
      	(make_pass_jump): ...new function.
      	(pass_jump2): Replace declaration with that of...
      	(make_pass_jump2): ...new function.
      	(pass_lower_subreg): Replace declaration with that of...
      	(make_pass_lower_subreg): ...new function.
      	(pass_cse): Replace declaration with that of...
      	(make_pass_cse): ...new function.
      	(pass_fast_rtl_dce): Replace declaration with that of...
      	(make_pass_fast_rtl_dce): ...new function.
      	(pass_ud_rtl_dce): Replace declaration with that of...
      	(make_pass_ud_rtl_dce): ...new function.
      	(pass_rtl_dce): Replace declaration with that of...
      	(make_pass_rtl_dce): ...new function.
      	(pass_rtl_dse1): Replace declaration with that of...
      	(make_pass_rtl_dse1): ...new function.
      	(pass_rtl_dse2): Replace declaration with that of...
      	(make_pass_rtl_dse2): ...new function.
      	(pass_rtl_dse3): Replace declaration with that of...
      	(make_pass_rtl_dse3): ...new function.
      	(pass_rtl_cprop): Replace declaration with that of...
      	(make_pass_rtl_cprop): ...new function.
      	(pass_rtl_pre): Replace declaration with that of...
      	(make_pass_rtl_pre): ...new function.
      	(pass_rtl_hoist): Replace declaration with that of...
      	(make_pass_rtl_hoist): ...new function.
      	(pass_rtl_store_motion): Replace declaration with that of...
      	(make_pass_rtl_store_motion): ...new function.
      	(pass_cse_after_global_opts): Replace declaration with that of...
      	(make_pass_cse_after_global_opts): ...new function.
      	(pass_rtl_ifcvt): Replace declaration with that of...
      	(make_pass_rtl_ifcvt): ...new function.
      	(pass_into_cfg_layout_mode): Replace declaration with that of...
      	(make_pass_into_cfg_layout_mode): ...new function.
      	(pass_outof_cfg_layout_mode): Replace declaration with that of...
      	(make_pass_outof_cfg_layout_mode): ...new function.
      	(pass_loop2): Replace declaration with that of...
      	(make_pass_loop2): ...new function.
      	(pass_rtl_loop_init): Replace declaration with that of...
      	(make_pass_rtl_loop_init): ...new function.
      	(pass_rtl_move_loop_invariants): Replace declaration with that of...
      	(make_pass_rtl_move_loop_invariants): ...new function.
      	(pass_rtl_unswitch): Replace declaration with that of...
      	(make_pass_rtl_unswitch): ...new function.
      	(pass_rtl_unroll_and_peel_loops): Replace declaration with that of...
      	(make_pass_rtl_unroll_and_peel_loops): ...new function.
      	(pass_rtl_doloop): Replace declaration with that of...
      	(make_pass_rtl_doloop): ...new function.
      	(pass_rtl_loop_done): Replace declaration with that of...
      	(make_pass_rtl_loop_done): ...new function.
      	(pass_web): Replace declaration with that of...
      	(make_pass_web): ...new function.
      	(pass_cse2): Replace declaration with that of...
      	(make_pass_cse2): ...new function.
      	(pass_df_initialize_opt): Replace declaration with that of...
      	(make_pass_df_initialize_opt): ...new function.
      	(pass_df_initialize_no_opt): Replace declaration with that of...
      	(make_pass_df_initialize_no_opt): ...new function.
      	(pass_reginfo_init): Replace declaration with that of...
      	(make_pass_reginfo_init): ...new function.
      	(pass_inc_dec): Replace declaration with that of...
      	(make_pass_inc_dec): ...new function.
      	(pass_stack_ptr_mod): Replace declaration with that of...
      	(make_pass_stack_ptr_mod): ...new function.
      	(pass_initialize_regs): Replace declaration with that of...
      	(make_pass_initialize_regs): ...new function.
      	(pass_combine): Replace declaration with that of...
      	(make_pass_combine): ...new function.
      	(pass_if_after_combine): Replace declaration with that of...
      	(make_pass_if_after_combine): ...new function.
      	(pass_ree): Replace declaration with that of...
      	(make_pass_ree): ...new function.
      	(pass_partition_blocks): Replace declaration with that of...
      	(make_pass_partition_blocks): ...new function.
      	(pass_match_asm_constraints): Replace declaration with that of...
      	(make_pass_match_asm_constraints): ...new function.
      	(pass_regmove): Replace declaration with that of...
      	(make_pass_regmove): ...new function.
      	(pass_split_all_insns): Replace declaration with that of...
      	(make_pass_split_all_insns): ...new function.
      	(pass_fast_rtl_byte_dce): Replace declaration with that of...
      	(make_pass_fast_rtl_byte_dce): ...new function.
      	(pass_lower_subreg2): Replace declaration with that of...
      	(make_pass_lower_subreg2): ...new function.
      	(pass_mode_switching): Replace declaration with that of...
      	(make_pass_mode_switching): ...new function.
      	(pass_sms): Replace declaration with that of...
      	(make_pass_sms): ...new function.
      	(pass_sched): Replace declaration with that of...
      	(make_pass_sched): ...new function.
      	(pass_ira): Replace declaration with that of...
      	(make_pass_ira): ...new function.
      	(pass_reload): Replace declaration with that of...
      	(make_pass_reload): ...new function.
      	(pass_clean_state): Replace declaration with that of...
      	(make_pass_clean_state): ...new function.
      	(pass_branch_prob): Replace declaration with that of...
      	(make_pass_branch_prob): ...new function.
      	(pass_value_profile_transformations): Replace declaration with that
      	of...
      	(make_pass_value_profile_transformations): ...new function.
      	(pass_postreload_cse): Replace declaration with that of...
      	(make_pass_postreload_cse): ...new function.
      	(pass_gcse2): Replace declaration with that of...
      	(make_pass_gcse2): ...new function.
      	(pass_split_after_reload): Replace declaration with that of...
      	(make_pass_split_after_reload): ...new function.
      	(pass_branch_target_load_optimize1): Replace declaration with that
      	of...
      	(make_pass_branch_target_load_optimize1): ...new function.
      	(pass_thread_prologue_and_epilogue): Replace declaration with that
      	of...
      	(make_pass_thread_prologue_and_epilogue): ...new function.
      	(pass_stack_adjustments): Replace declaration with that of...
      	(make_pass_stack_adjustments): ...new function.
      	(pass_peephole2): Replace declaration with that of...
      	(make_pass_peephole2): ...new function.
      	(pass_if_after_reload): Replace declaration with that of...
      	(make_pass_if_after_reload): ...new function.
      	(pass_regrename): Replace declaration with that of...
      	(make_pass_regrename): ...new function.
      	(pass_cprop_hardreg): Replace declaration with that of...
      	(make_pass_cprop_hardreg): ...new function.
      	(pass_reorder_blocks): Replace declaration with that of...
      	(make_pass_reorder_blocks): ...new function.
      	(pass_branch_target_load_optimize2): Replace declaration with that
      	of...
      	(make_pass_branch_target_load_optimize2): ...new function.
      	(pass_leaf_regs): Replace declaration with that of...
      	(make_pass_leaf_regs): ...new function.
      	(pass_split_before_sched2): Replace declaration with that of...
      	(make_pass_split_before_sched2): ...new function.
      	(pass_compare_elim_after_reload): Replace declaration with that of...
      	(make_pass_compare_elim_after_reload): ...new function.
      	(pass_sched2): Replace declaration with that of...
      	(make_pass_sched2): ...new function.
      	(pass_stack_regs): Replace declaration with that of...
      	(make_pass_stack_regs): ...new function.
      	(pass_stack_regs_run): Replace declaration with that of...
      	(make_pass_stack_regs_run): ...new function.
      	(pass_df_finish): Replace declaration with that of...
      	(make_pass_df_finish): ...new function.
      	(pass_compute_alignments): Replace declaration with that of...
      	(make_pass_compute_alignments): ...new function.
      	(pass_duplicate_computed_gotos): Replace declaration with that of...
      	(make_pass_duplicate_computed_gotos): ...new function.
      	(pass_variable_tracking): Replace declaration with that of...
      	(make_pass_variable_tracking): ...new function.
      	(pass_free_cfg): Replace declaration with that of...
      	(make_pass_free_cfg): ...new function.
      	(pass_machine_reorg): Replace declaration with that of...
      	(make_pass_machine_reorg): ...new function.
      	(pass_cleanup_barriers): Replace declaration with that of...
      	(make_pass_cleanup_barriers): ...new function.
      	(pass_delay_slots): Replace declaration with that of...
      	(make_pass_delay_slots): ...new function.
      	(pass_split_for_shorten_branches): Replace declaration with that of...
      	(make_pass_split_for_shorten_branches): ...new function.
      	(pass_split_before_regstack): Replace declaration with that of...
      	(make_pass_split_before_regstack): ...new function.
      	(pass_convert_to_eh_region_ranges): Replace declaration with that
      	of...
      	(make_pass_convert_to_eh_region_ranges): ...new function.
      	(pass_shorten_branches): Replace declaration with that of...
      	(make_pass_shorten_branches): ...new function.
      	(pass_set_nothrow_function_flags): Replace declaration with that of...
      	(make_pass_set_nothrow_function_flags): ...new function.
      	(pass_dwarf2_frame): Replace declaration with that of...
      	(make_pass_dwarf2_frame): ...new function.
      	(pass_final): Replace declaration with that of...
      	(make_pass_final): ...new function.
      	(pass_rtl_seqabstr): Replace declaration with that of...
      	(make_pass_rtl_seqabstr): ...new function.
      	(pass_release_ssa_names): Replace declaration with that of...
      	(make_pass_release_ssa_names): ...new function.
      	(pass_early_inline): Replace declaration with that of...
      	(make_pass_early_inline): ...new function.
      	(pass_inline_parameters): Replace declaration with that of...
      	(make_pass_inline_parameters): ...new function.
      	(pass_update_address_taken): Replace declaration with that of...
      	(make_pass_update_address_taken): ...new function.
      	(pass_convert_switch): Replace declaration with that of...
      	(make_pass_convert_switch): ...new function.
      	* tree-profile.c (pass_ipa_tree_profile): Convert from a global struct
      	to a subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_tree_profile): ...new pass_data instance and...
      	(make_pass_ipa_tree_profile): ...new function.
      	* tree-sra.c (pass_sra_early): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_sra_early): ...new pass_data instance and...
      	(make_pass_sra_early): ...new function.
      	(pass_sra): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_sra): ...new pass_data instance and...
      	(make_pass_sra): ...new function.
      	(pass_early_ipa_sra): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_early_ipa_sra): ...new pass_data instance and...
      	(make_pass_early_ipa_sra): ...new function.
      	* tree-ssa-ccp.c (pass_ccp): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_ccp): ...new pass_data instance and...
      	(make_pass_ccp): ...new function.
      	(pass_fold_builtins): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_fold_builtins): ...new pass_data instance and...
      	(make_pass_fold_builtins): ...new function.
      	* tree-ssa-copy.c (pass_copy_prop): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_copy_prop): ...new pass_data instance and...
      	(make_pass_copy_prop): ...new function.
      	* tree-ssa-copyrename.c (pass_rename_ssa_copies): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_rename_ssa_copies): ...new pass_data instance and...
      	(make_pass_rename_ssa_copies): ...new function.
      	* tree-ssa-dce.c (pass_dce): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_dce): ...new pass_data instance and...
      	(make_pass_dce): ...new function.
      	(pass_dce_loop): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_dce_loop): ...new pass_data instance and...
      	(make_pass_dce_loop): ...new function.
      	(pass_cd_dce): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_cd_dce): ...new pass_data instance and...
      	(make_pass_cd_dce): ...new function.
      	* tree-ssa-dom.c (pass_dominator): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_dominator): ...new pass_data instance and...
      	(make_pass_dominator): ...new function.
      	(pass_phi_only_cprop): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_phi_only_cprop): ...new pass_data instance and...
      	(make_pass_phi_only_cprop): ...new function.
      	* tree-ssa-dse.c (pass_dse): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_dse): ...new pass_data instance and...
      	(make_pass_dse): ...new function.
      	* tree-ssa-forwprop.c (pass_forwprop): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_forwprop): ...new pass_data instance and...
      	(make_pass_forwprop): ...new function.
      	* tree-ssa-ifcombine.c (pass_tree_ifcombine): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_tree_ifcombine): ...new pass_data instance and...
      	(make_pass_tree_ifcombine): ...new function.
      	* tree-ssa-loop-ch.c (pass_ch): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_ch): ...new pass_data instance and...
      	(make_pass_ch): ...new function.
      	* tree-ssa-loop.c (pass_tree_loop): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_tree_loop): ...new pass_data instance and...
      	(make_pass_tree_loop): ...new function.
      	(pass_tree_loop_init): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tree_loop_init): ...new pass_data instance and...
      	(make_pass_tree_loop_init): ...new function.
      	(pass_lim): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lim): ...new pass_data instance and...
      	(make_pass_lim): ...new function.
      	(pass_tree_unswitch): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tree_unswitch): ...new pass_data instance and...
      	(make_pass_tree_unswitch): ...new function.
      	(pass_predcom): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_predcom): ...new pass_data instance and...
      	(make_pass_predcom): ...new function.
      	(pass_vectorize): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_vectorize): ...new pass_data instance and...
      	(make_pass_vectorize): ...new function.
      	(pass_graphite): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_graphite): ...new pass_data instance and...
      	(make_pass_graphite): ...new function.
      	(pass_graphite_transforms): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_graphite_transforms): ...new pass_data instance and...
      	(make_pass_graphite_transforms): ...new function.
      	(pass_check_data_deps): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_check_data_deps): ...new pass_data instance and...
      	(make_pass_check_data_deps): ...new function.
      	(pass_iv_canon): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_iv_canon): ...new pass_data instance and...
      	(make_pass_iv_canon): ...new function.
      	(pass_scev_cprop): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_scev_cprop): ...new pass_data instance and...
      	(make_pass_scev_cprop): ...new function.
      	(pass_record_bounds): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_record_bounds): ...new pass_data instance and...
      	(make_pass_record_bounds): ...new function.
      	(pass_complete_unroll): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_complete_unroll): ...new pass_data instance and...
      	(make_pass_complete_unroll): ...new function.
      	(pass_complete_unrolli): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_complete_unrolli): ...new pass_data instance and...
      	(make_pass_complete_unrolli): ...new function.
      	(pass_parallelize_loops): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_parallelize_loops): ...new pass_data instance and...
      	(make_pass_parallelize_loops): ...new function.
      	(pass_loop_prefetch): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_loop_prefetch): ...new pass_data instance and...
      	(make_pass_loop_prefetch): ...new function.
      	(pass_iv_optimize): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_iv_optimize): ...new pass_data instance and...
      	(make_pass_iv_optimize): ...new function.
      	(pass_tree_loop_done): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tree_loop_done): ...new pass_data instance and...
      	(make_pass_tree_loop_done): ...new function.
      	* tree-ssa-math-opts.c (pass_cse_reciprocals): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_cse_reciprocals): ...new pass_data instance and...
      	(make_pass_cse_reciprocals): ...new function.
      	(pass_cse_sincos): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_cse_sincos): ...new pass_data instance and...
      	(make_pass_cse_sincos): ...new function.
      	(pass_optimize_bswap): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_optimize_bswap): ...new pass_data instance and...
      	(make_pass_optimize_bswap): ...new function.
      	(pass_optimize_widening_mul): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_optimize_widening_mul): ...new pass_data instance and...
      	(make_pass_optimize_widening_mul): ...new function.
      	* tree-ssa-phiopt.c (pass_phiopt): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_phiopt): ...new pass_data instance and...
      	(make_pass_phiopt): ...new function.
      	(pass_cselim): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_cselim): ...new pass_data instance and...
      	(make_pass_cselim): ...new function.
      	* tree-ssa-phiprop.c (pass_phiprop): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_phiprop): ...new pass_data instance and...
      	(make_pass_phiprop): ...new function.
      	* tree-ssa-pre.c (pass_pre): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_pre): ...new pass_data instance and...
      	(make_pass_pre): ...new function.
      	(pass_fre): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_fre): ...new pass_data instance and...
      	(make_pass_fre): ...new function.
      	* tree-ssa-reassoc.c (pass_reassoc): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_reassoc): ...new pass_data instance and...
      	(make_pass_reassoc): ...new function.
      	* tree-ssa-sink.c (pass_sink_code): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_sink_code): ...new pass_data instance and...
      	(make_pass_sink_code): ...new function.
      	* tree-ssa-strlen.c (pass_strlen): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_strlen): ...new pass_data instance and...
      	(make_pass_strlen): ...new function.
      	* tree-ssa-structalias.c (pass_build_alias): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_build_alias): ...new pass_data instance and...
      	(make_pass_build_alias): ...new function.
      	(pass_build_ealias): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_build_ealias): ...new pass_data instance and...
      	(make_pass_build_ealias): ...new function.
      	(pass_ipa_pta): Convert from a global struct to a subclass of
      	simple_ipa_opt_pass along with...
      	(pass_data_ipa_pta): ...new pass_data instance and...
      	(make_pass_ipa_pta): ...new function.
      	* tree-ssa-uncprop.c (pass_uncprop): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_uncprop): ...new pass_data instance and...
      	(make_pass_uncprop): ...new function.
      	* tree-ssa-uninit.c (pass_late_warn_uninitialized): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_late_warn_uninitialized): ...new pass_data instance and...
      	(make_pass_late_warn_uninitialized): ...new function.
      	* tree-ssa.c (pass_init_datastructures): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_init_datastructures): ...new pass_data instance and...
      	(make_pass_init_datastructures): ...new function.
      	(pass_early_warn_uninitialized): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_early_warn_uninitialized): ...new pass_data instance and...
      	(make_pass_early_warn_uninitialized): ...new function.
      	(pass_update_address_taken): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_update_address_taken): ...new pass_data instance and...
      	(make_pass_update_address_taken): ...new function.
      	* tree-ssanames.c (pass_release_ssa_names): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_release_ssa_names): ...new pass_data instance and...
      	(make_pass_release_ssa_names): ...new function.
      	* tree-stdarg.c (pass_stdarg): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_stdarg): ...new pass_data instance and...
      	(make_pass_stdarg): ...new function.
      	* tree-switch-conversion.c (pass_convert_switch): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_convert_switch): ...new pass_data instance and...
      	(make_pass_convert_switch): ...new function.
      	* tree-tailcall.c (pass_tail_recursion): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_tail_recursion): ...new pass_data instance and...
      	(make_pass_tail_recursion): ...new function.
      	(pass_tail_calls): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tail_calls): ...new pass_data instance and...
      	(make_pass_tail_calls): ...new function.
      	* tree-vect-generic.c (pass_lower_vector): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_lower_vector): ...new pass_data instance and...
      	(make_pass_lower_vector): ...new function.
      	(pass_lower_vector_ssa): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_vector_ssa): ...new pass_data instance and...
      	(make_pass_lower_vector_ssa): ...new function.
      	* tree-vectorizer.c (pass_slp_vectorize): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_slp_vectorize): ...new pass_data instance and...
      	(make_pass_slp_vectorize): ...new function.
      	(pass_ipa_increase_alignment): Convert from a global struct to a
      	subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_increase_alignment): ...new pass_data instance and...
      	(make_pass_ipa_increase_alignment): ...new function.
      	* tree-vrp.c (pass_vrp): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_vrp): ...new pass_data instance and...
      	(make_pass_vrp): ...new function.
      	* tree.c (pass_ipa_free_lang_data): Convert from a global struct to a
      	subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_free_lang_data): ...new pass_data instance and...
      	(make_pass_ipa_free_lang_data): ...new function.
      	* tsan.c (pass_tsan): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tsan): ...new pass_data instance and...
      	(make_pass_tsan): ...new function.
      	(pass_tsan_O0): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tsan_O0): ...new pass_data instance and...
      	(make_pass_tsan_O0): ...new function.
      	* var-tracking.c (pass_variable_tracking): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_variable_tracking): ...new pass_data instance and...
      	(make_pass_variable_tracking): ...new function.
      	* web.c (pass_web): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_web): ...new pass_data instance and...
      	(make_pass_web): ...new function.
      	* config/epiphany/epiphany.h (pass_mode_switch_use): Replace
      	declaration with that of...
      	(make_pass_mode_switch_use): ...new function.
      	(pass_resolve_sw_modes): Replace declaration with that of...
      	(make_pass_resolve_sw_modes): ...new function.
      	* config/epiphany/mode-switch-use.c (pass_mode_switch_use): Convert
      	from a global struct to a subclass of rtl_opt_pass along with...
      	(pass_data_mode_switch_use): ...new pass_data instance and...
      	(make_pass_mode_switch_use): ...new function.
      	* config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes): Convert
      	from a global struct to a subclass of rtl_opt_pass along with...
      	(pass_data_resolve_sw_modes): ...new pass_data instance and...
      	(make_pass_resolve_sw_modes): ...new function.
      	* config/i386/i386.c (pass_insert_vzeroupper): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_insert_vzeroupper): ...new pass_data instance and...
      	(make_pass_insert_vzeroupper): ...new function.
      	* config/sparc/sparc.c (pass_work_around_errata): Convert from a
      	global struct to a subclass of rtl_opt_pass along with...
      	(pass_data_work_around_errata): ...new pass_data instance and...
      	(make_pass_work_around_errata): ...new function.
      	* config/mips/mips.c (pass_mips_machine_reorg2): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_mips_machine_reorg2): ...new pass_data instance and...
      	(make_pass_mips_machine_reorg2): ...new function.
      
      gcc/testsuite/
      
      	Patch autogenerated by refactor_passes.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 03fe39476a4c4ea450b49e087cfa817b5f92021e
      
      	* gcc.dg/plugin/one_time_plugin.c (one_pass): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_one_pass): ...new pass_data instance and...
      	(make_one_pass): ...new function.
      	* gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_warn_self_assign): ...new pass_data instance and...
      	(make_pass_warn_self_assign): ...new function.
      	* g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Convert from
      	a global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_dumb_plugin_example): ...new pass_data instance and...
      	(make_pass_dumb_plugin_example): ...new function.
      	* g++.dg/plugin/selfassign.c (pass_warn_self_assign): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_warn_self_assign): ...new pass_data instance and...
      	(make_pass_warn_self_assign): ...new function.
      
      From-SVN: r201508
      David Malcolm committed
    • re PR lto/57602 (Runfails for several C/C++ benchmarks from spec2000 for i686… · 51a5c0c2
      re PR lto/57602 (Runfails for several C/C++ benchmarks from spec2000 for i686 with -flto after r199422)
      
      	PR lto/57602
      	* cgraph.c (verify_cgraph_node): Accept local flags from other partitions.
      	* ipa.c (symtab_remove_unreachable_nodes): Do not clear local flag.
      	(function_and_variable_visibility): Likewise.
      	* trans-mem.c (ipa_tm_create_version): TM versions are not local.
      
      From-SVN: r201492
      Jan Hubicka committed
  24. 03 Aug, 2013 1 commit
    • lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into boundaries. · 815effe1
      	* lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into
      	boundaries.
      	* lto-streamer-out.c (tree_is_indexable): Results decls and
      	parm decls are not indexable.
      	(DFS_write_tree_body): Do not follow args and results.
      	(hash_tree): Likewise.
      	(output_functions): Rearrange so struct function is needed
      	only when real body is output; be able to also ouptut abstract
      	functions; output DECL_ARGUMENTS and DECL_RESULT.
      	(lto_output): When not in WPA, ale store abstract functions.
      	(write_symbol): Do not care about RESULT_DECL.
      	(output_symbol_p): Handle correctly sbtract decls.
      	* lto-streamer-in.c (input_function): Rearrange so struct
      	function can be NULL at entry; allow streaming of
      	functions w/o body; store DECL_ARGUMENTS and DECL_RESULT.
      	* ipa.c (symtab_remove_unreachable_nodes): Silence confused
      	sanity check during LTO.
      	* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Skip
      	RESULT_DECl and DECL_ARGUMENTS.
      	* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
      	Likewise.
      
      	* lto.c (lto_materialize_function): Do not push struct function.
      	* lto-partition.c (get_symbol_class): Handle abstracts correctly.
      	(may_need_named_section_p): Even abstract origins may need
      	named section.
      
      From-SVN: r201468
      Jan Hubicka committed
  25. 02 Aug, 2013 2 commits
  26. 01 Aug, 2013 1 commit
    • cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin. · c0c123ef
      	* cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.
      	(cgraph_release_function_body): Likewise.
      	(cgraph_can_remove_if_no_direct_calls_p): Likewise.
      	* cgraph.h (cgrpah_node): Rename abstract_and_needed
      	to used_as_abstract_origin.
      	* tree-inline-transfrom.c (can_remove_node_now_p_1): Do not remove
      	symbols used as abstract origins.
      	* cgraphunit.c (analyze_functions): Update.
      	* ipa.c (symtab_remove_unreachable_nodes): Recompute used_as_abstract_origin.
      	* tree-inline.c (tree_function_versioning): Update
      	used_as_abstract_origin; be ready for DECL_RESULT and DECL_ARGUMENTS to be
      	NULL.
      
      	* lto-symtab.c (lto_symtab_merge_symbols): Merge duplicated nodes for abstract functions.
      	* cgraph.h (symtab_real_symbol_p): Abstract declarations are not real symbols.
      
      From-SVN: r201408
      Jan Hubicka committed
  27. 25 Jul, 2013 1 commit
  28. 21 Jul, 2013 1 commit
  29. 19 Jun, 2013 1 commit
    • cgraph.h (const_value_known_p): Replace by ... · 6a6dac52
      	* cgraph.h (const_value_known_p): Replace by ...
      	(ctor_for_folding): .. this one.
      	* cgraphunit.c (process_function_and_variable_attributes): Use it.
      	* lto-cgraph.c (compute_ltrans_boundary): Use ctor_for_folding.
      	* expr.c (expand_expr_real_1): Likewise.
      	(string_constant): Likewise.
      	* tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
      	* ipa.c (process_references): Likewise.
      	(symtab_remove_unreachable_nodes): Likewise.
      	* ipa-inline-analysis.c (param_change_prob): Likewise.
      	* gimple-fold.c (canonicalize_constructor_val): Likewise.
      	(get_base_constructor): Likwise.
      	* varpool.c (varpool_remove_node): Likewise.
      	(varpool_remove_initializer): LIkewise.
      	(dump_varpool_node): LIkwise.
      	(const_value_known_p): Rewrite to ...
      	(ctor_for_folding): ... this one.
      
      	* lto-partition.c (add_references_to_partition): Use
      	ctor_for_folding.
      
      	* gcc.dg/tree-ssa/attr-alias-2.c: New testcase.
      
      From-SVN: r200211
      Jan Hubicka committed
  30. 13 Jun, 2013 1 commit
  31. 11 Jun, 2013 1 commit
    • c-common.c (handle_alias_ifunc_attribute): Do not set DECL_EXTERNAL for weakref variables. · 08346abd
      	* c-family/c-common.c (handle_alias_ifunc_attribute): Do not set
      	DECL_EXTERNAL for weakref variables.
      	* c-family/c-pragma.c (handle_pragma_weak): Make sure aliases
      	are not declared as external.
      	* cgraph.c (cgraph_create_function_alias): Set weakref flag.
      	* cgraph.h (symtab_node_base): Add weakref flag.
      	* cgraphunit.c (cgraph_reset_node): Clear weakref flag.
      	(handle_alias_pairs): Set weakref flag, do not set DECL_EXTERNAL.
      	(output_weakrefs): Use weakref flag.
      	* fold-const.c (simple_operand_p): Handle WEAK.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Drop weakref.
      	* ipa.c (varpool_externally_visible_p): Drop weakref.
      	(function_and_variable_visibility): Update comment; fix weakref
      	sanity checks; do not clear DECL_WEAK on them.
      	* lto-cgraph.c (lto_output_node): update.
      	(lto_output_varpool_node): Update.
      	(input_overwrite_node): Update.
      	(input_node): Update.
      	(input_varpool_node): Update.
      	* lto-symtab.c (lto_symtab_symbol_p): Do not special case weakrefs.
      	(lto_symtab_merge_symbols): Add sanity check.
      	(lto_symtab_prevailing_decl): Do not special case weakrefs.
      	* passes.c (rest_of_decl_compilation): Set static flag, too.
      	* symtab.c (dump_symtab_base): Dump weakref.
      	(verify_symtab_base): Sanity check weakrefs.
      	(symtab_make_decl_local): Remove duplicated code.
      	(symtab_alias_ultimate_target): Simplify.
      	* varpool.c (varpool_create_variable_alias): Set weakref flag.
      
      	* lto-partition.c (get_symbol_class): Simplify weakref handling.
      	(add_symbol_to_partition_1): Likewise.
      	(contained_in_symbol): Likewise.
      	(lto_balanced_map): Likewise.
      	(rename_statics): Drop weakref.
      
      From-SVN: r199971
      Jan Hubicka committed
  32. 05 Jun, 2013 1 commit
    • class.c (emit_register_classes_in_jcr_section): Use DECL_PRESERVE_P instead of… · edb983b2
      class.c (emit_register_classes_in_jcr_section): Use DECL_PRESERVE_P instead of mark_decl_referenced.
      
      
      	* class.c (emit_register_classes_in_jcr_section): Use DECL_PRESERVE_P
      	instead of mark_decl_referenced.
      
      	* decl2.c (maybe_make_one_only): Use forced_by_abi instad of
      	mark_decl_referenced.
      	(mark_needed): Likewise.
      
      	* cgraph.c (cgraph_remove_node): Clear forced_by_abi.
      	(cgraph_node_cannot_be_local_p_1): Honnor symbol.forced_by_abi
      	and symtab_used_from_object_file_p.
      	(cgraph_make_node_local_1): Clear forced_by_abi.
      	(cgraph_can_remove_if_no_direct_calls_and): Use forced_by_abi
      	* cgraph.h (symtab_node_base): Add forced_by_abi.
      	(decide_is_variable_needed): Remove.
      	(varpool_can_remove_if_no_refs): Honnor symbol.forced_by_abi.
      	* cgraphunit.c (cgraph_decide_is_function_needed): Rename to ..
      	(decide_is_symbol_needed): ... this one; handle symbols in general;
      	always analyze virtuals; honnor forced_by_abi.
      	(cgraph_finalize_function): Update.
      	(varpool_finalize_decl): Update.
      	(symbol_defined_and_needed): Remove.
      	(analyze_functions): Update.
      	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
      	output_refs, input_overwrite_node): Handle forced_by_abi.
      	* ipa.c (cgraph_address_taken_from_non_vtable_p): Rename to ...
      	(address_taken_from_non_vtable_p): ... this one.
      	(comdat_can_be_unshared_p_1): New function.
      	(cgraph_comdat_can_be_unshared_p): Rename to ...
      	(comdat_can_be_unshared_p): ... this one; handle symbols in general.
      	(varpool_externally_visible_p): Use comdat_can_be_unshared_p.
      	(function_and_variable_visibility): Clear forced_by_abi as needed.
      	* trans-mem.c (ipa_tm_mark_forced_by_abi_node): New functoin.
      	(ipa_tm_create_version_alias, ipa_tm_create_version): Update.
      	* varasm.c (mark_decl_referenced): Remove.
      	* symtab.c (dump_symtab_base): Dump forced_by_abi.
      	* varpool.c (decide_is_variable_needed): Remove.
      
      From-SVN: r199695
      Jan Hubicka committed
  33. 04 Jun, 2013 1 commit
  34. 01 Jun, 2013 1 commit
    • lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Rename to ... · 40a7fe1e
      	* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Rename to ...
      	(lto_symtab_merge_symbols_1): ... this one.
      	(lto_symtab_merge_cgraph_nodes): Rename to ...
      	(lto_symtab_merge_symbols): ... this one; simplify.
      	* cgraph.c (same_body_aliases_done): Rename to ...
      	(cpp_implicit_aliases_done): ... this one.
      	(cgraph_create_function_alias): Update.
      	(cgraph_same_body_alias): Update.
      	(dump_cgraph_node): Remove alias dumping; simplify
      	thunk dumping.
      	(verify_edge_corresponds_to_fndecl): Simplify.
      	* cgraph.h (symtab_node_base): Add cpp_implicit_alias,
      	alias_target.
      	(cgraph_node): Remove same_body_alias.
      	(varpool_node): Remove alias_of and extra_name_alias.
      	(same_body_aliases_done): Rename to ..
      	(cpp_implicit_aliases_done): ... this one.
      	(symtab_alias_ultimate_target): Add default parameter.
      	(symtab_resolve_alias): New function.
      	(fixup_same_cpp_alias_visibility): Declare.
      	(cgraph_function_node): Add default parameter.
      	(cgraph_node_asm_name): Likewise.
      	(cgraph_function_or_thunk_node): Add default parameter; do
      	not ICE when it is NULL.
      	(varpool_variable_node): Likewise.
      	* tree-emutls.c (create_emultls_var): Update.
      	(ipa_lower_emutls): Update.
      	* cgraphunit.c (cgraph_decide_is_function_needed): Update.
      	(cgraph_reset_node): Reset alias info.
      	(cgraph_finalize_function): Update.
      	(fixup_same_cpp_alias_visibility): Move to symtab.c.
      	(analyze_function): Simplify.
      	(cgraph_process_same_body_aliases): Simplify.
      	(analyze_functions): Fixup same body aliases.
      	(handle_alias_pairs): Simplify.
      	(assemble_thunk): Update.
      	(assemble_thunks_and_aliases): Update.
      	(output_weakrefs): Rewrite.
      	* lto-cgraph.c (lto_output_node): Rewrite alias handling.
      	(lto_output_varpool_node): Likewise.
      	(compute_ltrans_boundary): Remve assert.
      	(get_alias_symbol): New functoin.
      	(input_node): Rewrite alias handling.
      	(input_varpool_node): Likewise.
      	* ipa-pure-const.c (propagate_pure_const): Fix formating.
      	* ipa.c (process_references): Handle weakrefs correctly.
      	(symtab_remove_unreachable_nodes): Likewise.
      	* trans-mem.c (get_cg_data): Update.
      	(ipa_tm_create_version_alias): Update.
      	(ipa_tm_execute): Update.
      	* symtab.c (dump_symtab_base): Dump aliases.
      	(verify_symtab_base): Verify aliases.
      	(symtab_node_availability): New function.
      	(symtab_alias_ultimate_target): Simplify.
      	(fixup_same_cpp_alias_visibility): Move here from cgraphunit.c;
      	handle all the fixup cases.
      	(symtab_resolve_alias): New function.
      	* passes.c (ipa_write_summaries): Handle weakrefs.
      	* varpool.c (varpool_analyze_node): Simplify.
      	(assemble_aliases): Update.
      	(varpool_create_variable_alias): Simplify.
      	(varpool_extra_name_alias): Simplify.
      	* lto-streamer.h (lto_symtab_merge_cgraph_nodes): Rename to...
      	(lto_symtab_merge_symbols): ... this one.
      
      	* decl2.c (cp_write_global_declarations): Replace same_body_alias
      	by symbol.cpp_implicit_alias.
      
      	* lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
      	lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
      	(do_whole_program_analysis): Update dumping.
      
      From-SVN: r199577
      Jan Hubicka committed
  35. 29 May, 2013 1 commit
    • cgraph.h (symtab_node_base): Add definition, alias and analyzed flags... · e70670cf
      	* cgraph.h (symtab_node_base): Add definition, alias and analyzed
      	flags; reorder rest of fields in more consistent way.
      	(varpool_node): Remove analyzed, finalized and alias.
      	(cgraph_ndoe): Likewise.
      	(symtab_alias_ultimate_target): New function.
      	(cgraph_function_node): Move offline.
      	(cgraph_reset_node): Declare.
      	(cgraph_comdat_can_be_unshared_p): Remove.
      	(varpool_remove_initializer): Declare.
      	(varpool_first_defined_variable, varpool_next_defined_variable
      	cgraph_first_defined_function, cgraph_next_defined_function): Update.
      	(cgraph_function_with_gimple_body_p): Update.
      	(varpool_all_refs_explicit_p): Update.
      	(symtab_alias_target): New function.
      	(cgraph_alias_aliased_node, varpool_alias_aliased_node): Rename to ...
      	(cgraph_alias_target, varpool_alias_target): .. this one; simplify.
      	(cgraph_function_or_thunk_node): Simplify using symtab_alias_ultimate_target.
      	(varpool_variable_node): Likewise.
      	* cgraph.c (cgraph_create_function_alias): Update.
      	(cgraph_add_thunk): Update.
      	(cgraph_remove_node): Update.
      	(dump_cgraph_node): Do not dump removed flags.
      	(cgraph_function_body_availability): Update.
      	(cgraph_propagate_frequency): Update.
      	(verify_cgraph_node): Check sanity of local flag.
      	(cgraph_function_node): Move here from cgraph.h; revamp for
      	cgraph_function_or_thunk_node.
      	* lto-symtab.c (lto_varpool_replace_node): Update.
      	(lto_symtab_resolve_can_prevail_p): Update.
      	(lto_symtab_merge_cgraph_nodes): Update.
      	* ipa-cp.c (determine_versionability, initialize_node_lattices,
      	propagate_constants_accross_call, devirtualization_time_bonus,
      	ipcp_propagate_stage): Update.
      	* tree-emutls.c (create_emultls_var, ipa_lower_emutls): Update.
      	* ipa-inline-transform.c (clone_inlined_nodes, preserve_function_body_p): Update.
      	* ipa-reference.c (propagate): Update.
      	(write_node_summary_p): Update.
      	* toplev.c (wrapup_global_declaration_2): Update.
      	* cgraphunit.c (cgraph_analyze_function): Rename to ...
      	(analyze_function) ... this one.
      	(cgraph_process_new_functions): Update.
      	(cgraph_reset_node): Export.
      	(cgraph_finalize_function): Update.
      	(cgraph_add_new_function): Update.
      	(process_function_and_variable_attributes): Update.
      	(varpool_finalize_decl): Update.
      	(symbol_finalized): Remove.
      	(symbol_finalized_and_needed): Rename to ...
      	(symbol_defined_and_needed): ... update.
      	(cgraph_analyze_functions): Update.
      	(handle_alias_pairs): Update.
      	(mark_functions_to_output): Update.
      	(assemble_thunk): Update.
      	(output_in_order): Update.
      	(output_weakrefs): Update.
      	(finalize_compilation_unit): Update.
      	* lto-cgraph.c (reachable_from_other_partition_p, lto_output_node,
      	lto_output_varpool_node, compute_ltrans_boundary, input_overwrite_node,
      	input_node, input_varpool_node): Update.
      	* dbxout.c (dbxout_expand_expr): Update.
      	* cgraphclones.c (cgraph_clone_node): Update.
      	(cgraph_copy_node_for_versioning): Update.
      	(cgraph_materialize_clone): Update.
      	(cgraph_materialize_all_clones): Update.
      	* ipa-pure-const.c (analyze_function, pure_const_write_summary,
      	propagate_pure_const, propagate_nothrow): Update.
      	* lto-streamer-out.c (lto_output, write_symbol): Update.
      	* ipa-utils.c (ipa_reverse_postorder): Update.
      	* ipa-inline.c (can_inline_edge_p): Update.
      	(update_caller_keys, ipa_inline): Update.
      	* dwarf2out.c (reference_to_unused,
      	premark_types_used_by_global_vars_helper): Update.
      	* tree-eh.c (tree_could_trap_p): Update.
      	* ipa-split.c (consider_split, execute_split_functions): Update.
      	* ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
      	 has_addr_references_p): Update;
      	move ahead in file for better readability.
      	(process_references): Simplify.
      	(symtab_remove_unreachable_nodes): Update; cleanup way function/var
      	bodies are removed.
      	(cgraph_comdat_can_be_unshared_p): Make static.
      	(cgraph_externally_visible_p): Update.
      	(varpool_externally_visible_p): Update.
      	(function_and_variable_visibility): Update.
      	* trans-mem.c (get_cg_data, ipa_tm_mayenterirr_function,
      	ipa_tm_mark_force_output_node): Update.
      	* ipa-inline-analysis.c (dump_inline_summary, initialize_inline_failed,
      	estimate_edge_devirt_benefit, inline_generate_summary,
      	inline_write_summary): Update.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Update.
      	* ipa-prop.c (ipa_compute_jump_functions): Update.
      	(ipa_print_node_params, ipa_prop_read_section, ipa_update_after_lto_read,
      	read_replacements_section): Update.
      	* varasm.c (mark_decl_referenced): Update.
      	(assemble_alias, dump_tm_clone_pairs): Update.
      	* tree-inline.c (copy_bb): Update.
      	(estimate_num_insns, optimize_inline_calls, tree_function_versioning):
      	Update.
      	* symtab.c (dump_symtab_base): Print new flags.
      	(verify_symtab_base): Verify new flags.
      	(symtab_alias_ultimate_target): New function.
      	* tree-ssa-structalias.c (get_constraint_for_ssa_var,
      	create_variable_info_for, associate_varinfo_to_alias, ipa_pta_execute):
      	Update.
      	* passes.c (ipa_write_summaries, ipa_write_optimization_summaries): Update.
      	* i386.c (ix86_get_function_versions_dispatcher,
      	ix86_generate_version_dispatcher_body): Update.
      	(fold_builtin_cpu): Use varpool_add_new_variable.
      	* varpool.c (varpool_remove_initializer): Break out from ...
      	(varpool_remove_node): ... this one.
      	(dump_varpool_node, varpool_node_for_asm,
      	cgraph_variable_initializer_availability, varpool_analyze_node,
      	varpool_assemble_decl, varpool_remove_unreferenced_decls,
      	varpool_finalize_named_section_flags, varpool_create_variable_alias): Update
      
      	* decl.c (java_mark_decl_local): Update for new symtab flags.
      
      	* tree.c (cp_fix_function_decl_p): Update for new symtab flags.
      	* decl2.c )var_finalized_p, cp_write_global_declarations): Likewise.
      
      	* lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
      	flags.
      	* lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
      
      From-SVN: r199422
      Jan Hubicka committed
  36. 08 May, 2013 1 commit
    • re PR lto/54095 (Unnecessary static variable renaming) · 702d8703
      	PR lto/54095
      	* cgraph.c (cgraph_make_node_local_1): Se unique_name.
      	* cgraph.h (symtab_node_base): Add unique_name.
      	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
      	input_overwrite_node, input_varpool_node): Stream unique_name.
      	* cgraphclones.c (cgraph_create_virtual_clone,
      	cgraph_function_versioning): Set unique_name.
      	* ipa.c (function_and_variable_visibility): Set unique_name.
      
      From-SVN: r198710
      Jan Hubicka committed