REGION_STRIDE_PREFETCH Module Reference

Collaboration diagram for REGION_STRIDE_PREFETCH:

Collaboration graph
[legend]

Public Member Functions

 REGION_STRIDE_PREFETCH (MEM_POOL *m, INT32 stride_flags)
 ~REGION_STRIDE_PREFETCH ()
void Stride_A_Region (REGION *regn)

Protected Member Functions

void Stride_Prefetch_Initial (void)
UINT64 Find_Loop_Count (REGION *rgn)
double Compute_Iteration_Cycles (UINT64 loop_count)
double Compute_Region_Cycles (REGION *regn)
float Compute_Iteration_Data_Size (UINT64 loop_count)
float Compute_Region_Data_Size (REGION *regn)
UINT32 BB_Ld_Count (BB *bb)
void Compute_Prefetch_Distance (INT32 *distance)
INT32 Min (double a, double b, double c)
void Insert_Prefetch_List (INT32 *distance)
void Stride_Ins (BB *bb, OP *op, INT32 distance)
OPMk_Add_OP (mINT64 int_arg, TN *tn, TN *total_tn)
OPMk_Prefetch_OP (float zero_prob, TN *address)
void Strong_Single_Stride_Ins (BB *bb, OP *op, INT32 distance)
void Phased_Multi_Stride_Ins (BB *bb, OP *op, INT32 distance)

Private Attributes

MEM_POOL_mempool
REGIONregion
UINT64 pu_freq
UINT64 THRESH_FREQ
UINT32 PRE_DISTANCE
UINT32 LOAD_LATENCY
UINT64 CACHE_SIZE
float STRONG_SINGLE_STRIDE_THREHOLD
UINT32 PHASED_MULTI_STRIDE_THRESHOLD
UINT64 PMST_SECOD_FREQ
float PMST_ZERO_FREQ
UINT64 SINGLE_FIRST_FREQ
float NTA_THRESHOLD
STRIDE_LOOP_HEADERloop_header
INT32 flags

Detailed Description

Definition at line 80 of file stride_prefetch.cxx.


Constructor & Destructor Documentation

REGION_STRIDE_PREFETCH::REGION_STRIDE_PREFETCH ( MEM_POOL m,
INT32  stride_flags 
) [inline]

Definition at line 100 of file stride_prefetch.cxx.

REGION_STRIDE_PREFETCH::~REGION_STRIDE_PREFETCH (  )  [inline]

Definition at line 107 of file stride_prefetch.cxx.


Member Function/Subroutine Documentation

void REGION_STRIDE_PREFETCH::Stride_A_Region ( REGION regn  ) 

void REGION_STRIDE_PREFETCH::Stride_Prefetch_Initial ( void   )  [protected]

UINT64 REGION_STRIDE_PREFETCH::Find_Loop_Count ( REGION rgn  )  [protected]

Definition at line 244 of file stride_prefetch.cxx.

References BB_freq, REGION::Entries(), iter, and UINT64.

Referenced by Stride_Prefetch_Initial().

double REGION_STRIDE_PREFETCH::Compute_Iteration_Cycles ( UINT64  loop_count  )  [protected]

Definition at line 259 of file stride_prefetch.cxx.

References Compute_Region_Cycles(), and region.

Referenced by Stride_Prefetch_Initial().

double REGION_STRIDE_PREFETCH::Compute_Region_Cycles ( REGION regn  )  [protected]

float REGION_STRIDE_PREFETCH::Compute_Iteration_Data_Size ( UINT64  loop_count  )  [protected]

Definition at line 315 of file stride_prefetch.cxx.

References Compute_Region_Cycles(), and region.

Referenced by Stride_Prefetch_Initial().

float REGION_STRIDE_PREFETCH::Compute_Region_Data_Size ( REGION regn  )  [protected]

UINT32 REGION_STRIDE_PREFETCH::BB_Ld_Count ( BB bb  )  [protected]

Definition at line 354 of file stride_prefetch.cxx.

References BB_first_op, i, NULL, OP_code, OP_next, and UINT32.

Referenced by Compute_Region_Data_Size().

void REGION_STRIDE_PREFETCH::Compute_Prefetch_Distance ( INT32 distance  )  [protected]

INT32 REGION_STRIDE_PREFETCH::Min ( double  a,
double  b,
double  c 
) [protected]

Definition at line 400 of file stride_prefetch.cxx.

References i, and INT32.

Referenced by Compute_Prefetch_Distance().

void REGION_STRIDE_PREFETCH::Insert_Prefetch_List ( INT32 distance  )  [protected]

void REGION_STRIDE_PREFETCH::Stride_Ins ( BB bb,
OP op,
INT32  distance 
) [protected]

OP * REGION_STRIDE_PREFETCH::Mk_Add_OP ( mINT64  int_arg,
TN tn,
TN total_tn 
) [protected]

Definition at line 563 of file stride_prefetch.cxx.

References Gen_Literal_TN(), Mk_OP(), and True_TN.

OP * REGION_STRIDE_PREFETCH::Mk_Prefetch_OP ( float  zero_prob,
TN address 
) [protected]

Definition at line 570 of file stride_prefetch.cxx.

References Gen_Enum_TN(), Mk_OP(), and True_TN.

Referenced by Phased_Multi_Stride_Ins(), and Strong_Single_Stride_Ins().

void REGION_STRIDE_PREFETCH::Strong_Single_Stride_Ins ( BB bb,
OP op,
INT32  distance 
) [protected]

void REGION_STRIDE_PREFETCH::Phased_Multi_Stride_Ins ( BB bb,
OP op,
INT32  distance 
) [protected]


Field Documentation

Definition at line 82 of file stride_prefetch.cxx.

Referenced by Stride_A_Region().

Definition at line 84 of file stride_prefetch.cxx.

Referenced by Stride_Prefetch_Initial().

Definition at line 85 of file stride_prefetch.cxx.

Referenced by Stride_Prefetch_Initial().

Definition at line 86 of file stride_prefetch.cxx.

Referenced by Compute_Prefetch_Distance().

Definition at line 87 of file stride_prefetch.cxx.

Referenced by Compute_Prefetch_Distance().

Definition at line 88 of file stride_prefetch.cxx.

Definition at line 89 of file stride_prefetch.cxx.

Referenced by Stride_Ins().

Definition at line 90 of file stride_prefetch.cxx.

Referenced by Stride_Ins().

Definition at line 91 of file stride_prefetch.cxx.

Definition at line 92 of file stride_prefetch.cxx.

Referenced by Stride_Ins().

Definition at line 93 of file stride_prefetch.cxx.

Referenced by Stride_Ins().

Definition at line 94 of file stride_prefetch.cxx.

Definition at line 96 of file stride_prefetch.cxx.

Referenced by Phased_Multi_Stride_Ins(), and Strong_Single_Stride_Ins().


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

Generated on Wed Apr 8 17:02:54 2009 for Open64 by  doxygen 1.5.6