aboutsummaryrefslogtreecommitdiff
path: root/gcc/haifa-sched.c
AgeCommit message (Collapse)AuthorFilesLines
1999-05-31flow.c (mark_regs_live_at_end, [...]): Only give FRAME_POINTER_REGNUM and ↵John Wehle1-5/+8
HARD_FRAME_POINTER_REGNUM special treatment... * flow.c (mark_regs_live_at_end, insn_dead_p, mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM and HARD_FRAME_POINTER_REGNUM special treatment if reload hasn't run or the frame pointer is needed. * haifa-sched.c (attach_deaths): Likewise. * sched.c (attach_deaths): Likewise. From-SVN: r27276
1999-04-17c-aux-info.c, [...]: Include toplev.h for real declaration of trim_filename.Zack Weinberg1-0/+1
1999-04-17 20:11 -0400 Zack Weinberg <zack@rabi.columbia.edu> * c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c, haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include toplev.h for real declaration of trim_filename. * Makefile.in: Update dependencies. From-SVN: r26523
1999-03-13* haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.Richard Henderson1-2/+2
From-SVN: r25752
1999-03-08haifa-sched.c (sched_analyze_1): Fix last change -- add clobber dependancies ↵Richard Henderson1-1/+5
to sets in the non-hard-reg case too. * haifa-sched.c (sched_analyze_1): Fix last change -- add clobber dependancies to sets in the non-hard-reg case too. From-SVN: r25648
1999-03-07haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.Richard Henderson1-5/+14
* haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far. (print_exp): Special case addition of a constant. (print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX. From-SVN: r25629
1999-03-07haifa-sched.c (reg_last_clobbers): New.Richard Henderson1-16/+90
* haifa-sched.c (reg_last_clobbers): New. (reg_pending_clobbers, bb_reg_last_clobbers): New. (compute_block_backward_dependences): Allocate memory for them. (schedule_region): Likewise. (sched_analyze_1): Clobbers don't interfere with one another. They do interfere with sets ... (sched_analyze_2): ... and uses. (sched_analyze): Likewise. (sched_analyze_insn): Update reg_last_clobbers appropriately. From-SVN: r25628
1999-02-25Flow rewrite to use basic block structures and edge lists.Richard Henderson1-17/+20
From-SVN: r25450
1999-02-05haifa-sched.c (add_dependence): Do not add a dependency on a note.Jeff Law1-0/+6
h * haifa-sched.c (add_dependence): Do not add a dependency on a note. From-SVN: r25044
1999-02-02Bob Manson <manson@charmed.cygnus.com>Bob Manson1-111/+2
Bob Manson <manson@charmed.cygnus.com> * resource.c, resource.h: New files. * haifa-sched.c (regno_use_in): Moved to rtlanal.c. (split_block_insns): Moved to recog.c. (update_flow_info): Make public. * reorg.c: Moved the functions dealing with computing resource usage to resource.c. * sched.c (regno_use_in): Moved to rtlanal.c. (update_flow_info): Make public. (schedule_insns): Use split_block_insns. * recog.c (split_block_insns): New function. From-SVN: r24982
1999-01-11Update copyrights.Richard Henderson1-1/+1
From-SVN: r24624
1999-01-11basic-block.h (basic_block_head): Rename to x_basic_block_head.Richard Henderson1-46/+45
* basic-block.h (basic_block_head): Rename to x_basic_block_head. (basic_block_end): Rename to x_basic_block_end. (BLOCK_HEAD, BLOCK_END): Update. * caller-save.c: Change basic_block_head/end references to BLOCK_HEAD/END. * combine.c, flow.c, function.c, gcse.c, global.c: Likewise. * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise. * regmove.c, reload1.c, reorg.c, sched.c: Likewise. From-SVN: r24622
1998-10-29Fix sched REG_DEAD note handling bug found by post-reload-flow pass.Jim Wilson1-2/+22
* sched.c (update_flow_info): Add code to ! found_orig_dest case to handle deleted no-op moves of hard registers. * haifa-sched.c (update_flow_info): Likewise. From-SVN: r23431
1998-10-23sched.c (update_flow_info): Revert Oct 19, 1998 change.Jeffrey A Law1-15/+1
* sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings back Oct 15, 1998 change. * haifa-sched.c (update_flow_info): Likewise. * flow.c (life_analysis_1): Delete CLOBBER insns after reload. Real fix was in flow.c... From-SVN: r23261
1998-10-19sched.c (update_flow_info): Handle death notes made invalid by instruction ↵Jeff Law1-1/+15
splitting. � * sched.c (update_flow_info): Handle death notes made invalid by instruction splitting. Partially reverts Oct 15, 1998 patch. * haifa-sched.c (update_flow_info): Likewise. From-SVN: r23170
1998-10-17Warning fixes:Kaveh R. Ghazi1-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. From-SVN: r23155
1998-10-15flow.c (life_analysis_1): Do not clobber regs_ever_live after reload.Bernd Schmidt1-31/+1
* flow.c (life_analysis_1): Do not clobber regs_ever_live after 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. Co-Authored-By: Jeffrey A Law <law@cygnus.com> From-SVN: r23120
1998-09-11More multi-register structure return recognition fixes and:David S. Miller1-8/+70
* config/sparc/sparc.md (movdf_const_intreg_sp64): Disable. From-SVN: r22396
1998-08-31print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.Richard Henderson1-4/+23
� * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap. * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START and NOTE_INSN_RANGE_END specially. (reemit_notes): Likewise. From-SVN: r22127
1998-08-27* haifa-sched.c (sched_analyze_insn): Fix thinko in last change.Jeffrey A Law1-5/+5
From-SVN: r22022
1998-08-26haifa-sched.c (last_clock_var): New.Richard Henderson1-0/+15
* haifa-sched.c (last_clock_var): New. (schedule_block): Initialize it. (schedule_insn): Use it to fill insn modes with issue information. From-SVN: r22009
1998-08-26haifa-sched.c (sched_analyze_insn): Only create scheduling barriers for LOOP...Jeffrey A Law1-17/+35
* haifa-sched.c (sched_analyze_insn): Only create scheduling barriers for LOOP, EH and SETJMP notes on the loop_notes list. From-SVN: r22005
1998-08-18haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last pending memory ↵Jeffrey A Law1-0/+4
flush list. * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last pending memory flush list. From-SVN: r21836
1998-07-02haifa-sched.c (alloc_EXPR_LIST): Change to use unused_expr_list.Catherine Moore1-3/+3
* haifa-sched.c (alloc_EXPR_LIST): Change to use unused_expr_list. From-SVN: r20889
1998-06-29Warning fixes:Kaveh R. Ghazi1-31/+0
* Makefile.in (fix-header): Don't needlessly depend on cpperror.o. * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to void since it is evaluated in a comma list. * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM' argument as a long and cast `NUM' to long to ensure it is of the proper width. Wrap macro arguments in parens when they appear in the expansion. * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. (ASM_DECLARE_RESULT): Fix fprintf format specifier to match function argument return type. (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P, REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'. * cpplib.c (cpp_message_from_errno): Remove unneeded argument to cpp_message. * dbxout.c: Fix the comments after an #endif to reflect the actual condition tested in the preceding #if. * except.c (find_all_handler_type_matches): Switch to old-style function definition. * expr.c (expand_builtin): Remove unused variable `type' twice. * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it to an unsigned long. * haifa-sched.c (print_insn_chain): Remove unused function. * objc/objc-act.c (build_msg_pool_reference): Hide prototype and definition. * toplev.c: When testing whether to include dbxout.h, also include it when XCOFF_DEBUGGING_INFO is defined. * unroll.c (unroll_loop): Add parentheses around assignment used as truth value. From-SVN: r20801
1998-06-26Add hooks for the machine to override the sorting of the ready list and ↵Michael Meissner1-0/+14
variable issue rates From-SVN: r20740
1998-06-21haifa-sched.c (insn_issue_delay, [...]): New declaration.H.J. Lu1-6/+7
* haifa-sched.c (insn_issue_delay, birthing_insn_p, adjust_priority, print_insn_chaino): New declaration. (schedule_insns): Remove declaration. (init_target_units, get_visual_tbl_length, init_block_visualization): Add prototype. From-SVN: r20642
1998-06-21haifa-sched.c (debug_ready_list): Make static.Jeff Law1-2/+2
* haifa-sched.c (debug_ready_list): Make static. * toplev.h (fancy_abort): Declare. * rtl.h (expand_expr): Remove declaration. From-SVN: r20640
1998-06-18Fix stack overflow found by glibc compile with max optimizations.Jim Wilson1-16/+40
* sched.c (schedule_insns): Use xmalloc not alloca for max_uid indexed arrays. Call free at the end of the function for them. * haifa-sched.c (schedule_insns): Likewise. From-SVN: r20563
1998-06-17haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.John Carr1-1/+13
* haifa-sched.c (haifa_classify_insn): TRAP_IF is risky. (sched_analyze_2): Allow scheduling TRAP_IF. * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF. * rtl.h (TRAP_CODE): New macro. * rtl.def (TRAP_IF): Change second operand type to rtx. * optabs.c (gen_cond_trap): New function. (init_traps): New function. (init_optabs): Call init_traps. * expr.h: Declare gen_cond_trap. * jump.c (jump_optimize): Optimize jumps to and around traps. * sparc.md: Define trap instructions. * rs6000.md: Define trap instructions. * rs6000.c (print_operand): New code 'V' for trap condition. (trap_comparison_operator): New function. * m88k.md: Update use of TRAP_IF. * tree.h (enum built_in_function): New function code BUILT_IN_TRAP. * c-decl.c (init_decl_processing): New builtin __builtin_trap. * expr.c (expand_builtin): Handle BUILT_IN_TRAP. * expr.c (expand_builtin): Error if __builtin_longjmp second argument is not 1. From-SVN: r20543
1998-06-09haifa-sched.c (update_flow_info): Use UNITS_PER_WORD...John Carr1-1/+1
* haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX, as the threshold to permit splitting memory operations. From-SVN: r20374
1998-06-05haifa-sched.c (rank_for_schedule): For "equally good insns", prefer the insn ↵Jeffrey A Law1-2/+18
which has the most insns dependent on it. * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer the insn which has the most insns dependent on it. From-SVN: r20243
1998-05-19Warning Fixes:Kaveh R. Ghazi1-1/+2
* 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. From-SVN: r19867
1998-05-13Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.Michael Meissner1-0/+4
* Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o. (rtl.o, emit-rtl.o): Add dependency on bitmap.h. ($(HOST_PREFIX_1)rtl.o): Likewise. ($(HOST_PREFIX_1)bitmap.o): New host object. * emit-rtl.c (toplevel): Include bitmap.h. (gen_rtx): Handle 't' and 'b' nodes. * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes. Print block number for block begin/end notes. Print 't' type nodes as a pointer. Know that the 3rd argument of live range start/stop notes is really a range_info rtx. If type is 'b', print out argument as a bitmap. * rtl.c: Include bitmap.c. (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'. (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE. * rtl.def (RANGE_LIVE): New node to hold live information while we recalculate the basic blocks. (RANGE_REG, RANGE_INFO): New rtl types for live range splitting. (RANGE_VAR): New node, to hold information saved in symbol node for New communicating live range information to the debug output functions. * rtl.h (rtunion_def): Add rttree and rtbit fields. (XBITMAP, XTREE): New accessor macros. (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes. (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes. (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define. (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes. (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros. (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros. (RANGE_INFO_*): Likewise. * sched.c (sched_analyze): Keep live range start/stop notes. (unlink_other_notes): Likewise. * haifa-sched.c (sched_analyze): Keep live range start/stop notes. (unlink_other_notes): Likewise. * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros. (BLOCK_LIVE_RANGE_FLAG): Likewise. (DECL_LIVE_RANGE_RTL): Likewise. (struct tree_block): Add live_range_flag, live_range_var_flag, live_range_start and live_range_end. (struct tree_decl): Add live_range_rtl field. * gengenrtl.c (type_from_format): Handle 'b' and 't'. (accessor_from_format): Likewise. Co-Authored-By: Jeffrey A Law <law@cygnus.com> From-SVN: r19727
1998-05-13* haifa-sched.c (schedule_insns): Fix merge goof.Jeffrey A Law1-3/+1
From-SVN: r19725
1998-05-13Add a blank line in verbose debug outputMichael Meissner1-1/+1
From-SVN: r19724
1998-05-13align debug outputMichael Meissner1-3/+5
From-SVN: r19721
1998-05-12Use HAIFA_INLINE for inlining functions instead of __inline directlyMichael Meissner1-16/+20
From-SVN: r19700
1998-05-08* haifa-sched.c (print_exp): Fix typo.Richard Henderson1-2/+2
From-SVN: r19643
1998-05-06Fix typo.Jeff Law1-1/+1
From-SVN: r19606
1998-05-06typo typo fixes fixesJeff Law1-1/+1
From-SVN: r19601
1998-05-06* haifa-sched.c (print_value, case SUBREG): Fix typo.Jeffrey A Law1-1/+1
From-SVN: r19593
1998-05-06toplev.c (-fsched-max): Delete flag.Jeffrey A Law1-78/+62
* toplev.c (-fsched-max): Delete flag. (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise. * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG conditionals. * haifa-sched.c (find_rgns): Correctly handle reducible loops with inner loops which are not reducible. From-SVN: r19586
1998-05-05haifa-sched.c (find_rgns): In no_loops case, fix test for leaf blocks.Jeffrey A Law1-118/+144
* haifa-sched.c (find_rgns): In no_loops case, fix test for leaf blocks. Check for 1 successor which is the EXIT_BLOCK. * haifa-sched.c (find_rgns): Detect unreachable blocks, including unreachable loops with more than one block. Co-Authored-By: Jim Wilson <wilson@cygnus.com> From-SVN: r19558
1998-04-30Prevent buffer overrun in debug output; Make alloc_{INSN,EXPR}_LIST staticMichael Meissner1-226/+276
From-SVN: r19503
1998-04-29sched.c (new_insn_dead_notes): Check if the register was used in the ↵J"orn Rennecke1-0/+7
original instruction. * sched.c (new_insn_dead_notes): Check if the register was used in the original instruction. * haifa-sched.c (new_insn_dead_notes): Likewise. From-SVN: r19494
1998-04-18* haifa-sched.c (queue_to_ready): Fix typo in prototype.Richard Henderson1-1/+1
From-SVN: r19293
1998-04-16loop.c (regs_patch_p): Add prototype.Jeff Law1-1/+2
* loop.c (regs_patch_p): Add prototype. (add_label_notes, count_nonfixed_reads): Likewise. (find_single_use_in_loop): Likewise. (express_from): Surround prototype with #ifdef. (giv_sort): Similarly. * jump.c (mark_modified_reg): Add prototype. * haifa-sched.c (is_prisky): Add prototype. (queue_to_ready): Likewise. * genextract.c (gen_insn): Add prototype. * genemit.c (max_operand_1): Add prototype. (max_operand_vec, print_code, gen_exp, gen_insn): Likewise. (gen_expand, gen_explit, output_add_clobbers): Likewise. (output_init_mov_optab): Likewise. * genattrtab.c (attr_hash_add_rtx): Add prototype. (attr_hash_add_string, write_length_unit_log): Likewise. * genattr.c (init_range): Add prototype. * combine.c (sets_function_arg_p): Add prototype. From-SVN: r19251
1998-04-16haifa-sched.c (build_control_flow): Accept raw data as inputs instead of ↵Jeffrey A Law1-237/+255
computing it locally. * haifa-sched.c (build_control_flow): Accept raw data as inputs instead of computing it locally. Callers changed. (find_rgns): Several new arguments. Callers changed. Generally clean up and comment better. Use dominators to identify reducible loops. Convert some flag arrays to bitmaps. Convert most of the code to work on pred/succ lists instead of an edge table. Add comments for future improvements. (schedule_insns): Allocate temporary tables for flow data, call routines to compute flow data and pass it along to children as arguments. (debug_control_flow): Delete. Use dump_bb_data instead. General cleanup + fix a bug or two. From-SVN: r19244
1998-04-06Fix solaris2 loop-2d.c failure reported by Manfred Hollstein.Jim Wilson1-1/+4
* haifa-sched.c (build_control_flow): Set unreachable for block whose only predecessor is itself. From-SVN: r19021
1998-04-04haifa-sched.c (split_block_insns): Don't supress insn splitting on ↵Richard Henderson1-25/+17
subsequent passes. * haifa-sched.c (split_block_insns): Don't supress insn splitting on subsequent passes. * alpha.c (hard_fp_register_operand): New function. * alpha.h (PREDICATE_CODES): Add it. * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an f<-m case and accompanying define_split. (trapb): Use a unique unspec_volatile number. From-SVN: r18992