DataFlow: remove unused template parameter DataType from DataFlowAnalysis class

This commit is contained in:
mkoch
2024-01-12 16:57:02 +03:00
parent dcb42889da
commit 6dc0ad1080
6 changed files with 16 additions and 16 deletions

View File

@@ -9,10 +9,10 @@
#include "../CFGraph.h"
#include "../IR.h"
template <class DataType, class NodeType>
class BackwardDataFlowAnalysis : public DataFlowAnalysis<DataType, NodeType> {
template <class NodeType>
class BackwardDataFlowAnalysis : public DataFlowAnalysis<NodeType> {
std::vector<SAPFOR::BasicBlock*> reorderSequence(const std::vector<SAPFOR::BasicBlock*>& blocks,
const std::set<SAPFOR::BasicBlock*> back_edge_sources);
const std::set<SAPFOR::BasicBlock*> back_edge_sources);
public:
void fit(const std::vector<SAPFOR::BasicBlock*>& blocks);
};

View File

@@ -13,10 +13,10 @@
/* Note: this file should be included in backward_data_flow.h to provide template definitions */
// minimizes the number of blocks beween the ends of back edges
template <class DataType, class NodeType>
template <class NodeType>
std::vector<SAPFOR::BasicBlock*>
BackwardDataFlowAnalysis<DataType, NodeType>::reorderSequence(const std::vector<SAPFOR::BasicBlock*>& blocks,
const std::set<SAPFOR::BasicBlock*> back_edge_sources)
BackwardDataFlowAnalysis<NodeType>::reorderSequence(const std::vector<SAPFOR::BasicBlock*>& blocks,
const std::set<SAPFOR::BasicBlock*> back_edge_sources)
{
std::vector<SAPFOR::BasicBlock*> res = { };
@@ -40,8 +40,8 @@ BackwardDataFlowAnalysis<DataType, NodeType>::reorderSequence(const std::vector<
return res;
}
template <class DataType, class NodeType>
void BackwardDataFlowAnalysis<DataType, NodeType>::fit(const std::vector<SAPFOR::BasicBlock*>& blocks)
template <class NodeType>
void BackwardDataFlowAnalysis<NodeType>::fit(const std::vector<SAPFOR::BasicBlock*>& blocks)
{
std::set<std::pair<SAPFOR::BasicBlock*, SAPFOR::BasicBlock*>> back_edges = {};

View File

@@ -49,7 +49,7 @@ public:
void setBlock(SAPFOR::BasicBlock* b) { bb = b; }
};
template <class DataType, class NodeType>
template <class NodeType>
class DataFlowAnalysis {
protected:
std::vector<NodeType*> nodes;

View File

@@ -67,8 +67,8 @@ void DataFlowAnalysisNode<DataType>::doStep()
/* definitions for DataFlowAnalysis class */
template <class DataType, class NodeType>
void DataFlowAnalysis<DataType, NodeType>::analyze() {
template <class NodeType>
void DataFlowAnalysis<NodeType>::analyze() {
auto curr = 0;
auto stop = nodes.size();
@@ -103,10 +103,10 @@ void DataFlowAnalysis<DataType, NodeType>::analyze() {
}
}
template <class DataType, class NodeType>
DataFlowAnalysis<DataType, NodeType>::~DataFlowAnalysis()
template <class NodeType>
DataFlowAnalysis<NodeType>::~DataFlowAnalysis()
{
for (DataFlowAnalysisNode<DataType>* node : nodes)
for (NodeType* node : nodes)
delete node;
nodes.clear();

View File

@@ -271,7 +271,7 @@ public:
}
};
class LiveVarAnalysis : public BackwardDataFlowAnalysis<map<SAPFOR::Argument*, vector<SAPFOR::BasicBlock*>>, LiveVarAnalysisNode> {
class LiveVarAnalysis : public BackwardDataFlowAnalysis<LiveVarAnalysisNode> {
protected:
vector<SAPFOR::Argument*>& formal_parameters;
vector<LiveDeadVarsForCall>& fcalls;

View File

@@ -298,7 +298,7 @@ public:
const vector<bool>& getResult() { return useful; };
};
class DeadCodeAnalysis : public BackwardDataFlowAnalysis<map<SAPFOR::Argument*, vector<SAPFOR::BasicBlock*>>, DeadCodeAnalysisNode> {
class DeadCodeAnalysis : public BackwardDataFlowAnalysis<DeadCodeAnalysisNode> {
protected:
vector<SAPFOR::Argument*>& formal_parameters;