summaryrefslogtreecommitdiff
path: root/gcc/flow.c
Commit message (Collapse)AuthorAgeFilesLines
* * flow.c (find_basic_blocks): A CALL_INSN that can throw startsjason1997-12-121-2/+7
| | | | | | | | a new basic block. (find_basic_blocks_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17055 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from gcc-2.8law1997-12-071-5/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16987 138bc75d-0d04-0410-961f-82ee72b054a4
* ./: * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.jason1997-12-041-18/+1
| | | | | | | | | | | | | | | | | | | | * except.c: Lose outer_context_label_stack. (expand_eh_region_end): Rethrow from outer_context here. (expand_fixup_region_end): Let expand_eh_region_end do the rethrow. (expand_internal_throw): Take no args. (expand_internal_throw_indirect): Lose. (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow. (expand_start_all_catch): Start a rethrow region. (expand_end_all_catch): End it. (expand_rethrow): New fn. * except.h: Reflect above changes. cp/: * except.c (expand_end_catch_block): Lose rethrow region. (expand_start_catch_block): Likewise. (expand_end_catch_block): Don't expand_leftover_cleanups. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16937 138bc75d-0d04-0410-961f-82ee72b054a4
* Grr. Used the wrong patchfile last time.law1997-11-281-1/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16816 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Handle cfg issues for rethrows andlaw1997-11-281-0/+5
| | | | | | | nested exceptions correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16812 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): During marking phase, if we encounterlaw1997-11-131-30/+23
| | | | | | | | | an insn with a REG_LABEL note, make the target block live and create an edge from the insn to the target block. Do not make edges from all blocks to the target block. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16469 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Refine further to get a more correctlaw1997-11-121-121/+150
| | | | | | | | | cfg, especially in the presense of exception handling, computed gotos, and other non-trivial cases. Call abort if an inaccuracy is detected in the cfg. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16440 138bc75d-0d04-0410-961f-82ee72b054a4
* Update mainline egcs to gcc2 snapshot 971021.law1997-11-021-1/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): If we delete the label for anlaw1997-11-021-0/+45
| | | | | | | | exception handler, remove it from the EH label list and remove the EH_BEGIN/EH_END notes for that EH region. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16265 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Generate correct flow controllaw1997-11-011-12/+31
| | | | | | | information when exception handling notes are present. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16263 138bc75d-0d04-0410-961f-82ee72b054a4
* Cast alloca return value for char *meissner1997-10-031-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15837 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Mark calls as potentially jumpinglaw1997-09-291-2/+8
| | | | | | | to the EH labels. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15792 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (print_rtl_with_bb): Cast alloca return values for variableslaw1997-09-281-2/+2
| | | | | | | start and end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15753 138bc75d-0d04-0410-961f-82ee72b054a4
* Forgot to check in last time.law1997-09-221-100/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15620 138bc75d-0d04-0410-961f-82ee72b054a4
* fix typomeissner1997-09-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15401 138bc75d-0d04-0410-961f-82ee72b054a4
* make change to spacing for Kennermeissner1997-09-111-4/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15398 138bc75d-0d04-0410-961f-82ee72b054a4
* For phases starting with flow, print basic block information when doing dumpsmeissner1997-09-041-0/+79
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15082 138bc75d-0d04-0410-961f-82ee72b054a4
* * Integrate Haifa instruction scheduler.law1997-08-121-2/+1
| | | | | | | | * Integrate regmove pass. See ChangeLog for deatils. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14770 138bc75d-0d04-0410-961f-82ee72b054a4
* Minor reformatting.kenner1997-07-161-16/+17
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14461 138bc75d-0d04-0410-961f-82ee72b054a4
* (init_regset_vector): Make global; don't take basic block times # of pseduoskenner1997-07-141-22/+43
| | | | | | | | | | | | | | | as argument. (life_analysis): Change all init_regset_vector calls. Use free_regset_vector to release arrays only flow uses at end. (allocate_for_life_analysis): Change init_regset_vector call. Don't set regset_{size,bytes}. (free_regset_vector): Call FREE_REG_SET to release any memory allocated by each vector. (propagate_block): Call FREE_REG_SET on dead/live. (mark_used_regs): Don't use REGSET_ELT_TYPE anymore. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14422 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Fix end case bug.mrs1997-06-181-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14257 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_used_regs): Fix typo in Jun 4 change.kenner1997-06-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14220 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_basic_blocks): Eliminate more dead code, enablesmrs1997-06-091-7/+46
| | | | | | | dead throws to be eliminated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14193 138bc75d-0d04-0410-961f-82ee72b054a4
* remove cygnus local stuffmeissner1997-06-051-3/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14152 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix urgent bugmeissner1997-06-051-34/+37
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14150 138bc75d-0d04-0410-961f-82ee72b054a4
* abstract regset stuff into macrosmeissner1997-06-051-216/+131
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14147 138bc75d-0d04-0410-961f-82ee72b054a4
* Widen some short fields to int; Use allocate_reg_info to allocate the ↵meissner1997-06-021-1/+1
| | | | | | reg_renumber array git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14142 138bc75d-0d04-0410-961f-82ee72b054a4
* Use accessor macros to access arrays based on regno; move many of the arrays ↵meissner1997-05-301-108/+48
| | | | | | into a single structure. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14140 138bc75d-0d04-0410-961f-82ee72b054a4
* reformat a little to match GNU coding standards.mrs1997-05-061-4/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14024 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (life_analysis): Delete obvious no-op moveslaw1997-02-041-0/+17
| | | | | | | which use SUBREGs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13607 138bc75d-0d04-0410-961f-82ee72b054a4
* (regno_uninitialized): Return 0 if reg is used for args.kenner1997-01-291-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13562 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (life_analysis): Preserve registers used by the epilogue.mrs1996-08-211-5/+14
| | | | | | | | | | (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
* install EH codemrs1996-07-231-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12548 138bc75d-0d04-0410-961f-82ee72b054a4
* formatting tweaksmrs1996-07-031-7/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12390 138bc75d-0d04-0410-961f-82ee72b054a4
* (flow_analysis): Fix typo in last change.kenner1996-06-181-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12295 138bc75d-0d04-0410-961f-82ee72b054a4
* (flow_analysis, find_basic_blocks): Ignore nonlocal_label_list forkenner1996-06-101-2/+8
| | | | | | | CALL_INSN that has a REG_RETVAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12263 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_set_1, mark_used_regs): Clean up usages of ALL_NEEDED; change tokenner1996-05-101-21/+21
| | | | | | | SOME_NOT_NEEDED and set properly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11967 138bc75d-0d04-0410-961f-82ee72b054a4
* * flow.c (find_auto_inc): Also make sure there aren'tlaw1996-04-081-1/+5
| | | | | | | | any sets of the incremented register between the memory reference and increment insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11682 138bc75d-0d04-0410-961f-82ee72b054a4
* (propagate_block): CALL_INSNs don't kill fixed regs.kenner1996-03-311-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11646 138bc75d-0d04-0410-961f-82ee72b054a4
* (jmp_uses_reg_or_mem): Renamed from uses_reg_or_mem.kenner1996-02-021-13/+31
| | | | | | | Don't look into condition of an IF_THEN_ELSE; also make faster. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11158 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix spelling errors.kenner1995-08-281-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10289 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
* Fix typos in comments.kenner1995-05-161-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9712 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_basic_blocks): Only perform n_basic_blocks sanitydje1995-05-131-1/+9
| | | | | | | check on first pass, and on second pass ensure it has the correct value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9671 138bc75d-0d04-0410-961f-82ee72b054a4
* Eliminate dead code caused by last patchmeissner1995-05-111-10/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9618 138bc75d-0d04-0410-961f-82ee72b054a4
* Do not segfault if SUBREG uses something other than REG.meissner1995-05-111-0/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9617 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_used_regs, case SUBREG): Only fall through to REG casewilson1995-03-291-0/+5
| | | | | | | if operand is a REG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9247 138bc75d-0d04-0410-961f-82ee72b054a4
* (mark_used_regs, case SUBREG): Set reg_changes_size even for integerkenner1995-03-181-4/+9
| | | | | | | modes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9205 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_basic_blocks): Revise calculation of when to make another pass.dje1995-02-131-2/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8945 138bc75d-0d04-0410-961f-82ee72b054a4
* (find_basic_blocks): No longer need to check for deletedwilson1995-01-211-5/+2
| | | | | | | nonlocal_labels. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8781 138bc75d-0d04-0410-961f-82ee72b054a4