[all-commits] [llvm/llvm-project] 435cb0: [C++23] Fix infinite recursion (Clang 19.x regress...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon Aug 19 18:17:09 PDT 2024
Branch: refs/heads/users/MaskRay/spr/driver-default-msmall-data-limit-to-0-and-clean-up-code
Home: https://github.com/llvm/llvm-project
Commit: 435cb0dc5eca08cdd8d9ed0d887fa1693cc2bf33
https://github.com/llvm/llvm-project/commit/435cb0dc5eca08cdd8d9ed0d887fa1693cc2bf33
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/gh102293.cpp
Log Message:
-----------
[C++23] Fix infinite recursion (Clang 19.x regression) (#104829)
d469794d0cdfd2fea50a6ce0c0e33abb242d744c was fixing an issue with
triggering vtable instantiations, but it accidentally introduced
infinite recursion when the type to be checked is the same as the type
used in a base specifier or field declaration.
Fixes #104802
Commit: ff2e619dfcd77328812a42d2ba2b11c3ff96f410
https://github.com/llvm/llvm-project/commit/ff2e619dfcd77328812a42d2ba2b11c3ff96f410
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
Log Message:
-----------
[MC] Remove duplicate getFixupKindInfo calls. NFC
Due to 8728e097dfbec3630a1dd907431c0f14274a1ae8
(`std::unique_ptr<MCAsmBackend> Backend`), the compiler doesn't know
that `Backend` will not be modified across function calls.
Commit: e732d1ce86783b1d7fe30645fcb30434109505b9
https://github.com/llvm/llvm-project/commit/e732d1ce86783b1d7fe30645fcb30434109505b9
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/SemaOpenMP/gh104810.cpp
Log Message:
-----------
[Clang] Fix ICE in SemaOpenMP with structured binding (#104822)
Fixes https://github.com/llvm/llvm-project/issues/104810.
Clang currently crashes on the following program:
```
struct S {
int i;
};
auto [a] = S{1};
void foo() {
a;
}
```
when `-fopenmp` is enabled.
Because `a` is neither `VarDecl` nor `FieldDecl`. It's a `BindingDecl`
that's not handled in `SemaOpenMP.cpp`'s `getCanonicalDecl`. It appears
to me that this pattern matching is merely just for a refined return
type of the overrides. It can also be achieved with just using the
virtual `Decl::getCanonicalDecl()` instead. Do the final casting should
be safe for `ValueDecl`s.
Commit: 8a677c194072dc19ef680bebba9aa7eafb05b373
https://github.com/llvm/llvm-project/commit/8a677c194072dc19ef680bebba9aa7eafb05b373
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[NFC][ADT] Add range wrapper for std::mismatch (#104838)
Commit: 6a125c7e77cd0e73abc9e60ad1c8eb06e31b11d7
https://github.com/llvm/llvm-project/commit/6a125c7e77cd0e73abc9e60ad1c8eb06e31b11d7
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
M llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll
M llvm/test/Instrumentation/AddressSanitizer/global_metadata.ll
M llvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
M llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_late_initializer.ll
M llvm/test/Instrumentation/AddressSanitizer/local_alias.ll
M llvm/test/Instrumentation/AddressSanitizer/odr-check-ignore.ll
M llvm/test/Instrumentation/AddressSanitizer/win-string-literal.ll
Log Message:
-----------
[asan] Better `___asan_gen_` names (#104728)
Use different suffixes for each of 3 types
of objects using `___asan_gen_`.
Commit: 5af3dfb1d9caee206d080db2afab01006210739f
https://github.com/llvm/llvm-project/commit/5af3dfb1d9caee206d080db2afab01006210739f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[NFC][asan] Create `ModuleName` lazily (#104729)
Avoids tracking conditions when it's needed.
Commit: fa87eac3bea5b9704522c6b553d0f4a421e8abc9
https://github.com/llvm/llvm-project/commit/fa87eac3bea5b9704522c6b553d0f4a421e8abc9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_without_global.ll
Log Message:
-----------
Reland "[asan] Catch `initialization-order-fiasco` in modules without…" (#104730)
Re-land https://github.com/llvm/llvm-project/pull/104621
After https://github.com/llvm/llvm-project/pull/104729 this patch will
not create unused module names, failing some test checks.
This reverts commit 34f941a2f96b804dd24c2a25770d899b018339ff.
Commit: 54c6b93bcb4e751ec67ebd69e24c11811b970f1e
https://github.com/llvm/llvm-project/commit/54c6b93bcb4e751ec67ebd69e24c11811b970f1e
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
A libc/utils/mathtools/worst_case.sollya
Log Message:
-----------
[libc][NFC] Add sollya script to compute worst case range reduction. (#104803)
Commit: 24052538a0bb0144e6997e6b61687e3b8716b6ac
https://github.com/llvm/llvm-project/commit/24052538a0bb0144e6997e6b61687e3b8716b6ac
Author: Michael Park <mcypark at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang-tools-extra/clangd/ParsedAST.cpp
Log Message:
-----------
Emit `BeginSourceFile` failure with `elog`. (#104845)
There are 3 ways in which `ParseAST::build` can fail and return
`std::nullopt`. 2 of the ways we emit the error message using `elog`,
but for the 3rd way, `log` is used. We should emit all 3 of these
reasons with `elog`.
Commit: 98f2eb7ddab0cadd1eb6e631458ae8406f7d39a1
https://github.com/llvm/llvm-project/commit/98f2eb7ddab0cadd1eb6e631458ae8406f7d39a1
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
Fix StartDebuggingRequestHandler/ReplModeRequestHandler in lldb-dap (#104824)
`SBCommand::AddCommand()` requires `SBCommandPluginInterface` to be heap
based because it will be stored inside
`std::shared_ptr<lldb::SBCommandPluginInterface>` later for reference
counting. But lldb-dap passes
`StartDebuggingRequestHandler/ReplModeRequestHandler` static function
pointer to it which will cause corruption later during destruction.
This PR fixes this issue by making these two handler heap based.
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: c4781396136849e79fe7b0c9ffe1ccb708bb1b67
https://github.com/llvm/llvm-project/commit/c4781396136849e79fe7b0c9ffe1ccb708bb1b67
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
A compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp
Log Message:
-----------
Reapply "[HWASan] symbolize stack overflows" (#102951) (#104036)
This reverts commit d4f6fcf5aaa0911a91317c0b06779f13077d6b58.
Relanding with fixed obj_offset calculation (precedence of operations
was wrong),
and the suggestion in
https://github.com/llvm/llvm-project/pull/95308#discussion_r1714317539
Commit: f5664f585bdc3187461f1dfd78d8f16ed2d990a0
https://github.com/llvm/llvm-project/commit/f5664f585bdc3187461f1dfd78d8f16ed2d990a0
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Support/FormatVariadic.cpp
Log Message:
-----------
[Support] Do not ignore unterminated open { in formatv (#104688)
- When an unterminated open { is detected in the format string, instead
of asserting and ignoring the error, replace that string with another to
indicate the error, and remove the assert as well.
- This will make the error evident in both assert and release builds and
make observing the error more convenient (as several uses of this
function are in TableGen and it is often built in release mode even in
debug builds)
Commit: 31cc4ccdea92a4fee6a327a07251bb0ed1e6a933
https://github.com/llvm/llvm-project/commit/31cc4ccdea92a4fee6a327a07251bb0ed1e6a933
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
Log Message:
-----------
[compiler-rt][fuzzer] implements SetThreadName for fuchsia. (#99953)
Commit: 5fcd05967aaa0447d8da01b3f19139f2136863b4
https://github.com/llvm/llvm-project/commit/5fcd05967aaa0447d8da01b3f19139f2136863b4
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Add VOPD combine dependency tests. NFC. (#104841)
Commit: 42ce62800dd24760ab6e400a3d5f898f11fe818a
https://github.com/llvm/llvm-project/commit/42ce62800dd24760ab6e400a3d5f898f11fe818a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Handle incompatible types instead of asserting in `isKnownNonEqual`; NFC
Downstream hit this assert, since it doesn't really make any
difference, just change code to return false.
Commit: ea8bb4d633683f5cbfd82491620be3056f347a02
https://github.com/llvm/llvm-project/commit/ea8bb4d633683f5cbfd82491620be3056f347a02
Author: estewart08 <ethan.stewart at amd.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M offload/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[offload] - Fix issue with standalone debug offload build (#104647)
Error: CommandLine Error: Option 'attributor-manifest-internal'
registered more than once
During the standalone debug build of offload the above error is seen at
app runtime when using a prebuilt llvm with LLVM_LINK_LLVM_DYLIB=ON.
This is caused by linking both libLLVM.so and various archives that are
found via llvm_map_components_to_libnames for jit support.
Commit: 43b508566799751aa180f1eaaafc5be693f2f1ae
https://github.com/llvm/llvm-project/commit/43b508566799751aa180f1eaaafc5be693f2f1ae
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Complex/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
M mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
Log Message:
-----------
[mlir] NFC: fix dependence of (Tensor|Linalg|MemRef|Complex) dialects on LLVM Dialect and LLVM Core in CMake build (#104832)
This change removes dependencies declared as either 'LINK_LIBS' or
'LINK_COMPONENTS' across several MLIR libraries. The removed
dependencies appear
to be incorrect and may have been required in older versions of the
project.
These dependencies cause many high level dialects to have transitive
dependence on the LLVM dialect and the LLVM 'Core' library
('llvm/lib/IR').
Note that if using the 'Ninja' CMake generator, one can inspect the
dependencies
(including all transitive libraries) of any given MLIR target but using
the command `ninja -C <build dir> -t browse` and navigating to the
library
of interest in a web browser.
Commit: 27dc247964472aaf92ea55cc37310cda25a002ab
https://github.com/llvm/llvm-project/commit/27dc247964472aaf92ea55cc37310cda25a002ab
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
[scudo] Add partial chunk heuristic to retrieval algorithm. (#104807)
Previously the secondary cache retrieval algorithm would not allow
retrievals of memory chunks where the number of unused bytes would be
greater than than `MaxUnusedCachePages * PageSize` bytes. This meant
that even if a memory chunk satisfied the requirements of the optimal
fit algorithm, it may not be returned. This remains true if memory
tagging is enabled. However, if memory tagging is disabled, a new
heuristic has been put in place. Specifically, If a memory chunk is a
non-optimal fit, the cache retrieval algorithm will attempt to release
the excess memory to force a cache hit while keeping RSS down.
In the event that a memory chunk is a non-optimal fit, the retrieval
algorithm will release excess memory as long as the amount of memory to
be released is less than or equal to 16 KB. If the amount of memory to
be released exceeds 16 KB, the retrieval algorithm will not consider
that cached memory chunk valid for retrieval.
Commit: baa6627a0af6d31ddf57036c6f05a7d0fb31f8f2
https://github.com/llvm/llvm-project/commit/baa6627a0af6d31ddf57036c6f05a7d0fb31f8f2
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
Log Message:
-----------
[MLIR][Transforms] Fix dialect conversion inverse mapping (#104648)
Inverse mapping needs to be updated for the result that was remapped (it
was previously only updated halfway).
Commit: b5f3e28eca9bae94412415e5a77f769cf1e4fc61
https://github.com/llvm/llvm-project/commit/b5f3e28eca9bae94412415e5a77f769cf1e4fc61
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[docs] Revise the doc for __builtin_allow_runtime_check
Fix list formatting, improve the wording, and fix the description when
both options (note: prefer "option" to "flag" when arguments are
supported) are specified.
Pull Request: https://github.com/llvm/llvm-project/pull/104886
Commit: 8fd9d795f52e5c21d1c0531736e25d9ea5568700
https://github.com/llvm/llvm-project/commit/8fd9d795f52e5c21d1c0531736e25d9ea5568700
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang-tools-extra/clangd/ParsedAST.cpp
M clang/docs/LanguageExtensions.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/CodeGen/RISCV/riscv-sdata-module-flag.c
M clang/test/SemaCXX/gh102293.cpp
A clang/test/SemaOpenMP/gh104810.cpp
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
A compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp
A libc/utils/mathtools/worst_case.sollya
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M llvm/include/llvm/ADT/STLExtras.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Support/FormatVariadic.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
M llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll
M llvm/test/Instrumentation/AddressSanitizer/global_metadata.ll
M llvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
M llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_without_global.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_late_initializer.ll
M llvm/test/Instrumentation/AddressSanitizer/local_alias.ll
M llvm/test/Instrumentation/AddressSanitizer/odr-check-ignore.ll
M llvm/test/Instrumentation/AddressSanitizer/win-string-literal.ll
M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Complex/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
M mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
M offload/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
remove unneeded android test
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/94132fc13f1a...8fd9d795f52e
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list