MLIR  20.0.0git
Functions
Predicate.cpp File Reference
#include "mlir/TableGen/Predicate.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/TableGen/Error.h"
#include "llvm/TableGen/Record.h"

Go to the source code of this file.

Functions

static PredCombinerKind getPredCombinerKind (const Pred &pred)
 
static void performSubstitutions (std::string &str, ArrayRef< Subst > substitutions)
 Perform the given substitutions on 'str' in-place. More...
 
static PredNode * buildPredicateTree (const Pred &root, SpecificBumpPtrAllocator< PredNode > &allocator, ArrayRef< Subst > substitutions)
 
static PredNode * propagateGroundTruth (PredNode *node, const llvm::SmallPtrSetImpl< Pred * > &knownTruePreds, const llvm::SmallPtrSetImpl< Pred * > &knownFalsePreds)
 
static std::string combineBinary (ArrayRef< std::string > children, const std::string &combiner, std::string init)
 
static std::string combineNot (ArrayRef< std::string > children)
 
static std::string getCombinedCondition (const PredNode &root)
 

Function Documentation

◆ buildPredicateTree()

static PredNode* buildPredicateTree ( const Pred root,
SpecificBumpPtrAllocator< PredNode > &  allocator,
ArrayRef< Subst >  substitutions 
)
static

◆ combineBinary()

static std::string combineBinary ( ArrayRef< std::string >  children,
const std::string &  combiner,
std::string  init 
)
static

Definition at line 291 of file Predicate.cpp.

Referenced by getCombinedCondition().

◆ combineNot()

static std::string combineNot ( ArrayRef< std::string >  children)
static

Definition at line 311 of file Predicate.cpp.

Referenced by getCombinedCondition().

◆ getCombinedCondition()

static std::string getCombinedCondition ( const PredNode &  root)
static

Definition at line 318 of file Predicate.cpp.

References combineBinary(), and combineNot().

Referenced by mlir::tblgen::CombinedPred::getConditionImpl().

◆ getPredCombinerKind()

static PredCombinerKind getPredCombinerKind ( const Pred pred)
static

Definition at line 120 of file Predicate.cpp.

References mlir::tblgen::Pred::isCombined().

Referenced by buildPredicateTree().

◆ performSubstitutions()

static void performSubstitutions ( std::string &  str,
ArrayRef< Subst >  substitutions 
)
static

Perform the given substitutions on 'str' in-place.

Definition at line 140 of file Predicate.cpp.

Referenced by buildPredicateTree().

◆ propagateGroundTruth()

static PredNode* propagateGroundTruth ( PredNode *  node,
const llvm::SmallPtrSetImpl< Pred * > &  knownTruePreds,
const llvm::SmallPtrSetImpl< Pred * > &  knownFalsePreds 
)
static

Definition at line 207 of file Predicate.cpp.

Referenced by mlir::tblgen::CombinedPred::getConditionImpl().