The StorageRewrite pass will fold temp storage space together into one when possible as long as their lifecycle do not overlap. However, it does not yet detect inplace-safe operations and reuse space across inplace ops, we should add support for this