aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/AST/ByteCode/Compiler.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2025-08-19 10:59:38 +0200
committerGitHub <noreply@github.com>2025-08-19 10:59:38 +0200
commit4ab87ffd1ed3a4b17386c56eec533db8db761275 (patch)
tree4ccdfed633eaf570cd71be36ddf0108fb32808a1 /clang/lib/AST/ByteCode/Compiler.cpp
parentfb8ee3adb63c3556d5b77249b876dcd55c2cfe5d (diff)
downloadllvm-4ab87ffd1ed3a4b17386c56eec533db8db761275.zip
llvm-4ab87ffd1ed3a4b17386c56eec533db8db761275.tar.gz
llvm-4ab87ffd1ed3a4b17386c56eec533db8db761275.tar.bz2
[SCCP] Enable PredicateInfo for non-interprocedural SCCP (#153003)
SCCP can use PredicateInfo to constrain ranges based on assume and branch conditions. Currently, this is only enabled during IPSCCP. This enables it for SCCP as well, which runs after functions have already been simplified, while IPSCCP runs pre-inline. To a large degree, CVP already handles range-based optimizations, but SCCP is more reliable for the cases it can handle. In particular, SCCP works reliably inside loops, which is something that CVP struggles with due to LVI cycles. I have made various optimizations to make PredicateInfo more efficient, but unfortunately this still has significant compile-time cost (around 0.1-0.2%).
Diffstat (limited to 'clang/lib/AST/ByteCode/Compiler.cpp')
0 files changed, 0 insertions, 0 deletions