diff options
author | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2020-01-01 15:25:19 +0900 |
---|---|---|
committer | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2020-01-01 15:35:56 +0900 |
commit | e9963034314edf49a12ea5e29f694d8f9f52734a (patch) | |
tree | bb579de469bd1436bc54cfb94da6780f45db441d /llvm/lib/MC/MCTargetOptions.cpp | |
parent | 86f48999f46f41687f152e0854bdd352250b117c (diff) | |
download | bcm5719-llvm-e9963034314edf49a12ea5e29f694d8f9f52734a.tar.gz bcm5719-llvm-e9963034314edf49a12ea5e29f694d8f9f52734a.zip |
[Attributor] AAValueConstantRange: Value range analysis using constant range
This patch introduces `AAValueConstantRange`, which answers a possible range for integer value in a specific program point.
One of the motivations is propagating existing `range` metadata. (I think we need to change the situation that `range` metadata cannot be put to Argument).
The state is a tuple of `ConstantRange` and it is initialized to (known, assumed) = ([-∞, +∞], empty).
Currently, AAValueConstantRange is created when AAValueSimplify cannot
simplify the value.
Supported
- BinaryOperator(add, sub, ...)
- CmpInst(icmp eq, ...)
- !range metadata
`AAValueConstantRange` is not intended to extend to polyhedral range value analysis.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D71620
Diffstat (limited to 'llvm/lib/MC/MCTargetOptions.cpp')
0 files changed, 0 insertions, 0 deletions