struct InstrumentationIRBuilder

Declaration

struct InstrumentationIRBuilder : public IRBuilder { /* full declaration omitted */ };

Description

This provides a uniform API for creating instructions and inserting them into a basic block: either at the end of a BasicBlock, or at a specific iterator location in a block. Note that the builder does not expose the full generality of LLVM instructions. For access to extra instruction properties, use the mutators (e.g. setVolatile) on the instructions after they have been created. Convenience state exists to specify fast-math flags and fp-math tags. The first template argument specifies a class to use for creating constants. This defaults to creating minimally folded constants. The second template argument allows clients to specify custom insertion hooks that are called on every newly created insertion.

Declared at: llvm/include/llvm/Transforms/Instrumentation.h:184

Inherits from: IRBuilder

Method Overview

Methods

InstrumentationIRBuilder(llvm::Instruction* IP)

Declared at: llvm/include/llvm/Transforms/Instrumentation.h:192

Parameters

llvm::Instruction* IP

static void ensureDebugInfo(
    IRBuilder<>& IRB,
    const llvm::Function& F)

Declared at: llvm/include/llvm/Transforms/Instrumentation.h:185

Parameters

IRBuilder<>& IRB
const llvm::Function& F