How to efficiently copy an IR

This case seems to occur when we apply the basic block form pass. Other passes, e.g., FuseOps will not result in such results. So I am wondering if it is expected to modify the input argument (old module) by some passes.