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(CodeGenInstruction &S, CodeGenInstruction &D,
124 SmallVector<CompressPat, 4> CompressPatterns;
262 llvm_unreachable("Unhandled CompressPat argument type!");
401 /// These are the checks to validate a CompressPat pattern declarations.
474 // Get the target features for the CompressPat.
481 CompressPatterns.push_back(CompressPat(SourceInst, DestInst, PatReqFeatures,
578 llvm::stable_sort(CompressPatterns, [EType](const CompressPat &LHS,
579 const CompressPat &RHS) {
650 for (auto &CompressPat : CompressPatterns) {
651 if (EType == EmitterType::Uncompress && CompressPat.IsCompressOnly)
659 CompressOrCheck ? CompressPat.Source : CompressPat.Dest;
661 CompressOrCheck ? CompressPat.Dest : CompressPat.Source;
663 ? CompressPat.SourceOperandMap
664 : CompressPat.DestOperandMap;
666 ? CompressPat.DestOperandMap
667 : CompressPat.SourceOperandMap;
679 // Add CompressPat required features.
680 getReqFeatures(FeaturesSet, AnyOfFeatureSets, CompressPat.PatReqFeatures);
891 std::vector<Record *> Insts = Records.getAllDerivedDefinitions("CompressPat");
893 // Process the CompressPat definitions, validating them as we do so.