LLVM  13.0.0git
Classes | Namespaces | Enumerations | Functions | Variables
ARMISelLowering.h File Reference
#include "MCTargetDesc/ARMBaseInfo.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/ISDOpcodes.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/MachineValueType.h"
#include <utility>
Include dependency graph for ARMISelLowering.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::ARMTargetLowering
 

Namespaces

 llvm
 ---------------------— PointerInfo ------------------------------------—
 
 llvm::ARMISD
 
 llvm::ARM
 Define some predicates that are used for node matching.
 

Enumerations

enum  llvm::ARMISD::NodeType : unsigned {
  llvm::ARMISD::FIRST_NUMBER = ISD::BUILTIN_OP_END, llvm::ARMISD::Wrapper, llvm::ARMISD::WrapperPIC, llvm::ARMISD::WrapperJT,
  llvm::ARMISD::COPY_STRUCT_BYVAL, llvm::ARMISD::CALL, llvm::ARMISD::CALL_PRED, llvm::ARMISD::CALL_NOLINK,
  llvm::ARMISD::tSECALL, llvm::ARMISD::BRCOND, llvm::ARMISD::BR_JT, llvm::ARMISD::BR2_JT,
  llvm::ARMISD::RET_FLAG, llvm::ARMISD::SERET_FLAG, llvm::ARMISD::INTRET_FLAG, llvm::ARMISD::PIC_ADD,
  llvm::ARMISD::ASRL, llvm::ARMISD::LSRL, llvm::ARMISD::LSLL, llvm::ARMISD::CMP,
  llvm::ARMISD::CMN, llvm::ARMISD::CMPZ, llvm::ARMISD::CMPFP, llvm::ARMISD::CMPFPE,
  llvm::ARMISD::CMPFPw0, llvm::ARMISD::CMPFPEw0, llvm::ARMISD::FMSTAT, llvm::ARMISD::CMOV,
  llvm::ARMISD::SUBS, llvm::ARMISD::SSAT, llvm::ARMISD::USAT, llvm::ARMISD::BCC_i64,
  llvm::ARMISD::SRL_FLAG, llvm::ARMISD::SRA_FLAG, llvm::ARMISD::RRX, llvm::ARMISD::ADDC,
  llvm::ARMISD::ADDE, llvm::ARMISD::SUBC, llvm::ARMISD::SUBE, llvm::ARMISD::LSLS,
  llvm::ARMISD::VMOVRRD, llvm::ARMISD::VMOVDRR, llvm::ARMISD::VMOVSR, llvm::ARMISD::EH_SJLJ_SETJMP,
  llvm::ARMISD::EH_SJLJ_LONGJMP, llvm::ARMISD::EH_SJLJ_SETUP_DISPATCH, llvm::ARMISD::TC_RETURN, llvm::ARMISD::THREAD_POINTER,
  llvm::ARMISD::DYN_ALLOC, llvm::ARMISD::MEMBARRIER_MCR, llvm::ARMISD::PRELOAD, llvm::ARMISD::WIN__CHKSTK,
  llvm::ARMISD::WIN__DBZCHK, llvm::ARMISD::WLS, llvm::ARMISD::WLSSETUP, llvm::ARMISD::LOOP_DEC,
  llvm::ARMISD::LE, llvm::ARMISD::PREDICATE_CAST, llvm::ARMISD::VECTOR_REG_CAST, llvm::ARMISD::MVESEXT,
  llvm::ARMISD::MVEZEXT, llvm::ARMISD::MVETRUNC, llvm::ARMISD::VCMP, llvm::ARMISD::VCMPZ,
  llvm::ARMISD::VTST, llvm::ARMISD::VSHLs, llvm::ARMISD::VSHLu, llvm::ARMISD::VSHLIMM,
  llvm::ARMISD::VSHRsIMM, llvm::ARMISD::VSHRuIMM, llvm::ARMISD::VRSHRsIMM, llvm::ARMISD::VRSHRuIMM,
  llvm::ARMISD::VRSHRNIMM, llvm::ARMISD::VQSHLsIMM, llvm::ARMISD::VQSHLuIMM, llvm::ARMISD::VQSHLsuIMM,
  llvm::ARMISD::VQSHRNsIMM, llvm::ARMISD::VQSHRNuIMM, llvm::ARMISD::VQSHRNsuIMM, llvm::ARMISD::VQRSHRNsIMM,
  llvm::ARMISD::VQRSHRNuIMM, llvm::ARMISD::VQRSHRNsuIMM, llvm::ARMISD::VSLIIMM, llvm::ARMISD::VSRIIMM,
  llvm::ARMISD::VGETLANEu, llvm::ARMISD::VGETLANEs, llvm::ARMISD::VMOVIMM, llvm::ARMISD::VMVNIMM,
  llvm::ARMISD::VMOVFPIMM, llvm::ARMISD::VMOVrh, llvm::ARMISD::VMOVhr, llvm::ARMISD::VDUP,
  llvm::ARMISD::VDUPLANE, llvm::ARMISD::VEXT, llvm::ARMISD::VREV64, llvm::ARMISD::VREV32,
  llvm::ARMISD::VREV16, llvm::ARMISD::VZIP, llvm::ARMISD::VUZP, llvm::ARMISD::VTRN,
  llvm::ARMISD::VTBL1, llvm::ARMISD::VTBL2, llvm::ARMISD::VMOVN, llvm::ARMISD::VQMOVNs,
  llvm::ARMISD::VQMOVNu, llvm::ARMISD::VCVTN, llvm::ARMISD::VCVTL, llvm::ARMISD::VIDUP,
  llvm::ARMISD::VMULLs, llvm::ARMISD::VMULLu, llvm::ARMISD::VQDMULH, llvm::ARMISD::VADDVs,
  llvm::ARMISD::VADDVu, llvm::ARMISD::VADDVps, llvm::ARMISD::VADDVpu, llvm::ARMISD::VADDLVs,
  llvm::ARMISD::VADDLVu, llvm::ARMISD::VADDLVAs, llvm::ARMISD::VADDLVAu, llvm::ARMISD::VADDLVps,
  llvm::ARMISD::VADDLVpu, llvm::ARMISD::VADDLVAps, llvm::ARMISD::VADDLVApu, llvm::ARMISD::VMLAVs,
  llvm::ARMISD::VMLAVu, llvm::ARMISD::VMLAVps, llvm::ARMISD::VMLAVpu, llvm::ARMISD::VMLALVs,
  llvm::ARMISD::VMLALVu, llvm::ARMISD::VMLALVps, llvm::ARMISD::VMLALVpu, llvm::ARMISD::VMLALVAs,
  llvm::ARMISD::VMLALVAu, llvm::ARMISD::VMLALVAps, llvm::ARMISD::VMLALVApu, llvm::ARMISD::VMINVu,
  llvm::ARMISD::VMINVs, llvm::ARMISD::VMAXVu, llvm::ARMISD::VMAXVs, llvm::ARMISD::SMULWB,
  llvm::ARMISD::SMULWT, llvm::ARMISD::UMLAL, llvm::ARMISD::SMLAL, llvm::ARMISD::UMAAL,
  llvm::ARMISD::SMLALBB, llvm::ARMISD::SMLALBT, llvm::ARMISD::SMLALTB, llvm::ARMISD::SMLALTT,
  llvm::ARMISD::SMLALD, llvm::ARMISD::SMLALDX, llvm::ARMISD::SMLSLD, llvm::ARMISD::SMLSLDX,
  llvm::ARMISD::SMMLAR, llvm::ARMISD::SMMLSR, llvm::ARMISD::QADD8b, llvm::ARMISD::QSUB8b,
  llvm::ARMISD::QADD16b, llvm::ARMISD::QSUB16b, llvm::ARMISD::UQADD8b, llvm::ARMISD::UQSUB8b,
  llvm::ARMISD::UQADD16b, llvm::ARMISD::UQSUB16b, llvm::ARMISD::BUILD_VECTOR, llvm::ARMISD::BFI,
  llvm::ARMISD::VORRIMM, llvm::ARMISD::VBICIMM, llvm::ARMISD::VBSP, llvm::ARMISD::MEMCPY,
  llvm::ARMISD::MEMCPYLOOP, llvm::ARMISD::MEMSETLOOP, llvm::ARMISD::CSINV, llvm::ARMISD::CSNEG,
  llvm::ARMISD::CSINC, llvm::ARMISD::VLD1DUP = ISD::FIRST_TARGET_MEMORY_OPCODE, llvm::ARMISD::VLD2DUP, llvm::ARMISD::VLD3DUP,
  llvm::ARMISD::VLD4DUP, llvm::ARMISD::VLD1_UPD, llvm::ARMISD::VLD2_UPD, llvm::ARMISD::VLD3_UPD,
  llvm::ARMISD::VLD4_UPD, llvm::ARMISD::VLD2LN_UPD, llvm::ARMISD::VLD3LN_UPD, llvm::ARMISD::VLD4LN_UPD,
  llvm::ARMISD::VLD1DUP_UPD, llvm::ARMISD::VLD2DUP_UPD, llvm::ARMISD::VLD3DUP_UPD, llvm::ARMISD::VLD4DUP_UPD,
  llvm::ARMISD::VLD1x2_UPD, llvm::ARMISD::VLD1x3_UPD, llvm::ARMISD::VLD1x4_UPD, llvm::ARMISD::VST1_UPD,
  llvm::ARMISD::VST2_UPD, llvm::ARMISD::VST3_UPD, llvm::ARMISD::VST4_UPD, llvm::ARMISD::VST2LN_UPD,
  llvm::ARMISD::VST3LN_UPD, llvm::ARMISD::VST4LN_UPD, llvm::ARMISD::VST1x2_UPD, llvm::ARMISD::VST1x3_UPD,
  llvm::ARMISD::VST1x4_UPD, llvm::ARMISD::LDRD, llvm::ARMISD::STRD
}
 
enum  llvm::ARM::Rounding {
  llvm::ARM::RN = 0, llvm::ARM::RP = 1, llvm::ARM::RM = 2, llvm::ARM::RZ = 3,
  llvm::ARM::rmMask = 3
}
 Possible values of current rounding mode, which is specified in bits 23:22 of FPSCR. More...
 
enum  llvm::VMOVModImmType { llvm::VMOVModImm, llvm::VMVNModImm, llvm::MVEVMVNModImm, llvm::OtherModImm }
 

Functions

bool llvm::ARM::isBitFieldInvertedMask (unsigned v)
 
FastISelllvm::ARM::createFastISel (FunctionLoweringInfo &funcInfo, const TargetLibraryInfo *libInfo)
 

Variables

const unsigned llvm::ARM::RoundingBitsPos = 22