fix UB in dom tree builder

This commit is contained in:
2025-06-04 09:18:24 +03:00
parent b454858647
commit c6a0c73287
2 changed files with 4 additions and 8 deletions

View File

@@ -74,12 +74,6 @@ namespace SAPFOR
const std::vector<BasicBlock*>& getPrev() const { return prev; }
BasicBlock* getDom() const
{
if (!directDominator)
{
__spf_print(1, "%s\n", "the dominator tree was built with an error or was not built at all");
printInternalError(convertFileName(__FILE__).c_str(), __LINE__);
}
return directDominator;
}

View File

@@ -64,6 +64,8 @@ namespace SAPFOR {
int w = vertex[i];
for (BasicBlock* v : vertices[w]->getPrev()) {
if (dfs_num[v] == -1)
continue;
int u = Eval(dfs_num[v]);
if (semi[u] < semi[w])