LLVM
8.0.1
|
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Config/config.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Errno.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/SmallVectorMemoryBuffer.h"
#include <cassert>
#include <cerrno>
#include <cstring>
#include <new>
#include <sys/types.h>
#include <system_error>
#include <unistd.h>
Go to the source code of this file.
Functions | |
static void | CopyStringRef (char *Memory, StringRef Data) |
CopyStringRef - Copies contents of a StringRef into a block of memory and null-terminates it. More... | |
void * | operator new (size_t N, const NamedBufferAlloc &Alloc) |
template<typename MB > | |
static ErrorOr< std::unique_ptr< MB > > | getFileAux (const Twine &Filename, int64_t FileSize, uint64_t MapSize, uint64_t Offset, bool RequiresNullTerminator, bool IsVolatile) |
static ErrorOr< std::unique_ptr< WritableMemoryBuffer > > | getMemBufferCopyImpl (StringRef InputData, const Twine &BufferName) |
static ErrorOr< std::unique_ptr< WritableMemoryBuffer > > | getMemoryBufferForStream (int FD, const Twine &BufferName) |
template<typename MB > | |
static ErrorOr< std::unique_ptr< MB > > | getOpenFileImpl (int FD, const Twine &Filename, uint64_t FileSize, uint64_t MapSize, int64_t Offset, bool RequiresNullTerminator, bool IsVolatile) |
static bool | shouldUseMmap (int FD, size_t FileSize, size_t MapSize, off_t Offset, bool RequiresNullTerminator, int PageSize, bool IsVolatile) |
static ErrorOr< std::unique_ptr< WriteThroughMemoryBuffer > > | getReadWriteFile (const Twine &Filename, uint64_t FileSize, uint64_t MapSize, uint64_t Offset) |
CopyStringRef - Copies contents of a StringRef into a block of memory and null-terminates it.
Definition at line 60 of file MemoryBuffer.cpp.
References llvm::StringRef::data(), llvm::StringRef::empty(), llvm::Intrinsic::memcpy, Name, and llvm::StringRef::size().
Referenced by llvm::WritableMemoryBuffer::getNewUninitMemBuffer().
|
static |
Definition at line 244 of file MemoryBuffer.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::IsVolatile, llvm::sys::fs::OF_None, llvm::sys::fs::openFileForRead(), and llvm::MipsISD::Ret.
|
static |
Definition at line 127 of file MemoryBuffer.cpp.
References llvm::StringRef::data(), llvm::WritableMemoryBuffer::getNewUninitMemBuffer(), llvm::make_error_code(), llvm::Intrinsic::memcpy, llvm::not_enough_memory, and llvm::StringRef::size().
Referenced by llvm::MemoryBuffer::getMemBufferCopy(), and getMemoryBufferForStream().
|
static |
Definition at line 212 of file MemoryBuffer.cpp.
References llvm::SmallVectorTemplateCommon< T >::end(), getMemBufferCopyImpl(), llvm::support::endian::read(), llvm::SmallVectorImpl< char >::reserve(), llvm::sys::RetryAfterSignal(), llvm::SmallVectorBase::set_size(), and llvm::SmallVectorBase::size().
Referenced by llvm::MemoryBuffer::getFileAsStream(), getOpenFileImpl(), and llvm::MemoryBuffer::getSTDIN().
|
static |
Definition at line 418 of file MemoryBuffer.cpp.
References llvm::sys::fs::block_file, getMemoryBufferForStream(), llvm::WritableMemoryBuffer::getNewUninitMemBuffer(), llvm::sys::Process::getPageSize(), llvm::sys::fs::basic_file_status::getSize(), llvm::make_error_code(), llvm::Intrinsic::memset, llvm::not_enough_memory, PageSize, llvm::support::endian::read(), llvm::sys::fs::regular_file, llvm::sys::RetryAfterSignal(), shouldUseMmap(), llvm::sys::fs::status(), and llvm::sys::fs::basic_file_status::type().
Referenced by llvm::MemoryBuffer::getFile().
|
static |
Definition at line 364 of file MemoryBuffer.cpp.
References llvm::sys::fs::block_file, llvm::sys::fs::CD_OpenExisting, llvm::sys::fs::basic_file_status::getSize(), llvm::invalid_argument, llvm::make_error_code(), llvm::sys::fs::OF_None, llvm::sys::fs::openFileForReadWrite(), llvm::sys::fs::regular_file, llvm::sys::fs::status(), and llvm::sys::fs::basic_file_status::type().
Referenced by llvm::WriteThroughMemoryBuffer::getFile(), and llvm::WriteThroughMemoryBuffer::getFileSlice().
void* operator new | ( | size_t | N, |
const NamedBufferAlloc & | Alloc | ||
) |
Definition at line 73 of file MemoryBuffer.cpp.
|
static |
Definition at line 308 of file MemoryBuffer.cpp.
References llvm::sys::fs::basic_file_status::getSize(), and llvm::sys::fs::status().
Referenced by getOpenFileImpl().