April 14th, 2021

MSVC Backend Updates in Visual Studio 2019 version 16.10 Preview 2

Helena Gregg
Software Engineer

In Visual Studio 2019 version 16.10 Preview 2 we have continued to improve the C++ backend with new features, new and improved optimizations, build throughput improvements, and better security. Here is a brief list of improvements for you to review. 

  • Address Sanitizer 
    • Fixed false negative bugs, fixed false positive bugs, and improved debugger step-over fidelity of ASan-instrumented code. 
  • ARM64 support for /guard:ehcont 
  • OpenMP 
    • Made /openmp:llvm available on x86 and ARM64 
  • Bigger stack reserve for link.exe and mspdbsrv.exe 
  • Added flags to enable/disable the SSA peeps for amd64 and x86  
    • Added retail flags (-post-color-ssa-peeps, post-color-ssa-peeps-) to allow users to disable post-color ssa peeps and -pre-color-ssa-peeps and -pre-color-ssa-peeps- to enable them. This should allow users affected by an overly aggressive peep to work around their issue without having to completely disable the optimizer. 
  • Avoid PDB size overgrowth from incremental linking 
  • Debug mode performance improvements 
    • Removed unnecessary overhead due to runtime checks. This may increase performance of your code compiled in debug mode by up to 3x. 
  • Added additional peephole optimizations for ARM64 
  • Enabled volatile metadata by default when targeting x64 to improve emulation performance

Do you want to experience the new improvements of the C++ backend? Please download the latest Visual Studio 2019 and give it a try! Any feedback is welcome. We can be reached via the comments below, Developer Community, email (visualcpp@microsoft.com), and Twitter (@VisualC).

Author

Helena Gregg
Software Engineer

1 comment

Discussion is closed. Login to edit/delete existing comments.

  • Juan Abadia

    Excellent!!