summaryrefslogtreecommitdiffstats
path: root/gcc/flow.c
Commit message (Collapse)AuthorAgeFilesLines
* * rtl.h (recompute_reg_usage): Add second argument.law1998-12-131-3/+9
| | | | | | | | | * flow.c (recompute_reg_usage): Likewise. * toplev.c (rest_of_compilation): Supply second argument to recompute_reg_usage. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24291 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c: Update some comments.law1998-12-091-8/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24226 138bc75d-0d04-0410-961f-82ee72b054a4
* Tue Dec 8 15:32:56 EST 1998 Andrew MacLeod <amacleod@cygnus.com>amacleod1998-12-081-2/+56
| | | | | | | | | | | | | | | | | | | See ChangeLog.. These are the files that were changed: * eh-common.h (struct eh_context): Add table_index for rethrows. * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes. * rtl.c (reg_note_name): Add strings for new reg_note enums. * expr.h (rethrow_libfunc): New library decl. * optabs.c (rethrow_libfunc): Initialize. * except.h (struct eh_entry): Add new field 'rethrow_label'. * except.c (create_rethrow_ref): New function to create a single * flow.c (make_edges): Add different edges for rethrow calls, * integrate.c (save_for_inline_eh_labelmap): New callback routine to * libgcc2.c (find_exception_handler): Generalize to enable it to * cp/except.c * cp/exception.cc git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24194 138bc75d-0d04-0410-961f-82ee72b054a4
* 8law1998-12-021-2/+6
| | | | | | | | * flow.c (delete_block): Call set_last_insn after we have reset NEXT_INSN (kept_tail). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24059 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (delete_block): Call set_last_insn if we end up deleting thelaw1998-12-011-0/+4
| | | | | | | last insn in the rtl chain. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24052 138bc75d-0d04-0410-961f-82ee72b054a4
* * cse.c (fold_rtx): Make autoincrement addressing mode tests belaw1998-11-241-26/+12
| | | | | | | | | | | | | | | | | | | runtime selectable. * expr.c (move_by_pieces): Similarly. (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly. * flow.c (find_auto_inc): Similarly. (try_pre_increment): Similarly. * loop.c (strength_reduce): Similarly. * regclass.c (auto_inc_dec_reg_p): Similarly. * regmove.c (try_auto_increment): Similarly. (fixup_match_1): Similarly. * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined. (HAVE_PRE_DECREMENT): Similarly. (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly. sponding changes to all target header files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23837 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (insn_dead_p): New argument NOTES. Changed all callers.amylaar1998-11-171-12/+37
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23680 138bc75d-0d04-0410-961f-82ee72b054a4
* xlaw1998-11-041-0/+3
| | | | | | | | | | * rtl.h (flow2_completed): Declare. * flow.c (flow2_completed): Definition. * toplev.c (rest_of_compilation): Set and clear flow2_completed as necessary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23528 138bc75d-0d04-0410-961f-82ee72b054a4
* Wed Nov 4 19:15:37 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>law1998-11-041-1/+2
| | | | | | | | | | | * Makefile.in (libcpp.a): Ranlib libcpp.a * cppulp.c (user_label_prefix): Initialize. Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com) * flow.c (mark_regs_live_at_end): Mark the stack pointer as live at a RETURN if current_function_sp_is_unchanging is set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23525 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (XNMALLOC): New macro.law1998-10-291-385/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (flow_int_list_blocks, basic_block_succ, basic_block_pred): New static variables. (add_edge, add_edge_to_label): New static functions. (free_bb_memory): New function. (flow_delete_insn): Delete function. (basic_block_drops_in): Delete variable. (find_basic_blocks): Allocate and initialize basic_block_head, basic_block_succ. Don't allocate basic_block_drops_in. Call free_bb_memory at the beginning. (find_basic_blocks_1): Don't do multiple passes. Delete code to compute basic_block_drops_in. After calling make_edges, mark blocks reached by current block live. Update test for unreachable live blocks. (mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers changed. Simplify to call add_edge_to_label when a LABEL_REF is found. (make_edges): Simplify to call add_edge_to_label instead of mark_label_ref most of the time. Compute here whether control drops into the next block. (delete_unreachable_blocks): Return void. All callers changed. Delete unreachable blocks in reverse order. After deleting all unreachable blocks, renumber the remaining ones and update n_basic_blocks. (delete_block): Speed up deletion a bit. Don't set basic_block_drops_in for deleted blocks. (free_basic_block_vars): Don't free basic_block_drops_in. (life_analysis_1): Update to use new edge representation. (dump_flow_info): Delete code to print basic block info; call dump_bb_data instead. (compute_preds_succs): Delete code to recompute basic_block_drops_in and uid_block_number. Simply copy the previously computed cfg. (dump_bb_data): New arg LIVE_INFO. All callers changed. Print register lifetime information if LIVE_INFO is nonzero. * basic-block.h (dump_bb_data): Adjust prototype. * gcse.c (gcse_main): Update call to dump_bb_data. * rtl.h (free_bb_memory): Declare. * toplev.c (rest_of_compilation): Call free_bb_memory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23443 138bc75d-0d04-0410-961f-82ee72b054a4
* * final.c (cleanup_subreg_operands): New function.law1998-10-271-17/+0
| | | | | | | | | | | | | | | | (final_scan_insn): Use it. (alter_subreg): Clear the "used" field when we turn a SUBREG into a REG. * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG operands when reload has finished. * reload.h (cleanup_subreg_operands): Declare.. * flow.c (life_analysis_1): No longer delete CLOBBER insns after reload. Handled in reload itself. Should fix sh, sparc and probably other problems with post-reload life pass and scheduling interactions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23377 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (life_analysis_1): Enable "rescan" code after reload.law1998-10-231-3/+2
| | | | | | | (propagate_block): Delete dead code after reload. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23262 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (life_analysis_1): Delete CLOBBER insns after reload.law1998-10-231-0/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23257 138bc75d-0d04-0410-961f-82ee72b054a4
* * combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg. Alllaw1998-10-191-17/+0
| | | | | | | | | | | | | callers changed. (try_combine): Don't update max_scratch. * flow.c (max_scratch, num_scratch): Delete variables. (life_analysis_1): Don't initialize max_scratch. (propagate_block): Don't update max_scratch. (mark_set_1): Don't increment num_scratch. * regs.h (max_scratch): Delete declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23172 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1998-10-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (flow.o): Depend on recog.h. * cpplib.h (directive_table): Add missing initializiers. (finclude): Change type of variable `bsize' to size_t. * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED. * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE. * fix-header.c (lookup_std_proto): Cast the result of `strlen' to `int' when comparing against one. (cpp_file_line_for_message): Mark parameter `pfile' with ATTRIBUTE_UNUSED. (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED. * flow.c: Include recog.h. (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR). * function.c (thread_prologue_and_epilogue_insns): Mark parameter `f' with ATTRIBUTE_UNUSED. (reposition_prologue_and_epilogue_notes): Likewise. * genopinit.c (gen_insn): Cast argument of ctype functions to `unsigned char'. * haifa-sched.c: Include recog.h. (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when comparing against one. * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now. * mips-tfile.c (parse_end): Cast the argument of ctype function to `unsigned char'. (parse_ent): Likewise. (parse_input): Likewise. * optabs.c (init_libfuncs): Likewise. * protoize.c (find_rightmost_formals_list): Likewise. * recog.h (const_double_operand): Fix typo in prototype. * tlink.c (scan_linker_output): Cast the argument of ctype function to `unsigned char'. * toplev.c (check_lang_option): Cast the result of `strlen' to `int' when comparing against one. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23155 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (propagate_block): Replace code that computes and useslaw1998-10-171-54/+15
| | | | | | | | regs_sometimes_live with simpler code that just walks the set of currently live registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23148 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks_1): Do not delete unreachable blockslaw1998-10-161-2/+3
| | | | | | | after reload has completed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23140 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (life_analysis_1): Do not clobber regs_ever_live afterlaw1998-10-161-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reload. Never perform rescans of the insn chain after reload. (propagate_block): Do not delete insn or create new autoinc addressing modes after reload. * jump.c (jump_optimize): Unconditionally use the code that was previously conditional on PRESERVE_DEATH_INFO_REGNO_P. * reload1.c (reload): When reloading is finished, delete all REG_DEAD and REG_UNUSED notes. (emit_reload_insns): Delete all code that was conditional on PRESERVE_DEATH_INFO_REGNO_P. (no_longer_dead_regs): Delete variable. (reload_cse_delete_death_notes): Delete function. (reload_cse_no_longer_dead): Delete function. (reload_cse_regs_1): Delete all code to handle deletion of death notes. (reload_cse_noop_set_p): Likewise. (reload_cse_simplify_set): Likewise. (reload_cse_simplify_operands): Likewise. (reload_cse_move2add): Likewise. * reorg.c (used_spill_regs): Delete declaration. (max_label_num_after_reload): Delete declaration. (find_dead_or_set_registers): Don't assume that spill regs are dead at a CODE_LABEL. * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate, even after reload. * sched.c (sched_analyze_insn): Likewise. (update_flow_info): Likewise. * haifa-sched.c (sched_analyze_insn): Likewise. (update_flow_info): Likewise. * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation. * toplev.c (max_label_num_after_reload): Delete variable. (rest_of_compilation): Don't set max_label_num_after_reload. Call life_analysis after reload_cse_regs if optimizing. * config/gmicro/gmicro.h: Delete comment referring to PRESERVE_DEATH_INFO_REGNO_P. * config/i386/i386.h: Likewise. * config/m88k/m88k.h: Likewise. * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition. * config/sh/sh.h: Likewise. Accurate REG_DEAD notes after reload. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23120 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1998-10-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (sched.o): Depend on recog.h. * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to (unsigned) when comparing against one. (find_base_value): Likewise. (record_base_value): Cast variable `regno' to (unsigned) when comparing against one. Cast the result of REGNO() macro to (unsigned) when comparing against one. (memrefs_conflict_p): Change type of variables `r_x' and `r_y' to unsigned. (init_alias_analysis): Add unsigned variable `ui'. Use it as loop variable where an unsigned index is needed. * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code) before comparing against one. * collect2.c: Add prototypes for functions `error', `fatal' and `fatal_perror'. Make these functions take variable arguments instead of faking it with a fixed number of args. (write_c_file_stat): Cast the argument of ctype macro to (unsigned char). * combine.c (can_combine_p): Mark parameter `pred' with ATTRIBUTE_UNUSED. (find_split_point): Cast variable `src' to (unsigned HOST_WIDE_INT) when comparing against one. HOST_WIDE_INT) when comparing against one. (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift. (simplify_logical): Likewise. (force_to_mode): Cast result of INTVAL() macro to (unsigned HOST_WIDE_INT) when comparing against one. Cast 1 to (unsigned HOST_WIDE_INT) in shift. (simplify_and_const_int): Cast result of INTVAL() macro to `unsigned HOST_WIDE_INT' when comparing against one. (merge_outer_ops): Cast variable const0 to `unsigned HOST_WIDE_INT' when comparing against the result of GET_MODE_MASK() macro. (simplify_comparison): Likewise for variable `c0'. Cast variable `const_op' to `unsigned HOST_WIDE_INT' when comparing against one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast the result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing against one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast result of INTVAL() macro to `unsigned HOST_WIDE_INT' when comparing against one. (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'. config/mips/mips.c (gen_int_relational): Cast result of INTVAL() macro to `unsigned HOST_WIDE_INT' when comparing against one. (output_block_move): Cast `sizeof' expression to (int) when comparing against one. (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing against one. (save_restore_insns): Cast `base_offset' to `long' to match format specifier in fprintf. * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro to `enum machine_mode'. * flow.c (life_analysis_1): Remove unused variable `insn'. * gcc.c (translate_options): Move variables `j' and `k' into the scope in which they are used. Change their types to `size_t'. (set_spec): Cast the argument of ctype macro to `unsigned char'. (read_specs): Likewise. (process_command): Cast `sizeof' to (int) when comparing against one. (do_spec_1): Cast the argument of ctype macro to `unsigned char'. (handle_braces): Cast both sides of `==' expression to `long' to ensure sign matching. (main): Cast variable `i' to `int' when comparing against one. * gcov-io.h (__fetch_long): Change type of parameter `bytes' from int to size_t. Cast variable `i' to size_t when comparing against one. * genattrtab.c (convert_set_attr_alternative): Remove unused parameter `insn_code'. All callers changed. (convert_set_attr): Likewise. * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to size_t when comparing against one. Likewise for variable `len'. * global.c (global_alloc): Cast variable `max_regno' to size_t when comparing against one. Likewise for variable `max_allocno'. * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED. * local-alloc.c (validate_equiv_mem_from_store): Mark parameter `set' with ATTRIBUTE_UNUSED. (find_free_reg): Cast `sizeof' expression to (int) when comparing against one. * loop.c (count_loop_regs_set): Remove unused variable `dest'. (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED. (get_condition): Cast variable `const_val' to `unsigned HOST_WIDE_INT' when comparing against one. Cast unsigned expression to HOST_WIDE_INT when comparing against one. (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED. (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to `unsigned' when comparing against one. * protoize.c (is_id_char): Change type of parameter `ch' to unsigned char. (munge_compile_params): Cast argument of ctype macro to (const unsigned char). (process_aux_info_file): Cast variable `aux_info_size' to int when comparing against one. (forward_to_next_token_char): Cast argument of ctype macro to `const unsigned char'. (edit_formals_lists): Likewise. (find_rightmost_formals_list): Likewise. (add_local_decl): Likewise. (add_global_decls): Likewise. (edit_fn_definition): Likewise. (do_cleaning): Likewise. (scan_for_missed_items): Likewise. (edit_file): Cast variable `orig_size' to (int) when comparing against one. (main): Cast argument of ctype macro to `const unsigned char'. * recog.c (const_int_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED. * regclass.c (record_reg_classes): Change type of variable `c' to `unsigned char'. Cast `char' array index to `unsigned char'. * reload.c (push_secondary_reload): Cast argument to REG_CLASS_FROM_LETTER() macro to `unsigned char'. * reload1.c (calculate_needs): Cast `char' array index to `unsigned char'. (set_label_offsets): Change type of variable `i' to unsigned int. Cast result of XVECLEN() macro to unsigned when comparing against one. (mark_not_eliminable): Change type of variable `i' to unsigned. (order_regs_for_reload): Likewise. Cast `max_regno' to unsigned when comparing against one. (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when comparing against one. (choose_reload_regs): Hide unused label `fail'. (reload_cse_simplify_operands): Cast `char' array index to `unsigned char'. (reload_combine_note_store): Mark parameter `set' with ATTRIBUTE_UNUSED. Cast UNITS_PER_WORD to unsigned when comparing against one. (reload_cse_move2add): Remove unused variable `src2'. * sched.c: Include recog.h. (sched_note_set): Remove unused parameter `b'. All callers changed. (split_hard_reg_notes): Likewise for parameter `orig_insn'. (blockage_range): Cast result of UNIT_BLOCKED() macro to (int) when comparing against one. * stupid.c (stupid_find_reg): Mark parameter `changes_size' with ATTRIBUTE_UNUSED. Cast `sizeof' expression to (int) when comparing against one. * unroll.c (precondition_loop_p): Remove unused parameter `loop_end'. All callers changed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23079 138bc75d-0d04-0410-961f-82ee72b054a4
* Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>rth1998-10-131-47/+28
| | | | | | | | | | * flow.c (find_basic_blocks): Emit NOPs after normal calls in this function. Compute max_uid_for_flow by calling get_max_uid after the scan. (find_basic_blocks_1): Don't emit NOPs here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23061 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c: Update comment.law1998-10-121-3/+37
| | | | | | | | | | | | | | | | | | | | (notice_stack_pointer_modification): New static function. (record_volatile_insns): Use it. (mark_regs_live_at_end): Mark the stack pointer as alive at the end of the function if current_function_sp_is_unchanging is set. (life_analysis_1): Set current_function_sp_is_unchanging. * function.c: Define it. (init_function_start): Initialize it. * output.h: Declare it. * reorg.c (fill_simple_delay_slots, dbr_schedule): Mark the stack pointer as alive at the end of the function if current_function_sp_is_unchanging is set. * i386.c (ix86_epilogue): Optimize the restoring of the stack pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23009 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks_1): Fix prototype.mmitchel1998-10-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22986 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Delte "live_reachable_p" argument.law1998-10-101-5/+3
| | | | | | | | | | (find_basic_blocks_1): Similarly. * output.h (find_basic_blocks): Fix prototype. * gcse.c, toplev.c: Don't pass "live_reachable_p" argument to find_basic_blocks anymore. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22979 138bc75d-0d04-0410-961f-82ee72b054a4
* Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk>rth1998-10-091-1/+2
| | | | | | | | | | | | | | | | | | * flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use. * gcc.c (add_preprocessor_option): Correct typo when allocating memory, sizeof() argument had one too many `*'. (add_assembler_option): Likewise. (add_linker_option): Likewise. * gcov.c (output_data): Likewise. * local-alloc.c (memref_used_between_p): Likewise. (update_equiv_regs): Likewise. * loop.c (strength_reduce): Likewise. * reg-stack.c (record_asm_reg_life): Likewise. (subst_asm_stack_reg): Likewise. * reorg.c (dbr_schedule): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22964 138bc75d-0d04-0410-961f-82ee72b054a4
* Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>rth1998-10-091-453/+500
| | | | | | | | | | | | | | | | | * flow.c (life_analysis_1): Break out some functions. (find_basic_blocks_1): Likewise. Also move some variables out and make them static. Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize new static var nonlocal_label_list with it. (active_eh_region, nested_eh_region, label_value_list, nonlocal_label_list): New static variables. (make_edges, delete_unreachable_blocks, delete_block): New static functions, broken out of find_basic_blocks_1. (record_volatile_insns, mark_regs_live_at_end, set_noop_p, noop_move_p): New static functions, broken out of life_analysis_1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22963 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Correctly determine when a callrth1998-10-081-1/+6
| | | | | | | is within an exception region. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22928 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Calc upper bound for extra nops inrth1998-10-081-15/+54
| | | | | | | | | | | | | | | max_uids_for_flow. (find_basic_blocks_1): Add a nop to the end of a basic block when a trailing call insn does not have abnormal control flow. * gcse.c (pre_transpout): New variable. (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it. (compute_pre_transpout): Calculate it. (compute_pre_ppinout): Use it to eliminate impossible placements due to abnormal control flow through calls. (compute_pre_data): Call compute_pre_transpout. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22907 138bc75d-0d04-0410-961f-82ee72b054a4
* Cleanup for -fdump-unnumbered:amylaar1998-10-061-4/+4
| | | | | | | | | | | | | * flags.h (flag_dump_unnumbered): Declare. * toplev.c (flag_dump_unnumbered): Don't declare. * print-rtl.c (flags.h): Include. (print_rtl_single): Add return value. * rtl.h (print_rtl_single): Update declaration. * flow.c (flag_dump_unnumbered): Don't declare. (print_rtl_with_bb): Use return value of print_rtl_single. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22865 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to workjfc1998-10-011-7/+1
| | | | | | | | | | | | | | | with more than three size ranges. * flow.c (sbitmap_copy): Use bcopy to copy bitmap. * rtl.c (mode_name): Add a null string at the end of the array. (mode_wider_mode): Change type to unsigned char. (mode_mask_array): New variable. (init_rtl): Update for mode_wider_mode type change. * rtl.h (mode_wider_mode): Change type to unsigned char. (mode_mask_array): Declare. (GET_MODE_MASK): Use mode_mask_array. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22717 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for g++ failure reported by Brendan.wilson1998-09-211-5/+10
| | | | | | | | | | | | * flow.c (find_basic_blocks): Delete check for in_libcall_block when prev_code is a CALL_INSN. Change check for REG_RETVAL note to use in_libcall_block. (find_basic_blocks_1): Delete check for in_libcall_block when prev_code is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code to INSN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22529 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill.rth1998-09-151-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill. (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill. (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New. * c-decl.c (init_decl_processing): Update accordingly. * expr.c (expand_builtin): Likewise. * cp/decl.c (init_decl_processing): Likewise. * rtl.h (global_rtl): Add cfa entry. (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New. (LAST_VIRTUAL_REGISTER): Update. * emit-rtl.c (global_rtl): Add cfa entry. (init_emit): Initialize it. * function.c (cfa_offset): New. (instantiate_virtual_regs): Initialize it. (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx. (expand_function_end): Call expand_eh_return. * tm.texi (ARG_POINTER_CFA_OFFSET): New. * except.c (current_function_eh_stub_label): Kill. (current_function_eh_old_stub_label): Likwise; update all references. (expand_builtin_set_return_addr_reg): Kill. (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill. (expand_builtin_set_eh_regs): Kill. (eh_regs): Produce a third reg for the actual handler address. (eh_return_context, eh_return_stack_adjust): New. (eh_return_handler, eh_return_stub_label): New. (init_eh_for_function): Initialize them. (expand_builtin_eh_return, expand_eh_return): New. * except.h: Update prototypes. * flow.c (find_basic_blocks_1): Update references to the stub label. * function.h (struct function): Kill stub label elements. * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the register number is one that would be in the previous window. Provide a dummy definition for non-windowed targets. (get_reg_addr): New function. (get_reg, put_reg, copy_reg): Use it. (__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa. * alpha.c (alpha_eh_epilogue_sp_ofs): New. (alpha_init_expanders): Initialize it. (alpha_expand_epilogue): Use it. * alpha.h: Declare it. * alpha.md (eh_epilogue): New. * m68h.h (ARG_POINTER_CFA_OFFSET): New. * sparc.h (ARG_POINTER_CFA_OFFSET): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22436 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (mark_set_1): Recognize multi-register structure returndavem1998-09-121-6/+32
| | | | | | | | | | | values in CALL insns. (mark_used_regs): Likewise. (count_reg_sets_1): Likewise. (count_reg_references): Likewise. * rtlanal.c (note_stores): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22395 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.h (current_function_eh_stub_label): Declare.law1998-09-091-4/+26
| | | | | | | | | | | | | | | | | | | | | (current_function_eh_old_stub_label): Declare. * function.h (struct function): New members eh_stub_label and eh_old_stub_label. * except.c (current_function_eh_stub_label): New variable. (current_function_eh_old_stub_label): New variable. (init_eh_for_function): Clear them. (save_eh_status): Save them. (restore_eh_status): Restore them. (expand_builtin_eh_stub): Set current_function_eh_stub_label. (expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label. * flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't make an edge from the block that contains it to the block starting with the label if this label is one of the eh stub labels. If eh stub labels exist, show they are reachable from the last block in the function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22369 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c (init_decl_processing): Remove unneeded &.law1998-08-171-2/+0
| | | | | | | | | | | | | | | | | * alpha.h (alpha_initialize_trampoline): Provide prototype. * except.c (set_exception_lang_code, set_exception_version_code): Change parameter from `short' to `int' to avoid using a gcc extension. * except.h (set_exception_lang_code, set_exception_version_code): Likewise for prototypes. * flow.c (count_reg_references): Remove unused variables `regno' and `i'. * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'. * prefix.c (translate_name): Cast the result of `alloca'. * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21781 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (regno_uninitialized): Fixed regs are never uninitialized.rth1998-07-211-5/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21321 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_auto_inc): Remove most recent change. Real bug waslaw1998-07-081-4/+0
| | | | | | | elsewhere. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21013 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_auto_inc): Clear UNCHANGING bit of register that islaw1998-07-061-0/+4
| | | | | | | changed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20974 138bc75d-0d04-0410-961f-82ee72b054a4
* Switch reg_n_info structure to use varraysmeissner1998-07-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20894 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (recompute_reg_usage): Does not return a value.law1998-06-301-1/+1
| | | | | | | * rtl.h (recompute_reg_usage): Update prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20858 138bc75d-0d04-0410-961f-82ee72b054a4
* * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 forlaw1998-06-291-2/+5
| | | | | | | details. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20808 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (count_reg_sets): New function.law1998-06-271-0/+281
| | | | | | | | | | | (count_reg_sets_1, count_ref_references): Likewise. (recompute_reg_usage): Likewise. * rtl.h (recompute_reg_usage): Add prototype. * toplev.c (rest_of_compilation): Call recompute_reg_usage just before local register allocation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20756 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h (init_regset_vector): Delete declaration.law1998-06-211-1/+3
| | | | | | | * flow.c (init_regset_vector): Make it static and add a prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20647 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (allocate_for_life_analysis, init_regset_vector):law1998-06-201-2/+0
| | | | | | | | | | | | | | | Remove declaration. * function.h (get_first_block_beg): New declaration. * gbl-ctors.h (__do_global_dtors): Add prototype. * gcov-io.h (__fetch_long): New declaration. (__store_long): Likewise. (__read_long): Likewise. (__write_long): Likewise. * gcov.c (print_usage): New declaration. * Makefile.in (c-iterate.o): Depend on insn-codes.h too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20631 138bc75d-0d04-0410-961f-82ee72b054a4
* * alias.c: Include toplev.hlaw1998-06-191-0/+1
| | | | | | | | | | | | | | | | | * caller-save.c: Include toplev.h * combine.c: Include toplev.h * flow.c Include toplev.h * global.c: Include toplev.h * jump.c: Include toplev.h * local-alloc.c: Include toplev.h * loop.c: Include toplev.h * regmove.c: Include toplev.h * stupid.c: Include toplev.h * unroll.c: Include toplev.h * Makefile.in: Add toplev.h dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20623 138bc75d-0d04-0410-961f-82ee72b054a4
* Flow now removes exception regions when their handlers are all removed.amacleod1998-05-281-22/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20115 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning Fixes:ghazi1998-05-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (print-rtl.o): Depend on bitmap.h. (dbxout.o): Depend on toplev.h. ($(SCHED_PREFIX)sched.o): Likewise. ($(out_object_file)): Likewise for system.h and toplev.h. (cppmain.o): Depend on gansidecl.h. (cpplib.o): Likewise. (cpperror.o): Likewise. (cppexp.o): Likewise. (cpphash.o): Likewise. (cppalloc.o): Likewise. (fix-header.o): Depend on cpplib.h and cpphash.h. (scan-decls.o): Depend on gansidecl.h. * basic-block.h (free_regset_vector): Add prototype. * cccp.c (check_precompiled): Mark parameter `fname' with ATTRIBUTE_UNUSED. (do_assert): Likewise for `op' and `keyword'. (do_unassert): Likewise. (do_line): Likewise for `keyword'. (do_error): Likewise for `op' and `keyword'. (do_warning): Likewise. (do_ident): Likewise for `keyword'. (do_pragma): Likewise for `limit', `op' and `keyword'. (do_sccs): Likewise. (do_if): Likewise for `keyword'. (do_elif): Likewise. (do_else): Likewise. (do_endif): Likewise. * collect2.c (getenv): Remove redundant prototype. (collect_exit, collect_execute, dump_file): Likewise. (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST. (dump_prefix_list): Hide prototype and definition. * sparc.c: Include toplev.h. (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED. (symbolic_memory_operand): Likewise. (sp64_medium_pic_operand): Likewise. (data_segment_operand): Likewise. (text_segment_operand): Likewise. (splittable_symbolic_memory_operand): Likewise. (splittable_immediate_memory_operand): Likewise. (eq_or_neq): Likewise. (normal_comp_operator): Likewise. (noov_compare_op): Likewise. (v9_regcmp_op): Likewise. (v8plus_regcmp_op): Likewise. (extend_op): Likewise. (cc_arithop): Likewise. (cc_arithopn): Likewise. (small_int): Likewise. (uns_small_int): Likewise. (clobbered_register): Likewise. (legitimize_pic_address): Likewise. (delay_operand): Likewise. (sparc_builtin_saveregs): Remove unused variable `stdarg'. * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay, sparc_issue_rate, v8plus_regcmp_p): Add prototypes. * sparc.md (cmpdi_v8plus): Add abort for default case in switch. * cppalloc.c: Include gansidecl.h. * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h. (cpp_file_line_for_message): Mark parameter `pfile' with ATTRIBUTE_UNUSED. (v_cpp_message): New function. (cpp_message): Use it. Also convert to variable arguments. (cpp_fatal): Likewise. (cpp_pfatal_with_name): Constify parameter `name'. * cppexp.c: Move gansidecl.h before cpplib.h. * cpphash.c: Likewise. * cpphash.h (hashf, delete_macro): Add prototypes. * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before cpplib.h. Don't include errno.h. (update_path): Add arguments to prototype. (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro, cpp_print_containing_files): Remove redundant prototypes. (cpp_hash_cleanup, add_import, append_include_chain, make_assertion, path_include, initialize_builtins, initialize_char_syntax, finclude, validate_else, comp_def_part, lookup_import, redundant_include_p, is_system_include, read_name_map, read_filename_string, open_include_file, check_macro_name, compare_defs, compare_token_lists, eval_if_expression, change_newlines): Add prototype arguments. (hashf): Remove redundant prototype. (read_token_list, free_token_list, safe_read, xcalloc, savestring, conditional_skip, skip_if_group): Add prototype arguments. (fdopen): Remove redundant prototype. (do_define, do_line, do_include, do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs, do_once, do_assert, do_unassert, do_warning): Add prototype arguments. (struct directive): Add prototype arguments to function pointer member `func'. (handle_directive): Add missing arguments to call to `do_line'. (do_include): Mark parameters `unused1' and `unused2' with ATTRIBUTE_UNUSED. (do_line): Likewise for `keyword' and new parameters `unused1' and `unused2'. (do_error): Likewise for `keyword'. (do_warning): Likewise. Also add missing argument `pfile' in call to cpp_pedwarn. (do_once): Mark parameter `keyword', `unused1' and `unused2' with ATTRIBUTE_UNUSED. (do_ident): Likewise for `keyword', `buf' and `limit'. (do_pragma): Likewise. Also add missing arguments in call to do_once. (do_sccs): Mark parameter `keyword', `buf' and `limit' with ATTRIBUTE_UNUSED. (do_if): Likewise for `keyword'. (do_elif): Likewise. (eval_if_expression): Likewise for `buf' and `length'. (do_xifdef): Likewise for `unused1' and `unused2'. (do_else): Likewise for `keyword', `buf' and `limit'. (do_endif): Likewise. (parse_name): Add missing argument `pfile' in call to cpp_pedwarn. (cpp_handle_options): Remove superfluous NULL argument in call to cpp_fatal. (cpp_handle_options): Likewise. (do_assert): Mark parameter `keyword', `buf' and `limit' with ATTRIBUTE_UNUSED. (do_unassert): Likewise. (cpp_print_file_and_line): Add missing argument `pfile' in call to cpp_file_line_for_message. (v_cpp_error): New function. (cpp_error): Use it. Also accept variable arguments. (v_cpp_warning): New function. (cpp_warning): Use it. Also accept variable arguments. (cpp_pedwarn): Accept variable arguments. (v_cpp_error_with_line): New function (cpp_error_with_line): Use it. Accept variable arguments. (v_cpp_warning_with_line): New function. (cpp_warning_with_line): Use it. Accept variable arguments. Hide definition. (cpp_pedwarn_with_line): Accept variable arguments. (cpp_pedwarn_with_file_and_line): Likewise. (cpp_error_from_errno): Constify parameter `name'. Add missing argument `pfile' in call to cpp_file_line_for_message. (cpp_perror_with_name): Constify parameter `name'. * cpplib.h: Define PARAMS() in terms of PROTO(). (fatal): Remove redundant prototype. (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line, cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line, cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name, cpp_fatal, cpp_message, cpp_pfatal_with_name, cpp_file_line_for_message, cpp_print_containing_files): Add arguments to prototypes. (scan_decls, cpp_finish): Add prototypes. * cppmain.c: Include gansidecl.h. (main): Remove unused variable `i'. * dbxout.c: Include toplev.h. * demangle.h (do_tlink, collect_execute, collect_exit, collect_wait, dump_file, file_exists): Add prototype. * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide prototype and definition. (gen_unspecified_parameters_die): Don't assign results of call to function new_die() to unused variable `parm_die'. (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED. (dwarf2out_define): Likewise for `lineno' and `buffer'. * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide prototype and definition. (output_die): Add prototype arguments to function pointer arg. (output_unspecified_parameters_die): Mark parameter `arg' with ATTRIBUTE_UNUSED. * except.c (output_exception_table_entry): Remove unused variable `eh_entry'. * except.h (expand_fixup_region_start, expand_fixup_region_end): Add prototypes. * expr.c (do_jump_by_parts_equality_rtx): Remove prototype. * expr.h (do_jump_by_parts_equality_rtx): Add prototype. * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h before cpplib.h, include cpphash.h, remove redundant prototype of cpp_fatal, don't define `const', add a prototype for `fatal'. (cpp_file_line_for_message): Add missing arguments `pfile'. (v_cpp_message): New function. (cpp_message): Use it. (v_fatal): New function. (fatal, cpp_fatal): Use it. (cpp_pfatal_with_name): Constify parameter `name'. * flow.c (free_regset_vector): Remove redundant prototype. * function.c (round_down): Wrap prototype and definition with macro ARGS_GROW_DOWNWARD. (record_insns): Wrap prototype and definition with defined (HAVE_prologue) || defined (HAVE_epilogue). * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros. * gen-protos.c: Include gansidecl.h. (hashf): Don't make it static, constify parameter `name'. * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match specifier %s in calls to function `fatal'. * haifa-sched.c: Include toplev.h. (find_rgns): Remove unused variable `j'. * integrate.c (note_modified_parmregs): Mark parameter `x' with ATTRIBUTE_UNUSED. (mark_stores): Likewise. * jump.c (mark_modified_reg): Likewise. * output.h (insn_current_reference_address): Add prototype. (eh_frame_section): Likewise. * print-rtl.c: Include bitmap.h. * reload1.c (reload): Wrap variables `note' and `next' in macro PRESERVE_DEATH_INFO_REGNO_P. (forget_old_reloads_1): Mark parameter `ignored' with ATTRIBUTE_UNUSED. (choose_reload_regs): Remove unused variable `in'. (reload_cse_invalidate_mem): Mark parameter `ignore' with ATTRIBUTE_UNUSED. (reload_cse_check_clobber): Likewise. * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype. (mark_elimination): Fix typo in prototype. * scan-decls.c: Include gansidecl.h. * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19867 138bc75d-0d04-0410-961f-82ee72b054a4
* First cut of changes to utilize the new exception handling modelamacleod1998-05-141-20/+35
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19746 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1998-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h. (c-lex.o): Depend on output.h. (c-common.o): Likewise. (stmt.o): Likewise. (calls.o): Likewise. (integrate.o): Depend on toplev.h. (regclass.o): Depend on output.h. (final.o): Depend on reload.h. * c-common.c: Include output.h. (check_format_info): Remove unused variable `integral_format'. * c-decl.c (print_lang_decl): Mark parameters `file', `node' and `indent' with ATTRIBUTE_UNUSED. (print_lang_type): Likewise. (maybe_build_cleanup): Likewise for parameter `decl'. (copy_lang_decl): Likewise for parameter `node'. * c-lang.c: Include c-tree.h, c-lex.h and toplev.h. (lang_print_xnode): Mark parameters `file', `node' and `indent' with ATTRIBUTE_UNUSED. (lookup_interface): Likewise for parameter `arg'. (is_class_name): Likewise. (maybe_objc_check_decl): Likewise for parameter `decl'. (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and `reflexive'. (maybe_objc_method_name): Likewise for parameter `decl'. (build_objc_string): Likewise for parameters `len' and `str'. * c-lex.c: Include output.h. * c-lex.h (position_after_white_space): Correct typo in prototype. * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else, c_expand_end_cond, init_iterators): Add prototypes. * caller-save.c (set_reg_live): Mark parameters `reg' and `setter' with ATTRIBUTE_UNUSED. * calls.c: Include output.h. * cccp.c (pipe_closed): Mark parameter `signo' with ATTRIBUTE_UNUSED. * combine.c: Move inclusion of expr.h to after insn-config.h. * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define as empty, rather define as ((void)0). * sparc.c (sparc_check_64): Add braces around ambiguous `else'. Add parentheses around assignment used as truth value. * cplus-dem.c (squangle_mop_up): Change return type to void. (internal_cplus_demangle): Remove unused parameter `options'. All callers changed. (cplus_demangle_opname): Remove function wide variable `int i' and replace with `size_t i' at each location where it is used. (cplus_demangle_opname): change type of `i' from int to size_t. * cppexp.c (right_shift): Mark parameter `pfile' with ATTRIBUTE_UNUSED. * cpphash.c (cpp_lookup): Likewise. (cpp_hash_cleanup): Likewise. * cpplib.c (parse_name): Add a prototype and make it static. (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED. (null_cleanup): Likewise for parameters `pbuf' and `pfile'. (macro_cleanup): Likewise for parameter `pfile'. (file_cleanup): Likewise. * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read, cpp_read_check_assertion, skip_rest_of_line): Add prototypes. * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data, __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED. * cse.c (cse_check_loop_start): Mark parameter `set' with ATTRIBUTE_UNUSED. * dbxout.c (flag_minimal_debug, have_used_extensions, source_label_number): Move inside macro wrapper check against defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO). * dwarf2out.c (gen_entry_point_die): Hide prototype and definition. * except.h (doing_eh): Provide prototype. * expr.c: Move inclusion of expr.h to after insn-config.h. * final.c: Include reload.h. (shorten_branches): Cast the first argument of bzero to char *. * fix-header.c (cpp_print_containing_files): Mark parameter `pfile' with ATTRIBUTE_UNUSED. (cpp_fatal): Likewise. * flow.c (find_basic_blocks_1): Cast the first argument of bzero to char *. * genattrtab.c (make_length_attrs): Change the type of variable `i' from int to size_t. (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED. (one_fn): Likewise. * genextract.c (main): When generating insn-extract.c, mark variable `junk' with ATTRIBUTE_UNUSED. * gengenrtl.c (gencode): When generating genrtl.c, cast the first argument of bzero to char*. * integrate.c: Include toplev.h. * libgcc2.c: Wrap `struct exception_table' and `find_exception_handler' in macro DWARF2_UNWIND_INFO. * objc/Make-lang.in (objc-act.o): Depend on toplev.h. * objc/objc-act.c: Include toplev.h. (lang_print_xnode): Mark parameters `file', `node' and `indent' with ATTRIBUTE_UNUSED. (finish_protocol): Likewise for parameter `protocol'. * output.h (declare_weak): Add prototype. (decode_reg_name): Don't wrap with TREE_CODE macro. (assemble_alias): Add prototype. * regclass.c: Include output.h. * reload.h (reloads_conflict): Add prototype. * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p, output_func_start_profiler): Add prototypes. * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with ATTRIBUTE_UNUSED. * scan-decls.c: Include scan.h. * scan.h (recognized_function, recognized_extern): Add prototypes. * stmt.c: Include output.h. * toplev.c (error_for_asm, warning_for_asm): Remove prototypes. (output_lang_identify): Hide prototype and definition. (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED. (pipe_closed): Likewise. * toplev.h (count_error, strip_off_ending, error_for_asm, warning_for_asm): Add prototypes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19712 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (dump_flow_info): Also print number of sets andlaw1998-05-131-0/+5
| | | | | | | whether or not the pseudo is a user variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19710 138bc75d-0d04-0410-961f-82ee72b054a4
* * acconfig.h (ENABLE_CHECKING): Undefine.law1998-05-131-0/+4
| | | | | | | | | | | | | | * configure.in (--enable-checking): New option. * flow.c (reg_n_max): New global variable. * regclass.c (allocate_reg_info): Keep reg_n_max up to date. Delete regno_max variable. * regs.h (REG_N_CHECK): Define. (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK. (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise. (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19708 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud