|
LLVM 23.0.0git
|
#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/MapVector.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/Twine.h"#include "llvm/BinaryFormat/Dwarf.h"#include "llvm/IR/Argument.h"#include "llvm/IR/AttributeMask.h"#include "llvm/IR/Attributes.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/BundleAttributes.h"#include "llvm/IR/CFG.h"#include "llvm/IR/CallingConv.h"#include "llvm/IR/Comdat.h"#include "llvm/IR/Constant.h"#include "llvm/IR/ConstantRange.h"#include "llvm/IR/ConstantRangeList.h"#include "llvm/IR/Constants.h"#include "llvm/IR/ConvergenceVerifier.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/Dominators.h"#include "llvm/IR/EHPersonalities.h"#include "llvm/IR/FPEnv.h"#include "llvm/IR/Function.h"#include "llvm/IR/GCStrategy.h"#include "llvm/IR/GetElementPtrTypeIterator.h"#include "llvm/IR/GlobalAlias.h"#include "llvm/IR/GlobalValue.h"#include "llvm/IR/GlobalVariable.h"#include "llvm/IR/InlineAsm.h"#include "llvm/IR/InstVisitor.h"#include "llvm/IR/InstrTypes.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/IntrinsicsAArch64.h"#include "llvm/IR/IntrinsicsAMDGPU.h"#include "llvm/IR/IntrinsicsARM.h"#include "llvm/IR/IntrinsicsNVPTX.h"#include "llvm/IR/IntrinsicsWebAssembly.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/MemoryModelRelaxationAnnotations.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/Module.h"#include "llvm/IR/ModuleSlotTracker.h"#include "llvm/IR/PassManager.h"#include "llvm/IR/ProfDataUtils.h"#include "llvm/IR/Statepoint.h"#include "llvm/IR/Type.h"#include "llvm/IR/Use.h"#include "llvm/IR/User.h"#include "llvm/IR/VFABIDemangler.h"#include "llvm/IR/Value.h"#include "llvm/InitializePasses.h"#include "llvm/Pass.h"#include "llvm/ProfileData/InstrProf.h"#include "llvm/Support/AMDGPUAddrSpace.h"#include "llvm/Support/AtomicOrdering.h"#include "llvm/Support/Casting.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/ModRef.h"#include "llvm/Support/TimeProfiler.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Transforms/Coroutines/CoroInstr.h"#include <algorithm>#include <cassert>#include <cstdint>#include <memory>#include <optional>#include <queue>#include <string>#include <utility>#include "llvm/IR/Metadata.def"#include "llvm/IR/Attributes.inc"#include "llvm/IR/VPIntrinsics.def"#include "llvm/IR/ConstrainedOps.def"Go to the source code of this file.
Classes | |
| struct | llvm::VerifierSupport |
Macros | |
| #define | HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS) |
| #define | Check(C, ...) |
| We know that cond should be true, if not print an error message. | |
| #define | CheckDI(C, ...) |
| We know that a debug info condition should be true, if not print an error message. | |
| #define | HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS) |
| #define | GET_ATTR_NAMES |
| #define | ATTRIBUTE_ENUM(ENUM_NAME, DISPLAY_NAME) |
| #define | ATTRIBUTE_STRBOOL(ENUM_NAME, DISPLAY_NAME) |
| #define | BEGIN_REGISTER_VP_INTRINSIC(VPID, ...) |
| #define | INSTRUCTION(NAME, NARGS, ROUND_MODE, INTRINSIC) |
| #define | CheckTBAA(C, ...) |
Variables | |
| static cl::opt< bool > | VerifyNoAliasScopeDomination ("verify-noalias-scope-decl-dom", cl::Hidden, cl::init(false), cl::desc("Ensure that llvm.experimental.noalias.scope.decl for identical " "scopes are not dominating")) |
| #define ATTRIBUTE_ENUM | ( | ENUM_NAME, | |
| DISPLAY_NAME ) |
| #define ATTRIBUTE_STRBOOL | ( | ENUM_NAME, | |
| DISPLAY_NAME ) |
| #define BEGIN_REGISTER_VP_INTRINSIC | ( | VPID, | |
| ... ) |
| #define Check | ( | C, | |
| ... ) |
We know that cond should be true, if not print an error message.
Definition at line 683 of file Verifier.cpp.
| #define CheckDI | ( | C, | |
| ... ) |
We know that a debug info condition should be true, if not print an error message.
Definition at line 693 of file Verifier.cpp.
| #define CheckTBAA | ( | C, | |
| ... ) |
Definition at line 8204 of file Verifier.cpp.
Referenced by llvm::TBAAVerifier::visitTBAAMetadata().
| #define GET_ATTR_NAMES |
| #define HANDLE_SPECIALIZED_MDNODE_LEAF | ( | CLASS | ) |
Definition at line 559 of file Verifier.cpp.
| #define HANDLE_SPECIALIZED_MDNODE_LEAF | ( | CLASS | ) |
Definition at line 559 of file Verifier.cpp.
| #define INSTRUCTION | ( | NAME, | |
| NARGS, | |||
| ROUND_MODE, | |||
| INTRINSIC ) |
|
static |
Definition at line 734 of file Verifier.cpp.
References llvm::append_range(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::Value::materialized_users(), and llvm::SmallVectorImpl< T >::pop_back_val().
|
static |
Definition at line 4250 of file Verifier.cpp.
References llvm::CallingConv::C, I, and llvm::Attribute::isValid().
Definition at line 4878 of file Verifier.cpp.
References llvm::cast(), and llvm::dyn_cast().
Referenced by llvm::sandboxir::CatchSwitchInst::getParentPad(), llvm::sandboxir::FuncletPadInst::getParentPad(), getUnwindDestToken(), and getUnwindDestTokenHelper().
|
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 7501 of file Verifier.cpp.
References assert(), llvm::dyn_cast(), getSubprogram(), and llvm::isa().
|
static |
Definition at line 3077 of file Verifier.cpp.
References llvm::cast(), llvm::dyn_cast(), llvm::BasicBlock::getFirstNonPHIIt(), and II.
Detect mutually exclusive flags.
Definition at line 1481 of file Verifier.cpp.
Definition at line 5558 of file Verifier.cpp.
References llvm::dyn_cast(), and llvm::isa().
|
static |
Definition at line 4569 of file Verifier.cpp.
Definition at line 1239 of file Verifier.cpp.
References llvm::isa().
Definition at line 1240 of file Verifier.cpp.
References llvm::isa().
|
static |
Definition at line 8426 of file Verifier.cpp.
References llvm::isa_and_nonnull().
Referenced by llvm::TBAAVerifier::visitTBAAMetadata().
Definition at line 8345 of file Verifier.cpp.
References llvm::MDNode::getNumOperands().
Referenced by IsScalarTBAANodeImpl(), and llvm::TBAAVerifier::visitTBAAMetadata().
Definition at line 8349 of file Verifier.cpp.
References llvm::dyn_cast_or_null(), llvm::mdconst::dyn_extract(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::isa(), IsRootTBAANode(), IsScalarTBAANodeImpl(), and llvm::Offset.
Referenced by IsScalarTBAANodeImpl().
Definition at line 1238 of file Verifier.cpp.
References llvm::isa().
Definition at line 1237 of file Verifier.cpp.
References llvm::isa().
|
static |