New pass
This commit is contained in:
@@ -203,6 +203,8 @@ set(TR_INLINER src/Transformations/FunctionInlining/inliner.cpp
|
||||
src/Transformations/FunctionInlining/inliner.h)
|
||||
set(TR_RENAME_SYMBOLS src/Transformations/RenameSymbols/rename_symbols.cpp
|
||||
src/Transformations/RenameSymbols/rename_symbols.h)
|
||||
SET(SWAP_OPERATORS src/SwapOperators/swapOperators.cpp
|
||||
src/SwapOperators/swapOperators.h)
|
||||
|
||||
set(TRANSFORMS
|
||||
${TR_DEAD_CODE}
|
||||
@@ -432,7 +434,8 @@ set(SOURCE_EXE
|
||||
${ZLIB}
|
||||
${GR_LAYOUT}
|
||||
${PR_PARAM}
|
||||
${PROJ_MAN})
|
||||
${PROJ_MAN}
|
||||
${SWAP_OPERATORS})
|
||||
|
||||
add_executable(Sapfor_F ${SOURCE_EXE})
|
||||
source_group (CFGraph FILES ${CFG})
|
||||
@@ -476,6 +479,7 @@ source_group (Utils FILES ${UTILS})
|
||||
source_group (VerificationCode FILES ${VERIF})
|
||||
source_group (ProjectParameters FILES ${PR_PARAM})
|
||||
source_group (ProjectManipulation FILES ${PROJ_MAN})
|
||||
source_group (SwapOperators FILES ${SWAP_OPERATORS})
|
||||
|
||||
source_group (VisualizerCalls FILES ${VS_CALLS})
|
||||
source_group (VisualizerCalls\\GraphLayout FILES ${GR_LAYOUT})
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
#include "Transformations/DeadCodeRemoving/dead_code.h"
|
||||
#include "Transformations/RenameSymbols/rename_symbols.h"
|
||||
#include "Transformations/FunctionInlining/inliner.h"
|
||||
#include "SwapOperators/swapOperators.h"
|
||||
|
||||
#include "ProjectParameters/projectParameters.h"
|
||||
|
||||
@@ -939,6 +940,10 @@ static bool runAnalysis(SgProject &project, const int curr_regime, const bool ne
|
||||
internalExit = err;
|
||||
}
|
||||
}
|
||||
else if (curr_regime == SWAP_OPERATORS)
|
||||
{
|
||||
runSwapOperators(loopGraph, fullIR);
|
||||
}
|
||||
else if (curr_regime == PRIVATE_REMOVING_ANALYSIS)
|
||||
{
|
||||
auto itFound = loopGraph.find(file->filename());
|
||||
|
||||
@@ -122,6 +122,8 @@ enum passes {
|
||||
CREATE_INTER_TREE,
|
||||
INSERT_INTER_TREE,
|
||||
|
||||
SWAP_OPERATORS,
|
||||
|
||||
SHADOW_GROUPING,
|
||||
INLINE_PROCEDURES,
|
||||
FILL_PARALLEL_REG_IR,
|
||||
@@ -317,6 +319,7 @@ static void setPassValues()
|
||||
passNames[CHECK_PAR_REG_DIR] = "CHECK_PAR_REG_DIR";
|
||||
passNames[CREATE_INTER_TREE] = "CREATE_INTER_TREE";
|
||||
passNames[INSERT_INTER_TREE] = "INSERT_INTER_TREE";
|
||||
passNames[SWAP_OPERATORS] = "SWAP_OPERATORS";
|
||||
passNames[CREATE_PARALLEL_REGIONS] = "CREATE_PARALLEL_REGIONS";
|
||||
passNames[PRIVATE_REMOVING_ANALYSIS] = "PRIVATE_REMOVING_ANALYSIS";
|
||||
passNames[PRIVATE_REMOVING] = "PRIVATE_REMOVING";
|
||||
|
||||
14
src/SwapOperators/swapOperators.cpp
Normal file
14
src/SwapOperators/swapOperators.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#include <map>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
#include <queue>
|
||||
#include <iostream>
|
||||
|
||||
#include "swapOperators.h"
|
||||
|
||||
|
||||
void runSwapOperators(std::map<std::string, std::vector<LoopGraph*>>& loopGraph, std::map<FuncInfo*, std::vector<SAPFOR::BasicBlock*>>& FullIR)
|
||||
{
|
||||
std::cout << "SWAP_OPERATORS Pass" << std::endl;
|
||||
return;
|
||||
};
|
||||
6
src/SwapOperators/swapOperators.h
Normal file
6
src/SwapOperators/swapOperators.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "../GraphLoop/graph_loops.h"
|
||||
#include "../CFGraph/CFGraph.h"
|
||||
|
||||
void runSwapOperators(std::map<std::string, std::vector<LoopGraph*>>& loopGraph, std::map<FuncInfo*, std::vector<SAPFOR::BasicBlock*>>& FullIR);
|
||||
@@ -212,6 +212,8 @@ void InitPassesDependencies(map<passes, vector<passes>> &passDepsIn, set<passes>
|
||||
|
||||
Pass(BUILD_IR) <= Pass(SUBST_EXPR_RD) <= Pass(SUBST_EXPR_RD_AND_UNPARSE);
|
||||
|
||||
Pass(BUILD_IR) <= Pass(SWAP_OPERATORS) <= Pass(PRIVATE_REMOVING);
|
||||
|
||||
list({ LOOP_ANALYZER_DATA_DIST_S1, SUBST_EXPR_RD } ) <= Pass(PRIVATE_REMOVING_ANALYSIS);
|
||||
list({ PRIVATE_REMOVING_ANALYSIS, REVERT_SUBST_EXPR_RD }) <= Pass(PRIVATE_REMOVING);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user