[llvm-mca] Move field 'AllowZeroMoveEliminationOnly' to class RegisterFile. NFC.
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Thu, 4 Oct 2018 15:20:56 +0000 (15:20 +0000)
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Thu, 4 Oct 2018 15:20:56 +0000 (15:20 +0000)
commit2ee9f37fce8a5f35c35e726f3ef878e508eb6bd6
tree84e12eb30b04a3016d070e71b30553658757d075
parent8ba4061d39e25fed0a32efaceb89820b5aca08c8
[llvm-mca] Move field 'AllowZeroMoveEliminationOnly' to class RegisterFile. NFC.

Flag 'AllowZeroMoveEliminationOnly' should have been a property of the PRF, and
not set at register granularity.

This change also restricts move elimination to writes that update a full
physical register. We assume that there is a strong correlation between
logical registers that allow move elimination, and how those same registers are
allocated to physical registers by the register renamer.

This is still a no functional change, because this experimental code path is
disabled for now. This is done in preparation for another patch that will add
the ability to describe how move elimination works in scheduling models.

llvm-svn: 343787
llvm/tools/llvm-mca/include/HardwareUnits/RegisterFile.h
llvm/tools/llvm-mca/lib/HardwareUnits/RegisterFile.cpp