dead code analysis
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
#include "../Utils/SgUtils.h"
|
#include "../Utils/SgUtils.h"
|
||||||
#include "CFGraph.h"
|
#include "CFGraph.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
#include "../Utils/SgUtils.h"
|
#include "../Utils/SgUtils.h"
|
||||||
#include "../GraphLoop/graph_loops.h"
|
#include "../GraphLoop/graph_loops.h"
|
||||||
#include "CFGraph.h"
|
#include "CFGraph.h"
|
||||||
|
|||||||
@@ -79,6 +79,7 @@
|
|||||||
#include "Transformations/private_removing.h"
|
#include "Transformations/private_removing.h"
|
||||||
#include "Transformations/fix_common_blocks.h"
|
#include "Transformations/fix_common_blocks.h"
|
||||||
#include "Transformations/convert_to_c.h"
|
#include "Transformations/convert_to_c.h"
|
||||||
|
#include "Transformations/dead_code.h"
|
||||||
|
|
||||||
#include "RenameSymbols/rename_symbols.h"
|
#include "RenameSymbols/rename_symbols.h"
|
||||||
#include "ProjectParameters/projectParameters.h"
|
#include "ProjectParameters/projectParameters.h"
|
||||||
@@ -1169,6 +1170,12 @@ static bool runAnalysis(SgProject &project, const int curr_regime, const bool ne
|
|||||||
covertToC(file);
|
covertToC(file);
|
||||||
else if (curr_regime == INSERT_NO_DISTR_FLAGS_FROM_GUI)
|
else if (curr_regime == INSERT_NO_DISTR_FLAGS_FROM_GUI)
|
||||||
addPrivatesToArraysFromGUI(file, declaredArrays, distrStateFromGUI);
|
addPrivatesToArraysFromGUI(file, declaredArrays, distrStateFromGUI);
|
||||||
|
else if (curr_regime == REMOVE_DEAD_CODE_AND_UNPARSE)
|
||||||
|
{
|
||||||
|
auto funcsForFile = getObjectForFileFromMap(file_name, allFuncInfo_IR);
|
||||||
|
for (auto& func : funcsForFile)
|
||||||
|
removeDeadCode(func->funcPointer, allFuncInfo_IR, commonBlocks);
|
||||||
|
}
|
||||||
else if (curr_regime == TEST_PASS)
|
else if (curr_regime == TEST_PASS)
|
||||||
{
|
{
|
||||||
//test pass
|
//test pass
|
||||||
@@ -2515,6 +2522,7 @@ void runPass(const int curr_regime, const char *proj_name, const char *folderNam
|
|||||||
findFunctionsToInclude(true);
|
findFunctionsToInclude(true);
|
||||||
break;
|
break;
|
||||||
// all these cases run UNPARSE_FILE after
|
// all these cases run UNPARSE_FILE after
|
||||||
|
case REMOVE_DEAD_CODE_AND_UNPARSE:
|
||||||
case RENAME_SYMBOLS:
|
case RENAME_SYMBOLS:
|
||||||
case RESOLVE_PAR_REGIONS:
|
case RESOLVE_PAR_REGIONS:
|
||||||
case CREATE_PARALLEL_REGIONS:
|
case CREATE_PARALLEL_REGIONS:
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ enum passes {
|
|||||||
BUILD_IR,
|
BUILD_IR,
|
||||||
LIVE_ANALYSIS_IR,
|
LIVE_ANALYSIS_IR,
|
||||||
PRIVATE_ANALYSIS_IR,
|
PRIVATE_ANALYSIS_IR,
|
||||||
|
REMOVE_DEAD_CODE_AND_UNPARSE,
|
||||||
|
|
||||||
FIX_COMMON_BLOCKS,
|
FIX_COMMON_BLOCKS,
|
||||||
REMOVE_OMP_DIRS,
|
REMOVE_OMP_DIRS,
|
||||||
@@ -343,6 +344,7 @@ static void setPassValues()
|
|||||||
passNames[CALL_GRAPH_IR] = "CALL_GRAPH_IR";
|
passNames[CALL_GRAPH_IR] = "CALL_GRAPH_IR";
|
||||||
passNames[LIVE_ANALYSIS_IR] = "LIVE_ANALYSIS_IR";
|
passNames[LIVE_ANALYSIS_IR] = "LIVE_ANALYSIS_IR";
|
||||||
passNames[PRIVATE_ANALYSIS_IR] = "PRIVATE_ANALYSIS_IR";
|
passNames[PRIVATE_ANALYSIS_IR] = "PRIVATE_ANALYSIS_IR";
|
||||||
|
passNames[REMOVE_DEAD_CODE_AND_UNPARSE] = "REMOVE_DEAD_CODE_AND_UNPARSE";
|
||||||
|
|
||||||
passNames[FIX_COMMON_BLOCKS] = "FIX_COMMON_BLOCKS";
|
passNames[FIX_COMMON_BLOCKS] = "FIX_COMMON_BLOCKS";
|
||||||
passNames[REMOVE_OMP_DIRS] = "REMOVE_OMP_DIRS";
|
passNames[REMOVE_OMP_DIRS] = "REMOVE_OMP_DIRS";
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -306,6 +306,8 @@ void InitPassesDependencies(map<passes, vector<passes>> &passDepsIn, set<passes>
|
|||||||
|
|
||||||
Pass(REMOVE_OMP_DIRS) <= Pass(REMOVE_OMP_DIRS_TRANSFORM);
|
Pass(REMOVE_OMP_DIRS) <= Pass(REMOVE_OMP_DIRS_TRANSFORM);
|
||||||
|
|
||||||
|
Pass(BUILD_IR) <= Pass(REMOVE_DEAD_CODE_AND_UNPARSE);
|
||||||
|
|
||||||
passesIgnoreStateDone.insert({ CREATE_PARALLEL_DIRS, INSERT_PARALLEL_DIRS, INSERT_SHADOW_DIRS, EXTRACT_PARALLEL_DIRS,
|
passesIgnoreStateDone.insert({ CREATE_PARALLEL_DIRS, INSERT_PARALLEL_DIRS, INSERT_SHADOW_DIRS, EXTRACT_PARALLEL_DIRS,
|
||||||
EXTRACT_SHADOW_DIRS, CREATE_REMOTES, UNPARSE_FILE, REMOVE_AND_CALC_SHADOW,
|
EXTRACT_SHADOW_DIRS, CREATE_REMOTES, UNPARSE_FILE, REMOVE_AND_CALC_SHADOW,
|
||||||
REVERSE_CREATED_NESTED_LOOPS, PREDICT_SCHEME, CALCULATE_STATS_SCHEME, REVERT_SPF_DIRS, CLEAR_SPF_DIRS, TRANSFORM_SHADOW_IF_FULL,
|
REVERSE_CREATED_NESTED_LOOPS, PREDICT_SCHEME, CALCULATE_STATS_SCHEME, REVERT_SPF_DIRS, CLEAR_SPF_DIRS, TRANSFORM_SHADOW_IF_FULL,
|
||||||
|
|||||||
Reference in New Issue
Block a user