LLVM API Documentation
#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/Analysis.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/CallSite.h"
#include "llvm/IR/CallingConv.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/Operator.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Target/TargetOptions.h"
#include "X86GenFastISel.inc"
#include "X86GenCallingConv.inc"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
List of target independent CodeGen pass IDs. | |
Functions | |
static std::pair < X86::CondCode, bool > | getX86ConditionCode (CmpInst::Predicate Predicate) |
static std::pair< unsigned, bool > | getX86SSEConditionCode (CmpInst::Predicate Predicate) |
static unsigned | X86ChooseCmpOpcode (EVT VT, const X86Subtarget *Subtarget) |
static unsigned | X86ChooseCmpImmediateOpcode (EVT VT, const ConstantInt *RHSC) |
static unsigned | computeBytesPoppedByCallee (const X86Subtarget *Subtarget, CallingConv::ID CC, ImmutableCallSite *CS) |
static unsigned computeBytesPoppedByCallee | ( | const X86Subtarget * | Subtarget, |
CallingConv::ID | CC, | ||
ImmutableCallSite * | CS | ||
) | [static] |
static std::pair<X86::CondCode, bool> getX86ConditionCode | ( | CmpInst::Predicate | Predicate | ) | [static] |
Definition at line 168 of file X86FastISel.cpp.
References llvm::X86::COND_A, llvm::X86::COND_AE, llvm::X86::COND_B, llvm::X86::COND_BE, llvm::X86::COND_E, llvm::X86::COND_G, llvm::X86::COND_GE, llvm::X86::COND_INVALID, llvm::X86::COND_L, llvm::X86::COND_LE, llvm::X86::COND_NE, llvm::X86::COND_NP, llvm::X86::COND_P, llvm::CmpInst::FCMP_OEQ, llvm::CmpInst::FCMP_OGE, llvm::CmpInst::FCMP_OGT, llvm::CmpInst::FCMP_OLE, llvm::CmpInst::FCMP_OLT, llvm::CmpInst::FCMP_ONE, llvm::CmpInst::FCMP_ORD, llvm::CmpInst::FCMP_UEQ, llvm::CmpInst::FCMP_UGE, llvm::CmpInst::FCMP_UGT, llvm::CmpInst::FCMP_ULE, llvm::CmpInst::FCMP_ULT, llvm::CmpInst::FCMP_UNE, llvm::CmpInst::FCMP_UNO, llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, and llvm::CmpInst::ICMP_ULT.
static std::pair<unsigned, bool> getX86SSEConditionCode | ( | CmpInst::Predicate | Predicate | ) | [static] |
Definition at line 206 of file X86FastISel.cpp.
References llvm::CmpInst::FCMP_OEQ, llvm::CmpInst::FCMP_OGE, llvm::CmpInst::FCMP_OGT, llvm::CmpInst::FCMP_OLE, llvm::CmpInst::FCMP_OLT, llvm::CmpInst::FCMP_ONE, llvm::CmpInst::FCMP_ORD, llvm::CmpInst::FCMP_UEQ, llvm::CmpInst::FCMP_UGE, llvm::CmpInst::FCMP_UGT, llvm::CmpInst::FCMP_ULE, llvm::CmpInst::FCMP_ULT, llvm::CmpInst::FCMP_UNE, llvm::CmpInst::FCMP_UNO, and llvm_unreachable.
static unsigned X86ChooseCmpImmediateOpcode | ( | EVT | VT, |
const ConstantInt * | RHSC | ||
) | [static] |
X86ChooseCmpImmediateOpcode - 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 1094 of file X86FastISel.cpp.
References llvm::ConstantInt::getSExtValue(), llvm::EVT::getSimpleVT(), llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, and llvm::MVT::SimpleTy.
static unsigned X86ChooseCmpOpcode | ( | EVT | VT, |
const X86Subtarget * | Subtarget | ||
) | [static] |
Definition at line 1073 of file X86FastISel.cpp.
References llvm::MVT::f32, llvm::MVT::f64, llvm::EVT::getSimpleVT(), llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, and llvm::MVT::SimpleTy.