|
LLVM
4.0.0
|
#include "llvm/IR/Verifier.h"#include "llvm/ADT/APFloat.h"#include "llvm/ADT/APInt.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/ilist.h"#include "llvm/ADT/MapVector.h"#include "llvm/ADT/Optional.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringMap.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/Twine.h"#include "llvm/IR/Argument.h"#include "llvm/IR/Attributes.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/CFG.h"#include "llvm/IR/CallSite.h"#include "llvm/IR/CallingConv.h"#include "llvm/IR/Comdat.h"#include "llvm/IR/Constant.h"#include "llvm/IR/ConstantRange.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/DebugInfo.h"#include "llvm/IR/DebugInfoMetadata.h"#include "llvm/IR/DebugLoc.h"#include "llvm/IR/DerivedTypes.h"#include "llvm/IR/DiagnosticInfo.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Function.h"#include "llvm/IR/GlobalAlias.h"#include "llvm/IR/GlobalValue.h"#include "llvm/IR/GlobalVariable.h"#include "llvm/IR/InlineAsm.h"#include "llvm/IR/InstrTypes.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/InstVisitor.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/Module.h"#include "llvm/IR/ModuleSlotTracker.h"#include "llvm/IR/PassManager.h"#include "llvm/IR/Statepoint.h"#include "llvm/IR/Type.h"#include "llvm/IR/Use.h"#include "llvm/IR/User.h"#include "llvm/IR/Value.h"#include "llvm/Pass.h"#include "llvm/Support/AtomicOrdering.h"#include "llvm/Support/Casting.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Debug.h"#include "llvm/Support/Dwarf.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>#include <cassert>#include <cstdint>#include <memory>#include <string>#include <utility>#include "llvm/IR/Metadata.def"Go to the source code of this file.
Classes | |
| struct | llvm::VerifierSupport |
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Macros | |
| #define | HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS) void visit##CLASS(const CLASS &N); |
| #define | Assert(C,...) do { if (!(C)) { CheckFailed(__VA_ARGS__); return; } } while (false) |
| We know that cond should be true, if not print an error message. More... | |
| #define | AssertDI(C,...) do { if (!(C)) { DebugInfoCheckFailed(__VA_ARGS__); return; } } while (false) |
| We know that a debug info condition should be true, if not print an error message. More... | |
| #define | HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS) |
| #define | AssertTBAA(C,...) |
Variables | |
| static cl::opt< bool > | VerifyDebugInfo ("verify-debug-info", cl::init(true)) |
We know that cond should be true, if not print an error message.
Definition at line 512 of file Verifier.cpp.
| #define AssertDI | ( | C, | |
| ... | |||
| ) | do { if (!(C)) { DebugInfoCheckFailed(__VA_ARGS__); return; } } while (false) |
We know that a debug info condition should be true, if not print an error message.
Definition at line 517 of file Verifier.cpp.
| #define AssertTBAA | ( | C, | |
| ... | |||
| ) |
Definition at line 4524 of file Verifier.cpp.
Referenced by llvm::TBAAVerifier::visitTBAAMetadata().
Definition at line 410 of file Verifier.cpp.
| #define HANDLE_SPECIALIZED_MDNODE_LEAF | ( | CLASS | ) |
Definition at line 410 of file Verifier.cpp.
|
static |
Definition at line 529 of file Verifier.cpp.
References llvm::SmallPtrSetImpl< PtrType >::insert(), and llvm::Value::materialized_users().
|
static |
Definition at line 2748 of file Verifier.cpp.
References llvm::AttrBuilder::addAlignmentAttr(), llvm::AttrBuilder::addAttribute(), llvm::AttributeSet::getParamAlignment(), and llvm::AttributeSet::hasAttribute().
Definition at line 3251 of file Verifier.cpp.
Referenced by llvm::calculateClrEHStateNumbers().
|
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 4282 of file Verifier.cpp.
References assert().
|
static |
Definition at line 1890 of file Verifier.cpp.
References llvm::BasicBlock::getFirstNonPHI(), and llvm::MCID::Terminator.
|
static |
Definition at line 4335 of file Verifier.cpp.
References llvm::DIVariable::getRawType().
Definition at line 905 of file Verifier.cpp.
|
static |
Definition at line 2998 of file Verifier.cpp.
References llvm::ConstantRange::getLower(), and llvm::ConstantRange::getUpper().
Definition at line 823 of file Verifier.cpp.
Definition at line 4631 of file Verifier.cpp.
References llvm::MDNode::getNumOperands().
Referenced by IsScalarTBAANodeImpl(), and llvm::TBAAVerifier::visitTBAAMetadata().
|
static |
Definition at line 4635 of file Verifier.cpp.
References llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::SmallPtrSetImpl< PtrType >::insert(), IsRootTBAANode(), and Offset.
Definition at line 822 of file Verifier.cpp.
Definition at line 821 of file Verifier.cpp.
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 2738 of file Verifier.cpp.
References llvm::dyn_cast(), llvm::PointerType::getAddressSpace(), L, and llvm::AArch64CC::PL.
Definition at line 839 of file Verifier.cpp.
References N.
|
static |
Definition at line 826 of file Verifier.cpp.
References llvm::MDNode::operands().
Definition at line 843 of file Verifier.cpp.
References N.
1.8.6