LLVM: llvm::RISCVMatInt Namespace Reference (original) (raw)
| Enumerations | |
|---|---|
| enum | OpndKind { RegImm, Imm, RegReg, RegX0 } |
| Functions | |
|---|---|
| InstSeq | generateInstSeq (int64_t Val, const MCSubtargetInfo &STI) |
| void | generateMCInstSeq (int64_t Val, const MCSubtargetInfo &STI, MCRegister DestReg, SmallVectorImpl< MCInst > &Insts) |
| InstSeq | generateTwoRegInstSeq (int64_t Val, const MCSubtargetInfo &STI, unsigned &ShiftAmt, unsigned &AddOpc) |
| int | getIntMatCost (const APInt &Val, unsigned Size, const MCSubtargetInfo &STI, bool CompressionCost, bool FreeZeroes) |
◆ InstSeq
◆ OpndKind
| Enumerator |
|---|
| RegImm |
| Imm |
| RegReg |
| RegX0 |
Definition at line 22 of file RISCVMatInt.h.
◆ generateInstSeq()
Definition at line 283 of file RISCVMatInt.cpp.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::countr_zero(), llvm::SmallVectorImpl< T >::emplace_back(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::SmallVectorImpl< T >::erase(), extractRotateInfo(), llvm::SmallVectorTemplateCommon< T, typename >::front(), generateInstSeqImpl(), generateInstSeqLeadingZeros(), llvm::getImm(), getOpcode(), llvm::MCSubtargetInfo::hasFeature(), llvm::Hi, llvm::isInt(), llvm::Lo, Opc, llvm::popcount(), llvm::rotl(), llvm::SignExtend64(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by generateMCInstSeq(), generateTwoRegInstSeq(), getIntMatCost(), lowerConstant(), llvm::RISCVInstrInfo::movImm(), selectConstantAddr(), selectImm(), and llvm::RISCVTargetLowering::shouldConvertConstantLoadToIntImm().
◆ generateMCInstSeq()
Definition at line 495 of file RISCVMatInt.cpp.
References llvm::MCInstBuilder::addImm(), llvm::MCInstBuilder::addReg(), generateInstSeq(), llvm::RISCVMatInt::Inst::getImm(), llvm::RISCVMatInt::Inst::getOpcode(), llvm::RISCVMatInt::Inst::getOpndKind(), Imm, llvm::SmallVectorTemplateBase< T, bool >::push_back(), RegImm, RegReg, and RegX0.