From: Rui Ueyama Date: Fri, 5 May 2017 23:44:26 +0000 (+0000) Subject: Remove dead file. X-Git-Tag: llvmorg-5.0.0-rc1~5788 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dccfdcb17bc199dad2443660eb80e7a5cdda8221;p=platform%2Fupstream%2Fllvm.git Remove dead file. llvm-svn: 302324 --- diff --git a/lld/include/lld/Support/Memory.h b/lld/include/lld/Support/Memory.h deleted file mode 100644 index 46db4a3..0000000 --- a/lld/include/lld/Support/Memory.h +++ /dev/null @@ -1,63 +0,0 @@ -//===- Memory.h -------------------------------------------------*- C++ -*-===// -// -// The LLVM Linker -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines arena allocators. -// -// Almost all large objects, such as files, sections or symbols, are -// used for the entire lifetime of the linker once they are created. -// This usage characteristic makes arena allocator an attractive choice -// where the entire linker is one arena. With an arena, newly created -// objects belong to the arena and freed all at once when everything is done. -// Arena allocators are efficient and easy to understand. -// Most objects are allocated using the arena allocators defined by this file. -// -//===----------------------------------------------------------------------===// - -#ifndef LLD_MEMORY_H -#define LLD_MEMORY_H - -#include "llvm/Support/Allocator.h" -#include "llvm/Support/StringSaver.h" -#include - -namespace lld { - -// Use this arena if your object doesn't have a destructor. -extern llvm::BumpPtrAllocator BAlloc; -extern llvm::StringSaver Saver; - -// These two classes are hack to keep track of all -// SpecificBumpPtrAllocator instances. -struct SpecificAllocBase { - SpecificAllocBase() { Instances.push_back(this); } - virtual ~SpecificAllocBase() = default; - virtual void reset() = 0; - static std::vector Instances; -}; - -template struct SpecificAlloc : public SpecificAllocBase { - void reset() override { Alloc.DestroyAll(); } - llvm::SpecificBumpPtrAllocator Alloc; -}; - -// Use this arena if your object has a destructor. -// Your destructor will be invoked from freeArena(). -template inline T *make(U &&... Args) { - static SpecificAlloc Alloc; - return new (Alloc.Alloc.Allocate()) T(std::forward(Args)...); -} - -inline void freeArena() { - for (SpecificAllocBase *Alloc : SpecificAllocBase::Instances) - Alloc->reset(); - BAlloc.Reset(); -} -} - -#endif