struct VerifierSupport

Declaration

struct VerifierSupport { /* full declaration omitted */ };

Declared at: llvm/lib/IR/Verifier.cpp:124

Member Variables

public llvm::raw_ostream* OS
public const llvm::Module& M
public llvm::ModuleSlotTracker MST
public llvm::Triple TT
public const llvm::DataLayout& DL
public llvm::LLVMContext& Context
public bool Broken = false
Track the brokenness of the module while recursively visiting.
public bool BrokenDebugInfo = false
Broken debug info can be "recovered" from by stripping the debug info.
public bool TreatBrokenDebugInfoAsError = true
Whether to treat broken debug info as an error.

Method Overview

  • public template <typename T1, typename... Ts>void CheckFailed(const llvm::Twine & Message, const T1 & V1, const Ts &... Vs)
  • public void CheckFailed(const llvm::Twine & Message)
  • public template <typename T1, typename... Ts>void DebugInfoCheckFailed(const llvm::Twine & Message, const T1 & V1, const Ts &... Vs)
  • public void DebugInfoCheckFailed(const llvm::Twine & Message)
  • public VerifierSupport(llvm::raw_ostream * OS, const llvm::Module & M)
  • private void Write(const llvm::Attribute * A)
  • private template <typename T>void Write(ArrayRef<T> Vs)
  • private template <class T>void Write(const MDTupleTypedArrayWrapper<T> & MD)
  • private void Write(const llvm::AttributeList * AL)
  • private void Write(const llvm::AttributeSet * AS)
  • private void Write(const unsigned int i)
  • private void Write(const llvm::APInt * AI)
  • private void Write(const llvm::Comdat * C)
  • private void Write(llvm::Type * T)
  • private void Write(const llvm::NamedMDNode * NMD)
  • private void Write(const llvm::Metadata * MD)
  • private void Write(const llvm::Value & V)
  • private void Write(const llvm::Value * V)
  • private void Write(const llvm::Module * M)
  • private template <typename T1, typename... Ts>void WriteTs(const T1 & V1, const Ts &... Vs)
  • private template <typename... Ts>void WriteTs()

Methods

template <typename T1, typename... Ts>
void CheckFailed(const llvm::Twine& Message,
                 const T1& V1,
                 const Ts&... Vs)

Description

A check failed (with values to print). This calls the Message-only version so that the above is easier to set a breakpoint on.

Declared at: llvm/lib/IR/Verifier.cpp:251

Templates

T1
Ts

Parameters

const llvm::Twine& Message
const T1& V1
const Ts&... Vs

void CheckFailed(const llvm::Twine& Message)

Description

A check failed, so printout out the condition and the message. This provides a nice place to put a breakpoint if you want to see why something is not correct.

Declared at: llvm/lib/IR/Verifier.cpp:240

Parameters

const llvm::Twine& Message

template <typename T1, typename... Ts>
void DebugInfoCheckFailed(
    const llvm::Twine& Message,
    const T1& V1,
    const Ts&... Vs)

Description

A debug info check failed (with values to print).

Declared at: llvm/lib/IR/Verifier.cpp:267

Templates

T1
Ts

Parameters

const llvm::Twine& Message
const T1& V1
const Ts&... Vs

void DebugInfoCheckFailed(
    const llvm::Twine& Message)

Description

A debug info check failed.

Declared at: llvm/lib/IR/Verifier.cpp:258

Parameters

const llvm::Twine& Message

VerifierSupport(llvm::raw_ostream* OS,
                const llvm::Module& M)

Declared at: llvm/lib/IR/Verifier.cpp:139

Parameters

llvm::raw_ostream* OS
const llvm::Module& M

void Write(const llvm::Attribute* A)

Declared at: llvm/lib/IR/Verifier.cpp:202

Parameters

const llvm::Attribute* A

template <typename T>
void Write(ArrayRef<T> Vs)

Declared at: llvm/lib/IR/Verifier.cpp:222

Templates

T

Parameters

ArrayRef<T> Vs

template <class T>
void Write(const MDTupleTypedArrayWrapper<T>& MD)

Declared at: llvm/lib/IR/Verifier.cpp:170

Templates

T

Parameters

const MDTupleTypedArrayWrapper<T>& MD

void Write(const llvm::AttributeList* AL)

Declared at: llvm/lib/IR/Verifier.cpp:216

Parameters

const llvm::AttributeList* AL

void Write(const llvm::AttributeSet* AS)

Declared at: llvm/lib/IR/Verifier.cpp:209

Parameters

const llvm::AttributeSet* AS

void Write(const unsigned int i)

Declared at: llvm/lib/IR/Verifier.cpp:199

Parameters

const unsigned int i

void Write(const llvm::APInt* AI)

Declared at: llvm/lib/IR/Verifier.cpp:193

Parameters

const llvm::APInt* AI

void Write(const llvm::Comdat* C)

Declared at: llvm/lib/IR/Verifier.cpp:187

Parameters

const llvm::Comdat* C

void Write(llvm::Type* T)

Declared at: llvm/lib/IR/Verifier.cpp:181

Parameters

llvm::Type* T

void Write(const llvm::NamedMDNode* NMD)

Declared at: llvm/lib/IR/Verifier.cpp:174

Parameters

const llvm::NamedMDNode* NMD

void Write(const llvm::Metadata* MD)

Declared at: llvm/lib/IR/Verifier.cpp:163

Parameters

const llvm::Metadata* MD

void Write(const llvm::Value& V)

Declared at: llvm/lib/IR/Verifier.cpp:153

Parameters

const llvm::Value& V

void Write(const llvm::Value* V)

Declared at: llvm/lib/IR/Verifier.cpp:148

Parameters

const llvm::Value* V

void Write(const llvm::Module* M)

Declared at: llvm/lib/IR/Verifier.cpp:144

Parameters

const llvm::Module* M

template <typename T1, typename... Ts>
void WriteTs(const T1& V1, const Ts&... Vs)

Declared at: llvm/lib/IR/Verifier.cpp:228

Templates

T1
Ts

Parameters

const T1& V1
const Ts&... Vs

template <typename... Ts>
void WriteTs()

Declared at: llvm/lib/IR/Verifier.cpp:233

Templates

Ts