aboutsummaryrefslogtreecommitdiff
path: root/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mlir/lib/Interfaces/ValueBoundsOpInterface.cpp')
-rw-r--r--mlir/lib/Interfaces/ValueBoundsOpInterface.cpp42
1 files changed, 18 insertions, 24 deletions
diff --git a/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp b/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
index d2bafb7..a5bfde1 100644
--- a/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
+++ b/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
@@ -16,6 +16,7 @@
#include "mlir/Interfaces/ViewLikeInterface.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/DebugLog.h"
#define DEBUG_TYPE "value-bounds-op-interface"
@@ -195,7 +196,7 @@ void ValueBoundsConstraintSet::addBound(BoundType type, int64_t pos,
// Even without this bound, there may be enough information in the
// constraint system to compute the requested bound. In case this bound is
// actually needed, `computeBound` will return `failure`.
- LLVM_DEBUG(llvm::dbgs() << "Failed to add bound: " << expr << "\n");
+ LDBG() << "Failed to add bound: " << expr << "\n";
}
}
@@ -271,11 +272,9 @@ int64_t ValueBoundsConstraintSet::insert(Value value,
assert(!valueDimToPosition.contains(valueDim) && "already mapped");
int64_t pos = isSymbol ? cstr.appendVar(VarKind::Symbol)
: cstr.appendVar(VarKind::SetDim);
- LLVM_DEBUG(llvm::dbgs() << "Inserting constraint set column " << pos
- << " for: " << value
- << " (dim: " << dim.value_or(kIndexValue)
- << ", owner: " << getOwnerOfValue(value)->getName()
- << ")\n");
+ LDBG() << "Inserting constraint set column " << pos << " for: " << value
+ << " (dim: " << dim.value_or(kIndexValue)
+ << ", owner: " << getOwnerOfValue(value)->getName() << ")";
positionToValueDim.insert(positionToValueDim.begin() + pos, valueDim);
// Update reverse mapping.
for (int64_t i = pos, e = positionToValueDim.size(); i < e; ++i)
@@ -283,8 +282,8 @@ int64_t ValueBoundsConstraintSet::insert(Value value,
valueDimToPosition[*positionToValueDim[i]] = i;
if (addToWorklist) {
- LLVM_DEBUG(llvm::dbgs() << "Push to worklist: " << value
- << " (dim: " << dim.value_or(kIndexValue) << ")\n");
+ LDBG() << "Push to worklist: " << value
+ << " (dim: " << dim.value_or(kIndexValue) << ")";
worklist.push(pos);
}
@@ -294,8 +293,7 @@ int64_t ValueBoundsConstraintSet::insert(Value value,
int64_t ValueBoundsConstraintSet::insert(bool isSymbol) {
int64_t pos = isSymbol ? cstr.appendVar(VarKind::Symbol)
: cstr.appendVar(VarKind::SetDim);
- LLVM_DEBUG(llvm::dbgs() << "Inserting anonymous constraint set column " << pos
- << "\n");
+ LDBG() << "Inserting anonymous constraint set column " << pos;
positionToValueDim.insert(positionToValueDim.begin() + pos, std::nullopt);
// Update reverse mapping.
for (int64_t i = pos, e = positionToValueDim.size(); i < e; ++i)
@@ -339,10 +337,9 @@ int64_t ValueBoundsConstraintSet::getPos(Value value,
cast<BlockArgument>(value).getOwner()->isEntryBlock()) &&
"unstructured control flow is not supported");
#endif // NDEBUG
- LLVM_DEBUG(llvm::dbgs() << "Getting pos for: " << value
- << " (dim: " << dim.value_or(kIndexValue)
- << ", owner: " << getOwnerOfValue(value)->getName()
- << ")\n");
+ LDBG() << "Getting pos for: " << value
+ << " (dim: " << dim.value_or(kIndexValue)
+ << ", owner: " << getOwnerOfValue(value)->getName() << ")";
auto it =
valueDimToPosition.find(std::make_pair(value, dim.value_or(kIndexValue)));
assert(it != valueDimToPosition.end() && "expected mapped entry");
@@ -364,7 +361,7 @@ bool ValueBoundsConstraintSet::isMapped(Value value,
}
void ValueBoundsConstraintSet::processWorklist() {
- LLVM_DEBUG(llvm::dbgs() << "Processing value bounds worklist...\n");
+ LDBG() << "Processing value bounds worklist...";
while (!worklist.empty()) {
int64_t pos = worklist.front();
worklist.pop();
@@ -386,8 +383,8 @@ void ValueBoundsConstraintSet::processWorklist() {
// Do not process any further if the stop condition is met.
auto maybeDim = dim == kIndexValue ? std::nullopt : std::make_optional(dim);
if (stopCondition(value, maybeDim, *this)) {
- LLVM_DEBUG(llvm::dbgs() << "Stop condition met for: " << value
- << " (dim: " << maybeDim << ")\n");
+ LDBG() << "Stop condition met for: " << value << " (dim: " << maybeDim
+ << ")";
continue;
}
@@ -395,9 +392,8 @@ void ValueBoundsConstraintSet::processWorklist() {
// the worklist.
auto valueBoundsOp =
dyn_cast<ValueBoundsOpInterface>(getOwnerOfValue(value));
- LLVM_DEBUG(llvm::dbgs()
- << "Query value bounds for: " << value
- << " (owner: " << getOwnerOfValue(value)->getName() << ")\n");
+ LDBG() << "Query value bounds for: " << value
+ << " (owner: " << getOwnerOfValue(value)->getName() << ")";
if (valueBoundsOp) {
if (dim == kIndexValue) {
valueBoundsOp.populateBoundsForIndexValue(value, *this);
@@ -406,7 +402,7 @@ void ValueBoundsConstraintSet::processWorklist() {
}
continue;
}
- LLVM_DEBUG(llvm::dbgs() << "--> ValueBoundsOpInterface not implemented\n");
+ LDBG() << "--> ValueBoundsOpInterface not implemented";
// If the op does not implement `ValueBoundsOpInterface`, check if it
// implements the `DestinationStyleOpInterface`. OpResults of such ops are
@@ -705,9 +701,7 @@ bool ValueBoundsConstraintSet::comparePos(int64_t lhsPos,
// We cannot prove anything if the constraint set is already empty.
if (cstr.isEmpty()) {
- LLVM_DEBUG(
- llvm::dbgs()
- << "cannot compare value/dims: constraint system is already empty");
+ LDBG() << "cannot compare value/dims: constraint system is already empty";
return false;
}