Remap the Values used in the DbgRecord DR using the value map VM.

Synopsis

Declared in <llvm/Transforms/Utils/ValueMapper.h>

void
RemapDbgRecord(
    Module* M,
    DbgRecord* DR,
    ValueToValueMapTy& VM,
    RemapFlags Flags = RF_None,
    ValueMapTypeRemapper* TypeMapper = nullptr,
    ValueMaterializer* Materializer = nullptr,
    MetadataPredicate const* IdentityMD = nullptr);

Parameters

Name

Description

M

A Module instance is used to store all the information related to an LLVM module. Modules are the top level container of all other LLVM Intermediate Representation (IR) objects. Each module directly contains a list of globals variables, a list of functions, a list of libraries (or other modules) this module depends on, a symbol table, and various data about the target's characteristics.

DR

Base class for non‐instruction debug metadata records that have positions within IR. Features various methods copied across from the Instruction class to aid ease‐of‐use. DbgRecords should always be linked into a DbgMarker's StoredDbgRecords list. The marker connects a DbgRecord back to its position in the BasicBlock.

Flags

These are flags that the value mapping APIs allow.

TypeMapper

This is a class that can be implemented by clients to remap types when cloning constants and instructions.

Materializer

This is a class that can be implemented by clients to materialize Values on demand.

Created with MrDocs