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>
46#include <llvm/Analysis/MemoryLocation.h>
47#include <llvm/Analysis/DominanceFrontier.h>
48#include <llvm/Analysis/PostDominators.h>
49#include <llvm/Analysis/ScalarEvolution.h>
50#include <llvm/Analysis/ScalarEvolutionExpressions.h>
52#include <llvm/Transforms/Utils/UnifyFunctionExitNodes.h>
54#include <llvm/Support/SourceMgr.h>
56#include <llvm/Bitcode/BitcodeWriter.h>
57#include <llvm/Bitcode/BitcodeReader.h>
58#include <llvm/IRReader/IRReader.h>
59#include <llvm/IR/InstVisitor.h>
60#include <llvm/IR/InstIterator.h>
62#include <llvm/BinaryFormat/Dwarf.h>
64#include <llvm/Analysis/LoopInfo.h>
65#include <llvm/Demangle/Demangle.h>
75#if LLVM_VERSION_MAJOR >= 12
189#if LLVM_VERSION_MAJOR >= 13
246namespace dwarf = llvm::dwarf;
268#if (LLVM_VERSION_MAJOR >= 9)
273#if LLVM_VERSION_MAJOR >= 11
llvm::const_inst_iterator const_inst_iterator
llvm::DataLayout DataLayout
llvm::IntToPtrInst IntToPtrInst
llvm::DISubroutineType DISubroutineType
llvm::GlobalVariable GlobalVariable
llvm::VACopyInst VACopyInst
llvm::DINodeArray DINodeArray
llvm::GlobalAlias GlobalAlias
llvm::ArrayType ArrayType
llvm::raw_fd_ostream raw_fd_ostream
LLVM outputs.
llvm::VectorType VectorType
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::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase
llvm::NamedMDNode NamedMDNode
LLVM metadata and debug information.
llvm::MemoryLocation MemoryLocation
llvm::succ_const_iterator succ_const_iterator
LLVM Iterators.
llvm::bridge_gep_iterator bridge_gep_iterator
llvm::AllocaInst AllocaInst
llvm::IntegerType IntegerType
llvm::SwitchInst SwitchInst
llvm::AtomicRMWInst AtomicRMWInst
llvm::InsertValueInst InsertValueInst
llvm::SCEVAddRecExpr SCEVAddRecExpr
llvm::StructLayout StructLayout
llvm::InvokeInst InvokeInst
llvm::AtomicCmpXchgInst AtomicCmpXchgInst
llvm::ConstantArray ConstantArray
llvm::DebugInfoFinder DebugInfoFinder
llvm::const_pred_iterator const_pred_iterator
llvm::FenceInst FenceInst
llvm::ShuffleVectorInst ShuffleVectorInst
llvm::GlobalValue GlobalValue
llvm::InsertElementInst InsertElementInst
llvm::FunctionType FunctionType
llvm::ConstantData ConstantData
llvm::MetadataAsValue MetadataAsValue
llvm::Instruction Instruction
llvm::ConstantAggregate ConstantAggregate
llvm::DomTreeNode DomTreeNode
llvm::DIDerivedType DIDerivedType
llvm::SMDiagnostic SMDiagnostic
llvm::GEPOperator GEPOperator
llvm::DISubprogram DISubprogram
llvm::UnreachableInst UnreachableInst
llvm::ConstantDataSequential ConstantDataSequential
llvm::ConstantAggregateZero ConstantAggregateZero
llvm::ResumeInst ResumeInst
std::vector< SuccBBAndCondValPair > SuccBBAndCondValPairVec
llvm::Value Value
LLVM Basic classes.
llvm::ConstantPointerNull ConstantPointerNull
llvm::ConstantExpr ConstantExpr
llvm::IRBuilder IRBuilder
llvm::BlockAddress BlockAddress
llvm::FreezeInst FreezeInst
llvm::DISubrange DISubrange
llvm::DITypeRefArray DITypeRefArray
llvm::ScalarEvolutionWrapperPass ScalarEvolutionWrapperPass
llvm::gep_type_iterator gep_type_iterator
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::SCEVConstant SCEVConstant
llvm::Loop Loop
LLVM Loop.
llvm::ModulePass ModulePass
llvm::GetElementPtrInst GetElementPtrInst
llvm::CallBrInst CallBrInst
llvm::ReturnInst ReturnInst
llvm::BranchInst BranchInst
llvm::ExtractValueInst ExtractValueInst
llvm::ConstantFP ConstantFP
llvm::ScalarEvolution ScalarEvolution
llvm::VAStartInst VAStartInst
llvm::ConstantDataArray ConstantDataArray
llvm::DIBasicType DIBasicType
llvm::VAEndInst VAEndInst
llvm::DICompositeType DICompositeType
llvm::ConstantInt ConstantInt
llvm::UnifyFunctionExitNodes UnifyFunctionExitNodes
llvm::DominatorTree DominatorTree
LLVM Dominators.
llvm::GlobalObject GlobalObject
llvm::UndefValue UndefValue
llvm::LandingPadInst LandingPadInst
llvm::ExtractElementInst ExtractElementInst
llvm::BitCastInst BitCastInst
llvm::LLVMContext LLVMContext