osprey-gcc/gcc/tree-ssa-dce.c File Reference

#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "errors.h"
#include "ggc.h"
#include "rtl.h"
#include "tm_p.h"
#include "hard-reg-set.h"
#include "obstack.h"
#include "basic-block.h"
#include "tree.h"
#include "diagnostic.h"
#include "tree-flow.h"
#include "tree-gimple.h"
#include "tree-dump.h"
#include "tree-pass.h"
#include "timevar.h"
#include "flags.h"

Include dependency graph for tree-ssa-dce.c:

Go to the source code of this file.

Data Types

type  stmt_stats

Defines

#define EXECUTE_IF_CONTROL_DEPENDENT(N, EDGE_NUMBER, CODE)
#define NECESSARY(stmt)   stmt->common.asm_written_flag

Functions/Subroutines

static void set_control_dependence_map_bit (basic_block, int)
static void clear_control_dependence_bitmap (basic_block)
static void find_all_control_dependences (struct edge_list *)
static void find_control_dependence (struct edge_list *, int)
static basic_block find_pdom (basic_block)
static void mark_stmt_necessary (tree, bool)
static void mark_operand_necessary (tree, bool)
static void mark_stmt_if_obviously_necessary (tree, bool)
static void find_obviously_necessary_stmts (struct edge_list *)
static void mark_control_dependent_edges_necessary (basic_block, struct edge_list *)
static void propagate_necessity (struct edge_list *)
static void eliminate_unnecessary_stmts (void)
static void remove_dead_phis (basic_block)
static void remove_dead_stmt (block_stmt_iterator *, basic_block)
static void print_stats (void)
static void tree_dce_init (bool)
static void tree_dce_done (bool)
static void mark_really_necessary_kill_operand_phis (void)
static void perform_tree_ssa_dce (bool aggressive)
static void tree_ssa_dce (void)
static void tree_ssa_cd_dce (void)
static bool gate_dce (void)

Variables

static struct stmt_stats stats
static varray_type worklist
static sbitmap processed
static sbitmap last_stmt_necessary
bitmapcontrol_dependence_map
sbitmap visited_control_parents
struct tree_opt_pass pass_dce
struct tree_opt_pass pass_cd_dce


Define Documentation

#define EXECUTE_IF_CONTROL_DEPENDENT ( N,
EDGE_NUMBER,
CODE   ) 

Value:

{                       \
    bitmap_iterator bi;                   \
                        \
    EXECUTE_IF_SET_IN_BITMAP (control_dependence_map[N], 0, EDGE_NUMBER, bi)  \
      {                       \
  CODE;                     \
      }                       \
  }

Definition at line 102 of file tree-ssa-dce.c.

#define NECESSARY ( stmt   )     stmt->common.asm_written_flag


Function Documentation

static void clear_control_dependence_bitmap ( basic_block  bb  )  [inline, static]

Definition at line 148 of file tree-ssa-dce.c.

References bitmap_clear(), control_dependence_map, and basic_block_def::index.

static void eliminate_unnecessary_stmts ( void   )  [static]

static void find_all_control_dependences ( struct edge_list el  )  [static]

Definition at line 157 of file tree-ssa-dce.c.

References find_control_dependence(), i, and NUM_EDGES.

static void find_control_dependence ( struct edge_list el,
int  edge_index 
) [static]

static void find_obviously_necessary_stmts ( struct edge_list el  )  [static]

static basic_block find_pdom ( basic_block  block  )  [inline, static]

static bool gate_dce ( void   )  [static]

Definition at line 1007 of file tree-ssa-dce.c.

static void mark_control_dependent_edges_necessary ( basic_block  bb,
struct edge_list el 
) [static]

static void mark_operand_necessary ( tree  op,
bool  phionly 
) [inline, static]

static void mark_really_necessary_kill_operand_phis ( void   )  [static]

static void mark_stmt_if_obviously_necessary ( tree  stmt,
bool  aggressive 
) [static]

static void mark_stmt_necessary ( tree  stmt,
bool  add_to_worklist 
) [inline, static]

static void perform_tree_ssa_dce ( bool  aggressive  )  [static]

static void print_stats ( void   )  [static]

Definition at line 872 of file tree-ssa-dce.c.

References dump_file, dump_flags, float, fprintf(), stats, TDF_DETAILS, and TDF_STATS.

Referenced by perform_tree_ssa_dce().

static void propagate_necessity ( struct edge_list el  )  [static]

static void remove_dead_phis ( basic_block  bb  )  [static]

static void remove_dead_stmt ( block_stmt_iterator i,
basic_block  bb 
) [static]

static void set_control_dependence_map_bit ( basic_block  bb,
int  edge_index 
) [inline, static]

static void tree_dce_done ( bool  aggressive  )  [static]

Definition at line 921 of file tree-ssa-dce.c.

References BITMAP_FREE, control_dependence_map, free(), i, last_basic_block, and sbitmap_free.

Referenced by perform_tree_ssa_dce().

static void tree_dce_init ( bool  aggressive  )  [static]

static void tree_ssa_cd_dce ( void   )  [static]

Definition at line 1001 of file tree-ssa-dce.c.

References optimize, and perform_tree_ssa_dce().

static void tree_ssa_dce ( void   )  [static]

Definition at line 995 of file tree-ssa-dce.c.

References perform_tree_ssa_dce().


Variable Documentation

Definition at line 85 of file tree-ssa-dce.c.

Initial value:

Definition at line 1029 of file tree-ssa-dce.c.

Initial value:

Definition at line 1012 of file tree-ssa-dce.c.

sbitmap processed [static]

Definition at line 98 of file tree-ssa-dce.c.


Generated on Wed Apr 8 14:22:40 2009 for Open64 by  doxygen 1.5.6