struct BitstreamRemarkSerializer

Declaration

struct BitstreamRemarkSerializer : public RemarkSerializer { /* full declaration omitted */ };

Description

Implementation of the remark serializer using LLVM bitstream.

Declared at: llvm/include/llvm/Remarks/BitstreamRemarkSerializer.h:122

Inherits from: RemarkSerializer

Member Variables

public bool DidSetUp = false
We need to set up 1) and 2) first, so that we can emit 3) after. This flag is used to emit the first two blocks only once.
public llvm::remarks::BitstreamRemarkSerializerHelper Helper
The helper to emit bitstream.

Inherited from RemarkSerializer:

public SerializerFormat
public OS
public Mode
public StrTab

Method Overview

  • public BitstreamRemarkSerializer(llvm::raw_ostream & OS, llvm::remarks::SerializerMode Mode)
  • public BitstreamRemarkSerializer(llvm::raw_ostream & OS, llvm::remarks::SerializerMode Mode, llvm::remarks::StringTable StrTab)
  • public static bool classof(const llvm::remarks::RemarkSerializer * S)
  • public void emit(const llvm::remarks::Remark & Remark)
  • public std::unique_ptr<MetaSerializer> metaSerializer(llvm::raw_ostream & OS, Optional<llvm::StringRef> ExternalFilename = None)

Inherited from RemarkSerializer:

Methods

BitstreamRemarkSerializer(
    llvm::raw_ostream& OS,
    llvm::remarks::SerializerMode Mode)

Description

Construct a serializer that will create its own string table.

Declared at: llvm/include/llvm/Remarks/BitstreamRemarkSerializer.h:136

Parameters

llvm::raw_ostream& OS
llvm::remarks::SerializerMode Mode

BitstreamRemarkSerializer(
    llvm::raw_ostream& OS,
    llvm::remarks::SerializerMode Mode,
    llvm::remarks::StringTable StrTab)

Description

Construct a serializer with a pre-filled string table.

Declared at: llvm/include/llvm/Remarks/BitstreamRemarkSerializer.h:138

Parameters

llvm::raw_ostream& OS
llvm::remarks::SerializerMode Mode
llvm::remarks::StringTable StrTab

static bool classof(
    const llvm::remarks::RemarkSerializer* S)

Declared at: llvm/include/llvm/Remarks/BitstreamRemarkSerializer.h:152

Parameters

const llvm::remarks::RemarkSerializer* S

void emit(const llvm::remarks::Remark& Remark)

Description

Emit a remark to the stream. This also emits the metadata associated to the remarks based on the SerializerMode specified at construction. This writes the serialized output to the provided stream.

Declared at: llvm/include/llvm/Remarks/BitstreamRemarkSerializer.h:144

Parameters

const llvm::remarks::Remark& Remark

std::unique_ptr<MetaSerializer> metaSerializer(
    llvm::raw_ostream& OS,
    Optional<llvm::StringRef> ExternalFilename =
        None)

Description

The metadata serializer associated to this remark serializer. Based on the container type of the current serializer, the container type of the metadata serializer will change.

Declared at: llvm/include/llvm/Remarks/BitstreamRemarkSerializer.h:149

Parameters

llvm::raw_ostream& OS
Optional<llvm::StringRef> ExternalFilename = None