aboutsummaryrefslogtreecommitdiff
path: root/gcc/reg-stack.c
AgeCommit message (Collapse)AuthorFilesLines
1999-09-06Merge in gcc2-ss-010999Jeff Law1-3/+3
From-SVN: r29150
1999-09-01Merge new ia32 backend from the branch!Richard Henderson1-383/+419
From-SVN: r29044
1999-08-20rtl.h (rtx_format): Constify a char*.Kaveh R. Ghazi1-6/+6
* rtl.h (rtx_format): Constify a char*. * rtl.c (rtx_format): Likewise. (copy_rtx, copy_most_rtx, read_rtx): Likewise. (init_rtl): Use accessor macro, not `rtx_format'. * alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a char*. * caller-save.c (mark_referenced_regs): Likewise. * combine.c (subst, make_compound_operation, known_cond, gen_rtx_combine, update_table_tick, get_last_value_validate, use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise. * cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p, refers_to_p, canon_reg, fold_rtx, cse_process_notes, count_reg_usage): Likewise. * emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags): Likewise. * final.c (leaf_renumber_regs_insn): Likewise. * flow.c (mark_used_regs, find_use_as_address, dump_flow_info, dump_edge_info, count_reg_references): Likewise. * function.c (fixup_var_refs_1, walk_fixup_memory_subreg, fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1): Likewise. * gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p, oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs, add_label_notes): Likewise. * genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask, clear_struct_flag, count_sub_rtxs, count_alternatives, compares_alternatives_p, contained_in_p, walk_attr_value, write_expr_attr_cache): Likewise. * genconfig.c (walk_insn_part): Likewise. * genemit.c (max_operand_1, gen_exp): Likewise. * genextract.c (walk_rtx): Likewise. * genflags.c (num_operands): Likewise. * genoutput.c (scan_operands): Likewise. * genpeep.c (match_rtx): Likewise. * genrecog.c (add_to_sequence): Likewise. * haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths): Likewise. * integrate.c (save_constants, copy_for_inline, copy_rtx_and_substitute, subst_constants, restore_constants): Likewise. * jump.c (mark_jump_label, invert_exp, redirect_exp, rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise. * local-alloc.c (contains_replace_regs, memref_referenced_p): Likewise. * loop.c (record_excess_regs, rtx_equal_for_loop_p, add_label_notes, replace_call_address, count_nonfixed_reads, invariant_p, find_single_use_in_loop, find_mem_givs, find_life_end, maybe_eliminate_biv_1, update_reg_last_use): Likewise. * print-rtl.c (reg_names, print_rtx): Likewise. * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise. * reg-stack.c (stack_regs_mentioned_p, record_label_references, record_reg_life_pat, swap_rtx_condition, goto_block_pat, print_blocks): Likewise. * regclass.c (fix_register, record_address_regs, reg_scan_mark_refs): Likewise. * regmove.c (stable_but_for_p): Likewise. * reload.c (loc_mentioned_in_p, operands_match_p, find_reloads_toplevsubst_reg_equivs, find_reloads_address_1, copy_replacements, refers_to_regno_for_reload_p, refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p, reload_when_needed_name, reg_class_names, debug_reload_to_stream): Likewise. * reload1.c (eliminate_regs, scan_paradoxical_subregs, delete_address_reloads_1, count_occurrences, reload_cse_mem_conflict_p, reload_combine_note_use, add_auto_inc_notes): Likewise. * resource.c (mark_referenced_resources, mark_set_resources): Likewise. * rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p, reg_mentioned_p, regs_set_between_p, modified_between_p, modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p, rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p, may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs, jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise. * sched.c (sched_analyze_2, attach_deaths): Likewise. * stupid.c (stupid_mark_refs): Likewise. * unroll.c (remap_split_bivs): Likewise. * varasm.c (mark_constants): Likewise. * a29k/a29k.c (uses_local_reg_p): Likewise. * alpha/alpha.c (summarize_insn): Likewise. * arm/arm.c (symbol_mentioned_p, label_mentioned_p, eliminate_lr2ip): Likewise. * arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise. * i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx, reg_mentioned_in_mem): Likewise. * ns32k/ns32k.c (global_symbolic_reference_mentioned_p, symbolic_reference_mentioned_p): Likewise. * romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise. * sh/sh.c (regs_used, mark_use): Likewise. * vax/vax.c (vax_rtx_cost): Likewise. From-SVN: r28784
1999-08-09Include function.h in most files.Bernd Schmidt1-2/+1
Include function.h in most files. Remove most of the global variables 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. From-SVN: r28626
1999-08-061999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>Herman A.J. ten Brugge1-25/+28
* reg-stack.c (change_stack) Fixed problem with negative array index. From-SVN: r28570
1999-06-10Mumit Khan <khan@xraylith.wisc.edu>Mumit Khan1-1/+1
Mumit Khan <khan@xraylith.wisc.edu> * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns. From-SVN: r27475
1999-05-16reg-stack.c: Do not emit pop insns after cc0 setter.Jan Hubicka1-21/+35
* reg-stack.c: Do not emit pop insns after cc0 setter. (emit_pop_insn): Do not emit insn in case WHEN is NULL. (compare_for_stack_reg): Update REG_DEAD note and do not emit push insn. * i386.c: (output_float_compare): Handle new REG_DEAD notes. From-SVN: r26965
1999-04-12* reg-stack.c (check_stack_regs_mentioned): Remove variable SIZE.Jan Hubicka1-8/+3
From-SVN: r26386
1999-04-11reg-stack.c: Update comment, include varray.h.Jan Hubicka1-23/+73
* reg-stack.c: Update comment, include varray.h. (stack_regs_mentioned_data): New global variable. (check_stack_regs_mentioned): New function. (stack_regs_mentioned): New function. (reg_to_stack): Initialize and free stack_regs_mentioned_data, use stack_regs_mentioned. (record_asm_reg_life): Change insn type cache for changed insn. (record_reg_life): Do not change the insn mode. (emit_pop_insn): Likewise. (emit_swap_insn): Likewise. (move_for_stack_reg): Likewise. (stack_reg_life_analysis): Use stack_regs_mentioned. (emit_swap_insn): Likewise. (subst_stack_regs): Likewise. (convert_regs): Likewise. * jump.c (find_cross_jump): Use stack_regs_mentioned. * rtl.h (stack_regs_mentioned): Declare. From-SVN: r26360
1999-04-10i386.md (floatsisf2, [...]): Remove unused register constraints from the ↵John Wehle1-2/+16
splitters. * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2, floatsixf2, floatdixf2, movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Remove unused register constraints from the splitters. * i386.md (fixuns_truncsfsi2, fixuns_truncdfsi2, fixuns_truncxfsi2): Delete. * reg-stack.c (delete_insn_for_stacker): Ensure that the only side effects of a PARALLEL are clobbers. (subst_stack_regs): Handle subst_stack_regs_pat deleting a PARALLEL. * i386.md (extendsfdf2, extenddfxf2, extendsfxf2): Rewrite using a splitter. * i386.c (output_op_from_reg): Remove. * i386.h: Likewise. From-SVN: r26338
1999-03-09reg-stack.c (stack_reg_life_analysis): Use returnjump_p instead of an ↵Richard Henderson1-1/+1
explicit test for RETURN. * reg-stack.c (stack_reg_life_analysis): Use returnjump_p instead of an explicit test for RETURN. From-SVN: r25652
1999-02-25Flow rewrite to use basic block structures and edge lists.Richard Henderson1-3/+18
From-SVN: r25450
1999-01-17reg-stack.c (subst_stack_regs_pat): Abort if the destination of a FP ↵Jeff Law1-4/+6
conditional move is not on the FP register stack. * reg-stack.c (subst_stack_regs_pat): Abort if the destination 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. From-SVN: r24716
1998-12-04final.c (cleanup_subreg_operands): Delete some unused code.Bernd Schmidt1-429/+109
* final.c (cleanup_subreg_operands): Delete some unused code. * 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. From-SVN: r24090
1998-10-09flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.Graham Stott1-7/+7
Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk> * 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. From-SVN: r22964
1998-09-09reg-stack.c (straighten_stack): Do nothing if the virtual stack is empty or ↵Jeffrey A Law1-0/+7
has a single entry. * reg-stack.c (straighten_stack): Do nothing if the virtual stack is empty or has a single entry. From-SVN: r22376
1998-06-07reg-stack.c (subst_stack_regs_pat): Make sure the top of stack is the ↵H.J. Lu1-0/+9
destination for conditional move insn. * reg-stack.c (subst_stack_regs_pat): Make sure the top of stack is the destination for conditional move insn. From-SVN: r20324
1998-05-06toplev.h: New file.Robert Lipe1-0/+1
Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com> * 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. From-SVN: r19564
1998-04-27Fix for x86 FP problem.Jim Wilson1-23/+25
* reg-stack.c: Revert last patch (Apr 20). (convert_regs): Set insn to PREV_INSN (next) after do while loop. From-SVN: r19437
1998-04-19reg-stack.c (subst_asm_stack_regs): Change to return the last new insn ↵H.J. Lu1-13/+23
generated by this function. * reg-stack.c (subst_asm_stack_regs): Change to return the last 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. From-SVN: r19328
1998-04-16varasm.c (asm_output_bss): Add prototype.Jeff Law1-0/+1
* varasm.c (asm_output_bss): Add prototype. (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. From-SVN: r19254
1998-04-16Patch to fix x86 gcc.dg/980226-1.c failure report by Manfred Hollstein.Jim Wilson1-3/+8
* reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if no operands. From-SVN: r19236
1998-04-04* Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12Jeff Law1-3/+5
for details. * haifa-sched.c: Mirror recent changes from gcc2. From-SVN: r18984
1998-03-27basic-block.h (basic_block_computed_jump_target): Declare.Bernd Schmidt1-67/+1
* basic-block.h (basic_block_computed_jump_target): Declare. * 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. Co-Authored-By: Jeffrey A Law <law@cygnus.com> From-SVN: r18860
1998-03-20Major cutover to using system.h:Kaveh R. Ghazi1-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. From-SVN: r18726
1998-03-20(pop_stack): Define. Pops any register on stack and adjusts the stack.Stan Cox1-4/+28
From-SVN: r18723
1998-03-12dManfred Hollstein1-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. From-SVN: r18500
1998-02-13Rats. Forgot to change copyrights on the first commit.Robert Lipe1-1/+1
From-SVN: r17902
1998-02-13c-lang.c (finish_file): Bracket declaration of static_ctors, static_dtors.Robert Lipe1-5/+4
* c-lang.c (finish_file): Bracket declaration of static_ctors, 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. From-SVN: r17901
1998-01-14alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO...Richard Henderson1-30/+30
* alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO; 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. From-SVN: r17357
1997-11-02Update mainline egcs to gcc2 snapshot 971021.Jeff Law1-1/+1
From-SVN: r16278
1997-09-22* reg-stack.c (find_blocks): Fix thinko in last change.Jeffrey A Law1-0/+2
From-SVN: r15655
1997-09-21jump.c (jmp_uses_reg_or_mem): Deleted unused function.Jeffrey A Law1-27/+1
* jump.c (jmp_uses_reg_or_mem): Deleted unused function. (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. From-SVN: r15615
1997-09-04reg-stack.c (subst_stack_regs): Pop the stack register for a computed goto ↵Stan Cox1-9/+50
which sets the same stack register. * reg-stack.c (subst_stack_regs): Pop the stack register for a 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. From-SVN: r15096
1997-05-06reformat a little to match GNU coding standards.Mike Stump1-2/+2
From-SVN: r14024
1996-12-30(subst_stack_regs_pat): Set src_note explicitly, insteadJim Wilson1-1/+5
of using invalid aggregate initialization. From-SVN: r13345
1996-11-08(compare_for_stack_reg, subst_stack_regs_pat):Stan Cox1-0/+66
From-SVN: r13113
1996-07-03formatting tweaksMike Stump1-114/+115
From-SVN: r12390
1996-05-19Include insn-flags.h.Richard Kenner1-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. From-SVN: r12046
1996-03-19(move_for_stack_reg): Avoid stack overflow while storing XFmode fromRichard Kenner1-1/+1
fp reg to memory. From-SVN: r11564
1996-03-05(record_label_references): Check for undefined label.Richard Kenner1-0/+4
From-SVN: r11454
1996-02-13(record_reg_life_pat): Fix precedence error.Richard Kenner1-2/+2
From-SVN: r11254
1995-06-15(record_reg_life): Call record_reg_life_pat with 0 for douse argument so that...Richard Kenner1-1/+1
(record_reg_life): Call record_reg_life_pat with 0 for douse argument so that USE's created to mark variables within blocks don't get marked as set. From-SVN: r9991
1995-06-15Update FSF address.Richard Kenner1-1/+2
From-SVN: r9964
1995-04-28(stack_result): Fix bug in last change.Richard Kenner1-4/+4
From-SVN: r9530
1995-04-25Add copyright for 1995.Richard Kenner1-1/+1
From-SVN: r9460
1995-04-25(current_function_returns_real): Deleted (unused).Richard Kenner1-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. From-SVN: r9459
1994-11-05(subst_asm_stack_regs): Cast args to bcopy to char *.Richard Kenner1-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 *. From-SVN: r8392
1994-10-02(subst_stack_regs): Check for NOTE to see if insn was deleted.Richard Kenner1-1/+1
From-SVN: r8204
1994-10-02(delete_insn_for_stacker): Don't set INSN_DELETED_P onRichard Kenner1-1/+0
NOTE_INSN_DELETED. From-SVN: r8198