reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
  674   assert(CI.InstClass != MIMG);
  678   if (CI.Offset0 == CI.Offset1)
  678   if (CI.Offset0 == CI.Offset1)
  682   if ((CI.Offset0 % CI.EltSize != 0) || (CI.Offset1 % CI.EltSize != 0))
  682   if ((CI.Offset0 % CI.EltSize != 0) || (CI.Offset1 % CI.EltSize != 0))
  682   if ((CI.Offset0 % CI.EltSize != 0) || (CI.Offset1 % CI.EltSize != 0))
  682   if ((CI.Offset0 % CI.EltSize != 0) || (CI.Offset1 % CI.EltSize != 0))
  685   unsigned EltOffset0 = CI.Offset0 / CI.EltSize;
  685   unsigned EltOffset0 = CI.Offset0 / CI.EltSize;
  686   unsigned EltOffset1 = CI.Offset1 / CI.EltSize;
  686   unsigned EltOffset1 = CI.Offset1 / CI.EltSize;
  687   CI.UseST64 = false;
  688   CI.BaseOff = 0;
  691   if ((CI.InstClass != DS_READ) && (CI.InstClass != DS_WRITE)) {
  691   if ((CI.InstClass != DS_READ) && (CI.InstClass != DS_WRITE)) {
  692     return (EltOffset0 + CI.Width0 == EltOffset1 ||
  693             EltOffset1 + CI.Width1 == EltOffset0) &&
  694            CI.GLC0 == CI.GLC1 && CI.DLC0 == CI.DLC1 &&
  694            CI.GLC0 == CI.GLC1 && CI.DLC0 == CI.DLC1 &&
  694            CI.GLC0 == CI.GLC1 && CI.DLC0 == CI.DLC1 &&
  694            CI.GLC0 == CI.GLC1 && CI.DLC0 == CI.DLC1 &&
  695            (CI.InstClass == S_BUFFER_LOAD_IMM || CI.SLC0 == CI.SLC1);
  695            (CI.InstClass == S_BUFFER_LOAD_IMM || CI.SLC0 == CI.SLC1);
  695            (CI.InstClass == S_BUFFER_LOAD_IMM || CI.SLC0 == CI.SLC1);
  702     CI.Offset0 = EltOffset0 / 64;
  703     CI.Offset1 = EltOffset1 / 64;
  704     CI.UseST64 = true;
  710     CI.Offset0 = EltOffset0;
  711     CI.Offset1 = EltOffset1;
  717   CI.BaseOff = std::min(CI.Offset0, CI.Offset1);
  717   CI.BaseOff = std::min(CI.Offset0, CI.Offset1);
  717   CI.BaseOff = std::min(CI.Offset0, CI.Offset1);
  720     CI.Offset0 = (EltOffset0 - CI.BaseOff / CI.EltSize) / 64;
  720     CI.Offset0 = (EltOffset0 - CI.BaseOff / CI.EltSize) / 64;
  720     CI.Offset0 = (EltOffset0 - CI.BaseOff / CI.EltSize) / 64;
  721     CI.Offset1 = (EltOffset1 - CI.BaseOff / CI.EltSize) / 64;
  721     CI.Offset1 = (EltOffset1 - CI.BaseOff / CI.EltSize) / 64;
  721     CI.Offset1 = (EltOffset1 - CI.BaseOff / CI.EltSize) / 64;
  722     CI.UseST64 = true;
  727     CI.Offset0 = EltOffset0 - CI.BaseOff / CI.EltSize;
  727     CI.Offset0 = EltOffset0 - CI.BaseOff / CI.EltSize;
  727     CI.Offset0 = EltOffset0 - CI.BaseOff / CI.EltSize;
  728     CI.Offset1 = EltOffset1 - CI.BaseOff / CI.EltSize;
  728     CI.Offset1 = EltOffset1 - CI.BaseOff / CI.EltSize;
  728     CI.Offset1 = EltOffset1 - CI.BaseOff / CI.EltSize;