mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-08-16 21:58:42 +02:00
* Add an early `TailMerge` pass Some translations can have a lot of guest calls and since for each guest call there is a call guard which may return. This can produce a lot of epilogue code for returns. This pass merges the epilogue into a single block. ``` Using filter 'hcq'. Using metric 'code size'. Total diff: -1648111 (-7.19 %) (bytes): Base: 22913847 Diff: 21265736 Improved: 4567, regressed: 14, unchanged: 144 ``` * Set PTC version * Address feedback * Handle `void` returning functions * Actually handle `void` returning functions * Fix `RegisterToLocal` logging
19 lines
329 B
C#
19 lines
329 B
C#
namespace ARMeilleure.Diagnostics
|
|
{
|
|
enum PassName
|
|
{
|
|
Decoding,
|
|
Translation,
|
|
RegisterUsage,
|
|
TailMerge,
|
|
Dominance,
|
|
SsaConstruction,
|
|
RegisterToLocal,
|
|
Optimization,
|
|
PreAllocation,
|
|
RegisterAllocation,
|
|
CodeGeneration,
|
|
|
|
Count
|
|
}
|
|
} |