summaryrefslogtreecommitdiff
path: root/gcc/reg-stack.c
Commit message (Collapse)AuthorAgeFilesLines
* * reg-stack.c (stack_reg_life_analysis): Use returnjump_prth1999-03-091-1/+1
| | | | | | | instead of an explicit test for RETURN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25652 138bc75d-0d04-0410-961f-82ee72b054a4
* Flow rewrite to use basic block structures and edge lists.rth1999-02-251-3/+18
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25450 138bc75d-0d04-0410-961f-82ee72b054a4
* * reg-stack.c (subst_stack_regs_pat): Abort if the destinationlaw1999-01-171-4/+6
| | | | | | | | of a FP conditional move is not on the FP register stack. Forgot to check it in last night/this morning. One should not hack at 4am. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24716 138bc75d-0d04-0410-961f-82ee72b054a4
* * final.c (cleanup_subreg_operands): Delete some unused code.crux1998-12-041-429/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * recog.h (MAX_RECOG_ALTERNATIVES): New macro. (struct insn_alternative): New structure definition. (recog_op_alt): Declare variable. (preprocess_constraints): Declare function. * recog.c (recog_op_alt): New variable. (extract_insn): Verify number of alternatives is in range. (preprocess_constraints): New function. * reg-stack.c: Include recog.h. (constrain_asm_operands): Delete. (get_asm_operand_lengths): Delete. (get_asm_operand_n_inputs): New function. (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and N_OUTPUTS args. All callers changed. Compute number of inputs and outputs here by calling get_asm_operand_n_inputs. Instead of constrain_asm_operands, call extract_insn, constrain_operands and preprocess_constaints. Use information computed by these functions throughout. (record_reg_life): Delete code that is unused due to changes in record_asm_reg_life. (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS, N_INPUTS and N_OUTPUTS args. All callers changed. Similar changes as in record_asm_reg_life. (subst_stack_regs): Move n_operands declaration into the if statement where it's used. Delete code that is unused due to changes in subst_asm_stack_regs. * stmt.c (expand_asm_operands): Verify number of alternatives is in range. * Makefile.in (reg-stack.o): Depend on recog.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24090 138bc75d-0d04-0410-961f-82ee72b054a4
* Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk>rth1998-10-091-7/+7
| | | | | | | | | | | | | | | | | | * 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
* * reg-stack.c (straighten_stack): Do nothing if the virtual stack islaw1998-09-101-0/+7
| | | | | | | empty or has a single entry. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22376 138bc75d-0d04-0410-961f-82ee72b054a4
* * reg-stack.c (subst_stack_regs_pat): Make sure the top oflaw1998-06-081-0/+9
| | | | | | | stack is the destination for conditional move insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20324 138bc75d-0d04-0410-961f-82ee72b054a4
* Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>robertl1998-05-061-0/+1
| | | | | | | | | | | | | | * toplev.h: New file. Protypes for functions in toplev.c. * tree.h, rtl.h: Deleted protos for functions in toplev.c. * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c, c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c, convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c, function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c, reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c, varasm.c: include it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19564 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix for x86 FP problem.wilson1998-04-271-23/+25
| | | | | | | | * reg-stack.c: Revert last patch (Apr 20). (convert_regs): Set insn to PREV_INSN (next) after do while loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19437 138bc75d-0d04-0410-961f-82ee72b054a4
* * reg-stack.c (subst_asm_stack_regs): Change to return the lastlaw1998-04-201-13/+23
| | | | | | | | | | new insn generated by this function. (subst_stack_regs): Likewise. (convert_regs): Record the last newly generated insn and use it for change_stack () instead of INSN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19328 138bc75d-0d04-0410-961f-82ee72b054a4
* * varasm.c (asm_output_bss): Add prototype.law1998-04-171-0/+1
| | | | | | | | | | | | | | | (asm_output_aligned_bss): Likewise. * unroll.c (verify_addresses): Add prototype. * toplev.c: Add many prototypes. Too many to mention here. * stmt.c (check_seenlabel): Add prototype. * rtlanal.c (reg_set_p_1): Add prototype. (reg_set_last_1): Likewise. * reorg.c (find_dead_or_set_registers): Add prototype. * regmove (try_auto_increment): Add prototype. * regstack.c (pop_stack): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19254 138bc75d-0d04-0410-961f-82ee72b054a4
* Patch to fix x86 gcc.dg/980226-1.c failure report by Manfred Hollstein.wilson1998-04-161-3/+8
| | | | | | | | * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if no operands. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19236 138bc75d-0d04-0410-961f-82ee72b054a4
* * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12law1998-04-041-3/+5
| | | | | | | | | for details. * haifa-sched.c: Mirror recent changes from gcc2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18984 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h (basic_block_computed_jump_target): Declare.law1998-03-281-67/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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-1/+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
* (pop_stack): Define. Pops any register on stack and adjusts the stack.scox1998-03-201-4/+28
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18723 138bc75d-0d04-0410-961f-82ee72b054a4
* dmanfred1998-03-121-19/+24
| | | | | | | | | | | | | | | | | | | | | | | | In gcc/: * i386.h (RTX_COSTS): Insert braces around nested if. (ADDITIONAL_REGISTER_NAMES): Insert braces around structured elements. * gcc.c (default_compilers): Properly put brackets around array elements in initializer. * getopt.c (_getopt_internal): Add explicit braces around nested if; reformatted. * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's. (record_reg_life_pat): Add explicit parens around && and || in expression. (stack_reg_life_analysis): Add parens around assignment used as expression. (convert_regs): Likewise. In gcc/cp/: * lang-specs.h: Properly put brackets around array elements in initializer. * typeck.c (build_binary_op_nodefault): Correctly place parens around && and || in expression. In gcc/f/: * lang-specs.h: Properly put brackets around array elements in initializer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18500 138bc75d-0d04-0410-961f-82ee72b054a4
* Rats. Forgot to change copyrights on the first commit.robertl1998-02-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17902 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lang.c (finish_file): Bracket declaration of static_ctors,robertl1998-02-131-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | static_dtors. * calls.c (expand_call): Bracket declaration of 'rtx_before_call', 'old_stack_arg_under_construction' (emit_library_call): Bracket declaration of 'upper_bound', 'lower_bound', 'i', 'reg_parm_stack_space' (emit_library_call_value): Likewise. (store_one_arg): * collect2.c: include <unistd.h> when appropriate. Bracket declaration of 'exportf' and 'full_real_ld_suffix'. * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'. * explow.c (plus_constant_for_output_wide): Remove unused variable 'code'. (memory_address): Remove unused variable 'orig_x'. * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'. (write_const_num_delay_slots): Remove unused variable 'i'. * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'. (gen_insn): Remove unused variable 'obstack_ptr'. * libgcc2.c (__bb_exit_func): Remove unused variables 'ret', 'j', 'tmp', 'i'. (__bb_exit_trace_func): Remove unused variable 'e'. * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs', 'funexp'. (expand_unop): Remove unused variable 'funexp'. (expand_complex_abs): Remove unused variable 'funexp'. (init_optabs): Bracket declaration of 'j'. (init_complex_libfuncs): Deleted. Dead static function. * profile.c (branch_prob): Remove unused variables 'insn', 'dest'. * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths' (reg_to_stack): 'initialized', 'before_function_beg' explictly type as ints instead of defaulting. (emit_swap_insn): Remove unused variable 'i2'. (compare_for_stack_reg): Remove unused variable 'src_note'. * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'. * sched.c (actual_hazard): Bracket declaration of 'this_cost'. * stmt.c (add_case_node): Add parens for assignment used as truth. (all_cases_count): Remove unused variable 'count_high'. (mark_seen_cases): Remove unused variable 'i'. (check_for_full_enumeration_handling): Remove unused variable 't'. Bracket declaration of 'all_values', 'l'. * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>. * varasm.c (assemble_string): Remove unused variable 'i'. (immed_double_const): Remove unused variable 'in_current_obstack'. (immed_real_const_1): Likewise. (output_constant_pool): Remove unreferenced label 'done'. (output_constant): Remove unused variable 'x'. * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not a string. * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used as truth. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17901 138bc75d-0d04-0410-961f-82ee72b054a4
* * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;rth1998-01-141-30/+30
| | | | | | | | | | | | | | | change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...). * caller-save.c, calls.c, combine.c, cse.c: Likewise. * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise. * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise. * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise. * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise. * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise. * unroll.c, varasm.c: Likewise. * config/alpha/alpha.c, config/alpha/alpha.md: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17357 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
* * reg-stack.c (find_blocks): Fix thinko in last change.law1997-09-221-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15655 138bc75d-0d04-0410-961f-82ee72b054a4
* * jump.c (jmp_uses_reg_or_mem): Deleted unused function.law1997-09-221-27/+1
| | | | | | | | | | | | | | | | | | | (find_basic_blocks): Use computed_jump_p to determine if a particular JUMP_INSN is a computed jump. * reg-stack.c (find_blocks): Use computed_jump_p to determine if a particular JUMP_INSN is a computed jump. * rtlanal.c (jmp_uses_reg_or_mem): New function. (computed_jump_p): Likewise. * rtl.h (computed_jump_p): Declare. * genattrtab.c (pc_rtx): Define and initialize. * loop.c (loop_optimize): Always determine if the current function has a computed jump. (indirect_jump_in_function_p): Use computed_jump_p to determine if a particular JUMP_INSN is a computed jump. General (and haifa) cleanups. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15615 138bc75d-0d04-0410-961f-82ee72b054a4
* * reg-stack.c (subst_stack_regs): Pop the stack register for alaw1997-09-051-9/+50
| | | | | | | | | | | | computed goto which sets the same stack register. * reg-stack.c (compare_for_stack_reg): Swap only if the source and destination are both on the regstack. (subst_stack_regs_pat): Put the destination at the top of the regstack. Bring over regstack bugfixes from the FSF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15096 138bc75d-0d04-0410-961f-82ee72b054a4
* reformat a little to match GNU coding standards.mrs1997-05-061-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14024 138bc75d-0d04-0410-961f-82ee72b054a4
* (subst_stack_regs_pat): Set src_note explicitly, insteadwilson1996-12-301-1/+5
| | | | | | | of using invalid aggregate initialization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13345 138bc75d-0d04-0410-961f-82ee72b054a4
* (compare_for_stack_reg, subst_stack_regs_pat):coxs1996-11-081-0/+66
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13113 138bc75d-0d04-0410-961f-82ee72b054a4
* formatting tweaksmrs1996-07-031-114/+115
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12390 138bc75d-0d04-0410-961f-82ee72b054a4
* Include insn-flags.h.kenner1996-05-191-13/+39
| | | | | | | | | | Add prototypes for static functions. (gen_jump, gen_movdf, gen_movxf): Delete redundant declarations. (find_regno_note, emit_jump_insn_before, emit_label_after): Likewise. (swap_rtx_condition): Now static. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12046 138bc75d-0d04-0410-961f-82ee72b054a4
* (move_for_stack_reg): Avoid stack overflow while storing XFmode fromkenner1996-03-191-1/+1
| | | | | | | fp reg to memory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11564 138bc75d-0d04-0410-961f-82ee72b054a4
* (record_label_references): Check for undefined label.kenner1996-03-051-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11454 138bc75d-0d04-0410-961f-82ee72b054a4
* (record_reg_life_pat): Fix precedence error.kenner1996-02-131-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11254 138bc75d-0d04-0410-961f-82ee72b054a4
* (record_reg_life): Call record_reg_life_pat with 0 for douse argumentkenner1995-06-151-1/+1
| | | | | | | | so that USE's created to mark variables within blocks don't get marked as set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9991 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kenner1995-06-151-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9964 138bc75d-0d04-0410-961f-82ee72b054a4
* (stack_result): Fix bug in last change.kenner1995-04-281-4/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9530 138bc75d-0d04-0410-961f-82ee72b054a4
* Add copyright for 1995.kenner1995-04-251-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9460 138bc75d-0d04-0410-961f-82ee72b054a4
* (current_function_returns_real): Deleted (unused).kenner1995-04-251-175/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (FP_mode_reg): Trimmed to a smaller size, less overhead. (FP_MODE_REG): New macro over which FP_mode_reg will be accessed. (mark_regs_pat, straighten_stack): New functions. (reg_to_stack): Amend initialisation of FP_mode_reg. Mark FP registers mentioned in USE insns before NOTE_INSN_FUNCTION_BEG. (get_true_reg): Eliminate FP subreg accesses in favour of the actual FP register in use. (record_reg_life_pat): Make it work on SUBREGs as well. Make use of the new mark_regs_pat function. Handle USE insns if called unnested. (record_reg_life): Don't check for QImode again, we know that it is there. Process CALL_INSNs like all other insns, they might `use' some FP argument registers if register passing. (stack_result_p): Changed in stack_result and returning an rtx. (stack_reg_life_analysis): Take a new stackentry state argument. Use stack_result and the rtx to mark using mark_regs_pat. This ensures that types that need multiple FP registers are handled correctly Delete the no_live_regs shortcut to save space. Use stackentry state to determine filled registers. (replace_reg): Accept COMPLEX_FLOAT as well. (move_for_stack_reg): Optimise away some pointer dereferencing. (subst_stack_regs): Make sure the stack is in the right order and of the right size for register passing. (goto_block_pat): Make sure the stack is in the right order to return possible multi-register values from the function. (convert_regs): Fix comment about CALL_INSN, it's no longer valid. Make sure the stack is of the right size and in the right order to return possible multi-register values from the function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9459 138bc75d-0d04-0410-961f-82ee72b054a4
* (subst_asm_stack_regs): Cast args to bcopy to char *.kenner1994-11-051-9/+8
| | | | | | | | | (BLOCK_NUM): Rework to avoid cast of abort to int *. (find_blocks): Don't use BLOCK_NUM on lhs. (reg_to_stack, record_arg_reg_life): Cast arg to bzero to char *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8392 138bc75d-0d04-0410-961f-82ee72b054a4
* (subst_stack_regs): Check for NOTE to see if insn was deleted.kenner1994-10-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8204 138bc75d-0d04-0410-961f-82ee72b054a4
* (delete_insn_for_stacker): Don't set INSN_DELETED_P onkenner1994-10-021-1/+0
| | | | | | | NOTE_INSN_DELETED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8198 138bc75d-0d04-0410-961f-82ee72b054a4
* (goto_block_pat): Ignore undefined label.kenner1994-06-241-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7555 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_blocks): Undo previous change to block delineation algorithm.jrv1994-03-061-2/+2
| | | | | | | (reg_to_stack): Make algorithm identical to that in find_blocks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6702 138bc75d-0d04-0410-961f-82ee72b054a4
* (reg_to_stack): Use GET_RTX_CLASS.kenner1994-02-281-13/+102
| | | | | | | | | | | | | Clear LABEL_REFs here. (find_blocks): Make algorithm identical to that inreg_to_stack. Use GET_RTX_CLASS. Don't clear LABEL_REFs here. Build a list of labels referenced by other than jumps. If computed jump, mark using that list and forced_labels. (uses_reg_or_mem): New function, copied from flow.c. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6671 138bc75d-0d04-0410-961f-82ee72b054a4
* (move_for_stack_reg): If the 387 regstack is not full when doing an XFmodejrv1993-10-051-1/+19
| | | | | | | write from 387 to MEM, copy the source reg and write the copy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5598 138bc75d-0d04-0410-961f-82ee72b054a4
* (record_label_references): Don't follow a null label reference chain.jrv1993-09-231-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5429 138bc75d-0d04-0410-961f-82ee72b054a4
* (stack_result_p): New function.rms1993-06-191-2/+26
| | | | | | | (stack_reg_life_analysis): Use that. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4699 138bc75d-0d04-0410-961f-82ee72b054a4
* (record_asm_reg_life): Don't abort for asm that doesn't match itskenner1993-05-051-4/+3
| | | | | | | constraints. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4342 138bc75d-0d04-0410-961f-82ee72b054a4
* (block_number, BLOCK_NUM, reg_to_stack): Use ints, not shorts to countkenner1993-04-171-3/+3
| | | | | | | blocks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4177 138bc75d-0d04-0410-961f-82ee72b054a4
* (emit_swap_insn): Don't link cc0 insns: emit swap after cc0 user.jrv1993-03-311-2/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3953 138bc75d-0d04-0410-961f-82ee72b054a4
* (emit_swap_insn): If emitting after a cc0 setter, link the cc0 insns.jrv1993-03-131-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3726 138bc75d-0d04-0410-961f-82ee72b054a4