[all-commits] [llvm/llvm-project] 71f7b9: [Local] Make combineAAMetadata() more principled (...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Thu Jan 9 00:35:08 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 71f7b972c3a28269ae045c4d87b1ccb5a2860852
https://github.com/llvm/llvm-project/commit/71f7b972c3a28269ae045c4d87b1ccb5a2860852
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-09 (Thu, 09 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[Local] Make combineAAMetadata() more principled (#122091)
This moves combineAAMetadata() into Local and implements it via a new
AAOnly flag, which will intersect only AA metadata and keep other known
metadata.
The existing KnownIDs list is dropped, because it is redundant with the
switch in combineMetadata(), which already drops unknown metadata.
I tried a few variants of this, and ultimately went with the AAOnly flag
because this way we make an explicit choice for each metadata kind
supported by combineMetadata(), and ignoring the flag gives you
conservatively correct behavior.
I checked that the memcpy tests still pass if we adjust the logic for
MD_memprof/MD_callsite to drop the metadata instead of arbitrarily
picking one.
Fixes https://github.com/llvm/llvm-project/issues/121495.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list