diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-10-24 12:46:49 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-10-24 12:46:49 +0000 |
commit | e1761952b43b7374fd1bc2899665d638d7a649fb (patch) | |
tree | e6cff0db015bc03e3a7777fd6bfec303d93b6b7a /llvm/utils/TableGen/CodeGenSchedule.h | |
parent | 7ecf8c22cf1bbcc5bd958e282a9619b7331b1bc6 (diff) | |
download | bcm5719-llvm-e1761952b43b7374fd1bc2899665d638d7a649fb.tar.gz bcm5719-llvm-e1761952b43b7374fd1bc2899665d638d7a649fb.zip |
[TblGen] ArrayRefize CodeGenSchedule. No functionality change intended.
llvm-svn: 251187
Diffstat (limited to 'llvm/utils/TableGen/CodeGenSchedule.h')
-rw-r--r-- | llvm/utils/TableGen/CodeGenSchedule.h | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/llvm/utils/TableGen/CodeGenSchedule.h b/llvm/utils/TableGen/CodeGenSchedule.h index e5241b9d5fd..6c34f51900c 100644 --- a/llvm/utils/TableGen/CodeGenSchedule.h +++ b/llvm/utils/TableGen/CodeGenSchedule.h @@ -72,10 +72,10 @@ struct CodeGenSchedRW { IsSequence = Def->isSubClassOf("WriteSequence"); } - CodeGenSchedRW(unsigned Idx, bool Read, const IdxVec &Seq, + CodeGenSchedRW(unsigned Idx, bool Read, ArrayRef<unsigned> Seq, const std::string &Name) - : Index(Idx), Name(Name), TheDef(nullptr), IsRead(Read), IsAlias(false), - HasVariants(false), IsVariadic(false), IsSequence(true), Sequence(Seq) { + : Index(Idx), Name(Name), TheDef(nullptr), IsRead(Read), IsAlias(false), + HasVariants(false), IsVariadic(false), IsSequence(true), Sequence(Seq) { assert(Sequence.size() > 1 && "implied sequence needs >1 RWs"); } @@ -144,8 +144,9 @@ struct CodeGenSchedClass { CodeGenSchedClass(): Index(0), ItinClassDef(nullptr) {} - bool isKeyEqual(Record *IC, const IdxVec &W, const IdxVec &R) { - return ItinClassDef == IC && Writes == W && Reads == R; + bool isKeyEqual(Record *IC, ArrayRef<unsigned> W, ArrayRef<unsigned> R) { + return ItinClassDef == IC && makeArrayRef(Writes) == W && + makeArrayRef(Reads) == R; } // Is this class generated from a variants if existing classes? Instructions @@ -363,14 +364,14 @@ public: void expandRWSeqForProc(unsigned RWIdx, IdxVec &RWSeq, bool IsRead, const CodeGenProcModel &ProcModel) const; - unsigned addSchedClass(Record *ItinDef, const IdxVec &OperWrites, - const IdxVec &OperReads, const IdxVec &ProcIndices); + unsigned addSchedClass(Record *ItinDef, ArrayRef<unsigned> OperWrites, + ArrayRef<unsigned> OperReads, + ArrayRef<unsigned> ProcIndices); unsigned findOrInsertRW(ArrayRef<unsigned> Seq, bool IsRead); - unsigned findSchedClassIdx(Record *ItinClassDef, - const IdxVec &Writes, - const IdxVec &Reads) const; + unsigned findSchedClassIdx(Record *ItinClassDef, ArrayRef<unsigned> Writes, + ArrayRef<unsigned> Reads) const; Record *findProcResUnits(Record *ProcResKind, const CodeGenProcModel &PM) const; @@ -383,14 +384,14 @@ private: void collectSchedRW(); - std::string genRWName(const IdxVec& Seq, bool IsRead); - unsigned findRWForSequence(const IdxVec &Seq, bool IsRead); + std::string genRWName(ArrayRef<unsigned> Seq, bool IsRead); + unsigned findRWForSequence(ArrayRef<unsigned> Seq, bool IsRead); void collectSchedClasses(); std::string createSchedClassName(Record *ItinClassDef, - const IdxVec &OperWrites, - const IdxVec &OperReads); + ArrayRef<unsigned> OperWrites, + ArrayRef<unsigned> OperReads); std::string createSchedClassName(const RecVec &InstDefs); void createInstRWClass(Record *InstRWDef); @@ -400,8 +401,8 @@ private: void inferSchedClasses(); - void inferFromRW(const IdxVec &OperWrites, const IdxVec &OperReads, - unsigned FromClassIdx, const IdxVec &ProcIndices); + void inferFromRW(ArrayRef<unsigned> OperWrites, ArrayRef<unsigned> OperReads, + unsigned FromClassIdx, ArrayRef<unsigned> ProcIndices); void inferFromItinClass(Record *ItinClassDef, unsigned FromClassIdx); void inferFromInstRWs(unsigned SCIdx); @@ -413,10 +414,10 @@ private: void collectItinProcResources(Record *ItinClassDef); void collectRWResources(unsigned RWIdx, bool IsRead, - const IdxVec &ProcIndices); + ArrayRef<unsigned> ProcIndices); - void collectRWResources(const IdxVec &Writes, const IdxVec &Reads, - const IdxVec &ProcIndices); + void collectRWResources(ArrayRef<unsigned> Writes, ArrayRef<unsigned> Reads, + ArrayRef<unsigned> ProcIndices); void addProcResource(Record *ProcResourceKind, CodeGenProcModel &PM); |