FailedChanges

Summary

  1. [libc++] Install a recent CMake in the Docker build bots (details)
  2. [LVI] Convert some checks to assertions; NFC (details)
  3. Add a `Symbolizer::GetEnvP()` method that allows symbolizer implementations to customise the environment of the symbolizer binary. (details)
  4. [mlir][GPU] Use StructAttr to drive lowering from loop.parallel to (details)
  5. GlobalISel: Introduce bitcast legalize action (details)
  6. Add an -object-path-prefix option to dsymutil (details)
  7. Allow remapping Clang module include paths (details)
  8. AMDGPU/GlobalISel: Add missing tests for G_FRINT selection (details)
  9. AMDGPU/GlobalISel: Add load legalization tests (details)
  10. AMDGPU/GlobalISel: Add select patterns for v_and_or_b32 (details)
  11. Revert "Allow remapping Clang module include paths" (details)
  12. AMDGPU/GlobalISel: Add some end to end tests for fma selection (details)
  13. [libc++] Update a bad documentation link (details)
  14. [profile] Make atexit hook a no-op on Fuchsia (details)
  15. AMDGPU/GlobalISel: Add a testcase for G_UNMERGE_VALUES legalization (details)
  16. [NFC][Test][PowerPC] Add one test to verify the behavior of vector (details)
  17. Revert "[libc++] Build the dylib with C++17 to allow aligned new/delete" (details)
Commit 7311b274039ea728938666972b1c34cf765a8a5f by Louis Dionne
[libc++] Install a recent CMake in the Docker build bots
The file was modifiedlibcxx/utils/docker/debian9/buildbot/install-packages.sh
Commit ec184dd548f7832d09d3c6354a6d9d3db6cacc65 by nikita.ppv
[LVI] Convert some checks to assertions; NFC

solveBlockValue() should only be called if the value isn't cached
yet. Similarly, it does not make sense to "solve" a constant.
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
Commit b684c1a50f70a39ceb51973950c5cca520ce8b2c by Dan Liew
Add a `Symbolizer::GetEnvP()` method that allows symbolizer implementations to customise the environment of the symbolizer binary.

Summary:
This change introduces the `Symbolizer::GetEnvP()` method that returns a
pointer to environment array used for spawning the symbolizer process.
The motivation is to allow implementations to customise the environment
if required.  The default implementation just returns
`__sanitizer::GetEnviron()` which (provided it's implemented) should
preserve the existing behaviours of the various implementations.

This change has been plumbed through the `internal_spawn(...)` and
`StartSubprocess(...)` process spawning implementations.

For the `StartSubprocess()` implementation we need to call `execve()`
rather than `execv()` to pass the environment. However, it appears that
`internal_execve(...)` exists in sanitizer_common so this patch use that
which seems like a nice clean up.

Support in the Windows implementation of
`SymbolizerProcess:StartSymbolizerSubprocess()` has not been added
because the Windows sanitizer runtime doesn't implement `GetEnviron()`.

rdar://problem/58789439

Reviewers: kubamracek, yln, dvyukov, vitalybuka, eugenis, phosek, aizatsky, rnk

Subscribers: #sanitizers, llvm-commits

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D76666
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_file.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_win.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
Commit 46bb6613a31fd43b6d4485ce7e71a387dc22cbc7 by ravishankarm
[mlir][GPU] Use StructAttr to drive lowering from loop.parallel to
gpu.launch

Current implementation of lowering from loop.parallel to gpu.launch
uses a DictionaryAttr to specify the mapping. Moving this attribute to
be auto-generated from specification as a StructAttr. This simplifies
a lot the logic of looking up and creating this attribute.

Differential Revision: https://reviews.llvm.org/D76165
The file was modifiedmlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/GPU/GPUBase.td
The file was modifiedmlir/test/Conversion/LoopsToGPU/parallel_loop.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/ParallelLoopMapper.h
The file was modifiedmlir/lib/Dialect/GPU/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
The file was addedmlir/include/mlir/Dialect/GPU/ParallelLoopMapperAttr.td
Commit 39c55cef21b4ca9863edf82b6d9995fb1e28c37d by arsenm2
GlobalISel: Introduce bitcast legalize action

For some operations, the type is unimportant and only the number of
bits matters. For example I don't want to treat <4 x s8> as a legal
type, but I also don't want to decompose loads of this into smaller
pieces to get legal register types.

On AMDGPU in SelectionDAG, we legalize a number of operations (most
notably load and store) by coercing all types to vectors of i32. For
GlobalISel, I'm trying very hard to avoid doing this for every type,
but I don't think this strategy can be completely avoided. I'm trying
to avoid bitcasts for any legitimately legal type we can operate on,
since the intervening bitcasts have proven to be a hassle.

For loads, I think I can get away without ever casting the result
type, and handling any arbitrary bitwidth during selection (I will
eventually want new tablegen support to help with this, rather than
having to add every possible type as legal). The unmerge required to
do anything with the value should expand to the expected shifts. This
is trickier for stores, since it would now require handling a wide
array of truncates during selection which I don't want.

Future potentially interesting case are for vector indexing, where
sub-dword type should be indexed in s32 pieces.
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
Commit ed8ad6ec1562a980d8d6a8fea29703030acc125b by Adrian Prantl
Add an -object-path-prefix option to dsymutil

to remap object file paths (but no source paths) before
processing. This is meant to be used for Clang objects where the
module cache location was remapped using ``-fdebug-prefix-map``; to
help dsymutil find the Clang module cache.

<rdar://problem/55685132>

Differential Revision: https://reviews.llvm.org/D76391
The file was addedllvm/test/tools/dsymutil/X86/object-prefix-path.test
The file was modifiedllvm/tools/dsymutil/Options.td
The file was modifiedllvm/tools/dsymutil/LinkUtils.h
The file was modifiedllvm/tools/dsymutil/dsymutil.cpp
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
The file was modifiedllvm/test/tools/dsymutil/cmdline.test
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
The file was modifiedllvm/docs/CommandGuide/dsymutil.rst
The file was modifiedllvm/include/llvm/DWARFLinker/DWARFLinker.h
Commit dca920a904c27f4c86e909ef2e4e343d48168cca by Adrian Prantl
Allow remapping Clang module include paths

rdar://problem/55685132

Differential Revision: https://reviews.llvm.org/D76385
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/test/Modules/debug-info-moduleimport.m
Commit 01a337cfc92c57d979939fae9394fbbede63f64b by arsenm2
AMDGPU/GlobalISel: Add missing tests for G_FRINT selection
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-frint.mir
Commit c9e0b448b8cd322227a6d906760f2837e1832f8a by arsenm2
AMDGPU/GlobalISel: Add load legalization tests
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-constant-32bit.mir
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zextload-constant-32bit.mir
Commit bba8c92d541a2f0b003df6cb79c61a5664750f9f by arsenm2
AMDGPU/GlobalISel: Add select patterns for v_and_or_b32
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-and-or.mir
Commit c025235e962e2cec58e47a572eac3f88a55f3a1e by Adrian Prantl
Revert "Allow remapping Clang module include paths"

to investigate why this commit broke a test in the LLDB testsuite.

This reverts commit dca920a904c27f4c86e909ef2e4e343d48168cca.
The file was modifiedclang/test/Modules/debug-info-moduleimport.m
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit d16ee1174a9043d468cf925133133b0d58f3d937 by arsenm2
AMDGPU/GlobalISel: Add some end to end tests for fma selection
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
Commit d6fb02b196da16f77bf8cfede9296b3b51360798 by eric
[libc++] Update a bad documentation link
The file was modifiedlibcxx/CMakeLists.txt
Commit 32bddad37bf01ea9151f7cef44f56bf4d3fe4f23 by phosek
[profile] Make atexit hook a no-op on Fuchsia

On Fuchsia, we always use the continuous mode with runtime counter
relocation, so there's no need for atexit hook or support for dumping
the profile manually.

Differential Revision: https://reviews.llvm.org/D76556
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingBuffer.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingRuntime.cpp
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingInternal.h
Commit baa78179fef9a238f7bd88a2a0e87d6453453fa9 by arsenm2
AMDGPU/GlobalISel: Add a testcase for G_UNMERGE_VALUES legalization

I had a note that this doesn't work, but it seems to now.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
Commit 2488ea428d68fa3d1031bbb84b5d09009f37a42f by qshanz
[NFC][Test][PowerPC] Add one test to verify the behavior of vector
mul/add for v8i16
The file was addedllvm/test/CodeGen/PowerPC/vmladduhm.ll
Commit 64a9c944fc459475b3eefed423e3b593353c0cca by Louis Dionne
Revert "[libc++] Build the dylib with C++17 to allow aligned new/delete"

This reverts commit 1ac403bd145dadfa1004af29bd6c77f871caf42c, which
broke some non-libc++ build bots because they use an ancient CMake.
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/src/barrier.cpp