LLVM  8.0.1
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::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::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::VCEQ, llvm::ARMISD::VCEQZ, llvm::ARMISD::VCGE,
  llvm::ARMISD::VCGEZ, llvm::ARMISD::VCLEZ, llvm::ARMISD::VCGEU, llvm::ARMISD::VCGT,
  llvm::ARMISD::VCGTZ, llvm::ARMISD::VCLTZ, llvm::ARMISD::VCGTU, llvm::ARMISD::VTST,
  llvm::ARMISD::VSHL, llvm::ARMISD::VSHRs, llvm::ARMISD::VSHRu, llvm::ARMISD::VRSHRs,
  llvm::ARMISD::VRSHRu, llvm::ARMISD::VRSHRN, llvm::ARMISD::VQSHLs, llvm::ARMISD::VQSHLu,
  llvm::ARMISD::VQSHLsu, llvm::ARMISD::VQSHRNs, llvm::ARMISD::VQSHRNu, llvm::ARMISD::VQSHRNsu,
  llvm::ARMISD::VQRSHRNs, llvm::ARMISD::VQRSHRNu, llvm::ARMISD::VQRSHRNsu, llvm::ARMISD::VSLI,
  llvm::ARMISD::VSRI, 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::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::NEONModImmType { llvm::VMOVModImm, llvm::VMVNModImm, llvm::OtherModImm }
 

Functions

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