我可以通过更改其目标来插入一条新边,并通过其源和目标删除另一条边。换句话说,我可以用另一条边替换一条边的基本块目标,以在 CFG 中进行一些修改吗?
我尝试getEdge()
了函数 in ProfileInfo
,但它不起作用:
// to replace the basic block
Bb->getTerminator()->replaceUsesOfWith((*SI), (*rit));
// trying to set the new basic block as a new destination
xx = ProfileInfo::getEdge(Bb,(*rit));