[all-commits] [llvm/llvm-project] 1183d6: [SCEV] Search operand tree for scope bound when in...
Philip Reames via All-commits
all-commits at lists.llvm.org
Wed Oct 6 15:10:22 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1183d65b4d85de7065070176e6ac5caff13978b6
https://github.com/llvm/llvm-project/commit/1183d65b4d85de7065070176e6ac5caff13978b6
Author: Philip Reames <listmail at philipreames.com>
Date: 2021-10-06 (Wed, 06 Oct 2021)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
M llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
Log Message:
-----------
[SCEV] Search operand tree for scope bound when inferring flags from IR
When checking to see if we can apply IR flags to a SCEV, we need to identify a bound on the defining scope of the SCEV to be produced. We'd previously added support for a couple SCEVExpr types which trivially imply bounds, but hadn't handled types such as umax where the bounds come from the bounds of the operands. This does the obvious thing, and recurses through operands searching for a tighter bound on the defining scope.
I'm honestly surprised by how little this seems to mater on existing tests, but it's worth doing for completeness sake alone.
Differential Revision: https://reviews.llvm.org/D111191
More information about the All-commits
mailing list