Go to the source code of this file.
|
| STATISTIC (NumRemovedSExtW, "Number of removed sign-extensions") |
|
| STATISTIC (NumTransformedToWInstrs, "Number of instructions transformed to W-ops") |
|
| INITIALIZE_PASS (RISCVSExtWRemoval, DEBUG_TYPE, "RISCV sext.w Removal", false, false) FunctionPass *llvm |
|
static bool | isSignExtendingOpW (const MachineInstr &MI, const MachineRegisterInfo &MRI) |
|
static bool | isSignExtendedW (Register SrcReg, const MachineRegisterInfo &MRI, const RISCVInstrInfo &TII, SmallPtrSetImpl< MachineInstr * > &FixableDef) |
|
static unsigned | getWOp (unsigned Opcode) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "riscv-sextw-removal" |
◆ getWOp()
static unsigned getWOp |
( |
unsigned |
Opcode | ) |
|
|
static |
◆ INITIALIZE_PASS()
◆ isSignExtendedW()
Definition at line 97 of file RISCVSExtWRemoval.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, Attrs, B, llvm::BitWidth, D, E, llvm::MachineFunction::front(), llvm::Function::getAttributes(), llvm::MachineOperand::getGlobal(), llvm::MachineFunction::getInfo(), getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineFunction::getRegInfo(), llvm::AttributeList::getRetAttrs(), llvm::MachineRegisterInfo::getVRegDef(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::MachineBasicBlock::instr_begin(), llvm::MachineInstr::isCall(), llvm::MachineOperand::isGlobal(), llvm::MachineRegisterInfo::isLiveIn(), llvm::RISCVMachineFunctionInfo::isSExt32Register(), isSignExtendingOpW(), llvm::Register::isVirtual(), llvm::ARM_MB::LD, MBB, MI, MRI, llvm::ISD::MUL, llvm::ISD::OR, PHI, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::ISD::SUB, TII, and llvm::ISD::XOR.
◆ isSignExtendingOpW()
◆ STATISTIC() [1/2]
STATISTIC |
( |
NumRemovedSExtW |
, |
|
|
"Number of removed sign-extensions" |
|
|
) |
| |
◆ STATISTIC() [2/2]
◆ DisableSExtWRemoval
cl::opt<bool> DisableSExtWRemoval("riscv-disable-sextw-removal", cl::desc("Disable removal of sext.w"), cl::init(false), cl::Hidden) |
|
static |