improved dead code
This commit is contained in:
@@ -522,8 +522,10 @@ void removeDeadCode(SgStatement* func,
|
|||||||
rem->deleteStmt();
|
rem->deleteStmt();
|
||||||
}
|
}
|
||||||
|
|
||||||
remove.clear();
|
|
||||||
//remove empty blocks
|
//remove empty blocks
|
||||||
|
do
|
||||||
|
{
|
||||||
|
remove.clear();
|
||||||
for (auto st = start; st != end; st = st->lexNext())
|
for (auto st = start; st != end; st = st->lexNext())
|
||||||
{
|
{
|
||||||
const int var = st->variant();
|
const int var = st->variant();
|
||||||
@@ -544,7 +546,7 @@ void removeDeadCode(SgStatement* func,
|
|||||||
while (ifS->variant() == CONTROL_END && ifS != lastNode)
|
while (ifS->variant() == CONTROL_END && ifS != lastNode)
|
||||||
ifS = ifS->lexNext();
|
ifS = ifS->lexNext();
|
||||||
|
|
||||||
if(ifS == lastNode)
|
if (ifS == lastNode)
|
||||||
remove.push_back(st);
|
remove.push_back(st);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -557,6 +559,7 @@ void removeDeadCode(SgStatement* func,
|
|||||||
__spf_print(PRINT_USELESS_STATEMENTS, "[Useless block statement on line %d and file %s]\n", rem->lineNumber(), rem->fileName());
|
__spf_print(PRINT_USELESS_STATEMENTS, "[Useless block statement on line %d and file %s]\n", rem->lineNumber(), rem->fileName());
|
||||||
rem->deleteStmt();
|
rem->deleteStmt();
|
||||||
}
|
}
|
||||||
|
} while (remove.size());
|
||||||
|
|
||||||
deleteCFG(cfg);
|
deleteCFG(cfg);
|
||||||
}
|
}
|
||||||
@@ -291,7 +291,7 @@ void InitPassesDependencies(map<passes, vector<passes>> &passDepsIn, set<passes>
|
|||||||
|
|
||||||
list({ CALL_GRAPH2, REVERT_SUBST_EXPR_RD, CONVERT_LOOP_TO_ASSIGN, RESTORE_LOOP_FROM_ASSIGN }) <= list({ DUPLICATE_FUNCTIONS, REMOVE_UNUSED_FUNCTIONS });
|
list({ CALL_GRAPH2, REVERT_SUBST_EXPR_RD, CONVERT_LOOP_TO_ASSIGN, RESTORE_LOOP_FROM_ASSIGN }) <= list({ DUPLICATE_FUNCTIONS, REMOVE_UNUSED_FUNCTIONS });
|
||||||
|
|
||||||
list({ CONVERT_LOOP_TO_ASSIGN, RESTORE_LOOP_FROM_ASSIGN }) <= list({ LOOPS_SPLITTER, LOOPS_COMBINER, PRIVATE_ARRAYS_EXPANSION, PRIVATE_ARRAYS_SHRINKING, CREATE_PARALLEL_REGIONS, PURE_SAVE_TO_PARAMS, PURE_MODULE_TO_PARAMS, PURE_COMMON_TO_PARAMS, PURE_INTENT_INSERT });
|
list({ CONVERT_LOOP_TO_ASSIGN, RESTORE_LOOP_FROM_ASSIGN }) <= list({ LOOPS_SPLITTER, LOOPS_COMBINER, PRIVATE_ARRAYS_EXPANSION, PRIVATE_ARRAYS_SHRINKING, CREATE_PARALLEL_REGIONS, PURE_SAVE_TO_PARAMS, PURE_MODULE_TO_PARAMS, PURE_COMMON_TO_PARAMS, PURE_INTENT_INSERT, PRIVATE_REMOVING });
|
||||||
|
|
||||||
list({ GET_ALL_ARRAY_DECL, FILL_PARALLEL_REG_IR }) <= Pass(CONVERT_ASSIGN_TO_LOOP);
|
list({ GET_ALL_ARRAY_DECL, FILL_PARALLEL_REG_IR }) <= Pass(CONVERT_ASSIGN_TO_LOOP);
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define VERSION_SPF "2304"
|
#define VERSION_SPF "2305"
|
||||||
|
|||||||
Reference in New Issue
Block a user