Lines Matching defs:const

64     bool isCompletelyUnknown() const { return TypeVec.empty(); }
66 bool isConcrete() const {
73 MVT::SimpleValueType getConcrete() const {
78 bool isDynamicallyResolved() const {
82 const SmallVectorImpl<MVT::SimpleValueType> &getTypeList() const {
87 bool isVoid() const {
93 bool hasIntegerTypes() const;
97 bool hasFloatingPointTypes() const;
101 bool hasVectorTypes() const;
104 std::string getName() const;
109 bool MergeInTypeInfo(const EEVT::TypeSet &InVT, TreePattern &TP);
139 bool operator!=(const TypeSet &RHS) const { return TypeVec != RHS.TypeVec; }
140 bool operator==(const TypeSet &RHS) const { return TypeVec == RHS.TypeVec; }
148 const char *PredicateName = 0);
192 bool ApplyTypeConstraint(TreePatternNode *N, const SDNodeInfo &NodeInfo,
193 TreePattern &TP) const;
210 unsigned getNumResults() const { return NumResults; }
214 int getNumOperands() const { return NumOperands; }
215 Record *getRecord() const { return Def; }
216 const std::string &getEnumName() const { return EnumName; }
217 const std::string &getSDClassName() const { return SDClassName; }
219 const std::vector<SDTypeConstraint> &getTypeConstraints() const {
226 MVT::SimpleValueType getKnownType(unsigned ResNo) const;
230 bool hasProperty(enum SDNP Prop) const { return Properties & (1 << Prop); }
236 bool ApplyTypeConstraints(TreePatternNode *N, TreePattern &TP) const {
256 TreePattern *getOrigPatFragRecord() const { return PatFragRec; }
259 bool isAlwaysTrue() const;
261 bool isImmediatePattern() const { return !getImmCode().empty(); }
266 std::string getImmediatePredicateCode() const {
273 bool operator==(const TreePredicateFn &RHS) const {
277 bool operator!=(const TreePredicateFn &RHS) const { return !(*this == RHS); }
281 std::string getFnName() const;
287 std::string getCodeToRunOnSDNode() const;
290 std::string getPredCode() const;
291 std::string getImmCode() const;
326 TreePatternNode(Record *Op, const std::vector<TreePatternNode*> &Ch,
337 bool hasName() const { return !Name.empty(); }
338 const std::string &getName() const { return Name; }
341 bool isLeaf() const { return Val != 0; }
344 unsigned getNumTypes() const { return Types.size(); }
345 MVT::SimpleValueType getType(unsigned ResNo) const {
348 const SmallVectorImpl<EEVT::TypeSet> &getExtTypes() const { return Types; }
349 const EEVT::TypeSet &getExtType(unsigned ResNo) const { return Types[ResNo]; }
351 void setType(unsigned ResNo, const EEVT::TypeSet &T) { Types[ResNo] = T; }
353 bool hasTypeSet(unsigned ResNo) const {
356 bool isTypeCompletelyUnknown(unsigned ResNo) const {
359 bool isTypeDynamicallyResolved(unsigned ResNo) const {
363 Init *getLeafValue() const { assert(isLeaf()); return Val; }
364 Record *getOperator() const { assert(!isLeaf()); return Operator; }
366 unsigned getNumChildren() const { return Children.size(); }
367 TreePatternNode *getChild(unsigned N) const { return Children[N]; }
373 bool hasChild(const TreePatternNode *N) const {
379 bool hasAnyPredicate() const { return !PredicateFns.empty(); }
381 const std::vector<TreePredicateFn> &getPredicateFns() const {
385 void setPredicateFns(const std::vector<TreePredicateFn> &Fns) {
389 void addPredicateFn(const TreePredicateFn &Fn) {
396 Record *getTransformFn() const { return TransformFn; }
401 const CodeGenIntrinsic *getIntrinsicInfo(const CodeGenDAGPatterns &CDP) const;
405 const ComplexPattern *
406 getComplexPatternInfo(const CodeGenDAGPatterns &CGP) const;
409 bool NodeHasProperty(SDNP Property, const CodeGenDAGPatterns &CGP) const;
413 bool TreeHasProperty(SDNP Property, const CodeGenDAGPatterns &CGP) const;
417 bool isCommutativeIntrinsic(const CodeGenDAGPatterns &CDP) const;
419 void print(raw_ostream &OS) const;
420 void dump() const;
426 TreePatternNode *clone() const;
435 bool isIsomorphicTo(const TreePatternNode *N,
436 const MultipleUseVarSet &DepVars) const;
457 bool UpdateNodeType(unsigned ResNo, const EEVT::TypeSet &InTy,
474 bool ContainsUnresolvedType() const {
485 bool canPatternMatch(std::string &Reason, const CodeGenDAGPatterns &CDP);
488 inline raw_ostream &operator<<(raw_ostream &OS, const TreePatternNode &TPN) {
539 const std::vector<TreePatternNode*> &getTrees() const { return Trees; }
540 unsigned getNumTrees() const { return Trees.size(); }
541 TreePatternNode *getTree(unsigned i) const { return Trees[i]; }
542 TreePatternNode *getOnlyTree() const {
547 const StringMap<SmallVector<TreePatternNode*,1> > &getNamedNodesMap() {
556 Record *getRecord() const { return TheRecord; }
558 unsigned getNumArgs() const { return Args.size(); }
559 const std::string &getArgName(unsigned i) const {
565 CodeGenDAGPatterns &getDAGPatterns() const { return CDP; }
578 bool InferAllTypes(const StringMap<SmallVector<TreePatternNode*,1> >
583 void error(const std::string &Msg);
584 bool hasError() const {
591 void print(raw_ostream &OS) const;
592 void dump() const;
614 const std::vector<Record*> &results,
615 const std::vector<Record*> &operands,
616 const std::vector<Record*> &impresults)
620 TreePattern *getPattern() const { return Pattern; }
621 unsigned getNumResults() const { return Results.size(); }
622 unsigned getNumOperands() const { return Operands.size(); }
623 unsigned getNumImpResults() const { return ImpResults.size(); }
624 const std::vector<Record*>& getImpResults() const { return ImpResults; }
628 Record *getResult(unsigned RN) const {
633 Record *getOperand(unsigned ON) const {
638 Record *getImpResult(unsigned RN) const {
643 TreePatternNode *getResultPattern() const { return ResultPattern; }
652 const std::vector<Record*> &dstregs,
665 Record *getSrcRecord() const { return SrcRecord; }
666 ListInit *getPredicates() const { return Predicates; }
667 TreePatternNode *getSrcPattern() const { return SrcPattern; }
668 TreePatternNode *getDstPattern() const { return DstPattern; }
669 const std::vector<Record*> &getDstRegs() const { return Dstregs; }
670 unsigned getAddedComplexity() const { return AddedComplexity; }
672 std::string getPredicateCheck() const;
676 unsigned getPatternComplexity(const CodeGenDAGPatterns &CGP) const;
705 const CodeGenTarget &getTargetInfo() const { return Target; }
707 Record *getSDNodeNamed(const std::string &Name) const;
709 const SDNodeInfo &getSDNodeInfo(Record *R) const {
716 const NodeXForm &getSDNodeTransform(Record *R) const {
723 nx_iterator nx_begin() const { return SDNodeXForms.begin(); }
724 nx_iterator nx_end() const { return SDNodeXForms.end(); }
727 const ComplexPattern &getComplexPattern(Record *R) const {
732 const CodeGenIntrinsic &getIntrinsic(Record *R) const {
740 const CodeGenIntrinsic &getIntrinsicInfo(unsigned IID) const {
748 unsigned getIntrinsicID(Record *R) const {
756 const DAGDefaultOperand &getDefaultOperand(Record *R) const {
762 TreePattern *getPatternFragment(Record *R) const {
766 TreePattern *getPatternFragmentIfRead(Record *R) const {
773 pf_iterator pf_begin() const { return PatternFragments.begin(); }
774 pf_iterator pf_end() const { return PatternFragments.end(); }
778 ptm_iterator ptm_begin() const { return PatternsToMatch.begin(); }
779 ptm_iterator ptm_end() const { return PatternsToMatch.end(); }
783 const DAGInstruction &parseInstructionPattern(
787 const DAGInstruction &getInstruction(Record *R) const {
792 Record *get_intrinsic_void_sdnode() const {
795 Record *get_intrinsic_w_chain_sdnode() const {
798 Record *get_intrinsic_wo_chain_sdnode() const {
816 void AddPatternToMatch(TreePattern *Pattern, const PatternToMatch &PTM);