summaryrefslogtreecommitdiff
path: root/gcc/global.c
Commit message (Collapse)AuthorAgeFilesLines
...
* * global.c (prune_preferences): Move some invariants out of theamylaar1999-08-121-9/+11
| | | | | | | inner loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28691 138bc75d-0d04-0410-961f-82ee72b054a4
* Include function.h in most files. Remove most of the global variablescrux1999-08-091-0/+1
| | | | | | | | | duplicated in function.h. Add accessor macros for them which access current_function. Delete INLINE_HEADER rtx and related code, replace with code using struct function to store inlining related data. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28626 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert last change until I figure out what's wrong with it.rth1999-08-081-64/+72
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28592 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SETrth1999-08-071-72/+64
| | | | | | | to invert loops. Simplify block scanning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28583 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c: Fix comment.law1999-08-041-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28488 138bc75d-0d04-0410-961f-82ee72b054a4
* Flow rewrite to use basic block structures and edge lists.rth1999-02-251-14/+27
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25450 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyrights.rth1999-01-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24624 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h (basic_block_head): Rename to x_basic_block_head.rth1999-01-111-4/+4
| | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24622 138bc75d-0d04-0410-961f-82ee72b054a4
* Copyright fixes.law1999-01-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24535 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtlanal.c (multiple_sets): New function.law1998-12-121-3/+10
| | | | | | | | | | * rtl.h (multiple_sets): Declare it. * local-alloc.c (wipe_dead_reg): Use it. * global.c (global_conflicts): Likewise. Should fix the m68k bootstrap problems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24283 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c (record_conflicts): Don't use an array of shorts tommitchel1998-12-121-4/+4
| | | | | | | | store an array of ints. (global_conflicts): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24282 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1998-10-141-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * global.c (build_insn_chain): Verify no real insns exist past thelaw1998-10-091-0/+14
| | | | | | | end of the last basic block, then exit the loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22961 138bc75d-0d04-0410-961f-82ee72b054a4
* * loop.c (count_one_set): New static function, broken out oflaw1998-10-061-63/+6
| | | | | | | | | | | | | | | count_loop_regs_set (count_loop_regs_set): Call it. * global.c (mark_reg_store): Handle clobbers here by not calling set_preference. (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER is in fact a clobber. * integrate.c (process_reg_param): New function, broken out of expand_inline_function. (expand_inline_function): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22875 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (stupid.o): Update dependencies.law1998-10-061-1/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (global.o): Likewise. * global.c: Include reload.h (reg_becomes_live): New function. (reg_dies): New function. (build_insn_chain): New function. (global_alloc): Call build_insn_chain before calling reload. * reload.h (struct needs): New structure definition. (struct insn_chain): Likewise. (reload_insn_chain): Declare variable. (new_insn_chain): Declare function. * reload1.c (reload_startobj): New variable. (reload_insn_chain): New variable. (unused_insn_chains): New variable. (new_insn_chain): New function. (init_reload): Initialize reload_startobj, not reload_firstobj. (reload): Initialize reload_firstobj. Before returning, free everything on the reload_obstack. * stupid.c: Include insn-config.h, reload.h and basic-block.h. (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber, current_chain): New variables. (reg_where_born): Delete variable. (REG_WHERE_BORN): New macro. (find_clobbered_regs): New function. (stupid_life_analysis): Don't allocate/free reg_where_born. Allocate and free reg_where_born_exact, reg_where_born_clobber, reg_where_dead_chain. Use REG_WHERE_BORN instead of reg_where_born. While processing the insns, build the reload_insn_chain with information about register lifetimes. (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born. (stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers changed. Compute and information about birth and death of pseudo registers in reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber. Delete code to set elements of reg_where_born. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22862 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c (global_alloc): Delete code to manage the scratch_list.law1998-10-021-12/+0
| | | | | | | | | | | | | | | | | | | | | | | * local-alloc.c (qty_scratch_rtx): Delete. (scratch_block): Delete. (scratch_list): Delete. (scratch_list_length): Delete. (scratch_index): Delete. (alloc_qty_for_scratch): Delete. (local-alloc): Update initialization of max_qty. Delete code to manage the scratch list. Delete code to allocate/initialize qty_scratch_rtx. (block_alloc): Don't allocate quantities for scratches. Delete code to manage the scratch list. * regs.h (scratch_list): Delete declaration. (scratch_block): Delete declaration. (scratch_list_length): Delete declaration. * reload1.c (reload): Delete code to manage the scratch list. (spill_hard_reg): Likewise. (mark_scratch_live): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22751 138bc75d-0d04-0410-961f-82ee72b054a4
* * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.law1998-09-301-1/+4
| | | | | | | | | * local-alloc.c (find_free_reg): Use it. * global.c (find_reg): Likewise. * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22688 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c (reg_allocno): Now static.law1998-09-161-1/+1
| | | | | | | | | * reload1.c (reg_allocno): Delete declaration. (order_regs_for_reload): Take no arguments. Don't treat regs allocated by global differently than those allocated by local-alloc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22446 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c: Update comments.law1998-09-081-32/+47
| | | | | | | | | | | | | | | | | (global_alloc): Assign allocation-numbers even for registers allocated by local_alloc in case they are later spilled and retry_global_alloc is called. (mark_reg_store, mark_reg_clobber, mark_reg_conflicts, mark_reg_death): Always record a conflict with a pseudo register even if it has been assigned to a hard register. (dump_conflicts): Don't list pseudo registers already assigned to a hard register as needing to be allocated, but do list their conflicts. * local-alloc.c: Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22322 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c: Include machmode.h amd move hard-reg-set.h beforelaw1998-06-211-1/+2
| | | | | | | rtl.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20643 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
* * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,law1998-04-181-2/+2
| | | | | | | just pass zero. That will work regardless of the size of HARD_REG_SET. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19276 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h (basic_block_computed_jump_target): Declare.law1998-03-281-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | * flags.h: (current_function_has_computed_jump): Declare. * flow.c: (basic_block_computed_jump_target): Define. (flow_analysis): Allocate it. Set current_function_has_computed_jump to 0. (find_basic_blocks): Set current_function_has_computed_jump and elements of basic_block_computed_jump_target to 1 as appropriate. * function.c: (current_function_has_computed_jump): Define. * global.c (global_conflicts): Don't allocate pseudos into stack regs at the start of a block that is reachable by a computed jump. * reg-stack.c (stack_reg_life_analysis): If must restart, do so immediately. (subst_stack_regs): Undo change from Sep 4 1997. (uses_reg_or_mem): Now unused, deleted. * stupid.c (stupid_life_analysis): Compute current_function_has_computed_jump. (stupid_find_reg): Don't allocate stack regs if the function has a computed goto. * haifa-sched.c (is_cfg_nonregular): Delete code to determine if the current function has a computed jump. Use the global value instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18860 138bc75d-0d04-0410-961f-82ee72b054a4
* Major cutover to using system.h:ghazi1998-03-201-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o, c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o, caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o, dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o, expr.o, final.o, flow.o, function.o, getpwd.o, global.o, integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o, prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o, reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o, rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o, tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend on system.h. * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c, c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c, caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c, dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c, expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c, integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c, prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c, reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c, rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c, stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c, xcoffout.c: Include system.h. Organize include ordering so that stdarg/varargs comes before other system headers. Remove spurious casts of functions assured of a prototype in system.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18726 138bc75d-0d04-0410-961f-82ee72b054a4
* amanfred1998-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog: * c-decl (finish_struct): Change type of min_align to unsigned. * cplus-dem.c (demangle_function_name): Change type of variable i to size_t; remove unused variable len. * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a comment indicating this is proper behaviour. (reg_loc_descriptor): Remove redundant comparison of unsigned variable reg >= 0. (based_loc_descr): Likewise. * enquire.c (bitpattern): Change type of variable i to unsigned. * final.c (output_asm_insn): Don't cast insn_noperands to unsigned. * flow.c (life_analysis): Change type of variable i to size_t; remove unused variable insn. * gcc.c (translate_options): Change type of variables optlen, arglen and complen to size_t. (input_filename_length): Change type to size_t. (do_spec_1): Change type of variable bufsize to size_t. (main): Change type of variables i and j to size_t; remove subblock local definition of variable i. (lookup_compiler): Change type of second argument to size_t; change type of variable i to size_t. * genemit.c (output_init_mov_optab): Change type of variable i to size_t. * genopinit.c (get_insn): Change type of variable pindex to size_t. * genrecog.c (add_to_sequence): Change type of variable i to size_t. * global.c (global_alloc): Change type of variable i to size_t. * regclass.c (init_reg_sets): Change type of variables i and j to unsigned. * stmt.c (expand_end_bindings): Change type of variable i to size_t. (expand_end_case): Change type of variable count to size_t. * toplev.c (main): Change type of variable j to size_t. (set_target_switch): Change type of variable j to size_t. (print_switch_values): Change type of variable j to size_t; remove unused variable flags. * varasm.c (assemble_variable): Change type of variable align to size_t. (const_hash_rtx): Change type of variable i to size_t. gcc/cp/ChangeLog: Sun Mar 8 17:13:38 1998 Manfred Hollstein <manfred@s-direktnet.de> * decl2.c (lang_decode_option): Change j's type to size_t. * tree.c (layout_vbasetypes): record_align and desired_align are of type unsigned int; const_size and nonvirtual_const_size likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18491 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.law1998-02-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | * calls.c (expand_call): Remove unused variables funtree, n_regs, and tmpmode. * dbxout.c, except.c: Include <string.h>/<strings.h>. * explow.c: (plus_constant_for_output_wide) Removed unused variable all_constant. * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c, genrecog.c, global.c, integrate.c , stupid.c : Include <stdlib.h>. * genextract.c: (walk_rtx) Remove unused variable link. * genrecog.c: (concat) Remove unreferenced static function. * prefix.c: Include <string.h>/<strings.h>, <stdlib.h> * stmt.c: Include <stdlib.h>. (expand_asm_operands): Remove unused variable val1. (expand_return): Remove unused variable block. (pushcase): Remove unused variables l and n. (pushcaserange): Likewise. * unroll.c (unroll_loop): Remove unused variable temp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17766 138bc75d-0d04-0410-961f-82ee72b054a4
* Update mainline egcs to gcc2 snapshot 971021.law1997-11-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c (global_alloc): Free the conflict matrix afterlaw1997-10-311-3/+5
| | | | | | | reload has finished. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16249 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c (global_alloc): Use xmalloc instead of alloca forbrendan1997-10-281-2/+7
| | | | | | | | CONFLICTS, since max_allocno * allocno_row_words alone can be more than 2.5Mb sometimes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16223 138bc75d-0d04-0410-961f-82ee72b054a4
* (global_conflicts): Pass FIRST_PSEUDO_REGISTER to call tokenner1997-07-161-3/+4
| | | | | | | EXECUTE_IF_SET_IN_REG_SET. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14462 138bc75d-0d04-0410-961f-82ee72b054a4
* abstract regset stuff into macrosmeissner1997-06-051-33/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14147 138bc75d-0d04-0410-961f-82ee72b054a4
* Use accessor macros to access arrays based on regno; move many of the arrays ↵meissner1997-05-301-12/+12
| | | | | | into a single structure. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14140 138bc75d-0d04-0410-961f-82ee72b054a4
* (prune_references): Add missing symmetic CONFLICTP call.kenner1996-11-121-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13143 138bc75d-0d04-0410-961f-82ee72b054a4
* (allocno_compare): Use `const void *' arguments.kenner1996-11-121-10/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13131 138bc75d-0d04-0410-961f-82ee72b054a4
* (reg_allocno): No longer static.kenner1996-01-011-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10931 138bc75d-0d04-0410-961f-82ee72b054a4
* * hard-reg-set.h (losing_caller_save_reg_set): Declare.law1996-01-011-1/+8
| | | | | | | | | | | | | | * regclass.c (losing_caller_save_reg_set): Define. (init_reg_sets_1): Initialize losing_caller_save_reg_set. * global.c (find_reg): Avoid caller-saving registers in LOSING_CALLER_SAVE_REGS if it's defined. * local-alloc.c (find_free_reg): Avoid caller-saving registers in losing_caller_save_reg_set. (CLASS_LIKELY_SPILLED_P): Delete definition. Moved into regs.h. * regs.h (CLASS_LIKELY_SPILLED_P): Define if not already defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10926 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kenner1995-06-151-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9961 138bc75d-0d04-0410-961f-82ee72b054a4
* (global_alloc): Mark regs assigned to SCRATCH as used by more thankenner1994-09-161-0/+12
| | | | | | | just local alloc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8091 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_reg) If CLASS_CANNOT_CHANGE_SIZE, avoid its registers ifkenner1994-08-071-1/+14
| | | | | | | reg_changes_size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7866 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_reg): Store divide results in temporary variables.wilson1994-07-191-19/+27
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7778 138bc75d-0d04-0410-961f-82ee72b054a4
* (global_alloc): Make a more accurate attempt to see if the frame pointer willkenner1994-06-291-8/+13
| | | | | | | | | be used. If it is, show HARD_FRAME_POINTER_REGNUM used if its not the same as FRAME_POINTER_REGNUM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7604 138bc75d-0d04-0410-961f-82ee72b054a4
* Cast pointer operands to bzero, bcopy, and bcmp to (char *).kenner1994-06-141-15/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7472 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_reg): When looking for locally-allocated hard regs to reclaim,kenner1994-05-041-23/+32
| | | | | | | use REG_ALLOC_ORDER to find least used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7210 138bc75d-0d04-0410-961f-82ee72b054a4
* Add prototypes for static functions.kenner1994-04-211-14/+14
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7118 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove previous Berg change.kenner1994-04-081-2/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6998 138bc75d-0d04-0410-961f-82ee72b054a4
* (global_conflicts): Avoid #ifdef HARD_REG_SET.kenner1994-04-061-5/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6975 138bc75d-0d04-0410-961f-82ee72b054a4
* (global_conflicts): Move decl of unused variable I into #if 0 block.kenner1994-03-251-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6886 138bc75d-0d04-0410-961f-82ee72b054a4
* (allocno_compare): Give multi-word regs higher priority, as stated inkenner1994-02-271-5/+5
| | | | | | | the comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6650 138bc75d-0d04-0410-961f-82ee72b054a4
* * global.c: (global_alloc): Make sure that it is always possible todje1993-09-241-1/+5
| | | | | | | eliminate FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5458 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_reg): Add comment about nonlocal labels.kenner1993-01-191-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3284 138bc75d-0d04-0410-961f-82ee72b054a4