LLVM 20.0.0git
Namespaces | Functions
RISCVMatInt.cpp File Reference
#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)
 

Function Documentation

◆ extractRotateInfo()

static unsigned extractRotateInfo ( int64_t  Val)
static

◆ generateInstSeqImpl()

static void generateInstSeqImpl ( int64_t  Val,
const MCSubtargetInfo STI,
RISCVMatInt::InstSeq Res 
)
static

◆ generateInstSeqLeadingZeros()

static void generateInstSeqLeadingZeros ( int64_t  Val,
const MCSubtargetInfo STI,
RISCVMatInt::InstSeq Res 
)
static

◆ getInstSeqCost()

static int getInstSeqCost ( RISCVMatInt::InstSeq Res,
bool  HasRVC 
)
static

Definition at line 16 of file RISCVMatInt.cpp.

References HasRVC, and llvm::SmallVectorBase< Size_T >::size().

Referenced by llvm::RISCVMatInt::getIntMatCost().