Visual C++ Optimizer fixes for Visual Studio 2015 Update 3

This article describes a hotfix package for Microsoft Visual Studio 2015 Update 3. The hotfix contains several fixes to the Visual C++ optimizer and code generator (c2.dll). For more information, see the "Issues that are fixed in this hotfix" section.


How to obtain this hotfix

The following file is available for download from the Microsoft Download Center:

Download Download the hotfix package now.

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.


To apply this hotfix, you must have Visual Studio 2015 Update 3 installed. 

Restart requirement

You may have to restart the computer after you apply this hotfix if no instance of Visual Studio is being used.

Hotfix replacement information

 This hotfix doesn't replace other hotfixes. 

Issues that are fixed in this hotfix

The following Connect bugs are all resolved by this hotfix:Additionally, this hotfix also contains code generation fixes that aren't reported through Connect:
  • Fixes for a compiler crash in c2!PpCanPropagateForward when you perform optimizations on x64.
  • Fixes for loop optimizer bugs which involve incorrect induction variable strength reduction.
  • Fixes for incorrect reordering of expressions which involve reads & writes to memory because of incorrect alias checking.
  • Fixes for a register allocator bug which involves a compiler-generated temporary existing across multiple exception handling regions.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Article ID: 3207317 - Last Review: 1 Feb 2017 - Revision: 2