1. 06 Sep, 2010 1 commit
    • tree.def (MISALIGNED_INDIRECT_REF): Remove. · be1ac4ec
      2010-09-06  Richard Guenther  <rguenther@suse.de>
      
      	* tree.def (MISALIGNED_INDIRECT_REF): Remove.
      	* tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF.
      	(build_aligned_type): Declare.
      	* tree.c (check_qualified_type): Also compare TYPE_ALIGN.
      	(check_aligned_type): New function.
      	(build_aligned_type): Likewise.
      	* expr.c (expand_assignment): Handle misaligned stores via
      	TARGET_MEM_REF and MEM_REF using movmisalign_optab.
      	(expand_expr_real_1): Likewise.
      	(safe_from_p): Remove MISALIGNED_INDIRECT_REF handling.
      	* tree-vect-stmts.c (vectorizable_store): Do not build
      	MISALIGNED_INDIRECT_REF but initialize alignment information.
      	(vectorizable_load): Likewise.
      	* builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF
      	handling.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* dwarf2out.c (loc_list_from_tree): Likewise.
      	* fold-const.c (maybe_lvalue_p): Likewise.
      	(operand_equal_p): Likewise.
      	(build_fold_addr_expr_with_type_loc): Likewise.
      	* gimplify.c (gimplify_addr_expr): Likewise.
      	(gimplify_expr): Likewise.
      	* tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
      	(verify_gimple_assign_single): Likewise.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	(tree_could_trap_p): Likewise.
      	* tree-predcom.c (ref_at_iteration): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	(op_code_prio): Likewise.
      	(op_symbol_code): Likewise.
      	* tree-ssa-ccp.c (get_value_from_alignment): Likewise.
      	* tree-ssa-loop-im.c (for_each_index): Likewise.
      	(gen_lsm_tmp_name): Likewise.
      	* tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
      	(find_interesting_uses_address): Likewise.
      	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
      	* tree-ssa-operands.c (get_expr_operands): Likewise.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
      	(ao_ref_init_from_vn_reference): Likewise.
      	* tree.c (staticp): Likewise.
      	(build1_stat): Likewise.
      	(reference_alias_ptr_type): Likewise.
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
      	* config/rs6000/rs6000.c (rs6000_check_sdmode): Remove
      	MISALIGNED_INDIRECT_REF handling.
      
      From-SVN: r163915
      Richard Guenther committed
  2. 03 Sep, 2010 1 commit
    • tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE. · 4d948885
      2010-09-03  Richard Guenther  <rguenther@suse.de>
      
      	* tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
      	Move TMR_OFFSET to second operand.  Add TMR_INDEX2.
      	* tree.h (TMR_SYMBOL): Remove.
      	(TMR_BASE, TMR_OFFSET): Adjust.
      	(TMR_INDEX2): New.
      	* alias.c (ao_ref_from_mem): Use TMR_BASE.
      	* builtins.c (get_object_alignment): Merge TMR_BASE and
      	TMR_SYMBOL handling.
      	* cfgexpand.c (expand_debug_expr): Use TMR_BASE.
      	* gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
      	handling.  Also allow TARGET_MEM_REF as base address.
      	(walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
      	* gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
      	base.  Gimplify TMR_INDEX2.
      	* tree-cfg.c (verify_types_in_gimple_reference): Adjust.
      	* tree-dfa.c (get_ref_base_and_extent): Likewise.
      	(get_addr_base_and_unit_offset): Likewise.
      	* tree-eh.c (tree_could_trap_p): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-address.c (tree_mem_ref_addr): Simplify.  Handle
      	TMR_INDEX2.
      	(create_mem_ref_raw): Merge symbol and base.  Move 2ndary
      	base to index2.
      	(get_address_description): Reconstruct addres description
      	from merged TMR_BASE and TMR_INDEX2.
      	(maybe_fold_tmr): Fold propagated addresses.
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
      	MEM_REF and TARGET_MEM_REF paths.
      	(indirect_refs_may_alias_p): Likewise.
      	* tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
      	instead of TMR_SYMBOL.
      	* tree-ssa-operands.c (get_tmr_operands): Simplify.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
      	according to changes ...
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
      	Split TARGET_MEM_REF into two fields plus the base.
      	* tree.c (mem_ref_offset): Simplify.
      	* tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
      	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
      	Strip NOPs when folding MEM_REF addresses.
      	* tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
      	* gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
      	(fold_gimple_assign): ... not here.
      
      From-SVN: r163802
      Richard Guenther committed
  3. 01 Sep, 2010 1 commit
  4. 26 Aug, 2010 1 commit
  5. 20 Aug, 2010 1 commit
    • vec.h (FOR_EACH_VEC_ELT): Define. · ac47786e
      gcc/
      	* vec.h (FOR_EACH_VEC_ELT): Define.
      	* c-decl.c: Use it.
      	* cfgloop.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* dbxout.c: Likewise.
      	* df-scan.c: Likewise.
      	* dominance.c: Likewise.
      	* dse.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* ggc-common.c: Likewise.
      	* gimplify.c: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* implicit-zee.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-emit.c: Likewise.
      	* lambda-code.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* opts.c: Likewise.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* stor-layout.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-loop-linear.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-live.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-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      
      gcc/ada/
      	* gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      
      gcc/c-family/
      	* c-common.c: Use FOR_EACH_VEC_ELT.
      	* c-gimplify.c: Likewise.
      	* c-pragma.c: Likewise.
      
      gcc/cp/
      	* call.c: Use FOR_EACH_VEC_ELT.
      	* class.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* error.c: Likewise.
      	* except.c: Likewise.
      	* mangle.c: Likewise.
      	* method.c: Likewise.
      	* name-lookup.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* repo.c: Likewise.
      	* semantics.c: Likewise.
      	* typeck2.c: Likewise.
      
      gcc/fortran/
      	* trans-openmp.c: Use FOR_EACH_VEC_ELT.
      
      gcc/java/
      	* class.c: Use FOR_EACH_VEC_ELT.
      	* expr.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* resource.c: Likewise.
      
      gcc/lto/
      	* lto.c: Use FOR_EACH_VEC_ELT.
      
      From-SVN: r163401
      Nathan Froyd committed
  6. 16 Aug, 2010 1 commit
    • tree-cfg.c (verify_types_in_gimple_reference): Verify TARGET_MEM_REF a bit. · 4b228e61
      2010-08-16  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_types_in_gimple_reference): Verify
      	TARGET_MEM_REF a bit.
      	* tree-ssa-address.c (addr_for_mem_ref): Adjust.
      	(create_mem_ref_raw): Always create TMR_OFFSET, store the
      	alias pointer type via it.
      	(copy_mem_ref_info): Adjust.
      	(maybe_fold_tmr): Likewise.
      	* tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
      	(reference_alias_ptr_type): Likewise.
      	* tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
      	adjust documentation of TMR_OFFSET operand.
      	* alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
      	use the alias pointer type.
      	* expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
      	initialize mem attrs but the TMR itself.
      	* tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
      	similar to MEM_REF.
      	* tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
      	* tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
      	(unshare_and_remove_ssa_names): Likewise.
      	(copy_ref_info): Adjust.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
      	TARGET_MEM_REF case.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
      	at TMR_ORIGINAL.
      	* tree.h (TMR_ORIGINAL): Remove.
      	* gimple.c (get_base_address): For TARGET_MEM_REF with a
      	symbol return that.
      	* tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
      	with a symbol.
      	(get_addr_base_and_unit_offset): Likewise.
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
      	TARGET_MEM_REFs.
      	(indirect_ref_may_alias_decl_p): Likewise.
      	(refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.
      
      From-SVN: r163278
      Richard Guenther committed
  7. 10 Aug, 2010 1 commit
  8. 09 Aug, 2010 1 commit
  9. 29 Jul, 2010 1 commit
  10. 21 Jul, 2010 1 commit
    • re PR lto/45018 (ICE: tree check: did not expect class 'type', have 'type'… · 60f6be5a
      re PR lto/45018 (ICE: tree check: did not expect class 'type', have 'type' (record_type) in contains_placeholder_p, at tree.c:2749)
      
      2010-07-21  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/45018
      	* tree.c (find_decls_types_r): Do not follow TREE_CHAIN
      	of TYPE_DECLs.  Do not follow TYPE_NEXT_VARIANT,
      	TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.
      
      	* g++.dg/lto/20100721-1_0.C: New testcase.
      
      From-SVN: r162380
      Richard Guenther committed
  11. 16 Jul, 2010 1 commit
  12. 15 Jul, 2010 2 commits
    • tree.h (enum tree_index): Add TI_INTEGER_THREE. · 9a9d280e
      	* tree.h (enum tree_index): Add TI_INTEGER_THREE.
      	(integer_three_node): Add.
      	* tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
      	NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
      	* builtins.c (expand_builtin_prefetch): Use common tree nodes instead
      	of call build_int_cst.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
      	* tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
      	(find_interesting_uses_address): Ditto.
      	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
      	* tree-eh.c (lower_eh_constructs_2): Ditto.
      	* tree-vect-loop.c (get_initial_def_for_induction): Ditto.
      	* c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
      	* expmed.c (expand_divmod): Ditto.
      	* tree-mudflap.c (mx_register_decls): Ditto.
      	* varasm.c (array_size_for_constructor): Ditto.
      	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
      	* c-parser.c (c_parser_postfix_expression): Ditto.
      	
      /cp
      	* decl.c (integer_three_node): Remove.
      	(cxx_init_decl_processing): Do not initialize the integer_three_node.
      	* cp-tree.h (integer_three_node): Remove.
      
      From-SVN: r162230
      Anatoly Sokolov committed
    • tree.h (DECL_CHAIN): Define. · 910ad8de
      gcc/
      	* tree.h (DECL_CHAIN): Define.
      	* alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
      	* c-decl.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-typeck.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/winnt-cxx.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/pa/som.h: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/symbian-cxx.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      	* coverage.c: Likewise.
      	* dbxout.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* expr.c: Likewise.
      	* function.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimplify.c: Likewise.
      	* integrate.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* langhooks.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* omp-low.c: Likewise.
      	* stor-layout.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      
      gcc/ada/
      	* gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
      	* gcc-interface/trans.c: Likewise.
      	* gcc-interface/utils.c: Likewise.
      	* gcc-interface/utils2.c: Likewise.
      
      gcc/c-family/
      	* c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
      	* c-format.c: Likewise.
      
      gcc/cp/
      	* cp-tree.h: Carefully replace TREE_CHAIN with DECL_CHAIN.
      	* call.c: Likewise.
      	* class.c: Likewise.
      	* cp-gimplify.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* init.c: Likewise.
      	* mangle.c: Likewise.
      	* name-lookup.c: Likewise.
      	* optimize.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      	* semantics.c: Likewise.
      	* typeck.c: Likewise.
      	* typeck2.c: Likewise.
      
      gcc/fortran/
      	* f95-lang.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
      	* trans-common.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-types.c: Likewise.
      	* trans.c: Likewise.
      
      gcc/java/
      	* java-tree.h: Carefully replace TREE_CHAIN with DECL_CHAIN.
      	* boehm.c: Likewise.
      	* class.c: Likewise.
      	* decl.c: Likewise.
      	* expr.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* typeck.c: Likewise.
      	* verify-glue.c: Likewise.
      
      gcc/objc/
      	* objc-act.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
      
      gcc/testsuite/
      	* g++.dg/plugin/attribute_plugin.c: Carefully replace TREE_CHAIN
      	with DECL_CHAIN.
      
      From-SVN: r162223
      Nathan Froyd committed
  13. 09 Jul, 2010 1 commit
  14. 07 Jul, 2010 2 commits
    • When materializing a cloned function with arguments removed, · f625098e
      to TYPE_POINTER_TO field of the new type (which has fewer
      arguments) was left pointing to the original type.
      
      From-SVN: r161918
      Duncan Sands committed
    • re PR middle-end/44813 (ipa-split causes ice in ptr_deref_may_alias_decl_p, at… · 6938f93f
      re PR middle-end/44813 (ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173)
      
      	PR middle-end/44813
      	* tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
      	for functions passed by reference.
      	* tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
      	in memory when passed by reference.
      	* tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
      	beggining.
      	* ipa-split.c (split_function): Cleanup way return value is passed;
      	handle SSA DECL_BY_REFERENCE retvals.
      	* tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
      	DECL_BY_REFERENCE is set.
      	* tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
      	find_what_p_points_to): Handle RESULT_DECL.
      	* tree-inline.c (declare_return_variable): Get new entry_block argument;
      	when passing by reference ensure that RESULT_DECL is gimple_val.
      	(remap_gimple_op_r): Remap RESULT_DECL ssa name.
      	(remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
      	* g++.dg/torture/pr44813.C: New testcase.
      	* g++.dg/torture/pr44826.C: New testcase.
      
      From-SVN: r161898
      Jan Hubicka committed
  15. 06 Jul, 2010 1 commit
    • vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro. · c021f10b
      gcc/
      	* vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
      	* function.h (struct_function): Change type of local_decls field
      	to a VEC.
      	(add_local_decl): New function.
      	(FOR_EACH_LOCAL_DECL): New macro.
      	* cfgexpand.c (init_vars_expansion): Adjust for new type of
      	cfun->local_decls.
      	(estimated_stack_frame_size): Likewise.
      	(expand_used_vars): Likewise.
      	* cgraphbuild.c (build_cgraph_edges): Likewise.
      	* function.c (instantiate_decls_1): Likewise.
      	* ipa-struct-reorg.c (build_data_structure): Likewise.
      	* ipa-type-escape.c (analyze_function): Likewise.
      	* lto-streamer-in.c (input_function): Likewise.
      	* lto-streamer-out.c (output_function): Likewise.
      	* tree-ssa-live.c (remove_unused_locals): Likewise.
      	* tree.c (free_lang_data_in_decl): Likewise.
      	(find_decls_types_in_node): Likewise.
      	* omp-low.c (remove_exit_barrier): Likewise.
      	(expand_omp_taskreg): Likewise.
      	(list2chain): Rename to...
      	(vec2chain): ...this.  Adjust.
      	* cgraphunit.c (assemble_thunk): Call add_local_decl.
      	* tree-cfg.c (replace_by_duplicate_decl): Likewise.
      	* gimple-low.c (record_vars_into): Likewise.
      	* tree-inline.c (remap_decls): Likewise.
      	(declare_return_variable): Likewise.
      	(declare_inline_vars): Likewise.
      	(copy_forbidden): Adjust for new type of cfun->local_decls.
      	(add_local_variables): New function.
      	(expand_call_inline): Call it.
      	(tree_function_versioning): Likewise.
      
      gcc/cp/
      	* decl.c (cp_finish_decl): Call add_local_decl.
      	* optimize.c (clone_body): Adjust for new type of cfun->local_decls.
      
      From-SVN: r161862
      Nathan Froyd committed
  16. 05 Jul, 2010 4 commits
    • double-int.h (fit_double_type): Remove declaration. · 88e06841
      	* double-int.h (fit_double_type): Remove declaration.
      	* double-int.c (fit_double_type): Remove function.
      	* tree.h (int_fits_type_p): Adjust prototype.
      	* tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
      	instead of fit_double_type.
      	(build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
      	instead of fit_double_type and build_int_cst_wide.
      	* builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
      	instead of fit_double_type and build_int_cst_wide.
      	(fold_builtin_object_size): Use double_int_fits_to_tree_p instead
      	of fit_double_type.
      
      From-SVN: r161847
      Anatoly Sokolov committed
    • tree.c (reference_alias_ptr_type): New function. · a41e5e86
      2010-07-05  Richard Guenther  <rguenther@suse.de>
      
      	* tree.c (reference_alias_ptr_type): New function.
      	* tree.h (reference_alias_ptr_type): Declare.
      	* tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
      	allow non-TARGET_MEM_REF new refs.
      	(rewrite_use_address): Pass old alias pointer type to
      	create_mem_ref.
      	* tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type.
      	Build a MEM_REF instead of a TARGET_MEM_REF if possible.
      	(create_mem_ref): Get alias pointer type.  Adjust calls to
      	create_mem_ref_raw.
      	(maybe_fold_tmr): Likewise.
      	* tree-flow.h (create_mem_ref): Adjust prototype.
      
      From-SVN: r161840
      Richard Guenther committed
    • tree.h (build_call_list): Remove. · cfe6dea2
      	* tree.h (build_call_list): Remove.
      	* tree.c (build_call_list): Remove.
      
      From-SVN: r161837
      Nathan Froyd committed
    • tree-ssa-loop-im.c (for_each_index): Do not handle ALIGN_INDIRECT_REF. · 75421dcd
      2010-07-05  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-loop-im.c (for_each_index): Do not handle
      	ALIGN_INDIRECT_REF.
      	(gen_lsm_tmp_name): Likewise.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	(op_code_prio): Likewise.
      	(op_symbol_code): Likewise.
      	* tree.c (staticp): Likewise.
      	(build1_stat): Likewise.
      	* tree.h (INDIRECT_REF_P): Likewise.
      	* fold-const.c (maybe_lvalue_p): Likewise.
      	(operand_equal_p): Likewise.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
      	(ao_ref_init_from_vn_reference): Likewise.
      	* tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
      	(find_interesting_uses_address): Likewise.
      	* dwarf2out.c (loc_list_from_tree): Likewise.
      	* gimplify.c (gimplify_expr): Likewise.
      	* tree-eh.c (tree_could_trap_p): Likewise.
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
      	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
      	* tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
      	* config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
      	* tree-ssa-operands.c (get_expr_operands): Likewise.
      	* expr.c (safe_from_p): Likewise.
      	(expand_expr_real_1): Likewise.  TER BIT_AND_EXPRs into MEM_REFs.
      	* tree-vect-data-refs.c (vect_setup_realignment): Build
      	BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
      	* tree-vect-stmts.c (vectorizable_load): Likewise.
      	* tree.def (ALIGN_INDIRECT_REF): Remove.
      
      From-SVN: r161830
      Richard Guenther committed
  17. 01 Jul, 2010 1 commit
    • re PR middle-end/42834 (memcpy folding overeager) · 70f34814
      2010-07-01  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/42834
      	PR middle-end/44468
      	* doc/gimple.texi (is_gimple_mem_ref_addr): Document.
      	* doc/generic.texi (References to storage): Document MEM_REF.
      	* tree-pretty-print.c (dump_generic_node): Handle MEM_REF.
      	(print_call_name): Likewise.
      	* tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
      	(build_simple_mem_ref_loc): New function.
      	(mem_ref_offset): Likewise.
      	* tree.h (build_simple_mem_ref_loc): Declare.
      	(build_simple_mem_ref): Define.
      	(mem_ref_offset): Declare.
      	* fold-const.c: Include tree-flow.h.
      	(operand_equal_p): Handle MEM_REF.
      	(build_fold_addr_expr_with_type_loc): Likewise.
      	(fold_comparison): Likewise.
      	(fold_unary_loc): Fold
      	VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.
      	(fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2],
      	fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2].
      	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF.
      	(ptr_deref_may_alias_ref_p_1): Likewise.
      	(ao_ref_base_alias_set): Properly differentiate base object for
      	offset and TBAA.
      	(ao_ref_init_from_ptr_and_size): Use MEM_REF.
      	(indirect_ref_may_alias_decl_p): Handle MEM_REFs properly.
      	(indirect_refs_may_alias_p): Likewise.
      	(refs_may_alias_p_1): Likewise.  Remove pointer SSA name def
      	chasing code.
      	(ref_maybe_used_by_call_p_1): Handle MEM_REF.
      	(call_may_clobber_ref_p_1): Likewise.
      	* dwarf2out.c (loc_list_from_tree): Handle MEM_REF.
      	* expr.c (expand_assignment): Handle MEM_REF.
      	(store_expr): Handle MEM_REFs from STRING_CSTs.
      	(store_field): If expanding a MEM_REF of a non-addressable
      	decl use bitfield operations.
      	(get_inner_reference): Handle MEM_REF.
      	(expand_expr_addr_expr_1): Likewise.
      	(expand_expr_real_1): Likewise.
      	* tree-eh.c (tree_could_trap_p): Handle MEM_REF.
      	* alias.c (ao_ref_from_mem): Handle MEM_REF.
      	(get_alias_set): Likewise.  Properly handle VIEW_CONVERT_EXPRs.
      	* tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
      	(dr_analyze_indices): Likewise.
      	(dr_analyze_alias): Likewise.
      	(object_address_invariant_in_loop_p): Likewise.
      	* gimplify.c (mark_addressable): Handle MEM_REF.
      	(gimplify_cond_expr): Build MEM_REFs.
      	(gimplify_modify_expr_to_memcpy): Likewise.
      	(gimplify_init_ctor_preeval_1): Handle MEM_REF.
      	(gimple_fold_indirect_ref): Adjust.
      	(gimplify_expr): Handle MEM_REF.  Gimplify INDIRECT_REF to MEM_REF.
      	* tree.def (MEM_REF): New tree code.
      	* tree-dfa.c: Include toplev.h.
      	(get_ref_base_and_extent): Handle MEM_REF.
      	(get_addr_base_and_unit_offset): New function.
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
      	* gimple-fold.c (may_propagate_address_into_dereference): Handle
      	MEM_REF.
      	(maybe_fold_offset_to_array_ref): Allow possibly out-of bounds
      	accesses if the array has just one dimension.  Remove always true
      	parameter.  Do not require type compatibility here.
      	(maybe_fold_offset_to_component_ref): Remove.
      	(maybe_fold_stmt_indirect): Remove.
      	(maybe_fold_reference): Remove INDIRECT_REF handling.
      	Fold back to non-MEM_REF.
      	(maybe_fold_offset_to_address): Simplify.  Deal with type
      	mismatches here.
      	(maybe_fold_reference): Likewise.
      	(maybe_fold_stmt_addition): Likewise.  Also handle
      	&ARRAY + I in addition to &ARRAY[0] + I.
      	(fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs.
      	(gimple_get_relevant_ref_binfo): Handle MEM_REF.
      	* cfgexpand.c (expand_debug_expr): Handle MEM_REF.
      	* tree-ssa.c (useless_type_conversion_p): Make most pointer
      	conversions useless.
      	(warn_uninitialized_var): Handle MEM_REF.
      	(maybe_rewrite_mem_ref_base): New function.
      	(execute_update_addresses_taken): Implement re-writing of MEM_REFs
      	to SSA form.
      	* tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove
      	INDIRECT_REF handling.
      	(copy_tree_body_r): Handle MEM_REF.
      	* gimple.c (is_gimple_addressable): Adjust.
      	(is_gimple_address): Likewise.
      	(is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with
      	invariant base are invariant.
      	(is_gimple_min_lval): Adjust.
      	(is_gimple_mem_ref_addr): New function.
      	(get_base_address): Handle MEM_REF.
      	(count_ptr_derefs): Likewise.
      	(get_base_loadstore): Likewise.
      	* gimple.h (is_gimple_mem_ref_addr): Declare.
      	(gimple_call_fndecl): Handle invariant MEM_REF addresses.
      	* tree-cfg.c (verify_address): New function, split out from ...
      	(verify_expr): ... here.  Use for verifying ADDR_EXPRs and
      	the address operand of MEM_REFs.  Verify MEM_REFs.  Reject
      	INDIRECT_REFs.
      	(verify_types_in_gimple_min_lval): Handle MEM_REF.  Disallow
      	INDIRECT_REF.  Allow conversions.
      	(verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of
      	a register does not change its size.
      	(verify_types_in_gimple_reference): Verify MEM_REF.
      	(verify_gimple_assign_single): Disallow INDIRECT_REF.
      	Handle MEM_REF.
      	* tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable):
      	New.
      	(mark_address_taken): Handle MEM_REF.
      	(get_indirect_ref_operands): Pass through opf_not_non_addressable.
      	(get_asm_expr_operands): Pass opf_not_non_addressable.
      	(get_expr_operands): Handle opf_[not_]non_addressable.
      	Handle MEM_REF.  Remove INDIRECT_REF handling.
      	* tree-vrp.c: (check_array_ref): Handle MEM_REF.
      	(search_for_addr_array): Likewise.
      	(check_array_bounds): Likewise.
      	(vrp_stmt_computes_nonzero): Adjust for MEM_REF.
      	* tree-ssa-loop-im.c (for_each_index): Handle MEM_REF.
      	(ref_always_accessed_p): Likewise.
      	(gen_lsm_tmp_name): Likewise.  Handle ADDR_EXPR.
      	* tree-complex.c (extract_component): Do not handle INDIRECT_REF.
      	Handle MEM_REF.
      	* cgraphbuild.c (mark_load): Properly check for NULL result
      	from get_base_address.
      	(mark_store): Likewise.
      	* tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
      	* tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
      	handling for MEM_REF.
      	* tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
      	&MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
      	* builtins.c (stabilize_va_list_loc): Use the function ABI
      	valist type if we couldn't canonicalize the argument type.
      	Always dereference with the canonical va-list type.
      	(maybe_emit_free_warning): Handle MEM_REF.
      	(fold_builtin_memory_op): Simplify and handle MEM_REFs in folding
      	memmove to memcpy.
      	* builtins.c (fold_builtin_memory_op): Use ref-all types
      	for all memcpy foldings.
      	* omp-low.c (build_receiver_ref): Adjust for MEM_REF.
      	(build_outer_var_ref): Likewise.
      	(scan_omp_1_op): Likewise.
      	(lower_rec_input_clauses): Likewise.
      	(lower_lastprivate_clauses): Likewise.
      	(lower_reduction_clauses): Likewise.
      	(lower_copyprivate_clauses): Likewise.
      	(expand_omp_atomic_pipeline): Likewise.
      	(expand_omp_atomic_mutex): Likewise.
      	(create_task_copyfn): Likewise.
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF.
      	Remove old union trick.  Initialize constant offsets.
      	(ao_ref_init_from_vn_reference): Likewise.  Do not handle
      	INDIRECT_REF.  Init base_alias_set properly.
      	(vn_reference_lookup_3): Replace INDIRECT_REF handling with
      	MEM_REF.
      	(vn_reference_fold_indirect): Adjust for MEM_REFs.
      	(valueize_refs): Fold MEM_REFs.  Re-evaluate constant offset
      	for ARRAY_REFs.
      	(may_insert): Remove.
      	(visit_reference_op_load): Do not test may_insert.
      	(run_scc_vn): Remove parameter, do not fiddle with may_insert.
      	* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
      	a field to store the constant offset this op applies.
      	(run_scc_vn): Adjust prototype.
      	* cgraphunit.c (thunk_adjust): Adjust for MEM_REF.
      	* tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with
      	MEM_REF.  Propagate &foo + CST as &MEM[&foo, CST].  Do not
      	bother about volatile qualifiers on pointers.
      	(fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF.
      	* tree-ssa-loop-ivopts.c
      	* tree-ssa-loop-ivopts.c (determine_base_object): Adjust
      	for MEM_REF.
      	(strip_offset_1): Likewise.
      	(find_interesting_uses_address): Replace INDIRECT_REF handling with
      	MEM_REF handling.
      	(get_computation_cost_at): Likewise.
      	* ipa-pure-const.c (check_op): Handle MEM_REF.
      	* tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF.
      	* tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF
      	and constants.
      	* ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF.
      	* tree-parloops.c (take_address_of): Adjust for MEM_REF.
      	(eliminate_local_variables_1): Likewise.
      	(create_call_for_reduction_1): Likewise.
      	(create_loads_for_reductions): Likewise.
      	(create_loads_and_stores_for_name): Likewise.
      	* matrix-reorg.c (may_flatten_matrices_1): Sanitize.
      	(ssa_accessed_in_tree): Handle MEM_REF.
      	(ssa_accessed_in_assign_rhs): Likewise.
      	(update_type_size): Likewise.
      	(analyze_accesses_for_call_stmt): Likewise.
      	(analyze_accesses_for_assign_stmt): Likewise.
      	(transform_access_sites): Likewise.
      	(transform_allocation_sites): Likewise.
      	* tree-affine.c (tree_to_aff_combination): Handle MEM_REF.
      	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
      	not handle INDIRECT_REF.
      	* tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF.
      	(cond_store_replacement): Likewise.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
      	MEM_REF, no not handle INDIRECT_REFs.
      	(insert_into_preds_of_block): Properly initialize avail.
      	(phi_translate_1): Fold MEM_REFs.  Re-evaluate constant offset
      	for ARRAY_REFs.  Properly handle reference lookups that
      	require a bit re-interpretation.
      	(can_PRE_operation): Do not handle INDIRECT_REF.  Handle MEM_REF.
      	* tree-sra.c
      	* tree-sra.c (build_access_from_expr_1): Handle MEM_REF.
      	(build_ref_for_offset_1): Remove.
      	(build_ref_for_offset): Build MEM_REFs.
      	(gate_intra_sra): Disable for now.
      	(sra_ipa_modify_expr): Handle MEM_REF.
      	(ipa_early_sra_gate): Disable for now.
      	* tree-sra.c (create_access): Swap INDIRECT_REF handling for
      	MEM_REF handling.
      	(disqualify_base_of_expr): Likewise.
      	(ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
      	MEM_REF handling.
      	(sra_ipa_modify_expr): Remove INDIRECT_REF handling.
      	Use mem_ref_offset.  Remove bogus folding.
      	(build_access_from_expr_1): Properly handle MEM_REF for
      	non IPA-SRA.
      	(make_fancy_name_1): Add support for MEM_REF.
      	* tree-predcom.c (ref_at_iteration): Handle MEM_REFs.
      	* tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF.
      	* ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF.
      	(compute_complex_ancestor_jump_func): Likewise.
      	(ipa_analyze_virtual_call_uses): Likewise.
      	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace
      	INDIRECT_REF folding with more generalized MEM_REF folding.
      	(tree_ssa_forward_propagate_single_use_vars): Adjust accordingly.
      	(forward_propagate_addr_into_variable_array_index): Also handle
      	&ARRAY + I in addition to &ARRAY[0] + I.
      	* tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF.
      	* tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
      	creates assignments with overlap.
      	* tree-nested.c (get_static_chain): Adjust for MEM_REF.
      	(get_frame_field): Likewise.
      	(get_nonlocal_debug_decl): Likewise.
      	(convert_nonlocal_reference_op): Likewise.
      	(struct nesting_info): Add mem_refs pointer-set.
      	(create_nesting_tree): Allocate it.
      	(convert_local_reference_op): Insert to be folded mem-refs.
      	(fold_mem_refs): New function.
      	(finalize_nesting_tree_1): Perform defered folding of mem-refs 
      	(free_nesting_tree): Free the pointer-set.
      	* tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF.
      	(vectorizable_load): Likewise.
      	* tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF.
      	(propagate_with_phi): Likewise.
      	* tree-object-size.c (addr_object_size): Handle MEM_REFs
      	instead of INDIRECT_REFs.
      	(compute_object_offset): Handle MEM_REF.
      	(plus_stmt_object_size): Handle MEM_REF.
      	(collect_object_sizes_for): Dispatch to plus_stmt_object_size
      	for &MEM_REF.
      	* tree-flow.h (get_addr_base_and_unit_offset): Declare.
      	(symbol_marked_for_renaming): Likewise.
      	* Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
      	(fold-const.o): Add $(TREE_FLOW_H).
      	* tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF.
      	(find_func_clobbers): Likewise.
      	* ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF.
      	(decompose_access): Likewise.
      	(replace_field_acc): Likewise.
      	(replace_field_access_stmt): Likewise.
      	(insert_new_var_in_stmt): Likewise.
      	(get_stmt_accesses): Likewise.
      	(reorg_structs_drive): Disable.
      	* config/i386/i386.c (ix86_va_start): Adjust for MEM_REF.
      	(ix86_canonical_va_list_type): Likewise.
      
      	cp/
      	* cp-gimplify.c (cp_gimplify_expr): Open-code the rhs
      	predicate we are looking for, allow non-gimplified
      	INDIRECT_REFs.
      
      	testsuite/
      	* gcc.c-torture/execute/20100316-1.c: New testcase.
      	* gcc.c-torture/execute/pr44468.c: Likewise.
      	* gcc.c-torture/compile/20100609-1.c: Likewise.
      	* gcc.dg/volatile2.c: Adjust.
      	* gcc.dg/plugin/selfassign.c: Likewise.
      	* gcc.dg/pr36902.c: Likewise.
      	* gcc.dg/tree-ssa/foldaddr-2.c: Remove.
      	* gcc.dg/tree-ssa/foldaddr-3.c: Likewise.
      	* gcc.dg/tree-ssa/forwprop-8.c: Adjust.
      	* gcc.dg/tree-ssa/pr17141-1.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-21.c: Likewise.
      	* gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise.
      	* gcc.dg/tree-ssa/20030807-7.c: Likewise.
      	* gcc.dg/tree-ssa/forwprop-10.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
      	* gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise.
      	* gcc.dg/tree-ssa/forwprop-1.c: Likewise.
      	* gcc.dg/tree-ssa/forwprop-2.c: Likewise.
      	* gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-25.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-pre-26.c: Likewise.
      	* gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-pre-7.c: Likewise.
      	* gcc.dg/tree-ssa/forwprop-5.c: Likewise.
      	* gcc.dg/struct/w_prof_two_strs.c: XFAIL.
      	* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
      	* gcc.dg/struct/wo_prof_global_var.c: Likewise.
      	* gcc.dg/struct/wo_prof_malloc_size_var.c: Likewise.
      	* gcc.dg/struct/w_prof_local_array.c: Likewise.
      	* gcc.dg/struct/w_prof_single_str_global.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_str_init.c: Likewise.
      	* gcc.dg/struct/wo_prof_array_through_pointer.c: Likewise.
      	* gcc.dg/struct/w_prof_global_array.c: Likewise.
      	* gcc.dg/struct/wo_prof_array_field.c: Likewise.
      	* gcc.dg/struct/wo_prof_single_str_local.c: Likewise.
      	* gcc.dg/struct/w_prof_local_var.c: Likewise.
      	* gcc.dg/struct/wo_prof_two_strs.c: Likewise.
      	* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
      	* gcc.dg/struct/wo_prof_local_array.c: Likewise.
      	* gcc.dg/struct/w_prof_global_var.c: Likewise.
      	* gcc.dg/struct/wo_prof_single_str_global.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_substr_value.c: Likewise.
      	* gcc.dg/struct/wo_prof_global_array.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_substr_array.c: Likewise.
      	* gcc.dg/struct/wo_prof_double_malloc.c: Likewise.
      	* gcc.dg/struct/w_ratio_cold_str.c: Likewise.
      	* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Likewise.
      	* gcc.dg/struct/wo_prof_local_var.c: Likewise.
      	* gcc.dg/tree-prof/stringop-1.c: Adjust.
      	* g++.dg/tree-ssa/pr31146.C: Likewise.
      	* g++.dg/tree-ssa/copyprop-1.C: Likewise.
      	* g++.dg/tree-ssa/pr33604.C: Likewise.
      	* g++.dg/plugin/selfassign.c: Likewise.
      	* gfortran.dg/array_memcpy_3.f90: Likewise.
      	* gfortran.dg/array_memcpy_4.f90: Likewise.
      	* c-c++-common/torture/pr42834.c: New testcase.
      
      From-SVN: r161655
      Richard Guenther committed
  18. 28 Jun, 2010 2 commits
    • double-int.h (force_fit_type_double): Remove declaration. · 9589f23e
      	* double-int.h (force_fit_type_double): Remove declaration.
      	* double-int.c (force_fit_type_double): Move to tree.c.
      	* tree.h (force_fit_type_double): Declare.
      	* tree.h (force_fit_type_double): Moved from double-int.c. Use
      	double_int type for 'cst' argument. Use double_int_fits_to_tree_p and
      	double_int_to_tree instead of fit_double_type and build_int_cst_wide.
      	* convert.c (convert_to_pointer): Adjust call to
      	force_fit_type_double.
      	* tree-vrp.c (extract_range_from_assert,
      	extract_range_from_unary_expr): Adjust call to force_fit_type_double.
      	* fold-const.c: Update comment.
      	(int_const_binop, fold_convert_const_int_from_int,
      	fold_convert_const_int_from_real, fold_convert_const_int_from_fixed,
      	extract_muldiv_1, fold_div_compare, fold_sign_changed_comparison,
      	fold_unary_loc, fold_negate_const, fold_abs_const, fold_not_const,
      	round_up_loc): Adjust call to force_fit_type_double.
      	
      /c-family
      	* c-common.c (shorten_compare): Adjust call to force_fit_type_double.
      
      From-SVN: r161509
      Anatoly Sokolov committed
    • re PR middle-end/44671 (Partial inlining breaks C++) · d402c33d
      	PR middle-end/44671
      	PR middle-end/44686
      	* tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on signature
      	change.
      	* ipa-split.c (split_function): Always clear DECL_BUILT_IN.
      	* ipa-prop.c (ipa_modify_formal_parameters): Likewise.
      
      	* gcc.c-torture/pr44686.c: New file.
      
      From-SVN: r161476
      Jan Hubicka committed
  19. 25 Jun, 2010 1 commit
    • With large parts from Jim Wilson: · 0354c0c7
      	PR target/43902
      	* tree-pretty-print.c (dump_generic_node, op_code_prio): Add
      	WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
      	* optabs.c (optab_for_tree_code): Likewise.
      	(expand_widen_pattern_expr): Likewise.
      	* tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
      	out of execute_optimize_widening_mul.
      	(convert_plusminus_to_widen): New function.
      	(execute_optimize_widening_mul): Use the two new functions.
      	* expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
      	Remove code to generate widening multiply-accumulate.  Add support
      	for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
      	* gimple-pretty-print.c (dump_ternary_rhs): New function.
      	(dump_gimple_assign): Call it when appropriate.
      	* tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
      	* cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
      	(expand_gimple_stmt_1): Likewise.
      	(expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
      	WIDEN_MULT_MINUS_EXPR.
      	* tree-ssa-operands.c (get_expr_operands): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* gimple.c (extract_ops_from_tree_1): Renamed from
      	extract_ops_from_tree.  Add new arg for a third operand; fill it.
      	(gimple_build_assign_stat): Support operations with three operands.
      	(gimple_build_assign_with_ops_stat): Likewise.
      	(gimple_assign_set_rhs_from_tree): Likewise.
      	(gimple_assign_set_rhs_with_ops_1): Renamed from
      	gimple_assign_set_rhs_with_ops.  Add new arg for a third operand.
      	(get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
      	(get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
      	WIDEN_MULT_MINUS_EXPR.
      	* gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
      	(extract_ops_from_tree_1): Adjust declaration.
      	(gimple_assign_set_rhs_with_ops_1): Likewise.
      	(gimple_build_assign_with_ops): Pass NULL for last operand.
      	(gimple_build_assign_with_ops3): New macro.
      	(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
      	gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
      	functions.
      	* tree-cfg.c (verify_gimple_assign_ternary): New static function.
      	(verify_gimple_assign): Call it.
      	* doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
      	(Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
      	functions for dealing with three-operand statements.
      	* tree.c (commutative_ternary_tree_code): New function.
      	* tree.h (commutative_ternary_tree_code): Declare it.
      	* tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for ternary
      	statements.
      	(gimple_assign_nonzero_warnv_p): Likewise.
      	* tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
      	* tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
      	(ccp_fold): Use it.  Handle GIMPLE_TERNARY_RHS.
      	* tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
      	(struct hashtable_expr): New member ternary in the union.
      	(initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
      	(hashable_expr_equal_p): Fix indentation.  Handle EXPR_TERNARY.
      	(iterative_hash_hashable_expr): Likewise.
      	(print_expr_hash_elt): Handle EXPR_TERNARY.
      	* gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
      	* tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
      	statements.  Handle GIMPLE_TERNARY_RHS.
      
      testsuite/
      	PR target/43902
      	* gcc.target/mips/madd-9.c: New test.
      
      From-SVN: r161366
      Bernd Schmidt committed
  20. 17 Jun, 2010 1 commit
    • tree.h (vec_member): Declare. · bfdb7b70
      gcc/
      	* tree.h (vec_member): Declare.
      	* tree.c (vec_member): Define.
      
      gcc/cp/
      	* name-lookup.c (struct arg_lookup): Convert namespaces and
      	classes fields to VEC.
      	(arg_assoc_namespace): Adjust for new type of namespaces.
      	(arg_assoc_class): Adjust for new type of classes.
      	(lookup_arg_dependent): Use make_tree_vector and
      	release_tree_vector.
      	* typeck2.c (build_x_arrow): Use vec_member.
      
      From-SVN: r160936
      Nathan Froyd committed
  21. 08 Jun, 2010 1 commit
    • utils.c (init_gnat_to_gnu): Use typed GC allocation. · a9429e29
      gcc/ada:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
      	allocation.
      	(init_dummy_type): Likewise.
      	(gnat_pushlevel): Likewise.
      
      	* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
      	(Subprogram_Body_to_gnu): Likewise.
      	(Compilation_Unit_to_gnu): Likewise.
      	(start_stmt_group): Likewise.
      	(extract_encoding): Likewise.
      	(decode_name): Likewise.
      
      	* gcc-interface/misc.c (gnat_printable_name): Likewise.
      
      	* gcc-interface/decl.c (annotate_value): Likewise.
      
      	* gcc-interface/ada-tree.h (struct lang_type): Add variable_size
      	GTY option.
      	(struct lang_decl): Likewise.
      	(SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
      	(SET_DECL_LANG_SPECIFIC): Likewise.
      
      gcc/c-family:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* c-pragma.c (push_alignment): Use typed GC allocation.
      	(handle_pragma_push_options): Likewise.
      
      	* c-common.c (parse_optimize_options): Likewise.
      
      	* c-common.h (struct sorted_fields_type): Add variable_size GTY
      	option.
      
      gcc/cp:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* typeck2.c (abstract_virtuals_error): Likewise.
      
      	* pt.c (maybe_process_partial_specialization): Likewise.
      	(register_specialization): Likewise.
      	(add_pending_template): Likewise.
      	(lookup_template_class): Likewise.
      	(push_tinst_level): Likewise.
      
      	* parser.c (cp_lexer_new_main): Likewise.
      	(cp_lexer_new_from_tokens): Likewise.
      	(cp_token_cache_new): Likewise.
      	(cp_parser_context_new): Likewise.
      	(cp_parser_new): Likewise.
      	(cp_parser_nested_name_specifier_opt): Likewise.
      	(cp_parser_template_id): Likewise.
      
      	* name-lookup.c (binding_entry_make): Likewise.
      	(binding_table_construct): Likewise.
      	(binding_table_new): Likewise.
      	(cxx_binding_make): Likewise.
      	(pushdecl_maybe_friend): Likewise.
      	(begin_scope): Likewise.
      	(push_to_top_level): Likewise.
      
      	* lex.c (init_reswords): Likewise.
      	(retrofit_lang_decl): Likewise.
      	(cxx_dup_lang_specific_decl): Likewise.
      	(copy_lang_type): Likewise.
      	(cxx_make_type): Likewise.
      
      	* decl.c (make_label_decl): Likewise.
      	(check_goto): Likewise.
      	(start_preparsed_function): Likewise.
      	(save_function_data): Likewise.
      
      	* cp-tree.h (TYPE_SET_PTRMEMFUNC_TYPE): Likewise.
      
      	* cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
      
      	* class.c (finish_struct_1): Likewise.
      
      	* cp-tree.h (struct lang_type): Add variable_size GTY option.
      	(struct lang_decl): Likewise.
      
      	* parser.c (cp_parser_new): Update comment to not reference
      	ggc_alloc.
      
      gcc/fortran:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* trans-types.c (gfc_get_nodesc_array_type): Use typed GC
      	allocation.
      	(gfc_get_array_type_bounds): Likewise.
      
      	* trans-decl.c (gfc_allocate_lang_decl): Likewise.
      	(gfc_find_module): Likewise.
      
      	* f95-lang.c (pushlevel): Likewise.
      
      	* trans.h (struct lang_type): Add variable_size GTY option.
      	(struct lang_decl): Likewise.
      
      gcc/java:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* jcf-reader.c (jcf_parse_constant_pool): Use typed GC allocation.
      
      	* jcf-parse.c (java_parse_file): Likewise.
      	(process_zip_dir): Likewise.
      
      	* java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Likewise.
      	(MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Likewise.
      
      	* expr.c (add_type_assertion): Likewise.
      
      	* decl.c (make_binding_level): Likewise.
      	(java_dup_lang_specific_decl): Likewise.
      
      	* constants.c (set_constant_entry): Likewise.
      	(cpool_for_class): Likewise.
      
      	* class.c (add_method_1): Likewise.
      	(java_treetreehash_new): Likewise.
      
      	* java-tree.h (struct lang_type): Add variable_size GTY option.
      	(struct lang_decl): Likewise.
      
      	* jch.h (struct cpool_entry): Likewise.
      
      	* java-tree.h (java_treetreehash_create): Remove parameter ggc.
      
      	* except.c (prepare_eh_table_type): Update
      	java_treetreehash_create call.
      
      	* class.c (add_method_1): Update java_treetreehash_create call.
      	(java_treetreehash_create): Remove parameter gc.  Use
      	htab_create_ggc.
      
      gcc/lto:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* lto.c (lto_read_in_decl_state): Use typed GC allocation.
      	(lto_file_read): Likewise.
      	(new_partition): Likewise.
      	(read_cgraph_and_symbols): Likewise.
      
      gcc/objc:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
      	allocation.
      
      	* objc-act.c (objc_volatilize_decl): Likewise.
      	(objc_build_string_object): Likewise.
      	(hash_init): Likewise.
      	(hash_enter): Likewise.
      	(hash_add_attr): Likewise.
      	(add_class): Likewise.
      	(start_class): Likewise.
      
      gcc/objcp:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* objcp-decl.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
      	allocation.
      
      gcc:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
      
      	* doc/gty.texi (GTY Options): Document typed GC allocation and
      	variable_size GTY option.
      
      	* ggc-internal.h: New.
      
      	* ggc.h: Update copyright year.
      	(digit_string): Move to stringpool.c.
      	(ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
      	(gt_pch_save_stringpool, gt_pch_fixup_stringpool)
      	(gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
      	(init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
      	(ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
      	(ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
      	(ggc_force_collect, ggc_get_size, ggc_statistics)
      	(ggc_print_common_statistics): Move to ggc-internal.h.
      	(digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
      	(ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
      	(GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
      	(ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
      	(ggc_min_heapsize_heuristic, ggc_alloc_zone)
      	(ggc_alloc_zone_pass_stat): Remove.
      	(ggc_internal_alloc_stat, ggc_internal_alloc)
      	(ggc_internal_cleared_alloc_stat): New.
      	(GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
      	(ggc_internal_vec_alloc_stat)
      	(ggc_internal_cleared_vec_alloc_stat)
      	(ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
      	(ggc_alloc_atomic_stat, ggc_alloc_atomic)
      	(ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
      	(ggc_cleared_alloc_ptr_array_two_args): New.
      	(htab_create_ggc, splay_tree_new_ggc): Redefine.
      	(ggc_splay_alloc): Change the type of the first argument to
      	enum gt_types_enum.
      	(ggc_alloc_string): Make macro.
      	(ggc_alloc_string_stat): New.
      	(ggc_strdup): Redefine.
      	(rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
      	(ggc_alloc_rtvec_sized): New.
      	(ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
      	(ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
      	(ggc_internal_cleared_alloc_zone_stat)
      	(ggc_internal_zone_alloc_stat)
      	(ggc_internal_zone_cleared_alloc_stat)
      	(ggc_internal_zone_vec_alloc_stat)
      	(ggc_alloc_zone_rtx_def_stat)
      	(ggc_alloc_zone_tree_node_stat)
      	(ggc_alloc_zone_cleared_tree_node_stat)
      	(ggc_alloc_cleared_gimple_statement_d_stat): New.
      
      	* ggc-common.c: Include ggc-internal.h.
      	(ggc_internal_cleared_alloc_stat): Rename from
      	ggc_alloc_cleared_stat.
      	(ggc_realloc_stat): Use ggc_internal_alloc_stat.
      	(ggc_calloc): Remove.
      	(ggc_cleared_alloc_htab_ignore_args): New.
      	(ggc_cleared_alloc_ptr_array_two_args): New.
      	(ggc_splay_alloc): Add obj_type parameter.
      	(init_ggc_heuristics): Formatting fixes.
      
      	* ggc-none.c: Update copyright year.
      	(ggc_alloc_stat): Rename to ggc_alloc_stat.
      	(ggc_alloc_cleared_stat): Rename to
      	ggc_internal_cleared_alloc_stat.
      	(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
      
      	* ggc-page.c: Update copyright year.  Include ggc-internal.h.
      	Remove references to ggc_alloc in comments.
      	(ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
      	(ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
      	(new_ggc_zone, destroy_ggc_zone): Remove.
      	(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
      
      	* ggc-zone.c: Include ggc-internal.h.  Remove references to
      	ggc_alloc in comments.
      	(ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
      	(ggc_internal_alloc_zone_pass_stat): New.
      	(ggc_internal_cleared_alloc_zone_stat): New.
      	(ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
      	(ggc_alloc_stat): Rename ggc_internal_alloc_stat.
      	(new_ggc_zone, destroy_ggc_zone): Remove.
      
      	* stringpool.c: Update copyright year.  Include ggc-internal.h
      	(digit_vector): Make static.
      	(digit_string): Moved from ggc.h.
      	(stringpool_ggc_alloc): Use ggc_alloc_atomic.
      	(ggc_alloc_string): Rename to ggc_alloc_string_stat.
      
      	* Makefile.in (GGC_INTERNAL_H): New.
      	(ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
      	$(GGC_INTERNAL_H) to dependencies.
      
      	* gentype.c: Update copyright year.
      	(walk_type): Accept variable_size GTY option.
      	(USED_BY_TYPED_GC_P): New macro.
      	(write_enum_defn): Use USED_BY_TYPED_GC_P.  Do not output
      	whitespace at the end of strings.
      	(get_type_specifier, variable_size_p): New functions.
      	(alloc_quantity, alloc_zone): New enums.
      	(write_typed_alloc_def): New function.
      	(write_typed_struct_alloc_def): Likewise.
      	(write_typed_typed_typedef_alloc_def): Likewise.
      	(write_typed_alloc_defns): Likewise.
      	(output_typename, write_splay_tree_allocator_def): Likewise.
      	(write_splay_tree_allocators): Likewise.
      	(main): Call write_typed_alloc_defns and
      	write_splay_tree_allocators.
      
      	* lto-streamer.h (lto_file_decl_data_ptr): New.
      
      	* passes.c (order): Define using cgraph_node_ptr.
      
      	* strinpool.c (struct string_pool_data): Declare nested_ptr using
      	ht_identifier_ptr.
      
      	* gimple.h (union gimple_statement_d): Likewise.
      
      	* rtl.h (struct rtx_def): Likewise.
      	(struct rtvec_def): Likewise.
      
      	* tree.h (union tree_node): Likewise.
      
      	* tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
      
      	* cfgloop.c (record_loop_exits): Use htab_create_ggc.
      
      	* tree-scalar-evolution.c (scev_initialize): Likewise.
      
      	* alias.c (record_alias_subset): Update splay_tree_new_ggc call.
      
      	* dwarf2asm.c (dw2_force_const_mem): Likewise.
      
      	* omp-low.c (lower_omp_critical): Likewise.
      
      	* bitmap.h (struct bitmap_head_def): Update comment to not
      	reference ggc_alloc.
      
      	* config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
      
      	* ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
      
      	* ipa-prop.c (duplicate_ggc_array): Rename to
      	duplicate_ipa_jump_func_array.  Use typed GC allocation.
      	(ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
      
      	* gimple.c (gimple_alloc_stat): Use
      	ggc_alloc_cleared_gimple_statement_d_stat.
      
      	* varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
      
      	* tree.c (make_node_stat): Use
      	ggc_alloc_zone_cleared_tree_node_stat.
      	(make_tree_vec_stat): Likewise.
      	(build_vl_exp_stat): Likewise.
      	(copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
      	(make_tree_binfo_stat): Likewise.
      	(tree_cons_stat): Likewise.
      
      	* rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
      	(shallow_copy_rtx_stat): Likewise.
      	(make_node_stat): Likewise.
      
      	* lto-symtab.c: Fix comment.
      
      	* tree-cfg.c (create_bb): Update comment to not reference
      	ggc_alloc_cleared.
      	* tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is
      	value.
      
      	* varpool.c (varpool_node): Use typed GC allocation.
      	(varpool_extra_name_alias): Likewise.
      
      	* varasm.c (emutls_decl): Likewise.
      	(get_unnamed_section): Likewise.
      	(get_noswitch_section): Likewise.
      	(get_section): Likewise.
      	(get_block_for_section): Likewise.
      	(build_constant_desc): Likewise.
      	(create_constant_pool): Likewise.
      	(force_const_mem): Likewise.
      
      	* tree.c (build_vl_exp_stat): Likewise.
      	(build_real): Likewise.
      	(build_string): Likewise.
      	(decl_debug_expr_insert): Likewise.
      	(decl_value_expr_insert): Likewise.
      	(type_hash_add): Likewise.
      	(build_omp_clause): Likewise.
      
      	* tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
      
      	* tree-ssa.c (init_tree_ssa): Likewise.
      
      	* tree-ssa-structalias.c (heapvar_insert): Likewise.
      
      	* tree-ssa-operands.c (ssa_operand_alloc): Likewise.
      
      	* tree-ssa-loop-niter.c (record_estimate): Likewise.
      
      	* tree-ssa-alias.c (get_ptr_info): Likewise.
      
      	* tree-scalar-evolution.c (new_scev_info_str): Likewise.
      
      	* tree-phinodes.c (allocate_phi_node): Likewise.
      
      	* tree-iterator.c (tsi_link_before): Likewise.
      	(tsi_link_after): Likewise.
      
      	* tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
      
      	* tree-dfa.c (create_var_ann): Likewise.
      
      	* tree-cfg.c (create_bb): Likewise.
      
      	* toplev.c (alloc_for_identifier_to_locale): Likewise.
      	(general_init): Likewise.
      
      	* stringpool.c (stringpool_ggc_alloc): Likewise.
      	(gt_pch_save_stringpool): Likewise.
      
      	* sese.c (if_region_set_false_region): Likewise.
      
      	* passes.c (do_per_function_toporder): Likewise.
      
      	* optabs.c (set_optab_libfunc): Likewise.
      	(set_conv_libfunc): Likewise.
      
      	* lto-symtab.c (lto_symtab_register_decl): Likewise.
      
      	* lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
      	(input_eh_region): Likewise.
      	(input_eh_lp): Likewise.
      	(make_new_block): Likewise.
      	(unpack_ts_real_cst_value_fields): Likewise.
      
      	* lto-section-in.c (lto_new_in_decl_state): Likewise.
      
      	* lto-cgraph.c (input_node_opt_summary): Likewise.
      
      	* loop-init.c (loop_optimizer_init): Likewise.
      
      	* lambda.h (lambda_vector_new): Likewise.
      
      	* lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
      
      	* ira.c (update_equiv_regs): Likewise.
      
      	* ipa.c (cgraph_node_set_new): Likewise.
      	(cgraph_node_set_add): Likewise.
      	(varpool_node_set_new): Likewise.
      	(varpool_node_set_add): Likewise.
      
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
      	(duplicate_ipa_jump_func_array): Likewise.
      	(ipa_read_node_info): Likewise.
      
      	* ipa-cp.c (ipcp_create_replace_map): Likewise.
      
      	* integrate.c (get_hard_reg_initial_val): Likewise.
      
      	* gimple.c (gimple_alloc_stat): Likewise.
      	(gimple_build_omp_for): Likewise.
      	(gimple_seq_alloc): Likewise.
      	(gimple_copy): Likewise.
      
      	* gimple-iterator.c (gsi_insert_before_without_update): Likewise.
      	(gsi_insert_after_without_update): Likewise.
      
      	* function.c (add_frame_space): Likewise.
      	(insert_temp_slot_address): Likewise.
      	(assign_stack_temp_for_type): Likewise.
      	(allocate_struct_function): Likewise.
      	(types_used_by_var_decl_insert): Likewise.
      
      	* except.c (init_eh_for_function): Likewise.
      	(gen_eh_region): Likewise.
      	(gen_eh_region_catch): Likewise.
      	(gen_eh_landing_pad): Likewise.
      	(add_call_site): Likewise.
      
      	* emit-rtl.c (get_mem_attrs): Likewise.
      	(get_reg_attrs): Likewise.
      	(start_sequence): Likewise.
      	(init_emit): Likewise.
      
      	* dwarf2out.c (new_cfi): Likewise.
      	(queue_reg_save): Likewise.
      	(dwarf2out_frame_init): Likewise.
      	(new_loc_descr): Likewise.
      	(find_AT_string): Likewise.
      	(new_die): Likewise.
      	(add_var_loc_to_decl): Likewise.
      	(clone_die): Likewise.
      	(clone_as_declaration): Likewise.
      	(break_out_comdat_types): Likewise.
      	(new_loc_list): Likewise.
      	(loc_descriptor): Likewise.
      	(add_loc_descr_to_each): Likewise.
      	(add_const_value_attribute): Likewise.
      	(tree_add_const_value_attribute): Likewise.
      	(add_comp_dir_attribute): Likewise.
      	(add_name_and_src_coords_attributes): Likewise.
      	(lookup_filename): Likewise.
      	(store_vcall_insn): Likewise.
      	(dwarf2out_init): Likewise.
      
      	* dbxout.c (dbxout_init): Likewise.
      
      	* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
      
      	* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
      
      	* config/score/score7.c (score7_output_external): Likewise.
      
      	* config/score/score3.c (score3_output_external): Likewise.
      
      	* config/s390/s390.c (s390_init_machine_status): Likewise.
      
      	* config/rs6000/rs6000.c (builtin_function_type): Likewise.
      	(rs6000_init_machine_status): Likewise.
      	(output_toc): Likewise.
      
      	* config/pa/pa.c (pa_init_machine_status): Likewise.
      	(get_deferred_plabel): Likewise.
      
      	* config/moxie/moxie.c (moxie_init_machine_status): Likewise.
      
      	* config/mmix/mmix.c (mmix_init_machine_status): Likewise.
      
      	* config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
      
      	* config/mep/mep.c (mep_init_machine_status): Likewise.
      	(mep_note_pragma_flag): Likewise.
      
      	* config/m32c/m32c.c (m32c_init_machine_status): Likewise.
      
      	* config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
      
      	* config/ia64/ia64.c (ia64_init_machine_status): Likewise.
      
      	* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
      	(i386_pe_maybe_record_exported_symbol): Likewise.
      
      	* config/i386/i386.c (get_dllimport_decl): Likewise.
      	(ix86_init_machine_status): Likewise.
      	(assign_386_stack_local): Likewise.
      
      	* config/frv/frv.c (frv_init_machine_status): Likewise.
      
      	* config/darwin.c (machopic_indirection_name): Likewise.
      
      	* config/cris/cris.c (cris_init_machine_status): Likewise.
      
      	* config/bfin/bfin.c (bfin_init_machine_status): Likewise.
      
      	* config/avr/avr.c (avr_init_machine_status): Likewise.
      
      	* config/arm/arm.c (arm_init_machine_status): Likewise.
      
      	* config/alpha/alpha.c (alpha_init_machine_status): Likewise.
      	(alpha_need_linkage): Likewise.
      	(alpha_use_linkage): Likewise.
      
      	* cgraph.c (cgraph_allocate_node): Likewise.
      	(cgraph_create_edge_1): Likewise.
      	(cgraph_create_indirect_edge): Likewise.
      	(cgraph_add_asm_node): Likewise.
      
      	* cfgrtl.c (init_rtl_bb_info): Likewise.
      
      	* cfgloop.c (alloc_loop): Likewise.
      	(rescan_loop_exit): Likewise.
      
      	* cfg.c (init_flow): Likewise.
      	(alloc_block): Likewise.
      	(unchecked_make_edge): Likewise.
      
      	* c-parser.c (c_parse_init): Likewise.
      	(c_parse_file): Likewise.
      
      	* c-decl.c (bind): Likewise.
      	(record_inline_static): Likewise.
      	(push_scope): Likewise.
      	(make_label): Likewise.
      	(lookup_label_for_goto): Likewise.
      	(finish_struct): Likewise.
      	(finish_enum): Likewise.
      	(c_push_function_context): Likewise.
      
      	* bitmap.c (bitmap_element_allocate): Likewise.
      	(bitmap_gc_alloc_stat): Likewise.
      
      	* alias.c (record_alias_subset): Likewise.
      	(init_alias_analysis): Likewise.
      
      include:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* splay-tree.h: Update copyright years.
      	(splay_tree_s): Document fields.
      	(splay_tree_new_typed_alloc): New.
      
      	* hashtab.h: Update copyright years.
      	(htab_create_typed_alloc): New.
      
      libcpp:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* include/symtab.h (ht_identifier_ptr): New.
      
      libiberty:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* splay-tree.c: Update copyright years.
      	(splay_tree_new_typed_alloc): New.
      	(splay_tree_new_with_allocator): Use it.
      
      	* hashtab.c: Update copyright years.
      	(htab_create_typed_alloc): New.
      	(htab_create_alloc): Use it.
      
      	* functions.texi: Regenerate.
      
      From-SVN: r160425
      Laurynas Biveinis committed
  22. 06 Jun, 2010 1 commit
    • re PR c++/44188 (Fails to produce DW_AT_typedef for typedef of anonymous struct) · e62b90b4
      Fix PR c++/44188
      
      gcc/ChangeLog:
      	PR c++/44188
      	* c-common.c (is_typedef_decl): Move this definition ...
      	* tree.c (is_typedef_decl): ... here.
      	(typdef_variant_p): Move definition here from gcc/cp/tree.c.
      	* c-common.h (is_typedef_decl): Move this declaration ...
      	* tree.h (is_typedef_decl): ... here.
      	(typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
      	* dwarf2out.c (is_naming_typedef_decl): New function.
      	(gen_tagged_type_die): Split out of ...
      	(gen_type_die_with_usage): ... this function. When an anonymous
      	tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
      	is emitted for the typedef.
      	(gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
      	anonymous tagged types.
      
      gcc/cp/ChangeLog:
      	PR c++/44188
      	* cp-tree.h (typedef_variant_p): Move this declaration to
      	gcc/tree.h.
      	* tree.c (typedef_variant_p): Move this definition to gcc/tree.c.
      	* decl.c (grokdeclarator): Do not rename debug info of an
      	anonymous tagged type named by a typedef.
      
      gcc/testsuite/ChangeLog:
      	PR c++/44188
      	* g++.dg/debug/dwarf2/typedef3.C: New test.
      
      From-SVN: r160347
      Dodji Seketeli committed
  23. 02 Jun, 2010 1 commit
    • tree.h (struct tree_decl_map): New type. · 53e030f1
      	* tree.h (struct tree_decl_map): New type.
      	(tree_decl_map_eq, tree_decl_map_marked_p): Define.
      	(tree_decl_map_hash): New prototype.
      	(debug_expr_for_decl, value_expr_for_decl): Change into
      	tree_decl_map hashtab from tree_map.
      	(init_ttree): Adjust initialization.
      	(tree_decl_map_hash): New function.
      	(decl_debug_expr_lookup, decl_debug_expr_insert,
      	decl_value_expr_lookup, decl_value_expr_insert): Adjust.
      cp/
      	* cp-objcp-common.c (shadowed_var_for_decl): Change into
      	tree_decl_map hashtab from tree_map.
      	(decl_shadowed_for_var_lookup, decl_shadowed_for_var_insert): Adjust.
      	(init_shadowed_var_for_decl): Adjust initialization.
      
      From-SVN: r160185
      Jakub Jelinek committed
  24. 01 Jun, 2010 1 commit
  25. 28 May, 2010 1 commit
    • Revert "Fix PR c++/44188" · ec4be2f4
      gcc/ChangeLog:
      	revert fix for PR c++/44188
      	* c-common.c (is_typedef_decl): Revert the moving of  this
      	definition ...
      	* tree.c (is_typedef_decl): ... here.
      	(typdef_variant_p): Revert the moving of this  definition
      	here from gcc/cp/tree.c.
      	* c-common.h (is_typedef_decl): Revert the moving of this
      	declaration ...
      	* tree.h (is_typedef_decl): ... here.
      	(typedef_variant_p): Revert the moving of this  declaration here
      	from gcc/cp/cp-tree.h
      	* dwarf2out.c (is_naming_typedef_decl): Revert this new function.
      	(gen_tagged_type_die): Revert the splitting out of ...
      	(gen_type_die_with_usage): ... this function. Revert the anonymous
      	tagged type handling.
      	(gen_typedef_die): Revert emitting DW_TAG_typedef  for
      	typedefs naming anonymous tagged types.
      
      gcc/cp/ChangeLog:
      	Revert fix of PR c++/44188
      	* cp-tree.h (typedef_variant_p): Revert moving this declaration to
      	gcc/tree.h.
      	* tree.c (typedef_variant_p): Revert moving this definition to
      	gcc/tree.c.
      	* decl.c (grokdeclarator): Revert naming typedef handling.
      
      gcc/testsuite/ChangeLog:
      	Revert fix for PR c++/44188
      	* g++.dg/debug/dwarf2/typedef3.C: Revert new test.
      
      From-SVN: r159955
      Dodji Seketeli committed
  26. 27 May, 2010 2 commits
    • re PR c++/44188 (Fails to produce DW_AT_typedef for typedef of anonymous struct) · fe08ec12
      Fix PR c++/44188
      
      gcc/ChangeLog:
      	PR c++/44188
      	* c-common.c (is_typedef_decl): Move this definition ...
      	* tree.c (is_typedef_decl): ... here.
      	(typdef_variant_p): Move definition here from gcc/cp/tree.c.
      	* c-common.h (is_typedef_decl): Move this declaration ...
      	* tree.h (is_typedef_decl): ... here.
      	(typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
      	* dwarf2out.c (is_naming_typedef_decl): New function.
      	(gen_tagged_type_die): Split out of ...
      	(gen_type_die_with_usage): ... this function. When an anonymous
      	tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
      	is emitted for the typedef.
      	(gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
      	anonymous tagged types.
      
      gcc/cp/ChangeLog:
      	PR c++/44188
      	* cp-tree.h (typedef_variant_p): Move this declaration to
      	gcc/tree.h.
      	* tree.c (typedef_variant_p): Move this definition to gcc/tree.c.
      	* decl.c (grokdeclarator): Do not rename debug info of an
      	anonymous tagged type named by a typedef.
      
      gcc/testsuite/ChangeLog:
      	PR c++/44188
      	* g++.dg/debug/dwarf2/typedef3.C: New test.
      
      From-SVN: r159943
      Dodji Seketeli committed
    • input.c: New file. · 447924ef
      	* input.c: New file.
      	* input.h (main_input_filename): Move declaration to toplev.h.
      	* toplev.c (input_location, line_table): Move to input.c
      	* toplev.h (main_input_filename): Move declaration from input.h.
      	* tree.c (expand_location): Move to input.c.
      	* Makefile.in (OBJS-common): Add input.o.
      	(input.o): Add dependencies.
      
      From-SVN: r159914
      Joseph Myers committed
  27. 26 May, 2010 1 commit
    • demangle-expected: Add tests for __int128 and unsigned __int128 types. · a6766312
      libiberty/
      
      2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
      
              * testsuite/demangle-expected: Add tests for __int128
              and unsigned __int128 types.
      
      gcc/testsuite
      2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
      
      	* lib/target-supports.exp (check_effective_target_int128): New
      	function to check if __int128 types are available for target.
      	* testsuite/c-c++-common/int128-types-1.c: New.
      	* testsuite/c-c++-common/int128-1.c: New.
      	* testsuite/c-c++-common/int128-2.c: New.
      	* g++.dg/abi/mangle43.C: New.
      	* g++.dg/init/enum1.C: Handle __int128 case and add -Wno-overflow.
      	* g++.dg/cpp0x/nullptr04.C: Use __SIZE_TYPE__ for getting
      	pointer-wide scalar.
      	* g++.dg/other/pr25632.C: Likewise.
      	* g++.dg/other/large-size-array.C (DIM): Use ULLONG_MAX for win64 case.
      	* g++.dg/warn/pr13358-2.C: Add llp64 for check of special
      	overflow warnings.
      	* g++.dg/warn/pr13358-4.C: Likewise.
      	* g++.dg/warn/Wconversion-null-2.C:  Add 'long long' case.
      	* g++.dg/warn/Wconversion-null.C: Likewise.
      
      gcc/
      2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
      
      	* builtin-types.def (BT_INT128): New primitive type.
      	(BT_UINT128): Likewise.
      	* c-common.c (c_common_r): Add __int128 keyword.
      	(c_common_type_for_size): Handle __int128.
      	(c_common_type_for_mode): Likewise.
      	(c_common_signed_or_unsigned_type): Likewise.
      	(c_common_nodes_and_builtins): Add builtin type
      	if target supports 128-bit integer scalar.
      	* c-common.h (enum rid): Add RID_INT128.
      	* c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
      	if target supports 128-bit integer scalar.
      	* c-decl.c (declspecs_add_type): Handle new keyword
      	__int128.
      	(finish_declspecs): Likewise.
      	* c-parser.c (c_token_starts_typename): Handle RID_INT128.
      	(c_token_starts_declspecs): Likewise.
      	(c_parser_declspecs): Likewise.
      	(c_parser_attributes): Likewise.
      	(c_parser_objc_selector): Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Handle __int128.
      	* c-tree.h (enum c_typespec_keyword): Add cts_int128.
      	* gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
      	* tree.c (make_or_reuse_type): Likewise.
      	(make_unsigned_type): Likewise.
      	(build_common_tree_nodes_2): Likewise.
      	* tree.h (enum integer_type_kind): Add itk_int128 and
      	itk_unsigned_int128.
      	(int128_integer_type_node): New define..
      	(int128_unsigned_type_node): New define.
      	* cp/cp-tree.h (cp_decl_specifier_seq): Add new bifield
      	explicit_int128_p.
      	* cp/decl.c (grokdeclarator): Handle __int128.
      	* cp/parser.c (cp_lexer_next_token_is_decl_specifier_ke): Likewise.
      	(cp_parser_simple_type_specifier): Likewise.
      	* cp/rtti.c (emit_support_tinfos): Add int128 nodes for rtti.
      	* cp/typeck.c (cp_common_type): Handle __int128.
      	* cp/mangle.c (integer_type_codes): Add itk_int128 and
      	itk_unsigned_int128.
      	* doc/extend.texi: Add documentation about __int128 type.
      
      From-SVN: r159879
      Kai Tietz committed
  28. 21 May, 2010 3 commits
    • diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or langhooks-def.h. · cf835838
      	* diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
      	langhooks-def.h.
      	(diagnostic_initialize): Initialize x_data not last_function.
      	(diagnostic_report_current_function): Move to tree-diagnostic.c.
      	(default_diagnostic_starter): Call
      	diagnostic_report_current_module not
      	diagnostic_report_current_function.
      	(diagnostic_report_diagnostic): Initialize x_data not
      	abstract_origin.
      	(verbatim): Likewise.
      	* diagnostic.h (struct diagnostic_info): Change abstract_origin to
      	x_data.
      	(struct diagnostic_context): Change last_function to x_data.
      	(diagnostic_auxiliary_data): Replace with
      	diagnostic_context_auxiliary_data and
      	diagnostic_info_auxiliary_data.
      	(diagnostic_last_function_changed, diagnostic_set_last_function,
      	diagnostic_report_current_function): Move to tree-diagnostic.h.
      	(print_declaration, dump_generic_node, print_generic_stmt,
      	print_generic_stmt_indented, print_generic_expr,
      	print_generic_decl, debug_c_tree, dump_omp_clauses,
      	print_call_name, debug_generic_expr, debug_generic_stmt,
      	debug_tree_chain, default_tree_printer): Move to
      	tree-pretty-print.h.
      	(debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
      	print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
      	gimple-pretty-print.h.
      	* pretty-print.c: Don't include tree.h
      	(pp_base_format): Don't handle %K here.
      	(pp_base_tree_identifier): Move to tree-pretty-print.c.
      	* pretty-print.h (text_info): Change abstract_origin to x_data.
      	(pp_tree_identifier, pp_unsupported_tree,
      	pp_base_tree_identifier): Move to tree-pretty-print.h.
      	* gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
      	tree-pretty-print.h: New files.
      	* tree-pretty-print.c: Include tree-pretty-print.h.
      	(percent_K_format): New.  Moved from pretty-print.c.
      	(pp_base_tree_identifier): Move from pretty-print.c.
      	* c-objc-common.c: Include tree-pretty-print.h.
      	(c_tree_printer): Handle %K here.
      	* langhooks.c: Include tree-diagnostic.h.
      	(lhd_print_error_function): Use diagnostic_abstract_origin macro.
      	* toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
      	(default_tree_printer): Handle %K using percent_K_format.
      	(general_init): Use default_tree_diagnostic_starter.
      	* tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
      	(free_lang_data): Use default_tree_diagnostic_starter.
      	* c-pretty-print.c: Include tree-pretty-print.h.
      	* cfgexpand.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* cgraphunit.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* dwarf2out.c: Include tree-pretty-print.h.
      	* except.c: Include tree-pretty-print.h.
      	* gimple-pretty-print.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* gimplify.c: Include tree-pretty-print.h.
      	* graphite-poly.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* ipa-cp.c: Include tree-pretty-print.h.
      	* ipa-inline.c: Include gimple-pretty-print.h.
      	* ipa-prop.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* ipa-pure-const.c: Include gimple-pretty-print.h.
      	* ipa-struct-reorg.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* ipa-type-escape.c: Include tree-pretty-print.h.
      	* print-rtl.c: Include tree-pretty-print.h.
      	* print-tree.c: Include gimple-pretty-print.h.
      	* sese.c: Include tree-pretty-print.h.
      	* tree-affine.c: Include tree-pretty-print.h.
      	* tree-browser.c: Include tree-pretty-print.h.
      	* tree-call-cdce.c: Include gimple-pretty-print.h.
      	* tree-cfg.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-chrec.c: Include tree-pretty-print.h.
      	* tree-data-ref.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-dfa.c: Include tree-pretty-print.h.
      	* tree-if-conv.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-inline.c: Include tree-pretty-print.h.
      	* tree-into-ssa.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-nrv.c: Include tree-pretty-print.h.
      	* tree-object-size.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-outof-ssa.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-parloops.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-predcom.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-scalar-evolution.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-sra.c: Include tree-pretty-print.h.
      	* tree-ssa-address.c: Include tree-pretty-print.h.
      	* tree-ssa-alias.c: Include tree-pretty-print.h.
      	* tree-ssa-ccp.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-coalesce.c: Include tree-pretty-print.h.
      	* tree-ssa-copy.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-copyrename.c: Include tree-pretty-print.h.
      	* tree-ssa-dce.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-dom.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-dse.c: Include gimple-pretty-print.h.
      	* tree-ssa-forwprop.c: Include tree-pretty-print.h.
      	* tree-ssa-ifcombine.c: Include tree-pretty-print.h.
      	* tree-ssa-live.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-loop-im.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-loop-niter.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
      	* tree-ssa-math-opts.c: Include gimple-pretty-print.h.
      	* tree-ssa-operands.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-phiprop.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-pre.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-propagate.c: Include gimple-pretty-print.h.
      	* tree-ssa-reassoc.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-sccvn.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-sink.c: Include gimple-pretty-print.h.
      	* tree-ssa-ter.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-ssa-uninit.c: Include gimple-pretty-print.h.
      	* tree-ssa.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-stdarg.c: Include gimple-pretty-print.h.
      	* tree-switch-conversion.c: Include gimple-pretty-print.h.
      	* tree-tailcall.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-vect-data-refs.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-vect-loop-manip.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-vect-loop.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-vect-patterns.c: Include gimple-pretty-print.h.
      	* tree-vect-slp.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-vect-stmts.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* tree-vectorizer.c: Include tree-pretty-print.h.
      	* tree-vrp.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* value-prof.c: Include tree-pretty-print.h and
      	gimple-pretty-print.h.
      	* var-tracking.c: Include tree-pretty-print.h.
      	* Makefile.in (OBJS-common): Add tree-diagnostic.o.
      	(tree-diagnostic.o): New dependencies.
      	(c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
      	tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
      	tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
      	tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
      	tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
      	tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
      	tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
      	tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
      	tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
      	tree-ssa-address.o, tree-ssa-loop-niter.o,
      	tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
      	tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
      	tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
      	gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
      	tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
      	tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
      	tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
      	tree-parloops.o, tree-stdarg.o, tree-object-size.o,
      	gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
      	toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
      	ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
      	ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
      	tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
      	tree-switch-conversion.o, var-tracking.o, value-prof.o,
      	cfgexpand.o, pretty-print.o): Update dependencies.
      
      cp:
      	* error.c: Include tree-diagnostic.h and tree-pretty-print.h.
      	(cp_print_error_function): Use diagnostic_abstract_origin macro.
      	(cp_printer): Handle %K here using percent_K_format.
      	* cxx-pretty-print.c: Include tree-pretty-print.h.
      	* Make-lang.in (cp/error.o, cp/cxx-pretty-print.o): Update
      	dependencies.
      
      From-SVN: r159685
      Joseph Myers committed
    • tree.c (build_function_decl_skip_args): Fix grammar. · 95f6e526
      	* tree.c (build_function_decl_skip_args): Fix grammar.
      	(build_function_type_list_1): Fix typos, adjust formatting.
      
      From-SVN: r159666
      Nathan Froyd committed
    • tree.h: Include real.h and fixed-value.h as basic datatypes. · 40013784
      gcc/ChangeLog:
      	* tree.h: Include real.h and fixed-value.h as basic datatypes.
      	* dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
      	tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
      	tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
      	tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
      	genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
      	tree-pretty-print.c, tree-loop-distribution.c,
      	tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
      	tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
      	tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
      	tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
      	tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
      	tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
      	tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
      	tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
      	tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
      	tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
      	genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
      	tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
      	gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
      	tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
      	tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
      	store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
      	tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
      	tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
      	tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
      	tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
      	fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
      	tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
      	config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
      	config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
      	config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
      	config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
      	config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
      	config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
      	config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
      	config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
      	config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
      	config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
      	config/score/score7.c, config/score/score.c, config/arm/arm.c,
      	config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
      	config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
      	config/bfin/bfin.c:
      	Clean up redundant includes.
      	* Makefile.in: Update accordingly.
      
      java/ChangeLog:
      	* typeck.c, decl.c, jcf-parse.c, except.c, expr.c:
      
      cp/Changelog:
      	* error.c, tree.c, typeck2.c, cxx-pretty-print.c, mangle.c:
      	Clean up redundant includes.
      
      fortran/ChangeLog:
      	* trans-const.c, trans-types.c, trans-intrinsic.c:
      	Clean up redundant includes.
      
      From-SVN: r159663
      Steven Bosscher committed
  29. 19 May, 2010 3 commits
    • double-int.h (double_int_ior): New function. · 1961ffb8
      	* double-int.h (double_int_ior): New function.
      	* tree.h (build_int_cst_wide_type): Remove.
      	* tree.c (build_int_cst_wide_type): Remove.
      	* fold-const.c (native_interpret_int): Use double_int_to_tree instead
      	of build_int_cst_wide_type.
      	* stor-layout.c (set_sizetype): (Ditto.).
      	* dojump.c (do_jump): Use build_int_cstu instead of
      	build_int_cst_wide_type.
      
      /java
      	* jcf-parse.c (get_constant): Use double_int_to_tree instead of
      	build_int_cst_wide_type.
      
      From-SVN: r159595
      Anatoly Sokolov committed
    • re PR lto/44196 (lto1: ICE: tree check: expected field_decl, have type_decl in… · 817c2996
      re PR lto/44196 (lto1: ICE: tree check: expected field_decl, have type_decl in gimple_types_compatible_p, at gimple.c:3597)
      
      2010-05-19  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/44196
      	* tree.c (find_decls_types_r): Walk BLOCKs and its vars.
      
      	* g++.dg/lto/20100519-1_0.C: New testcase.
      
      From-SVN: r159582
      Richard Guenther committed
    • Revert: · 39b27b3a
      	2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
      
      	* tree.h (build_call_list): Remove.
      	* tree.c (build_call_list): Remove.
      
      From-SVN: r159554
      Nathan Froyd committed