[Presburger] Cheat around old versions of clang not doing NRVO when there's a derived-to-base cast in the way

Should be NFC. We can just do the base conversion manually and avoid
warnings about it. Clang before Clang 13 didn't implement P1825 and
complains:

mlir/lib/Analysis/Presburger/IntegerRelation.cpp:226:10: warning: local variable 'result' will be copied
      despite being returned by name [-Wreturn-std-move]
  return result;
         ^~~~~~
mlir/lib/Analysis/Presburger/IntegerRelation.cpp:226:10: note: call 'std::move' explicitly to avoid copying
  return result;
         ^~~~~~
         std::move(result)
This commit is contained in:
Benjamin Kramer 2022-06-29 12:32:32 +02:00
parent feb44ccc91
commit 206a6037a0
1 changed files with 1 additions and 1 deletions

View File

@ -215,7 +215,7 @@ PresburgerRelation IntegerRelation::computeReprWithOnlyDivLocals() const {
IntegerPolyhedron(PresburgerSpace::getSetSpace(
/*numDims=*/copy.getNumVars() - numNonDivLocals)))
.computeSymbolicIntegerLexMin();
PresburgerSet result =
PresburgerRelation result =
lexminResult.lexmin.getDomain().unionSet(lexminResult.unboundedDomain);
// The result set might lie in the wrong space -- all its ids are dims.