aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2023-07-28 15:16:10 +0200
committerNikita Popov <npopov@redhat.com>2023-08-07 10:06:00 +0200
commit1f37088679a5c2416707d477093950e48148d430 (patch)
tree778c9413ad5a03cafc16d0cd451b49c5982df68b /clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
parentaf07ec316fee636292668cd5a8c1fabcb9091a96 (diff)
downloadllvm-1f37088679a5c2416707d477093950e48148d430.zip
llvm-1f37088679a5c2416707d477093950e48148d430.tar.gz
llvm-1f37088679a5c2416707d477093950e48148d430.tar.bz2
[Pipelines] Perform hoisting prior to GVN
We currently only enable hoisting in the last SimplifyCFG run of the function simplification pipeline. In particular this happens after GVN, which means that instructions that were identical (and thus hoistable) prior to GVN might no longer be so after it ran, due to equality replacements (see the phase ordering test). The history here is that D84108 restricted hoisting to the very late (module optimization) pipeline only. Then D101468 went back on that, and also performed it at the end of function simplification. This patch goes one step further and allows it prior to GVN. Importantly, we still don't perform hoisting before LoopRotate, which was the original motivation for delaying it. Differential Revision: https://reviews.llvm.org/D156532
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp')
0 files changed, 0 insertions, 0 deletions