LLVM 20.0.0git
Namespaces | Macros | Functions
X86FastISel.cpp File Reference
#include "X86.h"
#include "X86CallingConv.h"
#include "X86InstrBuilder.h"
#include "X86InstrInfo.h"
#include "X86MachineFunctionInfo.h"
#include "X86RegisterInfo.h"
#include "X86Subtarget.h"
#include "X86TargetMachine.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
#include "llvm/CodeGen/FastISel.h"
#include "llvm/CodeGen/FunctionLoweringInfo.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/IntrinsicsX86.h"
#include "llvm/IR/Operator.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Target/TargetOptions.h"
#include "X86GenFastISel.inc"

Go to the source code of this file.

Namespaces

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

Macros

#define GET_EGPR_IF_ENABLED(OPC)   Subtarget->hasEGPR() ? OPC##_EVEX : OPC
 

Functions

static std::pair< unsigned, boolgetX86SSEConditionCode (CmpInst::Predicate Predicate)
 
static unsigned X86ChooseCmpOpcode (EVT VT, const X86Subtarget *Subtarget)
 
static unsigned X86ChooseCmpImmediateOpcode (EVT VT, const ConstantInt *RHSC)
 If we have a comparison with RHS as the RHS of the comparison, return an opcode that works for the compare (e.g.
 
static unsigned computeBytesPoppedByCalleeForSRet (const X86Subtarget *Subtarget, CallingConv::ID CC, const CallBase *CB)
 

Macro Definition Documentation

◆ GET_EGPR_IF_ENABLED

#define GET_EGPR_IF_ENABLED (   OPC)    Subtarget->hasEGPR() ? OPC##_EVEX : OPC

Function Documentation

◆ computeBytesPoppedByCalleeForSRet()

static unsigned computeBytesPoppedByCalleeForSRet ( const X86Subtarget Subtarget,
CallingConv::ID  CC,
const CallBase CB 
)
static

◆ getX86SSEConditionCode()

static std::pair< unsigned, bool > getX86SSEConditionCode ( CmpInst::Predicate  Predicate)
static

◆ X86ChooseCmpImmediateOpcode()

static unsigned X86ChooseCmpImmediateOpcode ( EVT  VT,
const ConstantInt RHSC 
)
static

If we have a comparison with RHS as the RHS of the comparison, return an opcode that works for the compare (e.g.

CMP32ri) otherwise return 0.

Definition at line 1383 of file X86FastISel.cpp.

References llvm::ConstantInt::getSExtValue(), llvm::EVT::getSimpleVT(), and llvm::MVT::SimpleTy.

◆ X86ChooseCmpOpcode()

static unsigned X86ChooseCmpOpcode ( EVT  VT,
const X86Subtarget Subtarget 
)
static