[MCA] Fix wrong definition of ResourceUnitMask in DefaultResourceStrategy.
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Thu, 10 Jan 2019 13:59:13 +0000 (13:59 +0000)
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Thu, 10 Jan 2019 13:59:13 +0000 (13:59 +0000)
commit97ed076dd1bc1e3fd674d50b925b2a4a6eba5c79
treee6a0241555dc410e6e6ceb01fcde5f0ea0a0b2db
parent73af3d4060463e3222c56fb1cedb166c05771402
[MCA] Fix wrong definition of ResourceUnitMask in DefaultResourceStrategy.

Field ResourceUnitMask was incorrectly defined as a 'const unsigned' mask. It
should have been a 64 bit quantity instead. That means, ResourceUnitMask was
always implicitly truncated to a 32 bit quantity.
This issue has been found by inspection. Surprisingly, that bug was latent, and
it never negatively affected any existing upstream targets.

This patch fixes  the wrong definition of ResourceUnitMask, and adds a bunch of
extra debug prints to help debugging potential issues related to invalid
processor resource masks.

llvm-svn: 350820
llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
llvm/include/llvm/MCA/Instruction.h
llvm/include/llvm/MCA/Stages/ExecuteStage.h
llvm/include/llvm/MCA/Stages/InstructionTables.h
llvm/include/llvm/MCA/Support.h
llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
llvm/lib/MCA/InstrBuilder.cpp
llvm/lib/MCA/Pipeline.cpp
llvm/lib/MCA/Stages/ExecuteStage.cpp
llvm/lib/MCA/Support.cpp
llvm/tools/llvm-mca/Views/SummaryView.cpp