From f60033e0aaf546d7f56a4925b5aeec76709fb851 Mon Sep 17 00:00:00 2001 From: FICTURE7 <FICTURE7@gmail.com> Date: Sun, 20 Sep 2020 03:00:24 +0400 Subject: 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 --- ARMeilleure/CodeGen/X86/CodeGenerator.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ARMeilleure/CodeGen/X86/CodeGenerator.cs') 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); } } -- cgit v1.2.3-70-g09d2