1. 05 Mar, 2013 1 commit
    • re PR c++/55135 (Segfault of gcc on a big file) · d273b176
      gcc/
      	PR c++/55135
      	* except.h (remove_unreachable_eh_regions): New prototype.
      	* except.c (remove_eh_handler_splicer): New function, split out
      	of remove_eh_handler.
      	(remove_eh_handler): Use remove_eh_handler_splicer.  Add comment
      	warning about running it on many EH regions one at a time.
      	(remove_unreachable_eh_regions_worker): New function, walk the
      	EH tree in depth-first order and remove non-marked regions.
      	(remove_unreachable_eh_regions): New function.
      	* tree-eh.c (mark_reachable_handlers): New function, split out
      	from remove_unreachable_handlers.
      	(remove_unreachable_handlers): Use mark_reachable_handlers and
      	remove_unreachable_eh_regions.
      	(remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
      	and remove_unreachable_eh_regions.
      
      From-SVN: r196464
      Steven Bosscher committed
  2. 10 Jan, 2013 1 commit
  3. 04 Jan, 2013 1 commit
  4. 18 Nov, 2012 1 commit
    • This patch rewrites the old VEC macro-based interface into a new one based on… · 9771b263
      This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'.
      
      This patch rewrites the old VEC macro-based interface into a new one
      based on the template class 'vec'.  The user-visible changes are
      described in http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec.
      
      I have tested the patch pretty extensively:
      
      - Regular bootstraps on x86_64, ppc, ia64, sparc and hppa.
      - Bootstraps with --enable-checking=release
      - Bootstraps with --enable-checking=gc,gcac
      - Basic builds on all targets (using contrib/config-list.mk).
      
      We no longer access the vectors via VEC_* macros.  The pattern is
      "VEC_operation (T, A, V, args)" becomes "V.operation (args)".
      
      The only thing I could not do is create proper ctors and dtors for the
      vec class.  Since these vectors are stored in unions, we
      have to keep them as PODs (C++03 does not allow non-PODs in unions).
      
      This means that creation and destruction must be explicit.  There is a
      new method vec<type, allocation, layout>::create() and another vec<type,
      allocation, layout>::destroy() to allocate the internal vector.
      
      For vectors that must be pointers, there is a family of free functions
      that implement the operations that need to tolerate NULL vectors.
      These functions all start with the prefix 'vec_safe_'.  See the wiki
      page for details.
      
      The gengtype change removes the special handling for VEC() that used
      to exist in gengtype. Additionally, it allows gengtype to recognize
      templates of more than one argument and introduces the concept of an
      undefined type (useful for template arguments that may or may not be
      types).
      
      When a TYPE_UNDEFINED is reached, gengtype will ignore it if it
      happens inside a type marked with GTY((user)).  Otherwise, it will
      emit an error.
      
      Finally, gengtype rejects root types marked GTY((user)) that are not
      first class pointers.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* vec.c (register_overhead): Convert it into
      	member function of vec_prefix.
      	(release_overhead): Likewise.
      	(calculate_allocation): Likewise.
      	(vec_heap_free): Remove.
      	(vec_gc_o_reserve_1): Remove.
      	(vec_heap_o_reserve_1): Remove.
      	(vec_stack_o_reserve_1): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(register_stack_vec): New.
      	(stack_vec_register_index): New.
      	(unregister_stack_vec): New.
      	(vec_assert_fail): Remove.
      	* vec.h: Conditionally include ggc.h.  Document conditional
      	hackery.
      	Update top-level documentation.
      	(ALONE_VEC_CHECK_INFO): Remove.
      	(VEC_CHECK_INFO): Remove.
      	(ALONE_VEC_CHECK_DECL): Remove.
      	(VEC_CHECK_DECL): Remove.
      	(ALONE_VEC_CHECK_PASS): Remove.
      	(VEC_CHECK_PASS): Remove.
      	(VEC_ASSERT): Remove.
      	(vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and
      	va_stack.
      	Mark fields alloc_ and num_ as protected.
      	(struct vec_t): Remove.  Remove all function members.
      	(struct vl_embed): Declare.
      	(struct vl_ptr): Declare.
      	(free): Remove.
      	(reserve_exact): Remove.
      	(reserve): Remove.
      	(safe_splice): Remove.
      	(safe_push): Remove.
      	(safe_grow): Remove.
      	(safe_grow_cleared): Remove.
      	(safe_insert): Remove.
      	(DEF_VEC_I): Remove.
      	(DEF_VEC_ALLOC_I): Remove.
      	(DEF_VEC_P): Remove.
      	(DEF_VEC_ALLOC_P): Remove.
      	(DEF_VEC_O): Remove.
      	(DEF_VEC_ALLOC_O): Remove.
      	(DEF_VEC_ALLOC_P_STACK): Remove.
      	(DEF_VEC_ALLOC_O_STACK): Remove.
      	(DEF_VEC_ALLOC_I_STACK): Remove.
      	(DEF_VEC_A): Remove.
      	(DEF_VEC_ALLOC_A): Remove.
      	(vec_stack_p_reserve_exact_1): Remove.
      	(vec_stack_o_reserve): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(VEC_length): Remove.
      	(VEC_empty): Remove.
      	(VEC_address): Remove.
      	(vec_address): Remove.
      	(VEC_last): Remove.
      	(VEC_index): Remove.
      	(VEC_iterate): Remove.
      	(VEC_embedded_size): Remove.
      	(VEC_embedded_init): Remove.
      	(VEC_free): Remove.
      	(VEC_copy): Remove.
      	(VEC_space): Remove.
      	(VEC_reserve): Remove.
      	(VEC_reserve_exact): Remove.
      	(VEC_splice): Remove.
      	(VEC_safe_splice): Remove.
      	(VEC_quick_push): Remove.
      	(VEC_safe_push): Remove.
      	(VEC_pop): Remove.
      	(VEC_truncate): Remove.
      	(VEC_safe_grow): Remove.
      	(VEC_replace): Remove.
      	(VEC_quick_insert): Remove.
      	(VEC_safe_insert): Remove.
      	(VEC_ordered_remove): Remove.
      	(VEC_unordered_remove): Remove.
      	(VEC_block_remove): Remove.
      	(VEC_lower_bound): Remove.
      	(VEC_alloc): Remove.
      	(VEC_qsort): Remove.
      
      	(va_heap): Declare.
      	(va_heap::default_layout): New typedef to vl_ptr.
      	(va_heap::reserve): New.
      	(va_heap::release): New.
      	(va_gc): Declare.
      	(va_gc::default_layout): New typedef to vl_embed.
      	(va_gc::reserve): New.
      	(va_gc::release): New.
      	(va_gc_atomic): Declare.  Inherit from va_gc.
      	(va_stack): Declare.
      	(va_stack::default_layout): New typedef to vl_ptr.
      	(va_stack::alloc): New.
      	(va_stack::reserve): New.
      	(va_stack::release): New.
      	(register_stack_vec): Declare.
      	(stack_vec_register_index): Declare.
      	(unregister_stack_vec): Declare.
      
      	(vec<T, A = va_heap, L = typename A::default_layout>): Declare
      	empty vec template.
      	(vec<T, A, vl_embed>): Partial specialization for embedded
      	layout.
      	(vec<T, A, vl_embed>::allocated): New.
      	(vec<T, A, vl_embed>::length): New.
      	(vec<T, A, vl_embed>::is_empty): New.
      	(vec<T, A, vl_embed>::address): New.
      	(vec<T, A, vl_embed>::operator[]): New.
      	(vec<T, A, vl_embed>::last New.
      	(vec<T, A, vl_embed>::space): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::copy): New.
      	(vec<T, A, vl_embed>::splice): New.
      	(vec<T, A, vl_embed>::quick_push New.
      	(vec<T, A, vl_embed>::pop New.
      	(vec<T, A, vl_embed>::truncate): New.
      	(vec<T, A, vl_embed>::quick_insert): New.
      	(vec<T, A, vl_embed>::ordered_remove): New.
      	(vec<T, A, vl_embed>::unordered_remove): New.
      	(vec<T, A, vl_embed>::block_remove): New.
      	(vec<T, A, vl_embed>::qsort): New.
      	(vec<T, A, vl_embed>::lower_bound): New.
      	(vec<T, A, vl_embed>::embedded_size): New.
      	(vec<T, A, vl_embed>::embedded_init): New.
      	(vec<T, A, vl_embed>::quick_grow): New.
      	(vec<T, A, vl_embed>::quick_grow_cleared): New.
      	(vec_safe_space): New.
      	(vec_safe_length): New.
      	(vec_safe_address): New.
      	(vec_safe_is_empty): New.
      	(vec_safe_reserve): New.
      	(vec_safe_reserve_exact): New.
      	(vec_alloc): New.
      	(vec_free): New.
      	(vec_safe_grow): New.
      	(vec_safe_grow_cleared): New.
      	(vec_safe_iterate): New.
      	(vec_safe_push): New.
      	(vec_safe_insert): New.
      	(vec_safe_truncate): New.
      	(vec_safe_copy): New.
      	(vec_safe_splice): New.
      
      	(vec<T, A, vl_ptr>): New partial specialization for the space
      	efficient layout.
      	(vec<T, A, vl_ptr>::exists): New.
      	(vec<T, A, vl_ptr>::is_empty): New.
      	(vec<T, A, vl_ptr>::length): New.
      	(vec<T, A, vl_ptr>::address): New.
      	(vec<T, A, vl_ptr>::operator[]): New.
      	(vec<T, A, vl_ptr>::operator!=): New.
      	(vec<T, A, vl_ptr>::operator==): New.
      	(vec<T, A, vl_ptr>::last): New.
      	(vec<T, A, vl_ptr>::space): New.
      	(vec<T, A, vl_ptr>::iterate): New.
      	(vec<T, A, vl_ptr>::copy): New.
      	(vec<T, A, vl_ptr>::reserve): New.
      	(vec<T, A, vl_ptr>::reserve_exact): New.
      	(vec<T, A, vl_ptr>::splice): New.
      	(vec<T, A, vl_ptr>::safe_splice): New.
      	(vec<T, A, vl_ptr>::quick_push): New.
      	(vec<T, A, vl_ptr>::safe_push): New.
      	(vec<T, A, vl_ptr>::pop): New.
      	(vec<T, A, vl_ptr>::truncate): New.
      	(vec<T, A, vl_ptr>::safe_grow): New.
      	(vec<T, A, vl_ptr>::safe_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_grow): New.
      	(vec<T, A, vl_ptr>::quick_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_insert): New.
      	(vec<T, A, vl_ptr>::safe_insert): New.
      	(vec<T, A, vl_ptr>::ordered_remove): New.
      	(vec<T, A, vl_ptr>::unordered_remove): New.
      	(vec<T, A, vl_ptr>::block_remove): New.
      	(vec<T, A, vl_ptr>::qsort): New.
      	(vec<T, A, vl_ptr>::lower_bound): New.
      	(vec_stack_alloc): Define.
      	(FOR_EACH_VEC_SAFE_ELT): Define.
      	* vecir.h: Remove.  Update all users.
      	* vecprim.h: Remove.  Update all users.
      	Move uchar to coretypes.h.
      
      	* Makefile.in (VEC_H): Add $(GGC_H).
      	Remove vecir.h and vecprim.h dependencies everywhere.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	* gengtype-lex.l (VEC): Remove.
      	Add characters in the set [\!\>\.-].
      	* gengtype-parse.c (token_names): Remove "VEC".
      	(require_template_declaration): Remove handling of VEC_TOKEN.
      	(type): Likewise.
      	Call create_user_defined_type when parsing GTY((user)).
      	* gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
      	(write_state_undefined_type): New.
      	(write_state_type): Call write_state_undefined_type for
      	TYPE_UNDEFINED.
      	(read_state_type): Call read_state_undefined_type for
      	TYPE_UNDEFINED.
      	* gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
      	(create_user_defined_type): Make extern.
      	(type_for_name): Factor out of resolve_typedef.
      	(create_undefined_type): New
      	(resolve_typedef): Call it when we cannot find a previous
      	typedef and the type is not a template.
      	(find_structure): Accept TYPE_UNDEFINED.
      	(set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
      	default to false.
      	Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
      	ALLOWED_UNDEFINED_TYPES is set.
      	Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
      	(filter_type_name): Accept templates with more than one
      	argument.
      	(output_mangled_typename): Handle TYPE_UNDEFINED
      	(walk_type): Likewise.
      	(write_types_process_field): Likewise.
      	(write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
      	should not be a user-defined type.
      	(write_types_local_user_process_field): Handle TYPE_ARRAY,
      	TYPE_NONE and TYPE_UNDEFINED.
      	(write_types_local_process_field): Likewise.
      	(contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
      	(write_root): Reject user-defined types that are not pointers.
      	Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
      	and TYPE_PARAM_STRUCT.
      	(output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and
      	TYPE_ARRAY.
      	(dump_typekind): Handle TYPE_UNDEFINED.
      	* gengtype.h (enum typekind): Add TYPE_UNDEFINED.
      	(create_user_defined_type): Declare.
      	(enum gty_token): Remove VEC_TOKEN.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* coretypes.h (uchar): Define.
      	* alias.c: Use new vec API in vec.h.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* data-streamer.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* domwalk.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarf2out.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genextract.c: Likewise.
      	* genopinit.c: Likewise
      	* ggc-common.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graph.c: Likewise.
      	* graphds.c: Likewise.
      	* graphds.h: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-poly.h: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-scop-detection.h: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* godump.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* hw-doloop.h: Likewise.
      	* ifcvt.c: Likewise.
      	* insn-addr.h: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-inline.h: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref-inline.h: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-ref.h: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* mcf.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* opts-common.c: Likewise.
      	* opts-global.c: Likewise.
      	* opts.c: Likewise.
      	* opts.h: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* profile.h: Likewise.
      	* read-rtl.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regrename.c: Likewise.
      	* regrename.h: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* reload1.c: Likewise.
      	* rtl.h: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-int.h: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* statistics.h: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-inline.h: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: 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-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sccvn.h: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-streamer.h: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      
      From-SVN: r193595
      Diego Novillo committed
  5. 29 May, 2012 1 commit
    • LANGUAGES: Fix typos. · 073a8998
      	* LANGUAGES: Fix typos.
      	* Makefile.in: Fix typos.
      	* alias.c: Fix typos.
      	* auto-inc-dec.c: Fix typos.
      	* bb-reorder.c: Fix typos.
      	* cfgcleanup.c: Fix typos.
      	* cgraph.c: Fix typos.
      	* cgraph.h: Fix typos.
      	* cgraphunit.c: Fix typos.
      	* collect2-aix.h: Fix typos.
      	* collect2.c: Fix typos.
      	* compare-elim.c: Fix typos.
      	* config/alpha/vms.h: Fix typos.
      	* config/arm/README-interworking: Fix typos.
      	* config/arm/arm.c: Fix typos.
      	* config/arm/iterators.md: Fix typos.
      	* config/arm/vxworks.h: Fix typos.
      	* config/avr/avr.c: Fix typos.
      	* config/avr/avr.h: Fix typos.
      	* config/avr/avr.md: Fix typos.
      	* config/avr/builtins.def: Fix typos.
      	* config/c6x/c6x.c: Fix typos.
      	* config/cr16/cr16.c: Fix typos.
      	* config/cr16/cr16.md: Fix typos.
      	* config/cris/cris.md: Fix typos.
      	* config/darwin.c: Fix typos.
      	* config/darwin.opt: Fix typos.
      	* config/i386/i386-c.c: Fix typos.
      	* config/i386/i386.c: Fix typos.
      	* config/ia64/ia64.c: Fix typos.
      	* config/m68k/cf.md: Fix typos.
      	* config/mep/mep.c: Fix typos.
      	* config/microblaze/microblaze.c: Fix typos.
      	* config/microblaze/microblaze.h: Fix typos.
      	* config/mn10300/mn10300.c: Fix typos.
      	* config/mn10300/mn10300.md: Fix typos.
      	* config/pa/pa.c: Fix typos.
      	* config/picochip/picochip.h: Fix typos.
      	* config/rs6000/a2.md: Fix typos.
      	* config/rs6000/rs6000.c: Fix typos.
      	* config/rs6000/vector.md: Fix typos.
      	* config/rx/rx.md: Fix typos.
      	* config/rx/rx.opt: Fix typos.
      	* config/s390/2097.md: Fix typos.
      	* config/s390/s390.c: Fix typos.
      	* config/s390/s390.h: Fix typos.
      	* config/sh/sh.c: Fix typos.
      	* config/sh/sh.md: Fix typos.
      	* config/sparc/sync.md: Fix typos.
      	* config/spu/spu.c: Fix typos.
      	* config/spu/spu.md: Fix typos.
      	* config/vms/vms.c: Fix typos.
      	* config/vxworks-dummy.h: Fix typos.
      	* config/vxworks.h: Fix typos.
      	* cselib.c: Fix typos.
      	* df-scan.c: Fix typos.
      	* df.h: Fix typos.
      	* doc/extend.texi: Fix typos.
      	* doc/install.texi: Fix typos.
      	* doc/invoke.texi: Fix typos.
      	* doc/md.texi: Fix typos.
      	* doc/plugins.texi: Fix typos.
      	* doc/rtl.texi: Fix typos.
      	* dse.c: Fix typos.
      	* dwarf2asm.c: Fix typos.
      	* dwarf2out.c: Fix typos.
      	* except.h: Fix typos.
      	* expr.c: Fix typos.
      	* fold-const.c: Fix typos.
      	* gcc.c: Fix typos.
      	* gcse.c: Fix typos.
      	* genautomata.c: Fix typos.
      	* gengtype-state.c: Fix typos.
      	* gengtype.c: Fix typos.
      	* genhooks.c: Fix typos.
      	* gimple-fold.c: Fix typos.
      	* gimple-pretty-print.c: Fix typos.
      	* gimple.c: Fix typos.
      	* gimple.h: Fix typos.
      	* gimplify.c: Fix typos.
      	* graphite-interchange.c: Fix typos.
      	* graphite-sese-to-poly.c: Fix typos.
      	* ifcvt.c: Fix typos.
      	* input.c: Fix typos.
      	* ipa-cp.c: Fix typos.
      	* ipa-inline-analysis.c: Fix typos.
      	* ipa-inline-transform.c: Fix typos.
      	* ipa-inline.c: Fix typos.
      	* ipa-pure-const.c: Fix typos.
      	* ipa-ref.h: Fix typos.
      	* ipa-reference.c: Fix typos.
      	* ipa-utils.c: Fix typos.
      	* ipa.c: Fix typos.
      	* ira-emit.c: Fix typos.
      	* ira-lives.c: Fix typos.
      	* lto-streamer.c: Fix typos.
      	* lto-streamer.h: Fix typos.
      	* lto-wrapper.c: Fix typos.
      	* mcf.c: Fix typos.
      	* mode-switching.c: Fix typos.
      	* modulo-sched.c: Fix typos.
      	* plugin.c: Fix typos.
      	* postreload.c: Fix typos.
      	* sched-deps.c: Fix typos.
      	* sel-sched-ir.c: Fix typos.
      	* sel-sched-ir.h: Fix typos.
      	* sel-sched.c: Fix typos.
      	* sese.c: Fix typos.
      	* stor-layout.c: Fix typos.
      	* target-hooks-macros.h: Fix typos.
      	* target.def: Fix typos.
      	* trans-mem.c: Fix typos.
      	* tree-eh.c: Fix typos.
      	* tree-predcom.c: Fix typos.
      	* tree-sra.c: Fix typos.
      	* tree-ssa-address.c: Fix typos.
      	* tree-ssa-loop-ivopts.c: Fix typos.
      	* tree-ssa-loop-niter.c: Fix typos.
      	* tree-ssa-math-opts.c: Fix typos.
      	* tree-ssa-pre.c: Fix typos.
      	* tree-ssa-propagate.c: Fix typos.
      	* tree-ssa-reassoc.c: Fix typos.
      	* tree-ssa-sccvn.c: Fix typos.
      	* tree-ssa-ter.c: Fix typos.
      	* tree-ssa-uninit.c: Fix typos.
      	* tree-ssanames.c: Fix typos.
      	* tree-vect-generic.c: Fix typos.
      	* tree-vect-slp.c: Fix typos.
      	* tree.c: Fix typos.
      	* tree.h: Fix typos.
      	* varasm.c: Fix typos.
      	* varpool.c: Fix typos.
      
      From-SVN: r187959
      Joseph Myers committed
  6. 20 Mar, 2012 1 commit
    • tree-pass.h (pass_rtl_eh): Remove. · dac1fbf8
      2012-03-20  Richard Guenther  <rguenther@suse.de>
      
      	* tree-pass.h (pass_rtl_eh): Remove.
      	* except.c (gate_handle_eh): Likewise.
      	(rest_of_handle_eh): Likewise.
      	(pass_rtl_eh): Likewise.
      	(finish_eh_generation): Export.
      	* except.h (finish_eh_generation): Declare.
      	* passes.c (init_optimization_passes): Remove pass_rtl_eh.
      	* cfgexpand.c (gimple_expand_cfg): Call finish_eh_generation
      	after expanding stack alignment.  Instead of compacting blocks
      	call cleanup_cfg.
      
      From-SVN: r185564
      Richard Guenther committed
  7. 23 Jul, 2011 1 commit
  8. 03 Jan, 2011 1 commit
  9. 28 Jun, 2010 1 commit
    • system.h: Poison GCC_EXCEPT_H for front-end files. · 3b06d379
      gcc/ChangeLog:
      2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* system.h: Poison GCC_EXCEPT_H for front-end files.
      
      	* langhooks.h (struct lang_hooks): Add eh_protect_cleanup_actions
      	langhook.
      	* langhooks-def.h (LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS) New.
      	Define to NULL by default.
      	* except.h: Define GCC_EXCEPT_H.
      	(doing_eh): Remove prototype.
      	(init_eh, init_eh_for_function): Move prototypes to toplev.h.
      	(lang_protect_cleanup_actions): Remove.
      	* except.c (lang_protect_cleanup_actions): Remove.
      	(doing_eh): Remove.
      	(gen_eh_region): Don't check doing_eh here.
      	* toplev.h (init_eh, init_eh_for_function_): Moved from except.h.
      	* tree-eh.c (honor_protect_cleanup_actions): Use new langhook
      	instead of lang_protect_cleanup_actions.
      	* omp-low.c (maybe_catch_exception): Likewise.
      	* Makefile.in: Update dependencies.
      
      gcc/c-family/ChangeLog:
      2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* c-cppbuiltin.c: Do not include except.h.
      
      gcc/objc/ChangeLog:
      2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* objc-act.c: Do not include except.h.
      
      gcc/cp/ChangeLog:
      2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* init.c: Do not include except.h.
      	* decl.c: Likewise.
      	* expr.c: Likewise.
      	* cp-lang.c: Likewise.
      	* pt.c: Likewise.
      	* semantics.c: Likewise.
      	* decl2.c: Likewise.
      	* except.c: Likewise.
      	(init_exception_processing): Do not set the removed
      	lang_protect_cleanup_actions here.
      	(cp_protect_cleanup_actions): Make non-static and remove prototype.
      	(doing_eh): New, moved from except.c but removed the do_warning flag.
      	(expand_start_catch_block): Update doing_eh call.
      	(expand_end_catch_block): Likewise.
      	(build_throw): Likewise.
      	* cp-tree.h: Prototype cp_protect_cleanup_actions.
      	* cp-objcp-common.h: Set LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS to
      	cp_protect_cleanup_actions.
      	* Make-lang.in: Update dependencies.
      
      gcc/objcp/ChangeLog:
      2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* objcp-lang.c: Do not include except.h.
      	* Make-lang.in: Update dependencies.
      
      gcc/java/ChangeLog:
      2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* lang.c: Do not include except.h
      	* except.c: Likewise.
      	(doing_eh): New, moved from except.c (in gcc/) but removed the
      	do_warning flag.
      	(maybe_start_try): Update doing_eh call.
      	* Make-lang.in: Update dependencies.
      
      gcc/ada/ChangeLog:
      2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* gcc-interface/misc.c: Do not include except.h.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      gcc/fortran/ChangeLog:
      2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* Make-lang.in: Update dependencies.
      
      From-SVN: r161484
      Steven Bosscher committed
  10. 02 Jun, 2010 1 commit
    • mkconfig.sh: Include insn-flags.h and insn-constants.h before defaults.h. · 77ec4307
      	* mkconfig.sh: Include insn-flags.h and insn-constants.h before
      	defaults.h.
      	* except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
      	to defaults.h
      	* expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
      	DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
      	FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
      	STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
      	STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
      	STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
      	STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
      	STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
      	* defaults.h: Updated for above mentioned changes.
      
      From-SVN: r160195
      Steven Bosscher committed
  11. 22 May, 2010 1 commit
    • coretypes.h (struct simple_bitmap_def, [...]): New core types. · 7a8cba34
      gcc/ChangeLog:
      	* coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
      	New core types.
      	* sbitmap.h (struct sbitmap_def): Do not typedef here.
      	* sbitmap.c: Include sbitmap.h.
      	* basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
      	hard-reg-set.h.  Split everything related to regsets out from here...
      	* regset.h: ...to here.  New file.
      	* df.h: Include regset.h and sbitmap.h.
      	* tree-flow.h: Likewise.
      	* cfgloop.h: Likewise.
      	* except.h: Do not include sbitmap.h.  Include hashtab.h.
      	* cgraph.h: Include vec.h and function.h.
      	* reload.h (struct insn_chain): Change types of live_throughout
      	and dead_or_set from regset_head to bitmap_head.
      	(compute_use_by_pseudos): Be defined also if regset.h is not included.
      	* ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
      	spilled_regs from regset_head to bitmap_head to avoid dependency
      	in regset.h.
      	* sel-sched-ir.h: Include regset.h.
      	* reload.c: Include df.h before reload.h.
      	* caller-save.c: Likewise.
      	* reload1.c: Likewise.
      	* ira.c: Likewise.
      	(mark_elimination): Update type of r to bitmap, consistent with
      	DF_LR_IN.
      	* dominance.c: Include bitmap.h.
      	* modulo-sched.c: Include df.h.
      	* cfganal.c: Include bitmap.h and sbitmap.h.
      	* cfgbuild.c: Include sbitmap.h.
      	* lcm.c: Include sbitmap.h.
      	* gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
      	* domwalk.c: Include sbitmap.h, exclude ggc.h.
      	* cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
      	* cselib.c: Include bitmap.h.
      	* tree-optimize.c: Include regset.h.
      	* stmt.c: Include bitmap.h.
      	* Makefile.in: Update dependencies.
      
      cp/ChangeLog
      	* semantics.c: Include bitmap.h.
      	* Make-lang.in: Update dependencies.
      
      From-SVN: r159746
      Steven Bosscher committed
  12. 15 May, 2010 1 commit
    • vecir.h: New file with VEC primitives for tree, gimple, and rtl. · f4ce02c5
      gcc/ChangeLog
      	* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
      	* Makefile.in: Add it.
      	Fix all other Makefile dependencies for changes below.
      	* tree.h: Include it instead of defining VEC primitives here.
      	* gimple.h: Likewise.
      	* rtl.h: Likewise.
      	* tree-inline.h: Inlclude vecir.h instead of gimple.h.
      	* except.h: Include vecir.h, break dependence on tree.h.
      
      	* gimplify.c (append_to_statement_list_1, append_to_statement_list):
      	Move from here...
      	* tree-iterator.c: ...to here.
      	* tree-iterator.h: Fix file introduction comment.  Add extern markers.
      
      	* c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
      	tm_p.h.
      	* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
      	* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
      	integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
      	tree-mudflap.h, and target.h.
      	* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
      	predict.h, tree-inline.h, gimple.h, and langhooks.h.
      	* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
      	Add FIXME for why gimple.h is still included (should be unnecessary
      	since GCC 4.5 gimplification unit-at-a-time).
      	* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
      	* c-pragma.c: Add FIXME for why function.h needs to be included just
      	for cfun, at front-end level.
      	Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
      	Do not include ggc.h, but include vecprim.h for VEC(char).
      	* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
      	Explain why target.h is included.
      	* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
      	Explain why gimple.h is included.
      	* c-ppoutput.c: Do not include tm.h.
      	* c-common.c: Do not include gimple.h.  Explain why expr.h is included.
      	* c-parses.c: Explain why rtl.h is included, and that this (and only
      	this) is also why tm.h must be included.
      	Do not include except.h.
      	* c-lang.c: Do not include ggc.h.
      
      cp/ChangeLog
      	* decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
      	* Make-lang.in: Fix dependencies accordingly.
      
      From-SVN: r159442
      Steven Bosscher committed
  13. 13 Apr, 2010 1 commit
  14. 14 Dec, 2009 1 commit
    • cgraph.h (cgraph_set_nothrow_flag, [...]): New prototypes. · 20cdc2be
      	* cgraph.h (cgraph_set_nothrow_flag, cgraph_set_readonly_flag,
      	cgraph_set_pure_flag, cgraph_set_looping_const_or_pure_flag): New
      	prototypes.
      	* cgraph.c (cgraph_set_nothrow_flag, cgraph_set_readonly_flag,
      	cgraph_set_pure_flag, cgraph_set_looping_const_or_pure_flag): New
      	functions.
      	* except.h (set_nothrow_function_flags): Remove prototype.
      	* except.c (set_nothrow_function_flags): Use cgraph_set_nothrow_flag.
      	Make static.
      	* ipa-pure-const.c (propagate): Use cgraph_set_nothrow_flag,
      	cgraph_set_readonly_flag, cgraph_set_pure_flag
      	and cgraph_set_looping_const_or_pure_flag.
      	(local_pure_const): Likewise.
      
      From-SVN: r155220
      Jakub Jelinek committed
  15. 25 Nov, 2009 1 commit
    • Remove trailing white spaces. · b8698a0f
      2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* alias.c: Remove trailing white spaces.
      	* alloc-pool.c: Likewise.
      	* alloc-pool.h: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* builtins.def: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cif-code.def: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* dbgcnt.def: Likewise.
      	* dbgcnt.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* ddg.h: Likewise.
      	* defaults.h: Likewise.
      	* df-byte-scan.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* double-int.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2asm.h: Likewise.
      	* dwarf2out.c: Likewise.
      	* ebitmap.c: Likewise.
      	* ebitmap.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-dump.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genchecksum.c: Likewise.
      	* genconfig.c: Likewise.
      	* genflags.c: Likewise.
      	* gengtype-parse.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genmddeps.c: Likewise.
      	* genmodes.c: Likewise.
      	* genopinit.c: Likewise.
      	* genpreds.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.def: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graphds.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* gthr-nks.h: Likewise.
      	* gthr-posix.c: Likewise.
      	* gthr-posix.h: Likewise.
      	* gthr-posix95.h: Likewise.
      	* gthr-single.h: Likewise.
      	* gthr-tpf.h: Likewise.
      	* gthr-vxworks.h: Likewise.
      	* gthr.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* hooks.c: Likewise.
      	* hooks.h: Likewise.
      	* hosthooks.h: Likewise.
      	* hwint.h: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* integrate.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa-type-escape.h: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lambda-code.c: Likewise.
      	* lambda-mat.c: Likewise.
      	* lambda-trans.c: Likewise.
      	* lambda.h: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* libgcov.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto-wpa-fixup.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omega.h: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* opts-common.c: Likewise.
      	* opts.c: Likewise.
      	* params.def: Likewise.
      	* params.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* predict.def: Likewise.
      	* pretty-print.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-dump.h: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sel-sched.h: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* stub-objc.c: Likewise.
      	* sync-builtins.def: Likewise.
      	* target-def.h: Likewise.
      	* target.h: Likewise.
      	* targhooks.c: Likewise.
      	* targhooks.h: Likewise.
      	* timevar.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* toplev.h: Likewise.
      	* tracer.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-affine.h: Likewise.
      	* tree-browser.def: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.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-nested.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-operands.h: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* treestruct.def: Likewise.
      	* unwind-compat.c: Likewise.
      	* unwind-dw2-fde-glibc.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vec.c: Likewise.
      	* vec.h: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* xcoffout.c: Likewise.
      
      From-SVN: r154645
      H.J. Lu committed
  16. 28 Sep, 2009 1 commit
    • except.h (struct eh_region_d): Add use_cxa_end_cleanup. · 384c400a
      	* except.h (struct eh_region_d): Add use_cxa_end_cleanup.
      	* except.c (gen_eh_region): Set it.
      	(duplicate_eh_regions_1): Copy it.
      	* tree-eh.c (lower_resx): Use it to determine which function
      	to call to resume.
      
      	* langhooks.h (struct lang_hooks): Add eh_use_cxa_end_cleanup.
      	* langhooks-def.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
      
      	* builtins.def (BUILT_IN_CXA_END_CLEANUP): New.
      	* tree.c (build_common_builtin_nodes): Remove parameter.  Build
      	BUILT_IN_CXA_END_CLEANUP if necessary.
      	* tree.h (build_common_builtin_nodes): Update decl.
      
      	* c-common.c (c_define_builtins): Update call to
      	build_common_builtin_nodes.
      
      gcc/ada/
      	* gcc-interface/utils.c (gnat_install_builtins): Update call to
      	build_common_builtin_nodes.
      
      gcc/cp/
      	* cp-objcp-common.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
      
      gcc/fortran/
      	* f95-lang.c (gfc_init_builtin_functions): Update call to
      	build_common_builtin_nodes.
      
      gcc/java/
      	* builtins.c (initialize_builtins): Update call to
      	build_common_builtin_nodes.
      	* lang.c (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New.
      
      From-SVN: r152241
      Richard Henderson committed
  17. 14 Sep, 2009 1 commit
  18. 13 Sep, 2009 1 commit
    • langhooks-def.h (LANG_HOOKS_EH_RUNTIME_TYPE): Define. · f9417da1
      2009-09-13  Richard Guenther  <rguenther@suse.de>
      	Rafael Avila de Espindola  <espindola@google.com>
      
      	* langhooks-def.h (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
      	(LANG_HOOKS_EH_PERSONALITY): Likewise.
      	(LANG_HOOKS_INITIALIZER): Adjust.
      	(lhd_pass_through_t): Declare.
      	* langhooks.h (struct lang_hooks): Add eh_runtime_type and
      	eh_personality.
      	* langhooks.c (lhd_pass_through_t): New function.
      
              * dwarf2out.c (output_call_frame_info, dwarf2out_do_cfi_startproc,
      	dwarf2out_begin_prologue): Use personality from current_function_decl.
              * expr.h (get_personality_function): Declare.
      	* expr.c (get_personality_function): New function.
      	(build_personality_function): Likewise.
              * libfuncs.h (libfunc_index): Remove LTI_eh_personality.
              (eh_personality_libfunc): Remove.
              * optabs.c (build_libfunc_function): New function split out from ...
      	(init_one_libfunc): ... here.
              * tree.h (DECL_FUNCTION_PERSONALITY): New.
              (tree_function_decl): Add personality.
      	(lhd_gcc_personality): Declare.
      	(build_personality_function): Likewise.
      	* tree.c (gcc_eh_personality_decl): New.
      	(lhd_gcc_personality): New function.
      	* except.h (lang_eh_runtime_type): Remove.
      	(enum eh_personality_kind): New.
      	(build_personality_function): Declare.
      	(function_needs_eh_personality): Declare.
              * except.c (lang_eh_runtime_type): Remove.
      	(function_needs_eh_personality): New function.
      	(add_type_for_runtime): Call lang_hooks.type_for_runtime instead.
              (sjlj_emit_function_enter, output_function_exception_table):
              Use personality from current_function_decl.
      	* tree-eh.c (lower_eh_constructs): Set DECL_FUNCTION_PERSONALITY.
      	* tree-inline.c (tree_can_inline_p): Do not inline across different
      	EH personalities.
      	(expand_call_inline): Likewise.  Adjust the callers EH personality.
      	(tree_function_versioning): Copy DECL_FUNCTION_PERSONALITY.
      	* cgraph.c (cgraph_add_new_function): Set DECL_FUNCTION_PERSONALITY.
      	* Makefile.in (cgraph.o): Add $(EXCEPT_H) dependency.
      	(c-parser.o): Likewise
      
      	* c-tree.h (c_eh_initialized_p): Remove.
      	(c_maybe_initialize_eh): Likewise.
      	* c-decl.c (finish_decl): Don't call c_maybe_initialize_eh.
      	(finish_decl): Don't call c_maybe_initialize_eh.
      	(c_eh_initialized_p): Remove.
      	(c_maybe_initialize_eh): Likewise.
              * c-parser.c (c_parser_omp_construct): Likewise.
      	(c_parse_file): Initialize exception handling.
      
      	objc/
      	* objc-act.c (objc_eh_runtime_type): Export.
      	(objc_init_exceptions): Remove.  Move warning code ...
      	(objc_begin_try_stmt): ... here
      	(objc_build_throw_stmt): ... and here.
      	(objc_eh_personality_decl): New.
      	(objc_eh_personality): New function.
      	* objc-act.h (objc_eh_runtime_type): Declare.
      	(objc_eh_personality): Likewise.
      	* objc-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
      	(LANG_HOOKS_EH_PERSONALITY): Likewise.
      
      	cp/
      	* except.c (init_exception_processing): Do not set
      	lang_eh_runtime_type.
      	(choose_personality_routine): Do not set eh_personality_decl,
      	set pragma_java_exceptions.
      	* cp-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
      	(LANG_HOOKS_EH_PERSONALITY): Likewise.
      	(cp_eh_personality_decl): New.
      	(cp_eh_personality): Likewise.
      	* Make-lang.in (cp-lang.o): Add $(EXPR_H) and $(EXCEPT_H)
      	dependencies.
      
      	java/
      	* decl.c (do_nothing): Remove.
      	(java_init_decl_processing): Do not set lang_eh_runtime_type.
      	* Make-lang.in (lang.o): Add $(EXCEPT_H) dependency.
      	* lang.c (java_eh_personality): New.
      	(java_eh_personality_decl): Likewise.
      	(LANG_HOOKS_EH_PERSONALITY): Define.
      
      	ada/
      	* gcc-interface/misc.c (gnat_init_gcc_eh): Do not set
      	lang_eh_runtime_type.
      	(LANG_HOOKS_EH_PERSONALITY): Define.
      	(gnat_eh_personality_decl): New.
      	(gnat_eh_personality): Likewise.
      	* Make-lang.in (misc.o): Add gt-ada-misc.h dependency.
      	* config-lang.in (gtfiles): Add misc.c.
      
      	fortran/
      	* f95-lang.c (gfc_maybe_initialize_eh): Do not init
      	eh_personality_libfunc.
      
      Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
      
      From-SVN: r151676
      Richard Guenther committed
  19. 02 Sep, 2009 1 commit
    • expr.h (emit_storent_insn, [...]): Declare. · 28ed065e
      	* expr.h (emit_storent_insn, expand_expr_real_1,
      	expand_expr_real_2): Declare.
      	* expr.c (emit_storent_insn, expand_expr_real_1,
      	expand_expr_real_2): Export.
      	(store_expr): Setting and evaluating dont_return_target is
      	useless.
      	(expand_expr_real_1, <case GOTO_EXPR, RETURN_EXPR, SWITCH_EXPR,
      	LABEL_EXPR and ASM_EXPR>): Move to gcc_unreachable.
      	* except.c (expand_resx_expr): Rename to ...
      	(expand_resx_stmt): ... this.  Rewrite to take gimple statement.
      	* except.h (expand_resx_stmt): Declare.
      	* stmt.c: Add include gimple.h
      	(expand_asm_expr): Rename to ...
      	(expand_asm_stmt): ... this. Rewrite to take gimple statement.
      	(expand_case): Rewrite to take gimple statement.
      	* tree.h (expand_asm_stmt): Declare.
      	(expand_case): Change prototype.
      	* Makefile.in (stmt.o): Depend on gimple.h.
      	* builtins.c (expand_builtin_synchronize): Build gimple asm
      	statement, not an ASM_EXPR.
      	* cfgexpand.c (gimple_cond_pred_to_tree, set_expr_location_r,
      	gimple_to_tree, release_stmt_tree): Remove.
      	(expand_gimple_cond): Don't call gimple_cond_pred_to_tree or
      	ggc_free, but hold comparison code and operands separately.
      	Call jumpif_1 and jumpifnot_1 instead of jumpif and jumpifnot.
      	(expand_call_stmt, expand_gimple_stmt_1,
      	expand_gimple_stmt): New helpers.
      	(expand_gimple_tailcall): Don't call gimple_to_tree, expand_expr_stmt,
      	release_stmt_tree.  Call expand_gimple_stmt instead.
      	(expand_gimple_basic_block): Ditto.
      
      	* calls.c (emit_call_1): Don't look at EH regions here, make
      	fntree parameter useless.
      	(expand_call): New local rettype for TREE_TYPE(exp), use it
      	throughout.  Remove local p, use addr instead.
      	Don't look at EH regions here.
      
      From-SVN: r151350
      Michael Matz committed
  20. 25 May, 2009 1 commit
    • cgraph.c (dump_cgraph_node): Dump size/time/benefit. · 85057983
      	* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
      	* cgraph.h (struct inline_summary): New filed self_wize,
      	size_inlining_benefit, self_time and time_inlining_benefit.
      	(struct cgraph_global_info): Replace insns by time ans size fields.
      	* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
      	(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
      	(ipcp_update_callgraph): Do not touch function bodies.
      	* ipa-inline.c: Include except.h
      	(MAX_TIME): New constant.
      	(overall_insns): Remove.
      	(leaf_node_p): New.
      	(overall_size, max_benefit): New static variables.
      	(cgraph_estimate_time_after_inlining): New function.
      	(cgraph_estimate_size_after_inlining): Rewrite using benefits.
      	(cgraph_clone_inlined_nodes): Update size.
      	(cgraph_mark_inline_edge): Update size.
      	(cgraph_estimate_growth): Use size info.
      	(cgraph_check_inline_limits): Check size.
      	(cgraph_default_inline_p): Likewise.
      	(cgraph_edge_badness): Compute badness based on benefit and size cost.
      	(cgraph_decide_recursive_inlining): Check size.
      	(cgraph_decide_inlining_of_small_function): Update size; dump sizes and
      	times.
      	(cgraph_decide_inlining): Likewise.
      	(cgraph_decide_inlining_incrementally): Likewise; honor
      	PARAM_EARLY_INLINING_INSNS.
      	(likely_eliminated_by_inlining_p): New predicate.
      	(estimate_function_body_sizes): New function.
      	(compute_inline_parameters): Use it.
      	* except.c (must_not_throw_labels): New function.
      	* except.h (must_not_throw_labels): Declare.
      	* tree-inline.c (init_inline_once): Kill inlining_weigths
      	* tree-ssa-structalias.c: Avoid uninitialized warning.
      	* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
      	(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
      	(PARAM_INLINE_CALL_COST): Remove.
      	(PARAM_EARLY_INLINING_INSNS): New.
      
      From-SVN: r147852
      Jan Hubicka committed
  21. 16 May, 2009 1 commit
    • alias.c (struct alias_set_entry_d): Rename from struct alias_set_entry. · 7e5487a2
      gcc/ChangeLog:
      	* alias.c (struct alias_set_entry_d): Rename from struct
      	alias_set_entry.  Change all uses.
      	* except.c (struct call_site_record_d): Rename from struct
      	call_site_record.  Change all uses.
      	* except.h (struct eh_region_d): Rename from struct eh_region.
      	Change all uses.
      	* gcse.c (struct hash_table_d): Rename from struct hash_table.
      	Change all uses.
      	* graphite.c (struct ivtype_map_elt_d): Rename fromstruct
      	ivtype_map_elt.  Change all uses.
      	(struct rename_map_elt_d): Rename fromstruct rename_map_elt.
      	Change all uses.
      	(struct ifsese_d): Rename fromstruct ifsese.  Change all uses.
      	* graphite.h (struct name_tree_d): Rename from struct name_tree.
      	Change all uses.
      	(struct sese_d): Rename from struct sese.  Change all uses.
      	* omega.h (struct eqn_d): Rename from struct eqn.  Change all
      	uses.
      	(struct omega_pb_d): Rename from struct omega_pb.  Change all
      	uses.
      	* optabs.h (struct optab_d): Rename from struct optab.  Change all
      	uses.
      	(struct convert_optab_d): Rename from struct convert_optab.
      	Change all uses.
      	* tree-pass.h (struct ipa_opt_pass_d): Rename fromstruct
      	ipa_opt_pass.  Change all uses.
      	* tree-predcom.c (struct dref_d): Rename from struct dref.  Change
      	all uses.
      
      	* c-decl.c (pushtag): If -Wc++-compat, warn if the tag is already
      	defined as a typedef.
      	(grokdeclarator): If -Wc++-compat, warn if a typedef is already
      	defined as a tag.
      gcc/cp/ChangeLog:
      	* cp-tree.h (enum cp_lvalue_kind_flags): Rename from
      	cp_lvalue_kind.  Change all uses.
      	(enum base_access_flags): Rename from enum base_access.  Change
      	all uses.
      	* parser.c (enum cp_parser_flags): Remove enum tag.
      gcc/testsuite/ChangeLog:
      	* gcc.dg/Wcxx-compat-10.c: New testcase.
      libcpp/ChangeLog:
      	* include/cpplib.h (enum cpp_builtin_type): Rename from enum
      	builtin_type.  Change all uses.
      
      From-SVN: r147605
      Ian Lance Taylor committed
  22. 15 May, 2009 2 commits
    • Revert the following patch until testsuite fallout is fixed: · 1d405d7b
      	* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
      	* cgraph.h (struct inline_summary): New filed self_wize,
      	size_inlining_benefit, self_time and time_inlining_benefit.
      	(struct cgraph_global_info): Replace insns by time ans size fields.
      	* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
      	(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
      	(ipcp_update_callgraph): Do not touch function bodies.
      	* ipa-inline.c: Include except.h
      	MAX_TIME: New constant.
      	(overall_insns): Remove
      	(overall_size, max_benefit): New static variables.
      	(cgraph_estimate_time_after_inlining): New function.
      	(cgraph_estimate_size_after_inlining): Rewrite using benefits.
      	(cgraph_clone_inlined_nodes): Update size.
      	(cgraph_mark_inline_edge): Update size.
      	(cgraph_estimate_growth): Use size info.
      	(cgraph_check_inline_limits): Check size.
      	(cgraph_default_inline_p): Likewise.
      	(cgraph_edge_badness): Compute badness based on benefit and size cost.
      	(cgraph_decide_recursive_inlining): Check size.
      	(cgraph_decide_inlining_of_small_function): Update size; dump sizes and times.
      	(cgraph_decide_inlining): Likewise.
      	(cgraph_decide_inlining_incrementally): Likewise; honor PARAM_EARLY_INLINING_INSNS.
      	(likely_eliminated_by_inlining_p): New predicate.
      	(estimate_function_body_sizes): New function.
      	(compute_inline_parameters): Use it.
      	* except.c (must_not_throw_labels): New function.
      	* except.h (must_not_throw_labels): Declare.
      	* tree-inline.c (init_inline_once): Kill inlining_weigths
      	* tree-ssa-structalias.c: Avoid uninitialized warning.
      	* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
      	(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
      	(PARAM_INLINE_CALL_COST): Remove.
      	(PARAM_EARLY_INLINING_INSNS): New.
      
      From-SVN: r147575
      Jan Hubicka committed
    • cgraph.c (dump_cgraph_node): Dump size/time/benefit. · 125cae84
      	* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
      	* cgraph.h (struct inline_summary): New filed self_wize,
      	size_inlining_benefit, self_time and time_inlining_benefit.
      	(struct cgraph_global_info): Replace insns by time ans size fields.
      	* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
      	(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
      	(ipcp_update_callgraph): Do not touch function bodies.
      	* ipa-inline.c: Include except.h
      	MAX_TIME: New constant.
      	(overall_insns): Remove
      	(overall_size, max_benefit): New static variables.
      	(cgraph_estimate_time_after_inlining): New function.
      	(cgraph_estimate_size_after_inlining): Rewrite using benefits.
      	(cgraph_clone_inlined_nodes): Update size.
      	(cgraph_mark_inline_edge): Update size.
      	(cgraph_estimate_growth): Use size info.
      	(cgraph_check_inline_limits): Check size.
      	(cgraph_default_inline_p): Likewise.
      	(cgraph_edge_badness): Compute badness based on benefit and size cost.
      	(cgraph_decide_recursive_inlining): Check size.
      	(cgraph_decide_inlining_of_small_function): Update size; dump sizes and times.
      	(cgraph_decide_inlining): Likewise.
      	(cgraph_decide_inlining_incrementally): Likewise; honor PARAM_EARLY_INLINING_INSNS.
      	(likely_eliminated_by_inlining_p): New predicate.
      	(estimate_function_body_sizes): New function.
      	(compute_inline_parameters): Use it.
      	* except.c (must_not_throw_labels): New function.
      	* except.h (must_not_throw_labels): Declare.
      	* tree-inline.c (init_inline_once): Kill inlining_weigths
      	* tree-ssa-structalias.c: Avoid uninitialized warning.
      	* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
      	(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
      	(PARAM_INLINE_CALL_COST): Remove.
      	(PARAM_EARLY_INLINING_INSNS): New.
      	doc/invoke.texi (max-inline-insns-auto, early-inlining-insns): Update.
      	(inline-call-cost): Remove.
      	(early-inlining-insns): New.
      
      From-SVN: r147566
      Jan Hubicka committed
  23. 11 May, 2009 1 commit
    • basic-block.h (enum profile_status): Break out of struct control_flow_graph. · 24b97832
      ./:	* basic-block.h (enum profile_status): Break out of struct
      	control_flow_graph.
      	* cgraph.h (struct inline_summary): Break out of struct
      	cgraph_local_info.
      	* cgraphunit.c (enum cgraph_order_sort_kind): New enum, broken out
      	of struct cgraph_order_sort.
      	* combine.c (enum undo_kind): New enum, broken out of struct
      	undo.
      	* cse.c (struct branch_path): Break out of struct
      	cse_basic_block_data.
      	* except.h (enum eh_region_type): Break out of struct eh_region.
      	* gcc.c (enum add_del): Break out of struct modify_target.
      	* genrecog.c (enum decision_type): Break out of struct
      	decision_test.
      	* ggc-page.c (struct ggc_pch_ondisk): Break out of struct
      	ggc_pch_data.
      	* matrix-reorg.c (struct free_info): Break out of struct
      	matrix_info.
      	* regmove.c (enum match_use): New enum, broken out of struct
      	match.
      	* sched-int.h (enum post_call_group): New enum, broken out of
      	struct deps.
      	(struct deps_reg): Break out of struct deps.
      	* target.h (struct asm_int_op): Break out of struct gcc_target.
      	* tree-eh.c (struct goto_queue_node): Break out of struct
      	leh_tf_state.
      	* tree-inline.h (enum copy_body_cge_which): Break out of
      	copy_body_data.
      	* tree-pass.h (enum opt_pass_type): Break out of struct opt_pass.
      
      	* c-decl.c (in_struct, struct_types): New static variables.
      	(pushtag): Add loc parameter.  Change all callers.
      	(lookup_tag): Add ploc parameter.  Change all callers.
      	(check_compound_literal_type): New function.
      	(parser_xref_tag): Add loc parameter.  Change all callers.  If
      	-Wc++-compat, warn about struct/union/enum types defined within a
      	struct or union.
      	(start_struct): Add enclosing_in_struct, enclosing_struct_types,
      	and loc parameters.  Change all callers.  Change error calls to
      	error_at, using loc.  For a redefinition, if the location of the
      	original definition is known, report it.  Set in_struct and
      	struct_types.  If -Wc++-compat warn if in sizeof, typeof, or
      	alignof.
      	(finish_struct): Add new parameters enclosing_in_struct and
      	enclosing_struct_types.  Change all callers.  Set
      	C_TYPE_DEFINED_IN_STRUCT for all struct/union/enum types defined
      	in the struct.  If in a struct, add this struct to struct_types.
      	(start_enum): Add loc parameter.  Change all callers.  Use
      	error_at for errors, using loc.  For a redefinition, if the
      	location of the original definition is known, report it.  If in a
      	struct, add this enum type to struct_types.  If -Wc++-compat warn
      	if in sizeof, typeof, or alignof.
      	* c-parser.c (disable_extension_diagnostics): Disable
      	-Wc++-compat.
      	(enable_extension_diagnostics): Reenable -Wc++-compat if
      	appropriate.
      	(c_parser_enum_specifier): Get enum location for start_enum.
      	(c_parser_struct_or_union_specifier): Get struct location for
      	start_struct.  Save in_struct and struct_types status between
      	start_struct and finish_struct.
      	(c_parser_cast_expression): Get location of cast.
      	(c_parser_alignof_expression): Get location of type.
      	(c_parser_postfix_expression): Likewise.
      	(c_parser_postfix_expression_after_paren_type): Add type_loc
      	parameter.  Change all callers.  Call
      	check_compound_literal_type.  Use type_loc for error about
      	variable size type.
      	* c-typeck.c (build_external_ref): If -Wc++-compat, warn about a
      	use of an enum constant from an enum type defined in a struct or
      	union.
      	(c_cast_expr): Add loc parameter.  Change all callers.  If
      	-Wc++-compat, warn about defining a type in a cast.
      	* c-tree.h (C_TYPE_DEFINED_IN_STRUCT): Define.
      	(start_enum, start_struct, finish_struct): Update declarations.
      	(parser_xref_tag, c_cast_expr): Update declarations.
      	(check_compound_literal_type): Declare.
      fortran/:
      	* gfortran.h (enum gfc_omp_sched_kind): New enum, broken out of
      	gfc_omp_clauses.
      	(enum gfc_omp_default_sharing): Likewise.
      	* module.c (enum gfc_rsym_state): New enum, broken out of
      	pointer_info.
      	(enum gfc_wsym_state): Likewise.
      	* parse.c (enum state_order): New enum, broken out of st_state.
      objc/:
      	* objc-act.c (objc_building_struct): New static variable.
      	(objc_in_struct, objc_struct_types): New static variables.
      	(objc_start_struct, objc_finish_struct): New static functions.
      	(generate_struct_by_value_array): Call objc_start_struct instead
      	of start_struct, and call objc_finish_struct instead of
      	finish_struct.
      	(objc_build_struct, build_objc_symtab_template): Likewise.
      	(build_module_descriptor): Likewise.
      	(build_next_objc_exception_stuff): Likewise.
      	(build_protocol_template): Likewise.
      	(build_method_prototype_list_template): Likewise.
      	(build_method_prototype_template): Likewise.
      	(build_category_template, build_selector_template): Likewise.
      	(build_class_template, build_super_template): Likewise.
      	(build_ivar_template, build_ivar_list_template): Likewise.
      	(build_method_list_template): Likewise.
      	(build_method_template): Likewise.
      objcp/:
      	* objcp-decl.h (start_struct): Add three new, ignored, macro
      	parameters.
      	(finish_struct): Add two new, ignored, macro parameters.
      testsuite/:
      	* gcc.dg/Wcxx-compat-7.c: New testcase.
      	* gcc.dg/Wcxx-compat-8.c: New testcase.
      	* gcc.dg/c99-tag-1.c: Recognize new "originally defined here"
      	notes
      	* gcc.dg/pr17188-1.c: Likewise.
      	* gcc.dg/pr39084.c: Likewise.
      
      From-SVN: r147358
      Ian Lance Taylor committed
  24. 09 May, 2009 1 commit
    • tree-eh.c (struct leh_state): Remove prev_try. · f08a18d0
      	* tree-eh.c (struct leh_state): Remove prev_try.
      	(lower_try_finally, lower_catch, lower_eh_filter, lower_cleanup): Do
      	not track prev_try.
      	* except.c (gen_eh_region_cleanup, duplicate_eh_regions, 
      	copy_eh_region_1, copy_eh_region, redirect_eh_edge_to_label,
      	remove_eh_handler_and_replace, foreach_reachable_handler,
      	verify_eh_region, verify_eh_tree): Remove tracking of prev_try pointer.
      	* except.h (struct eh_region): Remove eh_region_u_cleanup.
      	(gen_eh_region_cleanup): Update prototype.
      
      From-SVN: r147318
      Jan Hubicka committed
  25. 25 Apr, 2009 2 commits
    • tree.c (list_equal_p): New function. · a3710436
      	* tree.c (list_equal_p): New function.
      	* tree.h (list_equal_p): Declare.
      	* coretypes.h (edge_def, edge, const_edge, basic_block_def
      	basic_block_def, basic_block, const_basic_block): New.
      	* tree-eh.c (make_eh_edge): EH edges are not abnormal.
      	(redirect_eh_edge): New function.
      	(make_eh_edge_update_phi): EH edges are not abnormal.
      	* except.c: Include tree-flow.h.
      	(list_match): New function.
      	(eh_region_replaceable_by_p): New function.
      	(replace_region): New function.
      	(hash_type_list): New function.
      	(hash_eh_region): New function.
      	(eh_regions_equal_p): New function.
      	(merge_peers): New function.
      	(remove_unreachable_regions): Verify EH tree when checking;
      	merge peers.
      	(copy_eh_region_1): New function.
      	(copy_eh_region): New function.
      	(push_reachable_handler): New function.
      	(build_post_landing_pads, dw2_build_landing_pads): Be ready for
      	regions without label but with live RESX.
      	* except.h (redirect_eh_edge_to_label): New.
      	* tree-flow.h (redirect_eh_edge): New.
      	* coretypes.h (edge_def, edge, const_edge, basic_block_def
      	basic_block_def, basic_block, const_basic_block): Remove.
      	* Makefile.in (except.o): Add dependency on tree-flow.h
      	* tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges.
      	* basic-block.h (edge, const_edge, basic_block, const_basic_block):
      	Remove.
      
      From-SVN: r146776
      Jan Hubicka committed
    • tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels. · 496a4ef5
      	* tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
      	(tree_empty_eh_handler_p): Allow non-EH predecestors; allow region
      	to be reached by different label than left.
      	(update_eh_edges): Update comment; remove edge_to_remove if possible
      	and return true if suceeded.
      	(cleanup_empty_eh): Accept sharing map; handle shared regions.
      	(cleanup_eh): Compute sharing map.
      	* except.c (remove_eh_handler_and_replace): Add argument if we should
      	update regions.
      	(remove_unreachable_regions): Update for label sharing.
      	(label_to_region_map): Likewise.
      	(get_next_region_sharing_label): New function.
      	(remove_eh_handler_and_replace): Add update_catch_try parameter; update
      	prev_try pointers.
      	(remove_eh_handler): Update.
      	(remove_eh_region_and_replace_by_outer_of): New function.
      	* except.h (struct eh_region): Add next_region_sharing_label.
      	(remove_eh_region_and_replace_by_outer_of,
      	get_next_region_sharing_label): Declare.
      	* tree-cfgcleanup.c (tree_forwarder_block_p): Simplify.
      
      	* tree-cfg.c (split_critical_edges): Split also edges where we can't
      	insert code even if they are not critical.
      
      	* tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
      	(gimple_can_remove_branch_p): EH edges won't remove branch by
      	redirection.
      	* tree-inline.c (update_ssa_across_abnormal_edges): Do handle
      	updating of non-abnormal EH edges.
      	* tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
      	(gimple_can_remove_branch_p): EH edges are unremovable by redirection.
      	(split_critical_edges): Split also edges where emitting code on them
      	will lead to splitting later.
      
      From-SVN: r146763
      Jan Hubicka committed
  26. 22 Apr, 2009 2 commits
    • hashtab.h: Update GTY annotations to new syntax · d1b38208
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* include/hashtab.h: Update GTY annotations to new syntax
      	* include/splay-tree.h: Likewise
      
      
      gcc/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* alias.c: Update GTY annotations to new syntax
      	* basic-block.h: Likewise
      	* bitmap.h: Likewise
      	* c-common.h: Likewise
      	* c-decl.c: Likewise
      	* c-parser.c: Likewise
      	* c-pragma.c: Likewise
      	* c-tree.h: Likewise
      	* cfgloop.h: Likewise
      	* cgraph.h: Likewise
      	* config/alpha/alpha.c: Likewise
      	* config/arm/arm.h: Likewise
      	* config/avr/avr.h: Likewise
      	* config/bfin/bfin.c: Likewise
      	* config/cris/cris.c: Likewise
      	* config/darwin.c: Likewise
      	* config/frv/frv.c: Likewise
      	* config/i386/i386.c: Likewise
      	* config/i386/i386.h: Likewise
      	* config/i386/winnt.c: Likewise
      	* config/ia64/ia64.h: Likewise
      	* config/iq2000/iq2000.c: Likewise
      	* config/mips/mips.c: Likewise
      	* config/mmix/mmix.h: Likewise
      	* config/pa/pa.c: Likewise
      	* config/pa/pa.h: Likewise
      	* config/rs6000/rs6000.c: Likewise
      	* config/s390/s390.c: Likewise
      	* config/sparc/sparc.c: Likewise
      	* config/xtensa/xtensa.c: Likewise
      	* cselib.h: Likewise
      	* dbxout.c: Likewise
      	* dwarf2out.c: Likewise
      	* except.c: Likewise
      	* except.h: Likewise
      	* fixed-value.h: Likewise
      	* function.c: Likewise
      	* function.h: Likewise
      	* gimple.h: Likewise
      	* integrate.c: Likewise
      	* optabs.c: Likewise
      	* output.h: Likewise
      	* real.h: Likewise
      	* rtl.h: Likewise
      	* stringpool.c: Likewise
      	* tree-data-ref.c: Likewise
      	* tree-flow.h: Likewise
      	* tree-scalar-evolution.c: Likewise
      	* tree-ssa-address.c: Likewise
      	* tree-ssa-alias.h: Likewise
      	* tree-ssa-operands.h: Likewise
      	* tree.c: Likewise
      	* tree.h: Likewise
      	* varasm.c: Likewise
      	* varray.h: Likewise
      	* vec.h: Likewise
      	* coretypes.h: Do not define GTY macro if it is already defined
      	* doc/gty.texi: Update GTY documentation to new syntax
      	* gengtype-lex.l: Enforce attribute-like syntax for GTY annotations on structs
      	* gengtype-parse.c: Likewise
      
      
      gcc/ada/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* gcc-interface/ada-tree.h: Update GTY annotations to new syntax
      	* gcc-interface/trans.c: Likewise
      	* gcc-interface/utils.c: Likewise
      
      
      gcc/cp/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* cp-tree.h: Update GTY annotations to new syntax
      	* decl.c: Likewise
      	* mangle.c: Likewise
      	* name-lookup.c: Likewise
      	* name-lookup.h: Likewise
      	* parser.c: Likewise
      	* pt.c: Likewise
      	* rtti.c: Likewise
      	* semantics.c: Likewise
      	* typeck2.c: Likewise
      
      
      gcc/fortran/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* f95-lang.c: Update GTY annotations to new syntax
      	* trans-intrinsic.c: Likewise
      	* trans-io.c: Likewise
      	* trans.h: Likewise
      
      
      gcc/java/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* builtins.c: Update GTY annotations to new syntax
      	* decl.c: Likewise
      	* java-tree.h: Likewise
      	* jcf.h: Likewise
      	* lang.c: Likewise
      
      
      gcc/objc/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* objc-act.c: Update GTY annotations to new syntax
      	* objc-act.h: Likewise
      
      
      libcpp/ChangeLog
      
      2009-04-21  Taras Glek <tglek@mozilla.com>
      
      	* include/cpp-id-data.h: Update GTY annotations to new syntax
      	* include/cpplib.h: Likewise
      	* include/line-map.h: Likewise
      	* include/symtab.h: Likewise
      
      From-SVN: r146607
      Taras Glek committed
    • cfghooks.c (tidy_fallthru_edges): Remove find_basic_blocks references from comments. · 3cabd6d1
      2009-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* cfghooks.c (tidy_fallthru_edges): Remove find_basic_blocks
      	references from comments.
      	* cfgbuild.c: (count_basic_blocks): Delete.
      	(find_basic_blocks_1): Delete.
      	(find_basic_blocks): Delete.
      	* except.c (finish_eh_generation): Make static.  Move comment 
      from
      	except.h here.  Remove find_basic_blocks references from
      	comments.
      	* except.h (finish_eh_generation): Delete.
      	* basic-block.h (find_basic_blocks): Delete.
      	* config/sh/sh.c (sh_output_mi_thunk): Delete a "#if 0" block.
      
      From-SVN: r146544
      Laurynas Biveinis committed
  27. 17 Apr, 2009 1 commit
    • except.c (debug_eh_tree): New. · 9994a182
      	* except.c (debug_eh_tree): New.
      	(struct eh_region, struct eh_status): Move ...
      	* except.h: ... here.
      	(add_type_for_runtime): Declare extern.
      	(lookup_type_for_runtime): Likewise.
      	(debug_eh_tree): Declare.
      	* Makefile.in (GTFILES): List except.h before except.c
      
      From-SVN: r146296
      Diego Novillo committed
  28. 16 Apr, 2009 1 commit
  29. 08 Apr, 2009 1 commit
    • tree-eh.c (cleanup_eh): When not optimizing, do not try EH merging. · 6d07ad98
      	* tree-eh.c (cleanup_eh): When not optimizing, do not try EH merging.
      	* function.h (rtl_eh): Remove exception_handler_label_map.
      	* except.c (ehl_hash, ehl_eq, add_ehl_entry,
      	remove_exception_handler_label, for_each_eh_label_1): Remove.
      	(rtl_remove_unreachable_regions): Remove.
      	(convert_from_eh_region_ranges): Do not remove unreachable regions.
      	(find_exception_handler_labels): Don't build the hashtable.
      	(maybe_remove_eh_handler): Remove.
      	(for_each_eh_label): Rewrite to walk the tree.
      	(rest_of_handle_eh): Do not cleanup cfg prior EH construction.
      	* except.h (maybe_remove_eh_handler): Remove.
      	* passes.c (init_optimization_passes): Schedule second EH cleanup
      	before out-of-ssa.
      	* cfgrtl.c (rtl_delete_block, rtl_merge_blocks,
      	cfg_layout_merge_blocks): Do not call maybe_remove_eh_handler.
      
      From-SVN: r145747
      Jan Hubicka committed
  30. 04 Apr, 2009 1 commit
    • except.c (remove_eh_handler): Make static. · 4e6d1743
      	* except.c (remove_eh_handler): Make static.
      	(eh_region_must_not_throw_p): Kill.
      	(expand_resx_expr): Assertize.
      	(duplicate_eh_regions): Accept callback as parameter; comment.
      	* except.h (duplicate_eh_regions): New function.
      	(remap_decl_v): Kill.
      	(copy_cfg_body): Update call of duplicate_eh_regions.
      
      From-SVN: r145542
      Jan Hubicka committed
  31. 29 Mar, 2009 1 commit
    • re PR tree-optimization/28850 (missed call -> jmp transformation; redundant… · a8da523f
      re PR tree-optimization/28850 (missed call -> jmp transformation; redundant unwind stuff with empty finally)
      
      
      	PR middle-end/28850
      	* tree-pass.h (pass_cleanup_eh): New function.
      	(remove_unreachable_regions): Break code handling RTL
      	to rtl_remove_unreachable_regions; remove ERT_MUST_NOT_THROW
      	that can not be reached by runtime.
      	(can_be_reached_by_runtime): New function.
      	(label_to_region_map): New function.
      	(num_eh_regions): New function.
      	(rtl_remove_unreachable_regions): New function.
      	(convert_from_eh_region_ranges): Call rtl_remove_unreachable_regions.
      	(remove_eh_region): New function.
      	* except.h: Include sbitmap and vecprim.
      	(remove_eh_region, remove_unreachable_regions, label_to_region_map,
      	num_eh_regions): Declare.
      	* passes.c (init_optimization_passes): Schedule cleanup_eh.
      	* Makefile.in (EXCEPT_H): New; replace all uses of except.h
      	by it.
      	* tree-eh.c (tree_remove_unreachable_handlers): New function.
      	(tree_empty_eh_handler_p): New function.
      	(cleanup_empty_eh): New function.
      	(cleanup_eh): New function.
      	(pass_cleanup_eh): New function.
      
      From-SVN: r145233
      Jan Hubicka committed
  32. 28 Mar, 2009 1 commit
    • tree-eh.c (inlinable_call_p): New function. · a8ee227c
      	* tree-eh.c (inlinable_call_p): New function.
      	(make_eh_edges): Use it.
      	(verify_eh_edges): Use it.
      	(stmt_can_throw_external, stmt_can_throw_internal): Use it.
      	* except.c (reachable_next_level): Add inlinable_function argument
      	(sjlj_find_directly_reachable_regions): Update.
      	(add_reachable_handler): Do not set saw_any_handlers.
      	(reachable_next_level): Handle MUST_NOT_THROW more curefully.
      	(foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
      	Add new inlinable call parameter.
      	(can_throw_internal, can_throw_external): Update.
      	* except.h (can_throw_internal_1, can_throw_external_1,
      	foreach_reachable_handler): Update declaration.
      
      From-SVN: r145166
      Jan Hubicka committed
  33. 20 Feb, 2009 1 commit
  34. 28 Jul, 2008 1 commit
    • backport: ChangeLog.tuples: ChangeLog from gimple-tuples-branch. · 726a989a
      2008-07-28  Richard Guenther  <rguenther@suse.de>
      
      	Merge from gimple-tuples-branch.
      
      	* ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
      	* gimple.def: New file.
      	* gsstruct.def: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* tree-gimple.c: Removed.  Merged into ...
      	* gimple.c: ... here.  New file.
      	* tree-gimple.h: Removed.  Merged into ...
      	* gimple.h: ... here.  New file.
      
      	* Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
      	* configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
      	--enable-checking=gimple flag.
      	* config.in: Likewise.
      	* configure: Regenerated.
      
      	* tree-ssa-operands.h: Tuplified.
      	* tree-vrp.c: Likewise.
      	* tree-loop-linear.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-complex.c: Likewise.
      	* cgraphbuild.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tracer.c: Likewise.
      	* gengtype.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* value-prof.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* value-prof.h: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* tree-pass.h: Likewise.
      	* ipa-cp.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-scalar-evolution.h: Likewise.
      	* target.h: Likewise.
      	* lambda-mat.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* diagnostic.h: Likewise.
      	* builtins.c: Likewise.
      	* tree-ssa-alias-warnings.c: Likewise.
      	* cfghooks.c: Likewise.
      	* fold-const.c: Likewise.
      	* cfghooks.h: Likewise.
      	* omp-low.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* toplev.c: Likewise.
      	* tree-gimple.c: Likewise.
      	* tree-gimple.h: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sccvn.h: Likewise.
      	* cgraphunit.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* c-format.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* tree-ssa-propagate.h: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* gimple-low.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* c-semantics.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* expr.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* predict.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* c-decl.c: Likewise.
      	* tree-eh.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* lambda-trans.c: Likewise.
      	* function.c: Likewise.
      	* langhooks.c: Likewise.
      	* ebitmap.h: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* function.h: Likewise.
      	* langhooks.h: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa-type-escape.h: Likewise.
      	* domwalk.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* profile.c: Likewise.
      	* domwalk.h: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-vect-analyze.c: Likewise.
      	* c-typeck.c: Likewise.
      	* gimplify.c: Likewise.
      	* coretypes.h: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* calls.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree.def: Likewise.
      	* tree-dfa.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* cfgexpand.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-predcom.c: Likewise.
      	* lambda.h: Likewise.
      	* tree-mudflap.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* print-tree.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* ipa-prop.h: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* ggc-page.c: Likewise.
      	* c-omp.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* lambda-code.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-inline.h: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-vect-transform.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* cfgloop.c: Likewise.
      	* system.h: Likewise.
      	* tree-profile.c: Likewise.
      	* cfgloop.h: Likewise.
      	* c-gimplify.c: Likewise.
      	* c-common.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-flow.h: Likewise.
      	* c-common.h: Likewise.
      	* basic-block.h: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-ssa-structalias.h: Likewise.
      	* tree-cfg.c: Likewise.
      	* passes.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* varpool.c: Likewise.
      	* stmt.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* langhooks-def.h: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32c/m32c-protos.h: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/mips/mips.c: Likewise.
      
      From-SVN: r138207
      Richard Biener committed
  35. 08 Jun, 2008 1 commit
  36. 15 Apr, 2008 1 commit
    • gengtype.c (write_root): Param_is argument is OK. · 69c32ec8
      	* gengtype.c (write_root): Param_is argument is OK.
      	* expr.c (expand_expr_real_1): Update call of get_exception_*.
      	* function.h: Include varray.h
      	(rtl_eh): New stucture based on except.c one.
      	(call_site_record): New forward declaration and vector type.
      	* calls.c (emit_call_1): Do not call
      	note_current_region_may_contain_throw.
      	* except.c (eh_status): Remove cur_region, try_region since they are
      	unused.
      	Move filter, exc_ptr, ttype_data, ehspec_data, action_record_data and
      	exception_handler_label_map, ehr_stackadj, ehr_handler, ehr_label,
      	sjlj_fc, sjlj_exit_after to rth_eh in function.h. 
      	Remove call_site_data_used, call_site_data_size.
      	Turn call_site_record into vector in function.h.
      	(note_current_region_may_contain_throw): Remove.
      	(get_exception_pointer, get_exception_filter): Do not take struct
      	function argument; update.
      	(add_ehl_entry, find_exception_handler_labels, ehspec_filter_hash,
      	add_ttypes_entry, add_ehspec_entry, assign_filter_values,
      	build_post_landing_pads, dw2_build_landing_pads,
      	sjlj_assign_call_site_values, sjlj_mark_call_sites,
      	sjlj_emit_function_enter, sjlj_emit_function_enter, 
      	sjlj_emit_function_exit, sjlj_emit_dispatch_table,
      	sjlj_build_landing_pads, finish_eh_generation,
      	remove_exception_handler_label, remove_eh_handler,
      	maybe_remove_eh_handler, add_reachable_handler,
      	reachable_handlers, expand_builtin_eh_return,
      	expand_eh_return, add_action_record, collect_one_action_chain,
      	add_call_site, convert_to_eh_region_ranges, sjlj_size_of_call_site_table,
      	sjlj_output_call_site_table, output_function_exception_table,
      	* except.h (note_current_region_may_contain_throw): Remove
      	(get_exception_pointer, get_exception_filter): Do not take struct
      	function argument.
      	* Makefile.in (GTFILES): Put varargs before struct function.
      
      From-SVN: r134328
      Jan Hubicka committed
  37. 27 Aug, 2007 1 commit
    • alias.c (memory_modified_1, [...]): Constify. · 9678086d
      	* alias.c (memory_modified_1, memory_modified_in_insn_p):
      	Constify.
      	* basic-block.h (tree_predicted_by_p, rtl_predicted_by_p):
      	Likewise.
      	* bb-reorder.c (copy_bb_p): Likewise.
      	* cfghooks.c (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfghooks.h (can_remove_branch_p, can_merge_blocks_p,
      	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
      	block_ends_with_condjump_p): Likewise.
      	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
      	* cfgrtl.c (can_delete_note_p, can_delete_label_p,
      	rtl_can_merge_blocks, cfg_layout_can_merge_blocks_p,
      	rtl_block_ends_with_call_p, rtl_block_ends_with_condjump_p,
      	need_fake_edge_p, rtl_can_remove_branch_p): Likewise.
      	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Use
      	debug_true_const_tree instad of debug_true_tree.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	* debug.h (ignore_block, debug_true_const_tree): Constify.
      	* dwarf2out.c (stack_adjust_offset, clobbers_queued_reg_save,
      	dwarf2out_ignore_block, is_pseudo_reg, is_tagged_type,
      	decl_ultimate_origin, block_ultimate_origin, lookup_decl_loc,
      	same_dw_val_p, add_ranges, is_subrange_type, type_is_enum,
      	dbx_reg_number, is_based_loc, field_type,
      	simple_type_align_in_bits, simple_decl_align_in_bits,
      	simple_type_size_in_bits, field_byte_offset, insert_float,
      	type_tag, member_declared_type, is_redundant_typedef,
      	secname_for_decl, is_inlined_entry_point): Likewise.
      	* emit-rtl.c (const_next_insn, const_previous_insn,
      	const_next_nonnote_insn, const_prev_nonnote_insn,
      	const_next_real_insn, const_prev_real_insn,
      	const_next_active_insn, const_prev_active_insn, const_next_label,
      	const_prev_label): Likewise.
      	* except.h (lookup_stmt_eh_region_fn, lookup_stmt_eh_region):
      	Likewise.
      	* haifa-sched.c (may_trap_exp, haifa_classify_insn,
      	find_set_reg_weight, no_real_insns_p, find_set_reg_weight,
      	sched_insn_is_legitimate_for_speculation_p): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, reversed_comparison, condjump_label):
      	Likewise.
      	* predict.c (rtl_predicted_by_p, tree_predicted_by_p): Likewise.
      	* reg-stack.c (stack_regs_mentioned_p, stack_regs_mentioned):
      	Likewise.
      	* rtl.h (const_previous_insn, const_next_insn,
      	const_prev_nonnote_insn, const_next_nonnote_insn,
      	const_prev_real_insn, const_next_real_insn,
      	const_prev_active_insn, const_next_active_insn, const_prev_label,
      	const_next_label, modified_between_p, modified_in_p,
      	const_note_storeskeep_with_call_p, condjump_label,
      	reversed_comparison, reversed_comparison_code,
      	reversed_comparison_code_parts, memory_modified_in_insn_p,
      	stack_regs_mentioned): Likewise.
      	* rtlanal.c (modified_between_p, modified_in_p, const_note_stores,
      	keep_with_call_p): Likewise.
      	* sched-deps.c (deps_may_trap_p, sched_get_condition,
      	conditions_mutex_p, sched_insns_conditions_mutex_psd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sched-int.h (sched_insns_conditions_mutex_p,
      	haifa_classify_insn, no_real_insns_p,
      	sched_insn_is_legitimate_for_speculation_p, sd_next_list,
      	sd_lists_size, sd_lists_empty_p): Likewise.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* tree-cfg.c (tree_can_merge_blocks_p, is_ctrl_altering_stmt,
      	stmt_ends_bb_p, tree_can_remove_branch_p, tree_can_duplicate_bb_p,
      	-tree_block_ends_with_call_p, tree_block_ends_with_condjump_p):
      	Likewise.
      	* tree-eh.c (lookup_stmt_eh_region_fn, lookup_stmt_eh_region,
      	tree_can_throw_internal): Likewise.
      	* tree-flow-inline.h (phi_nodes): Likewise.
      	* tree-flow.h (phi_nodesstmt_ends_bb_p, is_ctrl_altering_stmt,
      	tree_can_throw_internal, lookup_stmt_eh_region): Likewise.
      	* tree-gimple.c (const_get_call_expr_in): Likewise.
      	* tree-gimple.h (const_get_call_expr_in): Likewise.
      	* tree.c (const_lookup_attribute, attribute_list_equal,
      	attribute_list_contained): Likewise.
      	* tree.h (attribute_list_equal, attribute_list_contained,
      	const_lookup_attribute): Likewise.
      	* vmsdbgout.c (vmsdbgout_ignore_block): Likewise.
      
      From-SVN: r127824
      Kaveh R. Ghazi committed