internal static TestCompiler GetTestCompiler(BaseTestPlatform basePlatform) { lock (testCompilers) { TestCompiler testCompiler = null; if (!testCompilers.TryGetValue(basePlatform, out testCompiler)) { testCompiler = new TestCompiler(basePlatform); testCompilers.Add(basePlatform, testCompiler); } return(testCompiler); } }
internal static TestCompiler GetTestCompiler(BaseTestPlatform basePlatform) { lock (testCompilers) { TestCompiler testCompiler = null; if (!testCompilers.TryGetValue(basePlatform, out testCompiler)) { testCompiler = new TestCompiler(basePlatform); testCompilers.Add(basePlatform, testCompiler); } return testCompiler; } }
public TestCompiler(BaseTestPlatform platform) { this.platform = platform; simAdapter = platform.CreateSimAdaptor(); compiler.CompilerTrace.TraceFilter.Active = false; compiler.CompilerTrace.TraceListener = this; compiler.CompilerOptions.EnableOptimizations = true; compiler.CompilerOptions.EnableSSA = true; compiler.CompilerOptions.EnableVariablePromotion = true; compiler.CompilerOptions.EnableSparseConditionalConstantPropagation = true; compiler.CompilerOptions.EnableInlinedMethods = false; compiler.CompilerOptions.Architecture = platform.CreateArchitecture(); compiler.CompilerOptions.LinkerFactory = delegate { return(new SimLinker(simAdapter)); }; compiler.CompilerFactory = delegate { return(new SimCompiler(simAdapter)); }; CompileTestCode(); }
internal TestCompiler(BaseTestPlatform platform) { this.platform = platform; DebugOutput = false; Reset(); }