• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/utils/TableGen/

Lines Matching defs:RuleMatcher

652 class RuleMatcher;
800 class RuleMatcher : public Matcher {
861 RuleMatcher(ArrayRef<SMLoc> SrcLoc)
866 RuleMatcher(RuleMatcher &&Other) = default;
867 RuleMatcher &operator=(RuleMatcher &&Other) = default;
951 bool isHigherPriorityThan(const RuleMatcher &B) const;
977 uint64_t RuleMatcher::NextRuleID = 0;
979 using action_iterator = RuleMatcher::action_iterator;
1100 RuleMatcher &Rule) const = 0;
1164 RuleMatcher &Rule) const override;
1215 RuleMatcher &Rule) const override {
1250 RuleMatcher &Rule) const override {
1281 RuleMatcher &Rule) const override {
1316 RuleMatcher &Rule) const override {
1337 RuleMatcher &Rule) const override {
1354 RuleMatcher &Rule) const override {
1381 RuleMatcher &Rule) const override {
1410 RuleMatcher &Rule) const override {
1438 RuleMatcher &Rule) const override {
1468 RuleMatcher &Rule) const override {
1529 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) {
1679 RuleMatcher &Rule) const override {
1738 RuleMatcher &Rule) const override {
1794 RuleMatcher &Rule) const override {
1835 RuleMatcher &Rule) const override {
1871 RuleMatcher &Rule) const override {
1902 RuleMatcher &Rule) const override {
1941 RuleMatcher &Rule) const override {
1983 RuleMatcher &Rule) const override {
2017 RuleMatcher &Rule) const override {
2036 RuleMatcher &Rule;
2052 InstructionMatcher(RuleMatcher &Rule, StringRef SymbolicName)
2067 RuleMatcher &getRuleMatcher() const { return Rule; }
2126 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) {
2196 StringRef RuleMatcher::getOpcode() const {
2200 unsigned RuleMatcher::getNumOperands() const {
2204 LLTCodeGen RuleMatcher::getFirstConditionAsRootType() {
2229 RuleMatcher &Rule, StringRef SymbolicName)
2239 void emitCaptureOpcodes(MatchTable &Table, RuleMatcher &Rule) const {
2251 RuleMatcher &Rule) const override {
2335 RuleMatcher &Rule) const = 0;
2359 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2390 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2426 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2463 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2494 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2528 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2560 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2599 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2626 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2647 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2686 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2716 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2747 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2773 RuleMatcher &Rule) const = 0;
2784 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2799 bool canMutate(RuleMatcher &Rule, const InstructionMatcher *Insn) const {
2826 void chooseInsnToMutate(RuleMatcher &Rule) {
2844 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2930 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2949 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2971 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2980 InstructionMatcher &RuleMatcher::addInstructionMatcher(StringRef SymbolicName) {
2986 void RuleMatcher::addRequiredFeature(Record *Feature) {
2990 const std::vector<Record *> &RuleMatcher::getRequiredFeatures() const {
3002 Kind &RuleMatcher::addAction(Args &&... args) {
3015 action_iterator RuleMatcher::insertAction(action_iterator InsertPt,
3021 unsigned RuleMatcher::implicitlyDefineInsnVar(InstructionMatcher &Matcher) {
3027 unsigned RuleMatcher::getInsnVarID(InstructionMatcher &InsnMatcher) const {
3034 void RuleMatcher::defineOperand(StringRef SymbolicName, OperandMatcher &OM) {
3045 void RuleMatcher::definePhysRegOperand(Record *Reg, OperandMatcher &OM) {
3053 RuleMatcher::getInstructionMatcher(StringRef SymbolicName) const {
3062 RuleMatcher::getPhysRegOperandMatcher(Record *Reg) const {
3074 RuleMatcher::getOperandMatcher(StringRef Name) const {
3083 void RuleMatcher::emit(MatchTable &Table) {
3188 bool RuleMatcher::isHigherPriorityThan(const RuleMatcher &B) const {
3205 unsigned RuleMatcher::countRendererFns() const {
3246 RuleMatcher &Rule) const {
3308 Error importRulePredicates(RuleMatcher &M, ArrayRef<Predicate> Predicates);
3310 createAndImportSelDAGMatcher(RuleMatcher &Rule,
3315 Error importChildMatcher(RuleMatcher &Rule, InstructionMatcher &InsnMatcher,
3321 RuleMatcher &M, InstructionMatcher &InsnMatcher,
3324 action_iterator InsertPt, RuleMatcher &M, const TreePatternNode *Dst,
3327 createInstructionRenderer(action_iterator InsertPt, RuleMatcher &M,
3332 importExplicitUseRenderers(action_iterator InsertPt, RuleMatcher &M,
3336 importExplicitUseRenderer(action_iterator InsertPt, RuleMatcher &Rule,
3339 Error importDefaultOperandRenderers(action_iterator InsertPt, RuleMatcher &M,
3357 Expected<RuleMatcher> runOnPattern(const PatternToMatch &P);
3361 MatchTable buildMatchTable(MutableArrayRef<RuleMatcher> Rules, bool Optimize,
3485 GlobalISelEmitter::importRulePredicates(RuleMatcher &M,
3498 RuleMatcher &Rule, InstructionMatcher &InsnMatcher,
3832 RuleMatcher &Rule, InstructionMatcher &InsnMatcher,
3982 action_iterator InsertPt, RuleMatcher &Rule, BuildMIAction &DstMIBuilder,
4137 RuleMatcher &M, InstructionMatcher &InsnMatcher, const TreePatternNode *Src,
4168 const action_iterator InsertPt, RuleMatcher &M, const TreePatternNode *Dst,
4266 action_iterator InsertPt, RuleMatcher &M, const TreePatternNode *Dst) {
4296 action_iterator InsertPt, RuleMatcher &M, BuildMIAction &DstMIBuilder,
4443 action_iterator InsertPt, RuleMatcher &M, BuildMIAction &DstMIBuilder,
4618 Expected<RuleMatcher> GlobalISelEmitter::runOnPattern(const PatternToMatch &P) {
4621 RuleMatcher M(P.getSrcRecord()->getLoc());
4643 // addInstructionMatcher use the RuleMatcher M to set up their
4647 // returned during that process by the RuleMatcher when issuing
5018 GlobalISelEmitter::buildMatchTable(MutableArrayRef<RuleMatcher> Rules,
5029 for (RuleMatcher &Rule : Rules) {
5038 auto *L = static_cast<const RuleMatcher *>(A);
5039 auto *R = static_cast<const RuleMatcher *>(B);
5069 auto *R = static_cast<RuleMatcher *>(*T);
5075 auto *L = static_cast<RuleMatcher *>(A);
5076 auto *R = static_cast<RuleMatcher *>(B);
5114 std::vector<RuleMatcher> Rules;
5362 llvm::stable_sort(Rules, [&](const RuleMatcher &A, const RuleMatcher &B) {
5433 void RuleMatcher::optimize() {
5457 bool RuleMatcher::hasFirstCondition() const {
5470 const PredicateMatcher &RuleMatcher::getFirstCondition() const {
5472 "Trying to get a condition from an empty RuleMatcher");
5488 std::unique_ptr<PredicateMatcher> RuleMatcher::popFirstCondition() {
5490 "Trying to pop a condition from an empty RuleMatcher");
5574 Table, *static_cast<RuleMatcher *>(*Matchers.begin()));