23#ifndef SVF_FE_BASIC_TYPES_H
24#define SVF_FE_BASIC_TYPES_H
30#include <llvm/IR/Instructions.h>
31#include <llvm/IR/GetElementPtrTypeIterator.h>
32#include <llvm/IR/GlobalVariable.h>
33#include <llvm/IR/BasicBlock.h>
34#include <llvm/IR/IntrinsicInst.h>
35#include <llvm/IR/LLVMContext.h>
36#include <llvm/IR/Metadata.h>
37#include <llvm/IR/DataLayout.h>
38#include <llvm/IR/IRBuilder.h>
39#include <llvm/IR/DebugInfo.h>
40#include <llvm/IR/InstIterator.h>
41#include <llvm/IR/GetElementPtrTypeIterator.h>
42#include <llvm/IR/DerivedTypes.h>
43#include <llvm/IR/Statepoint.h>
44#include <llvm/IR/Intrinsics.h>
45#include <llvm/IR/InlineAsm.h>
46#include <llvm/IR/Constants.h>
48#include <llvm/Analysis/MemoryLocation.h>
49#include <llvm/Analysis/DominanceFrontier.h>
50#include <llvm/Analysis/PostDominators.h>
51#include <llvm/Analysis/ScalarEvolution.h>
52#include <llvm/Analysis/ScalarEvolutionExpressions.h>
54#include <llvm/Transforms/Utils/UnifyFunctionExitNodes.h>
56#include <llvm/Support/SourceMgr.h>
58#include <llvm/Bitcode/BitcodeWriter.h>
59#include <llvm/Bitcode/BitcodeReader.h>
60#include <llvm/IRReader/IRReader.h>
61#include <llvm/IR/InstVisitor.h>
62#include <llvm/IR/InstIterator.h>
64#include <llvm/BinaryFormat/Dwarf.h>
66#include <llvm/Analysis/LoopInfo.h>
67#include <llvm/Demangle/Demangle.h>
204#if LLVM_VERSION_MAJOR < 20
216#if LLVM_VERSION_MAJOR < 20
249namespace dwarf = llvm::dwarf;
llvm::ConstrainedFPCmpIntrinsic ConstrainedFPCmpIntrinsic
llvm::const_inst_iterator const_inst_iterator
llvm::DataLayout DataLayout
llvm::MemIntrinsic MemIntrinsic
llvm::IntToPtrInst IntToPtrInst
llvm::DISubroutineType DISubroutineType
llvm::GlobalVariable GlobalVariable
llvm::VPIntrinsic VPIntrinsic
llvm::VACopyInst VACopyInst
llvm::DINodeArray DINodeArray
llvm::GlobalAlias GlobalAlias
llvm::const_succ_iterator succ_const_iterator
LLVM Iterators.
llvm::AnyMemIntrinsic AnyMemIntrinsic
llvm::ArrayType ArrayType
llvm::AtomicMemSetInst AtomicMemSetInst
llvm::raw_fd_ostream raw_fd_ostream
LLVM outputs.
llvm::VectorType VectorType
llvm::AnyMemTransferInst AnyMemTransferInst
llvm::BasicBlock BasicBlock
llvm::inst_iterator inst_iterator
std::pair< const BasicBlock *, const ConstantInt * > SuccBBAndCondValPair
llvm::UnaryOperator UnaryOperator
llvm::ConstantStruct ConstantStruct
llvm::StructType StructType
LLVM types.
llvm::DSOLocalEquivalent DSOLocalEquivalent
llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase
llvm::NoAliasScopeDeclInst NoAliasScopeDeclInst
llvm::NamedMDNode NamedMDNode
LLVM metadata and debug information.
llvm::DbgLabelInst DbgLabelInst
llvm::MemoryLocation MemoryLocation
llvm::ConstrainedFPIntrinsic ConstrainedFPIntrinsic
llvm::MemSetInst MemSetInst
llvm::bridge_gep_iterator bridge_gep_iterator
llvm::AllocaInst AllocaInst
llvm::MemMoveInst MemMoveInst
llvm::IntegerType IntegerType
llvm::SwitchInst SwitchInst
llvm::AtomicRMWInst AtomicRMWInst
llvm::InsertValueInst InsertValueInst
llvm::SCEVAddRecExpr SCEVAddRecExpr
llvm::AtomicMemIntrinsic AtomicMemIntrinsic
llvm::DbgDeclareInst DbgDeclareInst
llvm::StructLayout StructLayout
llvm::InstrProfValueProfileInst InstrProfValueProfileInst
llvm::DbgVariableIntrinsic DbgVariableIntrinsic
llvm::InvokeInst InvokeInst
llvm::AtomicCmpXchgInst AtomicCmpXchgInst
llvm::ConstantArray ConstantArray
llvm::DebugInfoFinder DebugInfoFinder
llvm::const_pred_iterator const_pred_iterator
llvm::NoCFIValue NoCFIValue
llvm::FenceInst FenceInst
llvm::ShuffleVectorInst ShuffleVectorInst
llvm::GlobalValue GlobalValue
llvm::InsertElementInst InsertElementInst
llvm::FunctionType FunctionType
llvm::ConstantData ConstantData
llvm::MetadataAsValue MetadataAsValue
llvm::WithOverflowInst WithOverflowInst
llvm::Instruction Instruction
llvm::MemTransferInst MemTransferInst
llvm::MemCpyInst MemCpyInst
llvm::ConstantAggregate ConstantAggregate
llvm::DomTreeNode DomTreeNode
llvm::DIDerivedType DIDerivedType
llvm::SMDiagnostic SMDiagnostic
llvm::AtomicMemMoveInst AtomicMemMoveInst
llvm::GEPOperator GEPOperator
llvm::DISubprogram DISubprogram
llvm::UnreachableInst UnreachableInst
llvm::ConstantDataSequential ConstantDataSequential
llvm::ConstantAggregateZero ConstantAggregateZero
llvm::ResumeInst ResumeInst
llvm::MinMaxIntrinsic MinMaxIntrinsic
std::vector< SuccBBAndCondValPair > SuccBBAndCondValPairVec
llvm::Value Value
LLVM Basic classes.
llvm::ConstantPointerNull ConstantPointerNull
llvm::ConstantExpr ConstantExpr
llvm::IRBuilder IRBuilder
llvm::BlockAddress BlockAddress
llvm::DbgInfoIntrinsic DbgInfoIntrinsic
llvm::FreezeInst FreezeInst
llvm::DISubrange DISubrange
llvm::UnifyFunctionExitNodesPass UnifyFunctionExitNodes
llvm::DITypeRefArray DITypeRefArray
llvm::ScalarEvolutionWrapperPass ScalarEvolutionWrapperPass
llvm::PseudoProbeInst PseudoProbeInst
llvm::gep_type_iterator gep_type_iterator
llvm::GCProjectionInst GCProjectionInst
llvm::DbgValueInst DbgValueInst
llvm::PointerType PointerType
llvm::GlobalIFunc GlobalIFunc
llvm::BinaryOperator BinaryOperator
llvm::PostDominatorTree PostDominatorTree
llvm::DominanceFrontier DominanceFrontier
llvm::StoreInst StoreInst
llvm::SelectInst SelectInst
llvm::VAArgInst VAArgInst
llvm::AssumeInst AssumeInst
llvm::SCEVConstant SCEVConstant
llvm::Loop Loop
LLVM Loop.
llvm::ModulePass ModulePass
llvm::GCStatepointInst GCStatepointInst
llvm::MemCpyInlineInst MemCpyInlineInst
llvm::GCRelocateInst GCRelocateInst
llvm::GetElementPtrInst GetElementPtrInst
llvm::CallBrInst CallBrInst
llvm::ReturnInst ReturnInst
llvm::BranchInst BranchInst
llvm::ExtractValueInst ExtractValueInst
llvm::InstrProfIncrementInstStep InstrProfIncrementInstStep
llvm::AtomicMemCpyInst AtomicMemCpyInst
llvm::SaturatingInst SaturatingInst
llvm::ConstantFP ConstantFP
llvm::ScalarEvolution ScalarEvolution
llvm::VAStartInst VAStartInst
llvm::ConstantDataArray ConstantDataArray
llvm::DIBasicType DIBasicType
llvm::VAEndInst VAEndInst
llvm::AnyMemCpyInst AnyMemCpyInst
llvm::FunctionCallee FunctionCallee
llvm::DICompositeType DICompositeType
llvm::ConstantInt ConstantInt
llvm::GCResultInst GCResultInst
llvm::IntrinsicInst IntrinsicInst
llvm::InstrProfIncrementInst InstrProfIncrementInst
llvm::AnyMemMoveInst AnyMemMoveInst
llvm::DominatorTree DominatorTree
LLVM Dominators.
llvm::GlobalObject GlobalObject
llvm::InlineAsm InlineAsm
llvm::UndefValue UndefValue
llvm::AnyMemSetInst AnyMemSetInst
llvm::LandingPadInst LandingPadInst
llvm::AtomicMemTransferInst AtomicMemTransferInst
llvm::ExtractElementInst ExtractElementInst
llvm::BitCastInst BitCastInst
llvm::BinaryOpIntrinsic BinaryOpIntrinsic
llvm::LLVMContext LLVMContext
generic_bridge_gep_type_iterator bridge_gep_iterator