diff options
author | Tianqing Wang <tianqing.wang@intel.com> | 2024-07-23 07:47:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-23 07:47:21 +0800 |
commit | 3d494bfc7ff73cb0a8dbe16ac41db6f47910eef1 (patch) | |
tree | 964a922cb273e0a08abd28b7ba73cd03cd9f0185 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | b6dbda67d8f687350de66e68a7fd61433fac7107 (diff) | |
download | llvm-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