SuccessChanges

Summary

  1. [llvm-pdbutil] Allow diff to force module equivalencies. Sometimes the normal module equivalence detection algorithm doesn't quite work. For example, you might build the same program with MSVC and clang-cl, outputting to different object files, exes, and PDBs, then compare them. If the object files have different names though, then they won't be treated as equivalent. This way we can force specific module indices to be treated as equivalent.
  2. [libFuzzer] Un-reverting change in tests after fixing the failure on Linux. Differential Revision: https://reviews.llvm.org/D36242
  3. test commit
  4. Fix llvm-for-windows-on-linux build after LLVM r272701. The file is called "intrin.h". When building targeting Windows on a Linux system, with the SDK mounted in a case-insensitive file system, "Intrin.h" will miss clang's intrin.h header (because that's not in a case-insensitive file system) but then find intrin.h in the Microsoft SDK. clang can't handle the SDK's intrin.h. https://reviews.llvm.org/D36281
  5. [test] Fix clang library dir in LD_LIBRARY_PATH For stand-alone build Prepend the clang library directory (determined using SHLIBDIR, alike in clang) to the LD_LIBRARY_PATH to ensure that just-built clang libraries will be used instead of a previous installed version. When a stand-alone build is performed, LLVM_LIBS_DIR contains the path to installed LLVM library directory. The same directory frequently contains a previously installed version of clang. SHLIBDIR, on the other hand, is always the build-tree directory, and therefore contains the freshly built clang libraries. In a non-stand-alone build, both paths will be the same and therefore including them both will not cause any issues. Differential Revision: https://reviews.llvm.org/D30155
  6. [mips] Revert r309942 & r309940 This reverts commit r309942 & commit r309940. A revert was requested following post commit review.
  7. Revert accidentally-committed files.
  8. Don't emit undefined-internal warnings for CXXDeductionGuideDecls. Patch by ~paul (cynecx on phabricator)! Some test massaging by me.
  9. [builtins] Use Interlocked* intrinsics for atomics on MSVC Tested on MSVC 2013, 2015 and 2017 targeting X86, X64 and ARM. This fixes building emutls.c for Windows for ARM (both with clang which don't need these atomics fallbacks at all, but just failed due to the immintrin.h include before, and with MSVC). Differential Revision: https://reviews.llvm.org/D36071
  10. These tests use 80-bit long doubles, which are x86 only. Mark them so. This avoids having each new target need to mark them as unsupported.
  11. [zorg] Add buildbot with reverse iteration enabled Summary: This reverse iteration buildbot builds LLVM, Clang and Polly with LLVM_REVERSE_ITERATION enabled, and subsequently runs "make check-all". With LLVM_REVERSE_ITERATION enabled, all supported unordered llvm containers would be iterated in reverse order. Reviewers: mgrang, grosser, bollu, gkistanova, zinob, vleschuk Reviewed By: mgrang, grosser Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36203
  12. [zorg] Add optional checkAll step to Polly buildbot Summary: This step does "make check-all" and can be enabled by checkAll (defaults to false in which case only "make check-polly" is run). Reviewers: mgrang, zinob, gkistanova, vleschuk, grosser, bollu Reviewed By: grosser Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36277
  13. [zorg] Remove test_polly_format step from Polly buildbot Summary: The test_polly_format does "make polly-check-format" which is already covered by the "make check-polly" step. Reviewers: mgrang, zinob, grosser, gkistanova, vleschuk, bollu Reviewed By: grosser Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36276
  14. [Analyzer] Add support for displaying cross-file diagnostic paths in HTML output This change adds support for cross-file diagnostic paths in html output. If the diagnostic path is not cross-file, there is no change in the output. Patch by Vlad Tsyrklevich! Differential Revision: https://reviews.llvm.org/D30406
  15. Fix check-lit compatibility with multi-config CMake generators Multi-configuration CMake generators such as those for Visual Studio or Xcode do not specify a build config at configure time, but let the user choose at build time. In these cases binaries go into build/${Configuration}/bin rather than build/bin. Prior to this commit, check-lit would fail when using multi-configuration generators as it did not know how to resolve ${Configuration} in order to find tools such as FileCheck. This commit teaches it to resolve llvm_tools_dir within lit using the value specified with --param build_mode. Differential Revision: https://reviews.llvm.org/D36263
  16. Disable loop peeling during full unrolling pass. Summary: Peeling should not occur during the full unrolling invocation early in the pipeline, but rather later with partial and runtime loop unrolling. The later loop unrolling invocation will also eventually utilize profile summary and branch frequency information, which we would like to use to control peeling. And for ThinLTO we want to delay peeling until the backend (post thin link) phase, just as we do for most types of unrolling. Ensure peeling doesn't occur during the full unrolling invocation by adding a parameter to the shared implementation function, similar to the way partial and runtime loop unrolling are disabled. Performance results for ThinLTO suggest this has a neutral to positive effect on some internal benchmarks. Reviewers: chandlerc, davidxl Subscribers: mzolotukhin, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D36258
  17. Do not want to use BFI to get profile count for sample pgo Summary: For SamplePGO, we already record the callsite count in the call instruction itself. So we do not want to use BFI to get profile count as it is less accurate. Reviewers: tejohnson, davidxl, eraman Reviewed By: eraman Subscribers: sanjoy, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D36025
Revision 309983 by zturner:
[llvm-pdbutil] Allow diff to force module equivalencies.

Sometimes the normal module equivalence detection algorithm doesn't
quite work.  For example, you might build the same program with
MSVC and clang-cl, outputting to different object files, exes, and
PDBs, then compare them.  If the object files have different names
though, then they won't be treated as equivalent.  This way we
can force specific module indices to be treated as equivalent.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-pdbutil/Diff.cppllvm.src/tools/llvm-pdbutil/Diff.cpp
The file was modified/llvm/trunk/tools/llvm-pdbutil/llvm-pdbutil.cppllvm.src/tools/llvm-pdbutil/llvm-pdbutil.cpp
The file was modified/llvm/trunk/tools/llvm-pdbutil/llvm-pdbutil.hllvm.src/tools/llvm-pdbutil/llvm-pdbutil.h
Revision 309982 by George Karpenkov:
[libFuzzer] Un-reverting change in tests after fixing the failure on Linux.

Differential Revision: https://reviews.llvm.org/D36242
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Fuzzer/test/InitializeTest.cppllvm.src/lib/Fuzzer/test/InitializeTest.cpp
Revision 309981 by cwabbott:
test commit
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.ll
Revision 309980 by nico:
Fix llvm-for-windows-on-linux build after LLVM r272701.

The file is called "intrin.h". When building targeting Windows on a Linux
system, with the SDK mounted in a case-insensitive file system, "Intrin.h" will
miss clang's intrin.h header (because that's not in a case-insensitive file
system) but then find intrin.h in the Microsoft SDK. clang can't handle the
SDK's intrin.h.

https://reviews.llvm.org/D36281
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/Atomic.cppllvm.src/lib/Support/Atomic.cpp
Revision 309979 by mgorny:
[test] Fix clang library dir in LD_LIBRARY_PATH For stand-alone build

Prepend the clang library directory (determined using SHLIBDIR, alike
in clang) to the LD_LIBRARY_PATH to ensure that just-built clang
libraries will be used instead of a previous installed version.

When a stand-alone build is performed, LLVM_LIBS_DIR contains the path
to installed LLVM library directory. The same directory frequently
contains a previously installed version of clang. SHLIBDIR, on the other
hand, is always the build-tree directory, and therefore contains
the freshly built clang libraries.

In a non-stand-alone build, both paths will be the same and therefore
including them both will not cause any issues.

Differential Revision: https://reviews.llvm.org/D30155
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/test/Unit/lit.cfgclang-tools-extra.src/test/Unit/lit.cfg
The file was modified/clang-tools-extra/trunk/test/lit.cfgclang-tools-extra.src/test/lit.cfg
The file was modified/clang-tools-extra/trunk/test/lit.site.cfg.inclang-tools-extra.src/test/lit.site.cfg.in
Revision 309978 by sdardis:
[mips] Revert r309942 & r309940

This reverts commit r309942 & commit r309940.

A revert was requested following post commit review.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Options.tdclang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/include/clang/Frontend/CodeGenOptions.defclang.src/include/clang/Frontend/CodeGenOptions.def
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cppclang.src/lib/CodeGen/TargetInfo.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cppclang.src/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/lib/Frontend/CompilerInvocation.cppclang.src/lib/Frontend/CompilerInvocation.cpp
The file was removed/cfe/trunk/test/CodeGen/mips-uninit-const-in-ro.cclang.src/test/CodeGen/mips-uninit-const-in-ro.c
Revision 309976 by rsmith:
Revert accidentally-committed files.
Change TypePath in RepositoryPath in Workspace
The file was removed/cfe/trunk/docs/ModuleMaps.rstclang.src/docs/ModuleMaps.rst
The file was modified/cfe/trunk/docs/Modules.rstclang.src/docs/Modules.rst
The file was removed/cfe/trunk/docs/ModulesTS.rstclang.src/docs/ModulesTS.rst
Revision 309975 by rsmith:
Don't emit undefined-internal warnings for CXXDeductionGuideDecls.

Patch by ~paul (cynecx on phabricator)! Some test massaging by me.
Change TypePath in RepositoryPath in Workspace
The file was added/cfe/trunk/docs/ModuleMaps.rstclang.src/docs/ModuleMaps.rst
The file was modified/cfe/trunk/docs/Modules.rstclang.src/docs/Modules.rst
The file was added/cfe/trunk/docs/ModulesTS.rstclang.src/docs/ModulesTS.rst
The file was modified/cfe/trunk/lib/Sema/Sema.cppclang.src/lib/Sema/Sema.cpp
The file was modified/cfe/trunk/test/SemaCXX/cxx1z-class-template-argument-deduction.cppclang.src/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
Revision 309974 by mstorsjo:
[builtins] Use Interlocked* intrinsics for atomics on MSVC

Tested on MSVC 2013, 2015 and 2017 targeting X86, X64 and ARM.

This fixes building emutls.c for Windows for ARM (both with clang
which don't need these atomics fallbacks at all, but just failed
due to the immintrin.h include before, and with MSVC).

Differential Revision: https://reviews.llvm.org/D36071
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/builtins/emutls.ccompiler-rt.src/lib/builtins/emutls.c
Revision 309973 by saugustine:
These tests use 80-bit long doubles, which are x86 only. Mark them so.

This avoids having each new target need to mark them as unsupported.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixunsxfti_test.ccompiler-rt.src/test/builtins/Unit/fixunsxfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/fixxfti_test.ccompiler-rt.src/test/builtins/Unit/fixxfti_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floattixf_test.ccompiler-rt.src/test/builtins/Unit/floattixf_test.c
The file was modified/compiler-rt/trunk/test/builtins/Unit/floatuntixf_test.ccompiler-rt.src/test/builtins/Unit/floatuntixf_test.c
Revision 309972 by pzheng:
[zorg] Add buildbot with reverse iteration enabled

Summary:
This reverse iteration buildbot builds LLVM, Clang and Polly with
LLVM_REVERSE_ITERATION enabled, and subsequently runs "make check-all". With
LLVM_REVERSE_ITERATION enabled, all supported unordered llvm containers would be
iterated in reverse order.

Reviewers: mgrang, grosser, bollu, gkistanova, zinob, vleschuk

Reviewed By: mgrang, grosser

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36203
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/buildbot/osuosl/master/config/builders.pyzorg/buildbot/osuosl/master/config/builders.py
The file was modified/zorg/trunk/buildbot/osuosl/master/config/status.pyzorg/buildbot/osuosl/master/config/status.py
The file was modified/zorg/trunk/buildbot/osuosl/master/master.cfgzorg/buildbot/osuosl/master/master.cfg
Revision 309971 by pzheng:
[zorg] Add optional checkAll step to Polly buildbot

Summary:
This step does "make check-all" and can be enabled by checkAll (defaults to
false in which case only "make check-polly" is run).

Reviewers: mgrang, zinob, gkistanova, vleschuk, grosser, bollu

Reviewed By: grosser

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36277
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/buildbot/builders/PollyBuilder.pyzorg/zorg/buildbot/builders/PollyBuilder.py
Revision 309970 by pzheng:
[zorg] Remove test_polly_format step from Polly buildbot

Summary:
The test_polly_format does "make polly-check-format" which is already covered by
the "make check-polly" step.

Reviewers: mgrang, zinob, grosser, gkistanova, vleschuk, bollu

Reviewed By: grosser

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36276
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/buildbot/osuosl/master/config/builders.pyzorg/buildbot/osuosl/master/config/builders.py
The file was modified/zorg/trunk/zorg/buildbot/builders/AOSPBuilder.pyzorg/zorg/buildbot/builders/AOSPBuilder.py
The file was modified/zorg/trunk/zorg/buildbot/builders/PollyBuilder.pyzorg/zorg/buildbot/builders/PollyBuilder.py
Revision 309968 by Devin Coughlin:
[Analyzer] Add support for displaying cross-file diagnostic paths in HTML output

This change adds support for cross-file diagnostic paths in html output. If the
diagnostic path is not cross-file, there is no change in the output.

Patch by Vlad Tsyrklevich!

Differential Revision: https://reviews.llvm.org/D30406
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Core/Analyses.defclang.src/include/clang/StaticAnalyzer/Core/Analyses.def
The file was modified/cfe/trunk/lib/Rewrite/HTMLRewrite.cppclang.src/lib/Rewrite/HTMLRewrite.cpp
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/HTMLDiagnostics.cppclang.src/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
The file was removed/cfe/trunk/test/Analysis/diagnostics/diag-cross-file-boundaries.cclang.src/test/Analysis/diagnostics/diag-cross-file-boundaries.c
The file was removed/cfe/trunk/test/Analysis/diagnostics/diag-cross-file-boundaries.hclang.src/test/Analysis/diagnostics/diag-cross-file-boundaries.h
The file was added/cfe/trunk/test/Analysis/html-diag-singlefile.cclang.src/test/Analysis/html-diag-singlefile.c
The file was added/cfe/trunk/test/Analysis/html-diag-singlefile.hclang.src/test/Analysis/html-diag-singlefile.h
The file was added/cfe/trunk/test/Analysis/html-diags-analyze-headers.cclang.src/test/Analysis/html-diags-analyze-headers.c
The file was added/cfe/trunk/test/Analysis/html-diags-analyze-headers.hclang.src/test/Analysis/html-diags-analyze-headers.h
The file was modified/cfe/trunk/test/Analysis/html-diags-multifile.cclang.src/test/Analysis/html-diags-multifile.c
The file was modified/cfe/trunk/test/Analysis/html-diags.cclang.src/test/Analysis/html-diags.c
The file was modified/cfe/trunk/test/Coverage/html-diagnostics.cclang.src/test/Coverage/html-diagnostics.c
The file was added/cfe/trunk/test/Coverage/html-multifile-diagnostics.cclang.src/test/Coverage/html-multifile-diagnostics.c
The file was added/cfe/trunk/test/Coverage/html-multifile-diagnostics.hclang.src/test/Coverage/html-multifile-diagnostics.h
The file was modified/cfe/trunk/www/analyzer/open_projects.htmlclang.src/www/analyzer/open_projects.html
Revision 309967 by gbedwell:
Fix check-lit compatibility with multi-config CMake generators

Multi-configuration CMake generators such as those for Visual Studio or Xcode do not
specify a build config at configure time, but let the user choose at build
time.  In these cases binaries go into build/${Configuration}/bin rather than
build/bin.  Prior to this commit, check-lit would fail when using multi-configuration
generators as it did not know how to resolve ${Configuration} in order
to find tools such as FileCheck.  This commit teaches it to resolve
llvm_tools_dir within lit using the value specified with --param
build_mode.

Differential Revision: https://reviews.llvm.org/D36263
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/CMakeLists.txtllvm.src/utils/lit/CMakeLists.txt
The file was modified/llvm/trunk/utils/lit/tests/lit.site.cfg.inllvm.src/utils/lit/tests/lit.site.cfg.in
Revision 309966 by tejohnson:
Disable loop peeling during full unrolling pass.

Summary:
Peeling should not occur during the full unrolling invocation early
in the pipeline, but rather later with partial and runtime loop
unrolling. The later loop unrolling invocation will also eventually
utilize profile summary and branch frequency information, which
we would like to use to control peeling. And for ThinLTO we want
to delay peeling until the backend (post thin link) phase, just as
we do for most types of unrolling.

Ensure peeling doesn't occur during the full unrolling invocation
by adding a parameter to the shared implementation function, similar
to the way partial and runtime loop unrolling are disabled.

Performance results for ThinLTO suggest this has a neutral to positive
effect on some internal benchmarks.

Reviewers: chandlerc, davidxl

Subscribers: mzolotukhin, llvm-commits, mehdi_amini

Differential Revision: https://reviews.llvm.org/D36258
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Scalar.hllvm.src/include/llvm/Transforms/Scalar.h
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cppllvm.src/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modified/llvm/trunk/test/Transforms/LoopUnroll/peel-loop-pgo.llllvm.src/test/Transforms/LoopUnroll/peel-loop-pgo.ll
Revision 309964 by dehao:
Do not want to use BFI to get profile count for sample pgo

Summary: For SamplePGO, we already record the callsite count in the call instruction itself. So we do not want to use BFI to get profile count as it is less accurate.

Reviewers: tejohnson, davidxl, eraman

Reviewed By: eraman

Subscribers: sanjoy, llvm-commits, mehdi_amini

Differential Revision: https://reviews.llvm.org/D36025
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ProfileSummaryInfo.cppllvm.src/lib/Analysis/ProfileSummaryInfo.cpp
The file was added/llvm/trunk/test/Bitcode/Inputs/thinlto-function-summary-callgraph-sample-profile-summary.llllvm.src/test/Bitcode/Inputs/thinlto-function-summary-callgraph-sample-profile-summary.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.llllvm.src/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
The file was modified/llvm/trunk/unittests/Analysis/ProfileSummaryInfoTest.cppllvm.src/unittests/Analysis/ProfileSummaryInfoTest.cpp