OSDN Git Service

Merge "Quick: Avoid node iteration for passes that don't need it."
authorVladimir Marko <vmarko@google.com>
Thu, 16 Oct 2014 18:02:25 +0000 (18:02 +0000)
committerGerrit Code Review <noreply-gerritcodereview@google.com>
Thu, 16 Oct 2014 18:02:26 +0000 (18:02 +0000)
1  2 
compiler/dex/post_opt_passes.h

@@@ -88,16 -88,9 +88,16 @@@ class CalculatePredecessors : public Pa
   */
  class DFSOrders : public PassME {
   public:
-   DFSOrders() : PassME("DFSOrders") {
+   DFSOrders() : PassME("DFSOrders", kNoNodes) {
    }
  
 +  bool Gate(const PassDataHolder* data) const {
 +    DCHECK(data != nullptr);
 +    CompilationUnit* c_unit = down_cast<const PassMEDataHolder*>(data)->c_unit;
 +    DCHECK(c_unit != nullptr);
 +    return !c_unit->mir_graph->DfsOrdersUpToDate();
 +  }
 +
    void Start(PassDataHolder* data) const {
      DCHECK(data != nullptr);
      CompilationUnit* c_unit = down_cast<PassMEDataHolder*>(data)->c_unit;