diff options
author | FICTURE7 <FICTURE7@gmail.com> | 2020-09-20 03:00:24 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-19 20:00:24 -0300 |
commit | f60033e0aaf546d7f56a4925b5aeec76709fb851 (patch) | |
tree | af6585403754a771dbab824b1739322ef04b3cd8 /ARMeilleure/CodeGen/X86/CodeGenerator.cs | |
parent | 1eea35554c7505dbf521cf9f3cfeeaa0fc7e916f (diff) |
Implement block placement (#1549)
* Implement block placement
Implement a simple pass which re-orders cold blocks at the end of the
list of blocks in the CFG.
* Set PPTC version
* Use Array.Resize
Address gdkchan's feedback
Diffstat (limited to 'ARMeilleure/CodeGen/X86/CodeGenerator.cs')
-rw-r--r-- | ARMeilleure/CodeGen/X86/CodeGenerator.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ARMeilleure/CodeGen/X86/CodeGenerator.cs b/ARMeilleure/CodeGen/X86/CodeGenerator.cs index a51f4a13..c9acd945 100644 --- a/ARMeilleure/CodeGen/X86/CodeGenerator.cs +++ b/ARMeilleure/CodeGen/X86/CodeGenerator.cs @@ -106,6 +106,8 @@ namespace ARMeilleure.CodeGen.X86 X86Optimizer.RunPass(cfg); + BlockPlacement.RunPass(cfg); + Logger.EndPass(PassName.Optimization, cfg); Logger.StartPass(PassName.PreAllocation); @@ -186,9 +188,11 @@ namespace ARMeilleure.CodeGen.X86 } } + byte[] code = context.GetCode(); + Logger.EndPass(PassName.CodeGeneration); - return new CompiledFunction(context.GetCode(), unwindInfo); + return new CompiledFunction(code, unwindInfo); } } |