[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