Lines Matching defs:InstructionPattern
254 //===- InstructionPattern ---------------------------------------------===//
256 /// An operand for an InstructionPattern.
319 class InstructionPattern : public Pattern {
321 virtual ~InstructionPattern() = default;
340 /// When this InstructionPattern is used as the match root, returns the
380 InstructionPattern(unsigned K, StringRef Name) : Pattern(K, Name) {}
389 /// Maps InstructionPattern operands to their definitions. This allows us to tie
394 bool addPattern(InstructionPattern *P,
399 LookupResult(InstructionPattern *Def) : Found(true), Def(Def) {}
402 InstructionPattern *Def = nullptr;
413 InstructionPattern *getDef(StringRef OpName) const {
425 StringMap<InstructionPattern *> Table;
456 class CodeGenInstructionPattern : public InstructionPattern {
459 : InstructionPattern(K_CodeGenInstruction, Name), I(I) {}
506 bool check(InstructionPattern &P,
519 void PrintSeenWithTypeIn(InstructionPattern &P, StringRef OpName,
529 SmallVector<InstructionPattern *, 16> Pats;
624 /// - There is an InstructionPattern that binds the parameter.
648 class PatFragPattern : public InstructionPattern {
651 : InstructionPattern(K_PatFrag, Name), PF(PF) {}
697 class BuiltinPattern : public InstructionPattern {
714 : InstructionPattern(K_Builtin, Name), I(getBuiltinInfo(Def)) {}