AbortedChanges

Summary

  1. [ValueTracking] Make isGuaranteedNotToBeUndefOrPoison exit early when MetadataAsValue is given (details)
  2. [lld] Clean up in lld::{coff,elf}::link after D70378 (details)
  3. [Hexagon] Avoid crash on CONCAT_VECTORS with illegal element types (details)
  4. Hint how to get a symbolized stack trace if llvm-symbolizer is not found on crashes (details)
  5. PR47176: Don't read from an inactive union member if a friend function (details)
  6. [xray] Function coverage groups (details)
  7. [NFC] [PPC] Add PowerPC expected IR tests for C99 complex (details)
  8. [lld][WebAssembly] Allow `atomics` feature with unshared memory (details)
  9. Fix uninitialized XRayArg (details)
  10. [libc] Using llvm_libc memcpy in mem* benchmarks. (details)
  11. [mlir][SCFToGPU] LaunchOp propagate optional attributes (details)
  12. [ARM] Find VPT implicitly predicated by VCTP (details)
Commit 92106641ae297c24877085e0357e8095aa7b43c9 by aqjune
[ValueTracking] Make isGuaranteedNotToBeUndefOrPoison exit early when MetadataAsValue is given

It is set to conservatively return false, otherwise noundef attributes are added to function calls with metadata arguments.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 1ca6bd261e0aebdd73e3af98fb97c444c2a339cd by i
[lld] Clean up in lld::{coff,elf}::link after D70378

Library users should not need to call errorHandler().reset() explicitly.

google/iree calls lld::elf::link and without the patch some global
variables are not cleaned up in the next invocation.
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/COFF/Driver.cpp
Commit 3185839bcf6614af28c255e90195f6b1cafee106 by kparzysz
[Hexagon] Avoid crash on CONCAT_VECTORS with illegal element types

Legal vector element types may not be legal as scalar types. When
CONCAT_VECTORS is converted to BUILD_VECTOR, the individual vector
elements become standalone operands to the build operation. If they
have illegal (scalar) types, they need to be made legal. In doing
so, the case of TRUNCATE was not handled, causing an assertion to
fail.
The file was addedllvm/test/CodeGen/Hexagon/autohvx/isel-hvx-concat-truncate.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
Commit 960535d65a927b27ff883250094492842c33ca86 by joker.eph
Hint how to get a symbolized stack trace if llvm-symbolizer is not found on crashes

Most users of LLVM tools hit the raw traces and don't know how to get LLVM to
symbolize automatically for them.

When we print the non-symbolized stack trace, we will add information about
how to get it symbolized.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D88269
The file was modifiedllvm/lib/Support/Unix/Signals.inc
Commit 8c98c8803430804010da06a07cfb291dab59067c by richard
PR47176: Don't read from an inactive union member if a friend function
has default arguments and an exception specification.
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/Parser/cxx0x-decl.cpp
Commit 6f7fbdd2857fc8a7280afbb26fd4e1a6450069e4 by ianlevesque
[xray] Function coverage groups

Add the ability to selectively instrument a subset of functions by dividing the functions into N logical groups and then selecting a group to cover. By selecting different groups over time you could cover the entire application incrementally with lower overhead than instrumenting the entire application at once.

Differential Revision: https://reviews.llvm.org/D87953
The file was modifiedclang/lib/Driver/XRayArgs.cpp
The file was addedclang/test/CodeGen/xray-function-groups.cpp
The file was modifiedllvm/docs/XRay.rst
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/include/clang/Driver/XRayArgs.h
Commit 64b8a633a872f25c8b3f9414c22165405400ea10 by zarko
[NFC] [PPC] Add PowerPC expected IR tests for C99 complex

Adding this test so that I can extend it in a follow on patch with
expected IR for AIX when I implement complex handling in
AIXABIInfo.

Reviewed By: daltenty, ZarkoCA

Differential Revision: https://reviews.llvm.org/D88105
The file was addedclang/test/CodeGen/powerpc-c99complex.c
Commit 15a5e86fb387359f736e919eeb5cc2b9f4477d48 by tlively
[lld][WebAssembly] Allow `atomics` feature with unshared memory

https://github.com/WebAssembly/threads/issues/144 updated the
WebAssembly threads proposal to make atomic operations on unshared memories
valid. This change updates the feature checking in the linker accordingly.
Production WebAssembly engines have recently been updated to allow this
behvaior, but after this change users who accidentally use atomics with unshared
memories on older versions of the engines will get validation errors at runtime
rather than link errors.

Differential Revision: https://reviews.llvm.org/D79530
The file was modifiedlld/test/wasm/shared-memory.yaml
The file was modifiedlld/wasm/Writer.cpp
Commit 7db7a355453887906d12ffb67df8fbaa5e9e873d by ianlevesque
Fix uninitialized XRayArg
The file was modifiedclang/include/clang/Driver/XRayArgs.h
Commit ef36e8380a9109c43ef4a564083428a14a9b818a by asteinhauser
[libc] Using llvm_libc memcpy in mem* benchmarks.

Currently the mem* benchmarks use memcpy from Glibc and memset from LLVM libc.
That's misleading and produces inconsistent results and behaviors.

This change makes Memcpy.cpp consistent with Memset.cpp:
https://github.com/llvm/llvm-project/blob/master/libc/benchmarks/Memset.cpp#L49

Reviewers: sivachandra

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D88271
The file was modifiedlibc/benchmarks/Memcpy.cpp
Commit 396e7f454893e24969bb989fe89aa028e2ea1693 by artur.bialas
[mlir][SCFToGPU] LaunchOp propagate optional attributes

Allow propagating optional user defined attributes during SCF to GPU conversion. Gives opportunity to use user defined attributes in the further lowering. For example setting subgroup size, or other options for GPU dispatch. This does not break backward compatibility and does not require new attributes, just allow passing optional ones.

Differential Revision: https://reviews.llvm.org/D88203
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
The file was modifiedmlir/test/Conversion/SCFToGPU/parallel_loop.mlir
Commit a399d1880bc6e2a13cad02a2a3cb024c27d32ac2 by sam.parker
[ARM] Find VPT implicitly predicated by VCTP

On failing to find a VCTP in the list of instructions that explicitly
predicate the entry of a VPT block, inspect whether the block is
controlled via VPT which is implicitly predicated due to it's
predicated operand(s).

Differential Revision: https://reviews.llvm.org/D87819
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp