cpu: Change literal integer constants to meaningful labels
authorRekai Gonzalez Alberquilla <Rekai.GonzalezAlberquilla@arm.com>
Tue, 5 May 2015 15:47:24 +0000 (16:47 +0100)
committerRekai Gonzalez Alberquilla <Rekai.GonzalezAlberquilla@arm.com>
Tue, 5 May 2015 15:47:24 +0000 (16:47 +0100)
fu_pool and inst_queue were using -1 for "no such FU" and -2 for "all those
FUs are busy at the moment" when requesting for a FU and replying. This
patch introduces new constants NoCapableFU and NoFreeFU respectively.

In addition, the condition (idx == -2 || idx != -1) is equivalent to
(idx != -1), so this patch also simplifies that.

--HG--
extra : rebase_source : 4833717b9d1e09d7594d1f34f882e13fc4b86846

src/cpu/o3/fu_pool.hh
src/cpu/o3/inst_queue_impl.hh

index e6bb8cb8ec5a464e6969e810444b6c4a29d9f061..b6e9c126ac8ef88d21cf64425c1ff429a57486b9 100644 (file)
@@ -134,12 +134,17 @@ class FUPool : public SimObject
     FUPool(const Params *p);
     ~FUPool();
 
+    static constexpr auto NoCapableFU = -2;
+    static constexpr auto NoFreeFU = -1;
     /**
-     * Gets a FU providing the requested capability. Will mark the unit as busy,
-     * but leaves the freeing of the unit up to the IEW stage.
+     * Gets a FU providing the requested capability. Will mark the
+     * unit as busy, but leaves the freeing of the unit up to the IEW
+     * stage.
+     *
      * @param capability The capability requested.
-     * @return Returns -2 if the FU pool does not have the capability, -1 if
-     * there is no free FU, and the FU's index otherwise.
+     * @return Returns NoCapableFU if the FU pool does not have the
+     * capability, NoFreeFU if there is no free FU, and the FU's index
+     * otherwise.
      */
     int getUnit(OpClass capability);
 
index 516d526b115549dfed21fa27cec795a2740b941b..7352c622b5f5eccca1d10a09ec74861e28e4d665 100644 (file)
@@ -801,21 +801,21 @@ InstructionQueue<Impl>::scheduleReadyInsts()
             continue;
         }
 
-        int idx = -2;
+        int idx = FUPool::NoCapableFU;
         Cycles op_latency = Cycles(1);
         ThreadID tid = issuing_inst->threadNumber;
 
         if (op_class != No_OpClass) {
             idx = fuPool->getUnit(op_class);
             issuing_inst->isFloating() ? fpAluAccesses++ : intAluAccesses++;
-            if (idx > -1) {
+            if (idx > FUPool::NoFreeFU) {
                 op_latency = fuPool->getOpLatency(op_class);
             }
         }
 
         // If we have an instruction that doesn't require a FU, or a
         // valid FU, then schedule for execution.
-        if (idx == -2 || idx != -1) {
+        if (idx != FUPool::NoFreeFU) {
             if (op_latency == Cycles(1)) {
                 i2e_info->size++;
                 instsToExecute.push_back(issuing_inst);