Handle status bits a little better, as well as non-speculative instructions.
authorKevin Lim <ktlim@umich.edu>
Fri, 23 Mar 2007 15:40:53 +0000 (11:40 -0400)
committerKevin Lim <ktlim@umich.edu>
Fri, 23 Mar 2007 15:40:53 +0000 (11:40 -0400)
commite21878c3f2fe2f4f2c1dc9a1da18b7b1566e0686
tree4f220e05258fb235b76026c41e9048811d9648a3
parent31e78b0b92b0a1e066c85622173eb866ded45709
Handle status bits a little better, as well as non-speculative instructions.

src/cpu/o3/iew_impl.hh:
    Allow for slightly more flexible handling of non-speculative instructions.  They can be other classes now, such as loads or stores.

    Also be sure to clear the state associated with squashes that are not used.  i.e. if a squash due to a memory ordering violation happens on the same cycle as an older branch squashing, clear the state associated with the memory ordering violation.

    Lastly don't consider uncached loads to officially be "at commit" until IEW receives the signal back from commit about the load.
src/cpu/o3/inst_queue_impl.hh:
    Don't consider non-speculative instructions to be "at commit" until the IQ has received a signal from commit about the instruction.  This prevents non-speculative instructions from being issued too early.
src/cpu/o3/mem_dep_unit_impl.hh:
    Clear instruction's ability to issue if it's replayed.

--HG--
extra : convert_revision : d69dae878a30821222885485f4dee87170d56eb3
src/cpu/o3/iew_impl.hh
src/cpu/o3/inst_queue_impl.hh
src/cpu/o3/mem_dep_unit_impl.hh