Changes

Summary

  1. [LegalizeIntegerTypes] Use GetExpandedInteger instead of SplitInteger in ExpandIntRes_XMULO. (details)
  2. Add REQUIRES aarch64 to test incompatible-arch.s since it fails if that target is not built. (details)
  3. [libc++] [docs] [C++2b] Update status page with papers adopted in February 2021 virtual meeting. (details)
  4. Revert "[InstrProfiling] Use nobits as __llvm_prf_cnts section type in ELF" (details)
  5. [ARM] Expand the range of allowed post-incs in load/store optimizer (details)
  6. [LLD] [COFF] Allow invoking lib.exe mode via -lib in addition to /lib (details)
  7. [libcxx] [test] Don't pass INCLUDE to clang via -isystem (details)
  8. [OpenCL] Add declarations with enum/typedef args (details)
  9. [OpenCL] Add ndrange builtin functions to TableGen (details)
  10. [AArch64] Use CMTST for != 0 vector compares (vnot (CMEQz A)). (details)
Commit cb6fc4b0a35402a946e17b101ecd5cd0edd8c602 by craig.topper
[LegalizeIntegerTypes] Use GetExpandedInteger instead of SplitInteger in ExpandIntRes_XMULO.

We know the input is going to be expanded as well, so we should
just ask for the already expanded operands. Otherwise we create
nodes that are just going to need to be legalized.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit 91e31ebbbe0c5781d1c0d5b3470c2cb8932faf0b by douglas.yung
Add REQUIRES aarch64 to test incompatible-arch.s since it fails if that target is not built.

This should fix the PS4 linux buildbot failure: http://lab.llvm.org:8011/#/builders/139/builds/63
The file was modifiedlld/test/MachO/invalid/incompatible-arch.s
Commit 77bd454da34e9cfba6cb007bdf25fc422b947641 by marek.kurdej
[libc++] [docs] [C++2b] Update status page with papers adopted in February 2021 virtual meeting.
The file was modifiedlibcxx/docs/Cxx2bStatusPaperStatus.csv
Commit 11a53f47fb3448c747e18519f3799c919ec65aa1 by phosek
Revert "[InstrProfiling] Use nobits as __llvm_prf_cnts section type in ELF"

This reverts commit 6b286d93f7ec8518c685a302269e44b06a0a24f3 because
in some cases when the optimizer evaluates the global initializer,
__llvm_prf_cnts may not be entirely zero initialized.
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was removedllvm/test/Instrumentation/InstrProfiling/X86/nobits.ll
Commit 03892a27d6b89df92def3239338cafbbfa541dbd by david.green
[ARM] Expand the range of allowed post-incs in load/store optimizer

Currently the load/store optimizer will only fold in increments of the
same size as the load/store. This patch expands that to any legal
immediate for the post-inc instruction.

This is a recommit of 3b34b06fc5908b with correctness fixes and extra
tests.

Differential Revision: https://reviews.llvm.org/D95885
The file was modifiedllvm/test/CodeGen/ARM/store-prepostinc.mir
The file was modifiedllvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/store-prepostinc.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h
Commit 075539ddf6525f5dac31d9b5506cd58c44108633 by martin
[LLD] [COFF] Allow invoking lib.exe mode via -lib in addition to /lib

Remove a stray -lib argument in guardcf-lto.ll; llvm-lib doesn't
support generating import libs from a def file unlike lib.exe.
Previously this worked because the -lib argument was ignored
(printing only a warning).

Differential Revision: https://reviews.llvm.org/D96699
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/test/COFF/driver.test
The file was modifiedlld/test/COFF/guardcf-lto.ll
Commit 90232b2ecd72422fbaad5ea53679f27f59249d95 by martin
[libcxx] [test] Don't pass INCLUDE to clang via -isystem

Passing the MSVC include dirs via -isystem makes them included before
clang's own include resource dir (<prefix>/lib/clang/<version>/include).
This causes includes of stddef.h to bypass clang's stddef.h which
defines max_align_t, which libc++ needs defined.

This was added in 4372f06d0fcaba1a6913e2f37be064e06a7b5b5b when the
initial windows testing support was added, and has been brought along
since. It's unclear if this was needed back then - now it no longer is
needed at least, and since libc++ started depending on max_align_t, this
became an issue.

Differential Revision: https://reviews.llvm.org/D97167
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 85eb12eefdf6a95afc49bc66df41738d19702977 by sven.vanhaastregt
[OpenCL] Add declarations with enum/typedef args

Add the remaining missing builtin function declarations that have enum
or typedef argument or return types.

Differential Revision: https://reviews.llvm.org/D96860
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td
The file was modifiedclang/test/SemaOpenCL/fdeclare-opencl-builtins.cl
Commit 0344aea6ea379d945d1de1f5c258414dc61ccacd by sven.vanhaastregt
[OpenCL] Add ndrange builtin functions to TableGen

Also ensure all kernel enqueue functions have CL 2.0 as minimum
version.

Differential Revision: https://reviews.llvm.org/D97060
The file was modifiedclang/test/SemaOpenCL/fdeclare-opencl-builtins.cl
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td
Commit 5c74c6be3c291c27b78918aefe4017ea59b4ede8 by flo
[AArch64] Use CMTST for != 0 vector compares (vnot (CMEQz A)).

(CMTST A, A) will only set elements to 0 if the element is 0 in A. Use
it for != 0 compares, which currently use (vnot (CMEQz A)). This saves a
mvn instruction.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D97303
The file was modifiedllvm/test/CodeGen/AArch64/vec_umulo.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/neon-compare-instructions.ll