cpu: Use a deque in o3 rename instruction queue
authorAndreas Hansson <andreas.hansson@arm.com>
Fri, 19 Sep 2014 14:35:14 +0000 (10:35 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Fri, 19 Sep 2014 14:35:14 +0000 (10:35 -0400)
Switch from a list to a data structure with better data layout.

src/cpu/o3/rename.hh

index 89bf0608f34c580f034437c084b47342537ca0e7..a543cefb81c8659c9c8f7e95e0329fc9398ad0f4 100644 (file)
@@ -86,12 +86,11 @@ class DefaultRename
     // Typedefs from the ISA.
     typedef TheISA::RegIndex RegIndex;
 
-    // A list is used to queue the instructions.  Barrier insts must
-    // be added to the front of the list, which is the only reason for
-    // using a list instead of a queue. (Most other stages use a
+    // A deque is used to queue the instructions. Barrier insts must
+    // be added to the front of the queue, which is the only reason for
+    // using a deque instead of a queue. (Most other stages use a
     // queue)
-    typedef std::list<DynInstPtr> InstQueue;
-    typedef typename std::list<DynInstPtr>::iterator ListIt;
+    typedef std::deque<DynInstPtr> InstQueue;
 
   public:
     /** Overall rename status. Used to determine if the CPU can