[llvm-mca] Add extra counters for move elimination in view RegisterFileStatistics.
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Thu, 1 Nov 2018 18:04:39 +0000 (18:04 +0000)
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Thu, 1 Nov 2018 18:04:39 +0000 (18:04 +0000)
commitfe3bc1b9bf7603fcd4984b7e6c721f95171a56f8
tree46022db59b4781043795b9eff30bc976c0c29060
parenteb56894a4befd0cf6c182af2a8542fe00f73c52c
[llvm-mca] Add extra counters for move elimination in view RegisterFileStatistics.

This patch teaches view RegisterFileStatistics how to report events for
optimizable register moves.

For each processor register file, view RegisterFileStatistics reports the
following extra information:
 - Number of optimizable register moves
 - Number of register moves eliminated
 - Number of zero moves (i.e. register moves that propagate a zero)
 - Max Number of moves eliminated per cycle.

Differential Revision: https://reviews.llvm.org/D53976

llvm-svn: 345865
12 files changed:
llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-1.s
llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-2.s
llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-3.s
llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-4.s
llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-5.s
llvm/tools/llvm-mca/Views/RegisterFileStatistics.cpp
llvm/tools/llvm-mca/Views/RegisterFileStatistics.h
llvm/tools/llvm-mca/include/HardwareUnits/RegisterFile.h
llvm/tools/llvm-mca/include/Instruction.h
llvm/tools/llvm-mca/include/Stages/DispatchStage.h
llvm/tools/llvm-mca/lib/HardwareUnits/RegisterFile.cpp
llvm/tools/llvm-mca/lib/Stages/DispatchStage.cpp