LLVM 20.0.0git
|
#include "RISCVMatInt.h"
#include "MCTargetDesc/RISCVMCTargetDesc.h"
#include "llvm/ADT/APInt.h"
#include "llvm/MC/MCInstBuilder.h"
#include "llvm/Support/MathExtras.h"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::RISCVMatInt |
Functions | |
static int | getInstSeqCost (RISCVMatInt::InstSeq &Res, bool HasRVC) |
static void | generateInstSeqImpl (int64_t Val, const MCSubtargetInfo &STI, RISCVMatInt::InstSeq &Res) |
static unsigned | extractRotateInfo (int64_t Val) |
static void | generateInstSeqLeadingZeros (int64_t Val, const MCSubtargetInfo &STI, RISCVMatInt::InstSeq &Res) |
InstSeq | llvm::RISCVMatInt::generateInstSeq (int64_t Val, const MCSubtargetInfo &STI) |
void | llvm::RISCVMatInt::generateMCInstSeq (int64_t Val, const MCSubtargetInfo &STI, MCRegister DestReg, SmallVectorImpl< MCInst > &Insts) |
InstSeq | llvm::RISCVMatInt::generateTwoRegInstSeq (int64_t Val, const MCSubtargetInfo &STI, unsigned &ShiftAmt, unsigned &AddOpc) |
int | llvm::RISCVMatInt::getIntMatCost (const APInt &Val, unsigned Size, const MCSubtargetInfo &STI, bool CompressionCost, bool FreeZeroes) |
|
static |
Definition at line 158 of file RISCVMatInt.cpp.
References llvm::countl_one(), llvm::countr_one(), llvm::Hi_32(), and llvm::Lo_32().
Referenced by llvm::RISCVMatInt::generateInstSeq().
|
static |
Definition at line 49 of file RISCVMatInt.cpp.
References assert(), llvm::countr_zero(), llvm::SmallVectorImpl< T >::emplace_back(), generateInstSeqImpl(), llvm::MCSubtargetInfo::hasFeature(), llvm::isPowerOf2_64(), llvm::Log2_64(), and Unsigned.
Referenced by llvm::RISCVMatInt::generateInstSeq(), generateInstSeqImpl(), and generateInstSeqLeadingZeros().
|
static |
Definition at line 176 of file RISCVMatInt.cpp.
References assert(), llvm::SmallVectorImpl< T >::clear(), llvm::countl_zero(), llvm::SmallVectorImpl< T >::emplace_back(), llvm::SmallVectorBase< Size_T >::empty(), generateInstSeqImpl(), llvm::MCSubtargetInfo::hasFeature(), and llvm::SmallVectorBase< Size_T >::size().
Referenced by llvm::RISCVMatInt::generateInstSeq().
|
static |
Definition at line 16 of file RISCVMatInt.cpp.
References HasRVC, and llvm::SmallVectorBase< Size_T >::size().
Referenced by llvm::RISCVMatInt::getIntMatCost().