[PATCH] D114650: [SCEV] Construct SCEV iteratively (WIP).
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 29 14:57:11 PST 2021
reames added a comment.
I want to make sure I understand the problem to be solved. The description and discussion confused me a bit, so I may in fact be wildly off here.
Is the basis issue being solved that calling createSCEV on some IR instruction can require recursing through a very deep chain of instructions which have not yet had SCEVs formed for them? More specifically, is that the *only* deep recursion we're concerned by? The discussion about new invariants for creating a SCEV seemed to indicate it might be much wider, but that discussion didn't parse for me.
If my understanding is correct, then I would have expected this to be effectively a change strictly inside createSCEV. The fact we seem to be changing things much more broadly confuses me. Maybe there's some complexity coming from the phi handling, but if so, maybe a first patch which *only* iteratively constructs arithmetic chains and relies on recursion for the tricky phi parts?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114650/new/
https://reviews.llvm.org/D114650
More information about the llvm-commits
mailing list