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

References

lib/Transforms/Scalar/SROA.cpp
  459     assert((P.SI != SE || !P.SplitTails.empty()) &&
  459     assert((P.SI != SE || !P.SplitTails.empty()) &&
  463     if (!P.SplitTails.empty()) {
  464       if (P.EndOffset >= MaxSplitSliceEndOffset) {
  466         P.SplitTails.clear();
  472         P.SplitTails.erase(llvm::remove_if(P.SplitTails,
  472         P.SplitTails.erase(llvm::remove_if(P.SplitTails,
  475                                                     P.EndOffset;
  477                            P.SplitTails.end());
  478         assert(llvm::any_of(P.SplitTails,
  483         assert(llvm::all_of(P.SplitTails,
  493     if (P.SI == SE) {
  494       assert(P.SplitTails.empty() && "Failed to clear the split slices!");
  500     if (P.SI != P.SJ) {
  500     if (P.SI != P.SJ) {
  503       for (Slice &S : P)
  504         if (S.isSplittable() && S.endOffset() > P.EndOffset) {
  505           P.SplitTails.push_back(&S);
  511       P.SI = P.SJ;
  511       P.SI = P.SJ;
  514       if (P.SI == SE) {
  515         P.BeginOffset = P.EndOffset;
  515         P.BeginOffset = P.EndOffset;
  516         P.EndOffset = MaxSplitSliceEndOffset;
  523       if (!P.SplitTails.empty() && P.SI->beginOffset() != P.EndOffset &&
  523       if (!P.SplitTails.empty() && P.SI->beginOffset() != P.EndOffset &&
  523       if (!P.SplitTails.empty() && P.SI->beginOffset() != P.EndOffset &&
  524           !P.SI->isSplittable()) {
  525         P.BeginOffset = P.EndOffset;
  525         P.BeginOffset = P.EndOffset;
  526         P.EndOffset = P.SI->beginOffset();
  526         P.EndOffset = P.SI->beginOffset();
  536     P.BeginOffset = P.SplitTails.empty() ? P.SI->beginOffset() : P.EndOffset;
  536     P.BeginOffset = P.SplitTails.empty() ? P.SI->beginOffset() : P.EndOffset;
  536     P.BeginOffset = P.SplitTails.empty() ? P.SI->beginOffset() : P.EndOffset;
  536     P.BeginOffset = P.SplitTails.empty() ? P.SI->beginOffset() : P.EndOffset;
  537     P.EndOffset = P.SI->endOffset();
  537     P.EndOffset = P.SI->endOffset();
  538     ++P.SJ;
  542     if (!P.SI->isSplittable()) {
  545       assert(P.BeginOffset == P.SI->beginOffset());
  545       assert(P.BeginOffset == P.SI->beginOffset());
  549       while (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset) {
  549       while (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset) {
  549       while (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset) {
  550         if (!P.SJ->isSplittable())
  551           P.EndOffset = std::max(P.EndOffset, P.SJ->endOffset());
  551           P.EndOffset = std::max(P.EndOffset, P.SJ->endOffset());
  551           P.EndOffset = std::max(P.EndOffset, P.SJ->endOffset());
  552         ++P.SJ;
  563     assert(P.SI->isSplittable() && "Forming a splittable partition!");
  566     while (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset &&
  566     while (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset &&
  566     while (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset &&
  567            P.SJ->isSplittable()) {
  568       P.EndOffset = std::max(P.EndOffset, P.SJ->endOffset());
  568       P.EndOffset = std::max(P.EndOffset, P.SJ->endOffset());
  568       P.EndOffset = std::max(P.EndOffset, P.SJ->endOffset());
  569       ++P.SJ;
  575     if (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset) {
  575     if (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset) {
  575     if (P.SJ != SE && P.SJ->beginOffset() < P.EndOffset) {
  576       assert(!P.SJ->isSplittable());
  577       P.EndOffset = P.SJ->beginOffset();
  577       P.EndOffset = P.SJ->beginOffset();
  591     if (P.SI == RHS.P.SI && P.SplitTails.empty() == RHS.P.SplitTails.empty()) {
  591     if (P.SI == RHS.P.SI && P.SplitTails.empty() == RHS.P.SplitTails.empty()) {
  591     if (P.SI == RHS.P.SI && P.SplitTails.empty() == RHS.P.SplitTails.empty()) {
  591     if (P.SI == RHS.P.SI && P.SplitTails.empty() == RHS.P.SplitTails.empty()) {
  592       assert(P.SJ == RHS.P.SJ &&
  592       assert(P.SJ == RHS.P.SJ &&
  594       assert(P.SplitTails.size() == RHS.P.SplitTails.size() &&
  594       assert(P.SplitTails.size() == RHS.P.SplitTails.size() &&
  607   Partition &operator*() { return P; }