mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-17 20:00:36 +02:00
Merge pull request #3537 from Sonicadvance1/remove_vla_ra
RA: Removes VLA usage
This commit is contained in:
1 file changed
+4
-2
@@ -297,6 +297,8 @@ namespace {
|
||||
bool RunAllocateVirtualRegisters(IREmitter *IREmit);
|
||||
|
||||
uint64_t OriginalRIP;
|
||||
|
||||
fextl::vector<LiveRange*> StaticMaps;
|
||||
};
|
||||
|
||||
ConstrainedRAPass::ConstrainedRAPass(FEXCore::IR::Pass* _CompactionPass, bool _SupportsAVX)
|
||||
@@ -550,7 +552,7 @@ namespace {
|
||||
|
||||
auto GprSize = Graph->Set.Classes[GPRFixedClass.Val].PhysicalCount;
|
||||
auto MapsSize = Graph->Set.Classes[GPRFixedClass.Val].PhysicalCount + Graph->Set.Classes[FPRFixedClass.Val].PhysicalCount;
|
||||
LiveRange* StaticMaps[MapsSize];
|
||||
StaticMaps.resize(MapsSize);
|
||||
|
||||
// Get a StaticMap entry from context offset
|
||||
const auto GetStaticMapFromOffset = [&](uint32_t Offset) -> LiveRange** {
|
||||
@@ -625,7 +627,7 @@ namespace {
|
||||
// - Mark read-aliases
|
||||
// - Demote read-aliases if SRA reg is written before the alias's last read
|
||||
for (auto [BlockNode, BlockHeader] : IR->GetBlocks()) {
|
||||
memset(StaticMaps, 0, MapsSize * sizeof(LiveRange*));
|
||||
memset(StaticMaps.data(), 0, MapsSize * sizeof(LiveRange*));
|
||||
for (auto [CodeNode, IROp] : IR->GetCode(BlockNode)) {
|
||||
const auto Node = IR->GetID(CodeNode);
|
||||
auto& NodeLiveRange = LiveRanges[Node.Value];
|
||||
|
||||
Reference in new issue
Block a user