Coffeehouse Post

Single Post Permalink

View Thread: MS working on a same compiler for C++ AND C# ! Not in 'incubation' but for production !
  • User profile image

    This is NOT for the TSI (Technical Strategy and Incubation) but for STB (Server and Tools Business) !

    This is NOT for the Bartok/Phoenix compilers but for the Visual C++ compiler !

    This is NOT for an incubation project but for shipping (could be internally thought) products !

    Finally some Midori ideas goes into product teams !

    Hmmm....maybe .NET 5 will be the new Visual Basic 5 which compiles the P-Code to native using Visual C++ compiler. Angel

    So Going Native doesnt necessarily mean Going C++ and we can optimize for both programmer productivity and performance, how about that ?

    We are looking for a software engineer to fill a critical role in the C++ compiler team at Microsoft. The successful candidate must be able to (1) help us ship new compilers and tools (2) bang out elegant scripting code, (3) work hand-in-hand with some of the best compiler architects in the business, and (4) demonstrate a strong desire to improve all automation used to ship the tools compile all major products in Microsoft.

    We are looking for an exceptional candidate for the C++ optimizer team at Microsoft. The successful candidate must be able to (1) design new compiler innovations for both native and managed code, (2) bang out elegant code, (3) work hand-in-hand with some of the best compiler architects in the business, and (4) demonstrate a strong desire to learn. We offer a chance to help shape the future of high performance computing for many platforms by exploiting the ever wider vectors and the higher numbers of cores on each new generation of microprocessor that Microsoft will have to respond to in the next 12 to 18 months. For Windows 8, Microsoft has invested in the automatic vectorization and parallelization of unaltered C++ in an initial effort to move the entire Microsoft software platform to all the new hardware from Intel, AMD and ARM. Microsoft has an ambitious agenda to take those technologies to the next level. We want to expand that technology for both C++ and now C#.

    To accomplish this, the candidate will work on improving the optimization, vectorization and parallelization phases of the Microsoft C++ compiler both for C++ and C#. This includes both significant research and/or simultaneous product development activities. As Microsoft continues to advance the state of the art with automatic vectorization and automatic parallelization capabilities across dissimilar architectures the need to grow the optimizer team is a priority for the company. Since we are taking on a managed language like C# the candidate will assist in compiling MSIL byte codes using the native C++ compiler.

    Specifically this work will include:
    • engineering parts of the reader for MSIL and type loader
    • providing technical leadership across all the components in the new compile paths
    • coordination with both the PM and QA teams
    • performance analyis
    • creating a native compiler internal representation the existing compiler can optimize
    • the design and implementation of new managed optimizations to augment the existing optimizer like range check elimination or speeding up C# constructs on vector machines
    • engineering and co-designing the ability to emit a new object file format that will support rapid linking and
    • fixing all existing phases of the compiler so that managed code can be correctly and efficiently compiled with the new auot-vectorizing/auto-parallelizing Win 8 compiler
    • working effectively across both domains – managed and native, compiler and runtime.
    Since the compiler is used to compile all the C++ software in the company the candidate must respect mission critical correctness by helping to improve the overall quality of the compiler for throughput, correctness, performance and code size as all members of the team currently do.