Go to the documentation of this file.
14 #ifndef LLVM_SUPPORT_SMALLVECTORMEMORYBUFFER_H
15 #define LLVM_SUPPORT_SMALLVECTORMEMORYBUFFER_H
33 bool RequiresNullTerminator =
true)
35 RequiresNullTerminator) {}
40 bool RequiresNullTerminator =
true)
42 if (RequiresNullTerminator) {
43 this->SV.push_back(
'\0');
46 init(this->SV.begin(),
this->SV.end(),
false);
58 std::string BufferName;
This is an optimization pass for GlobalISel generic memory operations.
SmallVectorMemoryBuffer(SmallVectorImpl< char > &&SV, bool RequiresNullTerminator=true)
Construct a SmallVectorMemoryBuffer from the given SmallVector r-value.
SmallVector-backed MemoryBuffer instance.
This interface provides simple read-only access to a block of memory, and provides simple methods for...
void init(const char *BufStart, const char *BufEnd, bool RequiresNullTerminator)
init - Initialize this MemoryBuffer as a reference to externally allocated memory,...
SmallVectorMemoryBuffer(SmallVectorImpl< char > &&SV, StringRef Name, bool RequiresNullTerminator=true)
Construct a named SmallVectorMemoryBuffer from the given SmallVector r-value and StringRef.
~SmallVectorMemoryBuffer() override
BufferKind
The kind of memory backing used to support the MemoryBuffer.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
StringRef - Represent a constant reference to a string, i.e.
Analysis the ScalarEvolution expression for r is this
BufferKind getBufferKind() const override
Return information on the memory mechanism used to support the MemoryBuffer.
StringRef getBufferIdentifier() const override
Return an identifier for this buffer, typically the filename it was read from.