SuccessChanges

Summary

  1. [NFCI] Return PathSensitiveBugReport where appropriate Some compilers have trouble converting unique_ptr<PathSensitiveBugReport> to unique_ptr<BugReport> causing some functions to fail to compile. Changing the return type of the functions that fail to compile does not appear to have any issues. I ran into this issue building with clang 3.8 on Ubuntu 16.04.
  2. HotColdSplitting: invalidate the AssumptionCache on split When a cold path is outlined, the value tracking in the assumption cache may be invalidated due to the code motion. We would previously trip an assertion in subsequent passes (but required the passes to happen in a single run as the assumption cache is shared across the passes). Invalidating the cache ensures that we get the correct information when needed with the legacy pass manager as well.
  3. [llvm-lipo] Add support for archives Add support for creating universal binaries which can contain an archive. Differential revision: https://reviews.llvm.org/D67758 Test plan: make check-all
  4. [SampleFDO] Treat names in profile as not cold only when profile symbol list is available In rL372232, we treated names showing up in profile as not cold when profile-sample-accurate is enabled. This caused 70k size regression in Chrome/Android. The patch put a guard and only enable the change when profile symbol list is available, i.e., keep the old behavior when profile symbol list is not available. Differential Revision: https://reviews.llvm.org/D67931
  5. [Diagnostics] Warn for enum constants in bool context (-Wint-in-bool-context; GCC compatibility) Extracted from D63082.
  6. Support for DWARF-5 C++ language tags. This patch provides support for DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14 tags in the Clang C++ frontend. Patch by Sourabh Singh Tomar! Differential Revision: https://reviews.llvm.org/D67613
  7. Fix uninitialized variable warning. NFCI.
  8. [X86] Reduce the number of unique check prefixes in memset-nonzero.ll. NFC The avx512 with prefer-256-bit generates the same code as AVX2 so just reuse that prefix.
Revision 372668 by xiaobai:
[NFCI] Return PathSensitiveBugReport where appropriate

Some compilers have trouble converting unique_ptr<PathSensitiveBugReport> to
unique_ptr<BugReport> causing some functions to fail to compile.
Changing the return type of the functions that fail to compile does not
appear to have any issues.
I ran into this issue building with clang 3.8 on Ubuntu 16.04.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp (diff)clang.src/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
The file was modified/cfe/trunk/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp (diff)clang.src/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
Revision 372667 by Saleem Abdulrasool:
HotColdSplitting: invalidate the AssumptionCache on split

When a cold path is outlined, the value tracking in the assumption cache may be
invalidated due to the code motion.  We would previously trip an assertion in
subsequent passes (but required the passes to happen in a single run as the
assumption cache is shared across the passes).  Invalidating the cache ensures
that we get the correct information when needed with the legacy pass manager as
well.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/HotColdSplitting.cpp (diff)llvm.src/lib/Transforms/IPO/HotColdSplitting.cpp
The file was added/llvm/trunk/test/Transforms/HotColdSplit/assumption-cache-invalidation.llllvm.src/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
Revision 372666 by alexshap:
[llvm-lipo] Add support for archives

Add support for creating universal binaries which
can contain an archive.

Differential revision: https://reviews.llvm.org/D67758

Test plan: make check-all
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-lipo/create-archive-input.testllvm.src/test/tools/llvm-lipo/create-archive-input.test
The file was modified/llvm/trunk/tools/llvm-lipo/llvm-lipo.cpp (diff)llvm.src/tools/llvm-lipo/llvm-lipo.cpp
Revision 372665 by wmi:
[SampleFDO] Treat names in profile as not cold only when profile symbol list
is available

In rL372232, we treated names showing up in profile as not cold when
profile-sample-accurate is enabled. This caused 70k size regression in
Chrome/Android. The patch put a guard and only enable the change when
profile symbol list is available, i.e., keep the old behavior when profile
symbol list is not available.

Differential Revision: https://reviews.llvm.org/D67931
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp (diff)llvm.src/lib/Transforms/IPO/SampleProfile.cpp
The file was modified/llvm/trunk/test/Transforms/SampleProfile/profile-sample-accurate.ll (diff)llvm.src/test/Transforms/SampleProfile/profile-sample-accurate.ll
Revision 372664 by xbolva00:
[Diagnostics] Warn for enum constants in bool context (-Wint-in-bool-context; GCC compatibility)

Extracted from D63082.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/lib/Sema/SemaExpr.cpp (diff)clang.src/lib/Sema/SemaExpr.cpp
The file was modified/cfe/trunk/test/Sema/warn-int-in-bool-context.c (diff)clang.src/test/Sema/warn-int-in-bool-context.c
Revision 372663 by Adrian Prantl:
Support for DWARF-5 C++ language tags.

This patch provides support for DW_LANG_C_plus_plus_11,
DW_LANG_C_plus_plus_14 tags in the Clang C++ frontend.

Patch by Sourabh Singh Tomar!
Differential Revision: https://reviews.llvm.org/D67613
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/DeclCXX.h (diff)clang.src/include/clang/AST/DeclCXX.h
The file was modified/cfe/trunk/lib/AST/DeclPrinter.cpp (diff)clang.src/lib/AST/DeclPrinter.cpp
The file was modified/cfe/trunk/lib/AST/JSONNodeDumper.cpp (diff)clang.src/lib/AST/JSONNodeDumper.cpp
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpp (diff)clang.src/lib/AST/TextNodeDumper.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (diff)clang.src/lib/CodeGen/CGDebugInfo.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cpp (diff)clang.src/lib/CodeGen/CodeGenModule.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cpp (diff)clang.src/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaModule.cpp (diff)clang.src/lib/Sema/SemaModule.cpp
The file was modified/cfe/trunk/test/Modules/ModuleDebugInfo.cpp (diff)clang.src/test/Modules/ModuleDebugInfo.cpp
Revision 372662 by rksimon:
Fix uninitialized variable warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonOptAddrMode.cpp (diff)llvm.src/lib/Target/Hexagon/HexagonOptAddrMode.cpp
Revision 372661 by ctopper:
[X86] Reduce the number of unique check prefixes in memset-nonzero.ll. NFC

The avx512 with prefer-256-bit generates the same code as AVX2 so
just reuse that prefix.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/memset-nonzero.ll (diff)llvm.src/test/CodeGen/X86/memset-nonzero.ll