brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 1af5744 Raw
40 lines · cpp
1//===--- Allocator.cpp - Simple memory allocation abstraction -------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This file implements the BumpPtrAllocator interface.10//11//===----------------------------------------------------------------------===//12 13#include "llvm/Support/Allocator.h"14#include "llvm/Support/raw_ostream.h"15 16namespace llvm {17 18namespace detail {19 20void printBumpPtrAllocatorStats(unsigned NumSlabs, size_t BytesAllocated,21                                size_t TotalMemory) {22  errs() << "\nNumber of memory regions: " << NumSlabs << '\n'23         << "Bytes used: " << BytesAllocated << '\n'24         << "Bytes allocated: " << TotalMemory << '\n'25         << "Bytes wasted: " << (TotalMemory - BytesAllocated)26         << " (includes alignment, etc)\n";27}28 29} // namespace detail30 31void PrintRecyclerStats(size_t Size,32                        size_t Align,33                        size_t FreeListSize) {34  errs() << "Recycler element size: " << Size << '\n'35         << "Recycler element alignment: " << Align << '\n'36         << "Number of elements free for recycling: " << FreeListSize << '\n';37}38 39} // namespace llvm40