diff options
Diffstat (limited to 'contrib/llvm/lib/Target/R600/SIInsertWaits.cpp')
-rw-r--r-- | contrib/llvm/lib/Target/R600/SIInsertWaits.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/contrib/llvm/lib/Target/R600/SIInsertWaits.cpp b/contrib/llvm/lib/Target/R600/SIInsertWaits.cpp index 695ec40..7dfc31b 100644 --- a/contrib/llvm/lib/Target/R600/SIInsertWaits.cpp +++ b/contrib/llvm/lib/Target/R600/SIInsertWaits.cpp @@ -97,13 +97,13 @@ private: public: SIInsertWaits(TargetMachine &tm) : MachineFunctionPass(ID), - TII(0), - TRI(0), + TII(nullptr), + TRI(nullptr), ExpInstrTypesSeen(0) { } - virtual bool runOnMachineFunction(MachineFunction &MF); + bool runOnMachineFunction(MachineFunction &MF) override; - const char *getPassName() const { + const char *getPassName() const override { return "SI insert wait instructions"; } @@ -273,17 +273,17 @@ bool SIInsertWaits::insertWait(MachineBasicBlock &MBB, continue; NeedWait = true; - + if (Ordered[i]) { unsigned Value = LastIssued.Array[i] - Required.Array[i]; - // adjust the value to the real hardware posibilities + // Adjust the value to the real hardware possibilities. Counts.Array[i] = std::min(Value, WaitCounts.Array[i]); } else Counts.Array[i] = 0; - // Remember on what we have waited on + // Remember on what we have waited on. WaitedOn.Array[i] = LastIssued.Array[i] - Counts.Array[i]; } @@ -341,6 +341,8 @@ Counters SIInsertWaits::handleOperands(MachineInstr &MI) { return Result; } +// FIXME: Insert waits listed in Table 4.2 "Required User-Inserted Wait States" +// around other non-memory instructions. bool SIInsertWaits::runOnMachineFunction(MachineFunction &MF) { bool Changes = false; |