aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorTianqing Wang <tianqing.wang@intel.com>2024-07-23 07:47:21 +0800
committerGitHub <noreply@github.com>2024-07-23 07:47:21 +0800
commit3d494bfc7ff73cb0a8dbe16ac41db6f47910eef1 (patch)
tree964a922cb273e0a08abd28b7ba73cd03cd9f0185 /clang/lib/Frontend/CompilerInvocation.cpp
parentb6dbda67d8f687350de66e68a7fd61433fac7107 (diff)
downloadllvm-3d494bfc7ff73cb0a8dbe16ac41db6f47910eef1.zip
llvm-3d494bfc7ff73cb0a8dbe16ac41db6f47910eef1.tar.gz
llvm-3d494bfc7ff73cb0a8dbe16ac41db6f47910eef1.tar.bz2
[SimplifyCFG] Increase budget for FoldTwoEntryPHINode() if the branch is unpredictable. (#98495)
The `!unpredictable` metadata has been present for a long time, but it's usage in optimizations is still limited. This patch teaches `FoldTwoEntryPHINode()` to be more aggressive with an unpredictable branch to reduce mispredictions. A TTI interface `getBranchMispredictPenalty()` is added to distinguish between different hardwares to ensure we don't go too far for simpler cores. For simplicity, only a naive x86 implementation is included for the time being.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions