Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
 internal TestCompiler(BaseTestPlatform platform)
 {
     this.platform = platform;
     DebugOutput   = false;
     Reset();
 }