[PATCH] D58756: Fix typo in comment for function "static void initializeWorkList" in "/lib/Analysis/CFLAndersAliasAnalysis.cpp"

Enna1 via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 27 19:16:04 PST 2019


Enna1 added a comment.

The definition of function "initializeWorkList" :

  static void initializeWorkList(std::vector<WorkListItem> &WorkList,
                                 ReachabilitySet &ReachSet,
                                 const CFLGraph &Graph) {
    for (const auto &Mapping : Graph.value_mappings()) {
      auto Val = Mapping.first;
      auto &ValueInfo = Mapping.second;
      assert(ValueInfo.getNumLevels() > 0);
  
      // Insert all immediate assignment neighbors to the worklist
      for (unsigned I = 0, E = ValueInfo.getNumLevels(); I < E; ++I) {
        auto Src = InstantiatedValue{Val, I};
        // If there's an assignment edge from X to Y, it means Y is reachable from
        // X at S3 and X is reachable from Y at S1
        for (auto &Edge : ValueInfo.getNodeInfoAtLevel(I).Edges) {
          propagate(Edge.Other, Src, MatchState::FlowFromReadOnly, ReachSet,
                    WorkList);
          propagate(Src, Edge.Other, MatchState::FlowToWriteOnly, ReachSet,
                    WorkList);
        }
      }
    }
  }

MatchState::FlowFromReadOnly represents S1 in the paper "Demand-driven alias analysis for C", MatchState::FlowToWriteOnly and MatchState::FlowToReadWrite represent S3 in the paper.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58756/new/

https://reviews.llvm.org/D58756





More information about the llvm-commits mailing list