diff options
author | Aleksandr Popov <a.popov.tmb@gmail.com> | 2023-07-10 12:14:33 +0200 |
---|---|---|
committer | Aleksandr Popov <a.popov.tmb@gmail.com> | 2023-07-10 13:00:38 +0200 |
commit | e16c5c092205f68825466c25a1dd30783c4820f3 (patch) | |
tree | 9f4dbbbb5db8631016f405ba2c4839efddc6665b /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | b7d462a72961671f69287c59a276375278ec2cdc (diff) | |
download | llvm-e16c5c092205f68825466c25a1dd30783c4820f3.zip llvm-e16c5c092205f68825466c25a1dd30783c4820f3.tar.gz llvm-e16c5c092205f68825466c25a1dd30783c4820f3.tar.bz2 |
[IRCE] Parse range checks in the form of 'LHS - RHS vs Limit'
Introduced the following range checks forms parsing:
* IV - Offset vs Limit
* Offset - IV vs Limit
Range's end boundary is computed as (Offset +/- Limit ).
If it's not possible to prove at compile time that computed upper bound
will not overflow, then scale boundary computation to a wider type to
perform overflow check at runtime.
Runtime overflow will be implemented in the next patch. In the meantime
safe range for such kind of checks isn't computed.
Reviewed By: skatkov
Differential Revision: https://reviews.llvm.org/D154069
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions