X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FInstrInfoEmitter.h;h=657939e46388508edf81c59af42161b4f0bddc8d;hb=3c98c616c51a65c9af2ffcd7498be795049fcfad;hp=b6d02459a5cf43f4cdcf6cfd660baec3eb17c3ec;hpb=ef8339b11a0180c6df6ade4e9f4fd75a76ebc419;p=oota-llvm.git diff --git a/utils/TableGen/InstrInfoEmitter.h b/utils/TableGen/InstrInfoEmitter.h index b6d02459a5c..657939e4638 100644 --- a/utils/TableGen/InstrInfoEmitter.h +++ b/utils/TableGen/InstrInfoEmitter.h @@ -36,27 +36,31 @@ public: InstrInfoEmitter(RecordKeeper &R) : Records(R), CDP(R) { } // run - Output the instruction set description, returning true on failure. - void run(std::ostream &OS); + void run(raw_ostream &OS); private: typedef std::map, unsigned> OperandInfoMapTy; - void printDefList(const std::vector &Uses, unsigned Num, - std::ostream &OS) const; void emitRecord(const CodeGenInstruction &Inst, unsigned Num, Record *InstrInfo, std::map, unsigned> &EL, + std::map &BM, const OperandInfoMapTy &OpInfo, - std::ostream &OS); + raw_ostream &OS); + void emitShiftedValue(Record *R, StringInit *Val, IntInit *Shift, + raw_ostream &OS); + // Itinerary information. void GatherItinClasses(); unsigned getItinClassNumber(const Record *InstRec); - void EmitOperandInfo(std::ostream &OS, OperandInfoMapTy &OperandInfoIDs); + // Operand information. + void EmitOperandInfo(raw_ostream &OS, OperandInfoMapTy &OperandInfoIDs); std::vector GetOperandInfo(const CodeGenInstruction &Inst); - - void emitShiftedValue(Record *R, StringInit *Val, IntInit *Shift, - std::ostream &OS); + + void DetectRegisterClassBarriers(std::vector &Defs, + const std::vector &RCs, + std::vector &Barriers); }; } // End llvm namespace