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
18 #include "llvm/TableGen/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,
37 struct SubOp : public SetTheory::Operator {
38 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts,
53 struct AndOp : public SetTheory::Operator {
54 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts,
69 struct SetIntBinOp : public SetTheory::Operator {
70 virtual void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
73 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts,
90 void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
102 void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
119 void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
137 void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
148 struct InterleaveOp : public SetTheory::Operator {
149 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts,
167 struct SequenceOp : public SetTheory::Operator {
168 void apply(SetTheory &ST, DagInit *Expr, RecSet &Elts,
231 struct FieldExpander : public SetTheory::Expander {
236 void expand(SetTheory &ST, Record *Def, RecSet &Elts) override {
243 void SetTheory::Operator::anchor() {}
244 void SetTheory::Expander::anchor() {}
247 SetTheory::SetTheory() {
260 void SetTheory::addOperator(StringRef Name, Operator *Op) {
264 void SetTheory::addExpander(StringRef ClassName, Expander *E) {
268 void SetTheory::addFieldExpander(StringRef ClassName, StringRef FieldName) {
272 void SetTheory::evaluate(Init *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc) {
298 const RecVec *SetTheory::expand(Record *Set) {