LLVM API Documentation
Definition at line 279 of file ARMAddressingModes.h.
Referenced by llvm::ARMInstrInfo::convertToThreeAddress(), llvm::ARMRegisterInfo::eliminateFrameIndex(), isMatchingDecrement(), isMatchingIncrement(), and mergeBaseUpdateLoadStore().
Definition at line 282 of file ARMAddressingModes.h.
References sub.
Referenced by llvm::ARMInstrInfo::convertToThreeAddress(), and llvm::ARMRegisterInfo::eliminateFrameIndex().
| static unsigned llvm::ARM_AM::getAM2Opc | ( | AddrOpc | Opc, | |
| unsigned | Imm12, | |||
| ShiftOpc | SO | |||
| ) | [inline, static] |
Definition at line 274 of file ARMAddressingModes.h.
References sub.
Referenced by mergeBaseUpdateLoadStore().
Definition at line 285 of file ARMAddressingModes.h.
Referenced by llvm::ARMInstrInfo::convertToThreeAddress().
Definition at line 308 of file ARMAddressingModes.h.
Referenced by llvm::ARMInstrInfo::convertToThreeAddress(), and llvm::ARMRegisterInfo::eliminateFrameIndex().
Definition at line 311 of file ARMAddressingModes.h.
References sub.
Referenced by llvm::ARMInstrInfo::convertToThreeAddress(), and llvm::ARMRegisterInfo::eliminateFrameIndex().
getAM3Opc - This function encodes the addrmode3 opc field.
Definition at line 304 of file ARMAddressingModes.h.
References sub.
| static unsigned llvm::ARM_AM::getAM4ModeImm | ( | AMSubMode | SubMode, | |
| bool | WB = false | |||
| ) | [inline, static] |
Definition at line 336 of file ARMAddressingModes.h.
Referenced by mergeBaseUpdateLSMultiple(), and mergeOps().
| static bool llvm::ARM_AM::getAM4WBFlag | ( | unsigned | Mode | ) | [inline, static] |
Definition at line 368 of file ARMAddressingModes.h.
Referenced by llvm::ARMRegisterInfo::eliminateFrameIndex(), getLSMultipleTransferSize(), mergeBaseUpdateLoadStore(), and mergeBaseUpdateLSMultiple().
Definition at line 371 of file ARMAddressingModes.h.
References sub.
Referenced by llvm::ARMRegisterInfo::eliminateFrameIndex().
| static unsigned llvm::ARM_AM::getAM5Opc | ( | AMSubMode | SubMode, | |
| bool | WB, | |||
| unsigned char | Offset | |||
| ) | [inline, static] |
getAM5Opc - This function encodes the addrmode5 opc field for FLDM and FSTM instructions.
Definition at line 377 of file ARMAddressingModes.h.
Referenced by mergeBaseUpdateLoadStore(), and mergeBaseUpdateLSMultiple().
getAM5Opc - This function encodes the addrmode5 opc field.
Definition at line 364 of file ARMAddressingModes.h.
References sub.
Referenced by mergeOps().
| static bool llvm::ARM_AM::getAM5WBFlag | ( | unsigned | AM5Opc | ) | [inline, static] |
| static const char* llvm::ARM_AM::getAMSubModeAltStr | ( | AMSubMode | Mode, | |
| bool | isLD | |||
| ) | [inline, static] |
| static const char* llvm::ARM_AM::getAMSubModeStr | ( | AMSubMode | Mode | ) | [inline, static] |
| static ShiftOpc llvm::ARM_AM::getShiftOpcForNode | ( | SDValue | N | ) | [inline, static] |
Definition at line 49 of file ARMAddressingModes.h.
References asr, llvm::SDValue::getOpcode(), lsl, lsr, no_shift, ror, llvm::ISD::ROTR, llvm::ISD::SHL, llvm::ISD::SRA, and llvm::ISD::SRL.
Referenced by getIndexedAddressParts().
| static const char* llvm::ARM_AM::getShiftOpcStr | ( | ShiftOpc | Op | ) | [inline, static] |
getSOImmTwoPartFirst - If V is a value that satisfies isSOImmTwoPartVal, return the first chunk of it.
Definition at line 217 of file ARMAddressingModes.h.
References getSOImmValRotate(), and rotr32().
getSOImmTwoPartSecond - If V is a value that satisfies isSOImmTwoPartVal, return the second chunk of it.
Definition at line 223 of file ARMAddressingModes.h.
References getSOImmValRotate(), and rotr32().
| static int llvm::ARM_AM::getSOImmVal | ( | unsigned | Arg | ) | [inline, static] |
getSOImmVal - Given a 32-bit immediate, if it is something that can fit into an shifter_operand immediate operand, return the 12-bit encoding for it. If not, return -1.
Definition at line 187 of file ARMAddressingModes.h.
References getSOImmValRotate(), rotl32(), and rotr32().
Referenced by llvm::ARMInstrInfo::convertToThreeAddress(), llvm::ARMRegisterInfo::eliminateFrameIndex(), emitARMRegPlusImmediate(), isLegalCmpImmediate(), and mergeOps().
getSOImmValImm - Given an encoded imm field for the reg/imm form, return the 8-bit imm value.
Definition at line 131 of file ARMAddressingModes.h.
Referenced by printSOImm().
getSOImmValRotate - Given an encoded imm field for the reg/imm form, return the rotate amount.
Definition at line 136 of file ARMAddressingModes.h.
Referenced by printSOImm().
getSOImmValRotate - Try to handle Imm with an immediate shifter operand, computing the rotate amount to use. If this immediate value cannot be handled with a single shifter-op, determine a good rotate amount that will take a maximal chunk of bits out of the immediate.
Definition at line 144 of file ARMAddressingModes.h.
References llvm::CountTrailingZeros_32(), and rotr32().
Referenced by llvm::ARMRegisterInfo::eliminateFrameIndex(), emitARMRegPlusImmediate(), getSOImmTwoPartFirst(), getSOImmTwoPartSecond(), getSOImmVal(), and isSOImmTwoPartVal().
Definition at line 122 of file ARMAddressingModes.h.
Definition at line 119 of file ARMAddressingModes.h.
Referenced by llvm::ARMInstrInfo::convertToThreeAddress().
Definition at line 125 of file ARMAddressingModes.h.
getThumbImmNonShiftedVal - If V is a value that satisfies isThumbImmShiftedVal, return the non-shiftd value.
Definition at line 253 of file ARMAddressingModes.h.
References getThumbImmValShift().
getThumbImmValShift - Try to handle Imm with a 8-bit immediate followed by a left shift. Returns the shift amount to use.
Definition at line 234 of file ARMAddressingModes.h.
References llvm::CountTrailingZeros_32().
Referenced by getThumbImmNonShiftedVal(), and isThumbImmShiftedVal().
| static bool llvm::ARM_AM::isSOImmTwoPartVal | ( | unsigned | V | ) | [inline, static] |
isSOImmTwoPartVal - Return true if the specified value can be obtained by or'ing together two SOImmVal's.
Definition at line 204 of file ARMAddressingModes.h.
References getSOImmValRotate(), and rotr32().
| static bool llvm::ARM_AM::isThumbImmShiftedVal | ( | unsigned | V | ) | [inline, static] |
isThumbImmShiftedVal - Return true if the specified value can be obtained by left shifting a 8-bit immediate.
Definition at line 245 of file ARMAddressingModes.h.
References getThumbImmValShift().
rotl32 - Rotate a 32-bit unsigned value left by a specified # bits.
Definition at line 100 of file ARMAddressingModes.h.
Referenced by getSOImmVal().
rotr32 - Rotate a 32-bit unsigned value right by a specified # bits.
Definition at line 93 of file ARMAddressingModes.h.
Referenced by llvm::ARMRegisterInfo::eliminateFrameIndex(), emitARMRegPlusImmediate(), getSOImmTwoPartFirst(), getSOImmTwoPartSecond(), getSOImmVal(), getSOImmValRotate(), isSOImmTwoPartVal(), and printSOImm().