FailedChanges

Summary

  1. Use nullptr instead of the literal 0
  2. Fix macro redefinition warnings for _LIBCPP_NO_RTTI
  3. Add #pragma clang module begin/end pragmas and generate them when preprocessing a module. These pragmas are intended to simulate the effect of entering or leaving a file with an associated module. This is not completely implemented yet: declarations between the pragmas will not be attributed to the correct module, but macro visibility is already functional. Modules named by #pragma clang module begin must already be known to clang (in some module map that's either loaded or on the search path).
  4. Test commit for Appveyor - Remove incorrect caching logic
  5. [SCEV] createAddRecFromPHI: Optimize for the most common case. Summary: The existing implementation creates a symbolic SCEV expression every time we analyze a phi node and then has to remove it, when the analysis is finished. This is very expensive, and in most of the cases it's also unnecessary. According to the data I collected, ~60-70% of analyzed phi nodes (measured on SPEC) have the following form: PN = phi(Start, OP(Self, Constant)) Handling such cases separately significantly speeds this up. Reviewers: sanjoy, pete Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32663
  6. CMake: Only add test/ subdirectory when it exists r296685 started adding the test/ subdirectory even when LIBCXX_INCLUDE_TESTS=OFF. This is great for testing libcxx standalone, but it also breaks the build when the test/ subdirectory is removed (and our submission system strips all test/ directories). This patch updates the logic to check for test/ before adding it. rdar://problem/31931366
  7. strlen-1.ll: Fix test Change test for `strlen(x) == 0 --> *x == 0` to actually test the pattern.
Revision 302100 by ericwf:
Use nullptr instead of the literal 0
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/memory (diff)llvm-revision.src/libcxx/trunk/include/memory
The file was modified/libcxx/trunk/src/memory.cpp (diff)llvm-revision.src/libcxx/trunk/src/memory.cpp
Revision 302099 by ericwf:
Fix macro redefinition warnings for _LIBCPP_NO_RTTI
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/__config (diff)llvm-revision.src/libcxx/trunk/include/__config
Revision 302098 by rsmith:
Add #pragma clang module begin/end pragmas and generate them when preprocessing a module.

These pragmas are intended to simulate the effect of entering or leaving a file
with an associated module. This is not completely implemented yet: declarations
between the pragmas will not be attributed to the correct module, but macro
visibility is already functional.

Modules named by #pragma clang module begin must already be known to clang (in
some module map that's either loaded or on the search path).
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td (diff)llvm-revision.src/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td
The file was modified/cfe/trunk/include/clang/Lex/Preprocessor.h (diff)llvm-revision.src/cfe/trunk/include/clang/Lex/Preprocessor.h
The file was modified/cfe/trunk/lib/Frontend/PrintPreprocessedOutput.cpp (diff)llvm-revision.src/cfe/trunk/lib/Frontend/PrintPreprocessedOutput.cpp
The file was modified/cfe/trunk/lib/Frontend/Rewrite/InclusionRewriter.cpp (diff)llvm-revision.src/cfe/trunk/lib/Frontend/Rewrite/InclusionRewriter.cpp
The file was modified/cfe/trunk/lib/Lex/PPDirectives.cpp (diff)llvm-revision.src/cfe/trunk/lib/Lex/PPDirectives.cpp
The file was modified/cfe/trunk/lib/Lex/PPLexerChange.cpp (diff)llvm-revision.src/cfe/trunk/lib/Lex/PPLexerChange.cpp
The file was modified/cfe/trunk/lib/Lex/PPMacroExpansion.cpp (diff)llvm-revision.src/cfe/trunk/lib/Lex/PPMacroExpansion.cpp
The file was modified/cfe/trunk/lib/Lex/Pragma.cpp (diff)llvm-revision.src/cfe/trunk/lib/Lex/Pragma.cpp
The file was modified/cfe/trunk/lib/Lex/Preprocessor.cpp (diff)llvm-revision.src/cfe/trunk/lib/Lex/Preprocessor.cpp
The file was added/cfe/trunk/test/Modules/Inputs/preprocess/file2.hllvm-revision.src/cfe/trunk/test/Modules/Inputs/preprocess/file2.h
The file was modified/cfe/trunk/test/Modules/Inputs/preprocess/module.modulemap (diff)llvm-revision.src/cfe/trunk/test/Modules/Inputs/preprocess/module.modulemap
The file was modified/cfe/trunk/test/Modules/preprocess-module.cpp (diff)llvm-revision.src/cfe/trunk/test/Modules/preprocess-module.cpp
The file was modified/cfe/trunk/test/Preprocessor/pragma_module.c (diff)llvm-revision.src/cfe/trunk/test/Preprocessor/pragma_module.c
Revision 302097 by ericwf:
Test commit for Appveyor - Remove incorrect caching logic
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/appveyor.yml (diff)llvm-revision.src/libcxx/trunk/appveyor.yml
Revision 302096 by Michael Zolotukhin:
[SCEV] createAddRecFromPHI: Optimize for the most common case.

Summary:
The existing implementation creates a symbolic SCEV expression every
time we analyze a phi node and then has to remove it, when the analysis
is finished. This is very expensive, and in most of the cases it's also
unnecessary. According to the data I collected, ~60-70% of analyzed phi
nodes (measured on SPEC) have the following form:
  PN = phi(Start, OP(Self, Constant))
Handling such cases separately significantly speeds this up.

Reviewers: sanjoy, pete

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D32663
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/ScalarEvolution.h (diff)llvm-revision.src/llvm/trunk/include/llvm/Analysis/ScalarEvolution.h
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolution.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/ScalarEvolution.cpp
The file was added/llvm/trunk/test/Analysis/ScalarEvolution/ZeroStep.llllvm-revision.src/llvm/trunk/test/Analysis/ScalarEvolution/ZeroStep.ll
The file was modified/llvm/trunk/test/CodeGen/X86/2014-08-29-CompactUnwind.ll (diff)llvm-revision.src/llvm/trunk/test/CodeGen/X86/2014-08-29-CompactUnwind.ll
Revision 302095 by Duncan P. N. Exon Smith:
CMake: Only add test/ subdirectory when it exists

r296685 started adding the test/ subdirectory even when
LIBCXX_INCLUDE_TESTS=OFF.  This is great for testing libcxx standalone,
but it also breaks the build when the test/ subdirectory is removed
(and our submission system strips all test/ directories).

This patch updates the logic to check for test/ before adding it.

rdar://problem/31931366
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/CMakeLists.txt (diff)llvm-revision.src/libcxx/trunk/CMakeLists.txt
Revision 302094 by matze:
strlen-1.ll: Fix test

Change test for `strlen(x) == 0 --> *x == 0` to actually test the
pattern.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/strlen-1.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstCombine/strlen-1.ll