Lines Matching defs:CombineInfo

89   GLOBAL_STORE // any CombineInfo, they are only ever returned by
108 struct CombineInfo {
125 bool hasSameBaseAddress(const CombineInfo &CI) {
181 bool operator<(const CombineInfo& Other) const {
212 static bool dmasksCanBeCombined(const CombineInfo &CI,
214 const CombineInfo &Paired);
215 static bool offsetsCanBeCombined(CombineInfo &CI, const GCNSubtarget &STI,
216 CombineInfo &Paired, bool Modify = false);
217 static bool widthsFit(const GCNSubtarget &STI, const CombineInfo &CI,
218 const CombineInfo &Paired);
219 unsigned getNewOpcode(const CombineInfo &CI, const CombineInfo &Paired);
220 static std::pair<unsigned, unsigned> getSubRegIdxs(const CombineInfo &CI,
221 const CombineInfo &Paired);
223 getTargetRegisterClass(const CombineInfo &CI,
224 const CombineInfo &Paired) const;
227 CombineInfo *checkAndPrepareMerge(CombineInfo &CI, CombineInfo &Paired);
229 void copyToDestRegs(CombineInfo &CI, CombineInfo &Paired,
232 Register copyFromSrcRegs(CombineInfo &CI, CombineInfo &Paired,
239 mergeRead2Pair(CombineInfo &CI, CombineInfo &Paired,
245 mergeWrite2Pair(CombineInfo &CI, CombineInfo &Paired,
248 mergeImagePair(CombineInfo &CI, CombineInfo &Paired,
251 mergeSMemLoadImmPair(CombineInfo &CI, CombineInfo &Paired,
254 mergeBufferLoadPair(CombineInfo &CI, CombineInfo &Paired,
257 mergeBufferStorePair(CombineInfo &CI, CombineInfo &Paired,
260 mergeTBufferLoadPair(CombineInfo &CI, CombineInfo &Paired,
263 mergeTBufferStorePair(CombineInfo &CI, CombineInfo &Paired,
266 mergeFlatLoadPair(CombineInfo &CI, CombineInfo &Paired,
269 mergeFlatStorePair(CombineInfo &CI, CombineInfo &Paired,
284 void addInstToMergeableList(const CombineInfo &CI,
285 std::list<std::list<CombineInfo> > &MergeableInsts) const;
290 std::list<std::list<CombineInfo>> &MergeableInsts) const;
292 static MachineMemOperand *combineKnownAdjacentMMOs(const CombineInfo &CI,
293 const CombineInfo &Paired);
295 static InstClassEnum getCommonInstClass(const CombineInfo &CI,
296 const CombineInfo &Paired);
305 bool optimizeInstsWithSameBaseAddr(std::list<CombineInfo> &MergeList,
307 bool optimizeBlock(std::list<std::list<CombineInfo> > &MergeableInsts);
645 SILoadStoreOptimizer::getCommonInstClass(const CombineInfo &CI,
646 const CombineInfo &Paired) {
765 void SILoadStoreOptimizer::CombineInfo::setMI(MachineBasicBlock::iterator MI,
900 SILoadStoreOptimizer::combineKnownAdjacentMMOs(const CombineInfo &CI,
901 const CombineInfo &Paired) {
921 bool SILoadStoreOptimizer::dmasksCanBeCombined(const CombineInfo &CI,
923 const CombineInfo &Paired) {
996 bool SILoadStoreOptimizer::offsetsCanBeCombined(CombineInfo &CI,
998 CombineInfo &Paired,
1121 const CombineInfo &CI,
1122 const CombineInfo &Paired) {
1165 SILoadStoreOptimizer::CombineInfo *
1166 SILoadStoreOptimizer::checkAndPrepareMerge(CombineInfo &CI,
1167 CombineInfo &Paired) {
1190 CombineInfo *Where;
1211 // this function should only be called on CombineInfo objects that
1221 CombineInfo &CI, CombineInfo &Paired,
1251 SILoadStoreOptimizer::copyFromSrcRegs(CombineInfo &CI, CombineInfo &Paired,
1290 SILoadStoreOptimizer::mergeRead2Pair(CombineInfo &CI, CombineInfo &Paired,
1365 CombineInfo &CI, CombineInfo &Paired,
1431 SILoadStoreOptimizer::mergeImagePair(CombineInfo &CI, CombineInfo &Paired,
1467 CombineInfo &CI, CombineInfo &Paired,
1499 CombineInfo &CI, CombineInfo &Paired,
1540 CombineInfo &CI, CombineInfo &Paired,
1585 CombineInfo &CI, CombineInfo &Paired,
1626 CombineInfo &CI, CombineInfo &Paired,
1655 CombineInfo &CI, CombineInfo &Paired,
1682 unsigned SILoadStoreOptimizer::getNewOpcode(const CombineInfo &CI,
1683 const CombineInfo &Paired) {
1822 SILoadStoreOptimizer::getSubRegIdxs(const CombineInfo &CI,
1823 const CombineInfo &Paired) {
1855 SILoadStoreOptimizer::getTargetRegisterClass(const CombineInfo &CI,
1856 const CombineInfo &Paired) const {
1882 CombineInfo &CI, CombineInfo &Paired,
2231 void SILoadStoreOptimizer::addInstToMergeableList(const CombineInfo &CI,
2232 std::list<std::list<CombineInfo> > &MergeableInsts) const {
2233 for (std::list<CombineInfo> &AddrList : MergeableInsts) {
2250 std::list<std::list<CombineInfo>> &MergeableInsts) const {
2284 CombineInfo CI;
2308 // Part 2: Sort lists by offset and then for each CombineInfo object in the
2311 // the CombineInfo object is deleted from the list.
2313 for (std::list<std::list<CombineInfo>>::iterator I = MergeableInsts.begin(),
2316 std::list<CombineInfo> &MergeList = *I;
2329 [] (const CombineInfo &A, const CombineInfo &B) {
2342 std::list<std::list<CombineInfo> > &MergeableInsts) {
2345 for (std::list<std::list<CombineInfo>>::iterator I = MergeableInsts.begin(),
2347 std::list<CombineInfo> &MergeList = *I;
2373 std::list<CombineInfo> &MergeList,
2388 CombineInfo &CI = *First;
2389 CombineInfo &Paired = *Second;
2391 CombineInfo *Where = checkAndPrepareMerge(CI, Paired);
2490 std::list<std::list<CombineInfo>> MergeableInsts;