[all-commits] [llvm/llvm-project] 7dd4d2: [flang] Fix const cast issue in FreeMemory functio...

Congcong Cai via All-commits all-commits at lists.llvm.org
Sun Jan 14 17:42:00 PST 2024


  Branch: refs/heads/users/ccc/create-AvoidnestedternaryconditionaloperatorCheck
  Home:   https://github.com/llvm/llvm-project
  Commit: 7dd4d28e4196fad83ed78ea342d65e7eaec4a6f1
      https://github.com/llvm/llvm-project/commit/7dd4d28e4196fad83ed78ea342d65e7eaec4a6f1
  Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/runtime/execute.cpp
    M flang/runtime/tools.cpp
    M flang/runtime/tools.h

  Log Message:
  -----------
  [flang] Fix const cast issue in FreeMemory function call in execute_command_line (#77906)

The FreeMemory function only accepts a void pointer, but it was being
called with a const char pointer, resulting in a type-casting issue.
To address this, the const was removed, use char * instead.


  Commit: 5fa4b1d83c80769f6003ae8aa504a21e64ddde63
      https://github.com/llvm/llvm-project/commit/5fa4b1d83c80769f6003ae8aa504a21e64ddde63
  Author: Koakuma <koachan at protonmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M llvm/lib/Target/Sparc/SparcSubtarget.cpp
    M llvm/lib/Target/Sparc/SparcSubtarget.h
    M llvm/lib/Target/Sparc/SparcTargetMachine.cpp

  Log Message:
  -----------
  [SPARC] Consume `tune-cpu` directive in the backend (#77195)

This lets the backend read the `tune-cpu` directive that is emitted by the frontend.

No changes are needed for clang as it is already emits it.


  Commit: 15179aa433dfb50e025ee054aea50f428933bb22
      https://github.com/llvm/llvm-project/commit/15179aa433dfb50e025ee054aea50f428933bb22
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/RDFGraph.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp

  Log Message:
  -----------
  [llvm] Use llvm::is_contained (NFC)


  Commit: eccd279979ac210248cdf7d583169df6a8e552bd
      https://github.com/llvm/llvm-project/commit/eccd279979ac210248cdf7d583169df6a8e552bd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/tools/driver/driver.cpp

  Log Message:
  -----------
  [clang] Use SmallString::operator std::string() (NFC)


  Commit: 771ab15e4881b9c4adaabb694d901c3dbeb1fa47
      https://github.com/llvm/llvm-project/commit/771ab15e4881b9c4adaabb694d901c3dbeb1fa47
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp

  Log Message:
  -----------
  [clang-tidy] Use StringRef::ltrim (NFC)


  Commit: 1df4fb98813a33d14f2112a1bb906039d112fa3f
      https://github.com/llvm/llvm-project/commit/1df4fb98813a33d14f2112a1bb906039d112fa3f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Support/StringRef.cpp

  Log Message:
  -----------
  [Support] Use StringRef::ltrim (NFC)


  Commit: a08402f95bc785c124702b075904cc110128661f
      https://github.com/llvm/llvm-project/commit/a08402f95bc785c124702b075904cc110128661f
  Author: Leonard Chan <leonardchan at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp

  Log Message:
  -----------
  [sanitizer_common][fuchsia] Get correct vmar info

Forward fix for https://github.com/llvm/llvm-project/pull/75256

The process for MmapAlignedOrDieOnFatalError involves trimming the start
and end of a mapping to ensure it's aligned correctly. This invloves
calling zx_vmar_map again but overwriting a part of the original vmar
which involves a call to zx_object_get_info(ZX_INFO_VMAR). After
https://github.com/llvm/llvm-project/pull/75256, we unconditionally
called this on gSanitizerHeapVmar but this can lead to a
ZX_ERR_INVALID_ARGS if the prior mapping was on the root vmar.

This can be fixed by also returning the vmar we did the last mapping to
and using that for followup operations that specifically involve the
same vmar. This way we don't have to try each syscall for both vmars.


  Commit: 8566cd61246cf8649eb12c4cf96a72f3203fee98
      https://github.com/llvm/llvm-project/commit/8566cd61246cf8649eb12c4cf96a72f3203fee98
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/unittests/MIR/CMakeLists.txt
    A llvm/unittests/MIR/PassBuilderCallbacksTest.cpp

  Log Message:
  -----------
  [CodeGen] Let `PassBuilder` support machine passes (#76320)

`PassBuilder` would be a better place to parse MIR pipeline. We can
reuse the code to support parsing pass with parameters and targets can
reuse `registerPassBuilderCallbacks` to register the target specific
passes. `PassBuilder` also has ability to check whether a Pass is a
machine pass.


  Commit: 99b7c770c2bebd1d83f06595b670d9385f6d3c52
      https://github.com/llvm/llvm-project/commit/99b7c770c2bebd1d83f06595b670d9385f6d3c52
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M flang/test/Driver/isysroot.f90

  Log Message:
  -----------
  [flang] Allow different linker name (#77849)

The linker name is different if the `lld` project is enabled
`-DLLVM_ENABLE_PROJECTS="...;lld"`.

---------

Co-authored-by: Leandro Lupori <leandro.lupori at gmail.com>


  Commit: 96b9b630348591ca112c8bae1eed550a4958448f
      https://github.com/llvm/llvm-project/commit/96b9b630348591ca112c8bae1eed550a4958448f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/MIR/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8566cd61246c


  Commit: 33aaad94279e5e2b7ab413786abdde48e3486ad9
      https://github.com/llvm/llvm-project/commit/33aaad94279e5e2b7ab413786abdde48e3486ad9
  Author: Gonsolo <gonsolo at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.rst
    M llvm/examples/Kaleidoscope/Chapter2/CMakeLists.txt

  Log Message:
  -----------
  [Kaleidoscope] LLVM is not needed for chapter two (#69823)

Since the example (llvm/examples/Kaleidoscope/Chapter2/toy.cpp) is
self-contained there is no need to use LLVM.


  Commit: fc2766c1d4776a8e56a7b931a779c57bf7ed3d8b
      https://github.com/llvm/llvm-project/commit/fc2766c1d4776a8e56a7b931a779c57bf7ed3d8b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/literals.cpp

  Log Message:
  -----------
  [clang][Interp] Diagnose reads from non-const global variables (#71919)

This fixes a long-standing FIXME item.

Unfortunately it changes the diagnostic output of the tests added in
`cxx23.cpp`, but they were wrong before and are wrong after, so no big
deal.


  Commit: 51fb76ff1d4a888342c4a406904096b32cc49866
      https://github.com/llvm/llvm-project/commit/51fb76ff1d4a888342c4a406904096b32cc49866
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M lld/COFF/DriverUtils.cpp
    M lld/Common/Args.cpp
    M lld/MachO/Driver.cpp

  Log Message:
  -----------
  [lld] Use StringRef::consume_front_insensitive (NFC)


  Commit: 6bd488dd24cc06daea0d9a9dea0e2843f4c8d38e
      https://github.com/llvm/llvm-project/commit/6bd488dd24cc06daea0d9a9dea0e2843f4c8d38e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp

  Log Message:
  -----------
  [CodeGen] Use DenseMap::contains (NFC)


  Commit: 8e8bbbd48ee23764cc6030fd259dde6a1107c00c
      https://github.com/llvm/llvm-project/commit/8e8bbbd48ee23764cc6030fd259dde6a1107c00c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
    M mlir/lib/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.cpp

  Log Message:
  -----------
  [mlir] Use llvm::is_contained (NFC)


  Commit: 8e8c954a173e0e814de1207513f357e99dff2e85
      https://github.com/llvm/llvm-project/commit/8e8c954a173e0e814de1207513f357e99dff2e85
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/test/TableGen/DefaultOpsGlobalISel.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    M llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    M llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    M llvm/test/TableGen/GlobalISelEmitterSubreg.td
    M llvm/test/TableGen/HasNoUse.td
    M llvm/test/TableGen/gisel-physreg-input.td
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelMatchTable.cpp

  Log Message:
  -----------
  [GISel] Erase the root instruction after emitting all its potential uses (#77494)

This tries to fix a bug by resolving a few FIXMEs. The bug is that
`EraseInstAction` is emitted after emitting the _first_ `BuildMIAction`,
which is too early because the erased instruction may still be used by
subsequent `BuildMIAction`s (in particular, by `CopyRenderer`).

An example of the bug (from `match-table-operand-types.td`):
```
def InstTest0 : GICombineRule<
  (defs root:$a),
  (match  (G_MUL i32:$x, i32:$b, i32:$c),
          (G_MUL $a, i32:$b, i32:$x)),
  (apply  (G_ADD i64:$tmp, $b, i32:$c),
          (G_ADD i8:$a, $b, i64:$tmp))>;

GIR_EraseFromParent, /*InsnID*/0,
GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::G_ADD),
GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // a
GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // b
GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/0,
```

Here, the root instruction is destroyed before copying its operands ('a'
and 'b') to the new instruction.

The solution is to emit `EraseInstAction` for the root instruction as
the last action in the emission pipeline.


  Commit: 8d817f6479a5df874028a8b40fd30aecd3479005
      https://github.com/llvm/llvm-project/commit/8d817f6479a5df874028a8b40fd30aecd3479005
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/intrinsics-sm90.ll

  Log Message:
  -----------
  [LLVM][NVPTX]: Add aligned versions of cluster barriers (#77940)


  Commit: e3fde348514529bfb699005fdc5af80bdddf7cfe
      https://github.com/llvm/llvm-project/commit/e3fde348514529bfb699005fdc5af80bdddf7cfe
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp

  Log Message:
  -----------
  [lldb][libc++] Adds missing C++20 calendar data formatters. (#77954)

This is a followup of #76983 and adds the libc++ data formatters for
- weekday,
- weekday_indexed,
- weekday_last,
- month_weekday,
- month_weekday_last,
- year_month,
- year_month_day_last
- year_month_weekday, and
- year_month_weekday_last.


  Commit: 1e51b35981063ea3408d3dab6c103a23f94c25e0
      https://github.com/llvm/llvm-project/commit/1e51b35981063ea3408d3dab6c103a23f94c25e0
  Author: Jim Lin <jim at andestech.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [RISCV] Change required features for Zvfhmin intrinsics from ZvfhminOrZvfh to Zvfhmin (#77866)

>From #75735, Zvfh implies Zvfhmin.


  Commit: 66786a79d6f622012879e94a92838449bf175a71
      https://github.com/llvm/llvm-project/commit/66786a79d6f622012879e94a92838449bf175a71
  Author: Bharathi Ramana Joshi <joshibharathiramana at gmail.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/unittests/Analysis/Presburger/MatrixTest.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Implement Matrix::moveColumns (#68362)


  Commit: 01ddc0edf9f525af2e4a4c63bd3ef9484d82db4c
      https://github.com/llvm/llvm-project/commit/01ddc0edf9f525af2e4a4c63bd3ef9484d82db4c
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Add OpenSSF Best Practice Badge (#77398)

This tracks our progress implementing the OpenSSF Best Practices for
LLVM.


  Commit: 850f713e80426f1706c0d3dad143c330ca872d5d
      https://github.com/llvm/llvm-project/commit/850f713e80426f1706c0d3dad143c330ca872d5d
  Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/QuasiPolynomial.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Helper functions to compute the constant term of a generating function (#77819)

We implement two functions that are needed to compute the constant term
of a GF.
One finds a vector not orthogonal to all the non-null vectors in a given
set.
One computes the coefficient of any term in an arbitrary rational
function (quotient of two polynomials).


  Commit: 9c33a2e9a3202c9e04bd359df14708ad2fa45387
      https://github.com/llvm/llvm-project/commit/9c33a2e9a3202c9e04bd359df14708ad2fa45387
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M mlir/lib/Analysis/Presburger/Barvinok.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Fold loop into assert

This way it doesn't trigger -Wunused-variable when assertions are disabled.


  Commit: 60ac394dc9ed617f802b33c3b9ac8881ca6a940c
      https://github.com/llvm/llvm-project/commit/60ac394dc9ed617f802b33c3b9ac8881ca6a940c
  Author: Tacet <advenam.tacet at trailofbits.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M libcxx/include/string
    A libcxx/test/libcxx/containers/strings/basic.string/asan.pass.cpp
    A libcxx/test/libcxx/containers/strings/basic.string/asan_turning_off.pass.cpp
    M libcxx/test/support/asan_testing.h

  Log Message:
  -----------
  [ASan][libc++] Annotating `std::basic_string` with all allocators (#75845)

This commit turns on ASan annotations in `std::basic_string` for all
allocators by default.

Originally suggested here: https://reviews.llvm.org/D146214

String annotations added here:
https://github.com/llvm/llvm-project/pull/72677

This commit is part of our efforts to support container annotations with
(almost) every allocator. Annotating `std::basic_string` with default
allocator is implemented in
https://github.com/llvm/llvm-project/pull/72677.

Additionally it removes `__begin != nullptr` because `data()` should
never return a nullptr.

Support in ASan API exists since
https://github.com/llvm/llvm-project/commit/1c5ad6d2c01294a0decde43a88e9c27d7437d157.
This patch removes the check in std::basic_string annotation member
function (__annotate_contiguous_container) to support different
allocators.

You can turn off annotations for a specific allocator based on changes
from
https://github.com/llvm/llvm-project/commit/2fa1bec7a20bb23f2e6620085adb257dafaa3be0.

The motivation for a research and those changes was a bug, found by
Trail of Bits, in a real code where an out-of-bounds read could happen
as two strings were compared via a call to `std::equal` that took
`iter1_begin`, `iter1_end`, `iter2_begin` iterators (with a custom
comparison function). When object `iter1` was longer than `iter2`, read
out-of-bounds on `iter2` could happen. Container sanitization would
detect it.

If you have any questions, please email:
- advenam.tacet at trailofbits.com
- disconnect3d at trailofbits.com


  Commit: e9df6fec59b3ea9bc7f66236bc94517bcb00f15a
      https://github.com/llvm/llvm-project/commit/e9df6fec59b3ea9bc7f66236bc94517bcb00f15a
  Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp

  Log Message:
  -----------
  [clang-tidy] Invalid Fix-It generated for implicit-widening-multiplication-result (#76315)

The check currently emits warnings for the following code:
    `uint64_t fn() { return 1024 * 1024; }`

But the code generated after applying the notes will look like this:
    `uint64_t fn() { return static_cast<uint64_t>(1024 * )1024; }`

This is because when generating the notes the check will use the
beginLoc() and EndLoc() of the subexpr of the implicit cast.
But in some cases the AST Node might not have a beginLoc and EndLoc.
This seems to be true when the Node is composed of only 1 token (for
example an integer literal). Calling the getEndLoc() on this type of
node will simply return the known location which is, in this case, the
beginLoc.

Fixes #63070 #56728


  Commit: 3f21253ddd9f74d68f0b822bc2aac79b17f26787
      https://github.com/llvm/llvm-project/commit/3f21253ddd9f74d68f0b822bc2aac79b17f26787
  Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst

  Log Message:
  -----------
  [libc++][NFC] Release notes: fixed formatting (#78058)

Co-authored-by: Zingam <zingam at outlook.com>


  Commit: 270c6cbda2acf1f60891e10667af6d9741b62009
      https://github.com/llvm/llvm-project/commit/270c6cbda2acf1f60891e10667af6d9741b62009
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++][doc] Bump required GCC version.

GCC 13 is the latest GCC release and tested in the libc++ CI for several
month. According to our policy we only support the latest version,
update the documentation to the latest version.


  Commit: 253d2f931e530f6fbc12bc8646e70ed7090baf20
      https://github.com/llvm/llvm-project/commit/253d2f931e530f6fbc12bc8646e70ed7090baf20
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/cast_ptr.ll

  Log Message:
  -----------
  Revert "[InstCombine] Fold `icmp pred (inttoptr X), (inttoptr Y) -> icmp pred X, Y`" (#78023)

Reverts llvm/llvm-project#77832

To fix https://lab.llvm.org/buildbot/#/builders/236/builds/8673

Also truncation to shorter type looks incorrect.

Issue for tracking #78024 .


  Commit: d8cd55414f79c44065753c38d1b5ad5b91e02df9
      https://github.com/llvm/llvm-project/commit/d8cd55414f79c44065753c38d1b5ad5b91e02df9
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr15xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG1350 (#78040)

Test is based on [P0136R1](https://wg21.link/p0136r1) wording instead of proposed resolution in the issue itself.

This patch also expands related CWG1573 test with an additional test case. Existing `3.9` status of 1573 is still relevant even with this new test case.


  Commit: 91b53a2c791c65e17aa80dce7c357ff705d3fd4e
      https://github.com/llvm/llvm-project/commit/91b53a2c791c65e17aa80dce7c357ff705d3fd4e
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr18xx.cpp
    A clang/test/CXX/drs/dr2335.cpp
    M clang/test/CXX/drs/dr23xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add tests for DRs about complete-class context (#77444)

[P1787](https://wg21.link/p1787): The intent for CWG2335 (contra those of the older CWG1890, CWG1626, CWG1255, and CWG287) is supported by retaining the unrestricted forward lookup in complete-class contexts (despite current implementation behavior for non-templates).

Wording: The declaration set is the result of a single search in the scope of C for N from immediately after the class-specifier of C if P is in a complete-class context of C or from P otherwise. [Drafting note: The plan for CWG2335 is to describe forbidden dependency cycles among the complete-class contexts of a class. — end drafting note] ([class.member.lookup]/4)

Complete-class context is described in [class.mem.general] [p7](http://eel.is/c++draft/class#mem.general-7) and
[p8](http://eel.is/c++draft/class#mem.general-8). In this patch I add tests only for CWG issues that fall under current definition of complete-class context, because I'm not sure how CWG1255 and CWG287 are going to work. That's why I skip over them, but mark CWG1308 as superseded by CWG1330.


  Commit: d871f40deb7a7e6286b6d6b4476f6d30e444075e
      https://github.com/llvm/llvm-project/commit/d871f40deb7a7e6286b6d6b4476f6d30e444075e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-dbg-skip.ll
    M llvm/test/DebugInfo/WebAssembly/dbg-value-move-clone.mir
    M llvm/test/DebugInfo/WebAssembly/dbg-value-reg-stackify.mir

  Log Message:
  -----------
  [WebAssembly] Use DebugValueManager only when subprogram exists (#77978)

We previously scanned the whole BB for `DBG_VALUE` instruction even when
the program doesn't have debug info, i.e., the function doesn't have a
subprogram associated with it, which can make compilation unnecessarily
slow. This disables `DebugValueManager` when a `DISubprogram` doesn't
exist for a function.

This only reduces unnecessary work in non-debug mode and does not change
output, so it's hard to add a test to test this behavior.

Test changes were necessary because their `DISubprogram`s were not
correctly linked with the functions, so with this PR the compiler
incorrectly assumed the functions didn't have a subprogram and the tests
started to fail.

Fixes https://github.com/emscripten-core/emscripten/issues/21048.


  Commit: 21b2f305c90c99066ce251e7c63b411bf1a9e765
      https://github.com/llvm/llvm-project/commit/21b2f305c90c99066ce251e7c63b411bf1a9e765
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang/test/CXX/drs/dr0xx.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    M clang/test/CXX/drs/dr26xx.cpp
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    M clang/test/CXX/drs/dr4xx.cpp
    M clang/test/CXX/drs/dr6xx.cpp

  Log Message:
  -----------
  [clang][NFC] Improve formatting in C++ DR tests

Refactoring started in https://github.com/llvm/llvm-project/pull/73879 has unfortunately missed to add indentation to `expected-note` directives. This patch is a follow-up to that refactoring.


  Commit: 5295ca1a8e5844b44d6b4140ea46405301e9c63f
      https://github.com/llvm/llvm-project/commit/5295ca1a8e5844b44d6b4140ea46405301e9c63f
  Author: Danny Mösch <danny.moesch at icloud.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp

  Log Message:
  -----------
  [clang-tidy] Add option to ignore macros in `readability-simplify-boolean-expr` check (#78043)


  Commit: 0e93d04001e45f39cabf0ffb5093512a7f622cc0
      https://github.com/llvm/llvm-project/commit/0e93d04001e45f39cabf0ffb5093512a7f622cc0
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang/docs/UsersManual.rst

  Log Message:
  -----------
  [AVX10][Doc] Add documentation about AVX10 options and their attentions (#77925)


  Commit: 96f14ea61847da9b89732cd86ff2ba5ceac252d3
      https://github.com/llvm/llvm-project/commit/96f14ea61847da9b89732cd86ff2ba5ceac252d3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/TextAPI/RecordsSlice.cpp

  Log Message:
  -----------
  [llvm] Use range-based for loops with llvm::drop_begin (NFC)


  Commit: b5d6ea4d8b195558f1b79970368b185d232754d9
      https://github.com/llvm/llvm-project/commit/b5d6ea4d8b195558f1b79970368b185d232754d9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/FormatVariadic.cpp
    M llvm/lib/Support/VersionTuple.cpp

  Log Message:
  -----------
  [Support] Use StringRef::consume_front (NFC)


  Commit: e4a6be0fc0b8dcc57c555baa6dea0097c5fb0f7b
      https://github.com/llvm/llvm-project/commit/e4a6be0fc0b8dcc57c555baa6dea0097c5fb0f7b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-13 (Sat, 13 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

  Log Message:
  -----------
  [CodeGen] Use getConstantOperandVal (NFC)


  Commit: 49138d97c0d8a6d1c6935da414a1f3fea839263b
      https://github.com/llvm/llvm-project/commit/49138d97c0d8a6d1c6935da414a1f3fea839263b
  Author: Nicholas Mosier <nmosier at stanford.edu>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
    M llvm/test/CodeGen/X86/speculative-load-hardening.ll

  Log Message:
  -----------
  [X86] Fix SLH crash on llvm.eh.sjlh.longjmp (#77959)

Fix #60081.


  Commit: c0cb80338f7fe7c6041350481eb3abc28dc28447
      https://github.com/llvm/llvm-project/commit/c0cb80338f7fe7c6041350481eb3abc28dc28447
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Globals.cpp

  Log Message:
  -----------
  [IR] Use StringRef::consume_front (NFC)


  Commit: fd358997b3e6f0400b9d4570d5075d729f11484f
      https://github.com/llvm/llvm-project/commit/fd358997b3e6f0400b9d4570d5075d729f11484f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/lib/IR/Dominators.cpp
    M llvm/lib/IR/StructuralHash.cpp

  Log Message:
  -----------
  [IR] Use range-based for loops (NFC)


  Commit: 7528cf5ef23e392110e8d58ac2ccf7610123d889
      https://github.com/llvm/llvm-project/commit/7528cf5ef23e392110e8d58ac2ccf7610123d889
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp

  Log Message:
  -----------
  [Target] Use getConstantOperandVal (NFC)


  Commit: b0aebbd41a19045baa80aef3d269514be24f9fde
      https://github.com/llvm/llvm-project/commit/b0aebbd41a19045baa80aef3d269514be24f9fde
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Workaround for old versions of GCC (NFC) (#78046)

See:
https://github.com/llvm/llvm-project/pull/76086#issuecomment-1890424955


  Commit: d3ac676ea4d87142ff43f5a64cda1ad181b3ad47
      https://github.com/llvm/llvm-project/commit/d3ac676ea4d87142ff43f5a64cda1ad181b3ad47
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang/test/Format/clang-format-ignore.cpp

  Log Message:
  -----------
  [clang-format][NFC] Use FileCheck for clang-format-ignore lit test (#77977)


  Commit: 356c2c2399e1041439af817e3e179aa35361502e
      https://github.com/llvm/llvm-project/commit/356c2c2399e1041439af817e3e179aa35361502e
  Author: Da-Viper <57949090+Da-Viper at users.noreply.github.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-swap.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-swap.cpp

  Log Message:
  -----------
  Fix #75686: add iter_swap and iter_move to the matched name (#76117)

Added support for iter_swap, iter_move in bugprone-exception-escape 
and performance-noexcept-swap checks.

Fixes  #75686


  Commit: db17a3f69fab16d45d08243b3e711940b6ae3b0d
      https://github.com/llvm/llvm-project/commit/db17a3f69fab16d45d08243b3e711940b6ae3b0d
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy][DOC] Fix some speling mistakes in release notes

Reorder checks & fix some formating.


  Commit: 785167070982a75d1b123fbbf0917cc457846ec1
      https://github.com/llvm/llvm-project/commit/785167070982a75d1b123fbbf0917cc457846ec1
  Author: Jie Fu (傅杰) <jiefu at tencent.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang/tools/libclang/linker-script-to-export-list.py

  Log Message:
  -----------
  [clang] SyntaxWarning: invalid escape sequence '\s' with Python3.12 (#78036)

llvm-project/clang/tools/libclang/linker-script-to-export-list.py:9: SyntaxWarning: invalid escape sequence '\s'
  m = re.search("^\s+(clang_[^;]+)", line)

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 4ed696c34869233362395b78a52191e5c39f8a18
      https://github.com/llvm/llvm-project/commit/4ed696c34869233362395b78a52191e5c39f8a18
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] `OneToNTypeConversion.cpp`: Fix invalid IR (#77922)

`buildUnrealizedCast` used to generate invalid
`builtin.unrealized_conversion_cast` ops with zero results. This commit
fixes
`test/Conversion/OneToNTypeConversion/one-to-n-type-conversion.mlir`
when running with `MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS`.

```
  * Pattern (anonymous namespace)::ConvertMakeTupleOp : 'test.make_tuple -> ()' {
Trying to match "(anonymous namespace)::ConvertMakeTupleOp"

[...]

"(anonymous namespace)::ConvertMakeTupleOp" result 1
  } -> success : pattern applied successfully
// *** IR Dump After Pattern Application ***
mlir-asm-printer: Verifying operation: func.func
'builtin.unrealized_conversion_cast' op expected at least one result for cast operation
mlir-asm-printer: 'func.func' failed to verify and will be printed in generic form
"func.func"() <{function_type = (i1, i2) -> (i1, i2), sym_name = "pack_unpack"}> ({
^bb0(%arg0: i1, %arg1: i2):
  %0 = "test.make_tuple"() : () -> tuple<>
  "builtin.unrealized_conversion_cast"(%0) {"__one-to-n-type-conversion_cast-kind__" = "target"} : (tuple<>) -> ()

[...]

}) : () -> ()

within split at /usr/local/google/home/springerm/mlir_public/llvm-project/mlir/test/Conversion/OneToNTypeConversion/one-to-n-type-conversion.mlir:1 offset :20:8: error: 'builtin.unrealized_conversion_cast' op expected at least one result for cast operation
  %0 = "test.make_tuple"() : () -> tuple<>
       ^
within split at /usr/local/google/home/springerm/mlir_public/llvm-project/mlir/test/Conversion/OneToNTypeConversion/one-to-n-type-conversion.mlir:1 offset :20:8: note: see current operation: "builtin.unrealized_conversion_cast"(%0) {"__one-to-n-type-conversion_cast-kind__" = "target"} : (tuple<>) -> ()
LLVM ERROR: IR failed to verify after pattern application
```


  Commit: 777a67b2d9fbf9a871d8951e6e7fd0f9f16ea54b
      https://github.com/llvm/llvm-project/commit/777a67b2d9fbf9a871d8951e6e7fd0f9f16ea54b
  Author: Shahid Iqbal <150978350+shahidiqbal13 at users.noreply.github.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h

  Log Message:
  -----------
  PR#72453 : Exceeding maximum file name length (#72654)


  Commit: fb2cc9b9fc5ae5a544e3009ae153f5ae83c5a89c
      https://github.com/llvm/llvm-project/commit/fb2cc9b9fc5ae5a544e3009ae153f5ae83c5a89c
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h

  Log Message:
  -----------
  [Analysis] 'static' function 'shortenFileName' should be declared 'static inline' (NFC)

llvm-project/llvm/include/llvm/Analysis/DOTGraphTraitsPass.h:89:13:
 error: 'static' function 'shortenFileName' declared in header file should be declared 'static inline' [-Werror,-Wunneeded-internal-declaration]
  static void shortenFileName(std::string &FN, unsigned char len = 250) {


  Commit: 59e79f0de59d9e4576b6bf562de40a914702efd4
      https://github.com/llvm/llvm-project/commit/59e79f0de59d9e4576b6bf562de40a914702efd4
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp

  Log Message:
  -----------
  [clang-tidy] Add support for in-class initializers in readability-redundant-member-init (#77206)

Support detecting redundant in-class initializers. 
Moved from https://reviews.llvm.org/D157262

Fixes: #62525


  Commit: 7f1d757fb40f06cc1c6b134d770987b340286996
      https://github.com/llvm/llvm-project/commit/7f1d757fb40f06cc1c6b134d770987b340286996
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp

  Log Message:
  -----------
  [clang-tidy] Fix false-positives in readability-container-size-empty (#74140)

Added support for size-like method returning signed type, and corrected
false positive caused by always-false check for size bellow zero.

Closes #72619


  Commit: 60a9874f54922a0fd9bfca9a028c32473f7ef85f
      https://github.com/llvm/llvm-project/commit/60a9874f54922a0fd9bfca9a028c32473f7ef85f
  Author: rmarker <37921131+rmarker at users.noreply.github.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add PenaltyBreakScopeResolution option. (#78015)

Resolves #78014


  Commit: 2ae795d3d65ec584865491af7e6ab16b8d22acef
      https://github.com/llvm/llvm-project/commit/2ae795d3d65ec584865491af7e6ab16b8d22acef
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/cast-induction.ll

  Log Message:
  -----------
  [LV] Add test case where variable induction step needs truncating.


  Commit: bc27f3573d61012771aa3fee2427f0dd5b8a1288
      https://github.com/llvm/llvm-project/commit/bc27f3573d61012771aa3fee2427f0dd5b8a1288
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/GlobList.cpp

  Log Message:
  -----------
  [clang-tidy] Use StringRef::consume_front (NFC)


  Commit: 10b1c29e396ffb83b0da989740382d5db14fcd9c
      https://github.com/llvm/llvm-project/commit/10b1c29e396ffb83b0da989740382d5db14fcd9c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp

  Log Message:
  -----------
  [CodeGen] Use a range-based for loop (NFC)


  Commit: 21edd381e403079baa2d01754e3d3ae7b3469932
      https://github.com/llvm/llvm-project/commit/21edd381e403079baa2d01754e3d3ae7b3469932
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp

  Log Message:
  -----------
  [clang-doc] Use SmallString::operator std::string (NFC)


  Commit: bddd8f46f81477a52ff7ef2873e5671db71c431e
      https://github.com/llvm/llvm-project/commit/bddd8f46f81477a52ff7ef2873e5671db71c431e
  Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
  Date:   2024-01-15 (Mon, 15 Jan 2024)

  Changed paths:
    M libcxx/include/__concepts/arithmetic.h
    A libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_integer.compile.pass.cpp
    A libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
    A libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp

  Log Message:
  -----------
  [libc++][concepts] Implements  concept helper `__libcpp_integer` (#78086)

...and tests.

---------

Co-authored-by: Zingam <zingam at outlook.com>


  Commit: 510ec2079e8fe9d6705466ecfbd3e91f5798998a
      https://github.com/llvm/llvm-project/commit/510ec2079e8fe9d6705466ecfbd3e91f5798998a
  Author: Yuanqiang Liu <liuyuanqiang.yqliu at bytedance.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M mlir/lib/Pass/IRPrinting.cpp

  Log Message:
  -----------
  [mlir] fix IRPrinterInstrumentation to use the user-provided IRPrinting config (#70023)


  Commit: 7c773558ca43c03163f1df5deae7537f1f789cb5
      https://github.com/llvm/llvm-project/commit/7c773558ca43c03163f1df5deae7537f1f789cb5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp

  Log Message:
  -----------
  [RISCV] Combine repeated calls to MachineFunction::getSubtarget. NFC


  Commit: 332be179e13df924971f752236f5cf3c6483b588
      https://github.com/llvm/llvm-project/commit/332be179e13df924971f752236f5cf3c6483b588
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-01-15 (Mon, 15 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp

  Log Message:
  -----------
  [clang-tidy]fix readability-implicit-bool-conversion false-positives when comparison bool bitfield (#77878)

Fixes: #76817
For ignoring comparison and xor operator, it needs
to use `ImplicitCastFromBool` without ignoring
exception cases.
This patch splits ignoring exception cases logic
from `ImplicitCastFromBool` and only applies
it during matching targeted AST.


  Commit: 2e0a105761cd33e42b915da5aab35c966daf8241
      https://github.com/llvm/llvm-project/commit/2e0a105761cd33e42b915da5aab35c966daf8241
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-01-14 (Sun, 14 Jan 2024)

  Changed paths:
    M llvm/lib/Support/CMakeLists.txt
    M llvm/tools/llvm-jitlink/CMakeLists.txt
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Fix building on Haiku and Solaris after c0d5d36dda04cdd409aabc015da0beb810842fcd (#78084)

Haiku and Solaris need some additional libraries after the commit
c0d5d36dda04cdd409aabc015da0beb810842fcd

Otherwise fails to link a whole bunch of the tools and other binaries
with undefined symbols with accept() and connect().

I did a static and dynamic build on illumos and a dynamic build on
Haiku.

```
-DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;lld;mlir'
```
and on illumos
```
-DLLVM_ENABLE_RUNTIMES='openmp'
```


  Commit: aeeefb06c3c8fab84b569c23282be8f8b32a0078
      https://github.com/llvm/llvm-project/commit/aeeefb06c3c8fab84b569c23282be8f8b32a0078
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-01-15 (Mon, 15 Jan 2024)

  Changed paths:
    M README.md
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-swap.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-array-subscript-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-swap.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-allow-in-conditions.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/literals.cpp
    M clang/test/CXX/drs/dr0xx.cpp
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr15xx.cpp
    M clang/test/CXX/drs/dr18xx.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    A clang/test/CXX/drs/dr2335.cpp
    M clang/test/CXX/drs/dr23xx.cpp
    M clang/test/CXX/drs/dr26xx.cpp
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    M clang/test/CXX/drs/dr4xx.cpp
    M clang/test/CXX/drs/dr6xx.cpp
    M clang/test/Format/clang-format-ignore.cpp
    M clang/tools/driver/driver.cpp
    M clang/tools/libclang/linker-script-to-export-list.py
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/www/cxx_dr_status.html
    M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
    M flang/docs/Intrinsics.md
    M flang/runtime/execute.cpp
    M flang/runtime/tools.cpp
    M flang/runtime/tools.h
    M flang/test/Driver/isysroot.f90
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/index.rst
    M libcxx/include/__concepts/arithmetic.h
    M libcxx/include/string
    A libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_integer.compile.pass.cpp
    A libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
    A libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
    A libcxx/test/libcxx/containers/strings/basic.string/asan.pass.cpp
    A libcxx/test/libcxx/containers/strings/basic.string/asan_turning_off.pass.cpp
    M libcxx/test/support/asan_testing.h
    M lld/COFF/DriverUtils.cpp
    M lld/Common/Args.cpp
    M lld/MachO/Driver.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.rst
    M llvm/examples/Kaleidoscope/Chapter2/CMakeLists.txt
    M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/CodeGen/RDFGraph.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Dominators.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/IR/StructuralHash.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/FormatVariadic.cpp
    M llvm/lib/Support/StringRef.cpp
    M llvm/lib/Support/VersionTuple.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/Sparc/SparcSubtarget.cpp
    M llvm/lib/Target/Sparc/SparcSubtarget.h
    M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
    M llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/CodeGen/NVPTX/intrinsics-sm90.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-dbg-skip.ll
    M llvm/test/CodeGen/X86/speculative-load-hardening.ll
    M llvm/test/DebugInfo/WebAssembly/dbg-value-move-clone.mir
    M llvm/test/DebugInfo/WebAssembly/dbg-value-reg-stackify.mir
    M llvm/test/TableGen/DefaultOpsGlobalISel.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    M llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    M llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    M llvm/test/TableGen/GlobalISelEmitterSubreg.td
    M llvm/test/TableGen/HasNoUse.td
    M llvm/test/TableGen/gisel-physreg-input.td
    M llvm/test/Transforms/InstCombine/cast_ptr.ll
    M llvm/test/Transforms/LoopVectorize/cast-induction.ll
    M llvm/tools/llvm-jitlink/CMakeLists.txt
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt
    M llvm/unittests/MIR/CMakeLists.txt
    A llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelMatchTable.cpp
    M llvm/utils/gn/secondary/llvm/unittests/MIR/BUILD.gn
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/include/mlir/Analysis/Presburger/QuasiPolynomial.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
    M mlir/lib/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Pass/IRPrinting.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
    M mlir/unittests/Analysis/Presburger/MatrixTest.cpp

  Log Message:
  -----------
  Merge branch 'main' of https://github.com/llvm/llvm-project into users/ccc/create-AvoidnestedternaryconditionaloperatorCheck


Compare: https://github.com/llvm/llvm-project/compare/f9736f2aa558...aeeefb06c3c8


More information about the All-commits mailing list