ROCM IFU: Fix getValueLivenessRange

This commit is contained in:
Jason Furmanek
2023-09-28 21:35:43 +00:00
parent 28c571ea43
commit 92edee723b

View File

@@ -507,14 +507,16 @@ private:
// Analyze liveness of explicit buffers
Liveness liveness(operation);
auto getValueLivenessRange = [&](Value value) {
LivenessR ranges;
// Shared memory allocated by mbarrier cannot be reused
if (value.getDefiningOp() &&
isa<triton::nvidia_gpu::AllocMBarrierOp>(value.getDefiningOp()))
return Interval(std::numeric_limits<size_t>::min(),
std::numeric_limits<size_t>::max());
isa<triton::nvidia_gpu::AllocMBarrierOp>(value.getDefiningOp())) {
ranges.push_back(Interval(std::numeric_limits<size_t>::min(),
std::numeric_limits<size_t>::max()));
return ranges;
}
auto liveOperations = liveness.resolveLiveness(value);
LivenessR ranges;
std::for_each(liveOperations.begin(), liveOperations.end(),
[&](Operation *liveOp) {
ranges.add(operationId[liveOp]);