protected override void Run()
        {
            var allocator = new GreedyRegisterAllocator(BasicBlocks, MethodCompiler.VirtualRegisters, MethodCompiler.StackLayout, Architecture, this);

            allocator.Start();

            return;
        }
        protected override void Run()
        {
            var trace = CreateTrace();

            var allocator = new GreedyRegisterAllocator(BasicBlocks, MethodCompiler.VirtualRegisters, InstructionSet, MethodCompiler.StackLayout, Architecture, trace);

            allocator.Start();

            return;
        }