[analyzer] Refactor range inference for symbolic expressions
Summary: This change introduces a new component to unite all of the reasoning we have about operations on ranges in the analyzer's solver. In many cases, we might conclude that the range for a symbolic operation is much more narrow than the type implies. While reasoning about runtime conditions (especially in loops), we need to support more and more of those little pieces of logic. The new component mostly plays a role of an organizer for those, and allows us to focus on the actual reasoning about ranges and not dispatching manually on the types of the nested symbolic expressions. Differential Revision: https://reviews.llvm.org/D79232
Loading
Please sign in to comment