Public Member Functions | Private Member Functions | Private Attributes

PROMPF_INFO Class Reference

#include <prompf.h>

Collaboration diagram for PROMPF_INFO:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PROMPF_INFO (WN *wn_func, MEM_POOL *pool)
BOOL Is_Enabled ()
void Disable ()
void Enable ()
void Mark_F90_Lower ()
void Mark_Omp ()
void Mark_Preopt ()
void Mark_Prelno ()
void Mark_Postlno ()
void Elimination (INT old_loop)
void Undo_Elimination ()
void Fusion (INT old_loops[], INT new_loop)
void Undo_Fusion ()
void Fission (INT old_loops[], PROMPF_LINES *old_lines[], INT new_loops[], PROMPF_LINES *new_lines[], INT nloops)
void Distribution (INT old_loops[], PROMPF_LINES *old_lines[], INT new_loops[], PROMPF_LINES *new_lines[], INT nloops)
void Interchange (INT old_loops[], INT new_loops[], INT nloops)
void Pre_Peel (INT old_loops[], INT new_loops[], INT nloops)
void Undo_Pre_Peel ()
void Post_Peel (INT old_loops[], INT new_loops[], INT nloops)
void Undo_Post_Peel ()
void Mp_Tile (INT old_loop, INT new_loops[], INT nloops)
void Dsm_Tile (INT old_loop, INT new_loops[], INT nloops)
void Donest_Outer_Tile (INT old_loops[], INT new_loop, INT nloops)
void Donest_Middle_Tile (INT old_loop, INT new_loop)
void Dsm_Local (INT new_loop, PROMPF_LINES *pl, char *index_name)
void Dsm_Io (INT new_loop, INT linenum, char *index_name)
void Single_Process (INT new_id, PROMPF_LINES *pl)
void Mp_Version (INT old_loops[], INT new_loops[], PROMPF_ID_TYPE id_type[], INT nloops)
void Parallel_Region (INT old_loop, INT new_loop)
void Hoist_Messy_Bounds (INT old_loop[], INT new_loop[], INT nloops)
void Doacross_Sync (INT old_loop, INT new_loop)
void Doacross_Outer_Tile (INT old_loop, INT new_loop)
void Doacross_Inner_Tile (INT old_loop, INT new_loop)
void Remove_Unity_Trip (INT old_loop)
void Cache_Winddown (INT old_loops[], INT new_loops[], INT nloops)
void Interleaved_Winddown (INT old_loops[], INT new_loops[], INT nloops)
void General_Version (INT old_loops[], INT new_loops[], INT nloops)
void Cache_Tile (INT old_loop, INT new_loop)
void Register_Winddown (INT old_loops[], INT new_loops[], INT nloops)
void Register_SStrip (INT old_loops[], INT new_loops[], INT nloops)
void Register_Tile (INT loop)
void Register_Startup (INT old_loops[], INT new_loops[], INT nloops)
void Register_Shutdown (INT old_loops[], INT new_loops[], INT nloops)
void Se_Tile (INT old_loop, INT new_loop)
void Se_Cache_Tile (INT old_loop, INT new_loop)
void Inner_Fission (INT old_loop, PROMPF_LINES *old_lines, INT new_loops[], PROMPF_LINES *new_lines[], INT nloops)
void Gather_Scatter (INT old_loop, PROMPF_LINES *old_lines, INT new_loops[], PROMPF_LINES *new_lines[], INT nloops)
void Vintr_Fission (INT old_loop, PROMPF_LINES *old_lines, INT new_loops[], PROMPF_LINES *new_lines[], INT nloops)
void Prefetch_Version (INT old_loops[], INT new_loops[], INT nloops)
void OMPL_Sections_To_Loop (INT old_id)
void OMPL_Eliminate_Section (INT old_id)
void OMPL_Atomic_To_Critical_Section (INT old_id)
void OMPL_Atomic_To_Swap (INT old_id)
void OMPL_Atomic_To_FetchAndOp (INT old_id)
void OMPL_Master_To_If (INT old_id)
void OMPL_Fetchop_Atomic (INT new_id, PROMPF_LINES *pl)
void F90_Array_Stmt (INT new_loop, PROMPF_LINES *pl, char *index_name)
void Outer_Shackle (INT new_loop, PROMPF_LINES *pl, char *index_name)
void Inner_Shackle (INT old_loop, INT new_loop)
void Preopt_Create (INT new_loop, PROMPF_LINES *pl, char *index_name)
void Clear ()
void Save ()
void Restore ()
void Print (FILE *fp)
INT Check (FILE *fp, WN *wn_func)
void Print_Compact (FILE *fp, PROMPF_TRANS_LOG ptl)

Private Member Functions

PROMPF_TRANSTrans (INT i)
INT Last_Trans ()
void Reset_Last_Trans (INT old_id)
PROMPF_IDId (INT i)
INT First_Id ()
INT Last_Id ()
PROMPF_IDRemove_Id ()
 PROMPF_INFO (MEM_POOL *pool)
void Add_Trans (PROMPF_TRANS *pt)
PROMPF_TRANSRemove_Trans ()
void Add_Id (PROMPF_ID *pi)
void Update_Id (INT i, INT trans_index)
void Push_Original_Loops (INT id_trans, INT last_trans, STACK< INT > *oloop_stack)
BOOL Check_Old_Ids (INT old_ids[], INT new_ids[], INT nloops)
BOOL Check_New_Ids (INT new_ids[], INT nloops)
void Prompf_Info_Traverse (WN *wn_tree, WN *wn_region)
void Check_Traverse (FILE *fp, WN *wn_tree, BOOL ids[], WN *wn_region)

Private Attributes

BOOL _enabled
INT _first_id
STACK< PROMPF_TRANS * > _trans_stack
STACK< PROMPF_ID * > _id_stack
INT _trans_checkpoint
MEM_POOL_pool

Detailed Description

Definition at line 380 of file prompf.h.


Constructor & Destructor Documentation

PROMPF_INFO::PROMPF_INFO ( MEM_POOL pool  )  [inline, private]

Definition at line 394 of file prompf.h.

References _id_stack, _trans_stack, and STACK< T >::Clear().

Here is the call graph for this function:

PROMPF_INFO::PROMPF_INFO ( WN wn_func,
MEM_POOL pool 
)

Definition at line 1085 of file prompf.cxx.

References _id_stack, _pool, _trans_stack, Add_Id(), STACK< T >::Clear(), CXX_NEW, FALSE, Get_Next_Construct_Id(), Last_Id(), Last_Trans(), MPID_DO_LOOP, NULL, and Prompf_Info_Traverse().

Here is the call graph for this function:


Member Function Documentation

void PROMPF_INFO::Add_Id ( PROMPF_ID pi  )  [inline, private]
void PROMPF_INFO::Add_Trans ( PROMPF_TRANS pt  )  [private]
void PROMPF_INFO::Cache_Tile ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Cache_Winddown ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
INT PROMPF_INFO::Check ( FILE *  fp,
WN wn_func 
)
BOOL PROMPF_INFO::Check_New_Ids ( INT  new_ids[],
INT  nloops 
) [private]
BOOL PROMPF_INFO::Check_Old_Ids ( INT  old_ids[],
INT  new_ids[],
INT  nloops 
) [private]

Definition at line 1110 of file prompf.cxx.

void PROMPF_INFO::Check_Traverse ( FILE *  fp,
WN wn_tree,
BOOL  ids[],
WN wn_region 
) [private]

Definition at line 2455 of file prompf.cxx.

References First_Id(), Last_Id(), MPID_UNKNOWN, OPC_BLOCK, PM_ASSERT, Prompf_Id_Map, Prompf_Id_Type(), Whirl_Symbol_Type(), wn, WN_first(), WN_kid(), WN_kid_count(), WN_MAP32_Get, WN_next(), and WN_opcode().

Referenced by Check().

Here is the call graph for this function:

void PROMPF_INFO::Clear ( void   ) 

Definition at line 2715 of file prompf.cxx.

References _trans_checkpoint.

void PROMPF_INFO::Disable (  )  [inline]

Definition at line 412 of file prompf.h.

References _enabled.

void PROMPF_INFO::Distribution ( INT  old_loops[],
PROMPF_LINES old_lines[],
INT  new_loops[],
PROMPF_LINES new_lines[],
INT  nloops 
)
void PROMPF_INFO::Doacross_Inner_Tile ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Doacross_Outer_Tile ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Doacross_Sync ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Donest_Middle_Tile ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Donest_Outer_Tile ( INT  old_loops[],
INT  new_loop,
INT  nloops 
)
void PROMPF_INFO::Dsm_Io ( INT  new_loop,
INT  linenum,
char *  index_name 
)
void PROMPF_INFO::Dsm_Local ( INT  new_loop,
PROMPF_LINES pl,
char *  index_name 
)
void PROMPF_INFO::Dsm_Tile ( INT  old_loop,
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Elimination ( INT  old_loop  ) 
void PROMPF_INFO::Enable (  )  [inline]

Definition at line 413 of file prompf.h.

References _enabled.

void PROMPF_INFO::F90_Array_Stmt ( INT  new_loop,
PROMPF_LINES pl,
char *  index_name 
)
INT PROMPF_INFO::First_Id (  )  [inline, private]

Definition at line 391 of file prompf.h.

References _first_id.

Referenced by Check(), Check_Traverse(), and Print().

void PROMPF_INFO::Fission ( INT  old_loops[],
PROMPF_LINES old_lines[],
INT  new_loops[],
PROMPF_LINES new_lines[],
INT  nloops 
)
void PROMPF_INFO::Fusion ( INT  old_loops[],
INT  new_loop 
)
void PROMPF_INFO::Gather_Scatter ( INT  old_loop,
PROMPF_LINES old_lines,
INT  new_loops[],
PROMPF_LINES new_lines[],
INT  nloops 
)
void PROMPF_INFO::General_Version ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Hoist_Messy_Bounds ( INT  old_loop[],
INT  new_loop[],
INT  nloops 
)
PROMPF_ID* PROMPF_INFO::Id ( INT  i  )  [inline, private]
void PROMPF_INFO::Inner_Fission ( INT  old_loop,
PROMPF_LINES old_lines,
INT  new_loops[],
PROMPF_LINES new_lines[],
INT  nloops 
)
void PROMPF_INFO::Inner_Shackle ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Interchange ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Interleaved_Winddown ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
BOOL PROMPF_INFO::Is_Enabled (  )  [inline]

Definition at line 411 of file prompf.h.

References _enabled.

INT PROMPF_INFO::Last_Id (  )  [inline, private]

Definition at line 392 of file prompf.h.

References _first_id, _id_stack, and STACK< T >::Elements().

Referenced by Check(), Check_New_Ids(), Check_Traverse(), Print(), PROMPF_INFO(), and Prompf_Info_Traverse().

Here is the call graph for this function:

INT PROMPF_INFO::Last_Trans (  )  [inline, private]
void PROMPF_INFO::Mark_F90_Lower (  ) 

Definition at line 1155 of file prompf.cxx.

References _pool, Add_Trans(), CXX_NEW, MPF_MARK_F90_LOWER, pt, and PROMPF_TRANS::Set_Type().

Here is the call graph for this function:

void PROMPF_INFO::Mark_Omp (  ) 

Definition at line 1168 of file prompf.cxx.

References _pool, Add_Trans(), CXX_NEW, MPF_MARK_OMP, pt, and PROMPF_TRANS::Set_Type().

Here is the call graph for this function:

void PROMPF_INFO::Mark_Postlno (  ) 

Definition at line 1207 of file prompf.cxx.

References _pool, Add_Trans(), CXX_NEW, MPF_MARK_POSTLNO, pt, and PROMPF_TRANS::Set_Type().

Here is the call graph for this function:

void PROMPF_INFO::Mark_Prelno (  ) 

Definition at line 1194 of file prompf.cxx.

References _pool, Add_Trans(), CXX_NEW, MPF_MARK_PRELNO, pt, and PROMPF_TRANS::Set_Type().

Here is the call graph for this function:

void PROMPF_INFO::Mark_Preopt (  ) 

Definition at line 1181 of file prompf.cxx.

References _pool, Add_Trans(), CXX_NEW, MPF_MARK_PREOPT, pt, and PROMPF_TRANS::Set_Type().

Here is the call graph for this function:

void PROMPF_INFO::Mp_Tile ( INT  old_loop,
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Mp_Version ( INT  old_loops[],
INT  new_loops[],
PROMPF_ID_TYPE  id_type[],
INT  nloops 
)
void PROMPF_INFO::OMPL_Atomic_To_Critical_Section ( INT  old_id  ) 

Definition at line 2301 of file prompf.cxx.

References _pool, PROMPF_TRANS::Add_Old_Loop(), Add_Trans(), CXX_NEW, Id(), Last_Trans(), MPF_OMPL_ATOMIC_CSECTION, pt, PROMPF_ID::Set_Last_Trans(), and PROMPF_TRANS::Set_Type().

Here is the call graph for this function:

void PROMPF_INFO::OMPL_Atomic_To_FetchAndOp ( INT  old_id  ) 
void PROMPF_INFO::OMPL_Atomic_To_Swap ( INT  old_id  ) 
void PROMPF_INFO::OMPL_Eliminate_Section ( INT  old_id  ) 
void PROMPF_INFO::OMPL_Fetchop_Atomic ( INT  new_id,
PROMPF_LINES pl 
)
void PROMPF_INFO::OMPL_Master_To_If ( INT  old_id  ) 
void PROMPF_INFO::OMPL_Sections_To_Loop ( INT  old_id  ) 

Definition at line 2269 of file prompf.cxx.

References _pool, PROMPF_TRANS::Add_Old_Loop(), Add_Trans(), CXX_NEW, Id(), Last_Trans(), MPF_OMPL_SECTIONS_LOOP, pt, PROMPF_ID::Set_Last_Trans(), and PROMPF_TRANS::Set_Type().

Here is the call graph for this function:

void PROMPF_INFO::Outer_Shackle ( INT  new_loop,
PROMPF_LINES pl,
char *  index_name 
)
void PROMPF_INFO::Parallel_Region ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Post_Peel ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Pre_Peel ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Prefetch_Version ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Preopt_Create ( INT  new_loop,
PROMPF_LINES pl,
char *  index_name 
)
void PROMPF_INFO::Print ( FILE *  fp  ) 

Definition at line 2425 of file prompf.cxx.

References _trans_checkpoint, _trans_stack, STACK< T >::Bottom_nth(), STACK< T >::Elements(), First_Id(), fprintf(), Id(), Last_Id(), PROMPF_ID::Print(), and PROMPF_TRANS::Print().

Referenced by WB_BROWSER::Promp_Info().

Here is the call graph for this function:

void PROMPF_INFO::Print_Compact ( FILE *  fp,
PROMPF_TRANS_LOG  ptl 
)

Definition at line 2587 of file prompf.cxx.

References fprintf(), Is_Mark_Type(), Last_Trans(), PROMPF_TRANS::Print_Compact(), PTL_F90_LOWER, PTL_OMP, PTL_POSTLNO, PTL_PRELNO, PTL_PREOPT, Trans(), and PROMPF_TRANS::Type().

Here is the call graph for this function:

void PROMPF_INFO::Prompf_Info_Traverse ( WN wn_tree,
WN wn_region 
) [private]
void PROMPF_INFO::Push_Original_Loops ( INT  id_trans,
INT  last_trans,
STACK< INT > *  oloop_stack 
) [private]
void PROMPF_INFO::Register_Shutdown ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Register_SStrip ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Register_Startup ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
void PROMPF_INFO::Register_Tile ( INT  loop  ) 

Definition at line 1995 of file prompf.cxx.

References _pool, PROMPF_TRANS::Add_Old_Loop(), Add_Trans(), CXX_NEW, Id(), Last_Trans(), MPF_REGISTER_TILE, pt, PROMPF_ID::Set_Last_Trans(), and PROMPF_TRANS::Set_Type().

Here is the call graph for this function:

void PROMPF_INFO::Register_Winddown ( INT  old_loops[],
INT  new_loops[],
INT  nloops 
)
PROMPF_ID* PROMPF_INFO::Remove_Id (  )  [inline, private]

Definition at line 393 of file prompf.h.

References _id_stack, and STACK< T >::Pop().

Referenced by Undo_Post_Peel(), and Undo_Pre_Peel().

Here is the call graph for this function:

PROMPF_TRANS * PROMPF_INFO::Remove_Trans (  )  [private]

Definition at line 874 of file prompf.cxx.

References _trans_stack, and STACK< T >::Pop().

Referenced by Undo_Elimination(), Undo_Fusion(), Undo_Post_Peel(), and Undo_Pre_Peel().

Here is the call graph for this function:

void PROMPF_INFO::Remove_Unity_Trip ( INT  old_loop  ) 
void PROMPF_INFO::Reset_Last_Trans ( INT  old_id  )  [private]
void PROMPF_INFO::Restore (  ) 
void PROMPF_INFO::Save (  ) 

Definition at line 2672 of file prompf.cxx.

References _trans_checkpoint, FmtAssert, and Last_Trans().

Here is the call graph for this function:

void PROMPF_INFO::Se_Cache_Tile ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Se_Tile ( INT  old_loop,
INT  new_loop 
)
void PROMPF_INFO::Single_Process ( INT  new_id,
PROMPF_LINES pl 
)
PROMPF_TRANS* PROMPF_INFO::Trans ( INT  i  )  [inline, private]

Definition at line 387 of file prompf.h.

References _trans_stack, and STACK< T >::Bottom_nth().

Referenced by Add_Trans(), Check(), Print_Compact(), Reset_Last_Trans(), and Restore().

Here is the call graph for this function:

void PROMPF_INFO::Undo_Elimination (  ) 

Definition at line 1235 of file prompf.cxx.

References FmtAssert, Id(), PROMPF_TRANS::Old_Loop(), pt, Remove_Trans(), Reset_Last_Trans(), and PROMPF_TRANS::Type().

Referenced by Restore().

Here is the call graph for this function:

void PROMPF_INFO::Undo_Fusion (  ) 

Definition at line 1298 of file prompf.cxx.

References FmtAssert, Id(), PROMPF_TRANS::New_Loop(), PROMPF_TRANS::Old_Loop(), PROMPF_TRANS::Old_Loop_Count(), pt, Remove_Trans(), Reset_Last_Trans(), and PROMPF_TRANS::Type().

Referenced by Restore().

Here is the call graph for this function:

void PROMPF_INFO::Undo_Post_Peel (  ) 

Definition at line 1485 of file prompf.cxx.

References FmtAssert, PROMPF_TRANS::New_Loop_Count(), PROMPF_TRANS::Old_Loop(), PROMPF_TRANS::Old_Loop_Count(), pt, Remove_Id(), Remove_Trans(), Reset_Last_Trans(), and PROMPF_TRANS::Type().

Referenced by Restore().

Here is the call graph for this function:

void PROMPF_INFO::Undo_Pre_Peel (  ) 

Definition at line 1438 of file prompf.cxx.

References FmtAssert, PROMPF_TRANS::New_Loop_Count(), PROMPF_TRANS::Old_Loop(), PROMPF_TRANS::Old_Loop_Count(), pt, Remove_Id(), Remove_Trans(), Reset_Last_Trans(), and PROMPF_TRANS::Type().

Referenced by Restore().

Here is the call graph for this function:

void PROMPF_INFO::Update_Id ( INT  i,
INT  trans_index 
) [inline, private]

Definition at line 400 of file prompf.h.

References _first_id, _id_stack, STACK< T >::Bottom_nth(), and PROMPF_ID::Set_Last_Trans().

Referenced by Fusion(), and Interchange().

Here is the call graph for this function:

void PROMPF_INFO::Vintr_Fission ( INT  old_loop,
PROMPF_LINES old_lines,
INT  new_loops[],
PROMPF_LINES new_lines[],
INT  nloops 
)

Member Data Documentation

Definition at line 382 of file prompf.h.

Referenced by Disable(), Enable(), and Is_Enabled().

Definition at line 383 of file prompf.h.

Referenced by First_Id(), Id(), Last_Id(), and Update_Id().

Definition at line 385 of file prompf.h.

Referenced by Add_Id(), Id(), Last_Id(), PROMPF_INFO(), Remove_Id(), and Update_Id().

Definition at line 386 of file prompf.h.

Referenced by Clear(), Print(), Restore(), and Save().

Definition at line 384 of file prompf.h.

Referenced by Add_Trans(), Last_Trans(), Print(), PROMPF_INFO(), Remove_Trans(), and Trans().


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