LLVM 17.0.0git
Classes | Namespaces | Enumerations
InstructionSelector.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/GlobalISel/Utils.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/LowLevelTypeImpl.h"
#include <bitset>
#include <cstddef>
#include <cstdint>
#include <functional>
#include <initializer_list>
#include <optional>
#include <vector>
Include dependency graph for InstructionSelector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::PredicateBitsetImpl< MaxPredicates >
 Container class for CodeGen predicate results. More...
 
class  llvm::InstructionSelector
 Provides the logic to select generic machine instructions. More...
 
struct  llvm::InstructionSelector::MatcherState
 
struct  llvm::InstructionSelector::ISelInfoTy< PredicateBitset, ComplexMatcherMemFn, CustomRendererFn >
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Enumerations

enum  {
  llvm::GIM_Try , llvm::GIM_SwitchOpcode , llvm::GIM_SwitchType , llvm::GIM_RecordInsn ,
  llvm::GIM_RecordInsnIgnoreCopies , llvm::GIM_CheckFeatures , llvm::GIM_CheckOpcode , llvm::GIM_CheckOpcodeIsEither ,
  llvm::GIM_CheckNumOperands , llvm::GIM_CheckI64ImmPredicate , llvm::GIM_CheckAPIntImmPredicate , llvm::GIM_CheckAPFloatImmPredicate ,
  llvm::GIM_CheckImmOperandPredicate , llvm::GIM_CheckAtomicOrdering , llvm::GIM_CheckAtomicOrderingOrStrongerThan , llvm::GIM_CheckAtomicOrderingWeakerThan ,
  llvm::GIM_CheckMemorySizeEqualTo , llvm::GIM_CheckMemoryAddressSpace , llvm::GIM_CheckMemoryAlignment , llvm::GIM_CheckMemorySizeEqualToLLT ,
  llvm::GIM_CheckMemorySizeLessThanLLT , llvm::GIM_CheckMemorySizeGreaterThanLLT , llvm::GIM_CheckIsBuildVectorAllOnes , llvm::GIM_CheckIsBuildVectorAllZeros ,
  llvm::GIM_CheckCxxInsnPredicate , llvm::GIM_CheckHasNoUse , llvm::GIM_CheckType , llvm::GIM_CheckPointerToAny ,
  llvm::GIM_CheckRegBankForClass , llvm::GIM_CheckComplexPattern , llvm::GIM_CheckConstantInt , llvm::GIM_CheckLiteralInt ,
  llvm::GIM_CheckIntrinsicID , llvm::GIM_CheckCmpPredicate , llvm::GIM_CheckIsMBB , llvm::GIM_CheckIsImm ,
  llvm::GIM_CheckIsSafeToFold , llvm::GIM_CheckIsSameOperand , llvm::GIM_CheckIsSameOperandIgnoreCopies , llvm::GIM_RecordNamedOperand ,
  llvm::GIM_Reject , llvm::GIR_MutateOpcode , llvm::GIR_BuildMI , llvm::GIR_Copy ,
  llvm::GIR_CopyOrAddZeroReg , llvm::GIR_CopySubReg , llvm::GIR_AddImplicitDef , llvm::GIR_AddImplicitUse ,
  llvm::GIR_AddRegister , llvm::GIR_AddTempRegister , llvm::GIR_AddTempSubRegister , llvm::GIR_AddImm ,
  llvm::GIR_ComplexRenderer , llvm::GIR_ComplexSubOperandRenderer , llvm::GIR_CustomRenderer , llvm::GIR_CustomOperandRenderer ,
  llvm::GIR_CopyConstantAsSImm , llvm::GIR_CopyFConstantAsFPImm , llvm::GIR_ConstrainOperandRC , llvm::GIR_ConstrainSelectedInstOperands ,
  llvm::GIR_MergeMemOperands , llvm::GIR_EraseFromParent , llvm::GIR_MakeTempReg , llvm::GIR_Done ,
  llvm::GIR_Coverage , llvm::GIU_NumOpcodes
}
 
enum  { llvm::GIU_MergeMemOperands_EndOfList = -1 }