aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorAleksandr Popov <a.popov.tmb@gmail.com>2023-09-06 00:46:48 +0200
committerAleksandr Popov <a.popov.tmb@gmail.com>2023-09-06 00:46:48 +0200
commit0e0ff8573de69286536e4f49098226eda0c4c7f5 (patch)
tree8a4e002d51218668c4ba214cabd7c896af631486 /clang/lib/Basic/SourceManager.cpp
parent9f67143be01c97cf80f6e96e7b4c172d6dc0690e (diff)
downloadllvm-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