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

dag_node_ordering.H File Reference

#include <TinkerKnobs.H>
#include <dag.H>
#include <machine.h>
#include <search.H>
#include <assert.h>

Go to the source code of this file.

Compounds

class  dag_node_ordering
class  VLilist

Defines

#define public_derr(s)

Enumerations

enum  node_orderings { DEPENDENCE_HEIGHT, EXIT_COUNT, GLOBAL_WEIGHT, WEIGHTED_COUNT }

Functions

double GetCountHelped (DagNode *node)
double GetGlobalWeight (DagNode *node)
 public_derr (">> dag_node_ordering::SetValueToWeight")
 public_derr ("Node#"<< i<< ", weight"<< (*Front).GetDepth()<< "\n")
 public_derr ("<< dag_node_ordering::SetValueToWeight\n")
void SetDagValues ()

Variables

dag_node_ordering Front
dag_node_ordering Back
int i
int size
Front Value = (*Front).GetWeight()


Define Documentation

#define public_derr  ) 
 

Definition at line 21 of file include/dag_node_ordering.H.

Referenced by dag_node_ordering::dag_node_ordering(), GetGlobalWeight(), SetDagValues(), dag_node_ordering::SetKnobs(), and dag_node_ordering::SetValueToDepth().


Enumeration Type Documentation

enum node_orderings
 

Enumeration values:
DEPENDENCE_HEIGHT 
EXIT_COUNT 
GLOBAL_WEIGHT 
WEIGHTED_COUNT 

Definition at line 159 of file include/dag_node_ordering.H.


Function Documentation

double GetCountHelped DagNode node  )  [static]
 

Definition at line 25 of file include/dag_node_ordering.H.

References legoRegion::GetExitOpsPtr(), opList::GetNextListPtr(), DagNode::GetOp(), opList::GetOpPtr(), legoOp::GetParentBlockPtr(), legoRegion::GetParentPtr(), legoOp::GetPrevLink(), legoRegion::GetRegionType(), RT_HB, RT_PROC, RT_SB, and RT_TREE.

double GetGlobalWeight DagNode node  )  [static]
 

Definition at line 90 of file include/dag_node_ordering.H.

References BR_OP, BRL, C_MERGE, FindLcAttribute(), attrs::GetAttrOprdPtr(), legoOprd::GetLiteralDouble(), opList::GetNextListPtr(), DagNode::GetOp(), opList::GetOpId(), legoOp::GetOpId(), legoOp::GetParentBlockPtr(), legoOp::GetPrevLink(), legoRegion::GetRegionType(), opList::GetWeight(), legoRegion::GetWeight(), public_derr, RT_BB, RT_HB, and machine::TinkerOptype().

public_derr "<< dag_node_ordering::SetValueToWeight\n"   ) 
 

public_derr "Node#"<< i<< "  ,
weight"<< *Front.GetDepth()<< "\n" 
 

public_derr ">> dag_node_ordering::SetValueToWeight"   ) 
 

void SetDagValues  ) 
 

Definition at line 496 of file include/dag_node_ordering.H.

References Back, BRCF, BRDVF, BRDVI, BRU, BRW_F_F_F, D, DEPENDENCE_HEIGHT, EXIT_COUNT, Front, GetCountHelped(), flags::GetFlagName(), legoRegion::GetFlagPtr(), GetGlobalWeight(), legoRegion::GetParentPtr(), legoRegion::GetRegionType(), GLOBAL_WEIGHT, i, opcode, public_derr, RT_BB, RT_PROC, RT_TREE, RTS, SB, and WEIGHTED_COUNT.


Variable Documentation

class dag_node_ordering Back
 

Referenced by op_scheduler::AddCopyOps(), list_scheduler::AddCopyOps(), dag::AnalyzeFlowDep(), dag::AntiDeps(), BigListElement::BigListElement(), dag::BubbleSort(), BigListElement::BubbleSort(), op_scheduler::BubbleSortRegionList(), op_scheduler::BuildReadyTimes(), dag::ConstructLinearDag(), dag::ConstructTreeDag(), CopyBigVector(), CopySmallVector(), DestructSmallVector(), op_scheduler::DoMoreMessyStuff(), list_scheduler::DoMoreMessyStuff(), dag_node_ordering::DoSuperblockPriorities(), op_scheduler::DoTheMessyStuff(), list_scheduler::DoTheMessyStuff(), FindDagMatch(), FindNode(), GetOprd(), dag::ListIntegrity(), dag::MaxHeights(), MungManyToOne(), BigListElement::operator=(), dag::OutputDeps(), op_scheduler::PredecessorsScheduled(), op_scheduler::PrepareToDie(), list_scheduler::PrepareToDie(), dag::PrintDag(), PrintList(), PrintTable(), dag::PrintVectorDag(), op_scheduler::RemoveAntiDepsAfterDefRename(), list_scheduler::RemoveAntiDepsAfterDefRename(), op_scheduler::RemoveAntiDepsAfterUseRename(), list_scheduler::RemoveAntiDepsAfterUseRename(), dag::RemoveDepBetweenOps(), op_scheduler::RemoveOutputDepsAfterRename(), list_scheduler::RemoveOutputDepsAfterRename(), op_scheduler::RemoveOutputDepsAfterRenameUp(), list_scheduler::RemoveOutputDepsAfterRenameUp(), BigListElement::RemovePredecessor(), BigListElement::RemoveSuccessor(), dag::RemoveUndefPredecessors(), dag::ResetNodeDepths(), dag::ResetNodeHeights(), SetDagValues(), dag::SetNodeDepths(), dag::SetNodeHeights(), dag::SetNodeHeightsPath(), dag_node_ordering::SetValueToDepth(), dag::SortByHeight(), dag::SortByOpId(), and dag::SortByValue().

class dag_node_ordering Front
 

Referenced by op_scheduler::AddCopyOps(), list_scheduler::AddCopyOps(), dag::AnalyzeFlowDep(), dag::AntiDeps(), BigListElement::BigListElement(), dag::BubbleSort(), BigListElement::BubbleSort(), op_scheduler::BubbleSortRegionList(), op_scheduler::BuildReadyTimes(), dag::ConstructLinearDag(), dag::ConstructTreeDag(), CopyBigVector(), CopySmallVector(), DestructSmallVector(), op_scheduler::DoMoreMessyStuff(), list_scheduler::DoMoreMessyStuff(), dag_node_ordering::DoSuperblockPriorities(), op_scheduler::DoTheMessyStuff(), list_scheduler::DoTheMessyStuff(), FindDagMatch(), FindNode(), GetOprd(), dag::ListIntegrity(), dag::MaxHeights(), MungManyToOne(), BigListElement::operator=(), dag::OutputAntiDeps(), dag::OutputDeps(), op_scheduler::PredecessorsScheduled(), op_scheduler::PrepareToDie(), list_scheduler::PrepareToDie(), dag::PrintDag(), PrintList(), PrintTable(), dag::PrintVectorDag(), op_scheduler::RemoveAntiDepsAfterDefRename(), list_scheduler::RemoveAntiDepsAfterDefRename(), op_scheduler::RemoveAntiDepsAfterUseRename(), list_scheduler::RemoveAntiDepsAfterUseRename(), dag::RemoveDepBetweenOps(), op_scheduler::RemoveOutputDepsAfterRename(), list_scheduler::RemoveOutputDepsAfterRename(), op_scheduler::RemoveOutputDepsAfterRenameUp(), list_scheduler::RemoveOutputDepsAfterRenameUp(), BigListElement::RemovePredecessor(), BigListElement::RemoveSuccessor(), dag::RemoveUndefPredecessors(), dag::ResetNodeDepths(), dag::ResetNodeHeights(), dag::SetBrDeps(), dag::SetBrDepsFirst(), SetDagValues(), dag::SetNodeDepths(), dag::SetNodeHeights(), dag::SetNodeHeightsPath(), dag::SetPBRDeps(), dag_node_ordering::SetValueToDepth(), dag::SortByHeight(), dag::SortByOpId(), and dag::SortByValue().

int i
 

Definition at line 478 of file include/dag_node_ordering.H.

Referenced by _MD_check_field(), _MD_free_field_decl(), DAGMeasurements::add_length_cntl(), DAGMeasurements::add_length_mem(), DAGMeasurements::add_length_reganti(), DAGMeasurements::add_length_regflow(), DAGMeasurements::add_length_regout(), DAGMeasurements::add_num_of_cntl(), DAGMeasurements::add_num_of_mem(), DAGMeasurements::add_num_of_reganti(), DAGMeasurements::add_num_of_regflow(), DAGMeasurements::add_num_of_region(), DAGMeasurements::add_num_of_regout(), Multi_Op::add_op(), AddBranchAccAttrs(), AddDepthChain(), AddZerosRight(), machine::adjustIssueStatus(), BigListElement::Allocate_CopiedResultInfo(), allocate_rg_for_procedure(), LiveVar_nm::analyze(), LiveVar::analyze(), dag::AreVectorsIndependent(), assign_regs(), CFG::assign_value(), AtoI(), LiveVar_nm::BB_live_out(), LiveVar::BB_live_out(), BBDuplicate(), BB_Edge_Profile::bbid_end_has_probe(), BB_Edge_Profile::bbid_start_has_probe(), BigListElement::BigListElement(), bit_matrix::bit_matrix(), bitvector::bitvector(), Branch_Predictor::Branch_Predictor(), BTB::BTB(), dag::BubbleSort(), BigListElement::BubbleSort(), op_scheduler::BubbleSortRegionList(), build_adj_list(), build_adj_matrix(), build_element(), build_field_decl(), build_mdes_info(), BuildDagsForProc(), BuildN(), op_scheduler::BuildReadyTimes(), Cache::Cache(), Node_Table::calculate_ld_st_size(), Node_Table::calculate_size(), check_brct(), VLIW::check_bypass(), VLIW::check_macro_bypass(), check_md_for_ambiguous_links(), cLCla(), bit_matrix::clear(), iavector::Clear(), bitvector::Clear(), ClearMarks(), collect_all_basic_block(), combinational(), ComputeGenKill(), Construct(), dag::ConstructDag(), dag::ConstructLinearDag(), dag::ConstructTreeDag(), Trace_Simulator::consume_trace_buffer(), convert_str_name(), copy_Mbuf_buf(), create_Psymbol_Table(), create_yula_pa_reg_def_file(), Data_Cache::Data_Cache(), Deconstruct(), DefinedOprd(), DeleteDagsInProc(), DetectMoveableLoopInvariants(), Value_Profile::doit(), Trace_Profile::doit(), doit(), Full_Profile::doit(), Branch_Profile::doit(), BB_Edge_Profile::doit(), Value_Profile::doit_from_file(), op_scheduler::DoMoreMessyStuff(), list_scheduler::DoMoreMessyStuff(), dag_node_ordering::DoSuperblockPriorities(), DrawRegionCFG(), tree_stats::dump(), trace_stats::dump(), super_stats::dump(), loopunroll_stats::dump(), loopdetect_stats::dump(), legoTreegion::Dump(), hyper_stats::dump(), estimate_treegion(), machine::estimateSchedule(), Node_Table::find(), Node_Table::find_by_mapping(), Node_Table::find_by_node_id(), Edge_Table::find_edge(), find_edgeList_with_edge_id(), Data_Cache::find_free_mhsr(), find_lego_block_with_op_id(), find_lego_block_with_region_id(), find_legoOp_with_op_id(), find_legoRegion_with_edge_id(), find_legoRegion_with_op_id(), find_legoRegion_with_region_id(), find_op(), Data_Cache::find_this_address(), CFG::find_type_of_instrumentation(), findinvariants(), FindMaxOpId(), legoRegion::FindMaxRegionId(), FindOpInList(), FindRegion(), fix_brl(), FullyResolvePredicates(), profile_rg::get_an_extra_parameter_number(), get_line_from_position(), profile_rg::get_number_of_extra_parameters(), get_padd_parameters_via_atributes(), get_physical_rg_for_the_color(), get_real_op_count(), GetALoop(), dag::GetAveWidth(), list_scheduler::GetCandidateNodeTree(), GetLiveOut(), legoTreegion::GetOpCount(), legoTrace::GetOpCount(), legoSB::GetOpCount(), legoProc::GetOpCount(), legoModule::GetOpCount(), legoLoop::GetOpCount(), legoLoopBody::GetOpCount(), legoHB::GetOpCount(), legoBB::GetOpCount(), GShare_Pred::GShare_Pred(), hammock(), handle_top_region_c(), hashfunc(), hashtable::hashtable(), HtoI(), Hybrid_Predictor::Hybrid_Predictor(), hyper_stats::hyper_stats(), IA64RegionWrite(), IA64Write(), IA64WriteBssSeg(), IA64WriteCommentSeg(), IA64WriteData1Seg(), IA64WriteDataSeg(), IA64WriteSBssSeg(), IA64WriteSDataSeg(), iavector::iavector(), IfConvertHammock(), IfConvertTreeBranch(), IndexDefs(), VLIW::init(), Profile_Branch::init(), init_opt(), init_options(), BigListElement::InitAncestorClusterInfo(), legoPArr< T >::Insert(), Trace_Profile::insert_probe(), Full_Profile::insert_probe(), Value_Profile::instrument_main(), Trace_Profile::instrument_main(), Branch_Profile::instrument_main(), INT_new_symbol_table(), INT_resize_symbol_table(), IO_items_compatable(), IO_sets_intersect(), is_library_function(), is_library_uncertain_params(), MST::is_mst(), L_alloc(), L_build_oper_mdes_info(), L_build_region_mdes_info(), L_create_ru_info_oper(), L_create_ru_info_region(), L_delete_ru_info_region(), L_free_region_mdes_info(), L_initialize_build_mdes_info(), layout_proc(), Value_Profile::lego_write(), Trace_Profile::lego_write(), Full_Profile::lego_write(), Branch_Profile::lego_write(), BB_Edge_Profile::lego_write(), legoAudit(), list_scheduler::list_scheduler(), dag::ListIntegrity(), LM_read_mask(), knobs::Load(), load_lmdes(), load_lmdes_from_version2(), load_mdes2(), symbolTable::LocateVar(), legoHash< int, legoOprd *, legoHash_lt_int >::Lookup(), loopdetect_stats::loopdetect_stats(), loopunroll_stats::loopunroll_stats(), machine::machine(), main(), make_webs(), makeloopheaderlist(), MakeValueListForProc(), dag::MaxHeights(), MD_new_element_req(), MD_new_entry(), MD_new_symbol_table(), MD_print_entry(), MD_print_entry_template(), MD_print_field_decl(), MD_read_double(), MD_read_md(), MD_read_string(), MD_require_multi_target_link(), MD_resize_buf(), MD_resize_element_array(), MD_resize_field_arrays(), MD_resize_symbol_table(), MD_write_md(), mdes_build_iolist(), mdes_calc_min_ready_time(), mdes_max_completion_time(), MultiplyBits(), MultiplyBitsMask(), MungManyToOne(), MungOneToMany(), my_TailDuplicate(), op_scheduler::op_scheduler(), Node_Table::open_file(), Node_Table::open_file_with_value(), Edge_Table::open_new_or_old_file(), bitvector::operator &(), legoPArrItr< T >::operator=(), iavector::operator=(), bitvector::operator=(), BigListElement::operator=(), legoPArr< T >::operator==(), bitvector::operator==(), operator>>(), web_record_list::operator[](), bitvector::operator|(), bitvector::operator~(), legoRegion::OpKiller(), options(), VLIW::output(), knobs::Parse(), parse_arg(), legoPArr< T >::PEmpty(), Perror(), Pexpand_directive(), phash::phash(), op_scheduler::PlaceBranchesLast(), list_scheduler::PlaceBranchesLast(), op_scheduler::PlacePBRsJustBeforeBranches(), list_scheduler::PlacePBRsJustBeforeBranches(), MST::pq_return(), MST::pq_update(), BTB::predict(), VLIW::print(), Node_Table::print(), Op_Hashed_Table::print(), Edge_Table::print(), Profile_Branch::print(), print_buf_with_arrow(), print_mdes(), print_mdes_info_debug_info(), MST::print_mst(), MST::print_pq(), print_Psymbol_hash_table(), Cache::print_this_index(), Edge_Table::print_to_file(), CFG::print_topological_list(), Node_Table::print_with_value(), PrintDagsForProc(), PrintLiveNess(), machine::PrintSchedule(), LiveVar_nm::Process(), LiveVar::Process(), Trace_Simulator::process_mop(), VLIW::process_pipeline(), Edge_Table::profile_all_edges(), profile_rg::profile_rg(), prune_graph(), A_Proc::read(), Block_List::read(), Multi_Op::read(), CFG::read_file(), Node_Table::read_for_proc(), Node_Table::read_for_proc_with_value(), CFG::recursive_build(), BB_Edge_Profile::recursive_instrument(), legoRegion::RefreshAll(), CFG::regenerate_path(), legoRegion::RegionKiller(), RegionRemoveTraceAttributes(), RegionTraceReform(), RegionTraceUnform(), RemovePointerAttribute(), RemoveUncondBranch(), Instrument::rename_main(), ReplicateBits(), ReplicateBitsMask(), profile_rg::rerank_the_list(), BB_Edge_Profile::reset_bbid_end(), BB_Edge_Profile::reset_bbid_start(), machine::resetIssueStatus(), machine::resetMachine(), ReverseIndexDefs(), rgui(), RU_can_place(), RU_can_schedule_op(), RU_find_max(), RU_info_alloc(), RU_map_create(), RU_map_delete(), RU_map_init(), RU_map_realloc(), RU_node_alloc(), RU_place(), RU_pred_alloc(), RU_schedule_op(), RU_schedule_op_at(), RU_schedule_op_reverse(), RU_unplace(), RU_unschedule_op(), RU_update_usage_count(), list_scheduler::Schedule(), ScheduleProc(), op_scheduler::ScheduleTreeBreadthFirst(), op_scheduler::ScheduleTreeDepthFirst(), legoPArr< T >::Search(), SecondPass(), Select(), MHSR::set_address(), Multi_Op::set_bb(), BB_Edge_Profile::set_bb_profile_table_string(), Block_List::set_bbid(), Trace_Profile::set_bbid_profile_table_string(), A_Proc::set_block(), FU::set_busy(), Node_List::set_color(), Edge::set_counter_index(), Multi_Op::set_cycle(), Operation::set_data_address(), Operation::set_dest1(), Operation::set_dest2(), Node::set_direction(), MST::SNode::set_edge_id(), Edge::set_edge_id(), Node::set_edge_id(), BB_Edge_Profile::set_edge_profile_table_string(), Node::set_edge_type(), Edge::set_eff_sum(), Node::set_eff_sum(), Node_Table::set_entry_from_region(), Node::set_entry_to_dest(), Edge::set_entry_to_sink_edge_id(), Operation::set_filled(), Node_List::set_finish_time(), Multi_Op::set_has_branch(), Node::set_hidden(), Edge_Table::set_index(), Multi_Op::set_ip(), Operation::set_latency(), Node_Table::set_ld_st_entry_from_region(), Node_Entry::set_mapping(), Operation::set_mapping(), Block_List::set_mop(), Operation::set_mop(), A_Proc::set_name(), Op_Hashed_Entry::set_next(), A_Proc::set_next(), Block_List::set_next(), Multi_Op::set_next(), Operation::set_next(), Branch_Result::set_next(), Multi_Op::set_next_ip(), Node_Entry::set_node_id(), MST::SNode::set_node_id(), Node::set_node_id(), A_Proc::set_num_of_block(), Block_List::set_num_of_mop(), Edge::set_num_paths(), Node_List::set_num_paths(), Node::set_num_paths(), Multi_Op::set_op(), Register::set_op_id(), Operation::set_opcode(), Block_List::set_parent(), Multi_Op::set_pause(), Node_List::set_predecessor(), A_Proc::set_prev(), Node_Table::set_proc_name(), Edge_Table::set_proc_name(), CFG::set_proc_name(), Node_Entry::set_profile(), Edge::set_profile(), MHSR::set_resolved_cycle(), Node_Table::set_size(), Edge_Table::set_size(), Edge::set_source_to_exit_edge_id(), Operation::set_src1(), Operation::set_src2(), Node::set_src_to_exit(), Node_Table::set_start_index(), Edge_Table::set_start_index(), Node_List::set_start_time(), Node_Entry::set_value(), MST::SNode::set_weight(), Edge::set_weight(), Node::set_weight(), SetDagValues(), machine::setIssueConfig(), setnl(), SetNodeHeightsAndDepthsForProc(), dag::SetNodeHeightsPath(), DAGAnalysis::SetProcName(), DAGAnalysis::SetRegionId(), SetValuesForProc(), dag_node_ordering::SetValueToDepth(), dag::SetVectorPtrs(), bitvector::Show(), web_record_list::show_list_to_me(), machine::showIssueStatus(), Data_Cache::simulate(), Cache::simulate(), op_scheduler::SortRegionListByWeight(), SplitAtBRL(), StaticEstimate(), dag::Stats(), STRING_new_symbol_table(), STRING_resize_symbol_table(), strip_Mbuf(), super_stats::super_stats(), superform(), t_AtoI(), TailDuplicate(), Td_Candidates(), trace_stats::trace_stats(), traceform(), tree_stats::tree_stats(), Treeform_opt(), UnBindSB(), bit_matrix::unclear(), iavector::Unclear(), bitvector::Unclear(), Edge_Table::update(), BTB::update(), profile_rg::update_ip_use_pattern(), UpdPointers(), Edge_Table::write_file(), write_out_bss_section(), write_out_data_one_section(), write_out_initialized_data_section(), write_out_padd_block(), write_out_text_section(), vcgWriter::WriteIndent(), symbolTable::WriteRebel(), BigListElement::~BigListElement(), Branch_Predictor::~Branch_Predictor(), machine::~machine(), phash::~phash(), symbolTable::~symbolTable(), and VLIW::~VLIW().

int size
 

Definition at line 478 of file include/dag_node_ordering.H.

Front Value = (*Front).GetWeight()
 

Definition at line 490 of file include/dag_node_ordering.H.

Referenced by dag::SetNumNodes().


Generated on Mon Jul 21 20:29:39 2003 for TINKER LEGO DOC by doxygen 1.3.2