[llvm-bugs] [Bug 43369] New: Large compile time regression when building CheckerRegistry.cpp using Visual Studio 2017 on Windows
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Sep 19 19:49:30 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=43369
Bug ID: 43369
Summary: Large compile time regression when building
CheckerRegistry.cpp using Visual Studio 2017 on
Windows
Product: new-bugs
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: douglas_yung at playstation.sony.com
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
After upstream commit r369961, compiling the file
clang\lib\StaticAnalyzer\Frontend\CheckerRegistry.cpp with optimizations
enabled on Windows using Visual Studio 2017 has greatly increased in the amount
of time needed to compile on my machine.
I generated preprocessed files using r369960 and r369961 and built each on my
machine with the following results:
C:\sandbox\r369961\upstream>..\timecmd.cmd "C:\Program Files (x86)\Microsoft
Visual
Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\CL.exe" /c
CheckerRegistry.good.i /TP /wd4624 /O2
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27031.1 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
CheckerRegistry.good.i
command took 0:0:29.97 (29.97s total)
C:\sandbox\r369961\upstream>..\timecmd.cmd "C:\Program Files (x86)\Microsoft
Visual
Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\CL.exe" /c
CheckerRegistry.bad.i /TP /wd4624 /O2
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27031.1 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
CheckerRegistry.bad.i
command took 0:10:4.87 (604.87s total)
Note the time required to compile went from ~30 seconds to around 10 minutes!
Other files in the build of clang may also be affected, but this one seems to
stand out the most on my machine as it was causing timeouts in our distributed
build system due to the long compilation time.
I am attaching preprocessed copies of the CheckerRegistry.cpp file to help ease
reproduction. CheckerRegistry.good.i is a preprocessed version of the file from
r269960, and CheckerRegistry.bad.i is a preprocessed version of the file from
r269961. To build, simply use options /TP /O2, and optionally /wd4624 to
silence a warning.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190920/dcce4b01/attachment.html>
More information about the llvm-bugs
mailing list