/// <summary> /// Performs stage specific processing on the compiler context. /// </summary> void IMethodCompilerStage.Run() { // Method is empty - must be a plugged method if (basicBlocks.HeadBlocks.Count == 0) return; phiPlacementStage = methodCompiler.Pipeline.FindFirst<PhiPlacementStage>(); foreach (var headBlock in basicBlocks.HeadBlocks) EnterSSA(headBlock); ssaOperands = null; }
protected override void Run() { // Method is empty - must be a plugged method if (BasicBlocks.HeadBlocks.Count == 0) return; phiPlacementStage = MethodCompiler.Pipeline.FindFirst<PhiPlacementStage>(); foreach (var headBlock in BasicBlocks.HeadBlocks) { EnterSSA(headBlock); } ssaOperands = null; }
protected override void Run() { // Method is empty - must be a plugged method if (BasicBlocks.HeadBlocks.Count == 0) { return; } if (HasProtectedRegions) { return; } phiPlacementStage = MethodCompiler.Pipeline.FindFirst <PhiPlacementStage>(); foreach (var headBlock in BasicBlocks.HeadBlocks) { EnterSSA(headBlock); } ssaOperands = null; }