LLVM 22.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(), llvm::AArch64_AM::LSL, Opc, llvm::AArch64_AM::processLogicalImmediate(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), tryAndOfLogicalImmediates(), tryEorOfLogicalImmediates(), tryOrrOfLogicalImmediates(), trySequenceOfOnes(), and tryToreplicateChunks().
Referenced by llvm::AArch64TTIImpl::getIntImmCost(), isCheapImmediate(), llvm::AArch64TargetLowering::isFPImmLegal(), llvm::AArch64TargetLowering::isMulAddWithConstProfitable(), numberOfInstrToLoadImm(), and splitAddSubImm().