diff options
author | Florian Hahn <flo@fhahn.com> | 2025-07-17 16:47:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-17 15:47:54 +0100 |
commit | 46357438baefbdcf630abc5d74565afcbf1c48dd (patch) | |
tree | 0ab6f5c053e25fe0674566aa6466b82a954cfd22 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 8f18dde6c0b38a67ad0f06aab79cdadb78b35d33 (diff) | |
download | llvm-46357438baefbdcf630abc5d74565afcbf1c48dd.zip llvm-46357438baefbdcf630abc5d74565afcbf1c48dd.tar.gz llvm-46357438baefbdcf630abc5d74565afcbf1c48dd.tar.bz2 |
[SCEV] Try to re-use existing LCSSA phis when expanding SCEVAddRecExpr. (#147214)
If an AddRec is expanded outside a loop with a single exit block, check
if any of the (lcssa) phi nodes in the exit block match the AddRec. If
that's the case, simply use the existing lcssa phi.
This can reduce the number of instruction created for SCEV expansions,
mainly for runtime checks generated by the loop vectorizer.
Compile-time impact should be mostly neutral
https://llvm-compile-time-tracker.com/compare.php?from=48c7a3187f9831304a38df9bdb3b4d5bf6b6b1a2&to=cf9d039a7b0db5d0d912e0e2c01b19c2a653273a&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/147214
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions