summaryrefslogtreecommitdiffstats
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-11 19:42:35 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-11 19:42:35 +0000
commita0d79d691041eba0528dd28d1ec8784fad708cb5 (patch)
tree60903d3543bd7ef55ab3cdb0ddd8b7aed79a1788 /gcc/basic-block.h
parentcc8c99d6610f5c5c1a206ea05b6cae90f28b3ccc (diff)
downloadppe42-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.h5
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. */
OpenPOWER on IntegriCloud