diff options
author | Aleksandr Popov <a.popov.tmb@gmail.com> | 2023-09-06 00:46:48 +0200 |
---|---|---|
committer | Aleksandr Popov <a.popov.tmb@gmail.com> | 2023-09-06 00:46:48 +0200 |
commit | 0e0ff8573de69286536e4f49098226eda0c4c7f5 (patch) | |
tree | 8a4e002d51218668c4ba214cabd7c896af631486 /clang/lib/Basic/SourceManager.cpp | |
parent | 9f67143be01c97cf80f6e96e7b4c172d6dc0690e (diff) | |
download | llvm-0e0ff8573de69286536e4f49098226eda0c4c7f5.zip llvm-0e0ff8573de69286536e4f49098226eda0c4c7f5.tar.gz llvm-0e0ff8573de69286536e4f49098226eda0c4c7f5.tar.bz2 |
[GuardWidening] Refactor to work with the list of checks to widen/hoist
Currently we hoist conditions from widenable branch which are joined to
the widenable_condition by And operation. E.g if we have
br(WC && (c1 && c2)) we will operate with (c1 && c2) unsplitted.
This patch adds more flexibility to that mechanism by supporting work
with the list of checks parsed from the widenable branch.
On that stage patch doesn't change the logic of checks hoisting. In the
example above we will either hoist both checks [c1, c2] or none of them.
But in the future we would improve that logic analyzing each check
separately.
Reviewed By: anna
Differential Revision: https://reviews.llvm.org/D157689
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions