1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/lib/MCA/HardwareUnits
Andrea Di Biagio ba5ec98548 [MCA][RegisterFile] Fix register class check for move elimination (PR50265)
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.
2021-05-07 21:30:25 +01:00
..
HardwareUnit.cpp
LSUnit.cpp [MCA][LSUnit] Fix a potential use after free in the logic that updates memory groups. 2021-04-20 13:30:45 +01:00
RegisterFile.cpp [MCA][RegisterFile] Fix register class check for move elimination (PR50265) 2021-05-07 21:30:25 +01:00
ResourceManager.cpp
RetireControlUnit.cpp [MCA] Disable RCU for InOrderIssueStage 2021-03-24 13:54:04 +03:00
Scheduler.cpp [llvm] Use llvm::append_range (NFC) 2021-01-06 18:27:33 -08:00