From b1e17e1006e4a1526de00e7ddcd899169e83b340 Mon Sep 17 00:00:00 2001 From: hubicka Date: Thu, 28 Jun 2001 18:14:05 +0000 Subject: * flow.c (try_merge_block): Rename to try_optimize_cfg; do basic simplifications on the CFG. (is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump, try_simplify_condjump): New. (redirect_edge_and_branch): Try replace jump insn. (flow_delete_insn): Handle deleting of ADDR_VEC insns. * basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43642 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/basic-block.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gcc/basic-block.h') diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 515d222c2b5..8e4aa4182ea 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -488,6 +488,14 @@ struct edge_list /* Number of edges in the compressed edge list. */ #define NUM_EDGES(el) ((el)->num_edges) +/* BB is assumed to contain conditional jump. Return the fallthru edge. */ +#define FALLTHRU_EDGE(bb) ((bb)->succ->flags & EDGE_FALLTHRU \ + ? (bb)->succ : (bb)->succ->succ_next) + +/* BB is assumed to contain conditional jump. Return the branch edge. */ +#define BRANCH_EDGE(bb) ((bb)->succ->flags & EDGE_FALLTHRU \ + ? (bb)->succ->succ_next : (bb)->succ) + struct edge_list * create_edge_list PARAMS ((void)); void free_edge_list PARAMS ((struct edge_list *)); void print_edge_list PARAMS ((FILE *, struct edge_list *)); -- cgit v1.2.1