summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resources/use_def.cc
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:35 -0400
committerKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:35 -0400
commit4f34bc8b7ba3ef73fa0511560869c7a22c1b187c (patch)
treef3ba76ca36f9660349886bc3f18cb2a0f0c4feb7 /src/cpu/inorder/resources/use_def.cc
parent946b0ed4f48e92b5286544369945c6a16663b590 (diff)
downloadgem5-4f34bc8b7ba3ef73fa0511560869c7a22c1b187c.tar.xz
inorder: make marking of dest. regs an explicit request
formerly, this was implicit when you accessed the execution unit or the use-def unit but it's better that this just be something that a user can specify.
Diffstat (limited to 'src/cpu/inorder/resources/use_def.cc')
-rw-r--r--src/cpu/inorder/resources/use_def.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/cpu/inorder/resources/use_def.cc b/src/cpu/inorder/resources/use_def.cc
index 642998021..a66b64bfc 100644
--- a/src/cpu/inorder/resources/use_def.cc
+++ b/src/cpu/inorder/resources/use_def.cc
@@ -172,12 +172,6 @@ UseDefUnit::execute(int slot_idx)
*nonSpecSeqNum[tid] = seq_num;
}
- //@todo: may want to make a separate schedule entry for setting
- // destination register dependencies
- if (!inst->isRegDepEntry()) {
- regDepMap[tid]->insert(inst);
- }
-
switch (ud_req->cmd)
{
case ReadSrcReg:
@@ -446,6 +440,13 @@ UseDefUnit::execute(int slot_idx)
}
break;
+ case MarkDestRegs:
+ {
+ regDepMap[tid]->insert(inst);
+ ud_req->done();
+ }
+ break;
+
default:
fatal("Unrecognized command to %s", resName);
}