LLVM API Documentation

Verifier.cpp File Reference

#include "llvm/Analysis/Verifier.h"
#include "llvm/Assembly/Writer.h"
#include "llvm/CallingConv.h"
#include "llvm/Constants.h"
#include "llvm/Pass.h"
#include "llvm/Module.h"
#include "llvm/ModuleProvider.h"
#include "llvm/DerivedTypes.h"
#include "llvm/InlineAsm.h"
#include "llvm/Instructions.h"
#include "llvm/Intrinsics.h"
#include "llvm/PassManager.h"
#include "llvm/SymbolTable.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Support/CFG.h"
#include "llvm/Support/InstVisitor.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Visibility.h"
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstdarg>
#include "llvm/Intrinsics.gen"

Include dependency graph for Verifier.cpp:

Go to the source code of this file.

Defines

#define Assert(C, M)   do { if (!(C)) { CheckFailed(M); return; } } while (0)
#define Assert1(C, M, V1)   do { if (!(C)) { CheckFailed(M, V1); return; } } while (0)
#define Assert2(C, M, V1, V2)   do { if (!(C)) { CheckFailed(M, V1, V2); return; } } while (0)
#define Assert3(C, M, V1, V2, V3)   do { if (!(C)) { CheckFailed(M, V1, V2, V3); return; } } while (0)
#define Assert4(C, M, V1, V2, V3, V4)   do { if (!(C)) { CheckFailed(M, V1, V2, V3, V4); return; } } while (0)
#define GET_INTRINSIC_VERIFIER

Functions

FunctionPassllvm::createVerifierPass (VerifierFailureAction action)
 Create a verifier pass.
bool llvm::verifyFunction (const Function &f, VerifierFailureAction action)
bool llvm::verifyModule (const Module &M, VerifierFailureAction action, std::string *ErrorInfo)
 Check a module for errors.

Variables

RegisterOpt< Verifier > X ("verify","Module Verifier")


Define Documentation

#define Assert ( C,
M   )     do { if (!(C)) { CheckFailed(M); return; } } while (0)

Definition at line 247 of file Verifier.cpp.

#define Assert1 ( C,
M,
V1   )     do { if (!(C)) { CheckFailed(M, V1); return; } } while (0)

Definition at line 249 of file Verifier.cpp.

#define Assert2 ( C,
M,
V1,
V2   )     do { if (!(C)) { CheckFailed(M, V1, V2); return; } } while (0)

Definition at line 251 of file Verifier.cpp.

#define Assert3 ( C,
M,
V1,
V2,
V3   )     do { if (!(C)) { CheckFailed(M, V1, V2, V3); return; } } while (0)

Definition at line 253 of file Verifier.cpp.

#define Assert4 ( C,
M,
V1,
V2,
V3,
V4   )     do { if (!(C)) { CheckFailed(M, V1, V2, V3, V4); return; } } while (0)

Definition at line 255 of file Verifier.cpp.

#define GET_INTRINSIC_VERIFIER


Variable Documentation

VerifierFailureAction action

Definition at line 73 of file Verifier.cpp.

Referenced by BZ2_bzCompress().

bool Broken

Definition at line 71 of file Verifier.cpp.

ETForest* EF

Definition at line 76 of file Verifier.cpp.

std::set<Instruction*> InstsInThisBlock

InstInThisBlock - when verifying a basic block, keep track of all of the instructions we have seen so far. This allows us to do efficient dominance checks for the case when an instruction has an operand that is an instruction in the same block.

Definition at line 83 of file Verifier.cpp.

Module* Mod

Definition at line 75 of file Verifier.cpp.

std::stringstream msgs

Definition at line 77 of file Verifier.cpp.

bool RealPass

Definition at line 72 of file Verifier.cpp.

RegisterOpt<Verifier> X("verify","Module Verifier") [static]