|
LLVM 24.0.0git
|
Classes | |
| struct | AddrInsnModel |
| struct | ImmInsnModel |
Functions | |
| void | expandMOVImm (uint64_t Imm, unsigned BitSize, SmallVectorImpl< ImmInsnModel > &Insn) |
| Expand a MOVi32imm or MOVi64imm pseudo instruction to one or more real move-immediate instructions to synthesize the immediate. | |
| void | expandMOVAddr (unsigned Opcode, unsigned TargetFlags, bool IsTargetMachO, SmallVectorImpl< AddrInsnModel > &Insn) |
| bool | expandVectorMOVImm (APInt Imm, SmallVectorImpl< ImmInsnModel > &Insn, const AArch64Subtarget &ST) |
| void llvm::AArch64_IMM::expandMOVAddr | ( | unsigned | Opcode, |
| unsigned | TargetFlags, | ||
| bool | IsTargetMachO, | ||
| SmallVectorImpl< AddrInsnModel > & | Insn ) |
Definition at line 725 of file AArch64ExpandImm.cpp.
References llvm::AArch64II::MO_TAGGED, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::AArch64InstrInfo::getInstSizeInBytes().
| void llvm::AArch64_IMM::expandMOVImm | ( | uint64_t | Imm, |
| unsigned | BitSize, | ||
| SmallVectorImpl< ImmInsnModel > & | Insn ) |
Expand a MOVi32imm or MOVi64imm pseudo instruction to one or more real move-immediate instructions to synthesize the immediate.
Definition at line 599 of file AArch64ExpandImm.cpp.
References assert(), expandMOVImmSimple(), getChunk(), llvm::AArch64_AM::getShifterImm(), Imm, llvm::AArch64_AM::LSL, Opc, llvm::AArch64_AM::processLogicalImmediate(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::rotl(), llvm::SmallVectorTemplateCommon< T, typename >::size(), tryAndOfLogicalImmediates(), tryCopyWithNegation(), tryEorOfLogicalImmediates(), tryOrrOfLogicalImmediates(), trySequenceOfOnes(), and tryToreplicateChunks().
Referenced by llvm::AArch64InstrInfo::getInstSizeInBytes(), llvm::AArch64TTIImpl::getIntImmCost(), isCheapImmediate(), llvm::AArch64TargetLowering::isFPImmLegal(), llvm::AArch64TargetLowering::isMulAddWithConstProfitable(), numberOfInstrToLoadImm(), and splitAddSubImm().
| bool llvm::AArch64_IMM::expandVectorMOVImm | ( | APInt | Imm, |
| SmallVectorImpl< ImmInsnModel > & | Insn, | ||
| const AArch64Subtarget & | ST ) |
Definition at line 740 of file AArch64ExpandImm.cpp.
References assert(), llvm::AArch64_AM::encodeAdvSIMDModImmType1(), llvm::AArch64_AM::encodeAdvSIMDModImmType10(), llvm::AArch64_AM::encodeAdvSIMDModImmType11(), llvm::AArch64_AM::encodeAdvSIMDModImmType12(), llvm::AArch64_AM::encodeAdvSIMDModImmType2(), llvm::AArch64_AM::encodeAdvSIMDModImmType3(), llvm::AArch64_AM::encodeAdvSIMDModImmType4(), llvm::AArch64_AM::encodeAdvSIMDModImmType5(), llvm::AArch64_AM::encodeAdvSIMDModImmType6(), llvm::AArch64_AM::encodeAdvSIMDModImmType7(), llvm::AArch64_AM::encodeAdvSIMDModImmType8(), llvm::AArch64_AM::encodeAdvSIMDModImmType9(), llvm::AArch64_AM::getFP16Imm(), llvm::APInt::getSExtValue(), llvm::APInt::getZExtValue(), Imm, llvm::AArch64_AM::isAdvSIMDModImmType1(), llvm::AArch64_AM::isAdvSIMDModImmType10(), llvm::AArch64_AM::isAdvSIMDModImmType11(), llvm::AArch64_AM::isAdvSIMDModImmType12(), llvm::AArch64_AM::isAdvSIMDModImmType2(), llvm::AArch64_AM::isAdvSIMDModImmType3(), llvm::AArch64_AM::isAdvSIMDModImmType4(), llvm::AArch64_AM::isAdvSIMDModImmType5(), llvm::AArch64_AM::isAdvSIMDModImmType6(), llvm::AArch64_AM::isAdvSIMDModImmType7(), llvm::AArch64_AM::isAdvSIMDModImmType8(), llvm::AArch64_AM::isAdvSIMDModImmType9(), llvm::AArch64_AM::isSVECpyDupImm(), llvm::AArch64_AM::isSVELogicalImm(), Opc, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::APInt::trunc().