mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
ba5ec98548
The register file should always check if the destination register is from a register class that allows move elimination. Before this change, the check on the register class was only performed in a few very specific cases. However, it should have always been performed. This patch fixes the issue. Note that none of the upstream scheduling models is currently affected by this bug, so there is no test for it. The issue was found by Roman while working on the znver3 model. I was able to reproduce the issue locally by tweaking the btver2 model. I then verified that this patch fixes the issue. |
||
---|---|---|
.. | ||
HardwareUnit.cpp | ||
LSUnit.cpp | ||
RegisterFile.cpp | ||
ResourceManager.cpp | ||
RetireControlUnit.cpp | ||
Scheduler.cpp |