Changes

Summary

  1. [ARM] Prevent phi-node-elimination from generating copy above t2WhileLoopStartLR (details)
  2. [Support] Don't include <algorithm> in MathExtras.h (details)
  3. [Support] Don't include <algorithm> in Hashing.h (details)
  4. Revert "[Support] Don't include <algorithm> in Hashing.h" (details)
  5. [ADT] Don't include <algorithm> in iterator.h (details)
  6. [sanitizer] Mark g_use_dlpi_tls_data as unused (details)
  7. [RISCV][Clang] Drop the assembly tests for RVV intrinsics. (details)
  8. Ignore assume like calls by default in hasAddressTaken() (details)
  9. [RISCV][Clang] Add RVV miscellaneous intrinsic functions. (details)
  10. Verify the LLVMContext that an Attribute belongs to. (details)
  11. [mlir][scf] Add scf.for + tensor.cast canonicalization pattern (details)
  12. [fuzzer] Print reloaded file paths (details)
  13. [AMDGPU] Refactor VOP3P Profile and AsmParser, NFC (details)
  14. Revert "[Support] Don't include <algorithm> in MathExtras.h" (details)
  15. [DAG] SelectionDAG::isSplatValue - early out if binop is not splat. NFCI. (details)
  16. [TableGen] CodeGenDAGPatterns - (style) remove if-else chain when if block always returns. NFCI. (details)
  17. [libc][NFC] Add template tests for a bunch of math functions. (details)
  18. [AMDGPU] Remove dead dcode (NFC). (details)
  19. [TableGen] CodeGenMapTable - use for-range loop. NFCI. (details)
  20. [TableGen] CodeGenDAGPatterns - use const references on for-range loops to avoid unnecessary copies. NFCI. (details)
  21. Reland "[Support] Don't include <algorithm> in MathExtras.h" (details)
  22. [M68k] Fix empty builtin va_list kind (details)
  23. [LLDB] Re-land: Use path relative to binary for finding .dwo files. (details)
  24. Sanitizer built against glibc 2.34 doesn't work (details)
  25. Address D100645 comment (details)
  26. [CUDA, FDO] Filter out profiling options from GPU-side compilations. (details)
  27. [Builtins] Add memory allocation builtins (PR12543) (details)
  28. [nofree] Restrict semantics to memory visible to caller (details)
  29. [tblgen] Fold loop into assert to avoid unused variable warnings. NFCI. (details)
  30. DeclContext: Fix iterator category (details)
  31. [WebAssembly] Remove saturating fp-to-int target intrinsics (details)
  32. [ELF] Default to -z start-stop-gc with a glibc "__libc_" special case (details)
  33. [lldb] Add code and data address mask to Process (details)
  34. [AMDGPU] Enforce that gfx802/803/805 do not support XNACK (details)
  35. [TableGen] Predicate::operator== needs to compare the HwMode feature name in addition to the HwMode flag. (details)
  36. [AMDGPU] NFC, Comment in disassembler for dpp8 (details)
  37. [AMDGPU] Remove redundant field from DPP8 def (details)
  38. [TableGen] Fix -Wparentheses (details)
  39. [lld-macho] Initial groundwork for -bitcode_bundle (details)
  40. Simplify BitVector code (details)
  41. [lldb] Implement ABI::Fix{Code,Data}Address for AArch64 (details)
  42. [lldb] Set addressable bits from qHostInfo (details)
  43. [lld-macho] Add separator to error message (details)
  44. [sanitizer] GetTls: work around ppc64 with glibc<2.25(?) or GNU ld 2.30 (details)
  45. [lld] Canonicalize HAVE_LIBXAR (details)
  46. [libc] Extends the testing framework to support typed test (details)
  47. [funcattrs] Add the maximal set of implied attributes to definitions (details)
Commit 093f1828e58c685d74afba8ad963809a3236f83d by david.green
[ARM] Prevent phi-node-elimination from generating copy above t2WhileLoopStartLR

This patch prevents phi-node-elimination from generating a COPY
operation for the register defined by t2WhileLoopStartLR, as it is a
terminator that defines a value.

This happens because of the presence of phi-nodes in the loop body (the
Preheader of which is the block containing the t2WhileLoopStartLR). If
this is not done, the COPY is generated above/before the terminator
(t2WhileLoopStartLR here), and since it uses the value defined by
t2WhileLoopStartLR, MachineVerifier throws a 'use before define' error.

This essentially adds on to the change in differential D91887/D97729.

Differential Revision: https://reviews.llvm.org/D100376
The file was addedllvm/test/CodeGen/Thumb2/phi_prevent_copy.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h
Commit 6580d8a2b14d50b7e067dc86df6e5dd65703d147 by thakis
[Support] Don't include <algorithm> in MathExtras.h

MathExtras.h is indirectly included in over 98% of LLVM's
translation units. It currently expands to over 1MB of stuff,
over which far more than half is due to <algorithm>. Since not
using <algorithm> is slightly less code, do that.

No behavior change.

Differential Revision: https://reviews.llvm.org/D100656
The file was modifiedllvm/include/llvm/Support/MathExtras.h
Commit ef620c40f371e7e3269bd8bef57d069330baa355 by thakis
[Support] Don't include <algorithm> in Hashing.h

The include is for std::swap(), but that's in <utility> in C++11,
and Hashing.h already includes that.

Differential Revision: https://reviews.llvm.org/D100657
The file was modifiedllvm/include/llvm/ADT/Hashing.h
Commit 853da5977e74e6d4412397db341f6c4e8cadb895 by michael.hliao
Revert "[Support] Don't include <algorithm> in Hashing.h"

This reverts commit ef620c40f371e7e3269bd8bef57d069330baa355.

- `std::rotate` still needs <alogirthm>
The file was modifiedllvm/include/llvm/ADT/Hashing.h
Commit da627258742ae638b813d0341f069d5b4a6bd9ae by thakis
[ADT] Don't include <algorithm> in iterator.h

As far as I can tell, nothing in iterator.h uses anything from <algorithm>.

Differential Revision: https://reviews.llvm.org/D100659
The file was modifiedllvm/include/llvm/ADT/iterator.h
Commit 376db8eaef3a06cf963eba9e8009048dc93689f0 by i
[sanitizer] Mark g_use_dlpi_tls_data as unused

There is a -Wunused-variable warning on Android
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit ca9e52f67cb337167f9cc37fe3f81bc38383b8df by zakk.chen
[RISCV][Clang] Drop the assembly tests for RVV intrinsics.

We had verified the correctness of all intrinsics in downstream, so
dropping the assembly tests to decrease the check-clang time.
It would remove 1/3 of the RUN lines.

https://reviews.llvm.org/D99151#2654154 mentions why we need to have
the ASM tests before.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D100617
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmadc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsgnj.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vpopc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmxnor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsuxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmseq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmnand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsif.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrgather.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vzext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmnor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrgather.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vzext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vasub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfirst.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsetvl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwnmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vpopc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmseq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfirst.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vaadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmflt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsgnj.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsbf.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsbf.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredosum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfclass.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmslt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsoxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmset.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmnand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsqrt7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsbc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrem.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsll.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnclip.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsbc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsbc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vadc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmadc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsll.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsqrt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslidedown.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vadc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/viota.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslidedown.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslideup.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrec7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsif.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsof.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrem.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsof.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnclip.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/viota.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vaadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmslt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmclr.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrec7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vid.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsetvlmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfclass.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsqrt7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsqrt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmxnor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vleff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslideup.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vnsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfeq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vasub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmnor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsbc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vid.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vssub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vse.c
Commit 0777d1ec062acd4c35c30347ebfbebc8a688fa14 by Stanislav.Mekhanoshin
Ignore assume like calls by default in hasAddressTaken()

Differential Revision: https://reviews.llvm.org/D96179
The file was modifiedllvm/include/llvm/IR/Function.h
Commit 8f683366afcfd7c03faea615d1529a0014d7dbde by zakk.chen
[RISCV][Clang] Add RVV miscellaneous intrinsic functions.

1. vreinterpret
2. vundefined
3. LMUL truncation and extension.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D100391
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vlmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vundefined.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vreinterpret.c
Commit 244d9d6e41db71e76eeb55e56d84f658b3f56681 by nicholas
Verify the LLVMContext that an Attribute belongs to.

Attributes don't know their parent Context, adding this would make Attribute larger. Instead, we add hasParentContext that answers whether this Attribute belongs to a particular LLVMContext by checking for itself inside the context's FoldingSet. Same with AttributeSet and AttributeList. The Verifier checks them with the Module context.

Differential Revision: https://reviews.llvm.org/D99362
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/unittests/IR/VerifierTest.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/unittests/IR/AttributesTest.cpp
Commit 843f1fc82598216a4be672ba51820b037dae106b by nicolas.vasilache
[mlir][scf] Add scf.for + tensor.cast canonicalization pattern

Fold scf.for iter_arg/result pairs that go through incoming/ougoing
a tensor.cast op pair so as to pull the tensor.cast inside the scf.for:

```
  %0 = tensor.cast %t0 : tensor<32x1024xf32> to tensor<?x?xf32>
  %1 = scf.for %i = %c0 to %c1024 step %c32 iter_args(%iter_t0 = %0)
     -> (tensor<?x?xf32>) {
    %2 = call @do(%iter_t0) : (tensor<?x?xf32>) -> tensor<?x?xf32>
    scf.yield %2 : tensor<?x?xf32>
  }
  %2 = tensor.cast %1 : tensor<?x?xf32> to tensor<32x1024xf32>
  use_of(%2)
```

folds into:

```
  %0 = scf.for %arg2 = %c0 to %c1024 step %c32 iter_args(%arg3 = %arg0)
      -> (tensor<32x1024xf32>) {
    %2 = tensor.cast %arg3 : tensor<32x1024xf32> to tensor<?x?xf32>
    %3 = call @do(%2) : (tensor<?x?xf32>) -> tensor<?x?xf32>
    %4 = tensor.cast %3 : tensor<?x?xf32> to tensor<32x1024xf32>
    scf.yield %4 : tensor<32x1024xf32>
  }
  use_of(%0)
```

Differential Revision: https://reviews.llvm.org/D100661
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
Commit 827ccc93b8f378c36a356a3025db65bbd1f031e8 by mascasa
[fuzzer] Print reloaded file paths

In order to integrate libFuzzer with a dynamic symbolic execution tool
Sydr we need to print loaded file paths.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D100303
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerLoop.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIO.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIO.cpp
Commit 7cc4a02fa2cb2c1e578ac13f67e7c007f5d9a0b1 by Joseph.Nash
[AMDGPU] Refactor VOP3P Profile and AsmParser, NFC

Refactors VOP3P tablegen and the AsmParser for VOP3P
for better extensibility. NFC intended

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D100602

Change-Id: I038e3a772ac348bb18979cdf3e3ae2e9476dd411
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/VOP3PInstructions.td
Commit af2a93fd6e9f9e037d2e2d67b879fe85d7e1cbed by stilis
Revert "[Support] Don't include <algorithm> in MathExtras.h"

This reverts commit 6580d8a2b14d50b7e067dc86df6e5dd65703d147.
The file was modifiedllvm/include/llvm/Support/MathExtras.h
Commit 37a4621fb6ffc121ec78936a8243219ff53be760 by llvm-dev
[DAG] SelectionDAG::isSplatValue - early out if binop is not splat. NFCI.

Just return false if we fail to match splats - the remainder of the code is for (fixed)vector operations - shuffles/insertions etc.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 82240e07ebdc4c0f492e31a1e93d228d06120f8e by llvm-dev
[TableGen] CodeGenDAGPatterns - (style) remove if-else chain when if block always returns. NFCI.
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp
Commit 80e166f81abd33d15ced8d6ab66cb4193e75b51e by sivachandra
[libc][NFC] Add template tests for a bunch of math functions.

Namely, template tests have been added for the following functions:
ceil, copysign, fabs, fmax, fmin, floor, trunc, round.
The file was modifiedlibc/utils/FPUtil/TestHelpers.h
The file was addedlibc/test/src/math/RoundTest.h
The file was modifiedlibc/test/src/math/ceilf_test.cpp
The file was modifiedlibc/test/src/math/copysign_test.cpp
The file was addedlibc/test/src/math/TruncTest.h
The file was modifiedlibc/test/src/math/roundl_test.cpp
The file was modifiedlibc/test/src/math/fmax_test.cpp
The file was modifiedlibc/test/src/math/roundf_test.cpp
The file was modifiedlibc/test/src/math/ceil_test.cpp
The file was addedlibc/test/src/math/FloorTest.h
The file was modifiedlibc/test/src/math/floor_test.cpp
The file was addedlibc/test/src/math/FAbsTest.h
The file was modifiedlibc/test/src/math/fabs_test.cpp
The file was modifiedlibc/test/src/math/fmaxf_test.cpp
The file was modifiedlibc/test/src/math/truncf_test.cpp
The file was modifiedlibc/test/src/math/CMakeLists.txt
The file was modifiedlibc/test/src/math/floorf_test.cpp
The file was modifiedlibc/test/src/math/round_test.cpp
The file was modifiedlibc/test/src/math/fmin_test.cpp
The file was modifiedlibc/test/src/math/copysignl_test.cpp
The file was modifiedlibc/test/src/math/fminl_test.cpp
The file was modifiedlibc/test/src/math/truncl_test.cpp
The file was modifiedlibc/test/src/math/ceill_test.cpp
The file was addedlibc/test/src/math/FMinTest.h
The file was addedlibc/test/src/math/CopySignTest.h
The file was modifiedlibc/test/src/math/fabsl_test.cpp
The file was modifiedlibc/test/src/math/floorl_test.cpp
The file was addedlibc/test/src/math/CeilTest.h
The file was modifiedlibc/test/src/math/trunc_test.cpp
The file was modifiedlibc/test/src/math/fminf_test.cpp
The file was modifiedlibc/test/src/math/copysignf_test.cpp
The file was modifiedlibc/test/src/math/fabsf_test.cpp
The file was modifiedlibc/test/src/math/fmaxl_test.cpp
The file was addedlibc/test/src/math/FMaxTest.h
Commit 97618522dc66d7b06bd41c961fcafa09f537713b by Christudasan.Devadasan
[AMDGPU] Remove dead dcode (NFC).
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
Commit 0168da3035feef569518c12e3f3733c1eec25395 by llvm-dev
[TableGen] CodeGenMapTable - use for-range loop. NFCI.
The file was modifiedllvm/utils/TableGen/CodeGenMapTable.cpp
Commit 9a6804ab19cb9e15ac658854be396d767112bfac by llvm-dev
[TableGen] CodeGenDAGPatterns - use const references on for-range loops to avoid unnecessary copies. NFCI.
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp
Commit 0b36a33ab89488a631d5ee9580904a36898c7954 by thakis
Reland "[Support] Don't include <algorithm> in MathExtras.h"

This reverts commit af2a93fd6e9f9e037d2e2d67b879fe85d7e1cbed.
This time, add the include to APInt.h, which apparently relied
on getting this include transitively.
The file was modifiedllvm/include/llvm/ADT/APInt.h
The file was modifiedllvm/include/llvm/Support/MathExtras.h
Commit 59437cb7d7c30054f0e77b2369c0aeffed3ccb14 by minyihh
[M68k] Fix empty builtin va_list kind

Clang _requires_ every target to provide a va_list kind so we shouldn't
put a llvm_unreachable there. Using `VoidPtrBuiltinVaList` because m68k
doesn't have any special ABI for variadic args.
The file was modifiedclang/lib/Basic/Targets/M68k.cpp
Commit 3dc24bc31edbc01dea085b24a6a6b024d7ae531c by cmtice
[LLDB] Re-land: Use path relative to binary for finding .dwo files.

DWARF allows .dwo file paths to be relative rather than absolute. When
they are relative, DWARF uses DW_AT_comp_dir to find the .dwo
file. DW_AT_comp_dir can also be relative, making the entire search
patch for the .dwo file relative. In this case, LLDB currently
searches relative to its current working directory, i.e. the directory
from which the debugger was launched. This is not right, as the
compiler, which generated the relative paths, can have no idea where
the debugger will be launched. The correct thing is to search relative
to the location of the executable binary. That is what this patch
does.

Differential Revision: https://reviews.llvm.org/D97786
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/dwo-relative-path.s
Commit 82150606fb11d28813ae6da1101f5bda638165fe by Vitaly Buka
Sanitizer built against glibc 2.34 doesn't work

As mentioned in https://gcc.gnu.org/PR100114 , glibc starting with the
https://sourceware.org/git/?p=glibc.git;a=commit;h=6c57d320484988e87e446e2e60ce42816bf51d53
change doesn't define SIGSTKSZ and MINSIGSTKSZ macros to constants, but to sysconf function call.
sanitizer_posix_libcdep.cpp has
static const uptr kAltStackSize = SIGSTKSZ * 4;  // SIGSTKSZ is not enough.
which is generally fine, just means that when SIGSTKSZ is not a compile time constant will be initialized later.
The problem is that kAltStackSize is used in SetAlternateSignalStack which is called very early, from .preinit_array
initialization, i.e. far before file scope variables are constructed, which means it is not initialized and
mmapping 0 will fail:
==145==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)

Here is one possible fix, another one could be to make kAltStackSize a preprocessor macro if _SG_SIGSTKSZ is defined
(but perhaps with having an automatic const variable initialized to it so that sysconf isn't at least called twice
during SetAlternateSignalStack.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D100645
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
Commit b93629dd335ffee2fc4b9b619bf86c3f9e6b0023 by Vitaly Buka
Address D100645 comment
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
Commit eaa9ef075d9b4d49ce9dae723516e7e6e8b0c4b6 by tra
[CUDA, FDO] Filter out profiling options from GPU-side compilations.

Differential Revision: https://reviews.llvm.org/D100598
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/clang_f_opts.c
Commit 0daf27302518dcc521fae5cb5c7f72b783c13c35 by Dávid Bolvanský
[Builtins] Add memory allocation builtins (PR12543)
The file was modifiedclang/include/clang/Basic/Builtins.def
The file was modifiedclang/test/CodeGen/builtins.c
Commit ff55d01a8e1b60c137cd8cab7d9eeef14284fd7a by listmail
[nofree] Restrict semantics to memory visible to caller

This patch clarifies the semantics of the nofree function attribute to make clear that it provides an "as if" semantic. That is, a nofree function is guaranteed not to free memory which existed before the call, but might allocate and then deallocate that same memory within the lifetime of the callee.

This is the result of the discussion on llvm-dev under the thread "Ambiguity in the nofree function attribute".

The most important part of this change is the LangRef wording. The rest is minor comment changes to emphasize the new semantics where code was accidentally consistent, and fix one place which wasn't consistent. That one place is currently narrowly used as it is primarily part of the ongoing (and not yet enabled) deref-at-point semantics work.

Differential Revision: https://reviews.llvm.org/D100141
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/test/Transforms/LICM/hoist-alloc.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 7946cc404f435a7b609d4bb00c8378e8c783475a by benny.kra
[tblgen] Fold loop into assert to avoid unused variable warnings. NFCI.
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp
Commit 46968577336f29ddc5fd30e87cb94b03fa3c9cd9 by bjoern
DeclContext: Fix iterator category

This amends 0cb7e7ca0c864e052bf49978f3bcd667c9e16930.
The iterator category of lookup_iterator was changed, but here it stayed
hardcoded as random access. Found while trying to build Clazy.

Differential-Revision: https://reviews.llvm.org/D100590
The file was modifiedclang/include/clang/AST/DeclBase.h
Commit 5c729750a6d75df4eeb3eaad72e0b4e93ea27c0e by tlively
[WebAssembly] Remove saturating fp-to-int target intrinsics

Use the target-independent @llvm.fptosi and @llvm.fptoui intrinsics instead.
This includes removing the instrinsics for i32x4.trunc_sat_zero_f64x2_{s,u},
which are now represented in IR as a saturating truncation to a v2i32 followed by
a concatenation with a zero vector.

Differential Revision: https://reviews.llvm.org/D100596
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrConv.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was removedllvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/trunc_saturate.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/conv.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISD.def
Commit 6d2d3bd0a61f5fc7fd9f61f48bc30e9ca77cc619 by i
[ELF] Default to -z start-stop-gc with a glibc "__libc_" special case

Change the default to facilitate GC for metadata section usage, so that they
don't need SHF_LINK_ORDER or SHF_GROUP just to drop the unhelpful rule (if they
want to be unconditionally retained, use SHF_GNU_RETAIN
(`__attribute__((retain))`) or linker script `KEEP`).

The dropped SHF_GROUP special case makes the behavior of -z start-stop-gc and -z
nostart-stop-gc closer to GNU ld>=2.37 (https://sourceware.org/PR27451).

However, we default to -z start-stop-gc (which actually matches more closely to
GNU ld before 2015-10 https://sourceware.org/PR19167), which is different from
modern GNU ld (which has the unhelpful rule to work around glibc). As a
compensation, we special case `__libc_` sections as a workaround for glibc<2.34
(https://sourceware.org/PR27492).

Since -z start-stop-gc as the default actually matches the traditional GNU ld
behavior, there isn't much to be aware of. There was a systemd usage which has
been fixed by https://github.com/systemd/systemd/pull/19144
The file was modifiedlld/test/ELF/gc-sections-metadata-startstop.s
The file was modifiedlld/test/ELF/lto/section-name.ll
The file was modifiedlld/test/ELF/gc-sections-startstop.s
The file was modifiedlld/ELF/MarkLive.cpp
The file was modifiedlld/test/ELF/relocatable-gc.s
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/linkerscript/sections-gc2.s
Commit fdbb5a7a91b00d1e4a9a16fee96763917a411fff by Jonas Devlieghere
[lldb] Add code and data address mask to Process

Add a code and data address mask to Process with respective getters and
setters and a setting that allows the user to specify the mast as a
number of addressable bits. The masks will be used by FixCodeAddress and
FixDataAddress respectively in the ABI classes.

Differential revision: https://reviews.llvm.org/D100515
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/source/Target/TargetProperties.td
The file was modifiedlldb/include/lldb/Target/Process.h
Commit 13875aab4e7d907b1a934579be61dd936c2de17a by Tony.Tye
[AMDGPU] Enforce that gfx802/803/805 do not support XNACK

Reviewed By: kzhuravl

Differential Revision: https://reviews.llvm.org/D100679
The file was modifiedllvm/lib/Support/TargetParser.cpp
Commit 6b446310bef95eecea7afdd989e57e64d39a3b0d by craig.topper
[TableGen] Predicate::operator== needs to compare the HwMode feature name in addition to the HwMode flag.

This was causing GenerateVariants to lose some variants since
HwMode is expanded first. We were mistakenly thinking the HwMode
predicate matched and finding the variant was isomorphic to a
pattern in another HwMode and discarding it.

Found while investigating it if would be better to generate
variants before expanding HwModes to improve RISCV build time.
I noticed an increase in the number of Opc_MorphNodeTo in the table
which indicated that the number of patterns had changed.
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.h
Commit 919236e608685e1c5c43edb03b42b4d8acab45aa by Joseph.Nash
[AMDGPU] NFC, Comment in disassembler for dpp8

Gives reasoning for convertDPP8.
Also corrects typo in Operand type comment.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D100665

Change-Id: I33ff269db8072d83e5e0ecdbfb731d6000fc26c4
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
Commit a0ed70abded169a6e3d5a304aa2e120f3a78fd76 by Joseph.Nash
[AMDGPU] Remove redundant field from DPP8 def

These lines set the value to what it already was,
so they are redundant. NFC

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D100664

Change-Id: Ibf6f27d50a7fa1f76c127f01b799821378bfd3b3
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
Commit 657b325416682e37c43756d55a31dc729a062387 by i
[TableGen] Fix -Wparentheses
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp
Commit ca6751043d8899b12baeb48621e61fb352cfee09 by jezng
[lld-macho] Initial groundwork for -bitcode_bundle

This diff creates an empty XAR file and copies it into
`__LLVM,__bundle`. Follow-up work will actually populate the contents of
that XAR.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D100650
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/OutputSection.h
The file was modifiedlld/test/lit.cfg.py
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/OutputSegment.h
The file was modifiedlld/test/lit.site.cfg.py.in
The file was addedlld/test/MachO/invalid/no-libxar.ll
The file was modifiedlld/tools/lld/CMakeLists.txt
The file was addedlld/test/MachO/bitcode-bundle.ll
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Config.h
Commit 550ed575cbbd2c81cb855d4debb4a215ae75ef1e by sguelton
Simplify BitVector code

Instead of managing memory by hand, delegate it to std::vector. This makes the
code much simpler, and also avoids repeatedly computing the storage size.

According to valgrind --tool=callgrind, this also slightly decreases the
instruction count, but by a small margin.

This is a recommit of 82f0e3d3ea6bf927e3397b2fb423abbc5821a30f with one usage
fixed in llvm/lib/CodeGen/RegisterScavenging.cpp.

Not the slight API change: BitVector::clear() now has the same behavior as any
other container: it does not free memory, but indeed sets the size of the
BitVector to 0. It is thus incorrect to access its content right afterwards, a
scenario which wasn't enforced in previous implementation.

Differential Revision: https://reviews.llvm.org/D100387
The file was modifiedllvm/lib/CodeGen/RegisterScavenging.cpp
The file was modifiedllvm/include/llvm/ADT/BitVector.h
Commit 8770b4ecca557b02d37188ae2fa5479e6136b2fb by Jonas Devlieghere
[lldb] Implement ABI::Fix{Code,Data}Address for AArch64

Implement FixCodeAddress and FixDataAddress for ABIMacOSX_arm64 and
ABISysV_arm64 and add missing calls to RegisterContextUnwind. We need
this to unwind on Apple Silicon where libraries like libSystem are
arm64e even when the program being debugged is arm64.

Differential revision: https://reviews.llvm.org/D100521
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABIAArch64.h
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
The file was modifiedlldb/source/Target/RegisterContextUnwind.cpp
The file was modifiedlldb/include/lldb/Target/ABI.h
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
Commit db2da0c8f907c444e0bf8b788d8186c4c67db0b2 by Jonas Devlieghere
[lldb] Set addressable bits from qHostInfo

Read the number of addressable bits from the qHostInfo packet and use it
to set the code and data address mask in the process. The data
(addressing_bits) is already present in the packet.

Differential revision: https://reviews.llvm.org/D100520
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Commit bb0e1ae7c4170b18247e5c7c226ed29689d552a5 by jezng
[lld-macho] Add separator to error message
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit 08843a0c3f3ee572633b8ed8dda9dbacae9dd520 by i
[sanitizer] GetTls: work around ppc64 with glibc<2.25(?) or GNU ld 2.30

GNU ld 2.26 and GNU ld 2.31 seem fine but GNU ld 2.30 has mysterious
segfaults linking msan tests.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit 3e1045ec04a033c688aa40e961e26c38446f1139 by jezng
[lld] Canonicalize HAVE_LIBXAR

I think this should unbreak the build after D100650...
The file was modifiedlld/test/CMakeLists.txt
Commit 7c02dc22e487637abe752939c0e82d36be9921df by gchatelet
[libc] Extends the testing framework to support typed test

This patch provides `TYPED_TEST` and `TYPED_TEST_F` (similar in functionnality to gtest).
This is needed to extensively test building blocks for memory functions.

Example for `TYPED_TEST_F`:
```
template <typename T> class LlvmLibcMyTestFixture : public testing::Test {};

using Types = testing::TypeList<char, int, long>;

TYPED_TEST_F(LlvmLibcMyTestFixture, Simple, Types) {
  EXPECT_LE(sizeof(ParamType), 8UL);
}
```

Example for `TYPED_TEST`:
```
using Types = testing::TypeList<char, int, long>;

TYPED_TEST(LlvmLibcMyTest, Simple, Types) {
  EXPECT_LE(sizeof(ParamType), 8UL);
}
```

`ParamType` is displayed as fully qualified canonical type which can be difficult to read, the user can provide a more readable name by using the `REGISTER_TYPE_NAME` macro.

Differential Revision: https://reviews.llvm.org/D100631
The file was modifiedlibc/utils/UnitTest/LibcTest.h
Commit f549176ad976caa3e19edd036df9a7e12770af7c by listmail
[funcattrs] Add the maximal set of implied attributes to definitions

Have funcattrs expand all implied attributes into the IR. This expands the infrastructure from D100400, but for definitions not declarations this time.

Somewhat subtly, this mostly isn't semantic. Because the accessors did the inference, any client which used the accessor was already getting the stronger result. Clients that directly checked presence of attributes (there are some), will see a stronger result now.

The old behavior can end up quite confusing for two reasons:
* Without this change, we have situations where function-attrs appears to fail when inferring an attribute (as seen by a human reading IR), but that consuming code will see that it should have been implied. As a human trying to sanity check test results and study IR for optimization possibilities, this is exceeding error prone and confusing. (I'll note that I wasted several hours recently because of this.)
* We can have transforms which trigger without the IR appearing (on inspection) to meet the preconditions. This change doesn't prevent this from happening (as the accessors still involve multiple checks), but it should make it less frequent.

I'd argue in favor of deleting the extra checks out of the accessors after this lands, but I want that in it's own review as a) it's purely stylistic, and b) I already know there's some disagreement.

Once this lands, I'm also going to do a cleanup change which will delete some now redundant duplicate predicates in the inference code, but again, that deserves to be a change of it's own.

Differential Revision: https://reviews.llvm.org/D100226
The file was modifiedllvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nosync.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nounwind.ll
The file was modifiedllvm/test/Other/cgscc-iterate-function-mutation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/inline-attr.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/2008-09-03-ReadOnly.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nofree.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/willreturn-callsites.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nofree-attributor.ll
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/norecurse_debug.ll
The file was modifiedclang/test/CodeGenOpenCL/convergent.cl
The file was modifiedllvm/lib/Transforms/IPO/FunctionAttrs.cpp
The file was modifiedllvm/test/Other/cgscc-devirt-iteration.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/optnone.ll
The file was modifiedllvm/test/Transforms/Inline/cgscc-update.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/atomic.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/writeonly.ll
The file was modifiedllvm/test/Other/cgscc-observe-devirt.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/incompatible_fn_attrs.ll