Home | History | Annotate | Download | only in TableGen

Lines Matching full:record

29   class Record;
173 SDTypeConstraint(Record *R);
224 Record *Def;
232 SDNodeInfo(Record *R); // Parse the specified record.
239 Record *getRecord() const { return Def; }
328 /// Operator - The Record for the operator if this is an interior node (not
330 Record *Operator;
332 /// Val - The init value (e.g. the "GPRC" record, or "7") for a leaf.
346 Record *TransformFn;
350 TreePatternNode(Record *Op, const std::vector<TreePatternNode*> &Ch,
388 Record *getOperator() const { assert(!isLeaf()); return Operator; }
420 Record *getTransformFn() const { return TransformFn; }
421 void setTransformFn(Record *Fn) { TransformFn = Fn; }
500 bool UpdateNodeTypeFromInst(unsigned ResNo, Record *Operand, TreePattern &TP);
537 /// TheRecord - The actual TableGen record corresponding to this pattern.
539 Record *TheRecord;
562 StringMap<std::pair<Record *, unsigned>> ComplexPatternOperands;
566 /// current record.
567 TreePattern(Record *TheRec, ListInit *RawPat, bool isInput,
569 TreePattern(Record *TheRec, DagInit *Pat, bool isInput,
571 TreePattern(Record *TheRec, TreePatternNode *Pat, bool isInput,
590 /// getRecord - Return the actual TableGen record corresponding to this
593 Record *getRecord() const { return TheRecord; }
645 std::vector<Record*> Results;
646 std::vector<Record*> Operands;
647 std::vector<Record*> ImpResults;
651 const std::vector<Record*> &results,
652 const std::vector<Record*> &operands,
653 const std::vector<Record*> &impresults)
661 const std::vector<Record*>& getImpResults() const { return ImpResults; }
665 Record *getResult(unsigned RN) const {
670 Record *getOperand(unsigned ON) const {
675 Record *getImpResult(unsigned RN) const {
687 PatternToMatch(Record *srcrecord, ListInit *preds,
689 const std::vector<Record*> &dstregs,
694 Record *SrcRecord; // Originating Record for the pattern.
698 std::vector<Record*> Dstregs; // Physical register defs being matched.
700 unsigned ID; // Unique ID for the record.
702 Record *getSrcRecord() const { return SrcRecord; }
706 const std::vector<Record*> &getDstRegs() const { return Dstregs; }
722 std::map<Record*, SDNodeInfo, LessRecordByID> SDNodes;
723 std::map<Record*, std::pair<Record*, std::string>, LessRecordByID> SDNodeXForms;
724 std::map<Record*, ComplexPattern, LessRecordByID> ComplexPatterns;
725 std::map<Record *, std::unique_ptr<TreePattern>, LessRecordByID>
727 std::map<Record*, DAGDefaultOperand, LessRecordByID> DefaultOperands;
728 std::map<Record*, DAGInstruction, LessRecordByID> Instructions;
731 Record *intrinsic_void_sdnode;
732 Record *intrinsic_w_chain_sdnode, *intrinsic_wo_chain_sdnode;
744 Record *getSDNodeNamed(const std::string &Name) const;
746 const SDNodeInfo &getSDNodeInfo(Record *R) const {
752 typedef std::pair<Record*, std::string> NodeXForm;
753 const NodeXForm &getSDNodeTransform(Record *R) const {
758 typedef std::map<Record*, NodeXForm, LessRecordByID>::const_iterator
764 const ComplexPattern &getComplexPattern(Record *R) const {
769 const CodeGenIntrinsic &getIntrinsic(Record *R) const {
785 unsigned getIntrinsicID(Record *R) const {
793 const DAGDefaultOperand &getDefaultOperand(Record *R) const {
799 TreePattern *getPatternFragment(Record *R) const {
803 TreePattern *getPatternFragmentIfRead(Record *R) const {
809 typedef std::map<Record *, std::unique_ptr<TreePattern>,
820 typedef std::map<Record*, DAGInstruction, LessRecordByID> DAGInstMap;
825 const DAGInstruction &getInstruction(Record *R) const {
830 Record *get_intrinsic_void_sdnode() const {
833 Record *get_intrinsic_w_chain_sdnode() const {
836 Record *get_intrinsic_wo_chain_sdnode() const {
860 std::vector<Record*> &InstImpResults);