CCTLib
Calling-context and data-object attribution library for Intel Pin
ArrayAnalysis< T, isApprox > Struct Template Reference
+ Collaboration diagram for ArrayAnalysis< T, isApprox >:

Public Types

using MyIterator = typename unordered_map< T, list< uint32_t > >::iterator
 

Public Member Functions

 while (address< endAddr)
 
 for (mapIt=valuesMap.begin();mapIt !=valuesMap.end();++mapIt)
 
 if (redRate > RED_RATE||maxList.size() > SAME_RECORD_LIMIT)
 

Static Public Member Functions

static __attribute__ ((always_inline)) bool CheckIntraArrayRedundancy(uint64_t begAddr
 

Public Attributes

static uint64_t endAddr
 
static uint64_t uint32_t stride
 
static uint64_t uint32_t IntraRedRecordnewPair
 
MyIterator mapIt
 
list< uint32_t > spatialRedIndex
 
uint64_t address = begAddr
 
uint32_t index = 0
 
valueLast = 0
 
uint32_t numUniqueValue = valuesMap.size()
 
double redRate = (double)(index - numUniqueValue) / index
 
list< ValueGroupmaxList
 
return false
 

Detailed Description

template<typename T, bool isApprox>
struct ArrayAnalysis< T, isApprox >

Definition at line 295 of file redspy_spatial_userdefine_client.cpp.

Member Typedef Documentation

◆ MyIterator

template<typename T , bool isApprox>
using ArrayAnalysis< T, isApprox >::MyIterator = typename unordered_map<T, list<uint32_t> >::iterator

Definition at line 296 of file redspy_spatial_userdefine_client.cpp.

Member Function Documentation

◆ __attribute__()

template<typename T , bool isApprox>
static ArrayAnalysis< T, isApprox >::__attribute__ ( (always_inline)  )
static

◆ for()

template<typename T , bool isApprox>
ArrayAnalysis< T, isApprox >::for ( mapIt  = valuesMap.begin(); mapIt != valuesMap.end(); ++mapIt)
inline

Definition at line 343 of file redspy_spatial_userdefine_client.cpp.

References SAME_RATE.

◆ if()

template<typename T , bool isApprox>
ArrayAnalysis< T, isApprox >::if ( redRate  ,
RED_RATE||maxList.  size(),
SAME_RECORD_LIMIT   
)
inline

Definition at line 350 of file redspy_spatial_userdefine_client.cpp.

◆ while()

template<typename T , bool isApprox>
ArrayAnalysis< T, isApprox >::while ( )
inline

Definition at line 305 of file redspy_spatial_userdefine_client.cpp.

References address, APPROX_RATE, and value.

Member Data Documentation

◆ address

template<typename T , bool isApprox>
uint64_t ArrayAnalysis< T, isApprox >::address = begAddr

Definition at line 302 of file redspy_spatial_userdefine_client.cpp.

◆ endAddr

template<typename T , bool isApprox>
uint64_t ArrayAnalysis< T, isApprox >::endAddr

Definition at line 298 of file redspy_spatial_userdefine_client.cpp.

◆ false

template<typename T , bool isApprox>
return ArrayAnalysis< T, isApprox >::false

Definition at line 356 of file redspy_spatial_userdefine_client.cpp.

◆ index

template<typename T , bool isApprox>
uint32_t ArrayAnalysis< T, isApprox >::index = 0

Definition at line 303 of file redspy_spatial_userdefine_client.cpp.

◆ mapIt

template<typename T , bool isApprox>
MyIterator ArrayAnalysis< T, isApprox >::mapIt

Definition at line 300 of file redspy_spatial_userdefine_client.cpp.

◆ maxList

template<typename T , bool isApprox>
list<ValueGroup> ArrayAnalysis< T, isApprox >::maxList

Definition at line 342 of file redspy_spatial_userdefine_client.cpp.

◆ newPair

template<typename T , bool isApprox>
uint64_t uint32_t IntraRedRecord* ArrayAnalysis< T, isApprox >::newPair
Initial value:
{
unordered_map<T, list<uint32_t>> valuesMap

Definition at line 298 of file redspy_spatial_userdefine_client.cpp.

◆ numUniqueValue

template<typename T , bool isApprox>
uint32_t ArrayAnalysis< T, isApprox >::numUniqueValue = valuesMap.size()

Definition at line 340 of file redspy_spatial_userdefine_client.cpp.

◆ redRate

template<typename T , bool isApprox>
double ArrayAnalysis< T, isApprox >::redRate = (double)(index - numUniqueValue) / index

Definition at line 341 of file redspy_spatial_userdefine_client.cpp.

◆ spatialRedIndex

template<typename T , bool isApprox>
list<uint32_t> ArrayAnalysis< T, isApprox >::spatialRedIndex

Definition at line 301 of file redspy_spatial_userdefine_client.cpp.

◆ stride

template<typename T , bool isApprox>
uint64_t uint32_t ArrayAnalysis< T, isApprox >::stride

Definition at line 298 of file redspy_spatial_userdefine_client.cpp.

◆ valueLast

template<typename T , bool isApprox>
T ArrayAnalysis< T, isApprox >::valueLast = 0

Definition at line 304 of file redspy_spatial_userdefine_client.cpp.


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