|
LLVM 24.0.0git
|
#include "RISCV.h"#include "RISCVSubtarget.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachinePassManager.h"#include "llvm/CodeGen/Passes.h"#include "llvm/CodeGen/RegisterScavenging.h"#include "llvm/IR/Analysis.h"#include "llvm/MC/TargetRegistry.h"#include "llvm/Pass.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "riscv-qc-relax-marking" |
| #define | RISCV_QC_RELAX_MARKING_NAME "RISC-V QC Relaxation Marking" |
Functions | |
| STATISTIC (NumMarked, "Number of Loads/Stores Marked") | |
| INITIALIZE_PASS (RISCVQCRelaxMarkingLegacy, DEBUG_TYPE, RISCV_QC_RELAX_MARKING_NAME, false, false) FunctionPass *llvm | |
| Returns an instance of the Make Compressible Optimization pass. | |
| static bool | isUImm7LSB000 (const MachineOperand &MO) |
| static bool | isUImm2LSB0 (const MachineOperand &MO) |
| static bool | isUImm2 (const MachineOperand &MO) |
| static bool | isGPRC (const MachineOperand &MO) |
| static unsigned | getQCMarkedOpcode (const MachineInstr &MI, const RISCVSubtarget &STI) |
| static bool | runQCRelaxMarking (MachineFunction &MF) |
| #define DEBUG_TYPE "riscv-qc-relax-marking" |
Definition at line 48 of file RISCVQCRelaxMarking.cpp.
| #define RISCV_QC_RELAX_MARKING_NAME "RISC-V QC Relaxation Marking" |
Definition at line 49 of file RISCVQCRelaxMarking.cpp.
Referenced by INITIALIZE_PASS().
|
static |
Definition at line 98 of file RISCVQCRelaxMarking.cpp.
References isGPRC(), isUImm2(), isUImm2LSB0(), isUImm7LSB000(), MI, and llvm::reportFatalInternalError().
Referenced by runQCRelaxMarking().
| INITIALIZE_PASS | ( | RISCVQCRelaxMarkingLegacy | , |
| DEBUG_TYPE | , | ||
| RISCV_QC_RELAX_MARKING_NAME | , | ||
| false | , | ||
| false | ) |
Returns an instance of the Make Compressible Optimization pass.
Definition at line 74 of file RISCVQCRelaxMarking.cpp.
References llvm::createRISCVQCRelaxMarkingLegacyPass(), DEBUG_TYPE, and RISCV_QC_RELAX_MARKING_NAME.
|
static |
Definition at line 94 of file RISCVQCRelaxMarking.cpp.
References llvm::MachineOperand::getReg().
Referenced by getQCMarkedOpcode().
|
static |
Definition at line 90 of file RISCVQCRelaxMarking.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineOperand::isImm(), and llvm::isUInt().
Referenced by getQCMarkedOpcode().
|
static |
Definition at line 86 of file RISCVQCRelaxMarking.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineOperand::isImm(), and llvm::isShiftedUInt().
Referenced by getQCMarkedOpcode().
|
static |
Definition at line 82 of file RISCVQCRelaxMarking.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineOperand::isImm(), and llvm::isShiftedUInt().
Referenced by getQCMarkedOpcode().
|
static |
Definition at line 145 of file RISCVQCRelaxMarking.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addConstantPoolIndex(), llvm::MachineInstrBuilder::addExternalSymbol(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::BuildMI(), Changed, llvm::MachineInstrBuilder::cloneMemRefs(), llvm::MachineOperand::CreateMCSymbol(), llvm::dbgs(), E(), llvm::TargetMachine::getCodeModel(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getIndex(), llvm::MachineOperand::getMCSymbol(), llvm::MachineOperand::getOffset(), getQCMarkedOpcode(), llvm::MachineFunction::getSubtarget(), llvm::MachineOperand::getSymbolName(), llvm::MachineFunction::getTarget(), llvm::MachineOperand::isCPI(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isMCSymbol(), llvm::MachineOperand::isSymbol(), LLVM_DEBUG, MBB, MI, llvm::RISCVII::MO_QC_ACCESS, llvm::MachineInstr::removeFromParent(), llvm::reportFatalInternalError(), llvm::MachineOperand::setOffset(), llvm::CodeModel::Small, and TII.
Referenced by llvm::RISCVQCRelaxMarkingPass::run().
| STATISTIC | ( | NumMarked | , |
| "Number of Loads/Stores Marked" | ) |