Lines Matching defs:CompressPat
7 // CompressInstEmitter implements a tablegen-driven CompressPat based
12 // CompressInstEmitter implements a tablegen-driven CompressPat Instruction
16 // This tablegen backend processes CompressPat declarations in a
27 // class CompressPat<dag input, dag output, list<Predicate> predicates = []> {
39 // def : CompressPat<(ADD GPRNoX0:$rs1, GPRNoX0:$rs1, GPRNoX0:$rs2),
100 struct CompressPat {
115 CompressPat(const CodeGenInstruction &S, const CodeGenInstruction &D,
125 SmallVector<CompressPat, 4> CompressPatterns;
270 llvm_unreachable("Unhandled CompressPat argument type!");
409 /// These are the checks to validate a CompressPat pattern declarations.
482 // Get the target features for the CompressPat.
489 CompressPatterns.push_back(CompressPat(
586 llvm::stable_sort(CompressPatterns, [EType](const CompressPat &LHS,
587 const CompressPat &RHS) {
658 for (auto &CompressPat : CompressPatterns) {
659 if (EType == EmitterType::Uncompress && CompressPat.IsCompressOnly)
667 CompressOrCheck ? CompressPat.Source : CompressPat.Dest;
669 CompressOrCheck ? CompressPat.Dest : CompressPat.Source;
671 ? CompressPat.SourceOperandMap
672 : CompressPat.DestOperandMap;
674 ? CompressPat.DestOperandMap
675 : CompressPat.SourceOperandMap;
687 // Add CompressPat required features.
688 getReqFeatures(FeaturesSet, AnyOfFeatureSets, CompressPat.PatReqFeatures);
904 // Process the CompressPat definitions, validating them as we do so.
905 for (const Record *Pat : Records.getAllDerivedDefinitions("CompressPat"))