1. 10 Jan, 2013 1 commit
  2. 26 Nov, 2012 1 commit
    • invoke.texi: Remove -dv documentation. · a27a5de9
      gcc/
      	* doc/invoke.texi: Remove -dv documentation.  Fix up graph dump related
      	documentation.  Document the '-graph' dump option.  Complete the '-slim'
      	dump option documentation.
      
      	* common.opt (Variable graph_dump_format): Remove.
      	* flag-types.h (enum graph_dump_types): Remove.
      	* flags.h (dump_for_graph): Remove.
      	* opts.c (decode_d_option): Remove -dv handling.
      	* sched-int.h (print_insn, print_pattern, print_value): Move prototypes
      	from here ...
      	* rtl.h: ...to here.  Add note that these functions ought to be in
      	another file.
      	* sched-vis.c (print_insn): Add detailed dump for insn notes.
      	* print-rtl.c (dump_for_graph): Remove.
      	(print_rtx): Remove dump_for_graph related code.
      	* graph.c: Almost complete re-write to dump DOT (GraphViz) dumps
      	instead of VCG dumps.
      	* graph.h (print_rtl_graph_with_bb): Update prototype.
      	* passes.c (finish_optimization_passes): Fix profile dump finishing.
      	Unconditionally loop over graph dumps to finalize.
      	(execute_function_dump): Split code to dump graphs to separate block.
      	(execute_one_pass): Don't set TDF_GRAPH here, let the dump option
      	decoders do their job.
      
      	* ddg.c (vcg_print_ddg): Make it a DEBUG_FUNCTION.
      	* toplev.c: Don't include graph.h.
      	* tree-optimize.c: Don't include graph.h.
      
      testsuite/
      	* testsuite/gcc.dg/20050811-1.c: Change -dv option to -graph option
      	to -fdump-rtl-all.
      	* testsuite/gcc.dg/pr37858.c: Remove -dv option.
      
      From-SVN: r193821
      Steven Bosscher committed
  3. 01 Nov, 2012 2 commits
    • This patch renames sbitmap iterators to unify them with the bitmap iterators. · d4ac4ce2
      Remove the unused EXECUTE_IF_SET_IN_SBITMAP_REV, which has an unconventional
      interface.
      
      Rename the sbitmap_iter_* functions to match bitmap's bmp_iter_* functions.
      Add an additional parameter to the initialization and next functions to
      match the interface in bmp_iter_*.  This extra parameter is mostly hidden
      by the use of the EXECUTE_IF macros.
      
      Rename the EXECUTE_IF_SET_IN_SBITMAP macro to EXECUTE_IF_SET_IN_BITMAP.  Its
      implementation is now identical to that in bitmap.h.  To prevent redefinition
      errors, both definitions are now guarded by #ifndef.  An alternate strategy
      is to simply include bitmap.h from sbitmap.h.  As this would increase build
      time, I have elected to use the #ifndef version.  I do not have a strong
      preference here.
      
      The sbitmap_iterator type is still distinctly named because it is often
      declared in contexts where the bitmap type is not obvious.  There are less
      than 40 uses of this type, so the burden to modify it when changing bitmap
      types is not large.
      
      Tested on x86-64, config-list.mk testing.
      
      
      Index: gcc/ChangeLog
      
      2012-10-31  Lawrence Crowl  <crowl@google.com>
      
      	* sbitmap.h (sbitmap_iter_init): Rename bmp_iter_set_init and add
      	unused parameter to match bitmap iterator.  Update callers.
      	(sbitmap_iter_cond): Rename bmp_iter_set.  Update callers.
      	(sbitmap_iter_next): Rename bmp_iter_next and add unused parameter to
      	match bitmap iterator.  Update callers.
      	(EXECUTE_IF_SET_IN_SBITMAP_REV): Remove unused.
      	(EXECUTE_IF_SET_IN_SBITMAP): Rename EXECUTE_IF_SET_IN_BITMAP and
      	adjust to be identical to the definition in bitmap.h.  Conditionalize
      	the definition based on not having been defined.  Update callers.
      	* bitmap.h (EXECUTE_IF_SET_IN_BITMAP): Conditionalize the definition
      	based on not having been defined.  (To match the above.)
      
      From-SVN: r193069
      Lawrence Crowl committed
    • This patch normalizes more bitmap function names. · d7c028c0
        sbitmap.h
      
          TEST_BIT -> bitmap_bit_p
          SET_BIT -> bitmap_set_bit
          SET_BIT_WITH_POPCOUNT -> bitmap_set_bit_with_popcount
          RESET_BIT -> bitmap_clear_bit
          RESET_BIT_WITH_POPCOUNT -> bitmap_clear_bit_with_popcount
      
        basic-block.h
      
          sbitmap_intersection_of_succs -> bitmap_intersection_of_succs
          sbitmap_intersection_of_preds -> bitmap_intersection_of_preds
          sbitmap_union_of_succs -> bitmap_union_of_succs
          sbitmap_union_of_preds -> bitmap_union_of_preds
      
      The sbitmap.h functions also needed their numeric paramter changed
      from unsigned int to int to match the bitmap functions.
      
      Callers updated to match.
      
      Tested on x86-64, config-list.mk testing.
      
      
      Index: gcc/ChangeLog
      
      2012-11-01  Lawrence Crowl  <crowl@google.com>
      
      	* sbitmap.h (TEST_BIT): Rename bitmap_bit_p, normalizing parameter
      	type. Update callers to match.
      	(SET_BIT): Rename bitmap_set_bit, normalizing parameter type. Update
      	callers to match.
      	(SET_BIT_WITH_POPCOUNT): Rename bitmap_set_bit_with_popcount,
      	normalizing parameter type. Update callers to match.
      	(RESET_BIT): Rename bitmap_clear_bit, normalizing parameter type.
      	Update callers to match.
      	(RESET_BIT_WITH_POPCOUNT): Rename bitmap_clear_bit_with_popcount,
      	normalizing parameter type. Update callers to match.
      	* basic-block.h (sbitmap_intersection_of_succs): Rename
      	bitmap_intersection_of_succs. Update callers to match.
      	* basic-block.h (sbitmap_intersection_of_preds): Rename
      	bitmap_intersection_of_preds. Update callers to match.
      	* basic-block.h (sbitmap_union_of_succs): Rename
      	bitmap_union_of_succs. Update callers to match.
      	* basic-block.h (sbitmap_union_of_preds): Rename
      	bitmap_union_of_preds. Update callers to match.
      
      From-SVN: r193066
      Lawrence Crowl committed
  4. 30 Oct, 2012 1 commit
    • This patch implements the unification of the *bitmap interfaces as discussed. · f61e445a
      Essentially, we rename ebitmap and sbitmap functions to use the same names
      as the bitmap functions.  This rename works because we can now overload
      on the bitmap type.  Some macros now become inline functions to enable
      that overloading.
      
      The sbitmap non-bool returning bitwise operations have been merged with
      the bool versions.  Sometimes this merge involved modifying the non-bool
      version to compute the bool value, and sometimes modifying bool version to
      add additional work from the non-bool version.  The redundant routines have
      been removed.
      
      The allocation functions have not been renamed, because we often do not
      have an argument on which to overload.  The cardinality functions have not
      been renamed, because they have different parameters, and are thus not
      interchangable.  The iteration functions have not been renamed, because
      they are functionally different.
      
      Tested on x86_64, contrib/config-list.mk testing passed.
      
      
      Index: gcc/ChangeLog
      
      2012-10-29  Lawrence Crowl  <crowl@google.com>
      
      	* sbitmap.h (sbitmap_copy): Rename bitmap_copy.
      	(sbitmap_copy_n): Rename bitmap_copy_n.
      	(sbitmap_equal): Rename bitmap_equal_p.
      	(sbitmap_empty_p): Rename bitmap_empty_p.
      	(sbitmap_range_empty_p): Rename bitmap_range_empty_p.
      	(sbitmap_zero): Rename bitmap_clear.
      	(sbitmap_ones): Rename bitmap_ones.
      	(sbitmap_vector_zero): Rename bitmap_vector_clear.
      	(sbitmap_vector_ones): Rename bitmap_vector_ones.
      	(sbitmap_not): Rename bitmap_not.
      	(sbitmap_a_and_b_cg): Commented out.
      	(sbitmap_a_and_b): Rename bitmap_and.  Add bool return.
      	(sbitmap_difference): Rename bitmap_and_compl.
      	(sbitmap_a_or_b_cg): Commented out.
      	(sbitmap_a_or_b): Rename bitmap_xor.  Add bool return.
      	(sbitmap_a_xor_b_cg): Commented out.
      	(sbitmap_a_xor_b): Rename bitmap_xor.  Add bool return.
      	(sbitmap_a_and_b_or_c_cg): Rename bitmap_and_or.
      	(sbitmap_a_and_b_or_c): Commented out.
      	(sbitmap_a_or_b_and_c_cg): Rename bitmap_or_and.
      	(sbitmap_a_or_b_and_c): Commented out.
      	(sbitmap_union_of_diff_cg): Rename bitmap_ior_and_compl.
      	(sbitmap_union_of_diff): Commented out.
      	(dump_sbitmap): Rename dump_bitmap.
      	(dump_sbitmap_file): Rename dump_bitmap_file.
      	(debug_sbitmap): Rename debug_bitmap.
      	(dump_sbitmap_vector): Rename dump_bitmap_vector.
      	(sbitmap_first_set_bit): Rename bitmap_first_set_bit.
      	(sbitmap_last_set_bit): Rename bitmap_last_set_bit.
      	(sbitmap_a_subset_b_p): Rename bitmap_subset_p.
      	(sbitmap_any_common_bits): Rename bitmap_intersect_p.
      	(#define sbitmap_free): Reimplement as inline function.
      	(#define sbitmap_vector_free): Reimplement as inline function.
      	* bitmap.h (#define bitmap_zero): Remove as redundant.
      	(#define bitmap_empty_p): Reimplement as inline function.
      	(#define dump_bitmap): Reimplement as inline function.
      
      From-SVN: r192969
      Lawrence Crowl committed
  5. 22 Jun, 2012 1 commit
  6. 17 Jun, 2012 1 commit
    • cfglayout.h: Remove. · 78bde837
      2012-06-17  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* cfglayout.h: Remove.
      	* cfglayout.c: Remove.
      	* function.h (struct function): Remove x_last_location field.
      	* function.c: Do not include cfglayout.h.
      	(expand_function_start): Do not call no-op force_next_line_note.
      	(expand_function_end): Likewise.
      	* cfgrtl.c: Do not include cfglayout.h.  Include gt-cfgrtl.h.
      	(unlink_insn_chain): Moved here from cfglayout.c.
      	(skip_insns_after_block, label_for_bb, record_effective_endpoints,
      	into_cfg_layout_mode, outof_cfg_layout_mode,
      	pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode,
      	relink_block_chain, fixup_reorder_chain, verify_insn_chain,
      	fixup_fallthru_exit_predecessor, force_one_exit_fallthru,
      	cfg_layout_can_duplicate_bb_p, duplicate_insn_chain,
      	cfg_layout_duplicate_bb, cfg_layout_initialize, break_superblocks,
      	cfg_layout_finalize): Likewise.
      	(rtl_can_remove_branch_p): Likewise.
      	* rtl.h (insn_scope): Move prototype from cfglayout.h here.
      	(duplicate_insn_chain): Likewise.
      	(force_next_line_note): Remove prototype.
      	* emit-rtl.c: Do not include tree-flow.h, egad.  Include vecprim.h.
      	(last_location): Remove #define to emit.x_last_location.
      	(force_next_line_note): Remove no-op function.
      	(init_emit): Don't set x_last_location.
      	(block_locators_locs, block_locators_blocks, locations_locators_locs,
      	locations_locators_vals, prologue_locator, epilogue_locator,
      	curr_location, last_location, curr_block, last_block, curr_rtl_loc):
      	Move POD to here from cfglayout.c.
      	(insn_locators_alloc, insn_locators_finalize, insn_locators_free,
      	set_curr_insn_source_location, get_curr_insn_source_location,
      	set_curr_insn_block, get_curr_insn_block, curr_insn_locator,
      	locator_scope, insn_scope, locator_location, locator_line, insn_line,
      	locator_file, insn_file, locator_eq): Move to here from cfglayout.c.
      	* cfghooks.h: Remove double-include protection.
      	(can_copy_bbs_p, copy_bbs): Move prototypes from cfglayout.h to here.
      	* cfghooks.c (can_copy_bbs_p, copy_bbs): Move to here from cfglayout.c.
      	* final.c: Do not include cfglayout.h.
      	(choose_inner_scope, change_scope): Move to here from cfglayout.c.
      	(reemit_insn_block_notes): Likewise.  Make static.
      	* tree-flow.h (tree_could_trap_p, operation_could_trap_helper_p,
      	operation_could_trap_p, tree_could_throw_p): Move from here...
      	* tree.h: ... to here.
      	* gengtype.c (open_base_files): Remove cfglayout.h from the list.
      	* profile.c: Do not include cfghooks.h.
      	* cfgloopmanip.c: Do not include cfglayout.h and cfghooks.h.
      	* modulo-sched.c: Likewise.
      	* loop-unswitch.c: Do not include cfglayout.h.
      	* sched-ebb.c: Likewise.
      	* tracer.c: Likewise.
      	* ddg.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* loop-init.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/score/score.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* Makefile.in (CFGAYOUT_H): Remove, and fixup users.
      	* config/rs6000/t-rs6000 (rs6000.o): Do not depend on cfglayout.h.
      	* config/spu/t-spu-elf (spu.o: $): Likewise.
      	* config/sparc/t-sparc (sparc.o): Do not depend on CFGLAYOUT_H.
      
      From-SVN: r188712
      Steven Bosscher committed
  7. 02 Jan, 2012 1 commit
  8. 30 Sep, 2011 1 commit
  9. 31 Jul, 2011 1 commit
  10. 16 Jun, 2011 1 commit
  11. 11 May, 2011 1 commit
  12. 17 Apr, 2011 1 commit
  13. 30 Nov, 2010 1 commit
    • diagnostic-core.h: Include bversion.h. · 7c475d11
      	* diagnostic-core.h: Include bversion.h.
      	* toplev.h: Don't include input.h or bversion.h.
      	(parse_optimize_options): Don't declare here.
      	* alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
      	caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
      	combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
      	config/host-darwin.c, config/i386/host-cygwin.c,
      	config/i386/host-mingw32.c, config/i386/msformat-c.c,
      	config/i386/netware.c, config/i386/nwld.c,
      	config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
      	config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
      	config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
      	config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
      	config/score/score3.c, config/score/score7.c,
      	config/sh/symbian-base.c, config/sh/symbian-c.c,
      	config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
      	config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
      	cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
      	fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
      	graphite-blocking.c, graphite-clast-to-gimple.c,
      	graphite-dependences.c, graphite-flattening.c,
      	graphite-interchange.c, graphite-poly.c,
      	graphite-scop-detection.c, graphite.c, haifa-sched.c,
      	implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
      	ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
      	lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
      	lto-opts.c, lto-section-in.c, lto-section-out.c,
      	lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
      	params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
      	regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
      	sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
      	sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
      	tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
      	tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
      	tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
      	tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
      	tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
      	tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
      	include toplev.h.
      	* Makefile.in (TOPLEV_H): Remove.  All uses changed to use
      	toplev.h.  Dependencies for above files and c-family files changed
      	to remove $(TOPLEV_H) or toplev.h.
      	(C_TREE_H): Don't include $(TOPLEV_H).
      	(DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h.  Add
      	bversion.h.
      	* config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
      	config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
      	config/t-darwin, config/t-sol2,
      	config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
      	Dependencies for above files changed to remove $(TOPLEV_H) or
      	toplev.h.
      
      c-family:
      	* c-common.h (parse_optimize_options): Declare.
      	* c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
      	c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
      
      cp:
      	* cp-gimplify.c, cp-lang.c, cvt.c, cxx-pretty-print.c, error.c,
      	except.c, expr.c, friend.c, init.c, mangle.c, name-lookup.c,
      	optimize.c, parser.c, rtti.c, tree.c, typeck2.c: Don't include
      	toplev.h.
      	* Make-lang.in: Dependencies for above files changed to remove
      	toplev.h.
      
      java:
      	* expr.c, lang.c, mangle.c, mangle_name.c, typeck.c,
      	verify-glue.c: Don't include toplev.h.
      	* Make-lang.in: Dependencies for above files changed to remove
      	toplev.h.
      
      lto:
      	* Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
      	$(TOPLEV_H).
      
      From-SVN: r167293
      Joseph Myers committed
  14. 21 Oct, 2010 2 commits
    • ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead of gcc_checking_assert. · cefb375a
      	* ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
      	of gcc_checking_assert.
      	* sel-sched.c (code_motion_process_successors): Likewise.
      
      From-SVN: r165790
      Nathan Froyd committed
    • basic-block.h (single_succ_edge): Use gcc_checking_assert. · 77a74ed7
      	* basic-block.h (single_succ_edge): Use gcc_checking_assert.
      	(single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
      	* cfghooks.c (fixup_reorder_chain): Likewise.
      	* cfgrtl.c (cfg_layout_merge_blocks): Likewise.
      	* cgraph.c (cgraph_add_thunk): Likewise.
      	(cgraph_create_edge_1): Likewise.
      	(cgraph_create_virtual_clone): Likewise.
      	* ddg.c (add_cross_iteration_register_deps): Likewise.
      	* dwarf2out.c (modified_type_die): Likewise.
      	* emit-rtl.c (set_mem_alias_set): Likewise.
      	* ggc-zone.c (zone_allocate_marks): Likewise.
      	* gimple-iterator.c (gsi_move_to_bb_end): Likewise.
      	* gimple.c (iterative_hash_gimple_type): Likewise.
      	* graphite-scop-detection.c (create_single_entry_edge): Likewise.
      	(create_single_exit_edge): Likewise.
      	* haifa-sched.c (choose_ready): Likewise.
      	* lto-streamer-in.c (input_gimple_stmt): Likewise.
      	* passes.c (execute_todo): Likewise.
      	* sched-ebb.c (begin_schedule_ready): Likewise.
      	* sel-sched.c (code_motion_process_successors): Likewise.
      	* tree-call-cdce.c (gen_conditions_for_pow): Likewise.
      	* tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
      	* tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
      	(phi_arg_index_from_use, phi_ssa_name_p): Likewise.
      	* tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
      	* tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
      	(ssa_conflicts_add): Likewise.
      	* tree-ssa-copy.c (replace_exp): Likewise.
      	* tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
      	* tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
      	* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
      	* tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
      	(compute_antic): Likewise.
      	* tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
      	(add_dependence): Likewise.
      	(process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
      	* tree-vrp.c (supports_overflow_infinity): Likewise.
      	(make_overflow_infinity, negative_overflow_infinity): Likewise.
      	(avoid_overflow_infinity, register_new_assert_for): Likewise.
      	(process_assert_insertions_for): Likewise.
      	* var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
      	(dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
      	(intersect_loc_chains, variable_merge_over_cur): Likewise.
      
      From-SVN: r165774
      Nathan Froyd committed
  15. 09 Aug, 2010 1 commit
    • ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of alias_sets_conflict_p. · c6ea834c
      2010-08-09  Bingfeng Mei  <bmei@broadcom.com>
      
      	* ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of
      	alias_sets_conflict_p.
      	(walk_mems_1): Moved from alias.c.
      	(insns_may_alias_p): New function, originally insn_alias_sets_conflict_p
      	in alias.c. 
              (add_inter_loop_mem_dep): Use insns_may_alias_p now.
              * cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p.
              * alias.c (walk_mems_2): Moved to ddg.c.
      	(walk_mems_1): Ditto.
      	(insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved
      	to ddg.c.
      	(nonoverlapping_memrefs_p): Add flag to guard offset-based memory
      	disambiguation.
      	*(may_alias_p): New function to check whether two memory expression
      	may alias or not. Currently used in buidling inter-iteration memory
      	dependence.
      	*alias.h (nonoverlapping_memrefs_p): New flag as third argument.
      	(insn_alias_sets_conflict_p): Removed
      	*rtl.h (may_alias_p): New function prototype.
      
      From-SVN: r163037
      Bingfeng Mei committed
  16. 19 Jul, 2010 1 commit
  17. 08 Jul, 2010 1 commit
    • toplev.h: Do not include diagnostic-core.h. · 718f9c0f
      2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* toplev.h: Do not include diagnostic-core.h.
      	Include diagnostic-core.h in every file that includes toplev.h.
      	* c-tree.h: Do not include toplev.h.
      	* pretty-print.h: Update comment.
      	* Makefile.in: Update dependencies.
      	* alias.c: Include diagnostic-core.h in every file that includes
      	toplev.h.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfgloop.c: Likewise.
      	* combine.c: Likewise.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/arm/pe.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/crx/crx.c: Likewise.
      	* config/darwin-c.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/host-darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/netware.c: Likewise.
      	* config/i386/nwld.c: Likewise.
      	* config/i386/winnt-cxx.c: Likewise.
      	* config/i386/winnt-stubs.c: Likewise.
      	* config/i386/winnt.c: Likewise.
      	* config/ia64/ia64-c.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c-pragma.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68hc11/m68hc11.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/picochip/picochip.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/score/score.c: Likewise.
      	* config/score/score3.c: Likewise.
      	* config/score/score7.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/symbian-base.c: Likewise.
      	* config/sh/symbian-c.c: Likewise.
      	* config/sh/symbian-cxx.c: Likewise.
      	* config/sol2-c.c: Likewise.
      	* config/sol2.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/v850/v850-c.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      	* convert.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* dbxout.c: Likewise.
      	* ddg.c: Likewise.
      	* dominance.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* fixed-value.c: Likewise.
      	* fold-const.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcse.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimplify.c: Likewise.
      	* graph.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* implicit-zee.c: Likewise.
      	* integrate.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-iv.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-symtab.c: Likewise.
      	* main.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* optabs.c: Likewise.
      	* params.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* real.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regmove.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.c: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* targhooks.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* varasm.c: Likewise.
      	* vec.c: Likewise.
      	* web.c: Likewise.
      	* xcoffout.c: Likewise.
      
      c-family/
      	* c-common.h: Include diagnostic-core.h. Error if already
      	included.
      	* c-semantics.c: Do not define GCC_DIAG_STYLE here.
      cp/
      	* cp-tree.h: Do not include toplev.h.
      	
      java/
      	* boehm.c: Include diagnostic-core.h in every file that includes
      	toplev.h.
      	* class.c: Likewise.
      	* constants.c: Likewise.
      	* decl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* mangle.c: Likewise.
      	* mangle_name.c: Likewise.
      	* resource.c: Likewise.
      	* typeck.c: Likewise.
      	* verify-glue.c: Likewise.
      ada/
      	* gcc-interface/utils.c: Include diagnostic-core.h in every file
      	that includes toplev.h.
      lto/
      	* lto-coff.c: Include diagnostic-core.h in every file that
      	includes toplev.h.
      	* lto-elf.c: Likewise.
      	* lto-lang.c: Likewise.
      	* lto-macho.c: Likewise.
      
      From-SVN: r161943
      Manuel López-Ibáñez committed
  18. 04 Jun, 2010 1 commit
    • df.h (df_rd_bb_info, [...]): Embedd bitmap_head into the structure. · b33a91c9
      	* df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
      	df_byte_lr_bb_info): Embedd bitmap_head into the structure.
      	(DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
      	DF_BYTE_LR_OUT): Update for embedded bitmaps.
      	* fwprop.c (single_def_use_enter_block): Likewise.
      	* ddg.c (create_ddg_dep_from_intra_loop_link,
      	add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
      	* loop-iv.c (latch_dominating_def): Likewise.
      	* df-problems.c (df_rd_free_bb_info, df_rd_alloc,
      	df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
      	df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
      	df_rd_transfer_function, df_rd_top_dump,
      	df_rd_bottom_dump): Update.
      	(df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
      	df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
      	df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
      	df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
      	df_lr_verify_solution_start, df_lr_verify_solution_end,
      	df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
      	df_live_free_bb_info, df_live_alloc, df_live_reset,
      	df_live_bb_local_compute, df_live_init, df_live_transfer_function,
      	df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
      	df_live_verify_solution_start, df_live_verify_solution_end,
      	df_live_verify_transfer_functions, df_chain_create_bb,
      	df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
      	df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
      	df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
      	df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
      	df_byte_lr_confluence_0, df_byte_lr_confluence_n,
      	df_byte_lr_transfer_function, df_byte_lr_top_dump,
      	df_byte_lr_bottom_dump, df_create_unused_note,
      	df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
      	df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
      	df_md_transfer_function, df_md_init, df_md_confluence_0,
      	df_md_confluence_n,
      	df_md_top_dump, df_md_bottom_dump): Update.  (struct df_lr_problem_data):
      	Embedd bitmap headers.
      
      From-SVN: r160268
      Jan Hubicka committed
  19. 27 May, 2010 1 commit
  20. 07 Dec, 2009 1 commit
  21. 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
  22. 13 Nov, 2009 1 commit
    • sched-deps.c (init_deps): New parameter lazy_reg_last. · bcf33775
      2009-11-13  Andrey Belevantsev  <abel@ispras.ru>
      
              * sched-deps.c (init_deps): New parameter lazy_reg_last.  Don't
              allocate reg_last when in case lazy_reg_last is true.
              (init_deps_reg_last): New.
              (free_deps): When max_reg is 0, this context is already freed.
              * sched-int.h (init_deps_reg_last): Export.
              (init_deps): Update prototype.
              * sched-ebb.c (schedule_ebb): Update the call to init_deps.
              * sched-rgn.c (sched_rgn_compute_dependencies): Likewise.
              * ddg.c (build_intra_loop_deps): Likewise.
              * sel-sched-ir.c (copy_deps_context, create_deps_context,
              reset_deps_context, deps_init_id): Likewise.
              (init_first_time_insn_data): Lazy allocate INSN_DEPS_CONTEXT.
              (free_data_for_scheduled_insn): New, break down from ...
              (free_first_time_insn_data): ... here.
              (has_dependence_p): Allocate reg_last now, when it is needed.
              (extend_insn_data): When maximal LUID is big enough, allocate
              per-insn data in smaller chunks.
              * sel-sched-ir.h (free_data_for_scheduled_insn): Export.
              * sel-sched.c (update_seqnos_and_stage): Free INSN_DEPS_CONTEXT
              in scheduled insn.
      
      From-SVN: r154147
      Andrey Belevantsev committed
  23. 17 Oct, 2009 1 commit
    • re PR debug/41535 (Broken var location info after scheduling) · f49b295a
      PR debug/41535
      * sched-deps.c (depl_on_debug_p): New.
      (attach_dep_link): Reject debug deps before nondebug deps.
      (add_to_deps_list): Insert debug deps after nondebug deps.
      (sd_lists_empty_p): Stop at first nonempty list.  Disregard debug
      deps.
      (sd_add_dep): Do not reject debug deps.
      (add_insn_mem_dependence): Don't count debug deps.
      (remove_from_deps): Likewise.
      (sched_analyze_2): Set up mem deps on debug insns.
      (sched_analyze_insn): Record reg uses for deps on debug insns.
      * haifa-sched.c (schedule_insn): Reset deferred debug insn.  Don't
      try_ready nondebug insn after debug insn.
      * ddg.c (create_ddg_dep_from_intra_loop_link,
      create_ddg_dep_no_link): Don't reject debug deps.
      
      From-SVN: r152927
      Alexandre Oliva committed
  24. 02 Sep, 2009 1 commit
    • invoke.texi (-fvar-tracking-assignments): New. · b5b8b0ac
      gcc/ChangeLog:
      * doc/invoke.texi (-fvar-tracking-assignments): New.
      (-fvar-tracking-assignments-toggle): New.
      (-fdump-final-insns=file): Mark filename as optional.
      (--param min-nondebug-insn-uid): New.
      (-gdwarf-@{version}): Mention version 4.
      * opts.c (common_handle_option): Accept it.
      * tree-vrp.c (find_assert_locations_1): Skip debug stmts.
      * regrename.c (regrename_optimize): Drop last.  Don't count debug
      insns as uses.  Don't reject change because of debug insn.
      (do_replace): Reject DEBUG_INSN as chain starter.  Take base_regno
      from the chain starter, and check for inexact matches in
      DEBUG_INSNS.
      (scan_rtx_reg): Accept inexact matches in DEBUG_INSNs.
      (build_def_use): Simplify and fix the marking of DEBUG_INSNs.
      * sched-ebb.c (schedule_ebbs): Skip boundary debug insns.
      * fwprop.c (forward_propagate_and_simplify): ...into debug insns.
      * doc/gimple.texi (is_gimple_debug): New.
      (gimple_debug_bind_p): New.
      (is_gimple_call, gimple_assign_cast_p): End sentence with period.
      * doc/install.texi (bootstrap-debug): More details.
      (bootstrap-debug-big, bootstrap-debug-lean): Document.
      (bootstrap-debug-lib): More details.
      (bootstrap-debug-ckovw): Update.
      (bootstrap-time): New.
      * tree-into-ssa.c (mark_def_sites): Skip debug stmts.
      (insert_phi_nodes_for): Insert debug stmts.
      (rewrite_stmt): Take iterator.  Insert debug stmts.
      (rewrite_enter_block): Adjust.
      (maybe_replace_use_in_debug_stmt): New.
      (rewrite_update_stmt): Use it.
      (mark_use_interesting): Return early for debug stmts.
      * tree-ssa-loop-im.c (rewrite_bittest): Propagate DEFs into debug
      stmts before replacing stmt.
      (move_computations_stmt): Likewise.
      * ira-conflicts.c (add_copies): Skip debug insns.
      * regstat.c (regstat_init_n_sets_and_refs): Discount debug insns.
      (regstat_bb_compute_ri): Skip debug insns.
      * tree-ssa-threadupdate.c (redirection_block_p): Skip debug stmts.
      * tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
      check_loop_closed_ssa_stmt): Skip debug stmts.
      * tree-tailcall.c (find_tail_calls): Likewise.
      * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
      * tree.h (MAY_HAVE_DEBUG_STMTS): New.
      (build_var_debug_value_stat): Declare.
      (build_var_debug_value): Define.
      (target_for_debug_bind): Declare.
      * reload.c (find_equiv_reg): Skip debug insns.
      * rtlanal.c (reg_used_between_p): Skip debug insns.
      (side_effects_p): Likewise.
      (canonicalize_condition): Likewise.
      * ddg.c (create_ddg_dep_from_intra_loop_link): Check that non-debug
      insns never depend on debug insns.
      (create_ddg_dep_no_link): Likewise.
      (add_cross_iteration_register_deps): Use ANTI_DEP for debug insns.
      Don't add inter-loop dependencies for debug insns.
      (build_intra_loop_deps): Likewise.
      (create_ddg): Count debug insns.
      * ddg.h (struct ddg::num_debug): New.
      (num_backargs): Pair up with previous int field.
      * diagnostic.c (diagnostic_report_diagnostic): Skip notes on
      -fcompare-debug-second.
      * final.c (get_attr_length_1): Skip debug insns.
      (rest_of_clean-state): Don't dump CFA_RESTORE_STATE.
      * gcc.c (invoke_as): Call compare-debug-dump-opt.
      (driver_self_specs): Map -fdump-final-insns to
      -fdump-final-insns=..
      (get_local_tick): New.
      (compare_debug_dump_opt_spec_function): Test for . argument and
      compute output name.  Compute temp output spec without flag name.
      Compute -frandom-seed.
      (OPT): Undef after use.
      * cfgloopanal.c (num_loop_insns): Skip debug insns.
      (average_num_loop_insns): Likewise.
      * params.h (MIN_NONDEBUG_INSN_UID): New.
      * gimple.def (GIMPLE_DEBUG): New.
      * ipa-reference.c (scan_stmt_for_static_refs): Skip debug stmts.
      * auto-inc-dec.c (merge_in_block): Skip debug insns.
      (merge_in_block): Fix whitespace.
      * toplev.c (flag_var_tracking): Update comment.
      (flag_var_tracking_assignments): New.
      (flag_var_tracking_assignments_toggle): New.
      (process_options): Don't open final insns dump file if we're not
      going to write to it.  Compute defaults for var_tracking.
      * df-scan.c (df_insn_rescan_debug_internal): New.
      (df_uses_record): Handle debug insns.
      * haifa-sched.c (ready): Initialize n_debug.
      (contributes_to_priority): Skip debug insns.
      (dep_list_size): New.
      (priority): Use it.
      (rank_for_schedule): Likewise.  Schedule debug insns as soon as
      they're ready.  Disregard previous debug insns to make decisions.
      (queue_insn): Never queue debug insns.
      (ready_add, ready_remove_first, ready_remove): Count debug insns.
      (schedule_insn): Don't reject debug insns because of issue rate.
      (get_ebb_head_tail, no_real_insns_p): Skip boundary debug insns.
      (queue_to_ready): Skip and discount debug insns.
      (choose_ready): Let debug insns through.
      (schedule_block): Check boundary debug insns.  Discount debug
      insns, schedule them early.  Adjust whitespace.
      (set_priorities): Check for boundary debug insns.
      (add_jump_dependencies): Use dep_list_size.
      (prev_non_location_insn): New.
      (check_cfg): Use it.
      * tree-ssa-loop-ivopts.c (find-interesting_users): Skip debug
      stmts.
      (remove_unused_ivs): Reset debug stmts.
      * modulo-sched.c (const_iteration_count): Skip debug insns.
      (res_MII): Discount debug insns.
      (loop_single_full_bb_p): Skip debug insns.
      (sms_schedule): Likewise.
      (sms_schedule_by_order): Likewise.
      (ps_has_conflicts): Likewise.
      * caller-save.c (refmarker_fn): New.
      (save_call_clobbered_regs): Replace regs with saved mem in
      debug insns.
      (mark_referenced_regs): Take pointer, mark and arg.  Adjust.
      Call refmarker_fn mark for hardregnos.
      (mark_reg_as_referenced): New.
      (replace_reg_with_saved_mem): New.
      * ipa-pure-const.c (check_stmt): Skip debug stmts.
      * cse.c (cse_insn): Canonicalize debug insns.  Skip them when
      searching back.
      (cse_extended_basic_block): Skip debug insns.
      (count_reg_usage): Likewise.
      (is_dead_reg): New, split out of...
      (set_live_p): ... here.
      (insn_live_p): Use it for debug insns.
      * tree-stdarg.c (check_all_va_list_escapes): Skip debug stmts.
      (execute_optimize_stdarg): Likewise.
      * tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
      * tree-ssa-propagate.c (substitute_and_fold): Don't regard
      changes in debug stmts as changes.
      * sel-sched.c (moving_insn_creates_bookkeeping_block_p): New.
      (moveup_expr): Don't move across debug insns.  Don't move
      debug insn if it would create a bookkeeping block.
      (moveup_expr_cached): Don't use cache for debug insns that
      are heads of blocks.
      (compute_av_set_inside_bb): Skip debug insns.
      (sel_rank_for_schedule): Schedule debug insns first.  Remove
      dead code.
      (block_valid_for_bookkeeping_p); Support lax searches.
      (create_block_for_bookkeeping): Adjust block numbers when
      encountering debug-only blocks.
      (find_place_for_bookkeeping): Deal with debug-only blocks.
      (generate_bookkeeping_insn): Accept no place to insert.
      (remove_temp_moveop_nops): New argument full_tidying.
      (prepare_place_to_insert): Deal with debug insns.
      (advance_state_on_fence): Debug insns don't start cycles.
      (update_boundaries): Take fence as argument.  Deal with
      debug insns.
      (schedule_expr_on_boundary): No full_tidying on debug insns.
      (fill_insns): Deal with debug insns.
      (track_scheduled_insns_and_blocks): Don't count debug insns.
      (need_nop_to_preserve_insn_bb): New, split out of...
      (remove_insn_from_stream): ... this.
      (fur_orig_expr_not_found): Skip debug insns.
      * rtl.def (VALUE): Move up.
      (DEBUG_INSN): New.
      * tree-ssa-sink.c (all_immediate_uses_same_place): Skip debug
      stmts.
      (nearest_common_dominator_of_uses): Take debug_stmts argument.
      Set it if debug stmts are found.
      (statement_sink_location): Skip debug stmts.  Propagate
      moving defs into debug stmts.
      * ifcvt.c (first_active_insn): Skip debug insns.
      (last_active_insns): Likewise.
      (cond_exec_process_insns): Likewise.
      (noce_process_if_block): Likewise.
      (check_cond_move_block): Likewise.
      (cond_move_convert_if_block): Likewise.
      (block_jumps_and_fallthru_p): Likewise.
      (dead_or_predicable): Likewise.
      * dwarf2out.c (debug_str_hash_forced): New.
      (find_AT_string): Add comment.
      (gen_label_for_indirect_string): New.
      (get_debug_string_label): New.
      (AT_string_form): Use it.
      (mem_loc_descriptor): Handle non-TLS symbols.  Handle MINUS , DIV,
      MOD, AND, IOR, XOR, NOT, ABS, NEG, and CONST_STRING.  Accept but
      discard COMPARE, IF_THEN_ELSE, ROTATE, ROTATERT, TRUNCATE and
      several operations that cannot be represented with DWARF opcodes.
      (loc_descriptor): Ignore SIGN_EXTEND and ZERO_EXTEND.  Require
      dwarf_version 4 for DW_OP_implicit_value and DW_OP_stack_value.
      (dwarf2out_var_location): Take during-call mark into account.
      (output_indirect_string): Update comment.  Output if there are
      label and references.
      (prune_indirect_string): New.
      (prune_unused_types): Call it if debug_str_hash_forced.
      More in dwarf2out.c, from Jakub Jelinek <jakub@redhat.com>:
      (dw_long_long_const): Remove.
      (struct dw_val_struct): Change val_long_long type to rtx.
      (print_die, attr_checksum, same_dw_val_p, loc_descriptor): Adjust for
      val_long_long change to CONST_DOUBLE rtx from a long hi/lo pair.
      (output_die): Likewise.  Use HOST_BITS_PER_WIDE_INT size of each
      component instead of HOST_BITS_PER_LONG.
      (output_loc_operands): Likewise.   For const8* assert
      HOST_BITS_PER_WIDE_INT rather than HOST_BITS_PER_LONG is >= 64.
      (output_loc_operands_raw): For const8* assert HOST_BITS_PER_WIDE_INT
      rather than HOST_BITS_PER_LONG is >= 64.
      (add_AT_long_long): Remove val_hi and val_lo arguments, add
      val_const_double.
      (size_of_die): Use HOST_BITS_PER_WIDE_INT size multiplier instead of
      HOST_BITS_PER_LONG for dw_val_class_long_long.
      (add_const_value_attribute): Adjust add_AT_long_long caller.  Don't
      handle TLS SYMBOL_REFs.  If CONST wraps a constant, tail recurse.
      (dwarf_stack_op_name): Handle DW_OP_implicit_value and
      DW_OP_stack_value.
      (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
      Handle DW_OP_implicit_value.
      (extract_int): Move prototype earlier.
      (mem_loc_descriptor): For SUBREG punt if inner
      mode size is wider than DWARF2_ADDR_SIZE.  Handle SIGN_EXTEND
      and ZERO_EXTEND by DW_OP_shl and DW_OP_shr{a,}.  Handle
      EQ, NE, GT, GE, LT, LE, GTU, GEU, LTU, LEU, SMIN, SMAX, UMIN,
      UMAX, SIGN_EXTRACT, ZERO_EXTRACT.
      (loc_descriptor): Compare mode size with DWARF2_ADDR_SIZE
      instead of Pmode size.
      (loc_descriptor): Add MODE argument.  Handle CONST_INT, CONST_DOUBLE,
      CONST_VECTOR, CONST, LABEL_REF and SYMBOL_REF if mode != VOIDmode,
      attempt to handle other expressions.  Don't handle TLS SYMBOL_REFs.
      (concat_loc_descriptor, concatn_loc_descriptor,
      loc_descriptor_from_tree_1): Adjust loc_descriptor callers.
      (add_location_or_const_value_attribute): Likewise.  For single
      location loc_lists attempt to use add_const_value_attribute
      for constant decls.  Add DW_AT_const_value even if
      NOTE_VAR_LOCATION is VAR_LOCATION with CONSTANT_P or CONST_STRING
      in its expression.
      * cfgbuild.c (inside_basic_block_p): Handle debug insns.
      (control_flow_insn_p): Likewise.
      * tree-parloops.c (eliminate_local_variables_stmt): Handle debug
      stmt.
      (separate_decls_in_region_debug_bind): New.
      (separate_decls_in_region): Process debug bind stmts afterwards.
      * recog.c (verify_changes): Handle debug insns.
      (extract_insn): Likewise.
      (peephole2_optimize): Skip debug insns.
      * dse.c (scan_insn): Skip debug insns.
      * sel-sched-ir.c (return_nop_to_pool): Take full_tidying argument.
      Pass it on.
      (setup_id_for_insn): Handle debug insns.
      (maybe_tidy_empty_bb): Adjust whitespace.
      (tidy_control_flow): Skip debug insns.
      (sel_remove_insn): Adjust for debug insns.
      (sel_estimate_number_of_insns): Skip debug insns.
      (create_insn_rtx_from_pattern): Handle debug insns.
      (create_copy_of_insn_rtx): Likewise.
      * sel-sched-.h (sel_bb_end): Declare.
      (sel_bb_empty_or_nop_p): New.
      (get_all_loop_exits): Use it.
      (_eligible_successor_edge_p): Likewise.
      (return_nop_to_pool): Adjust.
      * tree-eh.c (tre_empty_eh_handler_p): Skip debug stmts.
      * ira-lives.c (process_bb_node_lives): Skip debug insns.
      * gimple-pretty-print.c (dump_gimple_debug): New.
      (dump_gimple_stmt): Use it.
      (dump_bb_header): Skip gimple debug stmts.
      * regmove.c (optimize_reg_copy_1): Discount debug insns.
      (fixup_match_2): Likewise.
      (regmove_backward_pass): Likewise.  Simplify combined
      replacement.  Handle debug insns.
      * function.c (instantiate_virtual_regs): Handle debug insns.
      * function.h (struct emit_status): Add x_cur_debug_insn_uid.
      * print-rtl.h: Include cselib.h.
      (print_rtx): Print VALUEs.  Split out and recurse for
      VAR_LOCATIONs.
      * df.h (df_inns_rescan_debug_internal): Declare.
      * gcse.c (alloc_hash_table): Estimate n_insns.
      (cprop_insn): Don't regard debug insns as changes.
      (bypass_conditional_jumps): Skip debug insns.
      (one_pre_gcse_pass): Adjust.
      (one_code_hoisting_pass): Likewise.
      (compute_ld_motion_mems): Skip debug insns.
      (one_cprop_pass): Adjust.
      * tree-if-conv.c (tree_if_convert_stmt): Reset debug stmts.
      (if_convertible_stmt_p): Handle debug stmts.
      * init-regs.c (initialize_uninitialized_regs): Skip debug insns.
      * tree-vect-loop.c (vect_is_simple_reduction): Skip debug stmts.
      * ira-build.c (create_bb_allocnos): Skip debug insns.
      * tree-flow-inline.h (has_zero_uses): Discount debug stmts.
      (has_single_use): Likewise.
      (single_imm_use): Likewise.
      (num_imm_uses): Likewise.
      * tree-ssa-phiopt.c (empty_block_p): Skip debug stmts.
      * tree-ssa-coalesce.c (build_ssa_conflict_graph): Skip debug stmts.
      (create_outofssa_var_map): Likewise.
      * lower-subreg.c (adjust_decomposed_uses): New.
      (resolve_debug): New.
      (decompose_multiword_subregs): Use it.
      * tree-dfa.c (find_referenced_vars): Skip debug stmts.
      * emit-rtl.c: Include params.h.
      (cur_debug_insn_uid): Define.
      (set_new_first_and_last_insn): Set cur_debug_insn_uid too.
      (copy_rtx_if_shared_1): Handle debug insns.
      (reset_used_flags): Likewise.
      (set_used_flags): LIkewise.
      (get_max_insn_count): New.
      (next_nondebug_insn): New.
      (prev_nondebug_insn): New.
      (make_debug_insn_raw): New.
      (emit_insn_before_noloc): Handle debug insns.
      (emit_jump_insn_before_noloc): Likewise.
      (emit_call_insn_before_noloc): Likewise.
      (emit_debug_insn_before_noloc): New.
      (emit_insn_after_noloc): Handle debug insns.
      (emit_jump_insn_after_noloc): Likewise.
      (emit_call_insn_after_noloc): Likewise.
      (emit_debug_insn_after_noloc): Likewise.
      (emit_insn_after): Take loc from earlier non-debug insn.
      (emit_jump_insn_after): Likewise.
      (emit_call_insn_after): Likewise.
      (emit_debug_insn_after_setloc): New.
      (emit_debug_insn_after): New.
      (emit_insn_before): Take loc from later non-debug insn.
      (emit_jump_insn_before): Likewise.
      (emit_call_insn_before): Likewise.
      (emit_debug_insn_before_setloc): New.
      (emit_debug_insn_before): New.
      (emit_insn): Handle debug insns.
      (emit_debug_insn): New.
      (emit_jump_insn): Handle debug insns.
      (emit_call_insn): Likewise.
      (emit): Likewise.
      (init_emit): Take min-nondebug-insn-uid into account.
      Initialize cur_debug_insn_uid.
      (emit_copy_of_insn_after): Handle debug insns.
      * cfgexpand.c (gimple_assign_rhs_to_tree): Do not overwrite
      location of single rhs in place.
      (maybe_dump_rtl_for_gimple_stmt): Dump lineno.
      (floor_sdiv_adjust): New.
      (cell_sdiv_adjust): New.
      (cell_udiv_adjust): New.
      (round_sdiv_adjust): New.
      (round_udiv_adjust): New.
      (wrap_constant): Moved from cselib.
      (unwrap_constant): New.
      (expand_debug_expr): New.
      (expand_debug_locations): New.
      (expand_gimple_basic_block): Drop hiding redeclaration.  Expand
      debug bind stmts.
      (gimple_expand_cfg): Expand debug locations.
      * cselib.c: Include tree-pass.h.
      (struct expand_value_data): New.
      (cselib_record_sets_hook): New.
      (PRESERVED_VALUE_P, LONG_TERM_PRESERVED_VALUE_P): New.
      (cselib_clear_table): Move, and implemnet in terms of...
      (cselib_reset_table_with_next_value): ... this.
      (cselib_get_next_unknown_value): New.
      (discard_useless_locs): Don't discard preserved values.
      (cselib_preserve_value): New.
      (cselib_preserved_value_p): New.
      (cselib_preserve_definitely): New.
      (cselib_clear_preserve): New.
      (cselib_preserve_only_values): New.
      (new_cselib_val): Take rtx argument.  Dump it in details.
      (cselib_lookup_mem): Adjust.
      (expand_loc): Take regs_active in struct.  Adjust.  Silence
      dumps unless details are requested.
      (cselib_expand_value_rtx_cb): New.
      (cselib_expand_value_rtx): Rename and reimplment in terms of...
      (cselib_expand_value_rtx_1): ... this.  Adjust.  Silence dumps
      without details.  Copy more subregs.  Try to resolve values
      using a callback.  Wrap constants.
      (cselib_subst_to_values): Adjust.
      (cselib_log_lookup): New.
      (cselib_lookup): Call it.
      (cselib_invalidate_regno): Don't count preserved values as
      useless.
      (cselib_invalidate_mem): Likewise.
      (cselib_record_set): Likewise.
      (struct set): Renamed to cselib_set, moved to cselib.h.
      (cselib_record_sets): Adjust.  Call hook.
      (cselib_process_insn): Reset table when it would be cleared.
      (dump_cselib_val): New.
      (dump_cselib_table): New.
      * tree-cfgcleanup.c (tree_forwarded_block_p): Skip debug stmts.
      (remove_forwarder_block): Support moving debug stmts.
      * cselib.h (cselib_record_sets_hook): Declare.
      (cselib_expand_callback): New type.
      (cselib_expand_value_rtx_cb): Declare.
      (cselib_reset_table_with_next_value): Declare.
      (cselib_get_next_unknown_value): Declare.
      (cselib_preserve_value): Declare.
      (cselib_preserved_value_p): Declare.
      (cselib_preserve_only_values): Declare.
      (dump_cselib_table): Declare.
      * cfgcleanup.c (flow_find_cross_jump): Skip debug insns.
      (try_crossjump_to_edge): Likewise.
      (delete_unreachable_blocks): Remove dominant GIMPLE blocks after
      dominated blocks when debug stmts are present.
      * simplify-rtx.c (delegitimize_mem_from_attrs): New.
      * tree-ssa-live.c (remove_unused_locals): Skip debug stmts.
      (set_var_live_on_entry): Likewise.
      * loop-invariant.c (find_invariants_bb): Skip debug insns.
      * cfglayout.c (curr_location, last_location): Make static.
      (set_curr_insn_source_location): Don't avoid bouncing.
      (get_curr_insn_source_location): New.
      (get_curr_insn_block): New.
      (duplicate_insn_chain): Handle debug insns.
      * tree-ssa-forwprop.c (forward_propagate_addr_expr): Propagate
      into debug stmts.
      * common.opt (fcompare-debug): Move to sort order.
      (fdump-unnumbered-links): Likewise.
      (fvar-tracking-assignments): New.
      (fvar-tracking-assignments-toggle): New.
      * tree-ssa-dce.c (mark_stmt_necessary): Don't mark blocks
      because of debug stmts.
      (mark_stmt_if_obviously_necessary): Mark debug stmts.
      (eliminate_unnecessary_stmts): Walk dominated blocks before
      dominators.
      * tree-ssa-ter.c (find_replaceable_in_bb): Skip debug stmts.
      * ira.c (memref_used_between_p): Skip debug insns.
      (update_equiv_regs): Likewise.
      * sched-deps.c (sd_lists_size): Accept empty list.
      (sd_init_insn): Mark debug insns.
      (sd_finish_insn): Unmark them.
      (sd_add_dep): Reject non-debug deps on debug insns.
      (fixup_sched_groups): Give debug insns group treatment.
      Skip debug insns.
      (sched_analyze_reg): Don't mark debug insns for sched before call.
      (sched_analyze_2): Handle debug insns.
      (sched_analyze_insn): Compute next non-debug insn.  Handle debug
      insns.
      (deps_analyze_insn): Handle debug insns.
      (deps_start_bb): Skip debug insns.
      (init_deps): Initialize last_debug_insn.
      * tree-ssa.c (target_for_debug_bind): New.
      (find_released_ssa_name): New.
      (propagate_var_def_into_debug_stmts): New.
      (propagate_defs_into_debug_stmts): New.
      (verify_ssa): Skip debug bind stmts without values.
      (warn_uninialized_vars): Skip debug stmts.
      * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Set default.
      * rtl.c (rtx_equal_p_cb): Handle VALUEs.
      (rtx_equal_p): Likewise.
      * ira-costs.c (scan_one_insn): Skip debug insns.
      (process_bb_node_for_hard_reg_moves): Likewise.
      * rtl.h (DEBUG_INSN_P): New.
      (NONDEBUG_INSN_P): New.
      (MAY_HAVE_DEBUG_INSNS): New.
      (INSN_P): Accept debug insns.
      (RTX_FRAME_RELATED_P): Likewise.
      (INSN_DELETED_P): Likewise
      (PAT_VAR_LOCATION_DECL): New.
      (PAT_VAR_LOCATION_LOC): New.
      (PAT_VAR_OCATION_STATUS): New.
      (NOTE_VAR_LOCATION_DECL): Reimplement.
      (NOTE_VAR_LOCATION_LOC): Likewise.
      (NOTE_VAR_LOCATION_STATUS): Likewise.
      (INSN_VAR_LOCATION): New.
      (INSN_VAR_LOCATION_DECL): New.
      (INSN_VAR_LOCATION_LOC): New.
      (INSN_VAR_LOCATION_STATUS): New.
      (gen_rtx_UNKNOWN_VAR_LOC): New.
      (VAR_LOC_UNKNOWN_P): New.
      (NOTE_DURING_CALL_P): New.
      (SCHED_GROUP_P): Accept debug insns.
      (emit_debug_insn_before): Declare.
      (emit_debug_insn_before_noloc): Declare.
      (emit_debug_insn_beore_setloc): Declare.
      (emit_debug_insn_after): Declare.
      (emit_debug_insn_after_noloc): Declare.
      (emit_debug_insn_after_setloc): Declare.
      (emit_debug_insn): Declare.
      (make_debug_insn_raw): Declare.
      (prev_nondebug_insn): Declare.
      (next_nondebug_insn): Declare.
      (delegitimize_mem_from_attrs): Declare.
      (get_max_insn_count): Declare.
      (wrap_constant): Declare.
      (unwrap_constant): Declare.
      (get_curr_insn_source_location): Declare.
      (get_curr_insn_block): Declare.
      * tree-inline.c (insert_debug_decl_map): New.
      (processing_debug_stmt): New.
      (remap_decl): Don't create new mappings in debug stmts.
      (remap_gimple_op_r): Don't add references in debug stmts.
      (copy_tree_body_r): Likewise.
      (remap_gimple_stmt): Handle debug bind stmts.
      (copy_bb): Skip debug stmts.
      (copy_edges_for_bb): Likewise.
      (copy_debug_stmt): New.
      (copy_debug_stmts): New.
      (copy_body): Copy debug stmts at the end.
      (insert_init_debug_bind): New.
      (insert_init_stmt): Take id.  Skip and emit debug stmts.
      (setup_one_parameter): Remap variable earlier, register debug
      mapping.
      (estimate_num_insns): Skip debug stmts.
      (expand_call_inline): Preserve debug_map.
      (optimize_inline_calls): Check for no debug_stmts left-overs.
      (unsave_expr_now): Preserve debug_map.
      (copy_gimple_seq_and_replace_locals): Likewise.
      (tree_function_versioning): Check for no debug_stmts left-overs.
      Init and destroy debug_map as needed.  Split edges unconditionally.
      (build_duplicate_type): Init and destroy debug_map as needed.
      * tree-inline.h: Include gimple.h instead of pointer-set.h.
      (struct copy_body_data): Add debug_stmts and debug_map.
      * sched-int.h (struct ready_list): Add n_debug.
      (struct deps): Add last_debug_insn.
      (DEBUG_INSN_SCHED_P): New.
      (BOUNDARY_DEBUG_INSN_P): New.
      (SCHEDULE_DEBUG_INSN_P): New.
      (sd_iterator_cond): Accept empty list.
      * combine.c (create_log_links): Skip debug insns.
      (combine_instructions): Likewise.
      (cleanup_auto_inc_dec): New.  From Jakub Jelinek: Make sure the
      return value is always unshared.
      (struct rtx_subst_pair): New.
      (auto_adjust_pair): New.
      (propagate_for_debug_subst): New.
      (propagate_for_debug): New.
      (try_combine): Skip debug insns.  Propagate removed defs into
      debug insns.
      (next_nonnote_nondebug_insn): New.
      (distribute_notes): Use it.  Skip debug insns.
      (distribute_links): Skip debug insns.
      * tree-outof-ssa.c (set_location_for_edge): Likewise.
      * resource.c (mark_target_live_regs): Likewise.
      * var-tracking.c: Include cselib.h and target.h.
      (enum micro_operation_type): Add MO_VAL_USE, MO_VAL_LOC, and
      MO_VAL_SET.
      (micro_operation_type_name): New.
      (enum emit_note_where): Add EMIT_NOTE_AFTER_CALL_INSN.
      (struct micro_operation_def): Update comments.
      (decl_or_value): New type.  Use instead of decls.
      (struct emit_note_data_def): Add vars.
      (struct attrs_def): Use decl_or_value.
      (struct variable_tracking_info_def): Add permp, flooded.
      (struct location_chain_def): Update comment.
      (struct variable_part_def): Use decl_or_value.
      (struct variable_def): Make var_part a variable length array.
      (valvar_pool): New.
      (scratch_regs): New.
      (cselib_hook_called): New.
      (dv_is_decl_p): New.
      (dv_is_value_p): New.
      (dv_as_decl): New.
      (dv_as_value): New.
      (dv_as_opaque): New.
      (dv_onepart_p): New.
      (dv_pool): New.
      (IS_DECL_CODE): New.
      (check_value_is_not_decl): New.
      (dv_from_decl): New.
      (dv_from_value): New.
      (dv_htab_hash): New.
      (variable_htab_hash): Use it.
      (variable_htab_eq): Support values.
      (variable_htab_free): Free from the right pool.
      (attrs_list_member, attrs_list_insert): Use decl_or_value.
      (attrs_list_union): Adjust.
      (attrs_list_mpdv_union): New.
      (tie_break_pointers): New.
      (canon_value_cmp): New.
      (unshare_variable): Return possibly-modified slot.
      (vars_copy_1): Adjust.
      (var_reg_decl_set): Adjust.  Split out of...
      (var_reg_set): ... this.
      (get_init_value): Adjust.
      (var_reg_delete_and_set): Adjust.
      (var_reg_delete): Adjust.
      (var_regno_delete): Adjust.
      (var_mem_decl_set): Split out of...
      (var_mem_set): ... this.
      (var_mem_delete_and_set): Adjust.
      (var_mem_delete): Adjust.
      (val_store): New.
      (val_reset): New.
      (val_resolve): New.
      (variable_union): Adjust.  Speed up merge of 1-part vars.
      (variable_canonicalize): Use unshared slot.
      (VALUED_RECURSED_INTO): New.
      (find_loc_in_1pdv): New.
      (struct dfset_merge): New.
      (insert_into_intersection): New.
      (intersect_loc_chains): New.
      (loc_cmp): New.
      (canonicalize_loc_order_check): New.
      (canonicalize_values_mark): New.
      (canonicalize_values_star): New.
      (variable_merge_over_cur): New.
      (variable_merge_over_src): New.
      (dataflow_set_merge): New.
      (dataflow_set_equiv_regs): New.
      (remove_duplicate_values): New.
      (struct dfset_post_merge): New.
      (variable_post_merge_new_vals): New.
      (variable_post_merge_perm_vals): New.
      (dataflow_post_merge_adjust): New.
      (find_mem_expr_in_1pdv): New.
      (dataflow_set_preserve_mem_locs): New.
      (dataflow_set_remove_mem_locs): New.
      (dataflow_set_clear_at_call): New.
      (onepart_variable_different_p): New.
      (variable_different_p): Use it.
      (dataflow_set_different_1): Adjust.  Make detailed dump
      more verbose.
      (track_expr_p): Add need_rtl parameter.  Don't generate rtl
      if not needed.
      (track_loc_p): Pass it true.
      (struct count_use_info): New.
      (find_use_val): New.
      (replace_expr_with_values): New.
      (log_op_type): New.
      (use_type): New, partially split out of...
      (count_uses): ... this.  Count new micro-ops.
      (count_uses_1): Adjust.
      (count_stores): Adjust.
      (count_with_sets): New.
      (VAL_NEEDS_RESOLUTION): New.
      (VAL_HOLDS_TRACK_EXPR): New.
      (VAL_EXPR_IS_COPIED): New.
      (VAL_EXPR_IS_CLOBBERED): New.
      (add_uses): Adjust.  Generate new micro-ops.
      (add_uses_1): Adjust.
      (add_stores): Generate new micro-ops.
      (add_with_sets): New.
      (find_src_status): Adjust.
      (find_src_set_src): Adjust.
      (compute_bb_dataflow): Use dataflow_set_clear_at_call.
      Handle new micro-ops.  Canonicalize value equivalances.
      (vt_find_locations): Compute total size of hash tables for
      dumping.  Perform merge for var-tracking-assignments.  Don't
      disregard single-block loops.
      (dump_attrs_list): Handle decl_or_value.
      (dump_variable): Take variable.  Deal with decl_or_value.
      (dump_variable_slot): New.
      (dump_vars): Use it.
      (dump_dataflow_sets): Adjust.
      (set_slot_part): New, extended to support one-part variables
      after splitting out of...
      (set_variable_part): ... this.
      (clobber_slot_part): New, split out of...
      (clobber_variable_part): ... this.
      (delete_slot_part): New, split out of...
      (delete_variable_part): .... this.
      (check_wrap_constant): New.
      (vt_expand_loc_callback): New.
      (vt_expand_loc): New.
      (emit_note_insn_var_location): Adjust.  Handle values.  Handle
      EMIT_NOTE_AFTER_CALL_INSN.
      (emit_notes_for_differences_1): Adjust.  Handle values.
      (emit_notes_for_differences_2): Likewise.
      (emit_notes_for_differences): Adjust.
      (emit_notes_in_bb): Take pointer to set.  Emit AFTER_CALL_INSN
      notes.  Adjust.  Handle new micro-ops.
      (vt_add_function_parameters): Adjust.  Create and bind values.
      (vt_initialize): Adjust.  Initialize scratch_regs and
      valvar_pool, flooded and perm..  Initialize and use cselib.  Log
      operations.  Move some code to count_with_sets and add_with_sets.
      (delete_debug_insns): New.
      (vt_debug_insns_local): New.
      (vt_finalize): Release permp, valvar_pool, scratch_regs.  Finish
      cselib.
      (var_tracking_main): If var-tracking-assignments is enabled
      but var-tracking isn't, delete debug insns and leave.  Likewise
      if we exceed limits or fail the stack adjustments tests, and
      after all var-tracking processing.
      More in var-tracking, from Jakub Jelinek <jakub@redhat.com>:
      (dataflow_set): Add traversed_vars.
      (value_chain, const_value_chain): New typedefs.
      (value_chain_pool, value_chains): New variables.
      (value_chain_htab_hash, value_chain_htab_eq, add_value_chain,
      add_value_chains, add_cselib_value_chains, remove_value_chain,
      remove_value_chains, remove_cselib_value_chains): New functions.
      (shared_hash_find_slot_unshare_1, shared_hash_find_slot_1,
      shared_hash_find_slot_noinsert_1, shared_hash_find_1): New
      static inlines.
      (shared_hash_find_slot_unshare, shared_hash_find_slot,
      shared_hash_find_slot_noinsert, shared_hash_find): Update.
      (dst_can_be_shared): New variable.
      (unshare_variable): Unshare set->vars if shared, use shared_hash_*.
      Clear dst_can_be_shared.  If set->traversed_vars is non-NULL and
      different from set->vars, look up slot again instead of using the
      passed in slot.
      (dataflow_set_init): Initialize traversed_vars.
      (variable_union): Use shared_hash_*.  Use initially NO_INSERT
      lookup if set->vars is shared.  Don't keep slot cleared before
      calling unshare_variable.  Unshare set->vars if needed.  Adjust
      unshare_variable callers.  Clear dst_can_be_shared if needed.
      Even ->refcount == 1 vars must be unshared if set->vars is shared
      and var needs to be modified.
      (dataflow_set_union): Set traversed_vars during canonicalization.
      (VALUE_CHANGED, DECL_CHANGED): Define.
      (set_dv_changed, dv_changed_p): New static inlines.
      (track_expr_p): Clear DECL_CHANGED.
      (dump_dataflow_sets): Set it.
      (variable_was_changed): Call set_dv_changed.
      (emit_note_insn_var_location): Likewise.
      (changed_variables_stack): New variable.
      (check_changed_vars_1, check_changed_vars_2): New functions.
      (emit_notes_for_changes): Do nothing if changed_variables is
      empty.  Traverse changed_variables with check_changed_vars_1,
      call check_changed_vars_2 on each changed_variables_stack entry.
      (emit_notes_in_bb): Add SET argument.  Just clear it at the
      beginning, use it instead of local &set, don't destroy it at the
      end.
      (vt_emit_notes): Call dataflow_set_clear early on all
      VTI(bb)->out sets, never use them, instead use emit_notes_in_bb
      computed set, dataflow_set_clear also VTI(bb)->in when we are
      done with the basic block.  Initialize changed_variables_stack,
      free it afterwards.  If ENABLE_CHECKING verify that after noting
      differences to an empty set value_chains hash table is empty.
      (vt_initialize): Initialize value_chains and value_chain_pool.
      (vt_finalize): Delete value_chains htab, free value_chain_pool.
      (variable_tracking_main): Call dump_dataflow_sets before calling
      vt_emit_notes, not after it.
      * tree-flow.h (propagate_defs_into_debug_stmts): Declare.
      (propagate_var_def_into_debug_stmts): Declare.
      * df-problems.c (df_lr_bb_local_compute): Skip debug insns.
      (df_set_note): Reject debug insns.
      (df_whole_mw_reg_dead_p): Take added_notes_p argument.  Don't
      add notes to debug insns.
      (df_note_bb_compute): Adjust.  Likewise.
      (df_simulate_uses): Skip debug insns.
      (df_simulate_initialize_backwards): Likewise.
      * reg-stack.c (subst_stack_regs_in_debug_insn): New.
      (subst_stack_regs_pat): Reject debug insns.
      (convert_regs_1): Handle debug insns.
      * Makefile.in (TREE_INLINE_H): Take pointer-set.h from GIMPLE_H.
      (print-rtl.o): Depend on cselib.h.
      (cselib.o): Depend on TREE_PASS_H.
      (var-tracking.o): Depend on cselib.h and TARGET_H.
      * sched-rgn.c (rgn_estimate_number_of_insns): Discount
      debug insns.
      (init_ready_list): Skip boundary debug insns.
      (add_branch_dependences): Skip debug insns.
      (free_block_dependencies): Check for blocks with only debug
      insns.
      (compute_priorities): Likewise.
      * gimple.c (gss_for_code): Handle GIMPLE_DEBUG.
      (gimple_build_with_ops_stat): Take subcode as unsigned.  Adjust
      all callers.
      (gimple_build_debug_bind_stat): New.
      (empty_body_p): Skip debug stmts.
      (gimple_has_side_effects): Likewise.
      (gimple_rhs_has_side_effects): Likewise.
      * gimple.h (enum gimple_debug_subcode, GIMPLE_DEBUG_BIND): New.
      (gimple_build_debug_bind_stat): Declare.
      (gimple_build_debug_bind): Define.
      (is_gimple_debug): New.
      (gimple_debug_bind_p): New.
      (gimple_debug_bind_get_var): New.
      (gimple_debug_bind_get_value): New.
      (gimple_debug_bind_get_value_ptr): New.
      (gimple_debug_bind_set_var): New.
      (gimple_debug_bind_set_value): New.
      (GIMPLE_DEBUG_BIND_NOVALUE): New internal temporary macro.
      (gimple_debug_bind_reset_value): New.
      (gimple_debug_bind_has_value_p): New.
      (gsi_next_nondebug): New.
      (gsi_prev_nondebug): New.
      (gsi_start_nondebug_bb): New.
      (gsi_last_nondebug_bb): New.
      * sched-vis.c (print_pattern): Handle VAR_LOCATION.
      (print_insn): Handle DEBUG_INSN.
      * tree-cfg.c (remove_bb): Walk stmts backwards.  Let loc
      of first insn prevail.
      (first_stmt): Skip debug stmts.
      (first_non_label_stmt): Likewise.
      (last_stmt): Likewise.
      (has_zero_uses_1): New.
      (single_imm_use_1): New.
      (verify_gimple_debug): New.
      (verify_types_in_gimple_stmt): Handle debug stmts.
      (verify_stmt): Likewise.
      (debug_loop_num): Skip debug stmts.
      (remove_edge_and_dominated_blocks): Remove dominators last.
      * tree-ssa-reasssoc.c (rewrite_expr_tree): Propagate into
      debug stmts.
      (linearize_expr): Likewise.
      * config/i386/i386.c (ix86_delegitimize_address): Call
      default implementation.
      * config/ia64/ia64.c (ia64_safe_itanium_class): Handle debug
      insns.
      (group_barrier_needed): Skip debug insns.
      (emit_insn_group_barriers): Likewise.
      (emit_all_insn_group_barriers): Likewise.
      (ia64_variable_issue): Handle debug insns.
      (ia64_dfa_new_cycle): Likewise.
      (final_emit_insn_group_barriers): Skip debug insns.
      (ia64_dwarf2out_def_steady_cfa): Take frame argument.  Don't
      def cfa without frame.
      (process_set): Likewise.
      (process_for_unwind_directive): Pass frame on.
      * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
      (rs6000_delegitimize_address): New.
      (rs6000_debug_adjust_cost): Handle debug insns.
      (is_microcoded_insn): Likewise.
      (is_cracked_insn): Likewise.
      (is_nonpipeline_insn): Likewise.
      (insn_must_be_first_in_group): Likewise.
      (insn_must_be_last_in_group): Likewise.
      (force_new_group): Likewise.
      * cfgrtl.c (rtl_split_block): Emit INSN_DELETED note if block
      contains only debug insns.
      (rtl_merge_blocks): Skip debug insns.
      (purge_dead_edges): Likewise.
      (rtl_block_ends_with_call_p): Skip debug insns.
      * dce.c (deletable_insn_p): Handle VAR_LOCATION.
      (mark_reg_dependencies): Skip debug insns.
      * params.def (PARAM_MIN_NONDEBUG_INSN_UID): New.
      * tree-ssanames.c (release_ssa_name): Propagate def into
      debug stmts.
      * tree-ssa-threadedge.c
      (record_temporary_equivalences_from_stmts): Skip debug stmts.
      * regcprop.c (replace_oldest_value_addr): Skip debug insns.
      (replace_oldest_value_mem): Use ALL_REGS for debug insns.
      (copyprop_hardreg_forward_1): Handle debug insns.
      * reload1.c (reload): Skip debug insns.  Replace unassigned
      pseudos in debug insns with their equivalences.
      (eliminate_regs_in_insn): Skip debug insns.
      (emit_input_reload_insns): Skip debug insns at first, adjust
      them later.
      * tree-ssa-operands.c (add_virtual_operand): Reject debug stmts.
      (get_indirect_ref_operands): Pass opf_no_vops on.
      (get_expr_operands): Likewise.  Skip debug stmts.
      (parse_ssa_operands): Scan debug insns with opf_no_vops.
      gcc/testsuite/ChangeLog:
      * gcc.dg/guality/guality.c: New.
      * gcc.dg/guality/guality.h: New.
      * gcc.dg/guality/guality.exp: New.
      * gcc.dg/guality/example.c: New.
      * lib/gcc-dg.exp (cleanup-dump): Remove .gk files.
      (cleanup-saved-temps): Likewise, .gkd files too.
      gcc/cp/ChangeLog:
      * cp-tree.h (TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS): New.
      * cp-lang.c (cxx_dwarf_name): Pass it.
      * error.c (count_non_default_template_args): Take flags as
      argument.  Adjust all callers.  Skip counting of default
      arguments if the new flag is given.
      ChangeLog:
      * Makefile.tpl (BUILD_CONFIG): Default to bootstrap-debug.
      * Makefile.in: Rebuilt.
      contrib/ChangeLog:
      * compare-debug: Look for .gkd files and compare them.
      config/ChangeLog:
      * bootstrap-debug.mk: Add comments.
      * bootstrap-debug-big.mk: New.
      * bootstrap-debug-lean.mk: New.
      * bootstrap-debug-ckovw.mk: Add comments.
      * bootstrap-debug-lib.mk: Drop CFLAGS for stages.  Use -g0
      for TFLAGS in stage1.  Drop -fvar-tracking-assignments-toggle.
      
      From-SVN: r151312
      Alexandre Oliva committed
  25. 20 Feb, 2009 1 commit
  26. 21 Jan, 2009 1 commit
  27. 11 Oct, 2008 1 commit
    • re PR middle-end/37448 (cannot compile big function) · 57512f53
      2008-10-11  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	PR rtl-optimization/37448
      	* df.h: (df_ref_class): New enum.
      	(DF_REF_TYPE_NAMES, df_ref_extract): Removed.
      	(struct df_ref): Replaced with union df_ref_d.
      	(df_base_ref, df_artificial_ref, df_regular_ref, df_extract_ref):
      	New members of df_ref_d union.
      	(DF_REF_REAL_REG, DF_REF_REGNO, DF_REF_REAL_LOC, DF_REF_REG,
      	DF_REF_LOC, DF_REF_BB, DF_REF_INSN_INFO, DF_REF_INSN,
      	DF_REF_CLASS, DF_REF_TYPE, DF_REF_CHAIN, DF_REF_ID, DF_REF_FLAGS,
      	DF_REF_ORDER, DF_REF_IS_ARTIFICIAL, DF_REF_NEXT_REG,
      	DF_REF_PREV_REG, DF_REF_EXTRACT_WIDTH, DF_REF_EXTRACT_OFFSET,
      	DF_REF_EXTRACT_MODE): Replaced definition to access union
      	df_ref_d.
             	(DF_MWS_REG_DEF_P, DF_MWS_REG_USE_P, DF_MWS_TYPE): New macros.
      	(df_scan_bb_info, df_bb_regno_first_def_find,
      	df_bb_regno_last_def_find, df_find_def, df_find_use,
      	df_refs_chain_dump, df_regs_chain_dump, df_ref_debug,
      	debug_df_ref, df_chain_create, df_chain_unlink, df_chain_copy,
      	df_ref_create, df_ref_remove, df_compute_accessed_bytes,
      	df_get_artificial_defs, df_get_artificial_uses, union_defs)
      	Replaced struct df_ref * with df_ref.
      	* df-scan.c (df_collection_rec, df_null_ref_rec,
      	df_ref_chain_delete_du_chain, df_ref_chain_delete, df_install_ref,
      	df_grow_ref_info, df_ref_create, df_reg_chain_unlink,
      	df_ref_compress_rec, df_ref_remove, df_ref_chain_delete_du_chain,
      	df_ref_chain_delete, df_free_collection_rec, df_insn_rescan,
      	df_reorganize_refs_by_reg_by_reg,
      	df_reorganize_refs_by_reg_by_insn, df_reorganize_refs_by_reg,
      	df_ref_change_reg_with_loc_1, df_notes_rescan, df_swap_refs,
      	df_sort_and_compress_refs, df_install_ref, df_install_refs,
      	df_ref_record, df_get_conditional_uses, df_get_call_refs,
      	df_bb_refs_record, df_exit_block_uses_collect,
      	df_record_exit_block_uses, df_reg_chain_mark,
      	df_reg_chain_verify_unmarked, df_refs_verify): Replaced struct
      	df_ref * with df_ref.
      	(df_ref_record, df_uses_record, df_ref_create_structure): Added
      	df_ref_class parameter.
      	(df_scan_problem_data): Added new pools for different types of
      	refs.
      	(df_scan_free_internal, df_scan_alloc, df_free_ref,
      	df_ref_create_structure): Processed new ref pools.
      	(df_scan_start_dump): Added counts of refs and insns.
      	(df_ref_create, df_notes_rescan, df_def_record_1, df_uses_record,
      	df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
      	df_entry_block_defs_collect, df_exit_block_uses_collect): Added
      	code to pass df_ref_class down to ref creation functions.
      	(df_reg_chain_unlink, df_ref_remove, df_ref_change_reg_with_loc_1,
      	df_reg_chain_mark): Use macros to hide references to df_refs.
      	(df_ref_chain_change_bb): Removed.
      	(df_insn_change_bb): Remove calls to df_ref_insn_change_bb.
      	(df_ref_equal_p, df_ref_compare, df_ref_create_structure):
      	Enhanced to understand df_ref union structure.
      	* fwprop.c (local_ref_killed_between_p, use_killed_between,
      	all_uses_available_at, update_df, try_fwprop_subst,
      	forward_propagate_subreg, forward_propagate_and_simplify,
      	forward_propagate_into, fwprop, fwprop_addr): Replaced struct
      	df_ref * with df_ref.
      	(use_killed_between, all_uses_available_at): Use macros to hide
      	references to df_refs.
      	* regstat.c (regstat_bb_compute_ri,
      	regstat_bb_compute_calls_crossed): Replaced struct df_ref * with
      	df_ref.
      	* see.c (see_handle_relevant_defs, see_handle_relevant_uses,
      	see_handle_relevant_refs, see_analyze_one_def,
      	see_update_relevancy, see_propagate_extensions_to_uses): Replaced
      	struct df_ref * with df_ref.
      	* ra-conflict.c (record_one_conflict, clear_reg_in_live,
      	global_conflicts): Replaced struct df_ref * with df_ref.
      	* ddg.c (create_ddg_dep_from_intra_loop_link,
      	add_cross_iteration_register_deps, build_inter_loop_deps):
      	Replaced struct df_ref * with df_ref.
      	(create_ddg_dep_from_intra_loop_link,
      	add_cross_iteration_register_deps): Use macros to hide references
      	to df_refs.
      	* auto-inc-dec.c (find_inc, merge_in_block): Replaced struct
      	df_ref * with df_ref.
      	* df-core.c (df_bb_regno_first_def_find,
      	df_bb_regno_last_def_find, df_find_def, df_find_use,
      	df_refs_chain_dump, df_regs_chain_dump, df_ref_debug,
      	debug_df_ref): Replaced struct df_ref * with df_ref.
      	(df_mws_dump, df_ref_debug): Use macros to hide references to
      	df_refs.
      	* cse.c (cse_extended_basic_block): Replaced struct df_ref * with
      	df_ref.
      	* web.c (union_defs, entry_register, replace_ref, web_main):
      	Replaced struct df_ref * with df_ref.
      	(union_defs, replace_ref): Use macros to hide references to
      	df_refs.
      	* global.c (compute_regs_asm_clobbered, build_insn_chain):
      	Replaced struct df_ref * with df_ref.
      	* ifcvt.c (dead_or_predicable): Replaced struct df_ref * with
      	df_ref.
      	* sel-sched-ir.c (maybe_downgrade_id_to_use, setup_id_reg_sets, ):
      	Replaced struct df_ref * with df_ref.
      	* ira-lives.c (mark_ref_live, def_conflicts_with_inputs_p,
      	mark_ref_dead, process_bb_node_lives): Replaced struct df_ref *
      	with df_ref.
      	* local-alloc.c (block_alloc): Replaced struct df_ref * with
      	df_ref.
      	* df-byte-scan.c (df_compute_accessed_bytes_extract,
      	df_compute_accessed_bytes_strict_low_part,
      	df_compute_accessed_bytes_subreg, df_compute_accessed_bytes):
      	Replaced struct df_ref * with df_ref.
      	(df_compute_accessed_bytes): Use macros to hide references to
      	df_refs.
      	* init-regs.c (initialize_uninitialized_regs): Replaced struct
      	df_ref * with df_ref.
      	* loop-invariant.c (invariant_for_use, hash_invariant_expr_1,
      	check_dependency, check_dependencies, record_uses): Replaced
      	struct df_ref * with df_ref.
      	(invariant_for_use, check_dependency): Use macros to hide
      	references to df_refs.
      	* loop-iv.c (iv_analysis_loop_init, iv_get_reaching_def,
      	get_biv_step_1, get_biv_step, record_iv, iv_analyze_def,
      	iv_analyze, biv_p): Replaced struct df_ref * with df_ref.
      	(iv_analysis_loop_init, iv_get_reaching_def): Use macros to hide
      	references to df_refs.
      	* ira.c (compute_regs_asm_clobbered): Replaced struct df_ref * with df_ref.
      	* combine.c (create_log_links): Replaced struct df_ref * with df_ref.
      	* df-problems.c (df_rd_bb_local_compute_process_def,
      	df_lr_bb_local_compute, df_live_bb_local_compute, df_chain_create,
      	df_chain_unlink_1, df_chain_unlink, df_chain_copy,
      	df_chain_remove_problem, df_chain_create_bb_process_use,
      	df_chain_create_bb, df_chain_top_dump, df_chain_bottom_dump,
      	df_byte_lr_check_regs, df_byte_lr_bb_local_compute,
      	df_byte_lr_simulate_defs, df_byte_lr_simulate_uses,
      	df_byte_lr_simulate_artificial_refs_at_top,
      	df_byte_lr_simulate_artificial_refs_at_end, df_create_unused_note,
      	df_note_bb_compute, df_note_add_problem, df_simulate_defs,
      	df_simulate_uses, df_simulate_artificial_refs_at_end,
      	df_simulate_artificial_refs_at_top): Replaced struct df_ref * with df_ref.
      	(df_chain_dump): Use macros to hide
      	references to df_refs.
      	* config/mips/mips.c (r10k_simplify_address): Replaced struct
      	df_ref * with df_ref.
      	* dce.c (mark_nonreg_stores, delete_corresponding_reg_eq_notes,
      	mark_artificial_uses, mark_reg_dependencies,
      	byte_dce_process_block): Replaced struct df_ref * with df_ref.
      
      From-SVN: r141067
      Kenneth Zadeck committed
  28. 18 Jun, 2008 1 commit
    • df.h (struct df_ref): Replace 'insn' field with 'insn_info' field. · 50e94c7e
      	* df.h (struct df_ref): Replace 'insn' field with 'insn_info' field.
      	(DF_REF_INSN_INFO): New.
      	(DF_REF_INSN, DF_REF_INSN_UID): Rewrite macros using DF_REF_INSN_INFO.
      	(DF_REF_IS_ARTIFICIAL): Artificial refs are now identified as refs
      	with a NULL DF_REF_INSN_INFO.
      	(DF_INSN_INFO_GET, DF_INSN_INFO_SET): Renamed from DF_INSN_GET and
      	DF_INSN_SET.
      	(DF_INSN_INFO_LUID, DF_INSN_INFO_DEFS, DF_INSN_INFO_USES,
      	DF_INSN_INFO_EQ_USES): New.
      	(DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES, DF_INSN_EQ_USES,
      	DF_INSN_UID_LUID, DF_INSN_UID_DEFS, DF_INSN_UID_USES,
      	DF_INSN_UID_EQ_USES): Rewrite using DF_INSN_INFO_* macros.
      	* df-core.c: Update comment for above changes.
      	(df_insn_debug_regno): Use DF_INSN_INFO_GET instead of INSN_UID and
      	DF_INSN_UID_* macros.
      	(df_ref_debug): Check for NULL DF_REF_INSN_INFO.
      	* df-scan.c (df_ref_record): Take a df_insn_info instead of an
      	insn rtx.  Update all callers.
      	(df_def_record_1, df_defs_record, df_uses_record, df_get_call_refs,
      	df_ref_create_structure, df_insn_refs_collect): Likewise.
      	(df_ref_equal_p): Compare DF_REF_INSN_INFO pointers for the refs.
      	* df-problems.c (df_chain_dump): Test for non-NULL DF_REF_INSN_INFO.
      	(df_live_bb_local_compute): Retrieve DF_INSN_INFO, use DF_INSN_INFO_*
      	macros to access the insn refs.
      	(df_chain_top_dump, df_chain_bottom_dump, df_byte_lr_alloc): Likewise.
      	* fwprop.c (use_killed_between): Use DF_REF_INSN accessor macro.
      	(all_uses_available): Retrieve DF_INSN_INFO for def_insn, and use it
      	for accessing the refs.
      	(try_fwprop_subst): Likewise.
      	* ddg.c (add_cross_iteration_register_deps): Use DF_REF_INSN macro.
      	* web.c (union_defs): Retrieve DF_INSN_INFO for def_insn, and use it
      	for accessing the refs.
      	* loop-invariant.c (invariant_for_use): Use DF_REF_BB macro.
      	(check_dependencies): Use DF_INSN_INFO_GET, use DF_INSN_INFO_* macros
      	to look at the insn refs.
      	(record_uses): Likewise.
      	* dce.c (deletable_insn_p): Don't tolerate artificial DEFs in this
      	function anymore.
      	(mark_artificial_uses): Don't mark_insn for artificial refs.
      	(mark_reg_rependencies): Likewise.
      
      	* doc/rtl.texi: Remove documentation of ADDRESSOF.
      
      From-SVN: r136885
      Steven Bosscher committed
  29. 22 Jan, 2008 1 commit
    • re PR tree-optimization/26854 (Inordinate compile times on large routines) · 963acd6f
      2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	PR rtl-optimization/26854
      	PR rtl-optimization/34400
      	PR rtl-optimization/34884
      	* ddg.c (create_ddg_dep_from_intra_loop_link): Use
      	DF_RD->gen.
      	* df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
      	(df_rd_bb_info.expanded_lr_out): Deleted
      	* loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
      	* loop_iv.c (iv_analysis_loop_init): Ditto.  * df-problems.c
      	(df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
      	df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
      	Removed code to allocate, initialize or free expanded_lr_out.
      	(df_rd_bb_local_compute_process_def): Restructured to make more
      	understandable.
      	(df_rd_confluence_n): Removed code to no apply invalidate_by_call
      	sets if the sets are being trimmed.
      
      From-SVN: r131719
      Kenneth Zadeck committed
  30. 20 Jan, 2008 1 commit
    • re PR tree-optimization/26854 (Inordinate compile times on large routines) · 2b49e1a0
      2008-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	PR rtl-optimization/26854
      	PR rtl-optimization/34400
      	* ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
      	DF_RD->gen.
      	* df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
      	(df_rd_bb_info.expanded_lr_out): New.
      	* loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
      	* loop_iv.c (iv_analysis_loop_init): Ditto.
      	* df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
      	df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
      	Added code to allocate, initialize or free expanded_lr_out.
      	(df_rd_bb_local_compute_process_def): Restructured to make
      	more understandable.
      	(df_rd_confluence_n): Add code to do nothing with fake edges and
      	code to no apply invalidate_by_call sets if the sets are being trimmed.
      	(df_lr_local_finalize): Renamed to df_lr_finalize.
      	(df_live_local_finalize): Renamed to df_live_finalize.
      
      From-SVN: r131670
      Kenneth Zadeck committed
  31. 17 Oct, 2007 1 commit
  32. 28 Aug, 2007 1 commit
  33. 14 Aug, 2007 1 commit
    • sched-int.h (struct _dep): Rename field 'kind' to 'type'. · e2f6ff94
      	* sched-int.h (struct _dep): Rename field 'kind' to 'type'.
      	(DEP_KIND): Rename to DEP_TYPE.  Update all uses.
      	(dep_def): New typedef.
      	(init_dep_1, sd_debug_dep): Declare functions.
      	(DEP_LINK_KIND): Rename to DEP_LINK_TYPE.
      	(debug_dep_links): Remove.
      	(struct _deps_list): New field 'n_links'.
      	(DEPS_LIST_N_LINKS): New macro.
      	(FOR_EACH_DEP_LINK): Remove.
      	(create_deps_list, free_deps_list, delete_deps_list): Remove
      	declaration.
      	(deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto.
      	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
      	(copy_deps_list_change_con, move_dep_link): Ditto.
      	(struct haifa_insn_data): Split field 'back_deps' into 'hard_back_deps'
      	and 'spec_back_deps'.  New field 'resolved_forw_deps'.  Remove field
      	'dep_count'.
      	(INSN_BACK_DEPS): Remove.
      	(INSN_HARD_BACK_DEPS, INSN_SPEC_BACK_DEPS, INSN_RESOLVED_FORW_DEPS):
      	New macros.
      	(INSN_DEP_COUNT): Remove.
      	(enum DEPS_ADJUST_RESULT): Add new constant DEP_NODEP.  Fix comments.
      	(spec_info, haifa_recovery_block_was_added_during_scheduling_p):
      	Declare global variables.
      	(deps_pools_are_empty_p, sched_free_deps): Declare functions.
      	(add_forw_dep, compute_forward_dependences): Remove declarations.
      	(add_or_update_back_dep, add_or_update_back_forw_dep): Ditto.
      	(add_back_forw_dep, delete_back_forw_dep): Ditto.
      	(debug_ds, sched_insn_is_legitimate_for_speculation_p): Declare
      	functions.
      	(SD_LIST_NONE, SD_LIST_HARD_BACK, SD_LIST_SPEC_BACK, SD_LIST_FORW): New
      	constants.
      	(SD_LIST_RES_BACK, SD_LIST_RES_FORW, SD_LIST_BACK): Ditto.
      	(sd_list_types_def): New typedef.
      	(sd_next_list): Declare function.
      	(struct _sd_iterator): New type.
      	(sd_iterator_def): New typedef.
      	(sd_iterator_start, sd_iterator_cond, sd_iterator_next): New inline
      	functions.
      	(FOR_EACH_DEP): New cycle wrapper.
      	(sd_lists_size, sd_lists_empty_p, sd_init_insn, sd_finish_insn):
      	Declare functions.
      	(sd_find_dep_between, sd_add_dep, sd_add_or_update_dep): Ditto.
      	(sd_resolve_dep, sd_copy_back_deps, sd_delete_dep, sd_debug_lists):
      	Ditto.
      
      	* sched-deps.c (init_dep_1): Make global.
      	(DUMP_DEP_PRO, DUMP_DEP_CON, DUMP_DEP_STATUS, DUMP_DEP_ALL): New
      	constants.
      	(dump_dep): New static function.
      	(dump_dep_flags): New static variable.
      	(sd_debug_dep): New function.
      	(add_to_deps_list, remove_from_deps_list): Update 'n_links' field of
      	the list.
      	(move_dep_link): Use remove_from_deps_list (), instead of
      	detach_dep_link ().
      	(dep_links_consistent_p, dump_dep_links, debug_dep_links): Remove.
      	(dep_link_is_detached_p): New static function.
      	(deps_obstack, dl_obstack, dn_obstack): Remove.  Use dn_pool, dl_pool
      	instead.
      	(dn_pool, dl_pool): New alloc_pools.
      	(dn_pool_diff, dl_pool_diff): New static variables.
      	(create_dep_node, delete_dep_node): New static function.
      	(create_deps_list): Make it static.  Use alloc_pool 'dl_pool'.
      	(deps_list_empty_p): Make it static.  Use 'n_links' field.
      	(deps_pools_are_empty_p): New static function.
      	(alloc_deps_list, delete_deps_list): Remove.
      	(dump_deps_list, debug_deps_list, add_back_dep_to_deps_list): Remove.
      	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
      	(copy_deps_list_change_con): Remove.  Use sd_copy_back_deps () instead.
      	(forward_dependency_cache): Remove.
      	(maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Remove
      	'back' from the names.  Change signature to use dep_t instead of
      	equivalent quad.
      	(add_back_dep): Ditto.  Make global.
      	(check_dep_status): Rename to check_dep ().
      	(sd_next_list, sd_lists_size, sd_lists_empty_p, sd_init_insn):
      	New functions.
      	(sd_finish_insn): Ditto.
      	(sd_find_dep_between_no_cache): New static function.
      	(sd_find_dep_between): New function.
      	(ask_dependency_caches, set_dependency_caches): New static functions.
      	(update_dependency_caches, change_spec_dep_to_hard, update_dep): Ditto.
      	(add_or_update_dep_1): Separate pieces of functionality into
      	ask_dependency_caches (), update_dependency_caches (),
      	change_spec_dep_to_hard (), update_dep ().
      	(get_back_and_forw_lists): New static function.
      	(sd_add_dep): Separate setting of dependency caches into
      	set_dependency_caches ().
      	(sd_add_or_update_dep, sd_resolve_dep, sd_copy_back_deps):
      	New functions.
      	(sd_delete_dep): Ditto.
      	(DUMP_LISTS_SIZE, DUMP_LISTS_DEPS, DUMP_LISTS_ALL): New constants.
      	(dump_lists): New static function.
      	(sd_debug_lists): New debug function.
      	(delete_all_dependences, fixup_sched_groups): Update to use
      	sd_* infrastructure.
      	(sched_analyze_2): Create data-speculative dependency only if
      	data-speculation is enabled.
      	(sched_analyze_insn): If insn cannot be speculative, make all its
      	dependencies non-speculative.
      	(sched_analyze): Use sd_init_insn ().
      	(add_forw_dep, compute_forward_dependencies): Remove.
      	(delete_dep_nodes_in_back_deps): New static function.
      	(sched_free_deps): New function.
      	(init_dependency_caches): Init alloc_pools.
      	(extend_depedency_caches): Update after removing of
      	forward_dependency_cache.
      	(free_dependency_caches): Ditto.  Free alloc_pools.
      	(adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Remove.
      	(delete_forw_dep, add_or_update_back_dep, add_or_update_back_forw_dep):
      	Ditto.
      	(add_back_forw_dep, delete_back_forw_dep): Ditto.
      	(add_dependence): Use init_dep ().
      	(get_dep_weak_1): New static function.
      	(get_dep_weak): Move logic to get_dep_weak_1 ().
      	(dump_ds): New static function moved from haifa-sched.c:
      	debug_spec_status ().
      	(debug_ds): New debug function.
      	(check_dep_status): Rename to check_dep ().  Update to check whole
      	dependencies.
      
      	* haifa-sched.c (spec_info): Make global.
      	(added_recovery_block_p): Rename to
      	'haifa_recovery_block_was_added_during_current_schedule_block_p'.
      	(haifa_recovery_block_was_added_during_scheduling_p): New variable.
      	(dep_cost, priority, rank_for_schedule, schedule_insn): Update
      	to use new interfaces.
      	(ok_for_early_queue_removal): Ditto.
      	(schedule_block): Initialize logical uids of insns emitted by the
      	target.
      	(sched_init): Initialize new variable.
      	(fix_inter_tick, try_ready, fix_tick_ready): Update to use new
      	interfaces.
      	(extend_global): Initialize insn data.
      	(init_h_i_d): Remove code that is now handled in sd_init_insn ().
      	(process_insn_forw_deps_be_in_spec): Change signature.  Update to use
      	new interfaces.
      	(add_to_speculative_block): Update to use new interfaces.
      	(create_recovery_block): Set new variables.
      	(create_check_block_twin, fix_recovery_deps): Update to use new
      	interfaces.
      	(sched_insn_is_legitimate_for_speculation_p): New function.
      	(speculate_insn): Move checking logic to
      	sched_insn_is_legitimate_for_speculation_p ().
      	(sched_remove_insn): Finalize sched-deps information of instruction.
      	(clear_priorities, add_jump_dependencies): Update to use new
      	interfaces.
      	(debug_spec_status): Rename to dump_ds () and move to sched-deps.c.
      	
      	* sched-rgn.c (set_spec_fed, find_conditional_protection): Update
      	to use new interfaces.
      	(is_conditionally_protected, is_pfree, is_prisky) Ditto.
      	(new_ready): Try to use control speculation only if it is available.
      	(add_branch_dependences): Update to use new interfaces.
      	(compute_block_backward_dependences): Rename to
      	compute_block_dependences ().  Call
      	targetm.sched.dependencies_evaluation_hook ().
      	(free_block_dependencies): New static function.
      	(debug_dependencies): Update to use new interfaces.
      	(schedule_region): Remove separate computation of forward dependencies.
      	Move call of targetm.sched.dependencies_evaluation_hook () to
      	compute_block_dependences ().  Free dependencies at the end of
      	scheduling the region.
      
      	* sched-ebb.c (earliest_block_with_similiar_load): Update to use
      	new interfaces.
      	(add_deps_for_risky_insns): Ditto.
      	(schedule_ebb): Remove separate computation of forward dependencies.
      	Free dependencies at the end of	scheduling the ebb.
      
      	* ddg.c (create_ddg_dependence): Update to use new interfaces.
      	(build_intra_loop_deps): Ditto.  Remove separate computation of forward
      	dependencies.  Free sched-deps dependencies.
      
      	* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Update
      	to use new interfaces.
      	(ia64_dfa_new_cycle, ia64_gen_check): Ditto.
      
      	* config/rs6000/rs6000.c (rs6000_is_costly_dependence): Update to use
      	new interfaces.
      	(is_costly_group): Ditto.
      
      From-SVN: r127405
      Maxim Kuvyrkov committed
  34. 08 Aug, 2007 1 commit
  35. 05 Aug, 2007 1 commit
  36. 31 Jul, 2007 2 commits
  37. 30 Jul, 2007 1 commit
    • alias.c (record_set, [...]): Constify. · 7bc980e1
      	* alias.c (record_set, memory_modified_1): Constify.
      	* bt-load.c (note_btr_set): Likewise.
      	* caller-save.c (mark_set_regs, add_stored_regs): Likewise.
      	* combine.c (set_nonzero_bits_and_sign_copies,
      	expand_field_assignment, record_dead_and_set_regs_1,
      	use_crosses_set_p, reg_dead_at_p_1, can_combine_p,
      	likely_spilled_retval_1): Likewise.
      	* config/frv/frv.c (frv_registers_update_1, frv_io_check_address,
      	frv_io_handle_set): Likewise.
      	* config/mips/mips.c (mips_sim_record_set,
      	vr4130_true_reg_dependence_p_1): Likewise.
      	* config/mt/mt.c (insn_dependent_p_1): Likewise.
      	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
      	* config/sh/sh.c (flow_dependent_p_1): Likewise.
      	* cselib.c (cselib_invalidate_rtx_note_stores): Likewise.
      	* dce.c (mark_nonreg_stores_1, mark_nonreg_stores_2): Likewise.
      	* ddg.c (mark_mem_store): Likewise.
      	* df-problems.c (df_urec_mark_reg_change): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* gcse.c (record_set_info, record_last_set_info,
      	mems_conflict_for_gcse_p, canon_list_insert, reg_set_info,
      	reg_clear_last_set): Likewise.
      	* global.c (mark_reg_store, mark_reg_clobber, reg_becomes_live):
      	Likewise.
      	* jump.c (reversed_comparison_code_parts): Likewise.
      	* local-alloc.c (validate_equiv_mem_from_store, no_equiv,
      	reg_is_set): Likewise.
      	* loop-iv.c (mark_altered): Likewise.
      	* mode-switching.c (reg_becomes_live): Likewise.
      	* optabs.c (no_conflict_move_test): Likewise.
      	* postreload-gcse.c (record_last_set_info, find_mem_conflicts):
      	Likewise.
      	* postreload.c (reload_combine_note_store, move2add_note_store):
      	Likewise.
      	* regmove.c (flags_set_1): Likewise.
      	* regrename.c (note_sets, kill_clobbered_value, kill_set_value):
      	Likewise.
      	* reload1.c (mark_not_eliminable, forget_old_reloads_1):
      	Likewise. 
      	* resource.c (update_live_status): Likewise.
      	* rtl.h (set_of, note_stores): Likewise.
      	* rtlanal.c (set_of_1, parms_set, struct set_of_data, set_of,
      	note_stores, parms_set): Likewise.
      	* sched-rgn.c (sets_likely_spilled_1): Likewise.
      	* stack-ptr-mod.c (notice_stack_pointer_modification_1):
      	Likewise. 
      	* var-tracking.c (count_stores, add_stores): Likewise.
      
      From-SVN: r127065
      Kaveh R. Ghazi committed