Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

op_scheduler Class Reference

#include <op_scheduler.H>

List of all members.

Public Member Functions

 op_scheduler ()
 op_scheduler (legoRegion *, machine *, knobs *)
 ~op_scheduler ()
virtual void SetKnobs ()
int ScheduleBlock (legoRegion *Block, int StartCycle)
void ScheduleTree ()
 op_scheduler ()
 op_scheduler (legoRegion *, machine *, knobs *)
 ~op_scheduler ()
virtual void SetKnobs ()
int ScheduleBlock (legoRegion *Block, int StartCycle)
void ScheduleTree ()

Protected Types

typedef vector< BigListElement
>::iterator 
ListIterator
typedef vector< BigListElement
>::iterator 
ListIterator

Protected Member Functions

int Rename (legoOp *op, int RegNum, legoRegion *proc_ptr, int Final_Pass, int IncMaxRegNum, int Hazardous)
void SimpleRename (legoOp *op, int RegNum, int IncMaxRegNum)
void ForwardGlobalRename (legoOprd *def, int RegNum, legoOprd *orig_def)
void ReverseGlobalRename (legoOprd *use, int RegNum, legoOprd *orig_def)
void GlobalRename (legoOp *op, int RegNum, int IncMaxRegNum)
int AddCopyOps (legoOp *op)
int IsRemoteMergeProblem (legoOprd *def, legoOprd *orig_def)
int IsMergeProblem (legoOprd *orig_def)
int anyliveout (legoOp *op, opEdges *edge)
void RemoveOutputDepsAfterRename (legoOprd *renamed_def)
void RemoveOutputDepsAfterRenameUp (legoOprd *renamed_def)
void RemoveAntiDepsAfterUseRename (legoOprd *renamed_use)
void RemoveAntiDepsAfterDefRename (legoOprd *renamed_def)
void copy_operand (legoOprd *Src, legoOprd *Target)
void add_to_existing_attr (attrs *Attr, legoOprd *NewOprd)
void create_new_attr (opEdges *Edge, legoOprd *Oprd, legoProc *Proc)
int FixLiveVarsUp (legoOp *op, legoOp *before_op, legoProc *proc_ptr)
int FixLiveVarsDown (legoOp *op, opEdges *edge, legoProc *proc_ptr)
int FixLiveVarsFromUses (legoOprd *use, legoOp *before_op, legoProc *proc_ptr)
int AnyOutputDepsBetween (legoOp *op, legoOp *op_in_multiop, legoOprd *compare_dest)
int DoTheMessyStuff (legoOp *op, legoRegion *proc_ptr)
legoOprdGetComplementaryDestOprd (legoOp *cmppop)
void PrepareToDie (legoOp *op)
void UpdatePredecessorBranch (legoOp *op, legoOp *old_predecessor_op, legoOp *new_predecessor_op)
int DoMoreMessyStuff (legoOp *op, int Final_Pass)
void PlacePBRsJustBeforeBranches ()
void PlaceBranchesLast ()
int ScheduleOp (legoOp *op, int cycle)
void ScheduleTreeBreadthFirst ()
void ScheduleTreeDepthFirst (legoRegion *Block, int StartCycle)
int DescendantofBlock (int input_block_int, legoOp *op)
int DescendantofCurBlockPtr (ListIterator Node)
void BuildReadyTimes (ListIterator Node, int IssueCycle)
int PredecessorsScheduled (ListIterator Node)
vector< legoRegion * > SortRegionListByWeight (regionList *rlist)
void BubbleSortRegionList (vector< legoRegion * > Vector, int(*Compare)(legoRegion *, legoRegion *))
int HasBlockBeenScheduled (legoRegion *Block)
void PrintSchedule ()
int Rename (legoOp *op, int RegNum, legoRegion *proc_ptr, int Final_Pass, int IncMaxRegNum, int Hazardous)
void SimpleRename (legoOp *op, int RegNum, int IncMaxRegNum)
void ForwardGlobalRename (legoOprd *def, int RegNum, legoOprd *orig_def)
void ReverseGlobalRename (legoOprd *use, int RegNum, legoOprd *orig_def)
void GlobalRename (legoOp *op, int RegNum, int IncMaxRegNum)
int AddCopyOps (legoOp *op)
int IsRemoteMergeProblem (legoOprd *def, legoOprd *orig_def)
int IsMergeProblem (legoOprd *orig_def)
int anyliveout (legoOp *op, opEdges *edge)
void RemoveOutputDepsAfterRename (legoOprd *renamed_def)
void RemoveOutputDepsAfterRenameUp (legoOprd *renamed_def)
void RemoveAntiDepsAfterUseRename (legoOprd *renamed_use)
void RemoveAntiDepsAfterDefRename (legoOprd *renamed_def)
void copy_operand (legoOprd *Src, legoOprd *Target)
void add_to_existing_attr (attrs *Attr, legoOprd *NewOprd)
void create_new_attr (opEdges *Edge, legoOprd *Oprd, legoProc *Proc)
int FixLiveVarsUp (legoOp *op, legoOp *before_op, legoProc *proc_ptr)
int FixLiveVarsDown (legoOp *op, opEdges *edge, legoProc *proc_ptr)
int FixLiveVarsFromUses (legoOprd *use, legoOp *before_op, legoProc *proc_ptr)
int AnyOutputDepsBetween (legoOp *op, legoOp *op_in_multiop, legoOprd *compare_dest)
int DoTheMessyStuff (legoOp *op, legoRegion *proc_ptr)
legoOprdGetComplementaryDestOprd (legoOp *cmppop)
void PrepareToDie (legoOp *op)
void UpdatePredecessorBranch (legoOp *op, legoOp *old_predecessor_op, legoOp *new_predecessor_op)
int DoMoreMessyStuff (legoOp *op, int Final_Pass)
void PlacePBRsJustBeforeBranches ()
void PlaceBranchesLast ()
int ScheduleOp (legoOp *op, int cycle)
void ScheduleTreeBreadthFirst ()
void ScheduleTreeDepthFirst (legoRegion *Block, int StartCycle)
int DescendantofBlock (int input_block_int, legoOp *op)
int DescendantofCurBlockPtr (ListIterator Node)
void BuildReadyTimes (ListIterator Node, int IssueCycle)
int PredecessorsScheduled (ListIterator Node)
vector< legoRegion * > SortRegionListByWeight (regionList *rlist)
void BubbleSortRegionList (vector< legoRegion * > Vector, int(*Compare)(legoRegion *, legoRegion *))
int HasBlockBeenScheduled (legoRegion *Block)
void PrintSchedule ()

Protected Attributes

vector< BigListElement > * List
ListIterator ListHead
ListIterator ListTail
ListIterator ListPtr
ListIterator Op
int ListCount
int * operand_ready_times
int current_block_int
legoOpcurrent_before_op
regionListChildren
vector< legoRegion * > ScheduleList
map< int, int > ScheduleTimes
legoRegionRegion
dagDDG
machineMachine
knobsKnobs
char * TreeTraversal
int PlayDoh
int BypassLatency
int CodeGen
int NoSpeculation
int AllowPBRSpeculation
int AllowLoadSpeculation
int AllowOnlySafeSpeculation
int AllowDownwardCodeMotion
int AllowMultiWayBR
vector< BigListElement > * List
int * operand_ready_times
legoOpcurrent_before_op
regionListChildren
vector< legoRegion * > ScheduleList
map< int, int > ScheduleTimes
legoRegionRegion
dagDDG
machineMachine
knobsKnobs
char * TreeTraversal


Member Typedef Documentation

typedef vector<BigListElement>::iterator op_scheduler::ListIterator [protected]
 

Definition at line 40 of file src/op_scheduler.H.

typedef vector<BigListElement>::iterator op_scheduler::ListIterator [protected]
 

Definition at line 40 of file include/op_scheduler.H.


Constructor & Destructor Documentation

op_scheduler::op_scheduler  )  [inline]
 

Definition at line 480 of file include/op_scheduler.H.

op_scheduler::op_scheduler legoRegion ,
machine ,
knobs
 

Definition at line 5080 of file op_scheduler.C.

References BypassLatency, Children, DDG, exit(), machine::getBypassStatus(), legoRegion::GetDAG(), dag::GetList(), dag::GetListSize(), i, K, Knobs, List, ListCount, ListHead, ListTail, Machine, operand_ready_times, Region, ScheduleList, ScheduleTimes, SetKnobs(), TRUE, and UNSCHEDULED.

op_scheduler::~op_scheduler  )  [inline]
 

Definition at line 482 of file include/op_scheduler.H.

op_scheduler::op_scheduler  )  [inline]
 

Definition at line 480 of file src/op_scheduler.H.

op_scheduler::op_scheduler legoRegion ,
machine ,
knobs
 

op_scheduler::~op_scheduler  )  [inline]
 

Definition at line 482 of file src/op_scheduler.H.


Member Function Documentation

void op_scheduler::add_to_existing_attr attrs Attr,
legoOprd NewOprd
[protected]
 

void op_scheduler::add_to_existing_attr attrs Attr,
legoOprd NewOprd
[protected]
 

Definition at line 1834 of file op_scheduler.C.

References copy_operand(), derr, attrs::GetAttrOprdPtr(), legoOprd::GetNextOprdPtr(), legoOprd::GetOprdFileType(), legoOprd::GetOprdRegNum(), and legoOprd::GetOprdType().

Referenced by FixLiveVarsDown(), FixLiveVarsFromUses(), and FixLiveVarsUp().

int op_scheduler::AddCopyOps legoOp op  )  [protected]
 

int op_scheduler::AddCopyOps legoOp op  )  [protected]
 

Definition at line 861 of file op_scheduler.C.

References AddLcAttribute(), AddMidOp(), AllowDownwardCodeMotion, Back, BRCF, BRCT, BRU, Chains, CMPP_W_TRUE_UN_UN, copy_dynamic_op_increase, copy_ops_added, current_before_op, ddderr, dderr, derr, DescendantofBlock(), DoTheMessyStuff(), edgeTypes, ET_REGANTI, ET_REGFLOW, ET_REGOUT, FALSE, fileTypes, FindLcAttribute(), FindParentRegionType(), Front, FT_CR, FT_FPR, FT_GPR, FT_PR, attrs::GetAttrOprdPtr(), legoOp::GetDestOprdPtr(), chains::GetDUChains(), legoRegion::GetExitOpsPtr(), legoOprd::GetLiteralDouble(), legoOp::GetNextLink(), oprdList::GetNextListPtr(), opList::GetNextListPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), opList::GetOpPtr(), legoOprd::GetOprdFileType(), oprdList::GetOprdPtr(), legoOprd::GetOprdType(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), legoOp::GetPredOprdPtr(), legoOp::GetPredVectorPtr(), legoOp::GetPrevLink(), legoOp::GetSchedTime(), chains::GetUDChains(), L_build_oper_mdes_info(), L_create_ru_info_oper(), List, ListCount, ListPtr, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), MaxOpId, MOVE, MOVEF_D, NO_RENAMING_CONFLICT, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), Op, OT_LITERAL_D, OT_REG, OT_UNDEFINED, Region, RENAMING_CONFLICT, RT_PROC, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Set(), DagNode::SetDepth(), legoOp::SetDestOprdPtr(), DagNode::SetHeight(), legoOprd::SetLiteralDouble(), oprdList::SetNextListPtr(), DagNode::SetOp(), legoOp::SetOpcode(), oprdList::SetOprdPtr(), legoOprd::SetOprdType(), legoOprd::SetParentOpPtr(), legoOp::SetPredOprdPtr(), legoOp::SetPredVectorPtr(), legoOp::SetSrcOprdPtr(), DagNode::SetWeight(), TRUE, and UNSCHEDULED.

Referenced by Rename().

int op_scheduler::anyliveout legoOp op,
opEdges edge
[protected]
 

int op_scheduler::anyliveout legoOp op,
opEdges edge
[protected]
 

Definition at line 1358 of file op_scheduler.C.

References BRL, FindLiveAttribute(), FindReturnMacro(), attrs::GetAttrOprdPtr(), legoOp::GetDestOprdPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpcode(), legoOprd::GetOprdFileType(), legoOprd::GetOprdRegNum(), legoOprd::GetOprdType(), and OT_MACRO.

Referenced by DoTheMessyStuff(), and IsMergeProblem().

int op_scheduler::AnyOutputDepsBetween legoOp op,
legoOp op_in_multiop,
legoOprd compare_dest
[protected]
 

int op_scheduler::AnyOutputDepsBetween legoOp op,
legoOp op_in_multiop,
legoOprd compare_dest
[protected]
 

Definition at line 2004 of file op_scheduler.C.

References dag::AreOpsDependent(), DDG, FindLcAttribute(), legoOp::GetDestOprdPtr(), legoOp::GetInListPtr(), legoOprd::GetNextOprdPtr(), opList::GetOpPtr(), legoOprd::GetOprdFileType(), legoOprd::GetOprdRegNum(), legoOprd::GetOprdType(), legoOp::GetPrevLink(), NO, OT_MACRO, OT_REG, OT_UNDEFINED, and YES.

void op_scheduler::BubbleSortRegionList vector< legoRegion * >  Vector,
int(*  Compare)(legoRegion *, legoRegion *)
[protected]
 

void op_scheduler::BubbleSortRegionList vector< legoRegion * >  Vector,
int(*  Compare)(legoRegion *, legoRegion *)
[protected]
 

Definition at line 5009 of file op_scheduler.C.

References Back, Front, i, and Region.

Referenced by SortRegionListByWeight().

void op_scheduler::BuildReadyTimes ListIterator  Node,
int  IssueCycle
[protected]
 

void op_scheduler::BuildReadyTimes ListIterator  Node,
int  IssueCycle
[protected]
 

Definition at line 194 of file op_scheduler.C.

References Back, BypassLatency, derr, dsld_operand_ready_times, edgeTypes, ET_CNTL, ET_MEM, ET_REGANTI, ET_REGFLOW, ET_REGOUT, FALSE, FindLcAttribute(), Front, i, mdes_alt_st::id, machine::isBranchOp(), IsLoadOp(), machine::isRealOp(), machine::isStoreOp(), L_alloc(), Machine, MDES_DEST, mdes_latency_count(), mdes_operand_latency(), MDES_PRED, MDES_SRC, MDES_SYNC_IN, MDES_SYNC_OUT, operand_index(), Operand_ready_pool, operand_ready_times, OT_MACRO, OT_REG, PlayDoh, _RU_Info::proc_opc, RET_ADDR, _RU_Info::selected_alt, TRUE, true_dsld_operand_ready_times, true_operand_ready_times, and UNSCHEDULED.

Referenced by ScheduleBlock().

void op_scheduler::copy_operand legoOprd Src,
legoOprd Target
[protected]
 

void op_scheduler::copy_operand legoOprd Src,
legoOprd Target
[protected]
 

Definition at line 1821 of file op_scheduler.C.

References legoOprd::GetOprdDataType(), legoOprd::GetOprdFileType(), legoOprd::GetOprdIntValue(), legoOprd::GetOprdRegNum(), legoOprd::GetOprdRegStyle(), legoOprd::GetOprdRegType(), legoOprd::GetOprdType(), legoOprd::GetValid(), legoOprd::SetIntValue(), legoOprd::SetOprdDataType(), legoOprd::SetOprdFileType(), legoOprd::SetOprdRegNum(), legoOprd::SetOprdRegStyle(), legoOprd::SetOprdRegType(), legoOprd::SetOprdType(), and legoOprd::SetValid().

Referenced by add_to_existing_attr(), and create_new_attr().

void op_scheduler::create_new_attr opEdges Edge,
legoOprd Oprd,
legoProc Proc
[protected]
 

void op_scheduler::create_new_attr opEdges Edge,
legoOprd Oprd,
legoProc Proc
[protected]
 

Definition at line 1873 of file op_scheduler.C.

References AddLiveAttribute(), copy_operand(), and derr.

Referenced by FixLiveVarsDown(), FixLiveVarsFromUses(), and FixLiveVarsUp().

int op_scheduler::DescendantofBlock int  input_block_int,
legoOp op
[protected]
 

int op_scheduler::DescendantofBlock int  input_block_int,
legoOp op
[protected]
 

Definition at line 106 of file op_scheduler.C.

References derr, FALSE, legoOp::GetParentBlockPtr(), legoRegion::GetParents(), regionList::GetRegionPtr(), Region, and TRUE.

Referenced by AddCopyOps(), DoTheMessyStuff(), IsMergeProblem(), IsRemoteMergeProblem(), and Rename().

int op_scheduler::DescendantofCurBlockPtr ListIterator  Node  )  [protected]
 

int op_scheduler::DescendantofCurBlockPtr ListIterator  Node  )  [protected]
 

Definition at line 148 of file op_scheduler.C.

References current_block_int, derr, FALSE, legoRegion::GetParents(), regionList::GetRegionPtr(), legoRegion::GetRegionType(), Region, RT_BB, and TRUE.

int op_scheduler::DoMoreMessyStuff legoOp op,
int  Final_Pass
[protected]
 

int op_scheduler::DoMoreMessyStuff legoOp op,
int  Final_Pass
[protected]
 

Definition at line 3153 of file op_scheduler.C.

References AddLcAttribute(), AddMidOp(), AllowMultiWayBR, ATTR_LC, ATTR_TBLNAME, attrTypes, Back, blocks_removed, BRCF, BRCT, BRU, Chains, current_before_op, ddderr, dderr, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Delete(), DT_I, DUMMY_BR, edgeTypes, ET_CNTL, FALSE, FindControlEdge(), FindLcAttribute(), FindOpWeight(), FindParentRegionType(), Front, attrs::GetAttrOprdPtr(), attrList::GetAttrPtr(), attrs::GetAttrString(), attrList::GetAttrType(), legoRegion::GetChildren(), GetComplementaryDestOprd(), legoPSet< void * >::GetCount(), legoOp::GetDestOprdPtr(), chains::GetDUChains(), legoOp::GetInListPtr(), legoPSet< void * >::GetItem(), legoOprd::GetLiteralControlBlock(), legoOprd::GetLiteralULongLong(), legoOp::GetNextLink(), regionList::GetNextListPtr(), oprdList::GetNextListPtr(), opList::GetNextListPtr(), attrList::GetNextListPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpAttrListPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), opList::GetOpPtr(), oprdList::GetOprdPtr(), legoOprd::GetOprdType(), legoOp::GetOutListPtr(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), legoRegion::GetParentPtr(), legoOp::GetPrevLink(), legoRegion::GetRegionAttrListPtr(), legoRegion::GetRegionId(), regionList::GetRegionPtr(), legoRegion::GetRegionType(), legoOp::GetRUInfoPtr(), legoOp::GetSchedTime(), legoOp::GetSrcOprdPtr(), chains::GetUDChains(), opList::GetWeight(), i, IsBranchOpButNotBRL(), legoOp::IsDummy(), L_build_oper_mdes_info(), L_create_ru_info_oper(), L_delete_ru_info_oper(), L_free_oper_mdes_info(), LegoFatal(), LegoNonFatal(), List, ListCount, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), Machine, mdes_latency_count(), multiway_dynamic_op_reduction, NO, NO_RENAMING_CONFLICT, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), operand_ready_times, machine::opLatency(), OT_LITERAL_CB, OT_LITERAL_D, OT_LITERAL_I, OT_LITERAL_ULLNG, PrepareToDie(), Region, RemoveEdge(), RemoveFinalOp(), RemoveLcAttribute(), RemoveLiveAttribute(), RemoveMidOp(), RENAMING_CONFLICT, RT_BB, RT_HB, RT_PROC, RT_SB, RT_TREE, RTS, RU_schedule_op_at(), RU_unschedule_op(), legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Set(), legoRegion::SetChildren(), opEdges::SetFromOpId(), opEdges::SetFromOpPtr(), legoOprd::SetIntValue(), legoOprd::SetLiteralControlBlock(), legoOprd::SetLiteralDouble(), legoOprd::SetLiteralInteger(), legoOprd::SetLiteralULongLong(), regionList::SetNextListPtr(), opList::SetNextListPtr(), oprdList::SetNextListPtr(), legoOprd::SetNextOprdPtr(), legoOp::SetOpcode(), opList::SetOpId(), opList::SetOpPtr(), legoOprd::SetOprdDataType(), oprdList::SetOprdPtr(), legoOprd::SetOprdType(), legoOp::SetOutListPtr(), legoOprd::SetParentAttrPtr(), legoOprd::SetParentOpPtr(), legoRegion::SetParents(), legoOp::SetPredOprdPtr(), legoOprd::SetPrevOprdPtr(), legoOp::SetRUInfoPtr(), legoOprd::SetValid(), opList::SetWeight(), TRUE, and UpdatePredecessorBranch().

int op_scheduler::DoTheMessyStuff legoOp op,
legoRegion proc_ptr
[protected]
 

int op_scheduler::DoTheMessyStuff legoOp op,
legoRegion proc_ptr
[protected]
 

Definition at line 2055 of file op_scheduler.C.

References AddDPRemoveAttribute(), AddLcAttribute(), AddMidOp(), AllowDownwardCodeMotion, anyliveout(), dag::AreOpsDependent(), Back, BRCF, BRCT, BRL, BRU, C_MERGE, Chains, CMPP, current_before_op, ddderr, dderr, DDG, dead_ops, DEFINE, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Delete(), DescendantofBlock(), downward_dynamic_op_reduction, downward_motion_ops, DUMMY_BR, edgeTypes, FALSE, FCMPP_D_TRUE_AC_AC, FindControlEdge(), FindMaxEdgeAttrId(), FixLiveVarsDown(), Front, attrList::GetAttrPtr(), legoOp::GetDestOprdPtr(), chains::GetDUChains(), legoRegion::GetExitOpsPtr(), legoOprd::GetLiteralControlBlock(), attrs::GetNextAttrPtr(), legoOp::GetNextLink(), attrList::GetNextListPtr(), oprdList::GetNextListPtr(), opList::GetNextListPtr(), legoOprd::GetNextOprdPtr(), DagNode::GetOp(), legoOp::GetOpAttrListPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), opList::GetOpPtr(), oprdList::GetOprdPtr(), legoOprd::GetOprdType(), legoOp::GetOutListPtr(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), legoOp::GetPredOprdPtr(), legoOp::GetPrevLink(), legoOp::GetSchedTime(), legoOp::GetSrcOprdPtr(), chains::GetUDChains(), legoOp::IsDummy(), IsStoreOp(), L_build_oper_mdes_info(), L_create_ru_info_oper(), LegoFatal(), List, ListCount, ListPtr, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), MaxOpId, NO, NO_RENAMING_CONFLICT, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), Op, OT_LITERAL_I, OT_MACRO, OT_REG, PBRA, PBRR, BigListElement::Predecessors, Region, RemoveMidOp(), BigListElement::RemoveSuccessor(), RENAMING_CONFLICT, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Set(), attrList::SetAttrId(), attrs::SetAttrId(), attrList::SetAttrPtr(), legoOprd::SetLiteralInteger(), attrs::SetNextAttrPtr(), oprdList::SetNextListPtr(), legoOprd::SetNextOprdPtr(), DagNode::SetOp(), legoOp::SetOpId(), oprdList::SetOprdPtr(), legoOprd::SetOprdType(), legoOp::SetPredOprdPtr(), legoOp::SetSchedTime(), BigListElement::Successors, TRUE, UNSCHEDULED, unspeculated_ops, unspeculated_pbr_ops, and YES.

Referenced by AddCopyOps().

int op_scheduler::FixLiveVarsDown legoOp op,
opEdges edge,
legoProc proc_ptr
[protected]
 

int op_scheduler::FixLiveVarsDown legoOp op,
opEdges edge,
legoProc proc_ptr
[protected]
 

Definition at line 1923 of file op_scheduler.C.

References add_to_existing_attr(), BRL, create_new_attr(), DBL_P2, FindLiveAttribute(), legoOprd::GetNextOprdPtr(), legoOp::GetOpcode(), legoOprd::GetOprdType(), legoOp::GetPredOprdPtr(), legoOp::GetSrcOprdPtr(), INT_P1, OT_MACRO, OT_REG, legoOprd::SetOprdRegNum(), and legoOprd::SetOprdType().

Referenced by DoTheMessyStuff().

int op_scheduler::FixLiveVarsFromUses legoOprd use,
legoOp before_op,
legoProc proc_ptr
[protected]
 

int op_scheduler::FixLiveVarsFromUses legoOprd use,
legoOp before_op,
legoProc proc_ptr
[protected]
 

Definition at line 1978 of file op_scheduler.C.

References add_to_existing_attr(), create_new_attr(), FindLiveAttribute(), edgeList::GetEdgePtr(), legoRegion::GetInEdgesPtr(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), legoRegion::GetParents(), and regionList::GetRegionPtr().

int op_scheduler::FixLiveVarsUp legoOp op,
legoOp before_op,
legoProc proc_ptr
[protected]
 

int op_scheduler::FixLiveVarsUp legoOp op,
legoOp before_op,
legoProc proc_ptr
[protected]
 

Definition at line 1890 of file op_scheduler.C.

References add_to_existing_attr(), create_new_attr(), FindLiveAttribute(), legoOp::GetDestOprdPtr(), edgeList::GetEdgePtr(), legoRegion::GetInEdgesPtr(), legoOprd::GetNextOprdPtr(), legoOprd::GetOprdType(), legoOp::GetParentBlockPtr(), legoRegion::GetParents(), regionList::GetRegionPtr(), and OT_UNDEFINED.

void op_scheduler::ForwardGlobalRename legoOprd def,
int  RegNum,
legoOprd orig_def
[protected]
 

void op_scheduler::ForwardGlobalRename legoOprd def,
int  RegNum,
legoOprd orig_def
[protected]
 

Definition at line 770 of file op_scheduler.C.

References Chains, dderr, FALSE, chains::GetDUChains(), oprdList::GetNextListPtr(), legoOp::GetOpId(), oprdList::GetOprdPtr(), legoOprd::GetOprdRegNum(), legoOprd::GetParentOpPtr(), legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), ReverseGlobalRename(), and legoOprd::SetOprdRegNum().

Referenced by GlobalRename(), and ReverseGlobalRename().

legoOprd* op_scheduler::GetComplementaryDestOprd legoOp cmppop  )  [protected]
 

legoOprd * op_scheduler::GetComplementaryDestOprd legoOp cmppop  )  [protected]
 

Definition at line 2935 of file op_scheduler.C.

References CMPP, FCMPP_D_TRUE_AC_AC, legoOp::GetDestOprdPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), legoOprd::GetOprdDataType(), legoOprd::GetOprdFileType(), legoOprd::GetOprdIntValue(), legoOprd::GetOprdOmega(), legoOprd::GetOprdRegStyle(), legoOprd::GetOprdRegType(), legoOprd::GetOprdType(), LegoNonFatal(), MaxRegNum, OT_UNDEFINED, legoOprd::SetIntValue(), legoOp::SetOpcode(), legoOprd::SetOprdDataType(), legoOprd::SetOprdFileType(), legoOprd::SetOprdOmega(), legoOprd::SetOprdRegNum(), legoOprd::SetOprdRegStyle(), legoOprd::SetOprdRegType(), and legoOprd::SetOprdType().

Referenced by DoMoreMessyStuff().

void op_scheduler::GlobalRename legoOp op,
int  RegNum,
int  IncMaxRegNum
[protected]
 

void op_scheduler::GlobalRename legoOp op,
int  RegNum,
int  IncMaxRegNum
[protected]
 

Definition at line 830 of file op_scheduler.C.

References dderr, FALSE, ForwardGlobalRename(), legoOp::GetDestOprdPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpId(), legoOprd::GetOprdType(), MaxRegNum, MergeProblemDuringGlobal, OT_UNDEFINED, RemoveAntiDepsAfterDefRename(), RemoveOutputDepsAfterRenameUp(), and legoOprd::SetOprdRegNum().

Referenced by Rename().

int op_scheduler::HasBlockBeenScheduled legoRegion Block  )  [protected]
 

int op_scheduler::HasBlockBeenScheduled legoRegion Block  )  [protected]
 

Definition at line 5032 of file op_scheduler.C.

References legoPSet< void * >::GetItem().

Referenced by ScheduleTreeBreadthFirst(), and ScheduleTreeDepthFirst().

int op_scheduler::IsMergeProblem legoOprd orig_def  )  [protected]
 

int op_scheduler::IsMergeProblem legoOprd orig_def  )  [protected]
 

Definition at line 1283 of file op_scheduler.C.

References anyliveout(), Chains, dderr, DescendantofBlock(), FALSE, FindLcAttribute(), chains::GetDUChains(), edgeList::GetEdgePtr(), legoRegion::GetInEdgesPtr(), edgeList::GetNextListPtr(), oprdList::GetNextListPtr(), oprdList::GetOprdPtr(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), legoOp::GetPrevLink(), chains::GetUDChains(), legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), Region, and TRUE.

Referenced by Rename().

int op_scheduler::IsRemoteMergeProblem legoOprd def,
legoOprd orig_def
[protected]
 

int op_scheduler::IsRemoteMergeProblem legoOprd def,
legoOprd orig_def
[protected]
 

Definition at line 1260 of file op_scheduler.C.

References AddLcAttribute(), dderr, DescendantofBlock(), FALSE, FindParentRegionType(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), OT_LITERAL_I, Region, RT_PROC, legoOprd::SetLiteralInteger(), legoOprd::SetOprdType(), and TRUE.

Referenced by ReverseGlobalRename().

void op_scheduler::PlaceBranchesLast  )  [protected]
 

void op_scheduler::PlaceBranchesLast  )  [protected]
 

Definition at line 4632 of file op_scheduler.C.

References AddMidOp(), legoPSet< void * >::GetCount(), legoPSet< void * >::GetItem(), legoOp::GetNextLink(), legoOp::GetPrevLink(), legoRegion::GetRegionType(), i, IsBranchOpButNotBRL(), NO, Region, RemoveMidOp(), RT_BB, total_branch_multiops, and total_branch_ops.

void op_scheduler::PlacePBRsJustBeforeBranches  )  [protected]
 

void op_scheduler::PlacePBRsJustBeforeBranches  )  [protected]
 

Definition at line 4435 of file op_scheduler.C.

References AddLcAttribute(), AddMidOp(), Chains, ddderr, DUMMY_BR, DUMMY_BRANCH, FALSE, FindLcAttribute(), FindMaxEdgeAttrId(), FindParentRegionType(), legoProc::GetAttrDictionary(), attrList::GetAttrPtr(), legoPSet< void * >::GetCount(), legoPSet< void * >::GetItem(), attrs::GetNextAttrPtr(), legoOp::GetNextLink(), attrList::GetNextListPtr(), oprdList::GetNextListPtr(), legoOp::GetOpAttrListPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), oprdList::GetOprdPtr(), legoOprd::GetParentOpPtr(), legoOp::GetPrevLink(), legoRegion::GetRegionType(), legoOp::GetSchedTime(), legoOp::GetSrcOprdPtr(), chains::GetUDChains(), i, IsBranchOp(), LegoFatal(), LegoNonFatal(), legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), MaxOpId, NO, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), PBRA, PBRR, Region, RemoveMidOp(), RT_BB, RT_PROC, attrList::SetAttrId(), attrs::SetAttrId(), attrList::SetAttrPtr(), attrs::SetNextAttrPtr(), legoOp::SetOpId(), and legoOp::SetSchedTime().

int op_scheduler::PredecessorsScheduled ListIterator  Node  )  [protected]
 

int op_scheduler::PredecessorsScheduled ListIterator  Node  )  [protected]
 

Definition at line 537 of file op_scheduler.C.

References Back, Front, NO, UNSCHEDULED, and YES.

Referenced by ScheduleBlock().

void op_scheduler::PrepareToDie legoOp op  )  [protected]
 

void op_scheduler::PrepareToDie legoOp op  )  [protected]
 

Definition at line 2980 of file op_scheduler.C.

References AddDPRemoveAttribute(), AddMidOp(), Back, current_before_op, ddderr, edgeTypes, Front, legoOp::GetNextLink(), legoOp::GetOpId(), legoOp::GetPrevLink(), legoOp::GetSchedTime(), LegoFatal(), List, NO, RemoveFinalOp(), RemoveFirstOp(), RemoveMidOp(), RemoveVeryLastOp(), legoOp::SetSchedTime(), and UNSCHEDULED.

Referenced by DoMoreMessyStuff().

void op_scheduler::PrintSchedule  )  [protected]
 

void op_scheduler::PrintSchedule  )  [protected]
 

Definition at line 5038 of file op_scheduler.C.

References DDG, List, ListHead, and ListTail.

Referenced by ScheduleTreeBreadthFirst().

void op_scheduler::RemoveAntiDepsAfterDefRename legoOprd renamed_def  )  [protected]
 

void op_scheduler::RemoveAntiDepsAfterDefRename legoOprd renamed_def  )  [protected]
 

Definition at line 1715 of file op_scheduler.C.

References Back, BRL, DBL_P2, DBL_RET, edgeTypes, ET_REGANTI, FALSE, Front, legoOp::GetDestOprdPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), legoOprd::GetOprdFileType(), legoOprd::GetOprdRegNum(), legoOprd::GetOprdType(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), INT_P1, List, OT_MACRO, Region, temperr, and TRUE.

Referenced by GlobalRename(), and SimpleRename().

void op_scheduler::RemoveAntiDepsAfterUseRename legoOprd renamed_use  )  [protected]
 

void op_scheduler::RemoveAntiDepsAfterUseRename legoOprd renamed_use  )  [protected]
 

Definition at line 1609 of file op_scheduler.C.

References Back, BRL, DBL_P2, DBL_RET, edgeTypes, ET_REGANTI, FALSE, Front, legoOprd::GetNextOprdPtr(), legoOp::GetOpcode(), legoOp::GetOpId(), legoOprd::GetOprdFileType(), legoOprd::GetOprdRegNum(), legoOprd::GetOprdType(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), legoOp::GetSrcOprdPtr(), INT_P1, List, OT_MACRO, Region, temperr, and TRUE.

void op_scheduler::RemoveOutputDepsAfterRename legoOprd renamed_def  )  [protected]
 

void op_scheduler::RemoveOutputDepsAfterRename legoOprd renamed_def  )  [protected]
 

Definition at line 1406 of file op_scheduler.C.

References Back, edgeTypes, ET_REGOUT, FALSE, Front, legoOp::GetDestOprdPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpId(), legoOprd::GetOprdFileType(), legoOprd::GetOprdRegNum(), legoOprd::GetOprdType(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), List, OT_MACRO, Region, temperr, and TRUE.

Referenced by SimpleRename().

void op_scheduler::RemoveOutputDepsAfterRenameUp legoOprd renamed_def  )  [protected]
 

void op_scheduler::RemoveOutputDepsAfterRenameUp legoOprd renamed_def  )  [protected]
 

Definition at line 1533 of file op_scheduler.C.

References Back, edgeTypes, ET_REGOUT, FALSE, Front, legoOp::GetDestOprdPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpId(), legoOprd::GetOprdFileType(), legoOprd::GetOprdRegNum(), legoOprd::GetOprdType(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), List, OT_MACRO, Region, temperr, and TRUE.

Referenced by GlobalRename().

int op_scheduler::Rename legoOp op,
int  RegNum,
legoRegion proc_ptr,
int  Final_Pass,
int  IncMaxRegNum,
int  Hazardous
[protected]
 

int op_scheduler::Rename legoOp op,
int  RegNum,
legoRegion proc_ptr,
int  Final_Pass,
int  IncMaxRegNum,
int  Hazardous
[protected]
 

Definition at line 567 of file op_scheduler.C.

References AddCopyOps(), Chains, dderr, derr, DescendantofBlock(), FALSE, legoOp::GetDestOprdPtr(), chains::GetDUChains(), oprdList::GetNextListPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpId(), oprdList::GetOprdPtr(), legoOprd::GetOprdRegType(), legoOprd::GetOprdType(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), legoOp::GetPrevLink(), GlobalRename(), IsMergeProblem(), Knobs, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), MergeProblemDuringGlobal, NO_RENAMING_CONFLICT, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), OT_REG, OT_UNDEFINED, knobs::Read(), Region, RENAMING_CONFLICT, RT_BR, knobs::SetDefaultPanel(), SimpleRename(), strcmp(), and TRUE.

void op_scheduler::ReverseGlobalRename legoOprd use,
int  RegNum,
legoOprd orig_def
[protected]
 

void op_scheduler::ReverseGlobalRename legoOprd use,
int  RegNum,
legoOprd orig_def
[protected]
 

Definition at line 793 of file op_scheduler.C.

References Chains, dderr, FALSE, ForwardGlobalRename(), oprdList::GetNextListPtr(), legoOp::GetOpId(), oprdList::GetOprdPtr(), legoOprd::GetOprdRegNum(), legoOp::GetParentBlockPtr(), legoOprd::GetParentOpPtr(), chains::GetUDChains(), IsRemoteMergeProblem(), legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), MergeProblemDuringGlobal, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), ReDoLiveVarsAfterGlobal, ReDoLiveVarsNextTreegion, Region, legoOprd::SetOprdRegNum(), and TRUE.

Referenced by ForwardGlobalRename().

int op_scheduler::ScheduleBlock legoRegion Block,
int  StartCycle
 

int op_scheduler::ScheduleBlock legoRegion Block,
int  StartCycle
 

Definition at line 4736 of file op_scheduler.C.

References AddMidOp(), machine::adjustIssueStatus(), BuildDagForRegion(), BuildReadyTimes(), current_before_op, derr, FindNode(), legoRegion::GetDAG(), legoPSet< void * >::GetItem(), legoRegion::GetRegionType(), IsBranchOpButNotBRL(), Knobs, LegoFatal(), List, ListCount, ListHead, ListPtr, ListTail, Machine, mdes_total_slots, NO, NO_RENAMING_CONFLICT, operand_ready_times, machine::opLatency(), PredecessorsScheduled(), Region, RemoveMidOp(), RT_BB, RT_TREE, RU_can_schedule_op(), RU_schedule_op_at(), ScheduleOp(), SetValuesForRegion(), and UNSCHEDULED.

Referenced by ScheduleTreeBreadthFirst(), and ScheduleTreeDepthFirst().

int op_scheduler::ScheduleOp legoOp op,
int  cycle
[protected]
 

int op_scheduler::ScheduleOp legoOp op,
int  cycle
[protected]
 

Definition at line 4709 of file op_scheduler.C.

References AddMidOp(), current_before_op, legoOp::GetNextLink(), legoOp::GetPrevLink(), legoRegion::GetRegionType(), legoOp::IsCMERGEOp(), LegoFatal(), NO, NO_RENAMING_CONFLICT, Region, RemoveMidOp(), RENAMING_CONFLICT, RT_BB, RT_TREE, and legoOp::SetSchedTime().

Referenced by ScheduleBlock().

void op_scheduler::ScheduleTree  ) 
 

void op_scheduler::ScheduleTree  ) 
 

Definition at line 4838 of file op_scheduler.C.

References derr, legoRegion::GetRegionId(), Region, ScheduleTreeBreadthFirst(), ScheduleTreeDepthFirst(), strcmp(), and TreeTraversal.

void op_scheduler::ScheduleTreeBreadthFirst  )  [protected]
 

void op_scheduler::ScheduleTreeBreadthFirst  )  [protected]
 

Definition at line 4880 of file op_scheduler.C.

References Children, derr, legoRegion::GetChildren(), legoPSet< void * >::GetCount(), regionList::GetNextListPtr(), legoRegion::GetParentPtr(), legoRegion::GetRegionId(), regionList::GetRegionPtr(), legoRegion::GetRegionType(), HasBlockBeenScheduled(), i, LegoFatal(), PrintSchedule(), Region, RT_TREE, ScheduleBlock(), ScheduleList, ScheduleTimes, SortRegionListByWeight(), and UNSCHEDULED.

Referenced by ScheduleTree().

void op_scheduler::ScheduleTreeDepthFirst legoRegion Block,
int  StartCycle
[protected]
 

void op_scheduler::ScheduleTreeDepthFirst legoRegion Block,
int  StartCycle
[protected]
 

Definition at line 4854 of file op_scheduler.C.

References derr, legoRegion::GetChildren(), legoRegion::GetParentPtr(), legoRegion::GetRegionId(), HasBlockBeenScheduled(), i, ScheduleBlock(), SortRegionListByWeight(), and UNSCHEDULED.

Referenced by ScheduleTree().

virtual void op_scheduler::SetKnobs  )  [virtual]
 

void op_scheduler::SetKnobs  )  [virtual]
 

Definition at line 5048 of file op_scheduler.C.

References AllowDownwardCodeMotion, AllowLoadSpeculation, AllowMultiWayBR, AllowOnlySafeSpeculation, AllowPBRSpeculation, CodeGen, legoRegion::GetRegionType(), Knobs, LegoFatal(), NoSpeculation, PlayDoh, knobs::Read(), Region, RT_TREE, knobs::SetDefaultPanel(), strcmp(), and TreeTraversal.

Referenced by op_scheduler().

void op_scheduler::SimpleRename legoOp op,
int  RegNum,
int  IncMaxRegNum
[protected]
 

void op_scheduler::SimpleRename legoOp op,
int  RegNum,
int  IncMaxRegNum
[protected]
 

Definition at line 736 of file op_scheduler.C.

References Chains, dderr, FALSE, legoOp::GetDestOprdPtr(), chains::GetDUChains(), oprdList::GetNextListPtr(), legoOprd::GetNextOprdPtr(), legoOp::GetOpId(), oprdList::GetOprdPtr(), legoOprd::GetOprdType(), legoOprd::GetParentOpPtr(), legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::Lookup(), MaxRegNum, legoHash< legoOprd *, oprdList *, legoHash_lt_pointer >::NotFound(), OT_UNDEFINED, RemoveAntiDepsAfterDefRename(), RemoveOutputDepsAfterRename(), and legoOprd::SetOprdRegNum().

Referenced by Rename().

vector<legoRegion *> op_scheduler::SortRegionListByWeight regionList rlist  )  [protected]
 

vector< legoRegion * > op_scheduler::SortRegionListByWeight regionList rlist  )  [protected]
 

Definition at line 4976 of file op_scheduler.C.

References BubbleSortRegionList(), CompareBlockWeights(), derr, regionList::GetNextListPtr(), regionList::GetRegionPtr(), and i.

Referenced by ScheduleTreeBreadthFirst(), and ScheduleTreeDepthFirst().

void op_scheduler::UpdatePredecessorBranch legoOp op,
legoOp old_predecessor_op,
legoOp new_predecessor_op
[protected]
 

void op_scheduler::UpdatePredecessorBranch legoOp op,
legoOp old_predecessor_op,
legoOp new_predecessor_op
[protected]
 

Definition at line 3071 of file op_scheduler.C.

References ddderr, ET_CNTL, legoOp::GetInListPtr(), legoOp::GetOpId(), legoOp::GetPrevLink(), List, and opList::SetOpPtr().

Referenced by DoMoreMessyStuff().


Member Data Documentation

int op_scheduler::AllowDownwardCodeMotion [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by AddCopyOps(), DoTheMessyStuff(), and SetKnobs().

int op_scheduler::AllowLoadSpeculation [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by SetKnobs().

int op_scheduler::AllowMultiWayBR [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by DoMoreMessyStuff(), and SetKnobs().

int op_scheduler::AllowOnlySafeSpeculation [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by SetKnobs().

int op_scheduler::AllowPBRSpeculation [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by SetKnobs().

int op_scheduler::BypassLatency [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by BuildReadyTimes(), and op_scheduler().

regionList* op_scheduler::Children [protected]
 

Definition at line 48 of file src/op_scheduler.H.

regionList* op_scheduler::Children [protected]
 

Definition at line 48 of file include/op_scheduler.H.

Referenced by op_scheduler(), and ScheduleTreeBreadthFirst().

int op_scheduler::CodeGen [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by SetKnobs().

legoOp* op_scheduler::current_before_op [protected]
 

Definition at line 47 of file src/op_scheduler.H.

legoOp* op_scheduler::current_before_op [protected]
 

Definition at line 47 of file include/op_scheduler.H.

Referenced by AddCopyOps(), DoMoreMessyStuff(), DoTheMessyStuff(), PrepareToDie(), ScheduleBlock(), and ScheduleOp().

int op_scheduler::current_block_int [protected]
 

Definition at line 46 of file src/op_scheduler.H.

Referenced by DescendantofCurBlockPtr().

dag* op_scheduler::DDG [protected]
 

Definition at line 54 of file src/op_scheduler.H.

dag* op_scheduler::DDG [protected]
 

Definition at line 54 of file include/op_scheduler.H.

Referenced by AnyOutputDepsBetween(), DoTheMessyStuff(), op_scheduler(), and PrintSchedule().

knobs* op_scheduler::Knobs [protected]
 

Definition at line 56 of file src/op_scheduler.H.

knobs* op_scheduler::Knobs [protected]
 

Definition at line 56 of file include/op_scheduler.H.

Referenced by op_scheduler(), Rename(), ScheduleBlock(), and SetKnobs().

vector<BigListElement>* op_scheduler::List [protected]
 

Definition at line 41 of file src/op_scheduler.H.

vector<BigListElement>* op_scheduler::List [protected]
 

Definition at line 41 of file include/op_scheduler.H.

Referenced by AddCopyOps(), DoMoreMessyStuff(), DoTheMessyStuff(), op_scheduler(), PrepareToDie(), PrintSchedule(), RemoveAntiDepsAfterDefRename(), RemoveAntiDepsAfterUseRename(), RemoveOutputDepsAfterRename(), RemoveOutputDepsAfterRenameUp(), ScheduleBlock(), and UpdatePredecessorBranch().

int op_scheduler::ListCount [protected]
 

Definition at line 43 of file src/op_scheduler.H.

Referenced by AddCopyOps(), DoMoreMessyStuff(), DoTheMessyStuff(), op_scheduler(), and ScheduleBlock().

ListIterator op_scheduler::ListHead [protected]
 

Definition at line 42 of file src/op_scheduler.H.

Referenced by op_scheduler(), PrintSchedule(), and ScheduleBlock().

ListIterator op_scheduler::ListPtr [protected]
 

Definition at line 42 of file src/op_scheduler.H.

Referenced by AddCopyOps(), DoTheMessyStuff(), and ScheduleBlock().

ListIterator op_scheduler::ListTail [protected]
 

Definition at line 42 of file src/op_scheduler.H.

Referenced by op_scheduler(), PrintSchedule(), and ScheduleBlock().

machine* op_scheduler::Machine [protected]
 

Definition at line 55 of file src/op_scheduler.H.

machine* op_scheduler::Machine [protected]
 

Definition at line 55 of file include/op_scheduler.H.

Referenced by BuildReadyTimes(), DoMoreMessyStuff(), op_scheduler(), and ScheduleBlock().

int op_scheduler::NoSpeculation [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by SetKnobs().

ListIterator op_scheduler::Op [protected]
 

Definition at line 42 of file src/op_scheduler.H.

Referenced by AddCopyOps(), and DoTheMessyStuff().

int* op_scheduler::operand_ready_times [protected]
 

Definition at line 46 of file src/op_scheduler.H.

int* op_scheduler::operand_ready_times [protected]
 

Definition at line 46 of file include/op_scheduler.H.

int op_scheduler::PlayDoh [protected]
 

Definition at line 60 of file src/op_scheduler.H.

Referenced by BuildReadyTimes(), and SetKnobs().

legoRegion* op_scheduler::Region [protected]
 

Definition at line 53 of file src/op_scheduler.H.

legoRegion* op_scheduler::Region [protected]
 

Definition at line 53 of file include/op_scheduler.H.

Referenced by AddCopyOps(), BubbleSortRegionList(), DescendantofBlock(), DescendantofCurBlockPtr(), DoMoreMessyStuff(), DoTheMessyStuff(), IsMergeProblem(), IsRemoteMergeProblem(), op_scheduler(), PlaceBranchesLast(), PlacePBRsJustBeforeBranches(), RemoveAntiDepsAfterDefRename(), RemoveAntiDepsAfterUseRename(), RemoveOutputDepsAfterRename(), RemoveOutputDepsAfterRenameUp(), Rename(), ReverseGlobalRename(), ScheduleBlock(), ScheduleOp(), ScheduleTree(), ScheduleTreeBreadthFirst(), and SetKnobs().

vector<legoRegion *> op_scheduler::ScheduleList [protected]
 

Definition at line 49 of file src/op_scheduler.H.

vector<legoRegion *> op_scheduler::ScheduleList [protected]
 

Definition at line 49 of file include/op_scheduler.H.

Referenced by op_scheduler(), and ScheduleTreeBreadthFirst().

map<int, int> op_scheduler::ScheduleTimes [protected]
 

Definition at line 50 of file src/op_scheduler.H.

map<int, int> op_scheduler::ScheduleTimes [protected]
 

Definition at line 50 of file include/op_scheduler.H.

Referenced by op_scheduler(), and ScheduleTreeBreadthFirst().

char* op_scheduler::TreeTraversal [protected]
 

Definition at line 59 of file src/op_scheduler.H.

char* op_scheduler::TreeTraversal [protected]
 

Definition at line 59 of file include/op_scheduler.H.

Referenced by ScheduleTree(), and SetKnobs().


The documentation for this class was generated from the following files:
Generated on Mon Jul 21 20:31:26 2003 for TINKER LEGO DOC by doxygen 1.3.2