diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/o3/iew.hh | 7 | ||||
-rw-r--r-- | src/cpu/o3/iew_impl.hh | 8 |
2 files changed, 1 insertions, 14 deletions
diff --git a/src/cpu/o3/iew.hh b/src/cpu/o3/iew.hh index eef5a15d2..457e2a024 100644 --- a/src/cpu/o3/iew.hh +++ b/src/cpu/o3/iew.hh @@ -402,13 +402,6 @@ class DefaultIEW /** Records if there is a fetch redirect on this cycle for each thread. */ bool fetchRedirect[Impl::MaxThreads]; - /** Used to track if all instructions have been dispatched this cycle. - * If they have not, then blocking must have occurred, and the instructions - * would already be added to the skid buffer. - * @todo: Fix this hack. - */ - bool dispatchedAllInsts; - /** Records if the queues have been changed (inserted or issued insts), * so that IEW knows to broadcast the updated amount of free entries. */ diff --git a/src/cpu/o3/iew_impl.hh b/src/cpu/o3/iew_impl.hh index 399c44909..84d10e966 100644 --- a/src/cpu/o3/iew_impl.hh +++ b/src/cpu/o3/iew_impl.hh @@ -929,7 +929,7 @@ DefaultIEW<Impl>::dispatch(unsigned tid) ++iewUnblockCycles; - if (validInstsFromRename() && dispatchedAllInsts) { + if (validInstsFromRename()) { // Add the current inputs to the skid buffer so they can be // reprocessed when this stage unblocks. skidInsert(tid); @@ -943,8 +943,6 @@ template <class Impl> void DefaultIEW<Impl>::dispatchInsts(unsigned tid) { - dispatchedAllInsts = true; - // Obtain instructions from skid buffer if unblocking, or queue from rename // otherwise. std::queue<DynInstPtr> &insts_to_dispatch = @@ -1011,8 +1009,6 @@ DefaultIEW<Impl>::dispatchInsts(unsigned tid) // get full in the IQ. toRename->iewUnblock[tid] = false; - dispatchedAllInsts = false; - ++iewIQFullEvents; break; } else if (ldstQueue.isFull(tid)) { @@ -1026,8 +1022,6 @@ DefaultIEW<Impl>::dispatchInsts(unsigned tid) // get full in the IQ. toRename->iewUnblock[tid] = false; - dispatchedAllInsts = false; - ++iewLSQFullEvents; break; } |