diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2015-11-21 17:38:33 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2015-11-21 17:38:33 +0000 |
commit | 4ca21fc1aa7c6261eacde2ce203819060d9bdde8 (patch) | |
tree | ad234b70a696bb54c2d92f714d8716134773fc83 /llvm/include | |
parent | 220a9bc0188ca5c1377c8ffef8d794b78f610bb3 (diff) | |
download | bcm5719-llvm-4ca21fc1aa7c6261eacde2ce203819060d9bdde8.tar.gz bcm5719-llvm-4ca21fc1aa7c6261eacde2ce203819060d9bdde8.zip |
Revert r253790: it breaks all builds for some reason.
llvm-svn: 253791
Diffstat (limited to 'llvm/include')
-rw-r--r-- | llvm/include/llvm/CodeGen/DFAPacketizer.h | 48 | ||||
-rw-r--r-- | llvm/include/llvm/Target/TargetItinerary.td | 16 |
2 files changed, 4 insertions, 60 deletions
diff --git a/llvm/include/llvm/CodeGen/DFAPacketizer.h b/llvm/include/llvm/CodeGen/DFAPacketizer.h index 4689a2b89ad..791b66e1429 100644 --- a/llvm/include/llvm/CodeGen/DFAPacketizer.h +++ b/llvm/include/llvm/CodeGen/DFAPacketizer.h @@ -40,47 +40,22 @@ class InstrItineraryData; class DefaultVLIWScheduler; class SUnit; -// DFA_MAX_RESTERMS * DFA_MAX_RESOURCES must fit within sizeof DFAInput. -// This is verified in DFAPacketizer.cpp:DFAPacketizer::DFAPacketizer. -// -// e.g. terms x resource bit combinations that fit in uint32_t: -// 4 terms x 8 bits = 32 bits -// 3 terms x 10 bits = 30 bits -// 2 terms x 16 bits = 32 bits -// -// e.g. terms x resource bit combinations that fit in uint64_t: -// 8 terms x 8 bits = 64 bits -// 7 terms x 9 bits = 63 bits -// 6 terms x 10 bits = 60 bits -// 5 terms x 12 bits = 60 bits -// 4 terms x 16 bits = 64 bits <--- current -// 3 terms x 21 bits = 63 bits -// 2 terms x 32 bits = 64 bits -// -#define DFA_MAX_RESTERMS 4 // The max # of AND'ed resource terms. -#define DFA_MAX_RESOURCES 16 // The max # of resource bits in one term. - -typedef uint64_t DFAInput; -typedef int64_t DFAStateInput; -#define DFA_TBLTYPE "int64_t" // For generating DFAStateInputTable. - class DFAPacketizer { private: - typedef std::pair<unsigned, DFAInput> UnsignPair; - + typedef std::pair<unsigned, unsigned> UnsignPair; const InstrItineraryData *InstrItins; int CurrentState; - const DFAStateInput (*DFAStateInputTable)[2]; + const int (*DFAStateInputTable)[2]; const unsigned *DFAStateEntryTable; // CachedTable is a map from <FromState, Input> to ToState. DenseMap<UnsignPair, unsigned> CachedTable; // ReadTable - Read the DFA transition table and update CachedTable. - void ReadTable(unsigned state); + void ReadTable(unsigned int state); public: - DFAPacketizer(const InstrItineraryData *I, const DFAStateInput (*SIT)[2], + DFAPacketizer(const InstrItineraryData *I, const int (*SIT)[2], const unsigned *SET); // Reset the current state to make all resources available. @@ -88,21 +63,6 @@ public: CurrentState = 0; } - // getInsnInput - Return the DFAInput for an instruction class. - DFAInput getInsnInput(unsigned InsnClass); - - // getInsnInput - Return the DFAInput for an instruction class input vector. - static DFAInput getInsnInput(const std::vector<unsigned> &InsnClass) { - DFAInput InsnInput = 0; - unsigned N = InsnClass.size(); - assert ((N <= DFA_MAX_RESTERMS) && "Exceeded maximum number of DFA terms"); - for (unsigned i = 0; i < N; i++) { - InsnInput <<= DFA_MAX_RESOURCES; // Shift over any previous AND'ed terms. - InsnInput |= InsnClass[i]; - } - return(InsnInput); - } - // canReserveResources - Check if the resources occupied by a MCInstrDesc // are available in the current state. bool canReserveResources(const llvm::MCInstrDesc *MID); diff --git a/llvm/include/llvm/Target/TargetItinerary.td b/llvm/include/llvm/Target/TargetItinerary.td index a37bbf2474c..cc74006dc9f 100644 --- a/llvm/include/llvm/Target/TargetItinerary.td +++ b/llvm/include/llvm/Target/TargetItinerary.td @@ -134,19 +134,3 @@ class ProcessorItineraries<list<FuncUnit> fu, list<Bypass> bp, // info. Subtargets using NoItineraries can bypass the scheduler's // expensive HazardRecognizer because no reservation table is needed. def NoItineraries : ProcessorItineraries<[], [], []>; - -//===----------------------------------------------------------------------===// -// Combo Function Unit data - This is a map of combo function unit names to -// the list of functional units that are included in the combination. -// -class ComboFuncData<FuncUnit ComboFunc, list<FuncUnit> funclist> { - FuncUnit TheComboFunc = ComboFunc; - list<FuncUnit> FuncList = funclist; -} - -//===----------------------------------------------------------------------===// -// Combo Function Units - This is a list of all combo function unit data. -class ComboFuncUnits<list<ComboFuncData> cfd> { - list<ComboFuncData> CFD = cfd; -} - |