clang: Fix issues identified by the clang static analyzer
authorAndreas Hansson <andreas.hansson@arm.com>
Tue, 11 Sep 2012 18:15:47 +0000 (14:15 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Tue, 11 Sep 2012 18:15:47 +0000 (14:15 -0400)
This patch addresses a few minor issues reported by the clang static
analyzer.

The analysis was run with:

scan-build -disable-checker deadcode \
           -enable-checker experimental.core \
           -disable-checker experimental.core.CastToStruct \
           -enable-checker experimental.cpluscplus

src/mem/cache/tags/iic.cc
src/mem/ruby/system/Sequencer.cc

index e8b0a1b296c3c7ae3a40927dbc0b53fa88bc60f4..45807ef284774e0ce84e2483b4bb79bd7a55b2d7 100644 (file)
@@ -352,33 +352,32 @@ IIC::freeReplacementBlock(PacketList & writebacks)
     unsigned long data_ptr;
     /* consult replacement policy */
     tag_ptr = &tagStore[repl->getRepl()];
+    assert(tag_ptr != NULL);
     assert(tag_ptr->isValid());
 
     DPRINTF(Cache, "Replacing %x in IIC: %s\n",
             regenerateBlkAddr(tag_ptr->tag,0),
             tag_ptr->isDirty() ? "writeback" : "clean");
     /* write back replaced block data */
-    if (tag_ptr && (tag_ptr->isValid())) {
-        replacements[0]++;
-        totalRefs += tag_ptr->refCount;
-        ++sampledRefs;
-        tag_ptr->refCount = 0;
+    replacements[0]++;
+    totalRefs += tag_ptr->refCount;
+    ++sampledRefs;
+    tag_ptr->refCount = 0;
 
-        if (tag_ptr->isDirty()) {
+    if (tag_ptr->isDirty()) {
 /*          PacketPtr writeback =
-                buildWritebackReq(regenerateBlkAddr(tag_ptr->tag, 0),
-                                  tag_ptr->req->asid, tag_ptr->xc, blkSize,
-                                  tag_ptr->data,
-                                  tag_ptr->size);
+            buildWritebackReq(regenerateBlkAddr(tag_ptr->tag, 0),
+            tag_ptr->req->asid, tag_ptr->xc, blkSize,
+            tag_ptr->data,
+            tag_ptr->size);
 */
-            Request *writebackReq = new Request(regenerateBlkAddr(tag_ptr->tag, 0),
-                                           blkSize, 0, Request::wbMasterId);
-            PacketPtr writeback = new Packet(writebackReq, MemCmd::Writeback);
-            writeback->allocate();
-            memcpy(writeback->getPtr<uint8_t>(), tag_ptr->data, blkSize);
+        Request *writebackReq = new Request(regenerateBlkAddr(tag_ptr->tag, 0),
+                                            blkSize, 0, Request::wbMasterId);
+        PacketPtr writeback = new Packet(writebackReq, MemCmd::Writeback);
+        writeback->allocate();
+        memcpy(writeback->getPtr<uint8_t>(), tag_ptr->data, blkSize);
 
-            writebacks.push_back(writeback);
-        }
+        writebacks.push_back(writeback);
     }
 
     // free the data blocks
index c48ff59cf4bd33b53b5730b4371c0488dafd798e..efb0b002ea603bd680ec77b08eaaa610812bb2e8 100644 (file)
@@ -645,8 +645,9 @@ Sequencer::makeRequest(PacketPtr pkt)
 void
 Sequencer::issueRequest(PacketPtr pkt, RubyRequestType secondary_type)
 {
+    assert(pkt != NULL);
     int proc_id = -1;
-    if (pkt != NULL && pkt->req->hasContextId()) {
+    if (pkt->req->hasContextId()) {
         proc_id = pkt->req->contextId();
     }