Home | History | Annotate | Download | only in TableGen

Lines Matching defs: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, ArrayRef<SMLoc> Loc) {
36 struct SubOp : public SetTheory::Operator {
37 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc) {
51 struct AndOp : public SetTheory::Operator {
52 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc) {
66 struct SetIntBinOp : public SetTheory::Operator {
67 virtual void apply2(SetTheory &ST, DagInit *Expr,
71 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc) {
87 void apply2(SetTheory &ST, DagInit *Expr,
100 void apply2(SetTheory &ST, DagInit *Expr,
118 void apply2(SetTheory &ST, DagInit *Expr,
137 void apply2(SetTheory &ST, DagInit *Expr,
149 struct InterleaveOp : public SetTheory::Operator {
150 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc) {
167 struct SequenceOp : public SetTheory::Operator {
168 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc) {
230 struct FieldExpander : public SetTheory::Expander {
235 void expand(SetTheory &ST, Record *Def, RecSet &Elts) {
241 void SetTheory::Operator::anchor() { }
243 void SetTheory::Expander::anchor() { }
245 SetTheory::SetTheory() {
258 void SetTheory::addOperator(StringRef Name, Operator *Op) {
262 void SetTheory::addExpander(StringRef ClassName, Expander *E) {
266 void SetTheory::addFieldExpander(StringRef ClassName, StringRef FieldName) {
270 void SetTheory::evaluate(Init *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc) {
296 const RecVec *SetTheory::expand(Record *Set) {