C++: Support overriding existing simple range analysis bounds#4273
Merged
jbj merged 3 commits intogithub:mainfrom Sep 22, 2020
Merged
C++: Support overriding existing simple range analysis bounds#4273jbj merged 3 commits intogithub:mainfrom
jbj merged 3 commits intogithub:mainfrom
Conversation
The current support only allows the user to supply bounds for previously unsupported expressions or for variable accesses. This commit allows SimpleRangeAnalysisExprs to override built-in range definitions.
jbj
approved these changes
Sep 22, 2020
Contributor
jbj
left a comment
There was a problem hiding this comment.
LGTM. I tested performance locally, and this PR makes no difference at all when the SimpleRangeAnalysisExpr is empty -- the QL compiles to the exact same RA code.
I've pushed an autoformat fix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, if you provide a custom
SimpleRangeAnalysisExprfor an expression which is already supported by the range analysis library, you get both the custom and in-built ranges. This means that it is impossible to restrict the range with a customization. This PR therefore changes the library to exclude any expression identified by aSimpleRangeAnalysisExprfrom the default range analysis calculation./cc @jbj