Go to the documentation of this file.
81 hash_set<const char*> alreadyRegisteredOutputSockets;
83 for (
int i = 0; i < instructionData.
moveCount(); ++i) {
96 alreadyRegisteredOutputSockets.find(
98 alreadyRegisteredOutputSockets.end()) {
101 alreadyRegisteredOutputSockets.insert(
110 const std::string operationUpper =
113 const std::string fuName =
115 fus_[fuName] += execCount;
173 const std::string rfName =
194 return MapTools::valueForKey<ClockCycleCount>(
buses_, busName);
208 return MapTools::valueForKey<ClockCycleCount>(
sockets_, socketName);
222 return MapTools::valueForKey<ClockCycleCount>(
fus_, fuName);
235 const std::string& operationName)
const {
237 return MapTools::valueForKey<ClockCycleCount>(
252 const std::string& fuName,
const std::string& operationName)
const {
254 return MapTools::valueForKey<ClockCycleCount>(
255 MapTools::valueForKey<ComponentUtilizationIndex>(
271 const std::string& rfName,
272 int registerIndex)
const {
276 std::pair<ClockCycleCount, ClockCycleCount> >(
277 MapTools::valueForKey<RegisterUtilizationIndex>(
293 const std::string& rfName,
294 int registerIndex)
const {
298 std::pair<ClockCycleCount, ClockCycleCount> >(
299 MapTools::valueForKey<RegisterUtilizationIndex>(
315 const std::string& rfName,
316 int registerIndex)
const {
320 std::pair<ClockCycleCount, ClockCycleCount> >(
321 MapTools::valueForKey<RegisterUtilizationIndex>(
337 const std::string& fuName,
338 const std::string& fuPort)
const {
341 return MapTools::valueForKey<ClockCycleCount>(
342 MapTools::valueForKey<ComponentUtilizationIndex>(
virtual bool isFUPort() const
TTAMachine::Socket & destinationSocket() const
virtual TCEString name() const
ClockCycleCount triggerCount(const std::string &fuName) const
virtual int index() const
ClockCycleCount guardRegisterReads(const std::string &rfName, int registerIndex) const
int registerIndex() const
FunctionUnit * parentUnit() const
virtual const TTAMachine::RegisterFile & registerFile() const
bool isUnconditional() const
ClockCycleCount socketWrites(const std::string &socketName) const
Terminal & destination() const
virtual void calculateForInstruction(const TTAProgram::Instruction &instructionData, const ExecutableInstruction &executionCounts)
const TTAMachine::Bus & bus() const
ComponentUtilizationIndex fus_
Function unit utilizations, i.e., total operation triggerings.
FUOperationUtilizationIndex FUGuardAccesses() const
virtual TCEString name() const
RFRegisterUtilizationIndex guardRfAccesses_
Guard register accesses for each register in a RF.
virtual Operation & operation() const
TTAMachine::Socket & sourceSocket() const
virtual bool isImmediateRegister() const
std::map< std::string, ComponentUtilizationIndex > FUOperationUtilizationIndex
Index for connecting function unit and operations implemented in them to utilization counts.
FUOperationUtilizationIndex fuOperations_
Index for operation utilizations for each function unit.
MoveGuard & guard() const
ClockCycleCount busWrites(const std::string &busName) const
ClockCycleCount operationExecutions(const std::string &operationName) const
virtual bool isGPR() const
virtual const TTAMachine::ImmediateUnit & immediateUnit() const
virtual bool isTriggering() const =0
virtual const TTAMachine::FunctionUnit & functionUnit() const
virtual ~UtilizationStats()
ClockCycleCount registerWrites(const std::string &rfName, int registerIndex) const
virtual std::string name() const
ComponentUtilizationIndex sockets_
Socket write counts.
ComponentUtilizationIndex buses_
Bus write counts.
ComponentUtilizationIndex operations_
Operation utilizations (started operations).
Terminal & source() const
CycleCount ClockCycleCount
Alias for ClockCycleCount.
virtual const TTAMachine::Port & port() const
ClockCycleCount registerReads(const std::string &rfName, int registerIndex) const
int highestRegister_
The highest register index used. This is an uglish way to fetch register access info for sequential s...
const TTAMachine::Guard & guard() const
virtual bool isImmediate() const
const RegisterFile * registerFile() const
RFRegisterUtilizationIndex rfAccesses_
Register read and write data for each register in each register file.
int highestUsedRegisterIndex() const
ClockCycleCount moveExecutionCount(std::size_t moveIndex) const
FUOperationUtilizationIndex guardFUAccesses_
Guard FU port accesses.