MRT Module Reference

Collaboration diagram for MRT:

Collaboration graph
[legend]

Public Member Functions

TI_RES_RESRes ()
void Reserve_Op_Resources (const SWP_OP &swp_op, INT cycle)
void Unreserve_Op_Resources (const SWP_OP &swp_op)
bool Resources_Available (const SWP_OP &swp_op, INT cycle) const
bool Resources_Grainy (const SWP_OP &swp_op) const
bool Resources_Equivalent (const SWP_OP &sop1, const SWP_OP &sop2) const
bool Resources_Relevant (const SWP_OP &sop1, const SWP_OP &sop2) const
void Verify () const
INT Find_Resources_In_Range (INT candidate, const SWP_OP_vector &v, INT earliest, INT latest, bool top_down) const
void Verify2 (const SWP_OP_vector &v)
 MRT (const SWP_OP_vector &v, INT _ii, MEM_POOL *pool)
 MRT ()
 ~MRT ()
void Init (BB *, int, BOOL, MEM_POOL *)
void Reserve_Resources (OP *, int)
void Set_Completion_Time (OP *)
void Compute_Issue_Time (OP *, int)
bool Decoder_is_Saturated (int c)
bool Memory_Saturated (int cycle)
int Decoded_Ops (int c)

Static Public Attributes

static const int issue_rate = 3

Private Member Functions

void Init_Table_Entry (Resource_Table_Entry *e)
bool Probe_Resources (int cycle, OP *op, int, bool take_it)
int Get_Dispatch_Unit (OP *, int)
bool TOP_is_convert (const TOP top)
bool TOP_is_lea (const TOP top)

Private Attributes

INT ii
INT grainy_resources_length
TI_RES_RESresources
BOOL trace
REGISTER_SET live_in [ISA_REGISTER_CLASS_MAX+1]
REGISTER_SET live_out [ISA_REGISTER_CLASS_MAX+1]
REGISTER_SET avail_regs [ISA_REGISTER_CLASS_MAX+1]
int entries
Resource_Table_Entry ** Resource_Table

Static Private Attributes

static const int mem_ops_rate = 2

Data Types

type  Resource_Table_Entry

Detailed Description

Definition at line 473 of file cg_swp_sched.cxx.


Constructor & Destructor Documentation

MRT::MRT ( const SWP_OP_vector v,
INT  _ii,
MEM_POOL pool 
)

MRT::MRT (  )  [inline]

Definition at line 164 of file cg_sched.cxx.

MRT::~MRT (  )  [inline]

Definition at line 165 of file cg_sched.cxx.


Member Function/Subroutine Documentation

TI_RES_RES* MRT::Res (  )  [inline]

Definition at line 479 of file cg_swp_sched.cxx.

Referenced by Verify2().

void MRT::Reserve_Op_Resources ( const SWP_OP swp_op,
INT  cycle 
) [inline]

void MRT::Unreserve_Op_Resources ( const SWP_OP swp_op  )  [inline]

bool MRT::Resources_Available ( const SWP_OP swp_op,
INT  cycle 
) const [inline]

bool MRT::Resources_Grainy ( const SWP_OP swp_op  )  const [inline]

Definition at line 490 of file cg_swp_sched.cxx.

References SWP_OP::op, OP_code, and TI_RES_RES_Resources_Length().

Referenced by LT_Heuristics::Init_SWP_OP_state().

bool MRT::Resources_Equivalent ( const SWP_OP sop1,
const SWP_OP sop2 
) const [inline]

bool MRT::Resources_Relevant ( const SWP_OP sop1,
const SWP_OP sop2 
) const [inline]

void MRT::Verify (  )  const [inline]

Definition at line 507 of file cg_swp_sched.cxx.

References FmtAssert, ii, and TI_RES_RES_Is_Bad_II().

Referenced by Modulo_Schedule().

INT MRT::Find_Resources_In_Range ( INT  candidate,
const SWP_OP_vector v,
INT  earliest,
INT  latest,
bool  top_down 
) const

Definition at line 532 of file cg_swp_sched.cxx.

References ii, INT, Is_True, and Resources_Available().

Referenced by LT_Heuristics::Choose_Issue_Cycle().

void MRT::Verify2 ( const SWP_OP_vector v  ) 

void MRT::Init_Table_Entry ( Resource_Table_Entry e  )  [inline, private]

bool MRT::Probe_Resources ( int  cycle,
OP op,
int  dispatch_unit,
bool  take_it 
) [private]

int MRT::Get_Dispatch_Unit ( OP op,
int  cycle 
) [private]

bool MRT::TOP_is_convert ( const TOP  top  )  [inline, private]

Definition at line 144 of file cg_sched.cxx.

Referenced by Init().

bool MRT::TOP_is_lea ( const TOP  top  )  [inline, private]

Definition at line 153 of file cg_sched.cxx.

Referenced by Init(), and Probe_Resources().

void MRT::Init ( BB bb,
int  size,
BOOL  trace,
MEM_POOL mem_pool 
)

void MRT::Reserve_Resources ( OP op,
int  cycle 
)

void MRT::Set_Completion_Time ( OP  ) 

void MRT::Compute_Issue_Time ( OP op,
int  clock 
)

bool MRT::Decoder_is_Saturated ( int  c  )  [inline]

Definition at line 173 of file cg_sched.cxx.

References MRT::Resource_Table_Entry::decoded_ops, issue_rate, and Resource_Table.

Referenced by KEY_SCH::Schedule_BB().

bool MRT::Memory_Saturated ( int  cycle  )  [inline]

Definition at line 178 of file cg_sched.cxx.

References MRT::Resource_Table_Entry::mem_ops, mem_ops_rate, and Resource_Table.

Referenced by KEY_SCH::Winner().

int MRT::Decoded_Ops ( int  c  )  [inline]

Definition at line 183 of file cg_sched.cxx.

References MRT::Resource_Table_Entry::decoded_ops, and Resource_Table.


Field Documentation

INT MRT::ii [private]

Definition at line 474 of file cg_swp_sched.cxx.

Referenced by Find_Resources_In_Range(), Modulo_Schedule(), MRT(), and Verify2().

Definition at line 475 of file cg_swp_sched.cxx.

Referenced by MRT().

Definition at line 476 of file cg_swp_sched.cxx.

BOOL MRT::trace [private]

Definition at line 114 of file cg_sched.cxx.

REGISTER_SET MRT::live_in[ISA_REGISTER_CLASS_MAX+1] [private]

Definition at line 116 of file cg_sched.cxx.

Referenced by Init().

REGISTER_SET MRT::live_out[ISA_REGISTER_CLASS_MAX+1] [private]

Definition at line 117 of file cg_sched.cxx.

Referenced by Init().

REGISTER_SET MRT::avail_regs[ISA_REGISTER_CLASS_MAX+1] [private]

Definition at line 118 of file cg_sched.cxx.

Referenced by Init().

const int MRT::mem_ops_rate = 2 [static, private]

Definition at line 120 of file cg_sched.cxx.

Referenced by Memory_Saturated(), and Probe_Resources().

int MRT::entries [private]

Definition at line 160 of file cg_sched.cxx.

Referenced by Init().

const int MRT::issue_rate = 3 [static]

Definition at line 167 of file cg_sched.cxx.

Referenced by KEY_SCH::Build_OPR(), Decoder_is_Saturated(), and Reserve_Resources().


The documentation for this module was generated from the following files:

Generated on Wed Apr 8 16:57:02 2009 for Open64 by  doxygen 1.5.6