[all-commits] [llvm/llvm-project] dc1e27: Fix buildbots after #66726.
Fangrui Song via All-commits
all-commits at lists.llvm.org
Sun Jan 14 00:57:30 PST 2024
Branch: refs/heads/users/MaskRay/spr/x86-add-ws-constraint-and-p-modifier-for-symbolic-addresslabel-reference
Home: https://github.com/llvm/llvm-project
Commit: dc1e2790e476499f6007efcd73ab9d648bfc48bb
https://github.com/llvm/llvm-project/commit/dc1e2790e476499f6007efcd73ab9d648bfc48bb
Author: Greg Clayton <clayborg at gmail.com>
Date: 2024-01-12 (Fri, 12 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/dump_dwo.test
Log Message:
-----------
Fix buildbots after #66726.
Some builds don't enable the x86_64 target, so we sometimes don't see register names in DWARF output.
Commit: 21a77e8a92a8d97f0dfd5f9f4faa7b6bc82887aa
https://github.com/llvm/llvm-project/commit/21a77e8a92a8d97f0dfd5f9f4faa7b6bc82887aa
Author: Reid Kleckner <rnk at google.com>
Date: 2024-01-12 (Fri, 12 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/Value.h
M llvm/lib/IR/Value.cpp
Log Message:
-----------
[IR] Reorder Value fields to put the SubclassID first (#53520)
Placing the class id at offset 0 should make `isa` and `dyn_cast` faster
by eliminating the field offset (previously 0x10) from the memory
operand, saving encoding space on x86, and, in theory, an add micro-op.
You can see the load encodes one byte smaller here:
https://godbolt.org/z/Whvz4can9
The compile time tracker shows some modestly positive results in the
on the `cycle` metric and in the final clang binary size metric:
https://llvm-compile-time-tracker.com/compare.php?from=33b54f01fe32030ff60d661a7a951e33360f82ee&to=2530347a57401744293c54f92f9781fbdae3d8c2&stat=cycles
Clicking through to the per-library size breakdown shows that
instcombine size reduces by 0.68%, which is meaningful, and I believe
instcombine is known to be a hotspot.
It is, however, potentially noise. I still think we should do this,
because notionally, the class id really acts as the vptr of the Value,
and conventionally the vptr is always at offset 0.
Commit: e028bee52ffc2ab9883d3d9a7dc66fe7b7c50a65
https://github.com/llvm/llvm-project/commit/e028bee52ffc2ab9883d3d9a7dc66fe7b7c50a65
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-13 (Sat, 13 Jan 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/unconventional-assign-operator.rst
Log Message:
-----------
[NFC]update autosar link in clang-tidy doc
Commit: 5ca2d75f2046612978ba71c4b36714b2a0a01886
https://github.com/llvm/llvm-project/commit/5ca2d75f2046612978ba71c4b36714b2a0a01886
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-13 (Sat, 13 Jan 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/misc/unconventional-assign-operator.rst
Log Message:
-----------
[NFC]fix incorrect autosar link in clang-tidy doc
Commit: 3edf82d5566ed5c9898f52b5591c05f6366d6bac
https://github.com/llvm/llvm-project/commit/3edf82d5566ed5c9898f52b5591c05f6366d6bac
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-01-12 (Fri, 12 Jan 2024)
Changed paths:
M llvm/lib/XRay/Trace.cpp
Log Message:
-----------
[XRay] Reserve memory space ahead-of-time when reading native format log (#76853)
XRay used to struggle reading large log files. It turned out the
bottleneck was primarily caused by the reallocation happens when
appending log entries into a std::vector.
This patch reserves the memory space ahead-of-time since the number of
entries is known for most cases. Making llvm-xray runs 1.8 times faster
and uses 1.4 times less physical memory when reading large (~2.6GB) log
files.
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: 228ae5088d5deb263f0ac37d4e553d9531d10268
https://github.com/llvm/llvm-project/commit/228ae5088d5deb263f0ac37d4e553d9531d10268
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-14 (Sun, 14 Jan 2024)
Changed paths:
M README.md
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.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/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/unconventional-assign-operator.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.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
A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Driver/Options.td
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/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/CodeGen/X86/inline-asm-constraints.c
M clang/test/Sema/inline-asm-validate-x86.c
M clang/tools/driver/driver.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/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
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/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/Value.h
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/LegalizeDAG.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/Passes/PassBuilder.cpp
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/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
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/WebAssembly/WebAssemblyDebugValueManager.cpp
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/XRay/Trace.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/tools/llvm-dwarfdump/dump_dwo.test
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/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/unittests/Analysis/Presburger/BarvinokTest.cpp
M mlir/unittests/Analysis/Presburger/MatrixTest.cpp
Log Message:
-----------
improve tests
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/3faf57743b8c...228ae5088d5d
More information about the All-commits
mailing list