Lines Matching refs:SetTheory

1 //===- SetTheory.cpp - Generate ordered sets from DAG expressions ---------===//
10 // This file implements the SetTheory class that computes ordered sets of
15 #include "SetTheory.h"
25 typedef SetTheory::RecSet RecSet;
26 typedef SetTheory::RecVec RecVec;
29 struct AddOp : public SetTheory::Operator {
30 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts) {
36 struct SubOp : public SetTheory::Operator {
37 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts) {
51 struct AndOp : public SetTheory::Operator {
52 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts) {
65 struct SetIntBinOp : public SetTheory::Operator {
66 virtual void apply2(SetTheory &ST, DagInit *Expr,
70 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts) {
84 void apply2(SetTheory &ST, DagInit *Expr,
96 void apply2(SetTheory &ST, DagInit *Expr,
113 void apply2(SetTheory &ST, DagInit *Expr,
132 void apply2(SetTheory &ST, DagInit *Expr,
143 struct InterleaveOp : public SetTheory::Operator {
144 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts) {
161 struct SequenceOp : public SetTheory::Operator {
162 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts) {
222 struct FieldExpander : public SetTheory::Expander {
227 void expand(SetTheory &ST, Record *Def, RecSet &Elts) {
233 void SetTheory::Operator::anchor() { }
235 void SetTheory::Expander::anchor() { }
237 SetTheory::SetTheory() {
250 void SetTheory::addOperator(StringRef Name, Operator *Op) {
254 void SetTheory::addExpander(StringRef ClassName, Expander *E) {
258 void SetTheory::addFieldExpander(StringRef ClassName, StringRef FieldName) {
262 void SetTheory::evaluate(Init *Expr, RecSet &Elts) {
288 const RecVec *SetTheory::expand(Record *Set) {