[PATCH] D144849: [SCEV] Only add uses to worklist for instrs in map, loop or phis.
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 27 03:21:06 PST 2023
nikic added a comment.
I like the idea here, and have tried changes along these lines in the past, but always ran into issues. Some questions:
- If we have `%y = add %x, 1; %z = add %y, 1` and create SCEV for `%z`, we will create one for `%x`, but not for `%y`. Doesn't this break the invalidation chain?
- Can we rely on LCSSA in SCEV? I don't think it's guaranteed.
- I don't really understand the LCSSA phi special case. The LCSSA phis themselves should already get added without the `isa<PHINode>` check by dint of being users of a loop value. Why do we need to enforce addition of the LCSSA users, but not its transitive users?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144849/new/
https://reviews.llvm.org/D144849
More information about the llvm-commits
mailing list