[PATCH] D124646: [SCEV] Support modelling of same base pointer `select`s in more complex than most trivial cases (when there is a base variable offset)
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 28 16:49:16 PDT 2022
lebedev.ri created this revision.
lebedev.ri added reviewers: efriedma, mkazantsev, reames, fhahn, nikic.
lebedev.ri added a project: LLVM.
Herald added a subscriber: hiraditya.
Herald added a project: All.
lebedev.ri requested review of this revision.
`umin_seq` `select` modelling requires that one of the hands of the select must be a constant.
After we remove pointer base, in all but most trivial cases,
there will likely be some other offset between the base and the selected-between pointers,
and if both of them happen to have some variable offset, we fail,
even if they have *the same* variable offset.
Instead, we should try to factor it out, perhaps that leaves us with a constant in one hand.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D124646
Files:
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/ScalarEvolution/pointer-select.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124646.425925.patch
Type: text/x-patch
Size: 6008 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220428/13f791a8/attachment.bin>
More information about the llvm-commits
mailing list