[PATCH] D20401: [Lexer] Don't merge macro args from different macro files
Vedant Kumar via cfe-commits
cfe-commits at lists.llvm.org
Thu May 19 13:47:07 PDT 2016
vsk added a comment.
I discussed this bug with Argyrios off-list, who lgtm'd on the condition that it doesn't introduce a performance regression. He suggested preprocessing Cocoa.h to stress the patch. After running a stabilization script, I used this command to stress RelNoAsserts builds of clang both with and without this patch.
for I in $(seq 1 100); do time $CC -F /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks -E Cocoa.h -o /dev/null; done
The results are basically in the noise (link to raw data: https://ghostbin.com/paste/r6cyh):
| Compiler | **Unpatched** TOT | **Patched** TOT |
| Avg. wall time (s) | 0.21709 | 0.21608 |
| Std. deviation | 0.02101 | 0.02219 |
I also made sure that the preprocessed sources emitted by the two compilers are the same.
More information about the cfe-commits