Is teaching the LoopFullUnrollPass to preserve MemorySSA very hard or
just impossible?
Details
Details
- Reviewers
asbirlea - Commits
- rG2b8a09e1ed5c: [MemorySSA] Update comment in PassBuilder
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
It's not impossible. It's hard and likely not worth it.
Preserving MemorySSA for this pass means creating MemoryAccesses for all blocks cloned when unrolling. Creating an access and then updating so many times is likely more expensive than recomputing MemorySSA from scratch.
I have a patch lined up where MemorySSA would be set to true when unroll added to LPM2, but preliminary testing didn't show this case to provide much value.