Lines Matching defs:SILoadStoreOptimizer
1 //===- SILoadStoreOptimizer.cpp -------------------------------------------===//
107 class SILoadStoreOptimizer : public MachineFunctionPass {
178 void setMI(MachineBasicBlock::iterator MI, const SILoadStoreOptimizer &LSO);
301 SILoadStoreOptimizer() : MachineFunctionPass(ID) {
645 SILoadStoreOptimizer::getCommonInstClass(const CombineInfo &CI,
765 void SILoadStoreOptimizer::CombineInfo::setMI(MachineBasicBlock::iterator MI,
766 const SILoadStoreOptimizer &LSO) {
853 INITIALIZE_PASS_BEGIN(SILoadStoreOptimizer, DEBUG_TYPE,
856 INITIALIZE_PASS_END(SILoadStoreOptimizer, DEBUG_TYPE, "SI Load Store Optimizer",
859 char SILoadStoreOptimizer::ID = 0;
861 char &llvm::SILoadStoreOptimizerID = SILoadStoreOptimizer::ID;
864 return new SILoadStoreOptimizer();
880 bool SILoadStoreOptimizer::canSwapInstructions(
900 SILoadStoreOptimizer::combineKnownAdjacentMMOs(const CombineInfo &CI,
921 bool SILoadStoreOptimizer::dmasksCanBeCombined(const CombineInfo &CI,
996 bool SILoadStoreOptimizer::offsetsCanBeCombined(CombineInfo &CI,
1120 bool SILoadStoreOptimizer::widthsFit(const GCNSubtarget &STM,
1144 SILoadStoreOptimizer::getDataRegClass(const MachineInstr &MI) const {
1165 SILoadStoreOptimizer::CombineInfo *
1166 SILoadStoreOptimizer::checkAndPrepareMerge(CombineInfo &CI,
1220 void SILoadStoreOptimizer::copyToDestRegs(
1251 SILoadStoreOptimizer::copyFromSrcRegs(CombineInfo &CI, CombineInfo &Paired,
1275 unsigned SILoadStoreOptimizer::read2Opcode(unsigned EltSize) const {
1281 unsigned SILoadStoreOptimizer::read2ST64Opcode(unsigned EltSize) const {
1290 SILoadStoreOptimizer::mergeRead2Pair(CombineInfo &CI, CombineInfo &Paired,
1348 unsigned SILoadStoreOptimizer::write2Opcode(unsigned EltSize) const {
1355 unsigned SILoadStoreOptimizer::write2ST64Opcode(unsigned EltSize) const {
1364 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeWrite2Pair(
1431 SILoadStoreOptimizer::mergeImagePair(CombineInfo &CI, CombineInfo &Paired,
1466 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeSMemLoadImmPair(
1498 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeBufferLoadPair(
1539 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeTBufferLoadPair(
1584 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeTBufferStorePair(
1625 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeFlatLoadPair(
1654 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeFlatStorePair(
1682 unsigned SILoadStoreOptimizer::getNewOpcode(const CombineInfo &CI,
1822 SILoadStoreOptimizer::getSubRegIdxs(const CombineInfo &CI,
1855 SILoadStoreOptimizer::getTargetRegisterClass(const CombineInfo &CI,
1881 MachineBasicBlock::iterator SILoadStoreOptimizer::mergeBufferStorePair(
1920 SILoadStoreOptimizer::createRegOrImm(int32_t Val, MachineInstr &MI) const {
1936 Register SILoadStoreOptimizer::computeBase(MachineInstr &MI,
1994 void SILoadStoreOptimizer::updateBaseAndOffset(MachineInstr &MI,
2004 SILoadStoreOptimizer::extractConstOffset(const MachineOperand &Op) const {
2029 void SILoadStoreOptimizer::processBaseWithConstOffset(const MachineOperand &Base,
2082 bool SILoadStoreOptimizer::promoteConstantOffsetToImm(
2231 void SILoadStoreOptimizer::addInstToMergeableList(const CombineInfo &CI,
2247 SILoadStoreOptimizer::collectMergeableInsts(
2341 bool SILoadStoreOptimizer::optimizeBlock(
2372 SILoadStoreOptimizer::optimizeInstsWithSameBaseAddr(
2462 bool SILoadStoreOptimizer::runOnMachineFunction(MachineFunction &MF) {
2476 LLVM_DEBUG(dbgs() << "Running SILoadStoreOptimizer\n");