summaryrefslogtreecommitdiff
path: root/gcc/sched.c
Commit message (Collapse)AuthorAgeFilesLines
* install EH codemrs1996-07-231-17/+43
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12549 138bc75d-0d04-0410-961f-82ee72b054a4
* (true_dependence, anti_dependence, output_dependence):wilson1996-07-081-2/+11
| | | | | | | Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12416 138bc75d-0d04-0410-961f-82ee72b054a4
* formatting tweaksmrs1996-07-031-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12390 138bc75d-0d04-0410-961f-82ee72b054a4
* (schedule_block): CALL_INSNs don't affect fixed regs.kenner1996-03-311-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11648 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze): Record NOTE_INSN_SETJMP if no CALL_INSN as prev;kenner1996-02-231-4/+10
| | | | | | | | preserve CONST_CALL_P bit. (reemit_notes): Restore CONST_CALL_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11342 138bc75d-0d04-0410-961f-82ee72b054a4
* (flush_pending_lists): Add new arg, ONLY_WRITE.kenner1996-02-101-16/+14
| | | | | | | | (sched_analyze_{1,2,insn}): Add new arg to flush_pending_lists. (sched_analyze): Always flush pending write list for call, even const. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11200 138bc75d-0d04-0410-961f-82ee72b054a4
* (add_dependence): Add test for next != CODE_LABEL.dje1996-02-101-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11192 138bc75d-0d04-0410-961f-82ee72b054a4
* * sched.c (reemit_notes): Add prototype.dje1996-01-151-40/+40
| | | | | | | | | | | (sched_analyze_2): Reorganize comments. Call prev_nonnote_insn. (sched_analyze): Add abort call. (schedule_block): Undo last patch. Call prev_nonnote_insn. Move call of reemit_notes to after SCHED_GROUP_P scheduling. Set `head' to `last'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10998 138bc75d-0d04-0410-961f-82ee72b054a4
* (schedule_block): Copy RTX_INTEGRATE_P bit when create a new note.wilson1996-01-141-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10975 138bc75d-0d04-0410-961f-82ee72b054a4
* * sched.c (schedule_block): Maintain a valid chain sodje1996-01-121-1/+17
| | | | | | | emit_note_before works. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10970 138bc75d-0d04-0410-961f-82ee72b054a4
* * sched.c (adjust_priority): Use ADJUST_PRIORITY if its defined.law1995-12-311-0/+3
| | | | | | | | * pa.h (ADJUST_PRIORITY): Define to keep lifetimes of registers that will be allocated to %r1 shorter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10918 138bc75d-0d04-0410-961f-82ee72b054a4
* * sched.c (canon_rtx): Recursively look for equivalences;law1995-12-181-1/+19
| | | | | | | | | | | | | look for expressions equivalent to MEMs. (true_dependence): Canonicalize inputs before operating on their values. (anti_dependence, output_dependence): Likewise. * jump.c (follow_jumps): Don't follow an unconditional jump that is not a simple_jump. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10793 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kenner1995-06-151-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9966 138bc75d-0d04-0410-961f-82ee72b054a4
* (attach_deaths): In last change, use find_reg_note instead ofkenner1995-06-051-1/+1
| | | | | | | find_regno_note. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9883 138bc75d-0d04-0410-961f-82ee72b054a4
* (attach_deaths): Don't add a REG_DEAD note if a REG_UNUSED note iskenner1995-06-041-1/+6
| | | | | | | already present. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9871 138bc75d-0d04-0410-961f-82ee72b054a4
* (reemit_notes): New function.wilson1995-05-251-20/+38
| | | | | | | | (schedule_block): Call reemit_notes twice. Reorganize code for handling SCHED_GROUP_P insns, so that reemit_notes works. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9814 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typos in comments.kenner1995-05-161-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9712 138bc75d-0d04-0410-961f-82ee72b054a4
* Update comments.kenner1995-01-251-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8811 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_insn): Parameter loop_note type changedwilson1994-09-201-13/+18
| | | | | | | | | | | | to rtx, and name changed to loop_notes. Code adding it to REG_NOTES modified to account for type change. (sched_analyze): Variable loop_note type changed to rtx, and name changed to loop_notes. Store LOOP_* REG_DEAD notes in it instead of LOOP_* NOTE_LINE_NUMBER. (schedule_block): Pass last not insn to emit_note_before call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8099 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_insn): Don't set SCHED_GROUP_P for previous INSN a USEkenner1994-09-151-1/+2
| | | | | | | unless it's a USE of a REG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8083 138bc75d-0d04-0410-961f-82ee72b054a4
* (attach_deaths): Correct typo, use GET_MODE not GET_CODE.wilson1994-09-081-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8043 138bc75d-0d04-0410-961f-82ee72b054a4
* * sched.c (sched_analyze_insn): Add new parameter loop_note.wilson1994-08-201-17/+61
| | | | | | | | | | | | | | If loop_note set, then serialize on this insn. (sched_analyze): New variable loop_note. Pass to sched_analyze_insn. Set it if we pass a NOTE_INSN_LOOP_BEG or NOTE_INSN_LOOP_END. (unlink_notes): Don't save away NOTE_INSN_LOOP_BEG or NOTE_INSN_LOOP_END notes. (schedule_block): Generalize code that looks for magic REG_DEAD notes and converts them to notes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7956 138bc75d-0d04-0410-961f-82ee72b054a4
* (attach_deaths): When adding REG_DEAD notes, check forwilson1994-08-141-0/+10
| | | | | | | | the case where a multiple register hard reg overlaps a register set by the insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7919 138bc75d-0d04-0410-961f-82ee72b054a4
* Cast pointer operands to bzero, bcopy, and bcmp to (char *).kenner1994-06-141-25/+27
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7472 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_insn): Fix typo in last change.kenner1994-05-111-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7272 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_insn, attach_deaths_insn): Look atkenner1994-05-071-0/+17
| | | | | | | CALL_INSN_FUNCTION_USAGE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7263 138bc75d-0d04-0410-961f-82ee72b054a4
* (attach_deaths): Create partial register dead notes usingdje1994-04-201-1/+2
| | | | | | | register's intrinsic mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7090 138bc75d-0d04-0410-961f-82ee72b054a4
* (clear_units): Remove decl of unused variable UNIT.kenner1994-03-251-15/+4
| | | | | | | | | | | | | | | (actual_hazard_this_instance): Remove decl of unused variable I. (actual_hazard): Remove two block-scope decls of unused variable BEST. (sched_analyze_1): Remove decls of unused variables OFFSET and BIT. (sched_analyze): Remove decl of unused variable DEST. (sched_note_set): Remove decl of unused variable J. (create_reg_dead_note): Remove decl of unused variable BACKLINK. (new_sometimes_live): Remove decl of unused variable I. (schedule_block): Remove decls of unused variables LAST_NOTE and REGNO. (schedule_insns): Remove decls of unused variables I and INSNS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6893 138bc75d-0d04-0410-961f-82ee72b054a4
* (rtx_equal_for_tmemref_p): Commutative operations are identical if thekenner1994-03-091-1/+14
| | | | | | | operands match in the opposite order. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6732 138bc75d-0d04-0410-961f-82ee72b054a4
* (reg_pending_sets, reg_pending_sets_all): New variables.wilson1994-02-061-5/+34
| | | | | | | | | | | | | (sched_analyze_1): Set reg_pending_sets instead of reg_last_sets. (sched_analyze_2): Set reg_pending_sets or reg_pending_sets_all instead of reg_last_sets. (sched_analyze_insn): Use reg_pending_sets and reg_pending_sets_all to set reg_last_sets. Set reg_pending_sets_all instead of reg_last_sets. (schedule_block): Allocate and clear reg_pending_sets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6492 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_insn): Add use dependencies for registerswilson1994-02-011-0/+21
| | | | | | | mentioned in REG_DEAD notes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6453 138bc75d-0d04-0410-961f-82ee72b054a4
* (priority): Call insn_cost() for anti- and output-wilson1994-02-011-7/+1
| | | | | | | dependencies as well as for true dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6450 138bc75d-0d04-0410-961f-82ee72b054a4
* (attach_deaths_insn): Add REG_DEAD notes to CLOBBER ifwilson1994-01-261-2/+5
| | | | | | | it is for a MEM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6432 138bc75d-0d04-0410-961f-82ee72b054a4
* (new_insn_dead_notes): Compare registers with rtx_equal_p.wilson1994-01-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6366 138bc75d-0d04-0410-961f-82ee72b054a4
* (priority): Handle INSN_DELETED_P insns, in addition towilson1993-12-221-5/+6
| | | | | | | insns which were deleted by being turned into notes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6272 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze): For CALL_INSN followed bywilson1993-12-211-13/+56
| | | | | | | | | | | NOTE_INSN_SETJMP note, make it depend on all registers not just hard registers, and add a REG_DEAD -1 note. (unlink_notes): Don't save away NOTE_INSN_SETJMP notes. (schedule_block): After scheduling CALL_INSN, check for REG_DEAD -1 note. If find it, delete it, and output a NOTE_INSN_SETJMP note. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6254 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_2): Make volatile asms depend on allwilson1993-10-051-3/+8
| | | | | | | pseudo registers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5621 138bc75d-0d04-0410-961f-82ee72b054a4
* Add prototypes for static function.wilson1993-09-291-16/+66
| | | | | | | | (add_dependence, remove_dependence, regno_use_in): Now static. (schedule_insns): Have dummy version also take FILE * parameter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5530 138bc75d-0d04-0410-961f-82ee72b054a4
* (schedule_insns): Don't zero reg_n_calls_crossed forwilson1993-09-281-7/+25
| | | | | | | pseudos live across multiple blocks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5515 138bc75d-0d04-0410-961f-82ee72b054a4
* * sched.c: (memrefs_conflict_p): We can work out whether referencesdje1993-09-241-2/+7
| | | | | | | | | via hard_frame_pointer_rtx are likely to conflict. (attach_deaths, case REG): Don't add death notes for HARD_FRAME_POINTER_REGNUM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5466 138bc75d-0d04-0410-961f-82ee72b054a4
* (schedule_block): Correct type of BIT.kenner1993-09-071-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5275 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_insn): Handle USE before a JUMP_INSN justwilson1993-08-121-3/+10
| | | | | | | like a USE before a CALL_INSN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5141 138bc75d-0d04-0410-961f-82ee72b054a4
* (schedule_insns): Don't emit a NOTE at the end of the lastwilson1993-08-091-3/+11
| | | | | | | basic block if that would put it between a JUMP_INSN and a BARRIER. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5121 138bc75d-0d04-0410-961f-82ee72b054a4
* (schedule_block): Do not emit line number notes before other notes.wilson1993-07-281-2/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5020 138bc75d-0d04-0410-961f-82ee72b054a4
* (add_dependence): Reject CODE_LABELs when searching forwilson1993-06-121-1/+6
| | | | | | | last insn of a sched group. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4667 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_2): Don't ignore USE insns when creating dependencies.wilson1993-06-101-8/+4
| | | | | | | (sched_analyze): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4656 138bc75d-0d04-0410-961f-82ee72b054a4
* (split_hard_reg_notes): Handle 0th sub register, andwilson1993-05-141-18/+19
| | | | | | | | | | multiple register kills. (update_flow_info): For multi-word hard regs, use split_hard_reg_notes to add all REG_DEAD notes, instead of just the additional ones due to splitting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4460 138bc75d-0d04-0410-961f-82ee72b054a4
* (create_reg_dead_note): Rewrite so as to conservewilson1993-04-251-7/+47
| | | | | | | | registers killed not number of REG_DEAD notes. (schedule_block): Change comments about dead_notes variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4222 138bc75d-0d04-0410-961f-82ee72b054a4
* (sched_analyze_1): Extra arg in anti_dependence call.kenner1993-04-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4143 138bc75d-0d04-0410-961f-82ee72b054a4
* (schedule_block): Reset n_ready if schedule_selectwilson1993-03-291-0/+3
| | | | | | | removes all insns from ready list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3918 138bc75d-0d04-0410-961f-82ee72b054a4