1. 14 Aug, 2002 1 commit
    • reload.c (find_reloads): Handle constraint letters marked by EXTRA_ADDRESS_CONSTRAINT and... · ccfc6cc8
      	* reload.c (find_reloads): Handle constraint letters marked by
      	EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
      	(alternative_allows_memconst): Likewise.
      	* reload1.c (maybe_fix_stack_asms): Likewise.
      	* recog.c (asm_operand_ok, preprocess_constraints,
      	constrain_operands): Likewise.
      	* regclass.c (record_operand_costs, record_reg_classes): Likewise.
      	* local-alloc.c (block_alloc, requires_inout): Likewise.
      	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
      
      	* defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
      	(EXTRA_ADDRESS_CONSTRAINT): Likewise.
      	* doc/tm.texi: Document these two new target macros.
      
      	* config/s390/s390.c (s390_expand_plus_operand): Accept already
      	valid operands.
      	(q_constraint): New function.
      	config/s390/s390-protos.h (q_constraint): Declare it.
      	config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
      	(EXTRA_MEMORY_CONSTRAINT): New macro.
      
      	* config/s390/s390.md: Throughout the machine description,
      	replace all instances of the constraint combinations 'Qo'
      	or 'oQ' with simply 'Q'.
      
      From-SVN: r56291
      Ulrich Weigand committed
  2. 23 Jul, 2002 2 commits
  3. 28 Jun, 2002 1 commit
  4. 11 Jun, 2002 1 commit
    • Delete SEQUENCE rtl usage outside of reorg and ssa passes. · 2f937369
      2002-06-05  David S. Miller  <davem@redhat.com>
      
      	Delete SEQUENCE rtl usage outside of reorg and ssa passes.
      	* rtl.h (gen_sequence, emit_insns, emit_insns_before,
      	emit_insns_before_scope, emit_insns_after,
      	emit_insns_after_scope): Delete declaration.
      	* ada/misc.c (insert_code_for): Use emit_insn* instead of
      	emit_insns_foo.
      	* config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
      	(alpha_set_memflags): Fix comment.
      	(set_frame_related_p): Use get_insns instead of gen_sequence.
      	* config/alpha/alpha.md (setjmp receiver splitter): Avoid
      	emitting no insns.
      	* config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
      	gen_sequence.
      	(arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
      	* config/fr30/fr30.c (fr30_move_double): Likewise.
      	* config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
      	Likewise.
      	* config/ia64/ia64.c (spill_restore_mem): Likewise.
      	* config/ia64/ia64.md (conditional move spliiter): Avoid emitting
      	no insns.
      	* config/m32r/m32r.c (gen_split_move_double): Use get_insns
      	instead of gen_sequence.
      	* config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
      	(mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
      	* config/sh/sh.c (sh_need_epilogue): Likewise.
      	* config/sparc/sparc.md (current_function_calls_alloca, flat): New
      	attributes.
      	(setjmp pattern and split): Use them to avoid splitter which emits
      	no RTL.
      	* genattrtab.c (main): Emit include of function.h
      	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
      	get_insns instead of gen_sequence.
      	* config/cris/cris.c (cris_split_movdx): Likewise.
      	* emit-rtl.c (emit_insns*): Kill.
      	(try_split): Expect insn list instead of SEQUENCE.
      	(make_jump_insn_raw, make_call_insn_raw): Fix comments.
      	(emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
      	Make them abort if a SEQUENCE is given and RTL checking is
      	enabled.
      	(emit_*_scope): Don't forget to set scope on final insn.
      	(gen_sequence): Move from here...
      	* ssa.c (gen_sequence): To here as private function.
      	* builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
      	comments.
      	(expand_builtin_return, expand_builtin_mathfn): Likewise.
      	(expand_builtin_strlen): Use get_insns instead of gen_sequence.
      	(expand_builtin_saveregs): Use emit_insn_foo, fix comments.
      	(expand_builtin_expect_jump): Use get_insns and fix comments.
      	* calls.c (try_to_integrate): Use emit_insn_foo.
      	(expand_call, emit_library_call_value_1): Likewise.
      	* expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
      	(emit_move_insn_1): Use get_insns instead of gen_sequence.
      	(expand_expr): Use emit_insn_foo.
      	* cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
      	* except.c (build_post_landing_pads): Likewise.
      	* flow.c (attempt_auto_inc): Likewise.
      	* stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
      	expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
      	* function.c (fixup_var_refs_insn): Use get_insns instead of
      	gen_sequence.
      	(fixup_var_refs_1): Likewise and expect insn list from gen_foo.
      	(fixup_memory_subreg): Use get_insns instead of gen_sequence.
      	(fixup_stack_1, purge_addressof_1, expand_main_function,
      	get_arg_pointer_save_area): Likewise.
      	(optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
      	expand_function_end): Use emit_insn_foo.
      	(record_insns, keep_stack_depressed): Work with insn list instead
      	of SEQUENCE, fix comments.
      	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
      	noce_try_store_flag_constants, noce_try_store_flag_inc,
      	noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
      	noce_try_minmax, noce_try_abs): Use emit_insn_foo.
      	(noce_process_if_block): Use get_insns instead of gen_sequence.
      	* optabs.c (add_equal_note): Work with insn list, fix comments.
      	(expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
      	(expand_unop, expand_complex_abs, expand_unop_insn,
      	expand_no_conflict_block): Likewise.
      	(gen_move_insn): Use get_insns instead of gen_sequence.
      	(gen_cond_trap): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	(emit_initial_value_sets): Use emit_insn_foo.
      	* reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
      	(fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
      	now that RTL generators give insn lists.
      	* sibcall.c (replace_call_placeholder): Use emit_insn_foo.
      	* doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
      	instead of gen_sequence.
      	(doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
      	* explow.c (emit_stack_save, emit_stack_restore): Use get_insns
      	instead of gen_sequence.
      	* loop.c (move_movables, emit_prefetch_instructions,
      	gen_add_mult, check_dbra_loop, gen_load_of_final_value):
      	Likewise.
      	(loop_regs_update): Work with insn list instead of SEQUENCE rtl.
      	(product_cheap_p): Likewise, and add commentary about RTL wastage
      	here.
      	* lcm.c (optimize_mode_switching): Use get_insns instead of
      	gen_sequence.
      	* profile.c (gen_edge_profiler): Likewise.
      	* regmove.c (copy_src_to_dest): Likewise.
      	* reg-stack.c (compensate_edge): Likewise and fix comment.
      	* gcse.c (process_insert_insn): Likewise.
      	(insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
      	* jump.c (delete_prior_computation): Update comment.
      	* genemit.c (gen_expand, gen_split, main): Use get_insns instead
      	of gen_sequence, update comments to match.
      	* recog.c (peephole2_optimize): Work with insn lists instead of
      	SEQUENCE rtl.
      	* sched-vis.c (print_pattern): Abort on SEQUENCE.
      	* unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
      	Use get_insns instead of gen_sequence.
      	(copy_loop_body): Likewise and don't emit dummy NOTE.
      	* genrecog.c: Don't mention SEQUENCE rtl in comments.
      	* combine.c (try_combine): Expect insn lists from split generator.
      	* reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
      	hand.
      
      From-SVN: r54497
      David S. Miller committed
  5. 06 Jun, 2002 1 commit
    • i386.md (and promoting splitters): Disable QI to SImode promoting when doing so… · 0d682900
      i386.md (and promoting splitters): Disable QI to SImode promoting when doing so changes immediate to be 32bit.
      
      
      	* i386.md (and promoting splitters): Disable QI to SImode promoting
      	when doing so changes immediate to be 32bit.
      
      	* rtl.h (emit_*_scope): Declare.
      	* emit-rtl.c (emit_*_scope): New global functions.
      	(try_split): Copy scope.
      	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
      	noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
      	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
      	noce_process_if_block, find_cond_trap): Copy scopes.
      	* recog.c (peephole2_optimize): likewise.
      
      From-SVN: r54327
      Jan Hubicka committed
  6. 02 Jun, 2002 1 commit
    • loop.c (emit_prefetch_instructions): Properly place the address computation. · ba4f7968
      
      	* loop.c (emit_prefetch_instructions): Properly place the address computation.
      
      
      	* basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
      	(set_block_for_insn): Turn into macro.
      	* cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
      	* cfglayout.c (insn_scopes): Kill.
      	(scope_to_insns_initialize): Do not use insn_scopes.
      	(scope_to_insns_finalize): Likewise.
      	(duplicate_insn_chain): Likewise.
      	(cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
      	* cfgrtl.c (basic_block_for_insn): Kill.
      	(delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
      	(create_basic_block_structure): Use reorder_insns.
      	(compute_bb_for_insn): Do not use basic_block_for_insn.
      	(merge_blocks_nomove): Likewise.
      	(update_bb_for_insn): Likewise.
      	(verify_flow_info): Likewise.
      	(set_block_for_insn): Kill.
      	* combine.c (try_combine): Update gen_rtx_INSN call.
      	* emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
      	(mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
      	scopes and BBs.
      	(add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
      	(emit_note_before, emit_note_after, emit_line_note_after, emit_note):
      	Clear BB.
      	(emit_insns_after): Simplify.
      	(emit_copy_of_insn_after): Copy scope.
      	* final.c (final_start_function): Lower scopes.
      	* flow.c (check_function_return_warnings): Do not rely on deleted insn.
      	* integrate.c (copy_insn_list): Cope scopes.
      	* jump.c (duplicate_loop_exit_test): LIkewise; simplify.
      	* loop.c (loop_optimize): Do not care block notes.
      	* print-rtl.c (print_rtx): Print BB.
      	* recog.c (apply_change_group): Simplify.
      	* rtl.c (copy_rtx): Handle 'B'.
      	* rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
      	* rtl.h (Field accessors): Update indexes.
      	* sched-ebb.c (schedule_ebbs): Do not lower notes.
      	* sched-rgn.c (schedule_insns): Likewise.
      	* toplev.c (rest_of_compilation): Lower notes.
      	* unroll.c (unroll_loop): Do not care scoping notes.
      	(copy_loop_body): Copy scopes.
      
      From-SVN: r54188
      Jan Hubicka committed
  7. 27 May, 2002 1 commit
    • basic-block.h (last_basic_block): Defined as synonym for n_basic_blocks. · d55bc081
      	* basic-block.h (last_basic_block): Defined as synonym for
      	n_basic_blocks.
      	* cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
      	flow_depth_first_order_compute, flow_preorder_transversal_compute,
      	flow_dfs_compute_reverse_init): Replaced relevant occurences of
      	n_basic_blocks with last_basic_block.
      	* cfgbuild.c (make_edges): Likewise.
      	* cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
      	* cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
      	* combine.c (combine_instructions): Likewise.
      	* df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
      	iterative_dataflow_bitmap): Likewise.
      	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
      	calc_idoms, idoms_to_doms): Likewise.
      	* flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
      	Likewise.
      	* gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
      	compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
      	one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
      	one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
      	delete_null_pointer_checks, compute_code_hoist_vbeinout,
      	hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
      	compute_store_table, build_store_vectors): Likewise.
      	* haifa-sched.c (sched_init): Likewise.
      	* ifcvt.c (if_convert): Likewise.
      	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
      	pre_edge_lcm, compute_available, compute_nearerout,
      	compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
      	Likewise.
      	* predict.c (estimate_probability, process_note_prediction,
      	note_prediction_to_br_prob): Likewise.
      	* profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
      	* recog.c (split_all_insns, peephole2_optimize): Likewise.
      	* regrename.c (copyprop_hardreg_forward): Likewise.
      	* resource.c (init_resource_info): Likewise.
      	* sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
      	init_regions, schedule_insns): Likewise.
      	* ssa-ccp.c (ssa_const_prop): Likewise.
      	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
      	* ssa.c (compute_dominance_frontiers,
      	compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
      
      	* df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
      	* gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
      	sizes consistently.
      
      From-SVN: r53924
      Zdenek Dvorak committed
  8. 23 May, 2002 1 commit
    • bb-reorder.c (make_reorder_chain, [...]): Use FOR_EACH_BB macros to iterate over basic block chain. · e0082a72
      	* bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
      	Use FOR_EACH_BB macros to iterate over basic block chain.
      	* cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
      	alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
      	Likewise.
      	* cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
      	find_unreachable_blocks, create_edge_list, verify_edge_list,
      	remove_fake_edges, add_noreturn_fake_exit_edges,
      	flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
      	Likewise.
      	* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
      	find_sub_basic_blocks): Likewise.
      	* cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
      	Likewise.
      	* cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
      	Likewise.
      	* cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
      	Likewise.
      	* cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
      	commit_edge_insertions, commit_edge_insertions_watch_calls,
      	print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
      	* combine.c (combine_instructions, reg_dead_at_p): Likewise.
      	* conflict.c (conflict_graph_compute): Likewise.
      	* df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
      	df_modified_p, df_refs_unlink, df_dump): Likewise.
      	* dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
      	* final.c (compute_alignments): Likewise.
      	* flow.c (update_life_info, update_life_info_in_dirty_blocks,
      	delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
      	count_or_remove_death_notes): Likewise.
      	* gcse.c (oprs_unchanged_p, record_last_reg_set_info,
      	compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
      	classic_gcse, compute_transp, cprop, compute_pre_data,
      	compute_transpout, invalidate_nonnull_info,
      	delete_null_pointer_checks_1, delete_null_pointer_checks,
      	compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
      	compute_store_table, build_store_vectors, store_motion): Likewise.
      	* global.c (global_conflicts, mark_elimination): Likewise.
      	* graph.c (print_rtl_graph_with_bb): Likewise.
      	* haifa-sched.c (sched_init): Likewise.
      	* ifcvt.c (if_convert): Likewise.
      	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
      	compute_available, compute_nearerout, compute_rev_insert_delete,
      	optimize_mode_switching): Likewise.
      	* local-alloc.c (local_alloc, update_equiv_regs): Likewise.
      	* predict.c (estimate_probability, note_prediction_to_br_prob,
      	propagate_freq, counts_to_freqs, expensive_function_p,
      	estimate_bb_frequencies): Likewise.
      	* profile.c (instrument_edges, get_exec_counts,
      	compute_branch_probabilities, compute_checksum, branch_prob,
      	find_spanning_tree): Likewise.
      	* recog.c (split_all_insns, peephole2_optimize): Likewise.
      	* reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
      	Likewise.
      	* regclass.c (scan_one_insn, regclass): Likewise.
      	* regmove.c (mark_flags_life_zones, regmove_optimize,
      	record_stack_memrefs): Likewise.
      	* regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
      	* reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
      	* resource.c (find_basic_block): Likewise.
      	* sched-ebb.c (schedule_ebbs): Likewise.
      	* sched-rgn.c (is_cfg_nonregular, build_control_flow,
      	find_single_block_region, find_rgns, schedule_insns)
      	* sibcall.c (optimize_sibling_and_tail_recursive_call)
      	* ssa-ccp.c (optimize_unexecutable_edges,
      	ssa_ccp_df_delete_unreachable_insns): Likewise.
      	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
      	* ssa.c (find_evaluations, compute_dominance_frontiers_1,
      	rename_block, convert_to_ssa, compute_conservative_reg_partition,
      	compute_coalesced_reg_partition, rename_equivalent_regs,
      	convert_from_ssa): Likewise.
      	* config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
      	process_for_unwind_directive): Likewise.
      
      	* df.c (FOR_ALL_BBS): Removed.
      	* gcse.c (struct null_pointer_info): Type of current_block field
      	changed.
      	(struct reg_avail_info): Type of last_bb field changed.
      	* config/ia64/ia64.c (block_num): Removed.
      	(need_copy_state): Type changed.
      	(last_block): New.
      
      From-SVN: r53804
      Zdenek Dvorak committed
  9. 17 May, 2002 1 commit
  10. 16 May, 2002 1 commit
  11. 13 May, 2002 1 commit
  12. 09 May, 2002 1 commit
    • read-rtl.c: Fix formatting. · a6a2274a
      	* read-rtl.c: Fix formatting.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* resource.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl-error.c: Likewise.
      
      From-SVN: r53313
      Kazu Hirata committed
  13. 06 May, 2002 1 commit
  14. 05 May, 2002 2 commits
  15. 03 May, 2002 1 commit
  16. 12 Apr, 2002 2 commits
  17. 26 Mar, 2002 1 commit
  18. 25 Mar, 2002 1 commit
  19. 14 Mar, 2002 2 commits
  20. 08 Mar, 2002 1 commit
  21. 03 Mar, 2002 1 commit
    • emit-rtl.c, [...]: Remove all #ifndef REAL_ARITHMETIC blocks... · ba31d94e
      	* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
      	print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
      	tree.c, config/m68k/m68k.c, f/com.c, f/target.h, java/expr.c,
      	java/jcf-parse.c, java/lex.c:
      	Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
      	REAL_ARITHMETIC blocks unconditional.  Delete some further
      	#ifdef blocks predicated on REAL_ARITHMETIC.
      	* flags.h, toplev.c: Delete remaining references to
      	flag_pretend_float.
      
      	* doc/invoke.texi: Remove documentation of -fpretend-float.
      	* doc/tm.texi: Describe the various REAL_* macros as provided by
      	real.h, not by the target configuration files.
      
      	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
      	config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
      	config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
      	config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
      	config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
      	config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
      	config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
      	config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
      	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
      	config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
      	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
      	config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
      	config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
      	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
      	config/xtensa/xtensa.h:
      	Do not define, undefine, or mention in comments any of
      	REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
      	REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
      	REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
      	REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
      	REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
      	REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
      	REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
      	REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
      	REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
      
      From-SVN: r50263
      Zack Weinberg committed
  22. 28 Feb, 2002 1 commit
    • basic-block.h (BB_REACHABLE): Renumber. · 38c1593d
      	* basic-block.h (BB_REACHABLE): Renumber.
      	(BB_DIRTY, BB_NEW): New flags.
      	(clear_bb_flags): Declare.
      	(update_life_info_in_dirty_blocks): Declare.
      	* cfg.c (clear_bb_flags): New function.
      	* cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
      	* emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
      	reorder_insns, emit_insn_after): Mark block as dirty.
      	* flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
      	(update_life_info_in_dirty_blocks): New function.
      	* recog.c (apply_change_group): Dirtify block.
      
      	* cse.c (cse_insn): Reorder emitting of jump insn to keep
      	cfg consistent.
      	* gcse.c (delete_null_pointer_checks): Likewise.
      
      	* toplev.c (dump_file_index): Move cse2 after bp,
      	add DFI_null
      	(dump_file_info): Similary.
      	(rest_of_compilation): Avoid most of CFG rebuilds;
      	do first if converision after null pointer checks, do cse2
      	after branch prediction; avoid full liveness rebuild after
      	initializing subregs.
      	* invoke.texi (-d options): Document -du, renumber.
      
      	* cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
      	(notice_new_block): Do not set BB_UPDATE_LIFE.
      	(try_forward_edges, merge_blocks_move_predecessor_nojumps,
      	 merge_blocks_move_successor_nojumps, merge_blocks,
      	 try_crossjump_to_edge): Likewise.
      	(try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
      	* cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
      	* ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
      	(merge_of_block): Do not use life_data_ok.
      	(find_if_case_1): Do not use SET_UPDATE_LIFE.
      	(if_convert): Use BB_DIRTY mechanizm to update life.
      	* lcm.c (optimize_mode_switching): Update
      	update_life_info_in_dirty_blocks
      
      From-SVN: r50127
      Jan Hubicka committed
  23. 19 Feb, 2002 1 commit
    • i386.md ("mmx_uavgv8qi3"): Use const_vector. · 69ef87e2
      2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
      
      	* config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
      	("mmx_uavgv4hi3"): Same.
      	("pmulhrwv4hi3"): Same.
      
      	* tree-inline.c (walk_tree): Handle vectors.
      
      	* c-common.c (constant_expression_warning): Handle vectors.
      	(overflow_warning): Same.
      
      	* sched-deps.c (sched_analyze_2): Handle vectors.
      
      	* rtlanal.c (rtx_unstable_p): Handle vectors.
      	(rtx_varies_p): Same.
      	(count_occurrences): Same.
      	(regs_set_between_p): Same.
      	(modified_between_p): Same.
      	(modified_in_p): Same.
      	(volatile_insn_p): Same.
      	(volatile_refs_p): Same.
      	(side_effects_p): Same.
      	(may_trap_p): Same.
      	(inequality_comparisons_p): Same.
      	(replace_regs): Same.
      	(computed_jump_p_1): Same.
      
      	* rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
      	argument.
      	(inner_mode_array): New.
      	(copy_rtx): Handle vectors.
      	(copy_most_rtx): Same.
      	(rtx_equal_p): Same.
      	(get_mode_alignment): Adjust for vectors.
      
      	* resource.c (mark_referenced_resources): Handle vectors.
      	(mark_set_resources): Same.
      
      	* reload1.c (eliminate_regs): Handle vectors.
      	(elimination_effects): Same.
      	(scan_paradoxical_subregs): Same.
      
      	* reload.c (subst_reg_equivs): Handle vectors.
      
      	* regrename.c (scan_rtx): Handle vectors.
      
      	* regclass.c (reg_scan_mark_refs): Handle vectors.
      
      	* recog.c (find_single_use_1): Handle vectors.
      
      	* local-alloc.c (equiv_init_varies_p): Handle vectors.
      	(contains_replace_regs): Same.
      	(memref_referenced_p): Same.
      
      	* integrate.c (copy_rtx_and_substitute): Handle vectors.
      	(subst_constants): Same.
      
      	* genattrtab.c (attr_copy_rtx): Handle vectors.
      	(encode_units_mask): Same.
      	(clear_struct_flag): Same.
      	(count_sub_rtxs): Same.
      
      	* gcse.c (want_to_gcse_p): Handle vectors.
      	(oprs_unchanged_p): Same.
      	(hash_expr_1): Same.
      	(oprs_not_set_p): Same.
      	(expr_killed_p): Same.
      	(compute_transp): Same.
      	(store_ops_ok): Same.
      
      	* function.c (purge_addressof_1): Do not allow paradoxical subregs
      	of vectors.
      	(fixup_var_refs_1): Same.
      	(instantiate_virtual_regs_1): Same.
      
      	* fold-const.c (operand_equal_p): Handle vectors.
      	(fold): Same.
      	(rtl_expr_nonnegative_p): Same.
      
      	* flow.c (mark_used_regs): Handle vectors.
      
      	* df.c (df_uses_record): Handle vectors.
      
      	* cselib.c (cselib_subst_to_values): Handle vectors.
      	(cselib_mem_conflict_p): Same.
      	(hash_rtx): Same.
      
      	* cse.c (canon_reg): Handle vectors.
      	(fold_rt): Same.
      	(cse_process_notes): Same.
      	(count_reg_usage): Same.
      	(canon_hash): Same.
      
      	* alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
      
      	* combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
      
      	* emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
      	(gen_rtx): Handle CONST_VECTOR.
      	(gen_const_vector_0): New.
      	(copy_rtx_if_shared): CONST_VECTORs can be shared.
      	(reset_used_flags): Same.
      	(copy_insn_1): Same.
      	(initializer_constant_valid_p): Handle VECTOR_CST.
      
      	* doc/c-tree.texi (Expression trees): Document VECTOR_CST.
      
      	* doc/rtl.texi (Constants): Document const_vector.
      	(CONST0_RTX): Update for vectors.
      	(RTL sharing): Same.
      
      	* print-tree.c (print_node): Add case for VECTOR_CST.
      
      	* tree.h (TREE_VECTOR_CST_ELTS): New.
      	(struct tree_vector): New.
      	(union tree_node): Add vector node.
      	(build_vector): Add prototype.
      
      	* tree.def (VECTOR_CST): New.
      
      	* tree.c (build_vector): New.
      
      	* expmed.c (make_tree): Handle CONST_VECTOR.
      
      	* rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
      	(CONST_VECTOR_ELT): New.
      	(CONST_VECTOR_NUNITS): New.
      
      	* machmode.h (GET_MODE_INNER): New.
      	(DEF_MACHMODE): Accept 8th arg.
      
      	* machmode.def: Add 8th argument for vector inner mode.
      	Add inner vector modes for vectors.
      
      	* rtl.def (VEC_CONST): Remove.
      	(CONST_VECTOR): New.
      
      	* expr.c (clear_storage): Allow vectors.
      	(is_zeros_p): Handle VECTOR_CST.
      
      	* varasm.c (output_constant_pool): Handle vectors.
      	(rtx_const): Add veclo and vechi fields.
      	(kind): Add RTX_VECTOR.
      	(decode_rtx_const): Add case for vector.
      
      	* config/rs6000/rs6000-protos.h: Add zero_constant.
      
      	* config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
      	constants.  Force easy vector constants into memory.
      	(easy_vector_constant): New.
      	(emit_easy_vector_constant): New.
      	(rs6000_legitimize_reload_address): Do not generate bad reloads on
      	darwin.
      
      	* config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
      	instruction does.
      	("altivec_lvxl"): Same.
      	(altivec_lvebx): Same.
      	(altivec_lvehx): Same.
      	(altivec_lvewx): Same.
      	("*movv4si_const0"): New.
      	("*movv4sf_const0"): New.
      	("*movv8hi_const0"): New.
      	("*movv16qi_const0"): New.
      
      From-SVN: r49853
      Aldy Hernandez committed
  24. 15 Jan, 2002 1 commit
    • read-rtl.c: Fix formatting. · 8e2e89f7
      	* read-rtl.c: Fix formatting.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload1.c: Likewise.
      	* rtlanal.c: Likewise.
      
      From-SVN: r48870
      Kazu Hirata committed
  25. 17 Dec, 2001 1 commit
  26. 13 Dec, 2001 1 commit
  27. 02 Nov, 2001 1 commit
  28. 30 Oct, 2001 1 commit
  29. 23 Oct, 2001 1 commit
  30. 21 Oct, 2001 1 commit
    • c-format.c (maybe_read_dollar_number): Use safe-ctype macros and/or fold extra… · 0df6c2c7
      c-format.c (maybe_read_dollar_number): Use safe-ctype macros and/or fold extra calls into fewer ones.
      
      	* c-format.c (maybe_read_dollar_number): Use safe-ctype macros
      	and/or fold extra calls into fewer ones.
      	* collect2.c (dump_file): Likewise.
      	* cppexp.c (parse_number): Likewise.
      	* cpplex.c (_cpp_lex_direct): Likewise.
      	* final.c (output_asm_insn, asm_fprintf): Likewise.
      	* fix-header.c (inf_scan_ident, main): Likewise.
      	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
      	Likewise.
      	* fold-const.c (real_hex_to_f): Likewise.
      	* gen-protos.c (parse_fn_proto): Likewise.
      	* genattrtab.c (check_attr_test, check_attr_value): Likewise.
      	* genrecog.c (change_state, write_action): Likewise.
      	* gensupport.c (shift_output_template): Likewise.
      	* local-alloc.c (requires_inout): Likewise.
      	* mips-tfile.c (IS_ASM_IDENT): Likewise.
      	* protoize.c (is_id_char, main): Likewise.
      	* real.c (asctoeg): Likewise.
      	* recog.c (asm_operand_ok): Likewise.
      	* reload.c (find_reloads): Likewise.
      	* scan.c (scan_identget_token): Likewise.
      	* sched-vis.c (print_value): Likewise.
      	* stringpool.c (ggc_alloc_string): Likewise.
      	* toplev.c (read_integral_parameter, decode_g_option): Likewise.
      	* tradcif.y (parse_number, yylex, parse_escape): Likewise.
      	* tradcpp.c (rescan): Likewise.
      	* tree.c (clean_symbol_name): Likewise.
      	* varasm.c (decode_reg_name): Likewise.
      
      	* alpha.h (ASM_OUTPUT_ASCII): Likewise.
      	* darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
      	* dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
      	* m88k.c (output_ascii): Likewise.
      	* m88k.h (OVERRIDE_OPTIONS): Likewise.
      	* mcore.h (REG_CLASS_FROM_LETTER): Likewise.
      	* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
      	* sh.h (REG_CLASS_FROM_LETTER): Likewise.
      
      cp:
      	* xref.c (GNU_xref_member): Use safe-ctype macros and/or fold
      	extra calls into fewer ones.
      
      f:
      	* bad.c (ffebad_finish): Use safe-ctype macros and/or fold extra
      	calls into fewer ones.
      	* implic.c (ffeimplic_lookup_): Likewise.
      	* intdoc.c (dumpimp): Likewise.
      	* intrin.c (ffeintrin_init_0): Likewise.
      	* lex.c (ffelex_backslash_, ffelex_cfebackslash_, ffelex_hash_):
      	Likewise.
      	* lex.h (ffelex_is_firstnamechar): Likewise.
      	* target.c (ffetarget_integerhex): Likewise.
      
      java:
      	* gjavah.c (jni_print_char, decode_signature_piece): Use
      	safe-ctype macros and/or fold extra calls into fewer ones.
      	* lex.c (java_read_unicode, java_lex): Likewise.
      	* lex.h (JAVA_START_CHAR_P, JAVA_PART_CHAR_P, JAVA_ASCII_DIGIT,
      	JAVA_ASCII_HEXDIGIT, JAVA_ASCII_LETTER): Likewise.
      	* mangle_name.c (append_unicode_mangled_name,
      	unicode_mangling_length): Likewise.
      
      From-SVN: r46397
      Kaveh R. Ghazi committed
  31. 20 Oct, 2001 1 commit
    • basic-block.h (find_sub_basic_blocks): Use sbitmap parameter. · b932f770
      	* basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
      	* cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
      	Break out from ...
      	(find_sub_basic_blocks): ... here;
      	(find_many_sub_basic_blocks): New.
      	* recog.c (split_all_insns): Update find_sub_basic_blocks call.
      
      	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
      
      	* i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
      
      	* i386.c (split_di, split_ti): Revamp to use simplify_subreg.
      
      	* timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
      	* flow.c (update_life_info): Measure time.
      	* c-decl.c: Include timevar.h
      	(c_expand_body): Measure time.
      	* toplev.c (rest_of_compilation): Measure time of mode switching
      	separately.
      	* Makefile.in (c-decl.o, cfgcleanup.o): Add dependancy.
      
      	* toplev.c (flag_asynchronous_unwind_tables): New global variable.
      	(lang_independent_options): Add asynchronous-unwind-tables
      	(toplev_main): flag_asynchronous_unwind_tables implies
      	flag_unwind_tables.
      	* flags.h (flag_asynchronous_unwind_tables): Declare.
      	* dwarf2out.c (dwarf2out_stack_adjust): Take into account
      	flag_asynchronous_unwind_tables.
      	(output_call_frame_info): Likewise.
      	* invoke.texi (-fasynchronous-unwind-tables): Document.
      	* i386.c (optimization_options): Enable
      	flag_asynchronous_unwind_tables.
      
      	* i386.c (ix86_expand_setcc):  Always expect target to be QImode.
      	* i386.md (s* expanders): Destination is QImode.
      
      	* toplev.c (rest_of_compilation): Do not call clear_log_links.
      	* rtl.h (clear_log_links): Kill.
      	* flow.c (clear_log_links): Make static; accept blocks parameter;
      	do no clear life info.
      	(update_life_info): Call clear_log_links.
      
      	* cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
      
      From-SVN: r46374
      Jan Hubicka committed
  32. 16 Oct, 2001 1 commit
  33. 11 Oct, 2001 2 commits
    • c-parse.in (asm_operand): Allow named operands. · 84b72302
              * c-parse.in (asm_operand): Allow named operands.
              * genconfig.c (max_recog_operands): Set to 29.
              * local-alloc.c (requires_inout): Skip multiple digits.
              * recog.c (asm_operand_ok): Likewise.
              (preprocess_constraints): Use strtoul for matching constraints.
              (constrain_operands): Likewise.
              * regmove.c (find_matches): Likewise.
              * reload.c (find_reloads): Likewise.
              * stmt.c (parse_output_constraint): Don't reject in-out
              constraint on operands > 9.  Reject '[' in constraint.
              (expand_asm_operands): Handle named operands.  Use strtoul
              for matching constraints.
              (check_operand_nalternatives): Split out from expand_asm_operands.
              (check_unique_operand_names): New.
              (resolve_operand_names, resolve_operand_name_1): New.
      
              * doc/extend.texi (Extended Asm): Document named operands.
              * doc/md.texi (Simple Constraints): Document matching constraints
              on operands > 9.
      
              * parse.y (asm_operand): Allow named operands.
              * semantics.c (finish_asm_stmt): Tweek for changed location
              of the operand constrant.
      
      From-SVN: r46179
      Richard Henderson committed
    • alias.c: Remove uses of "register" specifier in declarations of arguments and local... · b3694847
      2001-10-10  Stan Shebs  <shebs@apple.com>
      
              * alias.c: Remove uses of "register" specifier in declarations
              of arguments and local variables.
              * c-common.c: Ditto.
              * c-convert.c: Ditto.
              * c-decl.c: Ditto.
              * c-format.c: Ditto.
              * c-semantics.c: Ditto.
              * c-typeck.c: Ditto.
              * caller-save.c: Ditto.
              * calls.c: Ditto.
              * cfg.c: Ditto.
              * cfgbuild.c: Ditto.
              * cfgrtl.c: Ditto.
              * collect2.c: Ditto.
              * combine.c: Ditto.
              * convert.c: Ditto.
              * cppexp.c: Ditto.
              * cppfiles.c: Ditto.
              * cse.c: Ditto.
              * dbxout.c: Ditto.
              * defaults.h: Ditto.
              * df.c: Ditto.
              * dwarf2out.c: Ditto.
              * dwarfout.c: Ditto.
              * emit-rtl.c: Ditto.
              * explow.c: Ditto.
              * expmed.c: Ditto.
              * expr.c: Ditto.
              * final.c: Ditto.
              * fix-header.c: Ditto.
              * floatlib.c: Ditto.
              * flow.c: Ditto.
              * fold-const.c: Ditto.
              * function.c: Ditto.
              * gcc.c: Ditto.
              * gcse.c: Ditto.
              * gen-protos.c: Ditto.
              * genattrtab.c: Ditto.
              * gencheck.c: Ditto.
              * genconfig.c: Ditto.
              * genemit.c: Ditto.
              * genextract.c: Ditto.
              * genflags.c: Ditto.
              * gengenrtl.c: Ditto.
              * genoutput.c: Ditto.
              * genpeep.c: Ditto.
              * genrecog.c: Ditto.
              * gensupport.c: Ditto.
              * global.c: Ditto.
              * gmon.c: Ditto.
              * graph.c: Ditto.
              * haifa-sched.c: Ditto.
              * hard-reg-set.h: Ditto.
              * hash.c: Ditto.
              * integrate.c: Ditto.
              * jump.c: Ditto.
              * lists.c: Ditto.
              * local-alloc.c: Ditto.
              * loop.c: Ditto.
              * mips-tdump.c: Ditto.
              * mips-tfile.c: Ditto.
              * optabs.c: Ditto.
              * prefix.c: Ditto.
              * print-rtl.c: Ditto.
              * read-rtl.c: Ditto.
              * real.c: Ditto.
              * recog.c: Ditto.
              * reg-stack.c: Ditto.
              * regclass.c: Ditto.
              * regmove.c: Ditto.
              * reload.c: Ditto.
              * reload1.c: Ditto.
              * reorg.c: Ditto.
              * resource.c: Ditto.
              * rtl.c: Ditto.
              * rtlanal.c: Ditto.
              * scan.c: Ditto.
              * sched-deps.c: Ditto.
              * sched-rgn.c: Ditto.
              * sdbout.c: Ditto.
              * simplify-rtx.c: Ditto.
              * stmt.c: Ditto.
              * stor-layout.c: Ditto.
              * toplev.c: Ditto.
              * tradcif.y: Ditto.
              * tradcpp.c: Ditto.
              * tree.c: Ditto.
              * unroll.c: Ditto.
              * varasm.c: Ditto.
              * xcoffout.c: Ditto.
      
      From-SVN: r46173
      Stan Shebs committed
  34. 10 Oct, 2001 1 commit
    • calls.c: Fix formatting. · 6d2f8887
      	* calls.c: Fix formatting.
      	* c-decl.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* combine.c: Likewise.
      	* cppfiles.c: Likewise.
      	* cpplib.c: Likewise.
      	* cppmacro.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* ggc-page.c: Likewise.
      	* integrate.c: Likewise.
      	* libgcc2.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	* profile.c: Likewise.
      	* protoize.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sdbout.c: Likewise.
      	* stmt.c: Likewise.
      	* toplev.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r46145
      Kazu Hirata committed
  35. 21 Sep, 2001 1 commit
    • basic-block.h (flow_delete_insn, [...]): Kill. · 53c17031
      	* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
      	* cfg.c (delete_insn): Rename from ....; use remove_insn; do not
      	remove some labels.
      	(flow_delete_insn): This one.
      	(delete_insn_chain): Rename from ...; do not care labels.
      	(flow_delete_insn_chain): ... this one.
      	(flow_delete_block): Remove the insns one BB has been expunged.
      	(merge_blocks_nomove): Likewise.
      	(try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
      	updating BB boundaries.
      	(tidy_fallthru_edge): Likewise.
      	(commit_one_edge_insertion): Likewise.
      	* cfgbuild.c (find_basic_block): Likewise.
      	(find_basic_blocks_1): Likewise.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
      	(try_crossjump_to_edge): Likewise.
      	(try_optimize_cfg): Likewise.
      	* cse.c (delete_trivially_dead_insns): Likewise.
      	* df.c (df_insn_delete): Likewise.
      	* doloop.c (doloop_modify): Use delete_related_insns.
      	* emit-rtl.c (try_split): Likewise.
      	(remove_insn): Update BB boundaries.
      	* expect.c (connect_post_landing_pads): Use delete_related_insns.
      	* flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
      	updating BB boundaries.
      	(propagate_block_delete_insn): Likewise.
      	(propagate_block_delete_libcall): Likewise.
      	* function.c (delete_handlers): Use delete_related_insns.
      	(thread_prologue_and_epilogue_insns): Likewise.
      	* gcse.c (delete_null_pointer_checks): Use delete_related_insns.
      	* genpeep.c (gen_peephole): Use delete_related_insns.
      	* ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
      	BB boundaries.
      	(find_cond_trap): Likewise.
      	* integrate.c (save_for_inline): Use delete_related_insns.
      	(copy_insn_list): Likewise.
      	* jump.c (pruge_linie_number_notes): Likewise.
      	(duplicate_loop_exit_test): Likewise.
      	(delete_computation): Likewise.
      	(delete_related_insn): Rename from ...; use delete_insn
      	(delete_insn): ... this one.
      	(redirect_jump): Use delete_related_insns.
      	* loop.c (scan_loop): Likewise.
      	(move_movables): Likewise.
      	(find_and_verify_loops): Likewise.
      	(check_dbra_loop): Likewise.
      	* recog.c (peephole2_optimize): Likewise.
      	* reg-stack.c (delete_insn_for_stacker): Remove.
      	(move_for_stack_reg): Use delete_insn.
      	* regmove.c (combine_stack_adjustments_for_block): Likewise.
      	* reload1.c (delete_address_reloads): Use delete_related_insns.
      	(fixup_abnormal_edges): Use delete_insn.
      	* recog.c (emit_delay_sequence): Use delete_related_insns.
      	(delete_from-delay_slot): Likewise.
      	(delete_scheduled_jump): likewise.
      	(optimize_skip): Likewise.
      	(try_merge_delay_insns): Likewise.
      	(full_simple_delay_slots): Likewise.
      	(fill_slots_from_thread): Likewise.
      	(relax_delay_slots): Likewise.
      	(make_return_insns): Likewise.
      	(dbr_schedule): Likewise.
      	* rtl.h (delete_insn): Rename to delete_related_insns.
      	(delete_insn, delete_insn_chain): New prototypes.
      	* ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
      	by df_insn_delete already.
      	* ssa-dce.c (delete_insn_bb): Use delete_insn.
      	* ssa.c (convert_from_ssa): Use delete_related_insns.
      	* unroll.c (unroll_loop): Likewise.
      	(calculate_giv_inc): Likewise.
      	(copy_loop_body): Likewise.
      
      	* i386-protos.h (ix86_libcall_value, ix86_function_value,
      	ix86_function_arg_regno_p, ix86_function_arg_boundary,
      	ix86_return_in_memory, ix86_function_value): Declare.
      	* i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
      	new static valurables.
      	(x86_64_reg_class): New enum
      	(x86_64_reg_class_name): New array.
      	(classify_argument, examine_argument, construct_container,
      	 merge_classes): New static functions.
      	(optimization_options): Enable flag_omit_frame_pointer and disable
      	flag_pcc_struct_return on 64bit.
      	(ix86_libcall_value, ix86_function_value,
      	ix86_function_arg_regno_p, ix86_function_arg_boundary,
      	ix86_return_in_memory, ix86_function_value): New global functions.
      	(init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
      	(function_arg_advance): Handle x86_64 passing conventions.
      	(function_arg): Likewise.
      	* i386.h (FUNCTION_ARG_BOUNDARY): New macro.
      	(RETURN_IN_MEMORY): Move offline.
      	(FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
      	(FUNCTION_VALUE_REGNO_P): New macro.
      	(FUNCTION_ARG_REGNO_P): Move offline.
      	(struct ix86_args): Add maybe_vaarg.
      	* next.h (FUNCTION_VALUE_REGNO_P): Delete.
      	* unix.h (FUNCTION_VALUE_REGNO_P): Delete.
      
      From-SVN: r45726
      Jan Hubicka committed