[AffineToPipeline] Fix side-effect within assertion.

This moves the side-effecting call (`insertDependence`) out of an
assert. It still asserts the call succeeded.

Fixes https://github.com/llvm/circt/issues/4614.
This commit is contained in:
Mike Urbach 2023-02-02 11:51:45 -07:00
parent a249d6e1df
commit b798060130
1 changed files with 5 additions and 2 deletions

View File

@ -84,8 +84,11 @@ ModuloProblem AffineToPipeline::getModuloProblem(CyclicProblem &prob) {
for (auto *op : prob.getOperations()) {
for (auto dep : prob.getDependences(op)) {
if (dep.isAuxiliary())
assert(modProb.insertDependence(dep).succeeded());
if (dep.isAuxiliary()) {
auto depInserted = modProb.insertDependence(dep);
assert(succeeded(depInserted));
(void)depInserted;
}
auto distance = prob.getDistance(dep);
if (distance.has_value())
modProb.setDistance(dep, distance.value());