SuccessChanges

Summary

  1. [gn build] (manually) port d09b08919ca (details)
  2. [BasicAA] Accept AATags by const reference (NFC) (details)
  3. [test][NFC] Do ptrdiff_t comparison with signed instead of unsigned constants (details)
  4. Fix various format specifier mismatches (details)
  5. [PowerPC][AIX] Make `__vector [un]signed long` an error (details)
  6. [NFC] Make non-modifying members const. (details)
  7. [libc++] Fix aligned_alloc tests FreeBSD (details)
  8. [clang-format] Add a SpaceAroundPointerQualifiers style option (details)
  9. [libc++][dsl] Run checks for locale names aliases using a single %exec (details)
  10. [X86] Add test cases for PR47874. NFC (details)
  11. [mlir] Add canonicalization for cond_br that feed into a cond_br on the same condition (details)
  12. PR47870: Properly mangle placeholders for deduced class template (details)
  13. PR47893: Synthesis of a comparison operator from an 'operator<=>' (details)
Commit 4d2d287a030fe81a5bf9d982ed8ea26fe3bcee6b by thakis
[gn build] (manually) port d09b08919ca
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Commit 6de8d7f1adc82504f2167131e40d3cceec6a6fac by nikita.ppv
[BasicAA] Accept AATags by const reference (NFC)

Rather than swapping the value, the sizes, the AA tags and the
underlying objects multiple times, invoke the helper methods
with swapped arguments.
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/BasicAliasAnalysis.h
Commit f4d8e86dbed599145490069fb547a87dbaff4a3e by hubert.reinterpretcast
[test][NFC] Do ptrdiff_t comparison with signed instead of unsigned constants

... because using unsigned constants for comparing against signed values
is liable to mutate the signed value via conversion to an unsigned type
due to the usual arithmetic conversions.
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp
Commit 2980ce98be117a756ec5ad485273fd5400049683 by hubert.reinterpretcast
Fix various format specifier mismatches

Format specifiers of incorrect length are replaced with format specifier
macros from `<cinttypes>` matching the typedefs used to declare the type
of the value being printed.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D89637
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/lib/Object/COFFObjectFile.cpp
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
Commit 126094485ab99dac3e6df9c201124d48a1d798ce by hubert.reinterpretcast
[PowerPC][AIX] Make `__vector [un]signed long` an error

The semantics associated with `__vector [un]signed long` are neither
consistently specified nor consistently implemented.

The IBM XL compilers on AIX traditionally treated these as deprecated
aliases for the corresponding `__vector int` type in both 32-bit and
64-bit modes. The newer, Clang-based, IBM XL compilers on AIX make usage
of the previously deprecated types an error. This is also consistent
with IBM XL C/C++ for Linux on Power (on little endian distributions).

In line with the above, this patch upgrades (on AIX) the deprecation of
`__vector long` to become removal.

Reviewed By: ZarkoCA

Differential Revision: https://reviews.llvm.org/D89443
The file was modifiedclang/test/Parser/altivec.c
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/test/Parser/cxx-altivec.cpp
Commit 389c8d5b20a2ddea84d3b24edd533d5283f96582 by koraq
[NFC] Make non-modifying members const.

Implementing the likelihood attributes for the iteration statements adds
a new helper function. This function can't be const qualified since
these non-modifying members aren't const qualified.
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CodeGenPGO.h
The file was modifiedclang/lib/CodeGen/CodeGenPGO.cpp
Commit 82b0ac4f1f8b41afc94b4cd0a748482a2ccef850 by Alexander.Richardson
[libc++] Fix aligned_alloc tests FreeBSD

On FreeBSD we get the following error when passing zero as the requested
alignment: error: requested alignment is not a power of 2

Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D88820
The file was modifiedlibcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
Commit 9e27f38354e850346f5f4e895e44ad3346546d9c by Alexander.Richardson
[clang-format] Add a SpaceAroundPointerQualifiers style option

Some projects (e.g. FreeBSD) align pointers to the right but expect a
space between the '*' and any pointer qualifiers such as const. To handle
these cases this patch adds a new config option SpaceAroundPointerQualifiers
that can be used to configure whether spaces need to be added before/after
pointer qualifiers.

PointerAlignment = Right
SpaceAroundPointerQualifiers = Default/After:
void *const *x = NULL;
SpaceAroundPointerQualifiers = Before/Both
void * const *x = NULL;

PointerAlignment = Left
SpaceAroundPointerQualifiers = Default/Before:
void* const* x = NULL;
SpaceAroundPointerQualifiers = After/Both
void* const * x = NULL;

PointerAlignment = Middle
SpaceAroundPointerQualifiers = Default/Before/After/Both:
void * const * x = NULL;

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D88227
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
Commit 7928d40c6b892c977472cdb7fbf67703222e15e5 by Alexander.Richardson
[libc++][dsl] Run checks for locale names aliases using a single %exec

This changes the checking for available locales to use one program that
iterates over argv to test multiple locale names instead of checking each
name with a separate executable.

This massively speeds up running individual tests using an SSH executor
(it can take up to 10 seconds to compile and run a single test in some
emulated environments) in case no locales are installed since then all
fallback names are tested idividually. But even on a native machine
this reduces the libc++ lit startup time by ~1-2 second for me on a machine
that does not have locale data installed.

Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D88884
The file was modifiedlibcxx/test/libcxx/selftest/dsl/dsl.sh.py
The file was modifiedlibcxx/utils/libcxx/test/dsl.py
The file was modifiedlibcxx/utils/libcxx/test/features.py
Commit 9d23224bf656358e409b620803f6b49341258dea by craig.topper
[X86] Add test cases for PR47874. NFC
The file was addedllvm/test/CodeGen/X86/pr47874.ll
Commit a8feeee15fea0fcc936fa4a6f2eb891c90d69c3e by riddleriver
[mlir] Add canonicalization for cond_br that feed into a cond_br on the same condition

```
   ...
   cond_br %cond, ^bb1(...), ^bb2(...)
...
^bb1: // has single predecessor
   ...
   cond_br %cond, ^bb3(...), ^bb4(...)
```

->

```
   ...
   cond_br %cond, ^bb1(...), ^bb2(...)
...
^bb1: // has single predecessor
   ...
   br ^bb3(...)
```

Differential Revision: https://reviews.llvm.org/D89604
The file was modifiedmlir/test/Dialect/Standard/canonicalize-cf.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Transforms/canonicalize-block-merge.mlir
Commit 79cb179b149b20e7e1bbfd45d1b5e5b055f3b067 by richard
PR47870: Properly mangle placeholders for deduced class template
specializations that have no deduced type.
The file was modifiedclang/test/CodeGenCXX/cxx1z-class-deduction.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
Commit 094e9f4779eb9b5c6a49014f2f80b8cbb833572f by richard
PR47893: Synthesis of a comparison operator from an 'operator<=>'
inherits the SFINAEness of its enclosing context.
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-three-way-comparison.cpp