summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resources
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
commitf0f33ae2b9be89c062c1df3c61291aa60151713e (patch)
treeb3d0fd68723e64d720aba8a8240ecc664b0f57e3 /src/cpu/inorder/resources
parent555bd4d8423bcc4edd77acd3226bcd2af0cbcdac (diff)
downloadgem5-f0f33ae2b9be89c062c1df3c61291aa60151713e.tar.xz
inorder: add flatDestReg member to dyninst
use it in reg. dep. tracking
Diffstat (limited to 'src/cpu/inorder/resources')
-rw-r--r--src/cpu/inorder/resources/cache_unit.cc2
-rw-r--r--src/cpu/inorder/resources/use_def.cc6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/cpu/inorder/resources/cache_unit.cc b/src/cpu/inorder/resources/cache_unit.cc
index 760fdb134..1050713a1 100644
--- a/src/cpu/inorder/resources/cache_unit.cc
+++ b/src/cpu/inorder/resources/cache_unit.cc
@@ -1075,7 +1075,7 @@ CacheUnitEvent::process()
//@todo: eventually, we should do a timing translation w/
// hw page table walk on tlb miss
- DPRINTF(Fault, "Handling Fault %s\n", inst->fault->name());
+ DPRINTF(Fault, "Handling Fault %s : [sn:%i] %x\n", inst->fault->name(), inst->seqNum, inst->getMemAddr());
inst->fault->invoke(tlb_res->cpu->tcBase(tid), inst->staticInst);
tlb_res->tlbBlocked[tid] = false;
diff --git a/src/cpu/inorder/resources/use_def.cc b/src/cpu/inorder/resources/use_def.cc
index a66b64bfc..392239d42 100644
--- a/src/cpu/inorder/resources/use_def.cc
+++ b/src/cpu/inorder/resources/use_def.cc
@@ -179,6 +179,7 @@ UseDefUnit::execute(int slot_idx)
InOrderCPU::RegType reg_type;
RegIndex reg_idx = inst->_srcRegIdx[ud_idx];
RegIndex flat_idx = cpu->flattenRegIdx(reg_idx, reg_type, tid);
+ inst->flattenSrcReg(ud_idx, flat_idx);
DPRINTF(InOrderUseDef, "[tid:%i]: [sn:%i]: Attempting to read source "
"register idx %i (reg #%i, flat#%i).\n",
@@ -246,12 +247,11 @@ UseDefUnit::execute(int slot_idx)
// Look for forwarding opportunities
DynInstPtr forward_inst = regDepMap[tid]->canForward(reg_type,
flat_idx,
- inst,
- reg_idx);
+ inst);
if (forward_inst) {
int dest_reg_idx =
- forward_inst->getDestIdxNum(reg_idx);
+ forward_inst->getDestIdxNum(flat_idx);
switch (reg_type)
{