From f0f33ae2b9be89c062c1df3c61291aa60151713e Mon Sep 17 00:00:00 2001 From: Korey Sewell Date: Sun, 19 Jun 2011 21:43:36 -0400 Subject: inorder: add flatDestReg member to dyninst use it in reg. dep. tracking --- src/cpu/inorder/resources/cache_unit.cc | 2 +- src/cpu/inorder/resources/use_def.cc | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/cpu/inorder/resources') 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) { -- cgit v1.2.3