Skip to content

Commit 09ede1b

Browse files
committed
[CINN] Fix crash in CheckTensorIsContinuous due to invalid as_var_ref() on constants
1 parent 6d1a7c0 commit 09ede1b

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

paddle/cinn/ir/group_schedule/config/group_tile_util.cc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,10 @@ bool CheckBroadcastTensorIsContinuous(
184184
if (!iter_var2value.count(iter_var)) {
185185
return false;
186186
}
187+
187188
ir::Expr iter_value = iter_var2value.at(iter_var);
188189

189-
if (!iter_value.as_var() && !iter_value.is_constant()) return false;
190-
190+
if (!iter_value.as_var()) return false;
191191
for (; loop_idx < for_iters.size(); ++loop_idx) {
192192
if (for_iters[loop_idx] == iter_value.as_var_ref()) {
193193
break;
@@ -212,14 +212,13 @@ bool CheckTensorIsContinuous(
212212
for (int i = 0; i < indices.size(); ++i) {
213213
ir::Expr index = indices[i];
214214
index = optim::ArithSimplify(index);
215-
if (index.is_constant()) return false;
216215
if (!index.is_var()) return false;
217216
ir::Var iter_var = index.as_var_ref();
218217
if (!iter_var2value.count(iter_var)) {
219218
return false;
220219
}
221220
ir::Expr iter_value = iter_var2value.at(iter_var);
222-
if (!iter_value.as_var() && !iter_value.is_constant()) return false;
221+
if (!iter_value.as_var()) return false;
223222
if (for_iters[i] != iter_value.as_var_ref()) {
224223
return false;
225224
}

0 commit comments

Comments
 (0)