diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-11 19:42:35 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-11 19:42:35 +0000 |
commit | a0d79d691041eba0528dd28d1ec8784fad708cb5 (patch) | |
tree | 60903d3543bd7ef55ab3cdb0ddd8b7aed79a1788 /gcc/basic-block.h | |
parent | cc8c99d6610f5c5c1a206ea05b6cae90f28b3ccc (diff) | |
download | ppe42-gcc-a0d79d691041eba0528dd28d1ec8784fad708cb5.tar.gz ppe42-gcc-a0d79d691041eba0528dd28d1ec8784fad708cb5.zip |
* flow.c (merge_blocks_move_successor_nojumps): Do not crash
when fallthru edge is present.
(mege_blocks): Handle case where creation of jump insn
is required.
* basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
CLEANUP_POST_REGSTACK): New constants.
* except.c (finish_eh_generation): Update call of cleanup_cfg,
* jump.c (rtx_renumbered_equal_p): Handle 't' fields.
* output.h (cleanup_cfg): Update prototype.
* reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
* sibcall.c (optimize_sibling_and_tail_recursive_call): Update
cleanup_cfg call; kill missleading comment.
* toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
* flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
parameter; control optimizations performed using it.
(flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
try_crossjump_bb): New functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43950 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 5a2088ece5f..fc590738705 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -535,6 +535,11 @@ enum update_life_extent #define PROP_AUTOINC 32 /* Create autoinc mem references. */ #define PROP_FINAL 63 /* All of the above. */ +#define CLEANUP_EXPENSIVE 1 /* Do relativly expensive optimizations + except for edge forwarding */ +#define CLEANUP_CROSSJUMP 2 /* Do crossjumping. */ +#define CLEANUP_POST_REGSTACK 4 /* We run after reg-stack and need + to care REG_DEAD notes. */ /* Flags for loop discovery. */ #define LOOP_TREE 1 /* Build loop hierarchy tree. */ |