Improvements for dead store removal. (#38004)
1. Don't mark fields of dependently promoted structs as untracked. 2. Remove some stores whose lhs local has a ref count of 1 when running late liveness. We can rely on ref counts since they are calculated right before the late liveness pass. 3. Remove dead GT_STORE_BLK in addition to GT_STOREIND in the late liveness pass. 4. Remove dead stores to untracked locals in the late liveness pass. 5. Allow optRemoveRedundantZeroInits to remove some redundant initializations of tracked locals. Move the phase to right after liveness so that SSA is correct after removing assignments to tracked locals.
Showing
想要评论请 注册 或 登录