summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/pipeline_stage.cc
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:36 -0400
committerKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:36 -0400
commit264e8178ff8e97df4fde62359a01898a8af7ae26 (patch)
treec9d01b656acd914d12974519440a799de11c443d /src/cpu/inorder/pipeline_stage.cc
parentf0f33ae2b9be89c062c1df3c61291aa60151713e (diff)
downloadgem5-264e8178ff8e97df4fde62359a01898a8af7ae26.tar.xz
imported patch squash_from_next_stage
Diffstat (limited to 'src/cpu/inorder/pipeline_stage.cc')
-rw-r--r--src/cpu/inorder/pipeline_stage.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cpu/inorder/pipeline_stage.cc b/src/cpu/inorder/pipeline_stage.cc
index d37779ce8..2e9ca64e3 100644
--- a/src/cpu/inorder/pipeline_stage.cc
+++ b/src/cpu/inorder/pipeline_stage.cc
@@ -351,9 +351,11 @@ PipelineStage::setupSquash(DynInstPtr inst, ThreadID tid)
inst->seqNum, cpu->squashSeqNum[tid]);
} else {
InstSeqNum squash_seq_num = inst->squashSeqNum;
+ unsigned squash_stage = (nextStageValid) ? stageNum + 1
+ : stageNum;
- toPrevStages->stageInfo[stageNum][tid].squash = true;
- toPrevStages->stageInfo[stageNum][tid].doneSeqNum =
+ toPrevStages->stageInfo[squash_stage][tid].squash = true;
+ toPrevStages->stageInfo[squash_stage][tid].doneSeqNum =
squash_seq_num;
DPRINTF(InOrderStage, "[tid:%i]: Squashing after [sn:%i], "