summaryrefslogtreecommitdiff
path: root/gcc/reorg.c
Commit message (Collapse)AuthorAgeFilesLines
* * reorg.c (dbr_schedule): Allow current_function_return_rtxlaw1997-08-271-2/+1
| | | | | | | | | | to be something other than a REG. * function.c (expand_function_end): Fix current_function_return_rtx if it was a pseudo. Brought over from the fsf/devo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14972 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_target_live_regs): Pass FIRST_PSEUDO_REGISTER to call tokenner1997-07-171-9/+10
| | | | | | | EXECUTE_IF_SET_IN_REG_SET. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14466 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_target_live_regs): Delete unused variables.kenner1997-07-141-2/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14425 138bc75d-0d04-0410-961f-82ee72b054a4
* (redundant_insn): If INSN or possible match has REG_UNUSED note, don'tkenner1997-07-021-2/+9
| | | | | | | have match. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14370 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (emit_delay_sequence): Call set_new_first_and_last_insnlaw1997-06-121-4/+11
| | | | | | | after the new sequence insn has been spliced into the insn chain. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14229 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove CYGNUS LOCAL stuff.meissner1997-06-051-9/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14151 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix urgent bugmeissner1997-06-051-0/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14150 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typo in last change.law1997-06-051-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14149 138bc75d-0d04-0410-961f-82ee72b054a4
* abstract regset stuff into macrosmeissner1997-06-051-19/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14147 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (mostly_true_jump): Use REG_BR_PROB notes whendje1997-03-281-0/+20
| | | | | | | flag_branch_probabilities. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13819 138bc75d-0d04-0410-961f-82ee72b054a4
* (fill_slots_from_thread): Skip moved insn in all three cases.kenner1997-01-031-1/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13355 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (fill_slots_from_thread): Don't call eligible_for_delaylaw1996-12-121-1/+4
| | | | | | | with an insn with asm operands. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13297 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (life_analysis): Preserve registers used by the epilogue.mrs1996-08-211-1/+13
| | | | | | | | | | (mark_used_regs): Likewise. * reorg.c (fill_simple_delay_slots): Likewise. (dbr_schedule): Likewise. Fixes eh49.C for sparc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12666 138bc75d-0d04-0410-961f-82ee72b054a4
* formatting tweaksmrs1996-07-031-8/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12390 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (relax_delay_slots): Call update_block beforelaw1996-05-201-5/+14
| | | | | | | redirecting a branch past a redundant insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12060 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_dead_or_set_registers): Only kill spill regs after label madekenner1996-04-151-5/+12
| | | | | | | before jump2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11778 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_dead_or_set_registers): New function.wilson1996-01-241-78/+220
| | | | | | | | | | (mark_target_live_regs): Delete loop looking forward from target and instead call find_dead_or_set_registers. (fix_reg_dead_note): New function. (fill_slots_from_thread): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11091 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_referenced_resources, case TRAP_IF): Set volatil.kenner1996-01-151-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10980 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (fill_simple_delay_slots): Try to fill from thelaw1995-12-311-1/+14
| | | | | | | target of an unconditional branch if necessary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10920 138bc75d-0d04-0410-961f-82ee72b054a4
* (fill_simple_delay_slots): When filling an insn's delay slot with akenner1995-09-151-3/+15
| | | | | | | | JUMP_INSN, don't assume the JUMP_INSN immediately follows the insn on the unfilled slots obstack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10362 138bc75d-0d04-0410-961f-82ee72b054a4
* (fill_slots_from_thread): Update thread if it is split.kenner1995-09-151-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10359 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix spelling errors.kenner1995-08-281-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10289 138bc75d-0d04-0410-961f-82ee72b054a4
* (fill_simple_delay_slots): When trying to take instruction from afterkenner1995-07-141-38/+10
| | | | | | | | the branch, don't continue past target label. Local variables passed_label and target_uses are no longer necessary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10121 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
* (fill_simple_delay_slots): Set MAYBE_NEVER according to code ofkenner1995-06-121-2/+2
| | | | | | | TRIAL_DELAY, not TRIAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9933 138bc75d-0d04-0410-961f-82ee72b054a4
* (struct resources): New field unch_memory.kenner1995-06-011-3/+11
| | | | | | | | | | (CLEAR_RESOURCES, mark_target_live_regs, dbr_schedule): Clear it. (mark_{referenced,set}_resources, redundant_insn): Set it. (fill_simple_delay_slots): Likewise. (resource_conflicts_p): Test it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9860 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (fill_simple_delay_slots): Don't use a JUMP_INSNlaw1995-04-041-1/+4
| | | | | | | a the target of another JUMP_INSN to fill a delay slot. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9312 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_referenced_resources): Make setjmp use all registers.wilson1995-03-291-0/+14
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9248 138bc75d-0d04-0410-961f-82ee72b054a4
* (steal_delay_list_from_target): Exit at the top if thewilson1995-03-101-3/+8
| | | | | | | branch in SEQ is not a single set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9158 138bc75d-0d04-0410-961f-82ee72b054a4
* (relax_delay_slots): When searching for next CODE_LABEL,wilson1995-02-251-1/+6
| | | | | | | use next_real_insn not next_active_insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9075 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix up copyright notice.kenner1995-01-081-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8726 138bc75d-0d04-0410-961f-82ee72b054a4
* (dbr_schedule): Add missing casts in bzero call.kenner1995-01-081-5/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8725 138bc75d-0d04-0410-961f-82ee72b054a4
* (fill_simple_delay_slots): For the epilogue case, set neededwilson1994-12-291-1/+20
| | | | | | | | | to include frame pointer and stack pointer, don't include all of end_of_function_needs. Reject insn if it sets a previously set resource. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8698 138bc75d-0d04-0410-961f-82ee72b054a4
* Delete this patch:dje1994-12-051-14/+1
| | | | | | | | | * reorg.c (fill_slots_from_thread): Create a USE insn for any redundant insn we pretend to fill a delay slot with. Continue searching for a suitable delay slot insn at the new USE insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8605 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (fill_slots_from_thread): Create a USE insn for anylaw1994-12-011-1/+14
| | | | | | | | redundant insn we pretend to fill a delay slot with. Continue searching for a suitable delay slot insn at the new USE insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8595 138bc75d-0d04-0410-961f-82ee72b054a4
* (relax_delay_slots): When invert a conditional jump over a singlekenner1994-11-161-0/+11
| | | | | | | | unconditional jump, invert the INSN_FROM_TARGET_P bit of insns in the delay slots. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8452 138bc75d-0d04-0410-961f-82ee72b054a4
* (redundant_insn): Renamed from redundant_insn_p; all callers changed.kenner1994-11-161-10/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8447 138bc75d-0d04-0410-961f-82ee72b054a4
* (redundant_insn_p): Change return type to rtx. Return the redundant insnkenner1994-11-151-6/+39
| | | | | | | | | | instead of true. (update_reg_unused_notes): New function. (fill_slots_from_thread): Call update_reg_unused_notes after one of the redundant_insn_p calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8446 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_set_resources): Properly handle SUBREGs.kenner1994-10-311-0/+16
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8364 138bc75d-0d04-0410-961f-82ee72b054a4
* (fill_slots_from_thread): Update THREAD if it is split.wilson1994-10-251-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8337 138bc75d-0d04-0410-961f-82ee72b054a4
* (try_merge_delay_insns): Update THREAD if it is split.kenner1994-10-061-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8226 138bc75d-0d04-0410-961f-82ee72b054a4
* (try_merge_delay_insns): Update THREAD if deleting first insn in it.kenner1994-10-051-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8221 138bc75d-0d04-0410-961f-82ee72b054a4
* Complete last change.kenner1994-10-031-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8207 138bc75d-0d04-0410-961f-82ee72b054a4
* (fill_slots_from_thread): Update THREAD if deleting its first insn.kenner1994-10-021-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8203 138bc75d-0d04-0410-961f-82ee72b054a4
* * reorg.c (make_return_insns): Make sure redirecting a jump tolaw1994-07-011-2/+7
| | | | | | | a RETURN insn does not invalidate the delay slots of the jump. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7639 138bc75d-0d04-0410-961f-82ee72b054a4
* * jump.c (condjump_in_parallel_p): New function to detectlaw1994-06-141-10/+19
| | | | | | | | | | | | | conditional jumps within PARALLEL insns. (jump_optimize): Allow for some simple optimizations involving conditional jumps within PARALLEL insns. * reorg.c (get_jump_flags): Handle conditional jumps in PARALLEL insns. (get_branch_condition, fill_simple_delay_slots): Likewise. (fill_eager_delay_slots, relax_delay_slots, dbr_schedule): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7452 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_referenced_resources, case CALL_INSN): Fix indentation.dje1994-05-151-21/+21
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7298 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_referenced_resources): Fix typo.dje1994-05-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7297 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_{referenced,set}_resources): Fix typos in last change.kenner1994-05-071-8/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7266 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_referenced_resources, mark_set_resources): Change from USE andkenner1994-05-061-27/+28
| | | | | | | CLOBBER insns to using CALL_INSN_FUNCTION_USAGE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7247 138bc75d-0d04-0410-961f-82ee72b054a4