SuccessChanges

Summary

  1. Execute libunwind/libc++abi tests on AArch64 devboard by llvm-clang-win-x-aarch64 builder. (details)
Commit 62983613a0def0859fdcc823e385202f7f6101b5 by vvereschaka
Execute libunwind/libc++abi tests on AArch64 devboard by llvm-clang-win-x-aarch64 builder.
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [X86] Remove isel patterns from broadcast of loadi32. (details)
  2. Fix GSYM tests to run the yaml files and fix test failures on some machines. (details)
  3. Try to fix WindowsManifest CMake logic on Windows (details)
  4. [Coverage] Revise format to reduce binary size (details)
  5. [compiler-rt/test] Relax a test so we can debug it on sanitizer-x86_64-linux-android (details)
  6. Revert "[Coverage] Revise format to reduce binary size" (details)
  7. Reland: [Coverage] Revise format to reduce binary size (details)
Commit 9fcd212e2f678fdbdf304399a1e58ca490dc54d1 by craig.topper
[X86] Remove isel patterns from broadcast of loadi32.

We already combine non extending loads with broadcasts in DAG
combine. All these patterns are picking up is the aligned extload
special case. But the only lit test we have that exercsises it is
using v8i1 load that datalayout is reporting align 8 for. That
seems generous. So without a realistic test case I don't think
there is much value in these patterns.
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/test/CodeGen/X86/vector-sext.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
Commit d334ce0b5acb945d6202d0ab6a17bdca530f50c1 by gclayton
Fix GSYM tests to run the yaml files and fix test failures on some machines.

Summary: YAML files were not being run during lit testing as there was no lit.local.cfg file. Once this was fixed, some buildbots would fail due to a StringRef that pointed to a std::string inside of a temporary llvm::Triple object. These issues are fixed here by making a local triple object that stays around long enough so the StringRef points to valid data.

Reviewers: aprantl, thakis, MaskRay, aadsm, wallace

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D75390
The file was addedllvm/test/tools/llvm-gsymutil/lit.local.cfg
The file was modifiedllvm/tools/llvm-gsym/llvm-gsymutil.cpp
Commit e441a584f3f7d743ab77031a47d9ad60ee56b53d by rnk
Try to fix WindowsManifest CMake logic on Windows

CMake is complaining about the "^" regex if the prefixes are empty
strings.
The file was modifiedllvm/lib/WindowsManifest/CMakeLists.txt
Commit 99317124e1c772e9a9de41a0cd56e1db049b4ea4 by Vedant Kumar
[Coverage] Revise format to reduce binary size

Revise the coverage mapping format to reduce binary size by:

1. Naming function records and marking them `linkonce_odr`, and
2. Compressing filenames.

This shrinks the size of llc's coverage segment by 82% (334MB -> 62MB)
and speeds up end-to-end single-threaded report generation by 10%. For
reference the compressed name data in llc is 81MB (__llvm_prf_names).

Rationale for changes to the format:

- With the current format, most coverage function records are discarded.
  E.g., more than 97% of the records in llc are *duplicate* placeholders
  for functions visible-but-not-used in TUs. Placeholders *are* used to
  show under-covered functions, but duplicate placeholders waste space.

- We reached general consensus about giving (1) a try at the 2017 code
  coverage BoF [1]. The thinking was that using `linkonce_odr` to merge
  duplicates is simpler than alternatives like teaching build systems
  about a coverage-aware database/module/etc on the side.

- Revising the format is expensive due to the backwards compatibility
  requirement, so we might as well compress filenames while we're at it.
  This shrinks the encoded filenames in llc by 86% (12MB -> 1.6MB).

See CoverageMappingFormat.rst for the details on what exactly has
changed.

Fixes PR34533 [2], hopefully.

[1] http://lists.llvm.org/pipermail/llvm-dev/2017-October/118428.html
[2] https://bugs.llvm.org/show_bug.cgi?id=34533

Differential Revision: https://reviews.llvm.org/D69471
The file was modifiedclang/test/Profile/def-dtors.cpp
The file was modifiedllvm/docs/CoverageMappingFormat.rst
The file was modifiedclang/test/Profile/def-ctors.cpp
The file was modifiedllvm/test/Instrumentation/InstrProfiling/X86/alloc.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedclang/test/CoverageMapping/ir.c
The file was modifiedclang/test/Profile/def-assignop.cpp
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
The file was modifiedclang/test/CoverageMapping/abspath.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
The file was addedllvm/test/tools/llvm-cov/Inputs/binary-formats.v3.macho64l
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/test/tools/llvm-cov/binary-formats.c
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.h
The file was modifiedllvm/unittests/ProfileData/CoverageMappingTest.cpp
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
Commit 7300c338e5f5d1cb08caf7fa9e4b172b88d8e58e by Vedant Kumar
[compiler-rt/test] Relax a test so we can debug it on sanitizer-x86_64-linux-android

This test is failing with a core dump on /just/ this bot, and I'd like
to find out why.

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-android/builds/27979/
The file was modifiedcompiler-rt/test/ubsan/TestCases/Misc/nullability.c
Commit 3388871714d3b718b823e76499b0c03877105e5d by Vedant Kumar
Revert "[Coverage] Revise format to reduce binary size"

This reverts commit 99317124e1c772e9a9de41a0cd56e1db049b4ea4. This is
still busted on Windows:

http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/40873

The llvm-cov tests report 'error: Could not load coverage information'.
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
The file was modifiedllvm/test/tools/llvm-cov/binary-formats.c
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedllvm/unittests/ProfileData/CoverageMappingTest.cpp
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
The file was modifiedclang/test/Profile/def-assignop.cpp
The file was modifiedclang/test/Profile/def-dtors.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
The file was modifiedllvm/test/Instrumentation/InstrProfiling/X86/alloc.ll
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp
The file was removedllvm/test/tools/llvm-cov/Inputs/binary-formats.v3.macho64l
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
The file was modifiedclang/test/Profile/def-ctors.cpp
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/docs/CoverageMappingFormat.rst
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
The file was modifiedclang/test/CoverageMapping/ir.c
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.h
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedclang/test/CoverageMapping/abspath.cpp
Commit dd1ea9de2e3e3ac80a620f71411a9a36449f2697 by Vedant Kumar
Reland: [Coverage] Revise format to reduce binary size

Try again with an up-to-date version of D69471 (99317124 was a stale
revision).

---

Revise the coverage mapping format to reduce binary size by:

1. Naming function records and marking them `linkonce_odr`, and
2. Compressing filenames.

This shrinks the size of llc's coverage segment by 82% (334MB -> 62MB)
and speeds up end-to-end single-threaded report generation by 10%. For
reference the compressed name data in llc is 81MB (__llvm_prf_names).

Rationale for changes to the format:

- With the current format, most coverage function records are discarded.
  E.g., more than 97% of the records in llc are *duplicate* placeholders
  for functions visible-but-not-used in TUs. Placeholders *are* used to
  show under-covered functions, but duplicate placeholders waste space.

- We reached general consensus about giving (1) a try at the 2017 code
  coverage BoF [1]. The thinking was that using `linkonce_odr` to merge
  duplicates is simpler than alternatives like teaching build systems
  about a coverage-aware database/module/etc on the side.

- Revising the format is expensive due to the backwards compatibility
  requirement, so we might as well compress filenames while we're at it.
  This shrinks the encoded filenames in llc by 86% (12MB -> 1.6MB).

See CoverageMappingFormat.rst for the details on what exactly has
changed.

Fixes PR34533 [2], hopefully.

[1] http://lists.llvm.org/pipermail/llvm-dev/2017-October/118428.html
[2] https://bugs.llvm.org/show_bug.cgi?id=34533

Differential Revision: https://reviews.llvm.org/D69471
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/test/Instrumentation/InstrProfiling/X86/alloc.ll
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
The file was modifiedclang/test/CoverageMapping/ir.c
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
The file was modifiedllvm/unittests/ProfileData/CoverageMappingTest.cpp
The file was modifiedclang/test/Profile/def-dtors.cpp
The file was addedllvm/test/tools/llvm-cov/Inputs/binary-formats.v3.macho64l
The file was modifiedllvm/test/tools/llvm-cov/binary-formats.c
The file was modifiedclang/test/CoverageMapping/abspath.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
The file was modifiedclang/test/Profile/def-ctors.cpp
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp
The file was modifiedclang/test/Profile/def-assignop.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.h
The file was modifiedllvm/docs/CoverageMappingFormat.rst