LLVM  10.0.0svn
Classes | Namespaces | Enumerations | Functions
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
 This class represents lattice values for constants.
 
 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::BRCOND, llvm::ARMISD::BR_JT, llvm::ARMISD::BR2_JT, llvm::ARMISD::RET_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::CMPFPw0, 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::LOOP_DEC, llvm::ARMISD::LE,
  llvm::ARMISD::PREDICATE_CAST, 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::VMULLs, llvm::ARMISD::VMULLu, 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::BUILD_VECTOR, llvm::ARMISD::BFI,
  llvm::ARMISD::VORRIMM, llvm::ARMISD::VBICIMM, llvm::ARMISD::VBSL, llvm::ARMISD::MEMCPY,
  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::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
}
 
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)