cpu: remove conditional check (count > 0) on o3 IQ squashes
authorBrandon Potter <brandon.potter@amd.com>
Wed, 22 Apr 2015 14:52:03 +0000 (07:52 -0700)
committerBrandon Potter <brandon.potter@amd.com>
Wed, 22 Apr 2015 14:52:03 +0000 (07:52 -0700)
commita70a83155bfe4c3877894c29f9dea720beb40f9c
treea775f559a8c58b6f06cb6ac2a7b8286bcf258b62
parent4991c2996516b3226c37cde7ea4b05552e66277a
cpu: remove conditional check (count > 0) on o3 IQ squashes

The o3 cpu instruction queue model uses the count variable to track the number
of unissued instructions in the queue. Previously, the squash method used
this variable to avoid executing the doSquash method when there were no
unissued instructions in the pipeline.  A corner case problem exists when
only issued instructions exist in the pipeline and a squash occurs; the
doSquash code is not invoked and subsequently does not clean up state properly.
src/cpu/o3/inst_queue_impl.hh