From: Andreas Hansson Date: Fri, 6 Nov 2015 08:26:16 +0000 (-0500) Subject: misc: Appease clang static analyzer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2cb5467e8514934c4d88304c65050adead0ffc7e;p=gem5.git misc: Appease clang static analyzer A few minor fixes to issues identified by the clang static analyzer. --- diff --git a/src/base/loader/dtb_object.cc b/src/base/loader/dtb_object.cc index 841db8c12..ead667f11 100644 --- a/src/base/loader/dtb_object.cc +++ b/src/base/loader/dtb_object.cc @@ -109,7 +109,10 @@ DtbObject::addBootCmdLine(const char* _args, size_t len) // try adding the node by walking dtb tree to proper insertion point offset = fdt_path_offset((void*)fdt_buf_w_space, root_path); offset = fdt_add_subnode((void*)fdt_buf_w_space, offset, node_name); - offset = fdt_path_offset((void*)fdt_buf_w_space, full_path_node_name); + // if we successfully add the subnode, get the offset + if (offset >= 0) + offset = fdt_path_offset((void*)fdt_buf_w_space, full_path_node_name); + if (offset < 0) { warn("Error finding or adding \"chosen\" subnode to flattened " "device tree, errno: %d\n", offset); diff --git a/src/mem/cache/tags/fa_lru.cc b/src/mem/cache/tags/fa_lru.cc index 3f717e3a7..c9531d12c 100644 --- a/src/mem/cache/tags/fa_lru.cc +++ b/src/mem/cache/tags/fa_lru.cc @@ -67,7 +67,7 @@ FALRU::FALRU(const Params *p) numCaches = floorLog2(size) - 17; if (numCaches >0){ cacheBoundaries = new FALRUBlk *[numCaches]; - cacheMask = (1 << numCaches) - 1; + cacheMask = (ULL(1) << numCaches) - 1; } else { cacheMask = 0; } diff --git a/src/mem/dram_ctrl.cc b/src/mem/dram_ctrl.cc index dc2c03332..3ba4616f7 100644 --- a/src/mem/dram_ctrl.cc +++ b/src/mem/dram_ctrl.cc @@ -341,9 +341,8 @@ DRAMCtrl::decodeAddr(PacketPtr pkt, Addr dramPktAddr, unsigned size, rank = addr % ranksPerChannel; addr = addr / ranksPerChannel; - // lastly, get the row bits + // lastly, get the row bits, no need to remove them from addr row = addr % rowsPerBank; - addr = addr / rowsPerBank; } else if (addrMapping == Enums::RoRaBaCoCh) { // take out the lower-order column bits addr = addr / columnsPerStripe; @@ -364,9 +363,8 @@ DRAMCtrl::decodeAddr(PacketPtr pkt, Addr dramPktAddr, unsigned size, rank = addr % ranksPerChannel; addr = addr / ranksPerChannel; - // lastly, get the row bits + // lastly, get the row bits, no need to remove them from addr row = addr % rowsPerBank; - addr = addr / rowsPerBank; } else if (addrMapping == Enums::RoCoRaBaCh) { // optimise for closed page mode and utilise maximum // parallelism of the DRAM (at the cost of power) @@ -391,9 +389,8 @@ DRAMCtrl::decodeAddr(PacketPtr pkt, Addr dramPktAddr, unsigned size, // next, the higher-order column bites addr = addr / (columnsPerRowBuffer / columnsPerStripe); - // lastly, get the row bits + // lastly, get the row bits, no need to remove them from addr row = addr % rowsPerBank; - addr = addr / rowsPerBank; } else panic("Unknown address mapping policy chosen!"); diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh index d2ddcb820..6432114c1 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh +++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh @@ -70,7 +70,7 @@ class NetworkInterface_d : public ClockedObject, public Consumer private: GarnetNetwork_d *m_net_ptr; - const NodeID m_id; + const NodeID M5_CLASS_VAR_USED m_id; const int m_virtual_networks, m_vc_per_vnet, m_num_vcs; std::vector m_out_vc_state; std::vector m_vc_allocator; diff --git a/src/mem/ruby/system/RubySystem.cc b/src/mem/ruby/system/RubySystem.cc index 3ad3911cb..1ecd2e098 100644 --- a/src/mem/ruby/system/RubySystem.cc +++ b/src/mem/ruby/system/RubySystem.cc @@ -370,7 +370,7 @@ RubySystem::startup() } // Restore eventq head - eventq_head = eventq->replaceHead(eventq_head); + eventq->replaceHead(eventq_head); // Restore curTick and Ruby System's clock setCurTick(curtick_original); resetClock(); diff --git a/src/mem/stack_dist_calc.cc b/src/mem/stack_dist_calc.cc index 3dca87384..2b880f118 100644 --- a/src/mem/stack_dist_calc.cc +++ b/src/mem/stack_dist_calc.cc @@ -359,8 +359,6 @@ std::pair< uint64_t, bool> StackDistCalc::calcStackDistAndUpdate(const Addr r_address, bool addNewNode) { Node* newLeafNode; - // Return index if the address was already present in stack - uint64_t r_index = index; auto ai = aiMap.lower_bound(r_address); @@ -380,7 +378,7 @@ StackDistCalc::calcStackDistAndUpdate(const Addr r_address, bool addNewNode) // key already exists // save the index counter value when this address was // encountered before and update it to the current index value - r_index = ai->second; + uint64_t r_index = ai->second; if (addNewNode) { // Update aiMap aiMap(Address) = current index @@ -462,8 +460,6 @@ StackDistCalc::calcStackDistAndUpdate(const Addr r_address, bool addNewNode) std::pair< uint64_t, bool> StackDistCalc::calcStackDist(const Addr r_address, bool mark) { - // Return index if the address was already present in stack - uint64_t r_index = index; // Default value of isMarked flag for each node. bool _mark = false; @@ -480,7 +476,7 @@ StackDistCalc::calcStackDist(const Addr r_address, bool mark) // key already exists // save the index counter value when this address was // encountered before - r_index = ai->second; + uint64_t r_index = ai->second; // Get the value of mark flag if previously marked _mark = tree[0][r_index]->isMarked; @@ -569,7 +565,6 @@ void StackDistCalc::printStack(int n) const { Node* node; - uint64_t r_index; int count = 0; DPRINTF(StackDist, "Printing last %d entries in tree\n", n); @@ -578,7 +573,7 @@ StackDistCalc::printStack(int n) const for (auto it = tree[0].rbegin(); (count < n) && (it != tree[0].rend()); ++it, ++count) { node = it->second; - r_index = node->nodeIndex; + uint64_t r_index = node->nodeIndex; // Lookup aiMap using the index returned by the leaf iterator for (auto ai = aiMap.rbegin(); ai != aiMap.rend(); ++ai) {