I implemented it but there is a detail: the current implementation of compute_liveness_recurse() (required by dce) only works with offset nodes. So I extended it to work with both paths and offsets. I don't think it looks bad with the introduction of the deref_mark_last_read() helper.
Yeah, that sounds right.