Lines Matching defs:SILoadStoreOptimizer
1 //===- SILoadStoreOptimizer.cpp -------------------------------------------===//
60 #include "SILoadStoreOptimizer.h"
108 class SILoadStoreOptimizer {
179 void setMI(MachineBasicBlock::iterator MI, const SILoadStoreOptimizer &LSO);
304 SILoadStoreOptimizer(AliasAnalysis *AA) : AA(AA) {}
674 SILoadStoreOptimizer::getCommonInstClass(const CombineInfo &CI,
802 void SILoadStoreOptimizer::CombineInfo::setMI(MachineBasicBlock::iterator MI,
803 const SILoadStoreOptimizer &LSO) {
917 bool SILoadStoreOptimizer::canSwapInstructions(
937 SILoadStoreOptimizer::combineKnownAdjacentMMOs(const CombineInfo &CI,
958 bool SILoadStoreOptimizer::dmasksCanBeCombined(const CombineInfo &CI,
1033 bool SILoadStoreOptimizer::offsetsCanBeCombined(CombineInfo &CI,
1157 bool SILoadStoreOptimizer::widthsFit(const GCNSubtarget &STM,
1181 SILoadStoreOptimizer::getDataRegClass(const MachineInstr &MI) const {
1202 SILoadStoreOptimizer::CombineInfo *
1203 SILoadStoreOptimizer::checkAndPrepareMerge(CombineInfo &CI,
1257 void SILoadStoreOptimizer::copyToDestRegs(
1288 SILoadStoreOptimizer::copyFromSrcRegs(CombineInfo &CI, CombineInfo &Paired,
1312 unsigned SILoadStoreOptimizer::read2Opcode(unsigned EltSize) const {
1318 unsigned SILoadStoreOptimizer::read2ST64Opcode(unsigned EltSize) const {
1327 SILoadStoreOptimizer::mergeRead2Pair(CombineInfo &CI, CombineInfo &Paired,
1385 unsigned SILoadStoreOptimizer::write2Opcode(unsigned EltSize) const {
1392 unsigned SILoadStoreOptimizer::write2ST64Opcode(unsigned EltSize) const {
1401 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeWrite2Pair(
1468 SILoadStoreOptimizer::mergeImagePair(CombineInfo &CI, CombineInfo &Paired,
1503 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeSMemLoadImmPair(
1535 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeBufferLoadPair(
1576 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeTBufferLoadPair(
1621 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeTBufferStorePair(
1662 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeFlatLoadPair(
1691 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeFlatStorePair(
1727 unsigned SILoadStoreOptimizer::getNewOpcode(const CombineInfo &CI,
1884 SILoadStoreOptimizer::getSubRegIdxs(const CombineInfo &CI,
1917 SILoadStoreOptimizer::getTargetRegisterClass(const CombineInfo &CI,
1943 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeBufferStorePair(
1982 SILoadStoreOptimizer::createRegOrImm(int32_t Val, MachineInstr &MI) const {
1998 Register SILoadStoreOptimizer::computeBase(MachineInstr &MI,
2056 void SILoadStoreOptimizer::updateBaseAndOffset(MachineInstr &MI,
2066 SILoadStoreOptimizer::extractConstOffset(const MachineOperand &Op) const {
2091 void SILoadStoreOptimizer::processBaseWithConstOffset(const MachineOperand &Base,
2150 bool SILoadStoreOptimizer::promoteConstantOffsetToImm(
2300 void SILoadStoreOptimizer::addInstToMergeableList(const CombineInfo &CI,
2316 SILoadStoreOptimizer::collectMergeableInsts(
2410 bool SILoadStoreOptimizer::optimizeBlock(
2441 SILoadStoreOptimizer::optimizeInstsWithSameBaseAddr(
2534 return SILoadStoreOptimizer(
2539 bool SILoadStoreOptimizer::run(MachineFunction &MF) {
2549 LLVM_DEBUG(dbgs() << "Running SILoadStoreOptimizer\n");
2597 bool Changed = SILoadStoreOptimizer(&AA).run(MF);