[llvm] [CodeGen][MISched] Handle empty sized resource usage. (PR #75951)

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 17 11:59:18 PST 2024


================
@@ -4266,6 +4266,12 @@ unsigned ResourceSegments::getFirstAvailableAt(
   assert(std::is_sorted(std::begin(_Intervals), std::end(_Intervals),
                         sortIntervals) &&
          "Cannot execute on an un-sorted set of intervals.");
+
+  // Zero resource usage is allowed by TargetSchedule.td but we do not construct
+  // a ResourceSegment interval for that situation.
+  if (AcquireAtCycle == Cycle)
+    return Cycle;
----------------
michaelmaitland wrote:

I have updated to return CurrCycle, which would be 200 in this case. It should return CurrCycle since it is as if the for loop below hit the continue statement every time since nothing intersects with the empty interval.

https://github.com/llvm/llvm-project/pull/75951


More information about the llvm-commits mailing list