[all-commits] [llvm/llvm-project] 738577: [mlir] [liveness] Conservatively mark operands of ...
Nhat Nguyen via All-commits
all-commits at lists.llvm.org
Tue May 20 18:36:47 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7385772fdbc6d97c5e05caf3e61546ad1de5b556
https://github.com/llvm/llvm-project/commit/7385772fdbc6d97c5e05caf3e61546ad1de5b556
Author: Nhat Nguyen <hoangnhat2911 at gmail.com>
Date: 2025-05-20 (Tue, 20 May 2025)
Changed paths:
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[mlir] [liveness] Conservatively mark operands of return-like op inside non-callable and non-regionbranch op as live (#140793)
Currently the liveness analysis always marks operands yielded in regions
that aren't classified as `RegionBranchOpInterface` or
`CallableOpInterface` as non-live. Examples for these ops include
linalg.generic (with `linalg.yield` as terminator) or gpu ops (with
`gpu.yield` as terminator).
This in turn makes the `remove-dead-values` pass always incorrectly
remove the bodies of these ops, leading to invalid IR. Because these ops
define their own semantics, I have conservatively marked all operands of
these yield ops to be live.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list