1. 22 May, 2006 1 commit
  2. 20 Mar, 2006 1 commit
    • function.h (struct function): Rename to x_stack_check_probe_note. · ede497cf
      	* function.h (struct function) <x_tail_recursion_reentry>:
      	Rename to x_stack_check_probe_note.
      	(tail_recursion_reentry): Rename to stack_check_probe_note.
      	* function.c: Replace tail_recursion_reentry with
      	stack_check_probe_note everywhere.
      	(expand_function_start): Only emit a note for
      	stack_check_probe_note with -fstack-protect.
      	* stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
      
      	* emit-rtl.c (remove_unnecessary_notes): Remove.
      	(pass_remove_unnecessary_notes): Remove.
      	* rtl.h (remove_unnecessary_notes): Remove prototype.
      	* final.c (final_start_function): Don't call remove_unnecessary_notes.
      	* tree-pass.h (pass_remove_unnecessary_notes): Remove.
      	* passes.c (pass_remove_unnecessary_notes): Don't run it.
      
      From-SVN: r112229
      Steven Bosscher committed
  3. 13 Mar, 2006 2 commits
  4. 18 Feb, 2006 1 commit
  5. 13 Feb, 2006 1 commit
    • re PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in switches) · feb04780
      	PR middle-end/25724
      	* dojump.c (do_jump): Call do_compare_rtx_and_jump.
      	(do_jump_parts_zero_rtx): New function renamed from
      	do_jump_parts_equality_rtx.  Made static.  Add a mode argument.
      	(do_jump_parts_equality_rtx): New function split out from
      	do_jump_parts_equality.  Old implementation renamed as above.
      	Call do_jump_parts_zero_rtx if either operand is zero.
      	(do_jump_parts_equality): Call do_jump_parts_equality_rtx to
      	do all of the heavy lifting.
      	(do_compare_rtx_and_jump): Handle multi-word comparisons by
      	calling either do_jump_by_parts_greater_rtx or
      	do_jump_by_parts_equality_rtx.
      	* expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
      	* expmed.c (do_cmp_and_jump): Now multi-word optimization has
      	moved to do_compare_rtx_and_jump, call it directly.
      	* stmt.c (do_jump_if_equal): Remove static prototype.  Add a
      	mode argument.  Call do_compare_rtx_and_jump.
      	(emit_case_nodes): Update calls to do_jump_if_equal.
      
      From-SVN: r110906
      Roger Sayle committed
  6. 09 Feb, 2006 1 commit
    • re PR inline-asm/16194 (global register with inline-asm and clobered) · 91b4415a
      PR inline-asm/16194
      
      gcc:
      	* tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
      	(tree_overlaps_hard_reg_set): Declare.
      	* stmt.c (decl_overlaps_hard_reg_set_p): Now static.  Change return
      	type and signature to match function type expected by walk_tree.
      	(tree_overlaps_hard_reg_set): New function.
      	(decl_conflicts_with_clobbers_p): Rename to:
      	(tree_conflicts_with_clobbers_p).  Take HARD_REG_SET * argument.
      	Use tree_overlaps_hard_reg_set.  Changed caller.
      	* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
      	decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
      	* cris.c (cris_md_asm_clobbers): Likewise.
      
      gcc/testsuite:
      	* gcc.dg/pr16194.c: New test.
      
      From-SVN: r110810
      J"orn Rennecke committed
  7. 31 Jan, 2006 1 commit
    • expr.h (expand_normal): new inline function. · 84217346
      2006-01-30  Marcin Dalecki  <martin@dalecki.de>
      
      	* expr.h (expand_normal): new inline function.
      	* builtins.c: use it, use EXPAND_NORMAL explicitely.
      	* dojump.c: use it.
      	* dwarf2out.c: use it.
      	* expr.c: use it.
      	* calls.c: use it.
      	* expmed.c: use it.
      	* except.c: use it.
      	* config/sparc/sparc.c: use it.
      	* config/i386/i386.c: use it.
      	* config/rs6000/rs6000.c: use it.
      	* config/arm/arm.c: use it.
      	* config/mips/mips.c: use it.
      	* stmt.c: use it, use EXPAND_NORMAL explicitely.
      
      From-SVN: r110428
      Marcin Dalecki committed
  8. 20 Jan, 2006 1 commit
  9. 03 Jan, 2006 1 commit
  10. 06 Aug, 2005 1 commit
  11. 25 Jun, 2005 1 commit
  12. 01 Jun, 2005 2 commits
    • stmt.c (expand_case): Use build_int_cst. · 3bedcc89
      2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>
      
      	* stmt.c (expand_case): Use build_int_cst.
      	(node_has_low_bound): Likewise, and correct type mismatch.
      	(node_has_high_bound): Likewise.
      	* fold-const.c (fold_binary): Ensure we build trees
      	with the correct types - undo what STRIP_NOPS possibly did.
      
      From-SVN: r100459
      Richard Guenther committed
    • common.opt (fjump-tables): New. · 82c0180d
      	* common.opt (fjump-tables): New.
      	* doc/invoke.texi (-fno-jump-tables): Document.
      	* stmt.c (expand_end_case_type): Do not emit jump tables unless
      	flag_jump_tables.
      
      From-SVN: r100457
      Joseph Myers committed
  13. 09 May, 2005 1 commit
  14. 27 Apr, 2005 1 commit
  15. 23 Apr, 2005 1 commit
    • diagnostic.c (warning): Accept parameter to classify warning option. · d4ee4d25
      * diagnostic.c (warning): Accept parameter to classify warning option.
      (warning0): New, for when a pointer to an error() like function is needed.
      * errors.c (warning): Likewise.
      * errors.h (warning, warning0): Adjust prototypes.
      * toplev.h (warning, warning0): Likewise.
      
      * attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
      c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c,
      c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c,
      fold-const.c, fortran/trans-decl.c, function.c, gcse.c,
      genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
      reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
      tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
      tree-ssa.c, tree.c, varasm.c: Adjust warning() callers.
      
      * config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
      config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c,
      config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c,
      config/darwin.c, config/darwin.h, config/h8300/h8300.c,
      config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
      config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
      config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
      config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c,
      config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h,
      config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h,
      config/rs6000/aix52.h, config/rs6000/darwin.h,
      config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
      config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
      config/sh/symbian.c, config/sol2-c.c, config/sol2.c,
      config/stormy16/stormy16.c, config/v850/v850-c.c,
      config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
      callers.
      
      * ada/misc.c: Adjust warning() callers.
      
      * cp/call.c, cp/class.c, cp/cvt.c, cp/decl.c, cp/decl2.c,
      cp/except.c, cp/friend.c, cp/init.c, cp/lex.c, cp/mangle.c,
      cp/method.c, cp/name-lookup.c, cp/parser.c, cp/repo.c, cp/rtti.c,
      cp/tree.c, cp/typeck.c, cp/typeck2.c: Adjust warning() callers.
      
      * fortran/trans-decl.c: Adjust warning() callers.
      
      * java/class.c, java/decl.c, java/expr.c, java/jcf-io.c,
      java/jcf-parse.c, java/jv-scan.c, java/parse.y: Adjust warning()
      callers.
      
      * objc/objc-act.c: Adjust warning() callers.
      
      * treelang/parse.y: Adjust warning() callers.
      
      From-SVN: r98633
      DJ Delorie committed
  16. 23 Mar, 2005 1 commit
    • tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not imply that this is… · 61158923
      tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not imply that this is called once, independent of asms in code.
      
      	* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not
      	imply that this is called once, independent of asms in code.
      	Adjust to now being pased output and input lists.  Mention helper
      	function decl_overlaps_hard_reg_set_p.
      	* hooks.c (hook_tree_tree_tree_tree_3rd_identity): Rename from
      	hook_tree_tree_identity and to take three trees, returning third.
      	* hooks.h (hook_tree_tree_tree_tree_3rd_identity): Adjust the
      	prototype.
      	* stmt.c: include hard-reg-set.h before tree.h.
      	(decl_overlaps_hard_reg_set_p): New function, broken out from...
      	(decl_conflicts_with_clobbers_p): Call
      	decl_overlaps_hard_reg_set_p.
      	(expand_asm_operands): Pass output and input lists in call to
      	targetm.md_asm_clobbers.
      	* target-def.h (TARGET_MD_ASM_CLOBBERS): Define as
      	hook_tree_tree_tree_tree_3rd_identity.
      	* target.h (struct gcc_target.md_asm_clobbers): Take three tree
      	parameters.
      	* tree.h [HARD_CONST] (decl_overlaps_hard_reg_set_p): Prototype.
      	* config/i386/i386.c (ix86_md_asm_clobbers): Adjust to three
      	parameters, first two unused.
      	* config/cris/cris.c (cris_md_asm_clobbers): Adjust to added
      	parameters.  Only add MOF to clobbers if there's no 'h' mentioned
      	in constraint letters and MOF is not mentioned as a asm-declared
      	register in neither of the input and output lists.
      
      From-SVN: r96923
      Hans-Peter Nilsson committed
  17. 11 Mar, 2005 1 commit
  18. 10 Mar, 2005 1 commit
  19. 18 Feb, 2005 2 commits
  20. 17 Feb, 2005 2 commits
    • bt-load.c, [...]: Update copyright. · c8d3e15a
      	* bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
      	loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
      	tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
      	config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
      	Update copyright.
      
      From-SVN: r95202
      Kazu Hirata committed
    • bitmap.h (BITMAP_XMALLOC, [...]): Remove. · 8bdbfff5
      	* bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
      	* bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
      	BITMAP_FREE.
      	* bt-load.c (btr_def_live_range, combine_btr_defs,
      	migrate_btr_def, migrate_btr_defs): Likewise.
      	* cfgcleanup.c (thread_jump): Likewise.
      	* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
      	* df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
      	df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
      	df_rd_local_compute, df_reg_info_compute): Likewise.
      	* dominance.c (init_dom_info, free_dom_info): Likewise.
      	* flow.c (init_propagate_block_info,
      	free_propagate_block_info): Likewise.
      	* gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
      	* global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
      	modify_reg_pav): Likewise.
      	* loop-invariant.c (find_defs, find_invariant_insn,
      	find_invariants, free_inv_motion_data): Likewise.
      	* predict.c (tree_predict_by_opcode,
      	estimate_bb_frequencies): Likewise.
      	* stmt.c (expand_case): Likewise.
      	* tree-cfg.c (tree_duplicate_sese_region): Likewise.
      	* tree-dfa.c (mark_new_vars_to_rename): Likewise.
      	* tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
      	* tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
      	get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
      	rewrite_ssa_into_ssa): Likewise.
      	* tree-optimize.c (tree_rest_of_compilation): Likewise.
      	* tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
      	analyze_edges_for_bb, perform_edge_inserts): Likewise.
      	* tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
      	* tree-sra.c (tree_sra): Likewise.
      	* tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
      	* tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
      	* tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
      	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
      	* tree-ssa-dse.c (tree_ssa_dse): Likewise.
      	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
      	Likewise.
      	* tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
      	calculate_live_on_entry, calculate_live_on_exit,
      	build_tree_conflict_graph): Likewise.
      	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
      	record_important_candidates, set_use_iv_cost, find_depends,
      	determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
      	tree_ssa_iv_optimize_finalize): Likewise.
      	* tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
      	find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
      	tree_duplicate_loop_to_header_edge): Likewise.
      	* tree-ssa-pre.c (init_pre, fini_pre): Likewise.
      	* tree-ssa.c (verify_flow_insensitive_alias_info,
      	verify_name_tags, verify_ssa, init_tree_ssa,
      	delete_tree_ssa): Likewise.
      	* tree-ssanames.c (marked_ssa_names, init_ssanames,
      	fini_ssanames): Likewise.
      	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
      
      From-SVN: r95172
      Nathan Sidwell committed
  21. 13 Dec, 2004 1 commit
  22. 29 Nov, 2004 1 commit
    • cfgcleanup.c (outgoing_edges_match, [...]): Remove CASE_DROPS_THROUGH checks, it is never defined. · 6be85b25
      	* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
      	Remove CASE_DROPS_THROUGH checks, it is never defined.
      	* cfglyout.c (fixup_reorder_chain): Likewise.
      	* cfgrtl.c (rtl_verify_flow_info): Likewise.
      	* stmt.c (expand_case): Likewise.
      	* cfgbuild.c (make_edges): Likewise.  Also remove force_fallthru,
      	it is now always 0.
      	* system.h (CASE_DROPS_THROUGH): Poison.
      	* doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
      	* doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
      
      	* config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH.
      
      From-SVN: r91488
      Steven Bosscher committed
  23. 24 Nov, 2004 1 commit
    • optabs.h (force_expand_binop): Declare. · bef5d8b6
      	* optabs.h (force_expand_binop): Declare.
      	* optabs.c (force_expand_binop): Export.
      	* stmt.c (shift_return_value): Delete.
      	(expand_return): Don't call it.
      	* expr.h (shift_return_value): Declare.
      	* calls.c (shift_returned_value): Delete in favor of...
      	(shift_return_value): ...this new function.  Leave the caller to check
      	for non-BLKmode values passed in the msb of a register.  Take said mode
      	and a shift direction as argument.  Operate on the hard function value,
      	not a pseudo.
      	(expand_call): Adjust accordingly.
      	* function.c (expand_function_start): If a non-BLKmode return value
      	is padded at the last significant end of the return register, use the
      	return value's natural mode for the DECL_RESULT, not the mode of the
      	padded register.
      	(expand_function_end): Shift the same sort of return values left by
      	the appropriate amount.
      
      From-SVN: r91187
      Richard Sandiford committed
  24. 11 Nov, 2004 1 commit
  25. 04 Nov, 2004 1 commit
  26. 03 Nov, 2004 1 commit
  27. 26 Oct, 2004 3 commits
  28. 25 Oct, 2004 1 commit
  29. 24 Oct, 2004 1 commit
  30. 22 Oct, 2004 1 commit
  31. 19 Oct, 2004 1 commit
  32. 14 Oct, 2004 1 commit
  33. 11 Oct, 2004 1 commit
    • re PR middle-end/17657 (ICE in expand_case) · eb172681
      	PR middle-end/17657
      	* stmt.c (add_case_node): Add additional type argument.  Declare
      	as static to match prototype.  Convert the upper and lower bounds
      	to the specified index type.  Optimize away case ranges/values
      	that are outside the index type's bounds.  Truncate case ranges
      	that span the index type's bounds.
      	(expand_case): Avoid unnessary computation and memory allocation
      	when index type is error_mark_node.  Pass index_type as required
      	by change to add_case_node API.  No need to convert case range
      	bounds to index_type, this is now done by add_case_node.
      
      	* gcc.dg/switch-4.c: New test case.
      
      From-SVN: r88881
      Roger Sayle committed
  34. 08 Oct, 2004 1 commit