1/* 2 * Copyright (c) 2010 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 920 unchanged lines hidden (view full) --- 929 // Check squash signals from commit. 930 if (fromCommit->commitInfo[tid].squash) { 931 932 DPRINTF(Fetch, "[tid:%u]: Squashing instructions due to squash " 933 "from commit.\n",tid); 934 // In any case, squash. 935 squash(fromCommit->commitInfo[tid].pc, 936 fromCommit->commitInfo[tid].doneSeqNum, |
937 fromCommit->commitInfo[tid].squashInst, tid); |
938 939 // If it was a branch mispredict on a control instruction, update the 940 // branch predictor with that instruction, otherwise just kill the 941 // invalid state we generated in after sequence number |
942 if (fromCommit->commitInfo[tid].mispredictInst && |
943 fromCommit->commitInfo[tid].mispredictInst->isControl()) { 944 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum, 945 fromCommit->commitInfo[tid].pc, 946 fromCommit->commitInfo[tid].branchTaken, 947 tid); 948 } else { 949 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum, 950 tid); --- 530 unchanged lines hidden --- |