|
LLVM
4.0.0
|
Define some predicates that are used for node matching. More...
Enumerations | |
| enum | { BX_SI = 500, BX_DI = 501, BP_SI = 502, BP_DI = 503, sib = 504, sib64 = 505 } |
| enum | { AddrBaseReg = 0, AddrScaleAmt = 1, AddrIndexReg = 2, AddrDisp = 3, AddrSegmentReg = 4, AddrNumOperands = 5 } |
| enum | STATIC_ROUNDING { TO_NEAREST_INT = 0, TO_NEG_INF = 1, TO_POS_INF = 2, TO_ZERO = 3, CUR_DIRECTION = 4 } |
| AVX512 static rounding constants. More... | |
| enum | Fixups { reloc_riprel_4byte = FirstTargetFixupKind, reloc_riprel_4byte_movq_load, reloc_riprel_4byte_relax, reloc_riprel_4byte_relax_rex, reloc_signed_4byte, reloc_signed_4byte_relax, reloc_global_offset_table, reloc_global_offset_table8, LastTargetFixupKind, NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind } |
| enum | CondCode { COND_A = 0, COND_AE = 1, COND_B = 2, COND_BE = 3, COND_E = 4, COND_G = 5, COND_GE = 6, COND_L = 7, COND_LE = 8, COND_NE = 9, COND_NO = 10, COND_NP = 11, COND_NS = 12, COND_O = 13, COND_P = 14, COND_S = 15, LAST_VALID_COND = COND_S, COND_NE_OR_P, COND_E_AND_NP, COND_INVALID } |
Functions | |
| unsigned | GetCondBranchFromCond (CondCode CC) |
| unsigned | getSETFromCond (CondCode CC, bool HasMemoryOperand=false) |
| Return a set opcode for the given condition and whether it has a memory operand. More... | |
| unsigned | getCMovFromCond (CondCode CC, unsigned RegBytes, bool HasMemoryOperand=false) |
| Return a cmov opcode for the given condition, register size in bytes, and operand type. More... | |
| CondCode | getCondFromCMovOpc (unsigned Opc) |
| Return condition code of a CMov opcode. More... | |
| CondCode | GetOppositeBranchCondition (CondCode CC) |
| GetOppositeBranchCondition - Return the inverse of the specified cond, e.g. More... | |
| bool | isVEXTRACT128Index (SDNode *N) |
| Return true if the specified EXTRACT_SUBVECTOR operand specifies a vector extract that is suitable for input to VEXTRACTF128, VEXTRACTI128 instructions. More... | |
| bool | isVINSERT128Index (SDNode *N) |
| Return true if the specified INSERT_SUBVECTOR operand specifies a subvector insert that is suitable for input to VINSERTF128, VINSERTI128 instructions. More... | |
| bool | isVEXTRACT256Index (SDNode *N) |
| Return true if the specified EXTRACT_SUBVECTOR operand specifies a vector extract that is suitable for input to VEXTRACTF64X4, VEXTRACTI64X4 instructions. More... | |
| bool | isVINSERT256Index (SDNode *N) |
| Return true if the specified INSERT_SUBVECTOR operand specifies a subvector insert that is suitable for input to VINSERTF64X4, VINSERTI64X4 instructions. More... | |
| unsigned | getExtractVEXTRACT128Immediate (SDNode *N) |
| Return the appropriate immediate to extract the specified EXTRACT_SUBVECTOR index with VEXTRACTF128, VEXTRACTI128 instructions. More... | |
| unsigned | getInsertVINSERT128Immediate (SDNode *N) |
| Return the appropriate immediate to insert at the specified INSERT_SUBVECTOR index with VINSERTF128, VINSERT128 instructions. More... | |
| unsigned | getExtractVEXTRACT256Immediate (SDNode *N) |
| Return the appropriate immediate to extract the specified EXTRACT_SUBVECTOR index with VEXTRACTF64X4, VEXTRACTI64x4 instructions. More... | |
| unsigned | getInsertVINSERT256Immediate (SDNode *N) |
| Return the appropriate immediate to insert at the specified INSERT_SUBVECTOR index with VINSERTF64x4, VINSERTI64x4 instructions. More... | |
| bool | isZeroNode (SDValue Elt) |
| Returns true if Elt is a constant zero or floating point constant +0.0. More... | |
| bool | isOffsetSuitableForCodeModel (int64_t Offset, CodeModel::Model M, bool hasSymbolicDisplacement=true) |
| Returns true of the given offset can be fit into displacement field of the instruction. More... | |
| bool | isCalleePop (CallingConv::ID CallingConv, bool is64Bit, bool IsVarArg, bool GuaranteeTCO) |
| Determines whether the callee is required to pop its own arguments. More... | |
| FastISel * | createFastISel (FunctionLoweringInfo &funcInfo, const TargetLibraryInfo *libInfo) |
Define some predicates that are used for node matching.
| anonymous enum |
| Enumerator | |
|---|---|
| BX_SI | |
| BX_DI | |
| BP_SI | |
| BP_DI | |
| sib | |
| sib64 | |
Definition at line 113 of file X86Disassembler.cpp.
| anonymous enum |
Definition at line 32 of file X86BaseInfo.h.
| enum llvm::X86::CondCode |
| Enumerator | |
|---|---|
| COND_A | |
| COND_AE | |
| COND_B | |
| COND_BE | |
| COND_E | |
| COND_G | |
| COND_GE | |
| COND_L | |
| COND_LE | |
| COND_NE | |
| COND_NO | |
| COND_NP | |
| COND_NS | |
| COND_O | |
| COND_P | |
| COND_S | |
| LAST_VALID_COND | |
| COND_NE_OR_P | |
| COND_E_AND_NP | |
| COND_INVALID | |
Definition at line 34 of file X86InstrInfo.h.
| enum llvm::X86::Fixups |
Definition at line 17 of file X86FixupKinds.h.
AVX512 static rounding constants.
These need to match the values in avx512fintrin.h.
| Enumerator | |
|---|---|
| TO_NEAREST_INT | |
| TO_NEG_INF | |
| TO_POS_INF | |
| TO_ZERO | |
| CUR_DIRECTION | |
Definition at line 47 of file X86BaseInfo.h.
| FastISel * llvm::X86::createFastISel | ( | FunctionLoweringInfo & | funcInfo, |
| const TargetLibraryInfo * | libInfo | ||
| ) |
Definition at line 3929 of file X86FastISel.cpp.
Referenced by llvm::X86TargetLowering::createFastISel().
| unsigned llvm::X86::getCMovFromCond | ( | CondCode | CC, |
| unsigned | RegBytes, | ||
| bool | HasMemoryOperand = false |
||
| ) |
Return a cmov opcode for the given condition, register size in bytes, and operand type.
Definition at line 5053 of file X86InstrInfo.cpp.
References assert(), and llvm_unreachable.
Referenced by llvm::X86InstrInfo::insertSelect(), and llvm::X86InstrInfo::optimizeCompareInstr().
| unsigned llvm::X86::GetCondBranchFromCond | ( | X86::CondCode | CC | ) |
| X86::CondCode llvm::X86::getCondFromCMovOpc | ( | unsigned | Opc | ) |
Return condition code of a CMov opcode.
Definition at line 4905 of file X86InstrInfo.cpp.
References COND_A, COND_AE, COND_B, COND_BE, COND_E, COND_G, COND_GE, COND_INVALID, COND_L, COND_LE, COND_NE, COND_NO, COND_NP, COND_NS, COND_O, COND_P, and COND_S.
Referenced by llvm::X86InstrInfo::optimizeCompareInstr().
Return the appropriate immediate to extract the specified EXTRACT_SUBVECTOR index with VEXTRACTF128, VEXTRACTI128 instructions.
Return the appropriate immediate to extract the specified EXTRACT_SUBVECTOR index with VEXTRACTF128 and VINSERTI128 instructions.
Definition at line 4713 of file X86ISelLowering.cpp.
References getExtractVEXTRACTImmediate().
Return the appropriate immediate to extract the specified EXTRACT_SUBVECTOR index with VEXTRACTF64X4, VEXTRACTI64x4 instructions.
Return the appropriate immediate to extract the specified EXTRACT_SUBVECTOR index with VEXTRACTF64x4 and VINSERTI64x4 instructions.
Definition at line 4719 of file X86ISelLowering.cpp.
References getExtractVEXTRACTImmediate().
Return the appropriate immediate to insert at the specified INSERT_SUBVECTOR index with VINSERTF128, VINSERT128 instructions.
Return the appropriate immediate to insert at the specified INSERT_SUBVECTOR index with VINSERTF128 and VINSERTI128 instructions.
Definition at line 4725 of file X86ISelLowering.cpp.
References getInsertVINSERTImmediate().
Return the appropriate immediate to insert at the specified INSERT_SUBVECTOR index with VINSERTF64x4, VINSERTI64x4 instructions.
Return the appropriate immediate to insert at the specified INSERT_SUBVECTOR index with VINSERTF46x4 and VINSERTI64x4 instructions.
Definition at line 4731 of file X86ISelLowering.cpp.
References getInsertVINSERTImmediate().
| X86::CondCode llvm::X86::GetOppositeBranchCondition | ( | X86::CondCode | CC | ) |
GetOppositeBranchCondition - Return the inverse of the specified cond, e.g.
Return the inverse of the specified condition, e.g.
turning COND_E to COND_NE.
Definition at line 4983 of file X86InstrInfo.cpp.
References COND_A, COND_AE, COND_B, COND_BE, COND_E, COND_E_AND_NP, COND_G, COND_GE, COND_L, COND_LE, COND_NE, COND_NE_OR_P, COND_NO, COND_NP, COND_NS, COND_O, COND_P, COND_S, and llvm_unreachable.
Referenced by checkBoolTestSetCCCombine(), and combineCMov().
Return a set opcode for the given condition and whether it has a memory operand.
Return a set opcode for the given condition and whether it has memory operand.
Definition at line 5027 of file X86InstrInfo.cpp.
References assert(), and LAST_VALID_COND.
Referenced by llvm::X86InstrInfo::optimizeCompareInstr().
| bool llvm::X86::isCalleePop | ( | CallingConv::ID | CallingConv, |
| bool | is64Bit, | ||
| bool | IsVarArg, | ||
| bool | GuaranteeTCO | ||
| ) |
Determines whether the callee is required to pop its own arguments.
Callee pop is necessary to support tail calls.
Definition at line 4189 of file X86ISelLowering.cpp.
References is64Bit(), shouldGuaranteeTCO(), llvm::CallingConv::X86_FastCall, llvm::CallingConv::X86_StdCall, llvm::CallingConv::X86_ThisCall, and llvm::CallingConv::X86_VectorCall.
| bool llvm::X86::isOffsetSuitableForCodeModel | ( | int64_t | Offset, |
| CodeModel::Model | M, | ||
| bool | hasSymbolicDisplacement = true |
||
| ) |
Returns true of the given offset can be fit into displacement field of the instruction.
Definition at line 4157 of file X86ISelLowering.cpp.
References llvm::isInt< 32 >(), llvm::CodeModel::Kernel, and llvm::CodeModel::Small.
Referenced by llvm::X86TargetLowering::isLegalAddressingMode().
Return true if the specified EXTRACT_SUBVECTOR operand specifies a vector extract that is suitable for input to VEXTRACTF128, VEXTRACTI128 instructions.
Definition at line 4673 of file X86ISelLowering.cpp.
References isVEXTRACTIndex().
Return true if the specified EXTRACT_SUBVECTOR operand specifies a vector extract that is suitable for input to VEXTRACTF64X4, VEXTRACTI64X4 instructions.
Definition at line 4677 of file X86ISelLowering.cpp.
References isVEXTRACTIndex().
Return true if the specified INSERT_SUBVECTOR operand specifies a subvector insert that is suitable for input to VINSERTF128, VINSERTI128 instructions.
Definition at line 4665 of file X86ISelLowering.cpp.
References isVINSERTIndex().
Return true if the specified INSERT_SUBVECTOR operand specifies a subvector insert that is suitable for input to VINSERTF64X4, VINSERTI64X4 instructions.
Definition at line 4669 of file X86ISelLowering.cpp.
References isVINSERTIndex().
Returns true if Elt is a constant zero or floating point constant +0.0.
Returns true if Elt is a constant zero or a floating point constant +0.0.
Definition at line 4736 of file X86ISelLowering.cpp.
References llvm::isNullConstant(), and llvm::isNullFPConstant().
Referenced by combineADC(), computeZeroableShuffleElements(), EltsFromConsecutiveLoads(), getMaskNode(), getTargetShuffleMaskIndices(), LowerBuildVectorv4x32(), LowerINTRINSIC_W_CHAIN(), OptimizeConditionalInDecrement(), and setTargetShuffleZeroElements().
1.8.6