The old index op handling created the index operations used to replace the producer indices directly in the fused block and let them point back to the producer block. As a result, after fusion some index operations in the fuse block had back references to the old producer block resulting in illegal IR. The patch performs the index operation replacement in the producer block and then clones all operations to the fused block avoiding the aforementioned inconsistencies.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Avoid modifying the producer block since it may be inlined into another consumer. The updated revision thus introduces the fused index operations directly in the fused block and uses the mapper to updated the index op references during cloning.