The memory returned by the Allocate() function is also otherwise accessible -- and is indeed accessed by the DestroyAll() method of SpecificBumpPtrAlloactor. This is a violation of the noalias return contract.
This should address the issue reported in https://reviews.llvm.org/D116728#3252464.
clang-format: please reformat the code
- inline LLVM_ATTRIBUTE_RETURNS_NONNULL void * - Allocate(size_t Size, size_t Alignment) { + inline LLVM_ATTRIBUTE_RETURNS_NONNULL void *Allocate(size_t Size, + size_t Alignment) {