LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Enumerations | Functions
X86ISelLowering.h File Reference
#include "X86MachineFunctionInfo.h"
#include "X86RegisterInfo.h"
#include "X86Subtarget.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/FastISel.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/Target/TargetLowering.h"
#include "llvm/Target/TargetOptions.h"
Include dependency graph for X86ISelLowering.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::X86TargetLowering
 

Namespaces

 llvm
 List of target independent CodeGen pass IDs.
 
 llvm::X86ISD
 
 llvm::X86
 Define some predicates that are used for node matching.
 

Enumerations

enum  llvm::X86ISD::NodeType {
  llvm::X86ISD::FIRST_NUMBER = ISD::BUILTIN_OP_END, llvm::X86ISD::BSF, llvm::X86ISD::BSR, llvm::X86ISD::SHLD,
  llvm::X86ISD::SHRD, llvm::X86ISD::FAND, llvm::X86ISD::FOR, llvm::X86ISD::FXOR,
  llvm::X86ISD::FANDN, llvm::X86ISD::FSRL, llvm::X86ISD::CALL, llvm::X86ISD::RDTSC_DAG,
  llvm::X86ISD::CMP, llvm::X86ISD::COMI, llvm::X86ISD::UCOMI, llvm::X86ISD::BT,
  llvm::X86ISD::SETCC, llvm::X86ISD::SETCC_CARRY, llvm::X86ISD::FSETCCss, llvm::X86ISD::FSETCCsd,
  llvm::X86ISD::FGETSIGNx86, llvm::X86ISD::CMOV, llvm::X86ISD::BRCOND, llvm::X86ISD::RET_FLAG,
  llvm::X86ISD::REP_STOS, llvm::X86ISD::REP_MOVS, llvm::X86ISD::GlobalBaseReg, llvm::X86ISD::Wrapper,
  llvm::X86ISD::WrapperRIP, llvm::X86ISD::MOVDQ2Q, llvm::X86ISD::MMX_MOVD2W, llvm::X86ISD::PEXTRB,
  llvm::X86ISD::PEXTRW, llvm::X86ISD::INSERTPS, llvm::X86ISD::PINSRB, llvm::X86ISD::PINSRW,
  llvm::X86ISD::MMX_PINSRW, llvm::X86ISD::PSHUFB, llvm::X86ISD::ANDNP, llvm::X86ISD::PSIGN,
  llvm::X86ISD::BLENDV, llvm::X86ISD::BLENDI, llvm::X86ISD::SUBUS, llvm::X86ISD::HADD,
  llvm::X86ISD::HSUB, llvm::X86ISD::FHADD, llvm::X86ISD::FHSUB, llvm::X86ISD::UMAX,
  llvm::X86ISD::UMIN, llvm::X86ISD::SMAX, llvm::X86ISD::SMIN, llvm::X86ISD::FMAX,
  llvm::X86ISD::FMIN, llvm::X86ISD::FMAXC, llvm::X86ISD::FMINC, llvm::X86ISD::FRSQRT,
  llvm::X86ISD::FRCP, llvm::X86ISD::TLSADDR, llvm::X86ISD::TLSBASEADDR, llvm::X86ISD::TLSCALL,
  llvm::X86ISD::EH_RETURN, llvm::X86ISD::EH_SJLJ_SETJMP, llvm::X86ISD::EH_SJLJ_LONGJMP, llvm::X86ISD::TC_RETURN,
  llvm::X86ISD::VZEXT_MOVL, llvm::X86ISD::VSEXT_MOVL, llvm::X86ISD::VZEXT, llvm::X86ISD::VSEXT,
  llvm::X86ISD::VTRUNC, llvm::X86ISD::VTRUNCM, llvm::X86ISD::VFPEXT, llvm::X86ISD::VFPROUND,
  llvm::X86ISD::VSHLDQ, llvm::X86ISD::VSRLDQ, llvm::X86ISD::VSHL, llvm::X86ISD::VSRL,
  llvm::X86ISD::VSRA, llvm::X86ISD::VSHLI, llvm::X86ISD::VSRLI, llvm::X86ISD::VSRAI,
  llvm::X86ISD::CMPP, llvm::X86ISD::PCMPEQ, llvm::X86ISD::PCMPGT, llvm::X86ISD::PCMPEQM,
  llvm::X86ISD::PCMPGTM, llvm::X86ISD::CMPM, llvm::X86ISD::CMPMU, llvm::X86ISD::ADD,
  llvm::X86ISD::SUB, llvm::X86ISD::ADC, llvm::X86ISD::SBB, llvm::X86ISD::SMUL,
  llvm::X86ISD::INC, llvm::X86ISD::DEC, llvm::X86ISD::OR, llvm::X86ISD::XOR,
  llvm::X86ISD::AND, llvm::X86ISD::BLSI, llvm::X86ISD::BLSMSK, llvm::X86ISD::BLSR,
  llvm::X86ISD::BZHI, llvm::X86ISD::BEXTR, llvm::X86ISD::UMUL, llvm::X86ISD::MUL_IMM,
  llvm::X86ISD::PTEST, llvm::X86ISD::TESTP, llvm::X86ISD::TESTM, llvm::X86ISD::KORTEST,
  llvm::X86ISD::KTEST, llvm::X86ISD::PALIGNR, llvm::X86ISD::PSHUFD, llvm::X86ISD::PSHUFHW,
  llvm::X86ISD::PSHUFLW, llvm::X86ISD::SHUFP, llvm::X86ISD::MOVDDUP, llvm::X86ISD::MOVSHDUP,
  llvm::X86ISD::MOVSLDUP, llvm::X86ISD::MOVLHPS, llvm::X86ISD::MOVLHPD, llvm::X86ISD::MOVHLPS,
  llvm::X86ISD::MOVLPS, llvm::X86ISD::MOVLPD, llvm::X86ISD::MOVSD, llvm::X86ISD::MOVSS,
  llvm::X86ISD::UNPCKL, llvm::X86ISD::UNPCKH, llvm::X86ISD::VPERMILP, llvm::X86ISD::VPERMV,
  llvm::X86ISD::VPERMV3, llvm::X86ISD::VPERMI, llvm::X86ISD::VPERM2X128, llvm::X86ISD::VBROADCAST,
  llvm::X86ISD::VBROADCASTM, llvm::X86ISD::VINSERT, llvm::X86ISD::PMULUDQ, llvm::X86ISD::FMADD,
  llvm::X86ISD::FNMADD, llvm::X86ISD::FMSUB, llvm::X86ISD::FNMSUB, llvm::X86ISD::FMADDSUB,
  llvm::X86ISD::FMSUBADD, llvm::X86ISD::VASTART_SAVE_XMM_REGS, llvm::X86ISD::WIN_ALLOCA, llvm::X86ISD::SEG_ALLOCA,
  llvm::X86ISD::WIN_FTOL, llvm::X86ISD::MEMBARRIER, llvm::X86ISD::MFENCE, llvm::X86ISD::SFENCE,
  llvm::X86ISD::LFENCE, llvm::X86ISD::FNSTSW16r, llvm::X86ISD::SAHF, llvm::X86ISD::RDRAND,
  llvm::X86ISD::RDSEED, llvm::X86ISD::PCMPISTRI, llvm::X86ISD::PCMPESTRI, llvm::X86ISD::XTEST,
  llvm::X86ISD::ATOMADD64_DAG = ISD::FIRST_TARGET_MEMORY_OPCODE, llvm::X86ISD::ATOMSUB64_DAG, llvm::X86ISD::ATOMOR64_DAG, llvm::X86ISD::ATOMXOR64_DAG,
  llvm::X86ISD::ATOMAND64_DAG, llvm::X86ISD::ATOMNAND64_DAG, llvm::X86ISD::ATOMMAX64_DAG, llvm::X86ISD::ATOMMIN64_DAG,
  llvm::X86ISD::ATOMUMAX64_DAG, llvm::X86ISD::ATOMUMIN64_DAG, llvm::X86ISD::ATOMSWAP64_DAG, llvm::X86ISD::LCMPXCHG_DAG,
  llvm::X86ISD::LCMPXCHG8_DAG, llvm::X86ISD::LCMPXCHG16_DAG, llvm::X86ISD::VZEXT_LOAD, llvm::X86ISD::FNSTCW16m,
  llvm::X86ISD::FP_TO_INT16_IN_MEM, llvm::X86ISD::FP_TO_INT32_IN_MEM, llvm::X86ISD::FP_TO_INT64_IN_MEM, llvm::X86ISD::FILD,
  llvm::X86ISD::FILD_FLAG, llvm::X86ISD::FLD, llvm::X86ISD::FST, llvm::X86ISD::VAARG_64
}
 

Functions

bool llvm::X86::isVEXTRACT128Index (SDNode *N)
 
bool llvm::X86::isVINSERT128Index (SDNode *N)
 
bool llvm::X86::isVEXTRACT256Index (SDNode *N)
 
bool llvm::X86::isVINSERT256Index (SDNode *N)
 
unsigned llvm::X86::getExtractVEXTRACT128Immediate (SDNode *N)
 
unsigned llvm::X86::getInsertVINSERT128Immediate (SDNode *N)
 
unsigned llvm::X86::getExtractVEXTRACT256Immediate (SDNode *N)
 
unsigned llvm::X86::getInsertVINSERT256Immediate (SDNode *N)
 
bool llvm::X86::isZeroNode (SDValue Elt)
 
bool llvm::X86::isOffsetSuitableForCodeModel (int64_t Offset, CodeModel::Model M, bool hasSymbolicDisplacement=true)
 
bool llvm::X86::isCalleePop (CallingConv::ID CallingConv, bool is64Bit, bool IsVarArg, bool TailCallOpt)
 
FastISelllvm::X86::createFastISel (FunctionLoweringInfo &funcInfo, const TargetLibraryInfo *libInfo)