[AA][Intrinsics] Add separate_storage assumptions.
authorDavid Goldblatt <davidgoldblatt@fb.com>
Fri, 16 Dec 2022 18:52:32 +0000 (10:52 -0800)
committerWenlei He <aktoon@gmail.com>
Fri, 16 Dec 2022 19:05:00 +0000 (11:05 -0800)
commit61042d2806af6b7202f1008d67b00c8dcfca62d6
tree79bdcb698f14016809bce312ad62e5be7987edc6
parentbc5e385e2fafc136629d879f5650557f30ab1f52
[AA][Intrinsics] Add separate_storage assumptions.

This operand bundle on an assume informs alias analysis that the
arguments point to regions of memory that were allocated separately
(i.e. different heap allocations, different allocas, or different
globals).

As a safety measure, we leave the analysis flag-disabled by default.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D136514
llvm/docs/LangRef.rst
llvm/include/llvm/Analysis/BasicAliasAnalysis.h
llvm/lib/Analysis/BasicAliasAnalysis.cpp
llvm/lib/IR/Verifier.cpp
llvm/test/Analysis/BasicAA/separate_storage.ll [new file with mode: 0644]
llvm/test/Verifier/assume-bundles.ll