From 63b855a046929f74c13628b8fb7b29fe0d192507 Mon Sep 17 00:00:00 2001 From: xfplus Date: Thu, 14 Dec 2023 17:49:45 +0800 Subject: [PATCH] [TIR][Schedule] TileWithTensorInstrin Skip some ComputeInline for some producer if not padded --- src/tir/schedule/transform.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/tir/schedule/transform.cc b/src/tir/schedule/transform.cc index 62662a4ce111..33ec87635224 100644 --- a/src/tir/schedule/transform.cc +++ b/src/tir/schedule/transform.cc @@ -318,10 +318,12 @@ Optional TileWithTensorIntrin(const tir::Schedule& sch, const tir::Block auto producers = sch->GetProducers(block_rv); for (const auto& producer : producers) { auto original_producers = sch->GetProducers(producer); - ICHECK_EQ(original_producers.size(), 1u); + // NOTICE: there may not all producers padded. // Inline the original producer into the padding block. This ensures that the new producer // has the padded shape. - sch->ComputeInline(original_producers[0]); + if (original_producers.size() == 1u) { + sch->ComputeInline(original_producers[0]); + } } auto consumers = sch->GetConsumers(block_rv); for (const auto& consumer : consumers) {