LLVM  3.7.0
Macros | Functions | Variables
Verifier.cpp File Reference
#include "llvm/IR/Verifier.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Statepoint.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cstdarg>
#include "llvm/IR/Metadata.def"
Include dependency graph for Verifier.cpp:

Go to the source code of this file.

Macros

#define HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS)   void visit##CLASS(const CLASS &N);
 
#define Assert(C,...)   do { if (!(C)) { CheckFailed(__VA_ARGS__); return; } } while (0)
 
#define HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS)
 

Functions

template<class Ty >
bool isValidMetadataArrayImpl (const MDTuple &N, bool AllowNull)
 
template<class Ty >
bool isValidMetadataArray (const MDTuple &N)
 
template<class Ty >
bool isValidMetadataNullArray (const MDTuple &N)
 
static bool hasConflictingReferenceFlags (unsigned Flags)
 
static bool isTypeCongruent (Type *L, Type *R)
 Two types are "congruent" if they are identical, or if they are both pointer types with different pointee types and the same address space. More...
 
static AttrBuilder getParameterABIAttributes (int I, AttributeSet Attrs)
 
static bool isContiguous (const ConstantRange &A, const ConstantRange &B)
 
static DISubprogramgetSubprogram (Metadata *LocalScope)
 Carefully grab the subprogram from a local scope. More...
 
template<class MapTy >
static uint64_t getVariableSize (const DILocalVariable &V, const MapTy &Map)
 

Variables

static cl::opt< boolVerifyDebugInfo ("verify-debug-info", cl::init(true))
 

Macro Definition Documentation

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

Definition at line 416 of file Verifier.cpp.

#define HANDLE_SPECIALIZED_MDNODE_LEAF (   CLASS)    void visit##CLASS(const CLASS &N);

Definition at line 302 of file Verifier.cpp.

#define HANDLE_SPECIALIZED_MDNODE_LEAF (   CLASS)
Value:
case Metadata::CLASS##Kind: \
visit##CLASS(cast<CLASS>(MD)); \
break;
const ARM::ArchExtKind Kind

Definition at line 302 of file Verifier.cpp.

Function Documentation

static AttrBuilder getParameterABIAttributes ( int  I,
AttributeSet  Attrs 
)
static
static DISubprogram* getSubprogram ( Metadata LocalScope)
static

Carefully grab the subprogram from a local scope.

This carefully grabs the subprogram from a local scope, avoiding the built-in assertions that would typically fire.

Definition at line 3458 of file Verifier.cpp.

template<class MapTy >
static uint64_t getVariableSize ( const DILocalVariable V,
const MapTy &  Map 
)
static

Definition at line 3512 of file Verifier.cpp.

References llvm::DIVariable::getRawType().

static bool hasConflictingReferenceFlags ( unsigned  Flags)
static

Definition at line 833 of file Verifier.cpp.

static bool isContiguous ( const ConstantRange A,
const ConstantRange B 
)
static
static bool isTypeCongruent ( Type L,
Type R 
)
static

Two types are "congruent" if they are identical, or if they are both pointer types with different pointee types and the same address space.

Definition at line 2314 of file Verifier.cpp.

References llvm::dyn_cast(), llvm::PointerType::getAddressSpace(), and llvm::AArch64CC::PL.

template<class Ty >
bool isValidMetadataArray ( const MDTuple N)

Definition at line 742 of file Verifier.cpp.

References N.

template<class Ty >
bool isValidMetadataArrayImpl ( const MDTuple N,
bool  AllowNull 
)

Definition at line 728 of file Verifier.cpp.

References llvm::MDNode::operands().

template<class Ty >
bool isValidMetadataNullArray ( const MDTuple N)

Definition at line 747 of file Verifier.cpp.

References N.

Variable Documentation

cl::opt<bool> VerifyDebugInfo("verify-debug-info", cl::init(true))
static