aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorRyotaro Kasuga <kasuga.ryotaro@fujitsu.com>2025-10-09 19:19:45 +0900
committerGitHub <noreply@github.com>2025-10-09 10:19:45 +0000
commit22b79fb3b9d051a83520eaa9d03abad782697448 (patch)
tree5527d5abc2c3eed7b42dbb8ef8d5f910d4e7fed4 /clang/lib/CodeGen/CodeGenFunction.cpp
parentd6d5026b5107b940d7a7853ab16480f83c14384d (diff)
downloadllvm-22b79fb3b9d051a83520eaa9d03abad782697448.zip
llvm-22b79fb3b9d051a83520eaa9d03abad782697448.tar.gz
llvm-22b79fb3b9d051a83520eaa9d03abad782697448.tar.bz2
[MachinePipeliner] Limit the number of stores in BB (#154940)
The dependency analysis in MachinePipeliner checks dependencies for every pair of store instructions in the target basic block. This means the time complexity of the analysis is `O(N^2)`, where `N` is the number of store instructions. Therefore, compilation time can become significantly long when there are too many store instructions. To mitigate it, this patch introduces logic to count the number of store instructions at the beginning of the pipeliner and bail out if it exceeds the threshold. The default value if the threshold should be large enough. Thus, in most practical cases where the pipeliner is beneficial, this patch should not cause any performance regression. Related issue: #150262
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions