Commit 645b446
authored
This change simplifies the logic in `GPUFuseAndHoistParallelLoops` by
using the `scf::tileAndFuseConsumer` method that directly takes the
consumer to fuse as operand and find the slices to fuse along. The
previous implementation related in a subtle bug, where the operation
that was being expected to fuse and the actual operation fused were
different. The new methods disallows this by construction.
There is still an issue of the pattern rewrite still going into an
infinite loop (or hitting the limit). That is a problem because of the
tiling generating operations before failing. The tiling method is not
intended to be called within pattern rewriters, but some outstanding
changes to `TilingInterface` can also address this issue. Leaving this
as an error for now.
Fixes #22576
Signed-off-by: MaheshRavishankar <[email protected]>
1 parent 1f322ce commit 645b446
File tree
3 files changed
+41
-34
lines changed- compiler/src/iree/compiler/Codegen/Common
- GPU
- test
3 files changed
+41
-34
lines changedLines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
| 361 | + | |
361 | 362 | | |
362 | 363 | | |
363 | 364 | | |
| |||
379 | 380 | | |
380 | 381 | | |
381 | 382 | | |
| 383 | + | |
382 | 384 | | |
383 | 385 | | |
384 | 386 | | |
| |||
393 | 395 | | |
394 | 396 | | |
395 | 397 | | |
| 398 | + | |
396 | 399 | | |
397 | 400 | | |
398 | 401 | | |
| |||
Lines changed: 34 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
486 | 486 | | |
487 | 487 | | |
488 | 488 | | |
489 | | - | |
| 489 | + | |
490 | 490 | | |
491 | 491 | | |
492 | 492 | | |
| |||
496 | 496 | | |
497 | 497 | | |
498 | 498 | | |
499 | | - | |
500 | 499 | | |
501 | 500 | | |
502 | | - | |
| 501 | + | |
503 | 502 | | |
504 | 503 | | |
505 | 504 | | |
| |||
508 | 507 | | |
509 | 508 | | |
510 | 509 | | |
511 | | - | |
| 510 | + | |
512 | 511 | | |
513 | 512 | | |
514 | | - | |
| 513 | + | |
515 | 514 | | |
516 | | - | |
517 | 515 | | |
518 | 516 | | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
519 | 546 | | |
520 | 547 | | |
521 | 548 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | 51 | | |
53 | 52 | | |
54 | 53 | | |
| |||
57 | 56 | | |
58 | 57 | | |
59 | 58 | | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
| 59 | + | |
| 60 | + | |
75 | 61 | | |
76 | 62 | | |
77 | | - | |
| 63 | + | |
78 | 64 | | |
79 | 65 | | |
80 | 66 | | |
81 | 67 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | 68 | | |
91 | 69 | | |
92 | 70 | | |
| |||
116 | 94 | | |
117 | 95 | | |
118 | 96 | | |
119 | | - | |
120 | | - | |
| 97 | + | |
121 | 98 | | |
122 | 99 | | |
123 | 100 | | |
| |||
0 commit comments