osprey/kg++fe/gnu/sched-deps.c File Reference

#include "config.h"
#include "system.h"
#include "toplev.h"
#include "rtl.h"
#include "tm_p.h"
#include "hard-reg-set.h"
#include "basic-block.h"
#include "regs.h"
#include "function.h"
#include "flags.h"
#include "insn-config.h"
#include "insn-attr.h"
#include "except.h"
#include "recog.h"
#include "sched-int.h"
#include "params.h"
#include "cselib.h"

Include dependency graph for sched-deps.c:

Go to the source code of this file.

Functions/Subroutines

static int deps_may_trap_p PARAMS ((rtx))
static void add_dependence_list PARAMS ((rtx, rtx, enum reg_note))
static void
add_dependence_list_and_free 
PARAMS ((rtx, rtx *, enum reg_note))
static void remove_dependence PARAMS ((rtx, rtx))
static void flush_pending_lists PARAMS ((struct deps *, rtx, int, int))
static void sched_analyze_1 PARAMS ((struct deps *, rtx, rtx))
static void sched_analyze_insn PARAMS ((struct deps *, rtx, rtx, rtx))
static int deps_may_trap_p (rtx mem)
rtx find_insn_list (rtx insn, rtx list)
static rtx get_condition (rtx insn)
static int conditions_mutex_p (rtx cond1, rtx cond2)
int add_dependence (rtx insn, rtx elem, enum reg_note dep_type)
static void add_dependence_list (rtx insn, rtx list, enum reg_note dep_type)
static void add_dependence_list_and_free (rtx insn, rtx *listp, enum reg_note dep_type)
static void remove_dependence (rtx insn, rtx elem)
static rtx group_leader (rtx insn)
static void set_sched_group_p (rtx insn)
void add_insn_mem_dependence (struct deps *deps, rtx *insn_list, rtx *mem_list, rtx insn, rtx mem)
static void flush_pending_lists (struct deps *deps, rtx insn, int for_read, int for_write)
static void sched_analyze_1 (struct deps *deps, rtx x, rtx insn)
static void sched_analyze_2 (struct deps *deps, rtx x, rtx insn)
static void sched_analyze_insn (struct deps *deps, rtx x, rtx insn, rtx loop_notes)
void sched_analyze (struct deps *deps, rtx head, rtx tail)
void add_forward_dependence (rtx from, rtx to, enum reg_note dep_type)
void compute_forward_dependences (rtx head, rtx tail)
void init_deps (struct deps *deps)
void free_deps (struct deps *deps)
void init_dependency_caches (int luid)
void free_dependency_caches ()
void init_deps_global ()
void finish_deps_global ()

Variables

char * reg_known_equiv_p
rtxreg_known_value
static regset_head reg_pending_sets_head
static regset_head reg_pending_clobbers_head
static regset_head reg_pending_uses_head
static regset reg_pending_sets
static regset reg_pending_clobbers
static regset reg_pending_uses
static bool reg_pending_barrier
static sbitmaptrue_dependency_cache
static sbitmapanti_dependency_cache
static sbitmapoutput_dependency_cache


Function Documentation

int add_dependence ( rtx  insn,
rtx  elem,
enum reg_note  dep_type 
)

static void add_dependence_list ( rtx  insn,
rtx  list,
enum reg_note  dep_type 
) [static]

Definition at line 362 of file sched-deps.c.

References add_dependence(), and XEXP.

Referenced by sched_analyze_1(), sched_analyze_insn(), and sched_analyze_reg().

static void add_dependence_list_and_free ( rtx  insn,
rtx listp,
enum reg_note  dep_type 
) [static]

Definition at line 373 of file sched-deps.c.

References add_dependence(), free_INSN_LIST_node(), next, NULL, and XEXP.

Referenced by flush_pending_lists(), sched_analyze(), and sched_analyze_insn().

void add_forward_dependence ( rtx  from,
rtx  to,
enum reg_note  dep_type 
)

void add_insn_mem_dependence ( struct deps deps,
rtx insn_list,
rtx mem_list,
rtx  insn,
rtx  mem 
)

void compute_forward_dependences ( rtx  head,
rtx  tail 
)

Definition at line 1470 of file sched-deps.c.

Referenced by schedule_ebb().

static int conditions_mutex_p ( rtx  cond1,
rtx  cond2 
) [static]

Definition at line 163 of file sched-deps.c.

References GET_CODE, GET_RTX_CLASS, reverse_condition(), and XEXP.

Referenced by add_dependence(), and sched_insns_conditions_mutex_p().

static int deps_may_trap_p ( rtx  mem  )  [static]

Definition at line 99 of file sched-deps.c.

References addr(), FIRST_PSEUDO_REGISTER, reg_known_value, REG_P, REGNO, rtx_addr_can_trap_p(), and XEXP.

Referenced by sched_analyze_2().

rtx find_insn_list ( rtx  insn,
rtx  list 
)

Definition at line 115 of file sched-deps.c.

Referenced by add_forw_dep(), add_forward_dependence(), and set_sched_group_p().

void finish_deps_global ( void   ) 

Definition at line 1615 of file sched-deps.c.

Referenced by build_intra_loop_deps(), and schedule_ebb().

static void flush_pending_lists ( struct deps deps,
rtx  insn,
int  for_read,
int  for_write 
) [static]

void free_dependency_caches ( void   ) 

Definition at line 1583 of file sched-deps.c.

void free_deps ( struct deps deps  ) 

Definition at line 1521 of file sched-deps.c.

Referenced by build_intra_loop_deps(), and schedule_ebb().

static rtx get_condition ( rtx  insn  )  [static]

static rtx group_leader ( rtx  insn  )  [static]

Definition at line 442 of file sched-deps.c.

References INSN_P, next_nonnote_insn(), prev, and SCHED_GROUP_P.

Referenced by compute_forward_dependences().

void init_dependency_caches ( int  luid  ) 

Definition at line 1556 of file sched-deps.c.

void init_deps ( struct deps deps  ) 

Definition at line 1494 of file sched-deps.c.

Referenced by build_intra_loop_deps(), and schedule_ebb().

void init_deps_global ( void   ) 

Definition at line 1604 of file sched-deps.c.

Referenced by build_intra_loop_deps(), and schedule_ebb().

static void sched_analyze_insn PARAMS ( (struct deps *, rtx, rtx, rtx  )  [static]

static void sched_analyze_1 PARAMS ( (struct deps *, rtx, rtx  )  [static]

static void flush_pending_lists PARAMS ( (struct deps *, rtx, int, int)   )  [static]

static void remove_dependence PARAMS ( (rtx, rtx  )  [static]

static void add_dependence_list_and_free PARAMS ( (rtx, rtx *, enum reg_note  )  [static]

static void add_dependence_list PARAMS ( (rtx, rtx, enum reg_note  )  [static]

static int deps_may_trap_p PARAMS ( (rtx  )  [static]

static void remove_dependence ( rtx  insn,
rtx  elem 
) [static]

void sched_analyze ( struct deps deps,
rtx  head,
rtx  tail 
)

Definition at line 1243 of file sched-deps.c.

Referenced by build_intra_loop_deps(), and schedule_ebb().

static void sched_analyze_1 ( struct deps deps,
rtx  x,
rtx  insn 
) [static]

static void sched_analyze_2 ( struct deps deps,
rtx  x,
rtx  insn 
) [static]

static void sched_analyze_insn ( struct deps deps,
rtx  x,
rtx  insn,
rtx  loop_notes 
) [static]

static void set_sched_group_p ( rtx  insn  )  [static]


Variable Documentation

Definition at line 54 of file sched-deps.c.

Referenced by init_deps_global(), sched_analyze(), sched_analyze_2(), and sched_analyze_insn().

Definition at line 48 of file sched-deps.c.

Referenced by init_deps_global().

Definition at line 47 of file sched-deps.c.

Referenced by init_deps_global().

Definition at line 49 of file sched-deps.c.

Referenced by init_deps_global().


Generated on Wed Apr 8 15:44:32 2009 for Open64 by  doxygen 1.5.6