8#ifndef LLVM_ADT_DAGDELTAALGORITHM_H
9#define LLVM_ADT_DAGDELTAALGORITHM_H
39 virtual void anchor();
43 using edge_ty = std::pair<change_ty, change_ty>;
65 const std::vector<edge_ty> &Dependencies);
DAGDeltaAlgorithm - Implements a "delta debugging" algorithm for minimizing directed acyclic graphs u...
virtual bool ExecuteOneTest(const changeset_ty &S)=0
ExecuteOneTest - Execute a single test predicate on the change set S.
std::vector< changeset_ty > changesetlist_ty
std::set< change_ty > changeset_ty
std::pair< change_ty, change_ty > edge_ty
virtual void UpdatedSearchState(const changeset_ty &Changes, const changesetlist_ty &Sets, const changeset_ty &Required)
UpdatedSearchState - Callback used when the search state changes.
virtual ~DAGDeltaAlgorithm()=default
changeset_ty Run(const changeset_ty &Changes, const std::vector< edge_ty > &Dependencies)
Run - Minimize the DAG formed by the Changes vertices and the Dependencies edges by executing.
This is an optimization pass for GlobalISel generic memory operations.