LLVM 20.0.0git
|
Classes | |
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 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 533 of file AArch64ExpandImm.cpp.
References assert(), expandMOVImmSimple(), getChunk(), llvm::AArch64_AM::getShifterImm(), Insn, llvm::AArch64_AM::LSL, llvm::AArch64_AM::processLogicalImmediate(), tryAndOfLogicalImmediates(), tryEorOfLogicalImmediates(), tryOrrOfLogicalImmediates(), trySequenceOfOnes(), and tryToreplicateChunks().
Referenced by llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::AArch64TTIImpl::getIntImmCost(), isCheapImmediate(), llvm::AArch64TargetLowering::isFPImmLegal(), llvm::AArch64TargetLowering::isMulAddWithConstProfitable(), and splitAddSubImm().