[all-commits] [llvm/llvm-project] 0cf7aa: [MLIR][Vector] Update Transfer{Read|Write}DropUnit...
Michael Kruse via All-commits
all-commits at lists.llvm.org
Mon Nov 4 05:07:22 PST 2024
Branch: refs/heads/users/meinersbur/irbuilder-extract-refactor
Home: https://github.com/llvm/llvm-project
Commit: 0cf7aaf30067c4be2886a8c9127a27dcbfd63b92
https://github.com/llvm/llvm-project/commit/0cf7aaf30067c4be2886a8c9127a27dcbfd63b92
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
Log Message:
-----------
[MLIR][Vector] Update Transfer{Read|Write}DropUnitDimsPattern patterns (#112394)
Updates `TransferWriteDropUnitDimsPattern` and
`TransferReadDropUnitDimsPattern` to inherit from
`MaskableOpRewritePattern` so that masked versions of
xfer_read/xfer_write Ops are also supported:
```mlir
%v = vector.mask %mask {
vector.transfer_read %arg[%c0, %c0, %c0, %c0], %cst :
memref<1x1x3x2xi8, strided<[6, 6, 2, 1], offset: ?>>, vector<3x2xi8>
} : vector<3x2xi1> -> vector<3x2xi8>
```
Commit: e146c1867e8decfd423034f63a3a863733e03f04
https://github.com/llvm/llvm-project/commit/e146c1867e8decfd423034f63a3a863733e03f04
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
A libcxx/include/__locale_dir/locale_base_api/apple.h
A libcxx/include/__locale_dir/locale_base_api/freebsd.h
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Split Apple and Freebsd locale support into their own headers (#113737)
For now these headers don't provide much benefit, however as we refactor
the locale base API they will provide a location to specify the
localization interface on these platforms.
Commit: 0df70c28d25aedbedbb4c89f2c03a0e10ec0e8f4
https://github.com/llvm/llvm-project/commit/0df70c28d25aedbedbb4c89f2c03a0e10ec0e8f4
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
Log Message:
-----------
[llvm][SystemZ] Remove some leftover code from #106014. NFC. (#113761)
Pointed out by @redstar here:
https://github.com/llvm/llvm-project/pull/106014/files#r1816845388
Commit: 0f4b3c409fbd756d826c89d5539d9ea22bcc56aa
https://github.com/llvm/llvm-project/commit/0f4b3c409fbd756d826c89d5539d9ea22bcc56aa
Author: lntue <lntue at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cbrtf.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/tan.cpp
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/hypotf_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
Log Message:
-----------
[libc][math] Add tests and fix some issues with FTZ/DAZ modes. (#113744)
Commit: 266ff98cba44b9e969e6894eaa30d4fe37647210
https://github.com/llvm/llvm-project/commit/266ff98cba44b9e969e6894eaa30d4fe37647210
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[LV][VPlan] Use VF VPValue in VPVectorPointerRecipe (#110974)
Refactors VPVectorPointerRecipe to use the VF VPValue to obtain the
runtime VF, similar to #95305.
Since only reverse vector pointers require the runtime VF, the patch
sets VPUnrollPart::PartOpIndex to 1 for vector pointers and 2 for
reverse vector pointers. As a result, the generation of reverse vector
pointers is moved into a separate recipe.
Commit: a917ae0b4fc0d792ee0e2c512c4ea539f98e1204
https://github.com/llvm/llvm-project/commit/a917ae0b4fc0d792ee0e2c512c4ea539f98e1204
Author: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/Analysis/array-init-loop.cpp
Log Message:
-----------
[analyzer] Fix a crash from element region construction during `ArrayInitLoopExpr` analysis (#113570)
This patch generalizes the way element regions are constructed when an
`ArrayInitLoopExpr` is being analyzed. Previously the base region of the
`ElementRegion` was determined with pattern matching, which led to
crashes, when an unhandled pattern was encountered.
Fixes #112813
Commit: b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c
https://github.com/llvm/llvm-project/commit/b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
Log Message:
-----------
[StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 96723756231e316e68b0dacb104862eecbee01a2
https://github.com/llvm/llvm-project/commit/96723756231e316e68b0dacb104862eecbee01a2
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
Log Message:
-----------
Revert "[StructuralHash] Refactor (#112621)"
This reverts commit b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c.
Commit: a3181b11b5b758cfa852c0d27465f84ab3b079bb
https://github.com/llvm/llvm-project/commit/a3181b11b5b758cfa852c0d27465f84ab3b079bb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Teach StringRef to derive from std::string_view (#113752)
This patch makes minimum changes to have StringRef derive from
std::string_view, with an eventual goal of removing StringRef
completely. Subsequent patches will further clean up the remaining
bits.
I've chosen public inheritance over private one because our codebase
relies on implicit conversions to std::string_view, which is currently
provided by:
constexpr operator std::string_view() const {
return std::string_view(data(), size());
}
This implicit conversion stops applying once we use std::string_view
as a base class, public or private. If we chose a private base class,
we would lose the implicit conversion.
Commit: ef886a25805b6aa0cd42886791af5ce26d575f10
https://github.com/llvm/llvm-project/commit/ef886a25805b6aa0cd42886791af5ce26d575f10
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
Revert "[ADT] Teach StringRef to derive from std::string_view" (#113767)
Reverts llvm/llvm-project#113752
Many build bot failures
Commit: c8140d0d7fa943f5ae339cb5e6f4fd8644d5ae89
https://github.com/llvm/llvm-project/commit/c8140d0d7fa943f5ae339cb5e6f4fd8644d5ae89
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
Log Message:
-----------
[MCParser] De-capitalize ELFAsmParser comments. NFC
Commit: 0be1883c36fc19e4020fea12902481c3dd3436d2
https://github.com/llvm/llvm-project/commit/0be1883c36fc19e4020fea12902481c3dd3436d2
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__flat_map/flat_map.h
A libcxx/include/__flat_map/sorted_unique.h
M libcxx/include/__utility/exception_guard.h
A libcxx/include/flat_map
M libcxx/include/module.modulemap
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/modules/std/flat_map.inc
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.input_range.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/containers/container.adaptors/NaiveStaticVector.h
A libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_unique.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_rv_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.addressof.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_clears.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/keys_values.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.map/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/types.compile.pass.cpp
A libcxx/test/support/MinSequenceContainer.h
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Implement P0429R9 `std::flat_map` (#98643)
Around half of the tests are based on the tests Arthur O'Dwyer's
original implementation of std::flat_map, with modifications and
removals.
partially implement #105190
Commit: 98ca9a635bd2fb98cee473a9558687a5b522e219
https://github.com/llvm/llvm-project/commit/98ca9a635bd2fb98cee473a9558687a5b522e219
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Reland [StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: d78d030b31bb3bde822115fd9d26ab887f890203
https://github.com/llvm/llvm-project/commit/d78d030b31bb3bde822115fd9d26ab887f890203
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCXCOFFObjectWriter.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Export llvm::XCOFFObjectwriter and access it from MCXCOFFStreamer
Similar to commit 9539a7796094ff5fb59d9c685140ea2e214b945c for
WinCOFFObjectWriter.
Close #100412
Commit: 64d7e45c40e75846d13f4f7a853f9a3ea3493faa
https://github.com/llvm/llvm-project/commit/64d7e45c40e75846d13f4f7a853f9a3ea3493faa
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
R flang/test/Transforms/debug-none-type.fir
Log Message:
-----------
Revert "[flang][debug] Support mlir::NoneType." (#113769)
Reverts llvm/llvm-project#113550
It turns out this causes compiler crashes with assumed-type arrays and -g.
See https://github.com/llvm/llvm-project/pull/113769 for a reproducer.
Commit: d104b8e827ef5c3cb723aee92af4adfc8af18e9a
https://github.com/llvm/llvm-project/commit/d104b8e827ef5c3cb723aee92af4adfc8af18e9a
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Revert "Reland [StructuralHash] Refactor (#112621)"
This reverts commit 98ca9a635bd2fb98cee473a9558687a5b522e219.
Commit: d72e711e864dad7e3a434d66f3febad2b1596335
https://github.com/llvm/llvm-project/commit/d72e711e864dad7e3a434d66f3febad2b1596335
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/unittests/CMakeLists.txt
Log Message:
-----------
[NFC] [CMake] Add -Wno-dangling-else for GCC built unittests (#112817)
This is one of the many PRs to fix errors with LLVM_ENABLE_WERROR=on.
Built by GCC 11.
Fix warnings:
llvm/unittests/ProfileData/CoverageMappingTest.cpp: In member function
‘virtual void
{anonymous}::CoverageMappingTest_TVIdxBuilder_Test::TestBody()’:
llvm/unittests/ProfileData/CoverageMappingTest.cpp:1116:10: error:
suggest explicit braces to avoid ambiguous ‘else’
[-Werror=dangling-else]
1116 | if (Node.NextIDs[C] < 0)
The problem here is because these macros, eg: EXPECT_TRUE are expanded
to a single line multi-statement code with if/else, which is indeed
ambiguous after pre-processing. a simple example would be like:
https://godbolt.org/z/4zjn56qrP
if(x)
switch (0) case 0: default: if (...) ; else return;;
Given that omit braces in such cases is part of LLVM's style guide, and
it is hard to add braces in gtest just for GCC's warning, add
-Wno-dangling-else for GCC instead.
Commit: 1941c5180b91d792200d5e868d45c96e99bda35e
https://github.com/llvm/llvm-project/commit/1941c5180b91d792200d5e868d45c96e99bda35e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Reland (2nd attempt) [StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 597ccb800829af69ebc18cd7c75d878c8d21de6e
https://github.com/llvm/llvm-project/commit/597ccb800829af69ebc18cd7c75d878c8d21de6e
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/PassInstrumentation.h
Log Message:
-----------
[NFC] Fix typo in description of `AfterPassInvalidatedCallbacks` (#113779)
Commit: 89b5d88fb81362b4fb2f833790aa40b7eaa186da
https://github.com/llvm/llvm-project/commit/89b5d88fb81362b4fb2f833790aa40b7eaa186da
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Use std::string_view inside StringRef (#113775)
This patch makes minimum changes to replace Data and Length with an
instance of std::string_view.
Previously, I opted for public inheritance (#113752), but I
encountered a lot of errors from gcc stemming from ambiguity between
std::string_view and StringRef.
The composition approach in this patch gives us greater control at the
expense of forwarder functions.
Commit: 242c77018f669c0b8f06b262050fcc4dde486738
https://github.com/llvm/llvm-project/commit/242c77018f669c0b8f06b262050fcc4dde486738
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
[ARM] clang-format (NFC)
I'm planning to post a patch in this area.
Commit: 0dd9fdcf83cd00f51669b32c96937a97ef4b339e
https://github.com/llvm/llvm-project/commit/0dd9fdcf83cd00f51669b32c96937a97ef4b339e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/StructuralHash.h
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/Analysis/StructuralHash.cpp
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/StructuralHash/structural-hash-printer.ll
M llvm/unittests/IR/StructuralHashTest.cpp
Log Message:
-----------
[StructuralHash] Support Differences (#112638)
This computes a structural hash while allowing for selective ignoring of
certain operands based on a custom function that is provided. Instead of
a single hash value, it now returns FunctionHashInfo which includes a
hash value, an instruction mapping, and a map to track the operand
location and its corresponding hash value that is ignored.
Depends on https://github.com/llvm/llvm-project/pull/112621.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 93da6423af5f00a3bbee4d2ee571ccc7887f444d
https://github.com/llvm/llvm-project/commit/93da6423af5f00a3bbee4d2ee571ccc7887f444d
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Log Message:
-----------
[mlir][LLVM] Add builders for llvm.intr.assume (#113317)
This patch adds several new builders for llvm.intr.assume that build the
operation with additional operand bundles.
Commit: 355e6948d44a97781cc184a22c9b51760cae6de0
https://github.com/llvm/llvm-project/commit/355e6948d44a97781cc184a22c9b51760cae6de0
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/fix_clone_checking.ll
Log Message:
-----------
[MemProf] Fix clone edge comparison (#113753)
The issue fixed in PR113337 exposed a bug in the comparisons done in
allocTypesMatch, which compares a vector of alloc types to those in the
given vector of Edges. The form of std::equal used, which didn't provide
the end iterator for the Edges vector, will iterate through as many
entries in the Edges vector as in the InAllocTypes vector, which can
fail if there are fewer entries in the Edges vector, because we may
dereference a bogus Edge pointer. This function is called twice, once
for the Node, with its callee edges, in which case the number of edges
should always match the number of entries in allocTypesMatch, which is
computed from the Node's callee edges. It was also called for Node's
clones, and it turns out that after cloning and edge modifications done
for other allocations, the number of callee edges in Node and its clones
may no longer match. In some cases, more common with memprof ICP before
the PR113337, the number of clone edges can be smaller leading to a bad
dereference. I found for a large application even before adding memprof
ICP support we sometimes call this with fewer entries in the clone's
callee edges, but were getting lucky as they had allocation type None,
and we didn't end up attempting to dereference the bad edge pointer.
Fix this by passing Edges.end() to std::equal, which means std::equal
will fail if the number of entries in the 2 vectors are not equal.
However, this is too conservative, as clone edges may have been added or
removed since it was initially cloned, and in fact can be wrong as we
may not be comparing allocation types corresponding to the same callee.
Therefore, a couple of enhancements are made to avoid regressing and
improve the checking and cloning:
- Don't bother calling the alloc type comparison when the clone and the
Node's alloc type for the current allocation are precise (have a
single allocation type) and are the same (which is guaranteed by an
earlier check, and an assert is added to confirm that). In that case
we can trivially determine that the clone can be used.
- Split the alloc type matching handling into a separate function for
the clone case. In that case, for each of the InAllocType entries,
attempt to find and compare to the clone callee edge with the same
callee as the corresponding original node callee.
To create a test case I needed to take a spec application (xalancbmk),
and repeatedly apply random hot/cold-ness to the memprof contexts
when building, until I hit the problematic case. I then reduced that
full LTO IR using llvm-reduce and then manually.
Commit: d5b42db00f0b21855501b01e8cd80326e1ce763d
https://github.com/llvm/llvm-project/commit/d5b42db00f0b21855501b01e8cd80326e1ce763d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode][NFC] Only do CheckConstant checks for global pointers (#113786)
We can check isStatic() early here and save ourselves some work.
Commit: 7b88e7530d4329ff0c7c8638f69b39fa1e540218
https://github.com/llvm/llvm-project/commit/7b88e7530d4329ff0c7c8638f69b39fa1e540218
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode][NFC] Make CheckVolatile static (#113785)
Commit: 60d2feded5c0f55b21d042ee2f35227847d66ee0
https://github.com/llvm/llvm-project/commit/60d2feded5c0f55b21d042ee2f35227847d66ee0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
[ARM] Remove a redundant call to StringRef::slice (NFC) (#113783)
OptStr.slice(0, OptStr.size()) is exactly the same as OptStr.
Commit: d2e9532fe12dc2568f40c2648ff4bb3730141aed
https://github.com/llvm/llvm-project/commit/d2e9532fe12dc2568f40c2648ff4bb3730141aed
Author: Eirik Byrkjeflot Anonsen <eirik at eirikba.org>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
Log Message:
-----------
[DemoteRegToStack] Use correct variable for branch instructions in DemoteRegToStack (#113798)
I happened to see this code, and it seems "obviously" wrong to me. So
here's what I think this code is supposed to look like.
Commit: 45c84d59c454ba2b57affcd09a74f8d91e93bff7
https://github.com/llvm/llvm-project/commit/45c84d59c454ba2b57affcd09a74f8d91e93bff7
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/assert/assert.h
Log Message:
-----------
[libc] Add `__builtin_expect` tag on assert conditions; NFC (#99498)
Commit: 5287a9b3456fe7aefa24c8da95ef265b8dba875b
https://github.com/llvm/llvm-project/commit/5287a9b3456fe7aefa24c8da95ef265b8dba875b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Support/IndentedOstream.h
M mlir/lib/Query/QueryParser.cpp
Log Message:
-----------
[mlir] Prefer StringRef::substr to slice (NFC) (#113788)
I'm planning to migrate StringRef to std::string_view
eventually. Since std::string_view does not have slice, this patch
migrates:
slice(0, N) to substr(0, N)
slice(N, StringRef::npos) to substr(N)
Commit: 7fe149cdf09d04fb8390b97c91bd9214c968cd3e
https://github.com/llvm/llvm-project/commit/7fe149cdf09d04fb8390b97c91bd9214c968cd3e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Replace getIRBasicBlock with IRBB in VPIRBB::execute (NFC).
Suggested in https://github.com/llvm/llvm-project/pull/109975. This
makes the function consistent throughout.
Commit: e33aec89ef1378d80e8df2e965ac5e6e6aa2e3de
https://github.com/llvm/llvm-project/commit/e33aec89ef1378d80e8df2e965ac5e6e6aa2e3de
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Update the elect.sync Op to use intrinsics (#113757)
Recently, we added an intrinsic for the elect.sync PTX instruction (PR
104780). This patch updates the corresponding Op in NVVM Dialect
to lower to the intrinsic instead of inline-ptx.
The existing test under Conversion/ is migrated to check for the new
pattern. A separate test is added to verify the lowered intrinsic under
the Target/ directory.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: eef3766ae5a39fea6f7f81ac444f878969743d85
https://github.com/llvm/llvm-project/commit/eef3766ae5a39fea6f7f81ac444f878969743d85
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/default-none.f90
Log Message:
-----------
Assumed-size arrays are shared and cannot be privatized (#112963)
Do not error out if default(none) is specified and the region has an
assumed-size array.
Fixes #110442
Commit: 5621929f7f4878c318deecb592cd03f5ecbb83ba
https://github.com/llvm/llvm-project/commit/5621929f7f4878c318deecb592cd03f5ecbb83ba
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Parser/OpenMP/taskloop.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][OpenMP] Add parser support for grainsize and num_tasks clause (#113136)
These clauses are applicable only for the taskloop directive. Since the
directive has a TODO error, skipping the addition of TODOs for these
clauses.
Commit: 7b3da7b3b2b0e2f322dddf1f343571cc7fd09b09
https://github.com/llvm/llvm-project/commit/7b3da7b3b2b0e2f322dddf1f343571cc7fd09b09
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/sve-integer.ll
Log Message:
-----------
[GlobalISel][AArch64] Legalize G_ADD, G_SUB, G_AND, G_OR, and G_XOR for SVE (#110561)
Credits: https://github.com/llvm/llvm-project/pull/72976
LLVM ERROR: cannot select: %3:zpr(<vscale x 2 x s64>) = G_MUL %0:fpr,
%1:fpr (in function: xmulnxv2i64)
;; mul
define void @xmulnxv2i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b,
ptr %p) {
entry:
%c = mul <vscale x 2 x i64> %a, %b
store <vscale x 2 x i64> %c, ptr %p, align 16
ret void
}
define void @mulnxv4i32(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b,
ptr %p) {
entry:
%c = mul <vscale x 4 x i32> %a, %b
store <vscale x 4 x i32> %c, ptr %p, align 16
ret void
}
define void @mulnxv8i16(<vscale x 8 x i16> %a, <vscale x 8 x i16> %b,
ptr %p) {
entry:
%c = mul <vscale x 8 x i16> %a, %b
store <vscale x 8 x i16> %c, ptr %p, align 16
ret void
}
define void @mulnxv16i8(<vscale x 16 x i8> %a, <vscale x 16 x i8> %b,
ptr %p) {
entry:
%c = mul <vscale x 16 x i8> %a, %b
store <vscale x 16 x i8> %c, ptr %p, align 16
ret void
}
Commit: fb33af08e4c105a05855f8beeb972d493410e72f
https://github.com/llvm/llvm-project/commit/fb33af08e4c105a05855f8beeb972d493410e72f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
Log Message:
-----------
[NVPTX] Remove nvvm.ldg.global.* intrinsics (#112834)
Remove these intrinsics which can be better represented by load
instructions with `!invariant.load` metadata:
- llvm.nvvm.ldg.global.i
- llvm.nvvm.ldg.global.f
- llvm.nvvm.ldg.global.p
Commit: 1fe8e7838bb5118b9e48fa15fa21a4638bae8ae1
https://github.com/llvm/llvm-project/commit/1fe8e7838bb5118b9e48fa15fa21a4638bae8ae1
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
Log Message:
-----------
[X86] Rename the x86-asm-syntax variable. NFC
Follow-up to #109360. x86-asm-syntax is for input instead of output.
Commit: 40fffba9b29141d598bf36cdc4bb886e97143d06
https://github.com/llvm/llvm-project/commit/40fffba9b29141d598bf36cdc4bb886e97143d06
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
Log Message:
-----------
[X86][AVX10.2] Fix wrong predicates for BF16 feature (#113800)
Since AVX10.2, we need to enable 128/256-bit vector by default and check
for 512 feature for 512-bit vector.
Commit: 7ad63c0e44ef277591497a176991e7723165611e
https://github.com/llvm/llvm-project/commit/7ad63c0e44ef277591497a176991e7723165611e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/test/Conversion/MathToFuncs/ctlz.mlir
M mlir/test/Conversion/MathToFuncs/ipowi.mlir
Log Message:
-----------
[mlir][MathToFuncs] `MathToFuncs` only support integer type (#113693)
This PR fixes a bug in `MathToFuncs` where it incorrectly converts index
type for `math.ctlz` and `math.ipowi`, leading to a crash. Fixes
#108150.
Commit: 39ac64c1c0fc61a476aa22c53e6977608ead03cf
https://github.com/llvm/llvm-project/commit/39ac64c1c0fc61a476aa22c53e6977608ead03cf
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][Arith] ValueBoundsInterface: speedup arith.select (#113531)
When calculating value bounds in the arith.select op , the compare
function is invoked to compare trueValue and falseValue. This function
rebuilds constraints, resulting in repeated computations of value
bounds.
In large-scale programs, this redundancy significantly impacts
compilation time.
Commit: 5aa1275d03b679f45f47f29f206292f663afed83
https://github.com/llvm/llvm-project/commit/5aa1275d03b679f45f47f29f206292f663afed83
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/immintrin.h
A clang/lib/Headers/sm4evexintrin.h
A clang/test/CodeGen/X86/sm4-evex-builtins.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
A llvm/test/CodeGen/X86/sm4-evex-intrinsics.ll
A llvm/test/MC/Disassembler/X86/sm4-evex-32.txt
A llvm/test/MC/Disassembler/X86/sm4-evex-64.txt
A llvm/test/MC/X86/sm4-evex-32-att.s
A llvm/test/MC/X86/sm4-evex-32-intel.s
A llvm/test/MC/X86/sm4-evex-64-att.s
A llvm/test/MC/X86/sm4-evex-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Support SM4 EVEX version intrinsics/instructions. (#113402)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: a1d31caa8c53082d12f580122dcf2b2ff8285e78
https://github.com/llvm/llvm-project/commit/a1d31caa8c53082d12f580122dcf2b2ff8285e78
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-28 (Mon, 28 Oct 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.c
Log Message:
-----------
[clang-tidy] fix false positive for implicit conversion of comparison result in C23 (#113639)
Fixed #111013
bool will be builtin type in C23 but comparison result in C is still
int.
It is no need to change this kind of implicit cast to explicit cast.
Commit: c876d719ef5b10128eca6d8677068248b4831017
https://github.com/llvm/llvm-project/commit/c876d719ef5b10128eca6d8677068248b4831017
Author: antangelo <contact at antangelo.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Sema/SemaInternal.h
Log Message:
-----------
[clang][NFC] Accept const NamedDecl pointer for getDepthAndIndex (#113857)
Commit: 99b2feadcc770ea52f71dda6cf027373a6931c6c
https://github.com/llvm/llvm-project/commit/99b2feadcc770ea52f71dda6cf027373a6931c6c
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
Log Message:
-----------
[libc++] <experimental/simd> temporarily mark XFAIL for the armv7-unknown-linux-gnueabihf with simd unary test to pass the CI (#113641)
Commit: d3f70db51cbc0876937d404e96fbda04df793bd4
https://github.com/llvm/llvm-project/commit/d3f70db51cbc0876937d404e96fbda04df793bd4
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/X86/X86InstrSystem.td
A llvm/test/MC/Disassembler/X86/apx/msr-imm.txt
A llvm/test/MC/Disassembler/X86/msrimm-64.txt
A llvm/test/MC/X86/apx/msrimm-att.s
A llvm/test/MC/X86/apx/msrimm-intel.s
A llvm/test/MC/X86/msrimm-64-att.s
A llvm/test/MC/X86/msrimm-64-intel.s
Log Message:
-----------
[X86][MC] Support instructions of MSR_IMM (#113524)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: 5d4a0d54b5269bad1410e6db957836fe98634069
https://github.com/llvm/llvm-project/commit/5d4a0d54b5269bad1410e6db957836fe98634069
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/shift.ll
Log Message:
-----------
[InstCombine] Teach takeLog2 about right shifts, truncation and bitwise-and
We left some easy opportunities for further simplifications.
log2(trunc(x)) is simply trunc(log2(x)). This is safe if we know that
trunc is NUW because it means that the truncation didn't drop any bits.
It is also safe if the caller is OK with zero as a possible answer.
log2(x >>u y) is simply `log2(x) - y`.
log2(x & y) is a funny one. It comes up when doing something like:
```
unsigned int f(unsigned int x, unsigned int y) {
unsigned char a = 1u << x;
return y / a;
}
```
LLVM would canonicalize this to:
```
%shl = shl nuw i32 1, %x
%conv1 = and i32 %shl, 255
%div = udiv i32 %y, %conv1
```
In cases like these, we can ignore the mask entirely.
This is equivalent to `y >> x`.
Commit: 819abe412dd554303cb932d6ec2200b9b9ebdd78
https://github.com/llvm/llvm-project/commit/819abe412dd554303cb932d6ec2200b9b9ebdd78
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/ARM/fp-intrinsics.ll
M llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/X86/bfloat-constrained.ll
M llvm/test/CodeGen/X86/float-strict-powi-convert.ll
M llvm/test/Transforms/EarlyCSE/defaultfp-strictfp.ll
M llvm/test/Transforms/EarlyCSE/ebstrict-strictfp.ll
M llvm/test/Transforms/EarlyCSE/mixed-strictfp.ll
M llvm/test/Transforms/EarlyCSE/nonmixed-strictfp.ll
M llvm/test/Transforms/SCCP/strictfp-phis-fcmp.ll
M llvm/test/Transforms/SCCP/strictfp-phis-fcmps.ll
Log Message:
-----------
[Test] Fix usage of constrained intrinsics (#113523)
Some tests contain errors in constrained intrinsic usage, such as missed
or extra type parameters, wrong type parameters order and some other.
---------
Co-authored-by: Andy Kaylor <andy_kaylor at yahoo.com>
Commit: 5155c38ceef019f3225c5eaeba6b986e2430752f
https://github.com/llvm/llvm-project/commit/5155c38ceef019f3225c5eaeba6b986e2430752f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/pr105510.ll
Log Message:
-----------
[InstCombine] Don't check uses of constant exprs (#113684)
This patch skips constant expressions to avoid iterating over uses on
other functions.
Fix crash reported in
https://github.com/llvm/llvm-project/pull/105510#issuecomment-2437521147.
Commit: fd85761208b4fe0569e3fde0d11297f7dcd0e48e
https://github.com/llvm/llvm-project/commit/fd85761208b4fe0569e3fde0d11297f7dcd0e48e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avxneconvert-intrinsics.ll
Log Message:
-----------
[X86][BF16] Customize VSELECT for BF16 under AVX-NECONVERT (#113322)
Fixes: https://godbolt.org/z/9abGnE8zs
Commit: e7f422d5c2ea05704eaab2cdd67a8b1ebc55e95b
https://github.com/llvm/llvm-project/commit/e7f422d5c2ea05704eaab2cdd67a8b1ebc55e95b
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Add clang::lifetimebound annotation to ArrayRef constructors. (#113547)
This enables clang to detect more dangling issues.
```
ArrayRef<int> func() {
constexpr int array[] = {...}; // oops, missing the static
return array; // return a dangling reference, bomb.
}
```
See #113533.
Commit: 35f6cc6af09f48f9038fce632815a2ad6ffe8689
https://github.com/llvm/llvm-project/commit/35f6cc6af09f48f9038fce632815a2ad6ffe8689
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add the Sha extension (#113820)
This was introduced in the now-ratified RVA23 profile (and also added to
the RVA22 text) as a simple way of referring to H plus the set of
supervisor extensions required by RVA23.
https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
This patch simply defines the extension. The next patch will adjust the
RVA23 profile to use it, and at that point I think we will be ready to
mark RVA23 as non-experimental.
Note that I haven't made it so if you enable all extensions that
constitute Sha, Sha is implied. Per #76893 (adding 'B'), the concern is
making this implication might break older external assemblers. Perhaps
this is less of a concern given the relative frequency of
`-march=${foo}_zba_zbb_zbs` vs the collection of H extensions. If we did
want to add that implication, we'd probably want to add it in a separate
patch so it can be easily reverted if found to cause problems.
Commit: a4fd3dba6e285734bc635b0651a30dfeffedeada
https://github.com/llvm/llvm-project/commit/a4fd3dba6e285734bc635b0651a30dfeffedeada
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
A llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
Log Message:
-----------
[AMDGPU] Use wider loop lowering type for LowerMemIntrinsics (#112332)
When llvm.memcpy or llvm.memmove intrinsics are lowered as a loop in
LowerMemIntrinsics.cpp, the loop consists of a single load/store pair
per iteration. We can improve performance in some cases by emitting
multiple load/store pairs per iteration. This patch achieves that by
increasing the width of the loop lowering type in the GCN target and
letting legalization split the resulting too-wide access pairs into
multiple legal access pairs.
This change only affects lowered memcpys and memmoves with large (>=
1024 bytes) constant lengths. Smaller constant lengths are handled by
ISel directly; non-constant lengths would be slowed down by this change
if the dynamic length was smaller or slightly larger than what an
unrolled iteration copies.
The chosen default unroll factor is the result of microbenchmarks on
gfx1030. This change leads to speedups of 15-38% for global memory and
1.9-5.8x for scratch in these microbenchmarks.
Part of SWDEV-455845.
Commit: 86f76c3b171f95fd0560339f2ad0f4449277cf8d
https://github.com/llvm/llvm-project/commit/86f76c3b171f95fd0560339f2ad0f4449277cf8d
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/dwarf2.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
M llvm/test/MC/AArch64/directives-case_insensitive.s
A llvm/test/MC/AArch64/negate_ra_state_with_pc.s
M llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
Log Message:
-----------
[AArch64][Libunwind] Add Support for FEAT_PAuthLR DWARF Instruction (#112171)
As part of FEAT_PAuthLR, a new DWARF Frame Instruction was introduced,
`DW_CFA_AARCH64_negate_ra_state_with_pc`. This instructs Libunwind that
the PC has been used with the signing instruction. This change includes
three commits
- Libunwind support for the newly introduced DWARF Instruction
- CodeGen Support for the DWARF Instructions
- Reversing the changes made in #96377. Due to
`DW_CFA_AARCH64_negate_ra_state_with_pc`'s requirements to be placed
immediately after the signing instruction, this would mean the CFI
Instruction location was not consistent with the generated location when
not using FEAT_PAuthLR. The commit reverses the changes and makes the
location consistent across the different branch protection options.
While this does have a code size effect, this is a negligible one.
For the ABI information, see here:
https://github.com/ARM-software/abi-aa/blob/853286c7ab66048e4b819682ce17f567b77a0291/aadwarf64/aadwarf64.rst#id23
Commit: d7ca703eab7997814de425eaa4fd888563d78831
https://github.com/llvm/llvm-project/commit/d7ca703eab7997814de425eaa4fd888563d78831
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Add explicit symbol visibility macros to InstrProfData.inc (#110732)
Add explicit symbol visibility macros to InstrProfData.inc
Annotating these symbols will fix missing symbols for InstrProfTest when
using shared library builds on windows with explicit visibility macros
enabled.
Add a empty fallback definition for LLVM_ABI macro so the code works in
compiler-rt.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and plugins on
window.
```
llvm\lld-link : error : undefined symbol: public: void ValueProfData::deserializeTo(InstrProfRecord&, InstrProfSymtab*)
>>> referenced by unittests\ProfileData\InstrProfTest.cpp:1372 void ValueProfileReadWriteTest_value_prof_data_read_write_Test::TestBody()
```
Commit: 14171b0b13534e10ac57d13d072970616e17391b
https://github.com/llvm/llvm-project/commit/14171b0b13534e10ac57d13d072970616e17391b
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Remarks/HotnessThresholdParser.h
Log Message:
-----------
[Remarks] Fix missing include in HotnessThresholdParser for Expected (#113755)
The use of Expected<> requires llvm/Support/Error.h to be included.
Commit: 3d6923dbac16741736a841abee05f35bf7b0379a
https://github.com/llvm/llvm-project/commit/3d6923dbac16741736a841abee05f35bf7b0379a
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_algorithm
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_c++config.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_initializer_list
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_iterator_base
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_stl_pair
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_type_traits
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_vector
A clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
R clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
R clang/test/Analysis/ptr-iter.cpp
R clang/test/Analysis/ptr-sort.cpp
Log Message:
-----------
RFC: [clang-tidy] [analyzer] Move nondeterministic pointer usage check to tidy (#110471)
This change moves the `alpha.nondeterministic.PointerSorting` and
`alpha.nondeterministic.PointerIteration` static analyzer checkers to a
single `clang-tidy` check. Those checkers were implemented as simple
`clang-tidy` check-like code, wrapped in the static analyzer framework.
The documentation was updated to describe what the checks can and cannot
do, and testing was completed on a broad set of open-source projects.
Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>
Commit: f6b513a7857cbcdb7df93079916e6bb8a00bd0b8
https://github.com/llvm/llvm-project/commit/f6b513a7857cbcdb7df93079916e6bb8a00bd0b8
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Revert "Add explicit symbol visibility macros to InstrProfData.inc (#110732)"
This reverts commit d7ca703eab7997814de425eaa4fd888563d78831 in llvm/llvm-project#110732
Commit: dff114b3565e4c981fcb40f24f72a0cb426294fe
https://github.com/llvm/llvm-project/commit/dff114b3565e4c981fcb40f24f72a0cb426294fe
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/test/CodeGen/Thumb2/bti-pac-replace-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-basic.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-frame-chain.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-3.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-overalign.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-stack-arg.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-1.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
Log Message:
-----------
[ARM] Optimise non-ABI frame pointers (#110286)
With -fomit-frame-pointer, even if we set up a frame pointer for other
reasons (e.g. variable-sized or over-aligned stack allocations), we
don't need to create an ABI-compliant frame record. This means that we
can save all of the general-purpose registers in one push, instead of
splitting it to ensure that the frame pointer and link register are
adjacent on the stack, saving two instructions per function.
Commit: 933a56674e75ed372e000758378b7981e5b4d387
https://github.com/llvm/llvm-project/commit/933a56674e75ed372e000758378b7981e5b4d387
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
[PAuthLR] Add Missing Break Statement for MachineOperand Switch Statement (#113883)
There was a missing break, which led to an unannotated fallthrough when
merging #112171. This has caused sanitizer builds to fail.
This adds the missing break in the switch statement to ensure that the
fallthrough does not occur.
Commit: 43a5719d9f54fb482d523a6e313d9b9b9af82379
https://github.com/llvm/llvm-project/commit/43a5719d9f54fb482d523a6e313d9b9b9af82379
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Use Sha extension in RVA23S64 profile (#113823)
In the ratified version of the RVA23S64 definition, the Sha extension is
now used to group together the set of hypervisor related extensions.
<https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc>
Commit: 96f5c683500eb2d7f7c3984e3a056315c50c4662
https://github.com/llvm/llvm-project/commit/96f5c683500eb2d7f7c3984e3a056315c50c4662
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compress-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-compress.ll
Log Message:
-----------
[RISCV] Lower @llvm.experimental.vector.compress for zvfhmin/zvfbfmin (#113770)
This is a follow up to #113291 and handles f16/bf16 with zvfhmin and
zvfbmin.
Commit: fa4790e404843cff4370cf259b93e51e8341469d
https://github.com/llvm/llvm-project/commit/fa4790e404843cff4370cf259b93e51e8341469d
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU][MC] Fix disassembler for VIMAGE when non-first vaddr is v0 (#113569)
For disassembler tables we use *V1_V4* variants for VIMAGE and then
remove unused vaddr fields. *V1_V1* variant, which has every vaddr
field other than vaddr0 set to 0, was also enabled and caused confusion
when decoding cases which used v0 (whose encoded value is 0)
Commit: f78610af3feb88f0e1edb2482dc77490fb4cad77
https://github.com/llvm/llvm-project/commit/f78610af3feb88f0e1edb2482dc77490fb4cad77
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/ValueTracking/numsignbits-from-assume.ll
M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/constant-fold-iteration.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
M llvm/test/Transforms/InstCombine/pr55228.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_instruction.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
Log Message:
-----------
[InstCombine] Add function attribute `instcombine-no-verify-fixpoint` (#113822)
This patch introduces a function attribute
`instcombine-no-verify-fixpoint` to avoids disabling fix-point
verification for unrelated tests in the same file.
Address comment
https://github.com/llvm/llvm-project/pull/112642#discussion_r1804714387.
Commit: 09c258ef6a2fcca2161488b214d53ef39891fa22
https://github.com/llvm/llvm-project/commit/09c258ef6a2fcca2161488b214d53ef39891fa22
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/FifoFiles.cpp
M lldb/tools/lldb-dap/FifoFiles.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/IOStream.cpp
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/RunInTerminal.cpp
M lldb/tools/lldb-dap/RunInTerminal.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[NFC][lldb-dap] Clean-up includes (#113839)
This commit cleans up the includes in the `lldb-dap` subfolder. The main
motivation was that I got annoyed by `clangd` always complaining about
unused includes while working on lldb-dap.
Commit: e6fcf349eff5be326e1923567646edf99f69d297
https://github.com/llvm/llvm-project/commit/e6fcf349eff5be326e1923567646edf99f69d297
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
Log Message:
-----------
[clang-tidy] Remove unused variable (NFC)
/llvm-project/clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp:60:29:
error: unused variable 'AlgoName' [-Werror,-Wunused-variable]
const llvm::StringRef AlgoName = ClassTemplate->getName();
^
1 error generated.
Commit: f5d8a485e216996b076369b4d66c41a70fe34ea4
https://github.com/llvm/llvm-project/commit/f5d8a485e216996b076369b4d66c41a70fe34ea4
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/docs/UserGuides.rst
Log Message:
-----------
[RISCV] Fix typo in UserGuides.rst. NFC (#113861)
Commit: 09160a98218e7f1038e06c5d8e704a826ed0ae13
https://github.com/llvm/llvm-project/commit/09160a98218e7f1038e06c5d8e704a826ed0ae13
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[SystemZ] Silence compiler warning (#113894)
Use SystemZ::NoRegister instead of 0 in
SystemZTargetLowering::getRegisterByName().
Commit: 64148944c56f50a50383c79d5b6d074d8608f2a4
https://github.com/llvm/llvm-project/commit/64148944c56f50a50383c79d5b6d074d8608f2a4
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE2/sqabs-diagnostics.s
M llvm/test/MC/AArch64/SVE2/sqneg-diagnostics.s
M llvm/test/MC/AArch64/SVE2/urecpe-diagnostics.s
M llvm/test/MC/AArch64/SVE2/ursqrte-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqabs_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqabs_z.s
A llvm/test/MC/AArch64/SVE2p2/sqneg_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqneg_z.s
A llvm/test/MC/AArch64/SVE2p2/urecpe_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/urecpe_z.s
A llvm/test/MC/AArch64/SVE2p2/ursqrte_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/ursqrte_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for zeroing SVE2 integer instructions (#113473)
This patch adds assembly/disassembly for the following SVE2.2
instructions
- SQABS (zeroing)
- SQNEG (zeroing)
- URECPE (zeroing)
- USQRTE (zeroing)
- Refactor the existing merging forms to remove the now redundant bit 17
argument.
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: f5ff3a560fe247206814792a7f8efef8215f7689
https://github.com/llvm/llvm-project/commit/f5ff3a560fe247206814792a7f8efef8215f7689
Author: Discookie <viktor.cseh at ericsson.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
Log Message:
-----------
[clang-tidy] Do not emit file path for anonymous enums in `readability-enum-initial-value` check (#112496)
Previously the name of anonymous enums in the check were `enum 'enum
(unnamed at /full/path/to/file.c:1:1)'`, which breaks reproducibility of
clang-tidy reports when the analyzed project is in a different folder.
Commit: 1df5c943439b050dbc34e7a1c88c4d8ec90d26b5
https://github.com/llvm/llvm-project/commit/1df5c943439b050dbc34e7a1c88c4d8ec90d26b5
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/test/CodeGen/aarch64-fpm-helpers.c
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[AArch64] Implement FP8 floating-point mode helper intrinsics (#100608)
Implement FP8 mode helper intrinsics (as inline functions) as
specified in ACLE 2024Q3 "14.2 Helper intrinsics"
https://github.com/ARM-software/acle/releases/download/r2024Q3/acle-2024Q3.pdf
Commit: 0cbccb13d6757b0ea7f2a7f29bb598e1935bcf37
https://github.com/llvm/llvm-project/commit/0cbccb13d6757b0ea7f2a7f29bb598e1935bcf37
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/rvv/remat.ll
Log Message:
-----------
[RISCV] Remove support for pre-RA vsetvli insertion (#110796)
Now that LLVM 19.1.0 has been out for a while with post-vector-RA
vsetvli insertion enabled by default, this proposes to remove the flag
that restores the old pre-RA behaviour so we only have one configuration
going forward.
That flag was mainly meant as a fallback in case users ran into issues,
but I haven't seen anything reported so far.
Commit: d6d4569dd90261bc8cdb3d1c3c2204cde1fe566f
https://github.com/llvm/llvm-project/commit/d6d4569dd90261bc8cdb3d1c3c2204cde1fe566f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warnings. NFC.
Commit: 056cf936a730a72db7ad9da8b475814c6bbe03b7
https://github.com/llvm/llvm-project/commit/056cf936a730a72db7ad9da8b475814c6bbe03b7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/andnot-patterns.ll
Log Message:
-----------
[DAG] Fold (and X, (bswap/bitreverse (not Y))) -> (and X, (not (bswap/bitreverse Y))) (#112547)
On ANDNOT capable targets we can always do this profitably, without ANDNOT we only attempt this if we don't introduce an additional NOT
Fixes #112425
Commit: 75c75fc16e8a202668cfa71404724117b22336b9
https://github.com/llvm/llvm-project/commit/75c75fc16e8a202668cfa71404724117b22336b9
Author: dong-miao <601183878 at qq.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV]Add svvptc extension (#113882)
Commit: 233e64d8e4211e6c3c94a986c28f9993da2b8de0
https://github.com/llvm/llvm-project/commit/233e64d8e4211e6c3c94a986c28f9993da2b8de0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 0be1883c36fc
Commit: cbaecb5d299c48ea23319704445c1ee8405f4c04
https://github.com/llvm/llvm-project/commit/cbaecb5d299c48ea23319704445c1ee8405f4c04
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 3d6923dbac16
Commit: 595ec4e4be7de4258dd346e606b4a03a5eb0ce8a
https://github.com/llvm/llvm-project/commit/595ec4e4be7de4258dd346e606b4a03a5eb0ce8a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 5aa1275d03b6
Commit: 2a4bab3fac64833321287d9ba17dcad5255d0ab4
https://github.com/llvm/llvm-project/commit/2a4bab3fac64833321287d9ba17dcad5255d0ab4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port cfde4fbccf5d
Commit: 1164bd774783f33419e56cf10fdb87fbeab2b185
https://github.com/llvm/llvm-project/commit/1164bd774783f33419e56cf10fdb87fbeab2b185
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port e146c1867e8d
Commit: ba7555e640ea7fe341e19e0c1fffe5960b7c0d5b
https://github.com/llvm/llvm-project/commit/ba7555e640ea7fe341e19e0c1fffe5960b7c0d5b
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark the RVA23S64 and RVA23U64 profiles as non-experimental (#113826)
All of the extensions used by these profile are themselves
non-experimental, and RVA23 was just ratified
<https://riscv.org/announcements/2024/10/risc-v-announces-ratification-of-the-rva23-profile-standard/>.
<https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc>
We lack a way of expressing `Ss1p13` (supervisor architecture 1.13), but
this is a problem we have for RVA22 (Ss1p12) and RVA20 (Ss1p11) so I
don't feel it's a blocker.
Commit: ddd463be7edc3f3d03a6e88917fff66ef84210e9
https://github.com/llvm/llvm-project/commit/ddd463be7edc3f3d03a6e88917fff66ef84210e9
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
Log Message:
-----------
[AArch64] Add getStreamingHazardSize() to AArch64Subtarget (#113679)
This is defined by the `-aarch64-streaming-hazard-size` option or its
alias `-aarch64-stack-hazard-size` (the original name). It has been
renamed to be more general as this option will (for the time being) be
used to detect if the current target has streaming mode memory hazards.
---------
Co-authored-by: Hari Limaye <hari.limaye at arm.com>
Commit: 9090430d4176fa260b8da46b7b983b3760d452be
https://github.com/llvm/llvm-project/commit/9090430d4176fa260b8da46b7b983b3760d452be
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
Add clang::lifetimebound annotation to StringRef constructors. (#113878)
Adding the lifetimebound annotation to the ArrayRef's array constructor
can enable us to detect the following use-after-free issues:
```
llvm::StringRef TestZoneName() {
char test[] = "foo"; // oops, missing static
return test; // use-after-free.
}
```
See #113533
Commit: b1ede8fcb45d91092f5afe6c88d7a548f14ed848
https://github.com/llvm/llvm-project/commit/b1ede8fcb45d91092f5afe6c88d7a548f14ed848
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[reland][libc][bazel] Enable software prefetching for memcpy (#113886)
This will affect only Bazel configuration for now.
This is a reland of #108939 which has been reverted because of codegen
issues fixed by https://github.com/llvm/llvm-project/pull/113161.
Commit: ce0368eb8417f2d369499bb98b1f0ccbe2219598
https://github.com/llvm/llvm-project/commit/ce0368eb8417f2d369499bb98b1f0ccbe2219598
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p1/pmlal-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmlal.s
A llvm/test/MC/AArch64/SVE2p1/pmull-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmull.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for PMLAL/PMULL instructions (#113564)
This patch adds assembly/disassembly for the following SVE_AES2
instructions
- PMLAL
- PMULL
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: 7152bf3bc805b8d9b1873058ab0a084d7b6079d6
https://github.com/llvm/llvm-project/commit/7152bf3bc805b8d9b1873058ab0a084d7b6079d6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLP]Do not create new vector node if scalars fully overlap with the existing one
If the list of scalars vectorized as the part of the same vector node,
no need to generate vector node again, it will be handled as part of
overlapping matching.
Fixes #113810
Commit: d4c41804175e9cb37266c410cafe9caaac1819ca
https://github.com/llvm/llvm-project/commit/d4c41804175e9cb37266c410cafe9caaac1819ca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/cuda-cross-compiling.c
Log Message:
-----------
[Clang] Add a flag to include GPU startup files (#112025)
Summary:
The C library for GPUs provides the ability to target regular C/C++
programs by providing the C library and a file containing kernels that
call the `main` function. This is mostly used for unit tests, this patch
provides a quick way to add them without needing to know the paths. I
currently do this explicitly, but according to the libc++ contributors
we don't want to need to specify these paths manually. See the
discussion in https://github.com/llvm/llvm-project/pull/104515.
I just default to `lib/` if the target-specific one isn't found because
the linker will handle giving a reasonable error message if it's not
found. Basically the use-case looks like this.
```console
$ clang test.c --target=amdgcn-amd-amdhsa -mcpu=native -startfiles -stdlib
$ amdhsa-loader a.out
PASS!
```
Commit: 42eb54b7743df421af10ebe14b67bb79b46ecabb
https://github.com/llvm/llvm-project/commit/42eb54b7743df421af10ebe14b67bb79b46ecabb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/CodeGenCUDA/offloading-entries.cu
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Clang] Put offloading globals in the `.llvm.rodata.offloading` section (#111890)
Summary:
For our offloading entries, we currently store all the string names of
kernels that the runtime will need to load from the target executable.
These are available via pointer in the `__tgt_offload_entry` struct,
however this makes it difficult to obtain from the object itself. This
patch simply puts the strings in a named section so they can be easily
queried.
The motivation behind this is that when the linker wrapper is doing
linking, it wants to know which kernels the host executable is calling.
We *could* get this already via the `.relaomp_offloading_entires`
section and trawling through the string table, but that's quite annoying
and not portable. The follow-up to this should be to make the linker
wrapper get a list of all used symbols the device link job should count
as "needed" so we can handle static linking more directly.
Commit: bd6ab32e6eb642f2b0b15be8c7c2a668192f07d8
https://github.com/llvm/llvm-project/commit/bd6ab32e6eb642f2b0b15be8c7c2a668192f07d8
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/components.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
Revert "[flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv" (#113901)
Reverts llvm/llvm-project#110063 due to the performance regression on
503.bwaves_r in SPEC2017.
Commit: 1f6741c1645954b1f4b2fbca470a20081f5e75af
https://github.com/llvm/llvm-project/commit/1f6741c1645954b1f4b2fbca470a20081f5e75af
Author: Jan Voung <jvoung at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Don't clear cached field state if field is const (#113698)
... in the unchecked optional access model.
Commit: d83485a080341688cbb9d5c07a3839bd97f9001e
https://github.com/llvm/llvm-project/commit/d83485a080341688cbb9d5c07a3839bd97f9001e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/test/CXX/drs/cwg1884.cpp
M clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg279.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Add test for CWG issues about linkage in cross-TU context (#113736)
[CWG279](https://cplusplus.github.io/CWG/issues/279.html) Correspondence
of "names for linkage purposes"
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
In both cases discussed in the issue, declaration matching succeeds per
[[basic.link]/8](https://eel.is/c++draft/basic.link#8), thanks to the
> considering declarations of unnamed types to introduce their names for
linkage purposes, if any ([dcl.typedef], [dcl.enum])
and
> they both declare names with external linkage
parts. Which means that both pairs of declarations of `S` and `S2`
declare the same entity.
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) is also
satisfied, because in all cases type is declared.
Then cases diverge. `S` is a pair of a forward declaration and a
definition, which means it's not a subject to
[[basic.def.odr]/15](https://eel.is/c++draft/basic.def.odr#15), hence
it's well-formed. Whereas `S2` is a pair of two definitions, so they are
subjects to
[[basic.def.odr]/15](https://eel.is/c++draft/basic.def.odr#15), which
they do not satisfy due to the violation of the following requirement:
> — Each such definition shall consist of the same sequence of tokens,
<...>
Because per [[class.pre/2]](https://eel.is/c++draft/class#pre-2), class
definition is class-specifier, which includes class-head, but class-head
is different between definitions.
[CWG338](https://cplusplus.github.io/CWG/issues/338.html) Enumerator
name with linkage used as class name in other translation unit
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
I believe this CWG issue points to the same underlying issue with old
[basic.link]/9 as CWG1884 (see below), so I'm calling it a duplicate of
CWG1884. Cases described there are a part of an extensive CWG1884 test.
Also worth noting that enumerators don't have linkage these days.
[CWG1884](https://cplusplus.github.io/CWG/issues/1898.html) Unclear
requirements for same-named external-linkage entities
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
[basic.link]/9 quoted in the issue is now split into several pieces.
> Two names that are the same (6.1 [basic.pre])
I believe this is corresponding declarations now, defined in
[[basic.scope.scope]/4](https://eel.is/c++draft/basic.scope#scope-4).
> and that are declared in different scopes shall denote the same
variable, function, type, enumerator, template or namespace if
This is covered by
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) after it's
determined by [[basic.link]/8](https://eel.is/c++draft/basic.link#8)
that two declarations declare the same entity.
> — both names have external linkage or else both names have internal
linkage and are declared in the same translation unit; and
> — both names refer to members of the same namespace or to members, not
by inheritance, of the same class; and
Most of this is covered by
[[basic.link]/8](https://eel.is/c++draft/basic.link#8).
> — when both names denote functions, the parameter-type-lists of the
functions (9.3.4.6 [dcl.fct]) are identical; and
> — when both names denote function templates, the signatures (13.7.7.2
[temp.over.link]) are the same.
This is corresponding overloads now, defined in
[[basic.scope.scope]/4](https://eel.is/c++draft/basic.scope#scope-4).
> Among other things, it should be clarified that "declared in" refers
to the namespace of which the name is a member, not the lexical scope in
which the declaration appears (which affects friend declarations,
block-scope extern declarations, and elaborated-type-specifiers).
This is addressed by "have the same target scope" part of
[[basic.link]/8](https://eel.is/c++draft/basic.link#8).
The tests basically test
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) from the
following standpoint:
> The intent is that this rule prevents declaring a name with extenal
linkage to be, for instance, a type in one translation unit and a
namespace in a different translation unit.
See the comment in the beginning of the test for details on testing
approach. Reviewers are advised to check compiler output for any
surprises, but if they are in a hurry, they can search for `FIXME`,
`OK`, and `#cwg1884` to see the most of irregularities in Clang behavior
across the test (not all of them are incorrect behavior, though).
Commit: 40363d506db8ab3382339dc4463372dcfcf931b7
https://github.com/llvm/llvm-project/commit/40363d506db8ab3382339dc4463372dcfcf931b7
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[RISCV] Add cost model tests for fp rounding ops for bf16. NFC
Commit: c9f01f699cc55929b18befc0fa34d70630fc9074
https://github.com/llvm/llvm-project/commit/c9f01f699cc55929b18befc0fa34d70630fc9074
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
Log Message:
-----------
[SLP][AArch64][NFC] Add more tests for SLP vectorization of div (#113876)
Currently, we dont have much tests that show SLP outcome for integer
divisions. This patch adds tests for same.
In certain scenarios, for Neon, vectorization is profitable. An attempt
would be made in future to improve the cost-model for the same.
Commit: 3ac75ee8ecbe3bb1d1907adf48731bb6dc2c9918
https://github.com/llvm/llvm-project/commit/3ac75ee8ecbe3bb1d1907adf48731bb6dc2c9918
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.configured.in
M runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[runtimes] Allow building against an installed LLVM tree" (#113920)
Reverts llvm/llvm-project#86209
This patch breaks running tests locally, which is extremely disruptive
to libc++ development.
Commit: 7d1e98c7d34e2f4be1812a2f00f1d0464f29e542
https://github.com/llvm/llvm-project/commit/7d1e98c7d34e2f4be1812a2f00f1d0464f29e542
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll
Log Message:
-----------
[AIX][SystemZ][z/OS] Disable test for AIX, z/OS due to missing DWARF sections (#113910)
This patch disables the testcase for AIX and z/OS due to incomplete
DWARF support.
Commit: 53f7f8eccabd6e3383edfeec312bf8671a89bc66
https://github.com/llvm/llvm-project/commit/53f7f8eccabd6e3383edfeec312bf8671a89bc66
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
A clang/test/CodeGen/aarch64-pure-scalable-args-empty-union.c
A clang/test/CodeGen/aarch64-pure-scalable-args.c
Log Message:
-----------
[Clang][AArch64] Fix Pure Scalables Types argument passing and return (#112747)
Pure Scalable Types are defined in AAPCS64 here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#pure-scalable-types-psts
And should be passed according to Rule C.7 here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#682parameter-passing-rules
This part of the ABI is completely unimplemented in Clang, instead it
treats PSTs sometimes as HFAs/HVAs, sometime as general composite types.
This patch implements the rules for passing PSTs by employing the
`CoerceAndExpand` method and extending it to:
* allow array types in the `coerceToType`; Now only `[N x i8]` are
considered padding.
* allow mismatch between the elements of the `coerceToType` and the
elements of the `unpaddedCoerceToType`; AArch64 uses this to map
fixed-length vector types to SVE vector types.
Corectly passing a PST argument needs a decision in Clang about whether
to pass it in memory or registers or, equivalently, whether to use the
`Indirect` or `Expand/CoerceAndExpand` method. It was considered
relatively harder (or not practically possible) to make that decision in
the AArch64 backend.
Hence this patch implements the register counting from AAPCS64 (cf.
`NSRN`, `NPRN`) to guide the Clang's decision.
Commit: b27acebe63b128feb3bb9c3c62d77f235d2e6a6e
https://github.com/llvm/llvm-project/commit/b27acebe63b128feb3bb9c3c62d77f235d2e6a6e
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3c-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][test] update VOPC/VOPCX test for true16/fake16 (#112829)
This is a non-functional change
update GFX11/GFX12 VOPC/VOPCX asm/dasm test for true16/fake16:
1. duplicate files to be true16/fake16 by adding
"-mattr=+real-true16/-mattr=-real-true16" while true16 test file will be
updated to true16 format when the true16 instructions are supported
2. sort "*t16_err.s" and "*t16_promote.s" tests to alphabetic order.
tests to alphabetic order. This is for the upcoming true16 mc changes,
and mainly trying to help repo maintainer to resolve conflicts in the
tests quickly. A script is proposed to help for the sorting
https://github.com/llvm/llvm-project/pull/111769. Since these two files
are t16 only, it should not create conflicts in downstream branches
3. add `-filetype=null` to seperate stdout and stderr to avoid
disordered output from llvm-mc
Commit: 670512b5c32217e37796fd8d42101ac24cdb4a8d
https://github.com/llvm/llvm-project/commit/670512b5c32217e37796fd8d42101ac24cdb4a8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/srem-lkk.ll
Log Message:
-----------
[AArch64] Regenerate srem-lkk.ll to add missing asm comments
Reduces diff in #112588
Commit: 5ac3f3c45cd4d2934d36565eae7e33a629ff7b22
https://github.com/llvm/llvm-project/commit/5ac3f3c45cd4d2934d36565eae7e33a629ff7b22
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Add DestEEW = EEW1 to VMADC. (#113013)
It was present on VMSBC but not VMADC. Reorder the instructions to avoid
duplicate 'let' statements.
Commit: eb53d08bce52d4503cf38e26bedfcbd0fed9cd3a
https://github.com/llvm/llvm-project/commit/eb53d08bce52d4503cf38e26bedfcbd0fed9cd3a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
Log Message:
-----------
[llvm-exegesis] Add Pfm Counters for SapphireRapids (#113847)
This patch adds the appropriate hookups in X86PfmCounters.td for
SapphireRapids. This is mostly to fix errors when some of my jobs that
only really need dummy counters get scheduled on sapphire rapids
machines, but figured I might as well do it properly while here. I do
not have hardware access to test this currently, but this matches
exactly with what is in the libpfm source code.
Commit: 80f38fbdcfa96316908bb4ac3481d9eac6abf60e
https://github.com/llvm/llvm-project/commit/80f38fbdcfa96316908bb4ac3481d9eac6abf60e
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMapEntry.h
Log Message:
-----------
[clang] [NFC] Deduplicate the logic between StringMapEntry.first() and StringMapEntry.getKey() (#113735)
Commit: 7a710110fcb2ad5d903ec41ba6a63193cf03edc0
https://github.com/llvm/llvm-project/commit/7a710110fcb2ad5d903ec41ba6a63193cf03edc0
Author: Petr Kurapov <petr.a.kurapov at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[MLIR][Vector] Remove unused and unimplemented Vector_WarpExecuteOnLa… (#112338)
…ne0Op builder
Removing the declaration instead of implementing the builder as
discussed in #110106
Commit: 106259510f6a7a3824dd34f78a77ead150dd2154
https://github.com/llvm/llvm-project/commit/106259510f6a7a3824dd34f78a77ead150dd2154
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/MC/AArch64/FP8/fmmla-diagnostics.s
A llvm/test/MC/AArch64/FP8/fmmla.s
A llvm/test/MC/AArch64/armv9.6a-cvtf.s
A llvm/test/MC/AArch64/armv9.6a-fcvt.s
M llvm/test/MC/AArch64/directive-arch-negative.s
M llvm/test/MC/AArch64/directive-arch.s
M llvm/test/MC/AArch64/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/directive-arch_extension.s
M llvm/test/MC/AArch64/directive-cpu.s
M llvm/test/MC/AArch64/neon-diagnostics.s
Log Message:
-----------
[AArch64]Add convert and multiply-add SIMD&FP assembly/disassembly in… (#113296)
…structions
This patch adds the following instructions:
Conversion between floating-point and integer:
FCVT{AS, AU, MS, MU, NS, NU, PS, PU, ZS, ZU}
{S,U}CVTF
Advanced SIMD three-register extension:
FMMLA
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Marian Lukac marian.lukac at arm.com
Co-authored-by: Spencer Abson spencer.abson at arm.com
Commit: ab5d3c9d359d84e454d54e8d91b5c834c42c5a47
https://github.com/llvm/llvm-project/commit/ab5d3c9d359d84e454d54e8d91b5c834c42c5a47
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Assign different scheduling classes for VMADC/VMSBC (#113009)
Split the scheduling classes of VMADC/VMSBC away from that of VADC/VSBC.
Because the former are technically mask-producing instructions rather
than normal vector arithmetics, which might have different performance
characteristics on some processors.
This is effectively NFC.
Commit: 92412c106f5275b4b385f7c2d882008181de2854
https://github.com/llvm/llvm-project/commit/92412c106f5275b4b385f7c2d882008181de2854
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/tools/llvm-objdump/MachO/AArch64/aliases.s
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[llvm-objdump] Handle -M for --macho
--macho -d uses the `parseInputMachO` code path, which does not handle
-M. Add -M handling for --macho as well.
Close #61019
Pull Request: https://github.com/llvm/llvm-project/pull/113795
Commit: 6ab26eab4f1e06f2da7b3183c55666ad57f8866e
https://github.com/llvm/llvm-project/commit/6ab26eab4f1e06f2da7b3183c55666ad57f8866e
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineSizeOpts.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86PadShortFunction.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SizeOpts.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
Check hasOptSize() in shouldOptimizeForSize() (#112626)
Commit: 6827a00d4dfe1fa7d479337b6192602744055686
https://github.com/llvm/llvm-project/commit/6827a00d4dfe1fa7d479337b6192602744055686
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
Log Message:
-----------
[lld][InstrProf] Do not use cstring offset hashes in function order for compression (#113606)
Commit: af7c58b7ea853ef34462ce97739203e2da3c5894
https://github.com/llvm/llvm-project/commit/af7c58b7ea853ef34462ce97739203e2da3c5894
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
R clang/test/CodeGen/debug-info-renderscript-tag.rs
M clang/test/CodeGen/fp16-ops.c
R clang/test/CodeGen/renderscript.c
R clang/test/Driver/renderscript.rs
M clang/test/Driver/unknown-std.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Preprocessor/predefined-macros-no-warnings.c
R clang/test/Sema/renderscript.rs
M clang/www/index.html
Log Message:
-----------
Remove support for RenderScript (#112916)
See
https://discourse.llvm.org/t/rfc-deprecate-and-eventually-remove-renderscript-support/81284
for the RFC
Commit: f14743794587db102c6d1b20f9c87a1ac20decfd
https://github.com/llvm/llvm-project/commit/f14743794587db102c6d1b20f9c87a1ac20decfd
Author: jimingham <jingham at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Add the ability to break on call-site locations, improve inline stepping (#112939)
Previously lldb didn't support setting breakpoints on call site
locations. This patch adds that ability.
It would be very slow if we did this by searching all the debug
information for every inlined subroutine record looking for a call-site
match, so I added one restriction to the call-site support. This change
will find all call sites for functions that also supply at least one
line to the regular line table. That way we can use the fact that the
line table search will move the location to that subsequent line (but
only within the same function). When we find an actually moved source
line match, we can search in the function that contained that line table
entry for the call-site, and set the breakpoint location back to that.
When I started writing tests for this new ability, it quickly became
obvious that our support for virtual inline stepping was pretty buggy.
We didn't print the right file & line number for the breakpoint, and we
didn't set the position in the "virtual inlined stack" correctly when we
hit the breakpoint. We also didn't step through the inlined frames
correctly. There was code to try to detect the right inlined stack
position, but it had been refactored a while back with the comment that
it was super confusing and the refactor was supposed to make it clearer,
but the refactor didn't work either.
That code was made much clearer by abstracting the job of "handling the
stack readjustment" to the various StopInfo's. Previously, there was a
big (and buggy) switch over stop info's. Moving the responsibility to
the stop info made this code much easier to reason about.
We also had no tests for virtual inlined stepping (our inlined stepping
test was actually written specifically to avoid the formation of a
virtual inlined stack... So I also added tests for that along with the
tests for setting the call-site breakpoints.
Commit: e517cfc531886bf6ed64b4e7109bb3141ac7f430
https://github.com/llvm/llvm-project/commit/e517cfc531886bf6ed64b4e7109bb3141ac7f430
Author: Lei Wang <wlei at fb.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/pgo-cold-function-coverage.c
A clang/test/Driver/fprofile-generate-cold-function-coverage.c
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/instr-gen-cold-function.ll
Log Message:
-----------
[InstrPGO] Support cold function coverage instrumentation (#109837)
This patch adds support for cold function coverage instrumentation based
on sampling PGO counts. The major motivation is to detect dead functions
for the services that are optimized with sampling PGO. If a function is
covered by sampling profile count (e.g., those with an entry count > 0),
we choose to skip instrumenting those functions, which significantly
reduces the instrumentation overhead.
More details about the implementation and flags:
- Added a flag `--pgo-instrument-cold-function-only` in
`PGOInstrumentation.cpp` as the main switch to control skipping the
instrumentation.
- Built the extra instrumentation passes(a bundle of passes in
`addPGOInstrPasses`) under sampling PGO pipeline. This is controlled by
`--instrument-cold-function-only-path` flag.
- Added a driver flag `-fprofile-generate-cold-function-coverage`:
- 1) Config the flags in one place, i,e. adding
`--instrument-cold-function-only-path=<...>` and
`--pgo-function-entry-coverage`. Note that the instrumentation file path
is passed through `--instrument-sample-cold-function-path`, because we
cannot use the `PGOOptions.ProfileFile` as it's already used by
`-fprofile-sample-use=<...>`.
- 2) makes linker to link `compiler_rt.profile` lib(see
[ToolChain.cpp#L1125-L1131](https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChain.cpp#L1125-L1131)
).
- Added a flag(`--pgo-cold-instrument-entry-threshold`) to config entry
count to determine cold function.
Overall, the full command is like:
```
clang++ -O2 -fprofile-generate-cold-function-coverage=<...> -fprofile-sample-use=<...> code.cc -o code
```
Commit: 98e3075df992636fa42aafde96748d1d5c834688
https://github.com/llvm/llvm-project/commit/98e3075df992636fa42aafde96748d1d5c834688
Author: Steven Perron <stevenperron at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
A clang/test/CodeGenHLSL/convergence/entry.point.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add convergence tokens to entry point wrapper (#112757)
Inlining currently assumes that either all function use controled
convergence or none of them do. This is why we need to have the entry
point wrapper use controled convergence.
https://github.com/llvm/llvm-project/blob/c85611e8583e6392d56075ebdfa60893b6284813/llvm/lib/Transforms/Utils/InlineFunction.cpp#L2431-L2439
Commit: 97fb21ac1d6bc528b61a555356457ff2129dfde1
https://github.com/llvm/llvm-project/commit/97fb21ac1d6bc528b61a555356457ff2129dfde1
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
[rtsan] Intercept aligned_alloc on all versions of OSX if available on build machine (#112780)
Commit: 31a6dbe941b25aadd6cbf3829d1a96973968bf11
https://github.com/llvm/llvm-project/commit/31a6dbe941b25aadd6cbf3829d1a96973968bf11
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lld/COFF/Chunks.cpp
A lld/test/COFF/autoimport-arm64ec-data.test
Log Message:
-----------
[LLD][COFF] Add Support for ARM64EC pseudo relocations (#113832)
Commit: 4cf128512be5d7e41d8b8b5a12eec47a64af36ea
https://github.com/llvm/llvm-project/commit/4cf128512be5d7e41d8b8b5a12eec47a64af36ea
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[NFC][AMDGPU] Use C++17 structured bindings as much as possible (#113939)
This only changes `llvm/lib/Target/AMDGPU/SIISelLowering.cpp`.
There are five uses of `std::tie` remaining because they can't be
replaced with
C++17 structured bindings.
Commit: f23bdbbaff5b89b1c102a155d062fc32f99d4a92
https://github.com/llvm/llvm-project/commit/f23bdbbaff5b89b1c102a155d062fc32f99d4a92
Author: tf2spi <misomosispi at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
Add DILabel functions for LLVM-C (#112840)
Addresses #112799
Commit: 19c0a74ad6baa9eb38dbe0a20af7c67999c41821
https://github.com/llvm/llvm-project/commit/19c0a74ad6baa9eb38dbe0a20af7c67999c41821
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb] Fix lldb windows build breakage from https://github.com/llvm/llvm-project/pull/113839.
Commit: da1a16ae10177494c7cae929bec987e90a160403
https://github.com/llvm/llvm-project/commit/da1a16ae10177494c7cae929bec987e90a160403
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/link-libraries.c
Log Message:
-----------
[clang][modules] Preserve the module map that allowed inferring (#113389)
With inferred modules, the dependency scanner takes care to replace the
fake "__inferred_module.map" path with the file that allowed the module
to be inferred. However, this only worked when such a module was
imported directly in the TU. Whenever such module got loaded
transitively, the scanner would fail to perform the replacement. This is
caused by the fact that PCM files are lossy and drop this information.
This patch makes sure that PCMs include this file for each submodule (in
the `SUBMODULE_DEFINITION` record), fixes one existing test with an
incorrect assertion, and does a little drive-by refactoring of
`ModuleMap`.
Commit: cafd3e10c39a2bfc81eac33ee56a706476e676a9
https://github.com/llvm/llvm-project/commit/cafd3e10c39a2bfc81eac33ee56a706476e676a9
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT][test] Fix NFC check with pre-aggregated-perf.test (#113944)
NFC checks have been failing starting with
https://lab.llvm.org/buildbot/#/builders/92/builds/8567.
NFC testing wrapper (llvm-bolt-wrapper) replaces the call of `perf2bolt`
with `llvm-bolt --aggregate-only --ignore-build-id`.
`show-density` is automatically enabled for perf2bolt only but not for
`llvm-bolt --aggregate-only`. Add the flag to the test to work around
the issue.
Test Plan:
```
cd build
../llvm-project/bolt/utils/nfc-check-setup.py --switch-back --verbose
bin/llvm-lit -a tools/bolt/test/X86/pre-aggregated-perf.test
```
Commit: e0a02fdb459f3126fbc40cf376f4a3871652ae49
https://github.com/llvm/llvm-project/commit/e0a02fdb459f3126fbc40cf376f4a3871652ae49
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[NFC][Clang][TableGen] Use StringRef in FlattenedSpelling (#113809)
- Change FlattenedSpelling to use StringRef instead of std::String.
- Use range for loops and enumerate().
- Use ArrayRef<> instead of std::vector reference as function arguments.
- Use {} for all if/else branch bodies if one of them uses it.
Commit: 6c6351ee350589c8e6bcd69c3255374a714d87d0
https://github.com/llvm/llvm-project/commit/6c6351ee350589c8e6bcd69c3255374a714d87d0
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Basic/Module.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang][modules] Optimize construction and usage of the submodule index (#113391)
This patch avoids eagerly populating the submodule index on `Module`
construction. The `StringMap` allocation shows up in my profiles of
`clang-scan-deps`, while the index is not necessary most of the time. We
still construct it on-demand.
Moreover, this patch avoids performing qualified submodule lookup in
`ASTReader` whenever we're serializing a module graph whose top-level
module is unknown. This is pointless, since that's guaranteed to never
find any existing submodules anyway.
This speeds up `clang-scan-deps` by ~0.5% on my workload.
Commit: 5a5b78a84e7214796410265139ecf0266b1fd216
https://github.com/llvm/llvm-project/commit/5a5b78a84e7214796410265139ecf0266b1fd216
Author: David Green <david.green at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
Log Message:
-----------
[AArch64][GlobalISel] Lower aarch64.neon.smull/umull intrinsics.
As with other nodes, we can convert these into G_UMULL and G_SMULL aarch64
instructions.
Commit: b54bc104ea87e301816b450ee117d2d864c7d82d
https://github.com/llvm/llvm-project/commit/b54bc104ea87e301816b450ee117d2d864c7d82d
Author: jimingham <jingham at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Revert "Add the ability to break on call-site locations, improve inli… (#113947)
…ne stepping (#112939)"
This was breaking some gdb-remote packet counting tests on the bots. I
can't see how this patch could cause that breakage, but I'm reverting to
figure that out.
This reverts commit f14743794587db102c6d1b20f9c87a1ac20decfd.
Commit: 8274be509ed9e07188a8a64d95907a46cbe8e657
https://github.com/llvm/llvm-project/commit/8274be509ed9e07188a8a64d95907a46cbe8e657
Author: David Green <david.green at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Log Message:
-----------
[AArch64] Remove header dependencies of AArch64ISelLowering.h. NFC
This patch aims to reduce the include used by AArch64ISelLowering, allowing it
to be included by unittests so that they can reference the AArch64ISD nodes.
It:
- Moves the inclusion of AArch64SMEAttributes.h to the uses.
- Moves LowerPtrAuthGlobalAddressStatically to a static function, so that
AArch64PACKey is not required in the header.
- Moves the definitions of getExceptionPointerRegister to the cpp file, to
remove the reference of AArch64::X0.
Commit: 66bbbf2e951a486f972a5a54378e6791193ade60
https://github.com/llvm/llvm-project/commit/66bbbf2e951a486f972a5a54378e6791193ade60
Author: Jan Voung <jvoung at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Cache accessors returning pointers in bugprone-unchecked-optional-access (#113922)
Previously, we covered returning refs, or copies of optional, and bools.
Now cover returning pointers (to any type).
This is useful for cases like operator-> of smart pointers.
Addresses more of issue llvm#58510
Commit: 0d0abb351b5fcf49ccc46eba8b7f2a1f353a05a6
https://github.com/llvm/llvm-project/commit/0d0abb351b5fcf49ccc46eba8b7f2a1f353a05a6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Use ResumePhi to create reduction resume phis. (#110004)
Use VPInstruction::ResumePhi to create phi nodes for reduction resume
values in the scalar preheader, similar to how ResumePhis are used for
first-order recurrence resume values after 9a5a8731e77.
This allows simplifying createAndCollectMergePhiForReduction to only
collect reduction resume phis when vectorizing epilogue loops and adding
extra incoming edges from the main vector loop. Updating phis for the
epilogue vector loops requires special attention, because additional
incoming values from the bypass blocks need to be added.
PR: https://github.com/llvm/llvm-project/pull/110004
Commit: ad5b9441f949716570e89fcb27b76e9bfb4b7f70
https://github.com/llvm/llvm-project/commit/ad5b9441f949716570e89fcb27b76e9bfb4b7f70
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/AddressSanitizer.rst
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan][asan] NFC Fix hyperlink to CMake doc (#113931)
Commit: 19131c7f36e047898ea954ee5a187ac62f2ab09b
https://github.com/llvm/llvm-project/commit/19131c7f36e047898ea954ee5a187ac62f2ab09b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang][modules][lldb] Fix build after #113391
Instead of changing the return type of `ModuleMap::findOrCreateModule`, this patch adds a counterpart that only returns `Module *` and thus has the same signature as `createModule()`, which is important in `ASTReader`.
Commit: 67bcce21415c7f687c28eb727c40b27924335f5a
https://github.com/llvm/llvm-project/commit/67bcce21415c7f687c28eb727c40b27924335f5a
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
Log Message:
-----------
[CFI][LowerTypeTests] Fix indirect call with alias (#106185)
Motivation example:
```
> cat test.cpp
extern "C" [[gnu::weak]] void f() {}
void alias() __attribute__((alias("f")));
int main() { auto p = alias; p(); }
> clang test.cpp -fsanitize=cfi-icall -flto=thin -fuse-ld=lld
> ./a.out
[1] 1868 illegal hardware instruction ./a.out
```
If the address of a function was only taken through its alias, the
function was not considered exported and therefore was not included
in the CFI jumptable. This resulted in `@llvm.type.test()` being lowered
to `false`, and consequently the indirect call to the function was
eventually optimized to `ubsantrap()`.
Commit: 7bd8a165f95123e390f9cbb0a6a5e60d835a4461
https://github.com/llvm/llvm-project/commit/7bd8a165f95123e390f9cbb0a6a5e60d835a4461
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/test/Sema/asm.c
Log Message:
-----------
[X86] Don't allow '+f' as an inline asm constraint. (#113871)
f cannot be used as an output constraint. We already errored for '=f'
but not '+f'.
Fixes #113692.
Commit: 481bce018ea8872277f79102842eaf8a55f634a2
https://github.com/llvm/llvm-project/commit/481bce018ea8872277f79102842eaf8a55f634a2
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
R llvm/test/CodeGen/DirectX/split-double.ll
A llvm/test/CodeGen/DirectX/splitdouble.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/splitdouble.ll
Log Message:
-----------
Adding splitdouble HLSL function (#109331)
- Adding hlsl `splitdouble` intrinsics
- Adding DXIL lowering
- Adding SPIRV lowering
- Adding test
Fixes: #108901
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: abc49cc19463970d5523d7d3332e4c1f83bc2ef7
https://github.com/llvm/llvm-project/commit/abc49cc19463970d5523d7d3332e4c1f83bc2ef7
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/fcntl_macros.h
A libc/hdr/fcntl_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/mode_t.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/fcntl/creat.h
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/stdio/linux/CMakeLists.txt
M libc/src/stdio/linux/remove.cpp
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/test/src/fcntl/CMakeLists.txt
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/sys/sendfile/CMakeLists.txt
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/mkdirat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/rmdir_test.cpp
M libc/test/src/unistd/syscall_test.cpp
Log Message:
-----------
[libc] remove #include <fcntl.h> and add proxy or type (#113836)
Commit: 9d9b1ba951cb2c30a192aa1157ef1c022d6d145b
https://github.com/llvm/llvm-project/commit/9d9b1ba951cb2c30a192aa1157ef1c022d6d145b
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
Log Message:
-----------
[ORC] Fix JITLinkRedirectableSymbolManager construction to avoid crash (#113492)
Check `AnonymousPtrCreator` and `PtrJumpStubCreator` before creating the
JITLinkRedirectableSymbolManager object. This simplifies construction, and
avoids premature registration as a resource manager in the failure case.
Commit: 70d61f6de71bfe5ee870efc9b3e98db37273f17d
https://github.com/llvm/llvm-project/commit/70d61f6de71bfe5ee870efc9b3e98db37273f17d
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/registration.h
M flang/runtime/CUDA/registration.cpp
Log Message:
-----------
[flang][cuda] Adding runtime call to CUFRegisterVariable (#113952)
Commit: 71315698c91d0cda054b903da0594ca6f072c350
https://github.com/llvm/llvm-project/commit/71315698c91d0cda054b903da0594ca6f072c350
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/constexpr-string.cpp
A clang/test/SemaCXX/warn-memaccess.cpp
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/support/min_allocator.h
Log Message:
-----------
[clang] Warn about memset/memcpy to NonTriviallyCopyable types (#111434)
This implements a warning that's similar to what GCC does in that
context: both memcpy and memset require their first and second operand
to be trivially copyable, let's warn if that's not the case.
Commit: 03dcefe08ecb68a3fedb7e9de6277df77371e9fc
https://github.com/llvm/llvm-project/commit/03dcefe08ecb68a3fedb7e9de6277df77371e9fc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/math/cbrt.h
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/stdio/vsscanf.h
Log Message:
-----------
[libc] Fix leftover `LIBC_NAMESPACE` after porting it (#113960)
Summary:
There are a few of these leftover, they should all use the
`LIBC_NAMESPACE_DECL` version because that implies visibility.
Commit: 39303e24b6f628f3c080f1b54bd12383a55b9b3a
https://github.com/llvm/llvm-project/commit/39303e24b6f628f3c080f1b54bd12383a55b9b3a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/ClangScanDeps/print-timing.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Improve timing output (#113726)
This patch adds the number of executed instructions into the timing
output, which provides more stable results compared to wall or process
time.
The format itself is also tweaked so that it's more amenable for direct
import into a spreadsheet editor.
Commit: 5ea694816b569e010854a861ad58502c056d5a39
https://github.com/llvm/llvm-project/commit/5ea694816b569e010854a861ad58502c056d5a39
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Check opcodes and types (#113741)
Commit: 09a4bcf1a549eea738bda74b2b7dc0f5c8309310
https://github.com/llvm/llvm-project/commit/09a4bcf1a549eea738bda74b2b7dc0f5c8309310
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/depend04.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Update handling of DEPEND clause (#113620)
Parse the locator list in OmpDependClause as an OmpObjectList (instead
of a list of Designators). When a common block appears in the locator
list, show an informative message.
Implement resolving symbols in DependSinkVec in a dedicated visitor
instead of having a visitor for OmpDependClause.
Resolve unresolved names common blocks in OmpObjectList.
Minor changes to the code organization:
- rename OmpDependenceType to OmpTaskDependenceType (to follow 5.2
terminology),
- rename Depend::WithLocators to Depend::DepType,
- add comments with more detailed spec references to parse-tree.h.
---------
Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>
Commit: c5edecbb4bfe08997819ff84712e3e22ddd04490
https://github.com/llvm/llvm-project/commit/c5edecbb4bfe08997819ff84712e3e22ddd04490
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/X86/scmp.ll
M llvm/test/CodeGen/X86/ucmp.ll
Log Message:
-----------
[X86] Regenerate scmp/ucmp test checks with vpternlog comments
Commit: 7b663bd9179a205d5a65a34e447fbeffcb43c194
https://github.com/llvm/llvm-project/commit/7b663bd9179a205d5a65a34e447fbeffcb43c194
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/stdio/linux/CMakeLists.txt
M libc/src/stdio/linux/rename.cpp
M libc/src/sys/mman/linux/CMakeLists.txt
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/shm_open.h
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
Log Message:
-----------
[libc] Fix the remaining fcntl.h proxy header includes. (#113961)
Commit: 82cb22e735be24acf5aac594e519935fc43f0aec
https://github.com/llvm/llvm-project/commit/82cb22e735be24acf5aac594e519935fc43f0aec
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MathToLibm/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRLLVMDialect dep to MLIRMathToLibm (#113563)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRMathToLibm.a only:
```
In file included from llvm/include/llvm/IR/Module.h:22,
from mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h:37,
from mlir/lib/Conversion/MathToLibm/MathToLibm.cpp:13
llvm/include/llvm/IR/Attributes.h:90:14: fatal error: llvm/IR/Attributes.inc: No such file or directory
```
Commit: 7db4cacfd72b64de8460509d07a22b9142df85f6
https://github.com/llvm/llvm-project/commit/7db4cacfd72b64de8460509d07a22b9142df85f6
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/LinalgToStandard/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRLLVMDialect dep to MLIRLinalgToStandard (#113561)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRLinalgToStandard.a only:
```
In file included from llvm/include/llvm/IR/Module.h:22,
from mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h:37,
from mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp:13:
llvm/include/llvm/IR/Attributes.h:90:14: fatal error: llvm/IR/Attributes.inc: No such file or directory
```
Commit: 474234a09655e57b7a4270150f0926db77e864b4
https://github.com/llvm/llvm-project/commit/474234a09655e57b7a4270150f0926db77e864b4
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachVMRegion.cpp
Log Message:
-----------
[debugserver] Mark ASAN memory regions as "heap" (#113968)
This memory type is currently not handled, but it makes sense to mark it
as a heap allocation in requests asking for memory region info.
Commit: 9f69da35e2e5438d0c042f76277fff397f6a1505
https://github.com/llvm/llvm-project/commit/9f69da35e2e5438d0c042f76277fff397f6a1505
Author: Prabhuk <prabhukr at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
Log Message:
-----------
[NFC][compiler-rt] Add missing header include (#113951)
Include `cstdlib` which was originally included transitively but the
changes to `vector` in libcpp breaks new builds due to missing cstdlib
header for `abort()` function call.
Commit: bf4b31ad54f6bf298210c201a0afe50469ebe98e
https://github.com/llvm/llvm-project/commit/bf4b31ad54f6bf298210c201a0afe50469ebe98e
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Check Fastmath flags (#113967)
Commit: e873b415a2bfbbc2e5e2e70d77b61b7883cbf949
https://github.com/llvm/llvm-project/commit/e873b415a2bfbbc2e5e2e70d77b61b7883cbf949
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/open.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
Log Message:
-----------
[libc] add the rest of the hdr/fcntl_macro.h headers (#113972)
Commit: 0eb5c9d2ef8d932eef84d4db8aef3dd512f80277
https://github.com/llvm/llvm-project/commit/0eb5c9d2ef8d932eef84d4db8aef3dd512f80277
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
A flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Copying device globals in the gpu module (#113955)
Commit: 36c119490630846c1fa0f427cc60837fd7b40a28
https://github.com/llvm/llvm-project/commit/36c119490630846c1fa0f427cc60837fd7b40a28
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-cmp-builtins.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/X86/sse.c
Log Message:
-----------
Remove optimization flags from clang codegen tests (#113714)
- Remove an -O3 flag from a couple of clang x86 codegen tests so the
tests do not need to be updated when optimizations in LLVM change.
- Change the tests to use utils/update_cc_test_checks.sh
- Change from apple/darwin triples to generic x86_64-- and
i386-- because it was not relevant to the test but
`update_cc_test_checks` seems to be unable to handle platforms that
prepend `_` to function names.
Commit: 5903c6af44256e0bba77b7a69d608aa3ccc6a0dd
https://github.com/llvm/llvm-project/commit/5903c6af44256e0bba77b7a69d608aa3ccc6a0dd
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
InstCombine: Fold shufflevector(select) and shufflevector(phi) (#113746)
- Transform `shufflevector(select(c, x, y), C)` to
`select(c, shufflevector(x, C), shufflevector(y, C))` by re-using
the `FoldOpIntoSelect` helper.
- Transform `shufflevector(phi(x, y), C)` to
`phi(shufflevector(x, C), shufflevector(y, C))` by re-using the
`foldOpInotPhi` helper.
Commit: 034cae42b130760587770b6a001b70c2a01bdfe9
https://github.com/llvm/llvm-project/commit/034cae42b130760587770b6a001b70c2a01bdfe9
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/docs/FunctionEffectAnalysis.rst
M clang/docs/index.rst
Log Message:
-----------
[clang] Add clang/docs/FunctionEffectAnalysis.rst. (#109855)
Follow-on from #99656, which introduces 2nd pass caller/callee analysis
for function effects.
Wrote a new documentation page, derived directly from the RFC posted to
LLVM Discourse earlier this year.
---------
Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 902acde34198bb11cc758dcf3aee00eb1cb09ceb
https://github.com/llvm/llvm-project/commit/902acde34198bb11cc758dcf3aee00eb1cb09ceb
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/and-compare.ll
Log Message:
-----------
[InstCombine] Optimize away certain additions using modular arithmetic
We can turn:
```
%add = add i8 %arg, C1
%and = and i8 %add, C2
%cmp = icmp eq i1 %and, C3
```
into:
```
%and = and i8 %arg, C2
%cmp = icmp eq i1 %and, (C3 - C1) & C2
```
This is only worth doing if the sequence is the sole user of the addition
operation.
Commit: 757d0e4764fffcd4e60338147c5f5456e2534395
https://github.com/llvm/llvm-project/commit/757d0e4764fffcd4e60338147c5f5456e2534395
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
R llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
Log Message:
-----------
Revert "[CFI][LowerTypeTests] Fix indirect call with alias" (#113978)
Reverts llvm/llvm-project#106185
This is breaking Sanitizer bots:
https://lab.llvm.org/buildbot/#/builders/66/builds/5449/steps/8/logs/stdio
Commit: 8e6856e27859c90c5337a8328848b0959fe409fe
https://github.com/llvm/llvm-project/commit/8e6856e27859c90c5337a8328848b0959fe409fe
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
Log Message:
-----------
[Clang][TableGen] Use StringRef::str() instead of std::string() cast (#113645)
Use `StringRef::str()` instead of std::string(StringRef) to cast from
StringRef to std::string.
Commit: 7c554265ce0b94059f216dcab643055e98c8f439
https://github.com/llvm/llvm-project/commit/7c554265ce0b94059f216dcab643055e98c8f439
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
Revert "[rtsan] Intercept aligned_alloc on all versions of OSX if available on build machine (#112780)" (#113982)
This reverts commit 97fb21ac1d6bc528b61a555356457ff2129dfde1.
Due to issue brought up in #112780
> Unfortunately this breaks the build on our (automerger) bots, which
have -mmacosx-version-min=10.13 and also
-Werror=unguarded-availability-new . I was thinking about patching it
via wrapping in __builtin_available check (which I believe is the right
one to use, as it should match the -mmacosx-version-min ) - but can't
actually think of a quick fix, due to interceptors being defined via C
macros.
>
llvm-project/compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp:475:21:
error: 'aligned_alloc' is only available on macOS 10.15 or newer
[-Werror,-Wunguarded-availability-new] 475 | INTERCEPTOR(void *,
aligned_alloc, SIZE_T alignment, SIZE_T size) {
Commit: b46a0482f9e4c0ee82b38da794b20f8f1a76f044
https://github.com/llvm/llvm-project/commit/b46a0482f9e4c0ee82b38da794b20f8f1a76f044
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/Sema/arithmetic-fence-builtin.c
Log Message:
-----------
[clang][bytecode] Implement __builtin_arithmetic_fence (#113937)
Commit: 1549a0c183ee337a6de4c3933e10828808c6a094
https://github.com/llvm/llvm-project/commit/1549a0c183ee337a6de4c3933e10828808c6a094
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/docs/Bufferization.md
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
R mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
M mlir/test/Dialect/SCF/bufferize.mlir
Log Message:
-----------
[mlir][SCF] Remove `scf-bufferize` pass (#113840)
The dialect conversion-based bufferization passes have been migrated to
One-Shot Bufferize about two years ago. To clean up the code base, this
commit removes the `scf-bufferize` pass, one of the few remaining parts
of the old infrastructure. Most bufferization passes have already been
removed.
Note for LLVM integration: If you depend on this pass, migrate to
One-Shot Bufferize or copy the pass to your codebase.
Commit: 6233346895abfb57782511cddc263d439fdd537b
https://github.com/llvm/llvm-project/commit/6233346895abfb57782511cddc263d439fdd537b
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
Log Message:
-----------
[GenericCycle] Add a Cache for getExitBlocks in GenericCycle (#112290)
In `UniformityAnalysis`, we need to get the exit blocks of cycles in the
`DivergencePropagator` and currently, we have to do a search for the
exit blocks every time. In this change, we add a cache of the results in
the `GenericCycle` so that it can save the compile time. By testing, for
some large cases, this can save about 60% compile time in the
`UniformityAnalysis`.
Commit: 61353cc1f65f02477eedeebcb08e9193cbd53305
https://github.com/llvm/llvm-project/commit/61353cc1f65f02477eedeebcb08e9193cbd53305
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/asan/scripts/asan_symbolize.py
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
Log Message:
-----------
[compiler-rt] Fix invalid escape sequences in python files (#94030)
\d, \( and \) are not valid escape sequences; since python 3.12
they give SyntaxWarning, and will raise SyntaxError in future.
https://docs.python.org/3.12/whatsnew/3.12.html#other-language-changes
r"\(\d\)" and "\\(\\d\\)" are equivalent but the former is the shorter.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: 1ceccbb0dd9d8539fec2213566fe6cc2a05b7993
https://github.com/llvm/llvm-project/commit/1ceccbb0dd9d8539fec2213566fe6cc2a05b7993
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
A llvm/test/CodeGen/AMDGPU/issue98474-assigned-physreg-interference.mir
A llvm/test/CodeGen/AMDGPU/issue98474-need-live-out-undef-subregister-def.ll
A llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
A llvm/test/MachineVerifier/AMDGPU/issue98474-missing-def-liveout-physical-subregister.mir
Log Message:
-----------
VirtRegRewriter: Add implicit register defs for live out undef lanes (#112679)
If an undef subregister def is live into another block, we need to
maintain a physreg def to track the liveness of those lanes. This
would manifest a verifier error after branch folding, when the cloned
tail block use no longer had a def.
We need to detect interference with other assigned intervals to avoid
clobbering the undef lanes defined in other intervals, since the undef
def didn't count as interference. This is pretty ugly and adds a new
dependency on LiveRegMatrix, keeping it live for one more pass. It also
adds a lot of implicit operand spam (we really should have a better
representation for this).
There is a missing verifier check for this situation. Added an xfailed
test that demonstrates this. We may also be able to revert the changes
in 47d3cbcf842a036c20c3f1c74255cdfc213f41c2.
It might be better to insert an IMPLICIT_DEF before the instruction
rather than using the implicit-def operand.
Fixes #98474
Commit: a461869db3bdc372203c9a7b8326d66a626f80d9
https://github.com/llvm/llvm-project/commit/a461869db3bdc372203c9a7b8326d66a626f80d9
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintInstructionCount.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/lib/SandboxIR/PassManager.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR][Pass] Implement Analyses class (#113962)
The Analyses class provides a way to pass around commonly used Analyses
to SandboxIR passes throught `runOnFunction()` and `runOnRegion()`
functions.
Commit: 6128ff6630762310f6ae4eb61adda02cb4ad5260
https://github.com/llvm/llvm-project/commit/6128ff6630762310f6ae4eb61adda02cb4ad5260
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
R llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.cpp
R llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.h
A llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
A llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.h
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
A llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp
Log Message:
-----------
[JITLink][MachO] Add convenience functions for default text/data sections.
The getMachODefaultTextSection and getMachODefaultRWDataSection functions
return the "__TEXT,__text" and "__DATA,__data" sections respectively, creating
empty sections if the default sections are not already present in the graph.
These functions can be used by utilities that want to add code or data to these
standard sections (e.g. these functions can be used to supply the section
argument to the createAnonymousPointerJumpStub and
createPointerJumpStubBlock functions in the various targets).
Commit: 0c1c37bfbed08c9d4e414a10f46cbed9a3e4c870
https://github.com/llvm/llvm-project/commit/0c1c37bfbed08c9d4e414a10f46cbed9a3e4c870
Author: c8ef <c8ef at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add support for the `tgamma` libcall. (#113791)
This patch adds the `tgamma` libcall.
Commit: 18311093abe6481388a0d963d58438d743b47569
https://github.com/llvm/llvm-project/commit/18311093abe6481388a0d963d58438d743b47569
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Do not fold `shufflevector(select)` if the select condition is a vector (#113993)
Since `shufflevector` is not element-wise, we cannot do fold it into
select when the select condition is a vector.
For shufflevector that doesn't change the length, it doesn't crash, but
it is still a miscompilation: https://alive2.llvm.org/ce/z/s8saCx
Fixes https://github.com/llvm/llvm-project/issues/113986.
Commit: 635c344dfb3227f80c76dfbee9d6bf44ef742675
https://github.com/llvm/llvm-project/commit/635c344dfb3227f80c76dfbee9d6bf44ef742675
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[X86] Add vector_compress patterns with a zero vector passthru. (#113970)
We can use the kz form to automatically zero the extra elements.
Fixes #113263.
Commit: 00ca2071e08f3a82171e564618981906a15e8dca
https://github.com/llvm/llvm-project/commit/00ca2071e08f3a82171e564618981906a15e8dca
Author: Jerry Sun <105613447+jerryyiransun at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/TableGen/Attributes.cpp
M llvm/utils/TableGen/CTagsEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/VTEmitter.cpp
Log Message:
-----------
[TableGen] [NFC] Remove unused includes in TableGen BE (#113725)
split PR as requested from
https://github.com/llvm/llvm-project/pull/113318.
Removes unused imports in TableGen BE
Commit: 6588073724d3241d90663e45154d806a28bce95a
https://github.com/llvm/llvm-project/commit/6588073724d3241d90663e45154d806a28bce95a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
Log Message:
-----------
[mlir][func] Fix incorrect API usage in `FuncOpConversion` (#113977)
This commit fixes a case of incorrect dialect conversion API usage
during `FuncOpConversion`. `replaceAllUsesExcept` (same as
`replaceAllUsesWith`) is currently not supported in a dialect
conversion. `replaceUsesOfBlockArgument` should be used instead. It
sometimes works anyway (like in this case), but that's just because of
the way we insert materializations.
This commit is in preparation of merging the 1:1 and 1:N dialect
conversion drivers. (At that point, the current use of
`replaceAllUsesExcept` will no longer work.)
Commit: 828467a54e156cbb04820ae47df32c45fbc75fc0
https://github.com/llvm/llvm-project/commit/828467a54e156cbb04820ae47df32c45fbc75fc0
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lld/ELF/Symbols.h
M llvm/include/llvm/Support/Endian.h
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
Log Message:
-----------
Fix warnings introduced in #111434 [-Wnontrivial-memaccess]
Commit: d3b98559be72682da45df73522173cb315912f6f
https://github.com/llvm/llvm-project/commit/d3b98559be72682da45df73522173cb315912f6f
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
Log Message:
-----------
Add exception guard for constructor vector(n, x, a) (#113086)
Added exception guard to the `vector(n, x, a)` constructor to enhance
exception safety. This change ensures that the `vector(n, x, a)`
constructor is consistent with other constructors, such as `vector(n)`,
`vector(n, x)`, `vector(n, a)`, in terms of exception safety.
Commit: 3f4468faaa9525ad615118675c3c68938f4a8d5f
https://github.com/llvm/llvm-project/commit/3f4468faaa9525ad615118675c3c68938f4a8d5f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
Log Message:
-----------
[RISCV] Teach expandRV32ZdinxStore to handle memoperand not being present. (#113981)
I received a report that the outliner drops memoperands and causes this
code to crash. Handle this by only copying the memoperand if it exists.
Similar for expandRV32ZdinxLoad
Commit: 48adfaf3b290d97260eabb53254de9ada313cd0e
https://github.com/llvm/llvm-project/commit/48adfaf3b290d97260eabb53254de9ada313cd0e
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/docs/FunctionEffectAnalysis.rst
Log Message:
-----------
doc: remove trailing whitespaces
Commit: 59085e9c3f522b59e512f1651058a9f98c739088
https://github.com/llvm/llvm-project/commit/59085e9c3f522b59e512f1651058a9f98c739088
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/SymbolTable.cpp
Log Message:
-----------
Fix more lld warnings introduced in #111434 [-Wnontrivial-memaccess]
Commit: 66fc81cb430c724dc8b4b8d2d029101cc1d6808a
https://github.com/llvm/llvm-project/commit/66fc81cb430c724dc8b4b8d2d029101cc1d6808a
Author: Takuto Ikuta <tikuta at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
Log Message:
-----------
fix missing include for `abort` in `FuzzedDataProvider.h` (#113872)
This is to fix build with newer libc++ in chromium.
ref: https://crbug.com/375980422
Commit: 335e68d8bce5ad3f5d6471c0ec1423211c71c0f0
https://github.com/llvm/llvm-project/commit/335e68d8bce5ad3f5d6471c0ec1423211c71c0f0
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CodeGen/Targets/RISCV.cpp
A clang/test/CodeGen/RISCV/attr-hw-shadow-stack.c
Log Message:
-----------
[Clang][RISCV] Support -fcf-protection=return for RISC-V (#112477)
Enables the support of `-fcf-protection=return` on RISC-V, which
requires Zicfiss. It also adds a string attribute "hw-shadow-stack"
to every function if the option is set on RISC-V
Commit: 7544d3af0e285ecd2fa28698621dd3125f749b2d
https://github.com/llvm/llvm-project/commit/7544d3af0e285ecd2fa28698621dd3125f749b2d
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark RVB23U64 and RVB23S64 as non-experimental (#113918)
The specification was recently ratified
<https://github.com/riscv/riscv-profiles/blob/main/src/rvb23-profile.adoc>.
Commit: d4197f3ac1bbdd0665599bf3843e865d13af18ab
https://github.com/llvm/llvm-project/commit/d4197f3ac1bbdd0665599bf3843e865d13af18ab
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2/bfmul-diagnostics.s
A llvm/test/MC/AArch64/SME2/bfmul.s
A llvm/test/MC/AArch64/SME2p2/fmul-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmul.s
Log Message:
-----------
[LLVM][AArch64] Add assembly/disassembly for MUL/BFMUL SME instructions (#113535)
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Momchil-Velikov Momchil.Velikov at arm.com
Commit: 8d38fbf2f027c72332c8ba03ff0ff0f83b4dcf02
https://github.com/llvm/llvm-project/commit/8d38fbf2f027c72332c8ba03ff0ff0f83b4dcf02
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z-diagnotics.s
A llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z.s
Log Message:
-----------
[LLVM][AArch64] Add assembly/disassembly for SVE Integer Unary Arithm… (#113670)
…etic Predicated instructions
This patch adds the following instructions:
SVE bitwise unary operations (predicated)
CLS, CLZ, CNT, CNOT, FABS, FNEG, NOT
SVE integer unary operations (predicated)
SXT{B,H,W}, UXT{B,H,W}, ABS ,NEG
SVE2 integer unary operations (predicated)
URECPE, URSQRTE, SQABS, SQNEG
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Spencer Abson Spencer.Abson at arm.com
Commit: 05b6c2e4b933e7a3606899c72067c92b6077287b
https://github.com/llvm/llvm-project/commit/05b6c2e4b933e7a3606899c72067c92b6077287b
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/conditional-expr.cpp
Log Message:
-----------
[Clang] fix range calculation for conditionals with throw expressions (#112081)
Fixes #111854
---
The issue arises when `GetExprRange` encounters a `ConditionalOperator`
with a `CXXThrowExpr`
```md
ConditionalOperator 0x1108658e0 'int'
|-CXXBoolLiteralExpr 0x110865878 '_Bool' true
|-CXXThrowExpr 0x1108658a8 'void'
| `-IntegerLiteral 0x110865888 'int' 0
`-IntegerLiteral 0x1108658c0 'int' 0
```
https://github.com/llvm/llvm-project/blob/ed3d05178274890fb804f43ae1bcdfd33b5fd8f0/clang/lib/Sema/SemaChecking.cpp#L9628-L9631
The current behavior causes the `GetExprRange` to proceed with the throw
expression (`CO->getTrueExpr()`/`void` type)
Commit: dfb60bb9193d78d0980193e1ade715cffbb55af8
https://github.com/llvm/llvm-project/commit/dfb60bb9193d78d0980193e1ade715cffbb55af8
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
Adding more vector calls for -fveclib=AMDLIBM (#109662)
AMD has it's own implementation of vector calls.
New vector calls are introduced in the library for exp10, log10, sincos and finite asin/acos
Please refer [https://github.com/amd/aocl-libm-ose]
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Commit: a393c92f5df141d464bb17cc82f2344866cea1de
https://github.com/llvm/llvm-project/commit/a393c92f5df141d464bb17cc82f2344866cea1de
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Update default linking options when `-r` omitted. (#113595)
Until now, these options have been hardcoded as downstream patches in
lld. Add them to the driver so that the private patches can be removed.
PS5 only. On PS4, the proprietary linker will continue to perform the
equivalent behaviours itself.
SIE tracker: TOOLCHAIN-16704
Commit: a8398bd81770a2801ec083fd2cd8a19140fe92a9
https://github.com/llvm/llvm-project/commit/a8398bd81770a2801ec083fd2cd8a19140fe92a9
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
Log Message:
-----------
[llvm][docs] Update list of llvm-lit options
Fixes #62899
In this commit I have updated the list of options
to include any missing options and re-rordered
some of them to match the order in lit's --help.
Where there was a larger description in this document
I've used that instead of the --help description.
This *does not* include --use-unique-output-file-name
as this was only added recently and we are still
debating whether it will be kept.
Commit: 7395ef5419a6438f0c48685bf00b7f151178743d
https://github.com/llvm/llvm-project/commit/7395ef5419a6438f0c48685bf00b7f151178743d
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/cospif16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cospif16.cpp
A libc/src/math/generic/sincosf16_utils.h
M libc/src/math/generic/sinpif16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cospif16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cospif16_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c23] Add cospif16 function (#113001)
Implementation of `cos` for half precision floating point inputs scaled
by pi (i.e., `cospi`), correctly rounded for all rounding modes.
---------
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: c3260c65e86ac363aa3a39f084db66a8a1d1af7d
https://github.com/llvm/llvm-project/commit/c3260c65e86ac363aa3a39f084db66a8a1d1af7d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-sincos.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/llvm.frexp.ll
A llvm/test/CodeGen/AArch64/llvm.sincos-fmf.ll
A llvm/test/CodeGen/AArch64/llvm.sincos.ll
A llvm/test/CodeGen/ARM/llvm.sincos.ll
Log Message:
-----------
[IR] Add `llvm.sincos` intrinsic (#109825)
This adds the `llvm.sincos` intrinsic, legalization, and lowering.
The `llvm.sincos` intrinsic takes a floating-point value and returns
both the sine and cosine (as a struct).
```
declare { float, float } @llvm.sincos.f32(float %Val)
declare { double, double } @llvm.sincos.f64(double %Val)
declare { x86_fp80, x86_fp80 } @llvm.sincos.f80(x86_fp80 %Val)
declare { fp128, fp128 } @llvm.sincos.f128(fp128 %Val)
declare { ppc_fp128, ppc_fp128 } @llvm.sincos.ppcf128(ppc_fp128 %Val)
declare { <4 x float>, <4 x float> } @llvm.sincos.v4f32(<4 x float> %Val)
```
The lowering is built on top of the existing FSINCOS ISD node, with
additional type legalization to allow for f16, f128, and vector values.
Commit: 32aa782ea297b3e0ec090cf8fc0055d00c99d24b
https://github.com/llvm/llvm-project/commit/32aa782ea297b3e0ec090cf8fc0055d00c99d24b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/copysignl.ll
Log Message:
-----------
[PowerPC] copysignl.ll - regenerate to reduce the diff in #111269
Commit: f537792f3f4977c8bc887b17ffc25e93833e7d0d
https://github.com/llvm/llvm-project/commit/f537792f3f4977c8bc887b17ffc25e93833e7d0d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
A clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse3-builtins.c
Log Message:
-----------
[X86] Refactor the SSE intrinsics constexpr tests to simplify future expansion (#112578)
I'm hoping to make a large proportion of the SSE/AVX intrinsics usable in constant expressions - eventually anything that doesn't touch memory or system settings - making it much easier to utilize SSE/AVX intrinsics in various math libraries etc.
My initial implementation placed the tests at the end of the test file, similar to how smaller files already handle their tests.
However, what I'm finding is that this approach doesn't scale when trying to track coverage of so many intrinsics - many keep getting missed, and it gets messy; so what I'm proposing is to instead keep each intrinsic's generic IR test and its constexpr tests together to make them easier to track together, wrapping the static_assert inside a macro to disable on C and pre-C++11 tests.
I'm open to alternative suggestions before I invest too much time getting this work done :)
Commit: 98c8d643539194321f3dba8698e95999165b1024
https://github.com/llvm/llvm-project/commit/98c8d643539194321f3dba8698e95999165b1024
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2/bfscale-diagnostics.s
A llvm/test/MC/AArch64/SME2/bfscale.s
Log Message:
-----------
[AArch64] Add assembly/dissasembly for BFSCALE instructions (#113538)
This patch adds assembly/disassembly for following instructions:
BFSCALE (multiple and single vector)
BFSCALE (multiple vectors)
As specified in https://developer.arm.com/documentation/ddi0602/2024-09
Co-authored-by: Momchil Velikov
[momchil.velikov at arm.com](mailto:momchil.velikov at arm.com)
Commit: 06664fdc7680f7f9fa9b0a414a8fb8df2f913d48
https://github.com/llvm/llvm-project/commit/06664fdc7680f7f9fa9b0a414a8fb8df2f913d48
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/test/DebugInfo/Generic/ipsccp-remap-assign-id.ll
M llvm/test/Transforms/FunctionSpecialization/compiler-crash-58759.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization4.ll
M llvm/test/Transforms/FunctionSpecialization/get-possible-constants.ll
M llvm/test/Transforms/FunctionSpecialization/global-rank.ll
M llvm/test/Transforms/FunctionSpecialization/identical-specializations.ll
M llvm/test/Transforms/FunctionSpecialization/literal-const.ll
M llvm/test/Transforms/FunctionSpecialization/specialize-multiple-arguments.ll
A llvm/test/Transforms/FunctionSpecialization/track-ptr-return.ll
Log Message:
-----------
[FuncSpec] Enable SpecializeLiteralConstant by default (#113442)
Enable specialization on literal constant arguments by default in
Function Specialization.
---------
Co-authored-by: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Commit: 46944d1f950d042695197038ab3f1bf25ace261b
https://github.com/llvm/llvm-project/commit/46944d1f950d042695197038ab3f1bf25ace261b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Extract OMP version hint into helper functions, NFC (#113621)
Commit: 2443549b853908352a3b7b9bd6c07616492814a1
https://github.com/llvm/llvm-project/commit/2443549b853908352a3b7b9bd6c07616492814a1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
[IR] Remove some uses of StructType::setBody. NFC. (#113685)
It is simple to create the struct body up front, now that we have
transitioned to opaque pointers.
Commit: ec427df2b9c04cb3323babcf680dad8dcefaf228
https://github.com/llvm/llvm-project/commit/ec427df2b9c04cb3323babcf680dad8dcefaf228
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for FMOP4{A,S} (non-widening) half-precision instructions (#113343)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: e19a5fc6d306a81d181a9597a8b25c444c08d722
https://github.com/llvm/llvm-project/commit/e19a5fc6d306a81d181a9597a8b25c444c08d722
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
A llvm/test/Transforms/FunctionSpecialization/maxgrowth.ll
Log Message:
-----------
[FuncSpec] Improve accounting of specialization codesize growth (#113448)
Only accumulate the codesize increase of functions that are actually
specialized, rather than for every candidate specialization that we
analyse.
This fixes a subtle bug where prior analysis of candidate
specializations that were deemed unprofitable could prevent subsequent
profitable candidates from being recognised.
Commit: c0cba25cdd06d700bdc15e9ae48c1fcadd0963bd
https://github.com/llvm/llvm-project/commit/c0cba25cdd06d700bdc15e9ae48c1fcadd0963bd
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Hardening `replaceOp` (#109540)
This commit adds extra checks/assertions to the
`ConversionPatternRewriterImpl::notifyOpReplaced` to improve its
robustness.
1. Replacing an `unrealized_conversion_cast` op that was created by the
driver is now forbidden and caught early during `replaceOp`. It may work
in some cases, but it is generally dangerous because the conversion
driver keeps track of these ops and performs some extra legalization
steps during the "finalize" phase. (Erasing is them is fine.)
2. `null` replacement values are no longer registered in the
`ConversionValueMapping`. This was an oversight in #106760. There is no
benefit in having `null` values in the `ConversionValueMapping`. (It may
even cause problems.)
This change is in preparation of merging the 1:1 and 1:N dialect
conversion drivers.
Commit: 8239ea3918828ab9c5ea8be1f4100d464f0bf3c0
https://github.com/llvm/llvm-project/commit/8239ea3918828ab9c5ea8be1f4100d464f0bf3c0
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Transforms/debug-index-type.fir
Log Message:
-----------
[flang][debug] Support IndexType. (#113921)
Commit: d48c849ea94efb56d484393816e147afcec28d65
https://github.com/llvm/llvm-project/commit/d48c849ea94efb56d484393816e147afcec28d65
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/Todo/depend-clause.f90
A flang/test/Semantics/OpenMP/depend05.f90
Log Message:
-----------
[flang][OpenMP] Parsing support for iterator in DEPEND clause (#113622)
Warn about use of iterators OpenMP versions that didn't have them
(support added in 5.0). Emit a TODO error in lowering.
Commit: 3c2d77185e315d4558368ccab92e7a86c74a9a83
https://github.com/llvm/llvm-project/commit/3c2d77185e315d4558368ccab92e7a86c74a9a83
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/matrix-multiply-fp-diagnostics.s
M llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension.s
M llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
M llvm/test/MC/AArch64/SVE2/directive-cpu.s
A llvm/test/MC/AArch64/SVE2/fmmla-f16f32mm-diagnostics.s
A llvm/test/MC/AArch64/SVE2/fmmla-f16f32mm.s
A llvm/test/MC/AArch64/SVE2/fmmla-f8f16mm-diagnostics.s
A llvm/test/MC/AArch64/SVE2/fmmla-f8f16mm.s
A llvm/test/MC/AArch64/SVE2/fmmla-f8f32mm-diagnostics.s
A llvm/test/MC/AArch64/SVE2/fmmla-f8f32mm.s
Log Message:
-----------
[AARCH64] Add assembly/disassembly for FMMLA instructions (#113313)
This patch adds assembly/disassembly for the following instructions:
FMMLA (widening, FP16 to FP32)
FMMLA (widening, FP8 to FP16)
FMMLA (widening, FP8 to FP32)
According to [1]
[1]https://developer.arm.com/documentation/ddi0602
Commit: f7adacf57901ca65977f2af3502f434747cdd183
https://github.com/llvm/llvm-project/commit/f7adacf57901ca65977f2af3502f434747cdd183
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Vlad Serebrennikov for C++ DRs (#114040)
Vlad has been improving our C++ DR conformance testing story for many
months at this point and writing these kinds of test is sometimes non-
trivial, so having a maintainer specific for this is helpful.
Commit: 88e23eb2cfadbf92b109b0aec999378f0c2a1062
https://github.com/llvm/llvm-project/commit/88e23eb2cfadbf92b109b0aec999378f0c2a1062
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
Log Message:
-----------
DAG: Fix legalization of vector addrspacecasts (#113964)
Commit: 183b38eb2261164fdfd6b7deac002edf27a39fe7
https://github.com/llvm/llvm-project/commit/183b38eb2261164fdfd6b7deac002edf27a39fe7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Split off library build system into helpers
This splits off several key parts of the build system into utility
methods. This will be used in upcoming patches to help provide
additional sets of target-specific builtin libraries.
Running llvm-diff on the resulting LLVM bytecode binaries, and regular
diff on SPIR-V binaries, shows no differences before and after this
patch.
Commit: b2bdd8bd39e90bfe3c66f6d5600468570a77ede6
https://github.com/llvm/llvm-project/commit/b2bdd8bd39e90bfe3c66f6d5600468570a77ede6
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/clcfunc.h
A libclc/clc/include/clc/clctypes.h
A libclc/clc/include/clc/geometric/clc_dot.h
A libclc/clc/include/clc/geometric/clc_dot.inc
A libclc/clc/include/clc/internal/clc.h
A libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/dummy.cl
A libclc/clc/lib/clspv64
A libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_dot.cl
A libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv64/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
R libclc/generic/include/clc/clcfunc.h
R libclc/generic/include/clc/clctypes.h
M libclc/generic/lib/geometric/dot.cl
Log Message:
-----------
[libclc] Create an internal 'clc' builtins library
Some libclc builtins currently use internal builtins prefixed with
'__clc_' for various reasons, e.g., to avoid naming clashes.
This commit formalizes this concept by starting to isolate the
definitions of these internal clc builtins into a separate
self-contained bytecode library, which is linked into each target's
libclc OpenCL builtins before optimization takes place.
The goal of this step is to allow additional libraries of builtins
that provide entry points (or bindings) that are not written in OpenCL C
but still wish to expose OpenCL-compatible builtins. By moving the
implementations into a separate self-contained library, entry points can
share as much code as possible without going through OpenCL C.
The overall structure of the internal clc library is similar to the
current OpenCL structure, with SOURCES files and targets being able to
override the definitions of builtins as needed. The idea is that the
OpenCL builtins will begin to need fewer target-specific overrides, as
those will slowly move over to the clc builtins instead.
Another advantage of having a separate bytecode library with the CLC
implementations is that we can internalize the symbols when linking it
(separately), whereas currently the CLC symbols make it into the final
builtins library (and perhaps even the final compiled binary).
This patch starts of with 'dot' as it's relatively self-contained, as
opposed to most of the maths builtins which tend to pull in other
builtins.
We can also start to clang-format the builtins as we go, which should
help to modernize the codebase.
Commit: 667deb640870cbdaac941f30d189ef3fe926141c
https://github.com/llvm/llvm-project/commit/667deb640870cbdaac941f30d189ef3fe926141c
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
Log Message:
-----------
[PS4/PS5][Driver] Apply clang-format to PS4CPU.cpp (NFC) (#114038)
Commit: d732c0b13c55259177f2936516b6087d634078e0
https://github.com/llvm/llvm-project/commit/d732c0b13c55259177f2936516b6087d634078e0
Author: neildhickey <nhickey at nvidia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
A clang/test/Driver/Inputs/cpunative/cortex-a57
A clang/test/Driver/Inputs/cpunative/cortex-a72
A clang/test/Driver/Inputs/cpunative/cortex-a76
A clang/test/Driver/Inputs/cpunative/neoverse-n1
A clang/test/Driver/Inputs/cpunative/neoverse-v2
A clang/test/Driver/aarch64-mcpu-native.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[clang][AArch64] Add getHostCPUFeatures to query for enabled features in cpu info (#97749)
Add getHostCPUFeatures into the AArch64 Target Parser to query the
cpuinfo for the device in the case where we are compiling with
-mcpu=native.
Add LLVM_CPUINFO environment variable to test mock /proc/cpuinfo
files for -mcpu=native
Co-authored-by: Elvina Yakubova <eyakubova at nvidia.com>
Commit: 4b44639a4320f980b3c9fa3b96e911e0741f179c
https://github.com/llvm/llvm-project/commit/4b44639a4320f980b3c9fa3b96e911e0741f179c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Erich Keane for OpenACC (#114041)
Erich is the driving force behind the OpenACC implementation work that
has recently begun in Clang. Given his expertise on the topic and that
he's already aware of maintainer expectations (he maintains templates
and attributes currently), we should recognize that he's also the one
maintaining OpenACC.
Commit: ec871cfcdf3a46ca1be9842035e4271524644ed1
https://github.com/llvm/llvm-project/commit/ec871cfcdf3a46ca1be9842035e4271524644ed1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode][NFC] Remove Pointer::elem() (#114046)
Unused.
Commit: c370869cd6f66e3c2ab33528e44959279311e499
https://github.com/llvm/llvm-project/commit/c370869cd6f66e3c2ab33528e44959279311e499
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Pass/PassRegistry.cpp
Log Message:
-----------
[mlir][NFC] Avoid a warning (#114052)
gcc 14.1 warning: template-id not allowed for destructor in C++20
[-Wtemplate-id-cdtor]
Commit: f490697cb9ad3db101ced7f4844002ffa0c73da8
https://github.com/llvm/llvm-project/commit/f490697cb9ad3db101ced7f4844002ffa0c73da8
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
[clang] [NFC] Fix a couple of typos: assuments and assingment
Commit: 87b6ec3be6b80f8e35d2eaea468e6bca79e79c2e
https://github.com/llvm/llvm-project/commit/87b6ec3be6b80f8e35d2eaea468e6bca79e79c2e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Diagnose placement-new construction to inactive field (#114047)
We can reuse CheckActive() for this.
Commit: b9376915cf897e79a852497c60f18ddacb1830ae
https://github.com/llvm/llvm-project/commit/b9376915cf897e79a852497c60f18ddacb1830ae
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/CodeGenOpenCLCXX/local_addrspace_init.clcpp
Log Message:
-----------
[clang] [NFC] Fix assingments typo
Commit: 340cd4e631d72d02cd79f9aad74d2a354abc977e
https://github.com/llvm/llvm-project/commit/340cd4e631d72d02cd79f9aad74d2a354abc977e
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] fix for abc49cc19463970d5523d7d3332e4c1f83bc2ef7
Commit: f257e9bdbbb790e4fe0a5e2538c92d7edd85a2e5
https://github.com/llvm/llvm-project/commit/f257e9bdbbb790e4fe0a5e2538c92d7edd85a2e5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
Log Message:
-----------
[clang][x86] Update AVX/AVX512 setzero constexpr tests to use the TEST_CONSTEXPR macro
Commit: e281d96a81bca896692da4a07ca1423ee6dc1f53
https://github.com/llvm/llvm-project/commit/e281d96a81bca896692da4a07ca1423ee6dc1f53
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[clang][x86] Add constexpr support for _mm_add_epi32/64 and _mm_sub_epi32/64
Commit: 872981bd236530b160bf788aafd1cbde7b2bfb30
https://github.com/llvm/llvm-project/commit/872981bd236530b160bf788aafd1cbde7b2bfb30
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fix layering for libc
Commit: b6a84e77b696b0d91b7cbed116d6454b6b1cc62b
https://github.com/llvm/llvm-project/commit/b6a84e77b696b0d91b7cbed116d6454b6b1cc62b
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for FMOP4A (widening, 4-way) instructions (#113347)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: a388df712700f38ad9a51d49a657a28e739f5eb4
https://github.com/llvm/llvm-project/commit/a388df712700f38ad9a51d49a657a28e739f5eb4
Author: Sebastian Kreutzer <SebastianKreutzer at gmx.net>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/XRay/xray-shared.cpp
M compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
Log Message:
-----------
[XRay] Remove reliance on default PIC behavior in DSO tests (#113892)
Compiling with `-fxray-shared` requires position-independent code
(introduced in #113548).
Some tests do not explicitly specify this, thus falling back to the
compiler default.
If, for example, Clang is compiled with
`-DCLANG_DEFAULT_PIE_ON_LINUX=OFF`, these checks fail.
This patch addresses this issue in two tests:
- Removing a check in `xray-shared.cpp` that only tests default PIC
behavior
- Adding `-fPIC` explicitly in `clang-xray-shared.cpp`
Commit: 2e612f8d868b3fb88a44964a3d4efd61ee63e06a
https://github.com/llvm/llvm-project/commit/2e612f8d868b3fb88a44964a3d4efd61ee63e06a
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[MLIR][Arith] Improve accuracy of `inferDivU` (#113789)
1) We can always bound the maximum with the numerator.
- https://alive2.llvm.org/ce/z/PqHvuT
2) Even if denominator min can be zero, we can still bound the minimum
result with `lhs.umin u/ rhs.umax`.
This is similar to https://github.com/llvm/llvm-project/pull/110169
Commit: 80a09735ac8bd6e31c824b41f7ee35952e440662
https://github.com/llvm/llvm-project/commit/80a09735ac8bd6e31c824b41f7ee35952e440662
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
R clang/test/Driver/Inputs/cpunative/cortex-a57
R clang/test/Driver/Inputs/cpunative/cortex-a72
R clang/test/Driver/Inputs/cpunative/cortex-a76
R clang/test/Driver/Inputs/cpunative/neoverse-n1
R clang/test/Driver/Inputs/cpunative/neoverse-v2
R clang/test/Driver/aarch64-mcpu-native.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Revert "[clang][AArch64] Add getHostCPUFeatures to query for enabled … (#114066)
…features in cpu info (#97749)"
This reverts commit d732c0b13c55259177f2936516b6087d634078e0.
This is breaking buildbots
https://lab.llvm.org/buildbot/#/builders/190/builds/8413,
https://lab.llvm.org/buildbot/#/builders/56/builds/10880 and a few
others.
Commit: c9d9dc9c24039d85fdf3036368c9fba3d68722fa
https://github.com/llvm/llvm-project/commit/c9d9dc9c24039d85fdf3036368c9fba3d68722fa
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__config
R libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
Log Message:
-----------
[libc++] Remove _LIBCPP_ENABLE_ASSERTIONS, which had been deprecated (#113592)
Commit: e268398fa89c9cc7901ea9b7386fc693023be203
https://github.com/llvm/llvm-project/commit/e268398fa89c9cc7901ea9b7386fc693023be203
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
Log Message:
-----------
[NFC][AMDGPU] Use `!foreach` to replace explicit list of registers (#114005)
Commit: 75e7ba8c0b7efe75632d328a80391b9086ba8740
https://github.com/llvm/llvm-project/commit/75e7ba8c0b7efe75632d328a80391b9086ba8740
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/countbits.hlsl
M clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/countbits.ll
Log Message:
-----------
[HLSL] Re-implement countbits with the correct return type (#113189)
Restricts hlsl countbits to always return a uint32.
Implements a lowering from llvm.ctpop which has an overloaded return
type to dxil cbits op which always returns uint32.
Closes #112779
Commit: a156362e93eba9513611dc0989d516e9946cae48
https://github.com/llvm/llvm-project/commit/a156362e93eba9513611dc0989d516e9946cae48
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/fold-omod-crash.mir
Log Message:
-----------
[AMDGPU] Fix machine verification failure after SIFoldOperandsImpl::tryFoldOMod (#113544)
Fixes #54201
Commit: 1e991b1021c1d7694e1a0dfe9e261fb27555f05f
https://github.com/llvm/llvm-project/commit/1e991b1021c1d7694e1a0dfe9e261fb27555f05f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Corentin Jabot for lambdas (#114043)
Corentin has largely been handling reviews touching lambdas for the past
year or two, so he has significant understanding of the various moving
parts of this fairly substantial C++ feature. Given that work on lambdas
tends to be somewhat specialized, I think it makes sense for it to have
dedicated oversight.
Commit: d43e4ce77d0a314139655c9cf7c3b533b5b72440
https://github.com/llvm/llvm-project/commit/d43e4ce77d0a314139655c9cf7c3b533b5b72440
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
Revert "[gn] port b1be21394e9c"
b1be21394e9c was reverted in 3ac75ee8ec.
This reverts commit 18f4b7e4a862c11816e62cc72fb2a4ca8fac1987, as well
as follow-ups a69d2a18d207947a25838dd01d2116bee384b75b and
4a6b56960f445d111adc9aef799acad8c6ca41f0.
Commit: f906d765baa0a17519b6d3310ba32e1b51b88c6d
https://github.com/llvm/llvm-project/commit/f906d765baa0a17519b6d3310ba32e1b51b88c6d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn build] Port 5ea694816b56
Commit: af44976cad04d8470f205f557eaf172ee1eff0df
https://github.com/llvm/llvm-project/commit/af44976cad04d8470f205f557eaf172ee1eff0df
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/JITLink/BUILD.gn
Log Message:
-----------
[gn build] Port 6128ff663076
Commit: bf6c483e4714841b1511ea3666f05a468bd988fe
https://github.com/llvm/llvm-project/commit/bf6c483e4714841b1511ea3666f05a468bd988fe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[clang][x86] Add constexpr support for SSE2 _mm_set*_epi* intrinsics
Commit: a9c417c28a25c153aa0fdbe2eb5453a93820a3b1
https://github.com/llvm/llvm-project/commit/a9c417c28a25c153aa0fdbe2eb5453a93820a3b1
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
Log Message:
-----------
[MLIR][SCF] Fix LoopPeelOp documentation (NFC) (#113179)
As an example, I added annotations to the peel_front unit test.
```
func.func @loop_peel_first_iter_op() {
// CHECK: %[[C0:.+]] = arith.constant 0
// CHECK: %[[C41:.+]] = arith.constant 41
// CHECK: %[[C5:.+]] = arith.constant 5
// CHECK: %[[C5_0:.+]] = arith.constant 5
// CHECK: scf.for %{{.+}} = %[[C0]] to %[[C5_0]] step %[[C5]]
// CHECK: arith.addi
// CHECK: scf.for %{{.+}} = %[[C5_0]] to %[[C41]] step %[[C5]]
// CHECK: arith.addi
%0 = arith.constant 0 : index
%1 = arith.constant 41 : index
%2 = arith.constant 5 : index
scf.for %i = %0 to %1 step %2 {
arith.addi %i, %i : index
}
return
}
module attributes {transform.with_named_sequence} {
transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) {
%0 = transform.structured.match ops{["arith.addi"]} in %arg1 : (!transform.any_op) -> !transform.any_op
%1 = transform.get_parent_op %0 {op_name = "scf.for"} : (!transform.any_op) -> !transform.op<"scf.for">
%main_loop, %remainder = transform.loop.peel %1 {peel_front = true} : (!transform.op<"scf.for">) -> (!transform.op<"scf.for">, !transform.op<"scf.for">)
transform.annotate %main_loop "main_loop" : !transform.op<"scf.for">
transform.annotate %remainder "remainder" : !transform.op<"scf.for">
transform.yield
}
}
```
Gives :
```
func.func @loop_peel_first_iter_op() {
%c0 = arith.constant 0 : index
%c41 = arith.constant 41 : index
%c5 = arith.constant 5 : index
%c5_0 = arith.constant 5 : index
scf.for %arg0 = %c0 to %c5_0 step %c5 {
%0 = arith.addi %arg0, %arg0 : index
} {remainder} // The first iteration loop (second result) has been annotated remainder
scf.for %arg0 = %c5_0 to %c41 step %c5 {
%0 = arith.addi %arg0, %arg0 : index
} {main_loop} // The main loop (first result) has been annotated main_loop
return
}
```
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: 4df71ab78e9aa729959432bc0f8502760c90235b
https://github.com/llvm/llvm-project/commit/4df71ab78e9aa729959432bc0f8502760c90235b
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Add callbacks for instruction insert/remove/move ops (#112965)
Commit: 318bdd0aeb721c8e9bd67101ac6641e5f9d990f2
https://github.com/llvm/llvm-project/commit/318bdd0aeb721c8e9bd67101ac6641e5f9d990f2
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
M llvm/test/Analysis/StackSafetyAnalysis/local.ll
Log Message:
-----------
[StackSafetyAnalysis] Bail out when calling ifunc
An assertion failure arises when a call instruction calls a GlobalIFunc.
Since we cannot reason about the underlying function, just bail out.
Fix #87923
Pull Request: https://github.com/llvm/llvm-project/pull/113841
Commit: 2ab98dfe19ac384f0cfac1a1fafc56b9dd7ad9b7
https://github.com/llvm/llvm-project/commit/2ab98dfe19ac384f0cfac1a1fafc56b9dd7ad9b7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/docs/resources/test.rst
Log Message:
-----------
[lldb] Update link to GreenDragon in the docs
Commit: 2a9dd8af5ad9783d8ecba6bf93521de64bab6f81
https://github.com/llvm/llvm-project/commit/2a9dd8af5ad9783d8ecba6bf93521de64bab6f81
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/bfcvt-diagnostics.s
M llvm/test/MC/AArch64/SVE2/fcvtx-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/bfcvt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/bfcvt_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvt_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvt_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvtx_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtx_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for zeroing SVE FCVT{X} and BFCVT (#113916)
This patch adds assembly/disassembly support for the following SVE2.2
instructions
- FCVT (zeroing)
- FCVTX (zeroing)
- BFCVT (zeroing)
In accordance with:
https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions
Commit: 39ad84e4d173b43dcd13209dc7c62de7a0476c80
https://github.com/llvm/llvm-project/commit/39ad84e4d173b43dcd13209dc7c62de7a0476c80
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
Log Message:
-----------
[mlir][linalg] Split GenericPadOpVectorizationPattern into two patterns (#111349)
At the moment, `GenericPadOpVectorizationPattern` implements two
orthogonal transformations:
1. Rewrites `tensor::PadOp` into a sequence of `tensor::EmptyOp`,
`linalg::FillOp` and `tensor::InsertSliceOp`.
2. Vectorizes (where possible) `tensor::InsertSliceOp` (see
`tryVectorizeCopy`).
This patch splits `GenericPadOpVectorizationPattern` into two separate
patterns:
1. `GeneralizePadOpPattern` for the first transformation (note that
currently `GenericPadOpVectorizationPattern` inherits from
`GeneralizePadOpPattern`).
2. `InsertSliceVectorizePattern` to vectorize `tensor::InsertSliceOp`.
With this change, we gain the following:
* a clear separation between pre-processing and vectorization
transformations/stages,
* a path to support masked vectorisation for `tensor.insert_slice`
(with a dedicated pattern for vectorization, it is much easier to
specify the input vector sizes used in masking),
* more opportunities to vectorize `tensor.insert_slice`.
Note for downstream users:
--------------------------
If you were using `populatePadOpVectorizationPatterns`, following this
change you will also have to add
`populateInsertSliceVectorizationPatterns`.
Finer implementation details:
-----------------------------
1. The majority of changes in this patch are copy & paste + some edits.
1.1. The only functional change is that the vectorization of
`tensor.insert_slice` is now broadly available (as opposed to being
constrained to the pad vectorization pattern:
`GenericPadOpVectorizationPattern`).
1.2. Following-on from the above, `@pad_and_insert_slice_dest` is
updated. As expected, the input `tensor.insert_slice` Op is no
longer "preserved" and instead gets vectorized successfully.
2. The `linalg.fill` case in `getConstantPadVal` works under the
assumption that only _scalar_ source values can be used. That's
consistent with the definition of the Op, but it's not tested at the
moment. Hence a test case in Linalg/invalid.mlir is added.
3. The behaviour of the two TD vectorization Ops,
`transform.structured.vectorize_children_and_apply_patterns` and
`transform.structured.vectorize` is preserved.
Commit: 12a8f504cfe25afab97e288a44e1d5b1925d24cf
https://github.com/llvm/llvm-project/commit/12a8f504cfe25afab97e288a44e1d5b1925d24cf
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Use the proper gmock public header in unit tests.
This should fix the BuildKite bazel build.
Commit: 0b700f23335e9206e1e460a477df2103ce3c186d
https://github.com/llvm/llvm-project/commit/0b700f23335e9206e1e460a477df2103ce3c186d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/runtime/CUDA/kernel.cpp
Log Message:
-----------
[flang][cuda] Add entry point to launch global function with cluster_dims (#113958)
Commit: b05fec97d59898a63a3e303122bbc7fc5e29ced8
https://github.com/llvm/llvm-project/commit/b05fec97d59898a63a3e303122bbc7fc5e29ced8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
Log Message:
-----------
[flang][cuda] Convert gpu.launch_func to CUFLaunchClusterKernel when cluster dims are present (#113959)
Kernel launch in CUF are converted to `gpu.launch_func`. When the kernel
has `cluster_dims` specified these get carried over to the
`gpu.launch_func` operation. This patch updates the special conversion
of `gpu.launch_func` when cluster dims are present to the newly added
entry point.
Commit: a1f2fb6078bbed8034ce28eafc3518268e25f2ff
https://github.com/llvm/llvm-project/commit/a1f2fb6078bbed8034ce28eafc3518268e25f2ff
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
Log Message:
-----------
[MLIR][OpenMP] Prevent composite omp.simd related crashes (#113680)
This patch updates the translation of `omp.wsloop` with a nested
`omp.simd` to prevent uses of block arguments defined by the latter from
triggering null pointer dereferences.
This happens because the inner `omp.simd` operation representing
composite `do simd` constructs is currently skipped and not translated,
but this results in block arguments defined by it not being mapped to an
LLVM value. The proposed solution is to map these block arguments to the
LLVM value associated to the corresponding operand, which is defined
above.
Commit: f53889ffcad28bbc0faf671626cc90eb4e7da5a8
https://github.com/llvm/llvm-project/commit/f53889ffcad28bbc0faf671626cc90eb4e7da5a8
Author: Jubilee <workingjubilee at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Allow crypto features to imply dependents (#112659)
This relationship is a logical dependency.
Note Zvbc and Zvknhb. They are explicitly called out in the spec as
requiring 64 bits:
-
https://github.com/riscv/riscv-crypto/blob/56ed7952d13eb5bdff92e2b522404668952f416d/doc/vector/riscv-crypto-spec-vector.adoc
Commit: b1d0fe095ba93df47b5db20a3bd55f9ff857836e
https://github.com/llvm/llvm-project/commit/b1d0fe095ba93df47b5db20a3bd55f9ff857836e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove trailing whitespace. NFC
Commit: f964514490ecf6d57dc9f53ebda913a6fe1e3abd
https://github.com/llvm/llvm-project/commit/f964514490ecf6d57dc9f53ebda913a6fe1e3abd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Shafik Yaghmour and Vlad Serebrennikov for C++ conformance (#114071)
Shafik and Vlad are both members of WG21 and both have familiarity with
reasoning about the C++ standard. They've both volunteered to help
answer conformance related questions, and this is an area where we get
quite a bit of questions so having a larger stable of maintainers is
quite useful.
Commit: 9a5b3a1bbca6790602ec3291da850fc4485cc807
https://github.com/llvm/llvm-project/commit/9a5b3a1bbca6790602ec3291da850fc4485cc807
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/group_memory_barrier_with_group_sync.ll
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic (#111884)
fixes #112974
partially fixes #70103
### Changes
- Added new tablegen based way of lowering dx intrinsics to DXIL ops.
- Added int_dx_group_memory_barrier_with_group_sync intrinsic in
IntrinsicsDirectX.td
- Added expansion for int_dx_group_memory_barrier_with_group_sync in
DXILIntrinsicExpansion.cpp`
- Added DXIL backend test case
### Related PRs
* [[clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111883](https://github.com/llvm/llvm-project/pull/111883)
* [[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic
#111888](https://github.com/llvm/llvm-project/pull/111888)
Commit: d661aea4c5668fc9b06f4b26d9fb072b1a6d7ff4
https://github.com/llvm/llvm-project/commit/d661aea4c5668fc9b06f4b26d9fb072b1a6d7ff4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
[OpenMP] Add support for custom callback in AMDGPUStream (#112785)
Summary:
We have the ability to schedule callbacks after certain events complete.
Currently we can register an arbitrary callback in CUDA, but can't in
AMDGPU. I am planning on using this support to move the RPC handling to
a separate thread, then using these callbacks to suspend / resume it
when no kernels are running. This is a preliminary patch to keep this
noise out of that one.
Commit: 4e1b9d34f922d3b8b04a65f29681cd95dc9ce75f
https://github.com/llvm/llvm-project/commit/4e1b9d34f922d3b8b04a65f29681cd95dc9ce75f
Author: Afanasyev Ivan <ivafanas at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineStripDebug.cpp
A llvm/test/CodeGen/Generic/MIRStripDebug/bundles.mir
Log Message:
-----------
[mir-strip-debug] Fix debug location info strip for bundled instructions (#113676)
Fix bug that `mir-strip-debug` pass does not remove debug location from
bundled instructions.
Problem arises during testing that debug info does not affect
optimization passes output (`llvm-lit` with ` -Dllc="llc
-debugify-and-strip-all-safe"`), when pass operates on MIR with bundled
instructions + memory operands.
Let mir test check looks like:
```
CHECK-NEXT: BUNDLE {
CHECK-NEXT: $r3 = LD $r1, $r2 :: (load (s64) from %ir.a, !tbaa !2)
CHECK-NEXT: }
```
So as `mir-strip-debug` pass does not process bundled instructions,
running `llc -debugify-and-strip-all-safe` on the test will produce the
following output:
```
BUNDLE {
$r3 = LD $r1, $r2, debug-location !DILocation(line: 3, column: 1, scope: <0x608cb2b99b10>) :: (load (s64) from %ir.a, !tbaa !2)
}
```
And test will fail, but it shouldn't.
Seems like the root cause is that `mir-strip-debug` pass should remove
debug location from bundled instructions.
Commit: b510cdb895b9188e5819c4c85a6dab22a4d14385
https://github.com/llvm/llvm-project/commit/b510cdb895b9188e5819c4c85a6dab22a4d14385
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
A llvm/include/llvm/ADT/TrieHashIndexGenerator.h
A llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/TrieRawHashMap.cpp
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/TrieRawHashMapTest.cpp
Log Message:
-----------
[ADT] Add TrieRawHashMap (#69528)
Implement TrieRawHashMap can be used to store object with its associated
hash. User needs to supply a strong hashing function to guarantee the
uniqueness of the hash of the objects to be inserted. A hash collision
is not supported and will lead to error or failed to insert.
TrieRawHashMap is thread-safe and lock-free and can be used as
foundation data structure to implement a content addressible storage.
TrieRawHashMap owns the data stored in it and is designed to be:
* Fast to lookup.
* Fast to "insert" if the data has already been inserted.
* Can be used without lock and doesn't require any knowledge of the
participating threads or extra coordination between threads.
It is not currently designed to be used to insert unique new data with
high contention, due to the limitation on the memory allocator.
Commit: 950ee75909d94c582ecac4d3d559c364ed88244f
https://github.com/llvm/llvm-project/commit/950ee75909d94c582ecac4d3d559c364ed88244f
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
Log Message:
-----------
[RISC-V] Fix check of minimum vlen. (#114055)
If we have a minimum vlen, we were adjusting StackSize to change the
unit from vscale to bytes, and then calculating the required padding
size for alignment in bytes. However, we then used that padding size as
an offset in vscale units, resulting in misplaced stack objects.
While it would be possible to adjust the object offsets by dividing
AlignmentPadding by ST.getRealMinVLen() / RISCV::RVVBitsPerBlock, we can
simplify the calculation a bit if instead we adjust the alignment to be
in vscale units.
@topperc This fixes a bug I am seeing after #110312, but I am not 100%
certain I am understanding the code correctly, could you please see if
this makes sense to you?
Commit: 4abc35740760b626d3fcabd001593d46c4b595af
https://github.com/llvm/llvm-project/commit/4abc35740760b626d3fcabd001593d46c4b595af
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Sirraide for AST visitors and Sema (#114092)
Sirraide has been actively reviewing Sema code for a while now and
definitely has the expertise to help maintain that section of the
compiler. Further, he has been refactoring AST visitors to try to reduce
the compile time overhead associated with them and would be a good
resource for keeping an eye on that part of the code base too.
Commit: 639a7ac648f1e50ccd2556e17d401c04f9cce625
https://github.com/llvm/llvm-project/commit/639a7ac648f1e50ccd2556e17d401c04f9cce625
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
Log Message:
-----------
[Clang][AST] Store injected template arguments in TemplateParameterList (#113579)
Currently, we store injected template arguments in
`RedeclarableTemplateDecl::CommonBase`. This approach has a couple
problems:
1. We can only access the injected template arguments of
`RedeclarableTemplateDecl` derived types, but other `Decl` kinds still
make use of the injected arguments (e.g.
`ClassTemplatePartialSpecializationDecl`,
`VarTemplatePartialSpecializationDecl`, and `TemplateTemplateParmDecl`).
2. Accessing the injected template arguments requires the common data
structure to be allocated. This may occur before we determine whether a
previous declaration exists (e.g. when comparing constraints), so if the
template _is_ a redeclaration, we end up discarding the common data
structure.
This patch moves the storage and access of injected template arguments
from `RedeclarableTemplateDecl` to `TemplateParameterList`.
Commit: 449523fa0f957db0fff1c0cd9ec5f59e858ece0b
https://github.com/llvm/llvm-project/commit/449523fa0f957db0fff1c0cd9ec5f59e858ece0b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominate Vassil Vassilev for Modules and Plugins (#114058)
Vassil has significant experience helping users with the plugin
interface in Clang, especially around the new efforts to bring plugin
support to Windows. He also is knowledgeable about modules support.
Commit: 528e975ac4081c7d84c5664c7ca9a18a916db4c7
https://github.com/llvm/llvm-project/commit/528e975ac4081c7d84c5664c7ca9a18a916db4c7
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm.s.expected
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_sort.s
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_sort.s.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_sort_with_comment.s
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_sort_with_comment.s.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_unique.s
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_unique.s.expected
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm.txt.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm_unique.txt
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_dasm_unique.txt.expected
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_multirun_dasm.txt.expected
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/amdgpu-sort.test
A llvm/test/tools/UpdateTestChecks/update_mc_test_checks/amdgpu-unique.test
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_mc_test_checks.py
Log Message:
-----------
[AMDGPU][test]added unique and sort options for update_mc_test_check script (#111769)
add a unique and a sort option to the update_mc_test_check script.
These mc asm/dasm files are usually large in number of lines, and these
lines are mostly similar to each other. These options can be useful when
maintainer is merging or resolving conflicts by making the file
identifical
Also fixed a small issue in asm/dasm such that the auto generated header
line is
1. asm using ";" instead of "//" as comment marker
2. dasm using ";" instead of "#" as comment marker
Commit: ba65710908137fe68e7c039f1e2829c3d37480f3
https://github.com/llvm/llvm-project/commit/ba65710908137fe68e7c039f1e2829c3d37480f3
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Avoid redundant SchedRead on _TIED VPseudos (#113940)
_TIED and _MASK_TIED pseudos have one less operand compared to other
pseudos, thus we shouldn't attach the same number of SchedRead for these
instructions.
I don't think we have a way to (explicitly) check scheduling classes. So
I only test this patch with existing tests.
Commit: 6f66530fd17a2333939e6b5a46d378ac7379f7ca
https://github.com/llvm/llvm-project/commit/6f66530fd17a2333939e6b5a46d378ac7379f7ca
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Pass/PassRegistry.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Pass/PassRegistry.cpp:425:37: error: ISO C++ requires the
name after '::~' to be found in the same scope as the name before
'::~' [-Werror,-Wdtor-name]
Commit: b0dd368d5741b1ad117848e33148d95406b33241
https://github.com/llvm/llvm-project/commit/b0dd368d5741b1ad117848e33148d95406b33241
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Log Message:
-----------
[gn build] Port b510cdb895b9
Commit: 6563ed3162d16e7f067dda554e96d0c9d476f207
https://github.com/llvm/llvm-project/commit/6563ed3162d16e7f067dda554e96d0c9d476f207
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++][NFC] Remove trailing whitespace in the modulemap
Commit: cdacc9b5c7ec020bad24dbdcbeba96ac1d2713e5
https://github.com/llvm/llvm-project/commit/cdacc9b5c7ec020bad24dbdcbeba96ac1d2713e5
Author: Jerry Sun <105613447+jerryyiransun at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DirectiveEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/OptionRSTEmitter.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/TableGen.cpp
M llvm/utils/TableGen/VTEmitter.cpp
Log Message:
-----------
[TableGen] [NFC] Refine TableGen code to comply with `clang-tidy` checks (#113318)
Code cleanups for TableGen files, changes includes function names,
variable names and unused imports.
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: f22c9ddb36dca84547212e087de3319dcc6bea49
https://github.com/llvm/llvm-project/commit/f22c9ddb36dca84547212e087de3319dcc6bea49
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
Log Message:
-----------
[ORC] Single-symbol convenience method does not need to be virtual.
This convenience method just calls the general case which is already virtual.
Commit: 9e37cbb469c0ec2fdbf4e3e7b0d9a2938ac30b01
https://github.com/llvm/llvm-project/commit/9e37cbb469c0ec2fdbf4e3e7b0d9a2938ac30b01
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
Log Message:
-----------
[ORC] Add some missing FIXMEs, move a temporary Error into an if condition.
Commit: 8e14c6c172b122203f46a9ad114d51c74535cbb7
https://github.com/llvm/llvm-project/commit/8e14c6c172b122203f46a9ad114d51c74535cbb7
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M flang/include/flang/Frontend/TargetOptions.h
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/mabi.f90
Log Message:
-----------
[flang] Support -mabi=vec-extabi and -mabi=vec-default on AIX (#113215)
This option is to enable the AIX extended and default vector ABIs.
Commit: efc6d33be9f4b4d0f0e8d3d5f198f2616b75792b
https://github.com/llvm/llvm-project/commit/efc6d33be9f4b4d0f0e8d3d5f198f2616b75792b
Author: Wanyi <kusmour at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/source/Host/common/FileAction.cpp
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/unittests/Host/FileActionTest.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Fix write only file action to truncate the file (#112657)
When `FileAction` opens file with write access, it doesn't clear the
file nor append to the end of the file if it already exists. Instead, it
writes from cursor index 0.
For example, by using the settings `target.output-path` and
`target.error-path`, lldb will redirect process stdout/stderr to files.
It then calls this function to write to the files which the above
symptoms appear.
## Test
- Added unit test checking the file flags
- Added 2 api tests checking
- File content overwritten if the file path already exists
- Stdout and stderr redirection to the same file doesn't change its
behavior
Commit: b4e1af0096fd05ed4bddf11b48b604d75a7103d0
https://github.com/llvm/llvm-project/commit/b4e1af0096fd05ed4bddf11b48b604d75a7103d0
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
Log Message:
-----------
[lldb-dap] Always pass disableASLR to the DAP executable (#113891)
More context can be found in
https://github.com/llvm/llvm-project/pull/110303
For DAP tests running in constrained environments (e.g., Docker
containers), disabling ASLR isn't allowed. So we set `disableASLR=False`
(since https://github.com/llvm/llvm-project/pull/113593).
However, the `dap_server.py` will currently only forward the value
of `disableASLR` to the DAP executable if it's set to `True`. If the
DAP executable wasn't provided a `disableASLR` field it defaults to
`true` too:
https://github.com/llvm/llvm-project/blob/f14743794587db102c6d1b20f9c87a1ac20decfd/lldb/tools/lldb-dap/lldb-dap.cpp#L2103-L2104
This means that passing `disableASLR=False` from the tests is currently
not possible.
This is also true for many of the other boolean arguments of
`request_launch`. But this patch only addresses `disableASLR` for now
since it's blocking a libc++ patch.
Commit: b9978f8c7792a8bfdbef8912b3db7617bc5fddff
https://github.com/llvm/llvm-project/commit/b9978f8c7792a8bfdbef8912b3db7617bc5fddff
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
A flang/test/Fir/CUDA/cuda-constructor-2.f90
Log Message:
-----------
[flang][cuda] Adding variable registration in constructor (#113976)
1) Adding variable registration in constructor
2) Applying feedback from PR
https://github.com/llvm/llvm-project/pull/112989
Commit: c79827cd15ad31b77702e63e5050c1a8b0b44825
https://github.com/llvm/llvm-project/commit/c79827cd15ad31b77702e63e5050c1a8b0b44825
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/SandboxIR/Context.cpp
Log Message:
-----------
[SandboxIR] Fix a warning
This patch fixes:
llvm/lib/SandboxIR/Context.cpp:684:22: error: unused variable
'MaxRegisteredCallbacks' [-Werror,-Wunused-const-variable]
Commit: 9cc5a4bf667ffcd2765a6a00a311fb4ec8559b37
https://github.com/llvm/llvm-project/commit/9cc5a4bf667ffcd2765a6a00a311fb4ec8559b37
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
Log Message:
-----------
Remove llvm::shouldOptForSize() from Utils.h (#112630)
Remove `llvm::shouldOptForSize()` from `Utils.h` since we can use
`llvm::shouldOptimizeForSize()` from `SizeOpts.h` instead.
Depends on https://github.com/llvm/llvm-project/pull/112626
Commit: a18af41c20ac9ca22e3c95da3d71475f9f6c31b5
https://github.com/llvm/llvm-project/commit/a18af41c20ac9ca22e3c95da3d71475f9f6c31b5
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/test/Assembler/invalid-inttype.ll
M llvm/test/Assembler/invalid-name.ll
M llvm/test/Assembler/invalid-name2.ll
M llvm/test/TableGen/64-bit-int.td
M llvm/test/TableGen/invalid-macro-name-command-line.td
M llvm/test/TableGen/prep-diag1.td
M llvm/test/TableGen/prep-diag10.td
M llvm/test/TableGen/prep-diag11.td
M llvm/test/TableGen/prep-diag12.td
M llvm/test/TableGen/prep-diag13.td
M llvm/test/TableGen/prep-diag14.td
M llvm/test/TableGen/prep-diag2.td
M llvm/test/TableGen/prep-diag3.td
M llvm/test/TableGen/prep-diag4.td
M llvm/test/TableGen/prep-diag6.td
M llvm/test/TableGen/prep-diag8.td
M llvm/test/TableGen/prep-diag9.td
M llvm/test/TableGen/prep-ifndef-diag-1.td
M llvm/test/TableGen/prep-ifndef-diag-2.td
M llvm/test/TableGen/unterminated-c-comment.td
M llvm/test/TableGen/unterminated-code-block.td
Log Message:
-----------
[LLVM] Change error messages to start with lower case (#113748)
Change LLVM Asm and TableGen Lexer/Parser error messages to begin with
lower case.
Commit: 3754fc1e9af38951aa00181c0e8110174d3f94fd
https://github.com/llvm/llvm-project/commit/3754fc1e9af38951aa00181c0e8110174d3f94fd
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M compiler-rt/test/hwasan/TestCases/many-threads-uaf.c
M compiler-rt/test/hwasan/TestCases/mem-intrinsics.c
M compiler-rt/test/hwasan/TestCases/use-after-free.c
Log Message:
-----------
[hwasan] Flush stderr/stdout in tests (#114083)
The x86_64_lam_qemu buildbots started failing
(https://lab.llvm.org/buildbot/#/builders/139/builds/5462/steps/2/logs/stdio).
Based on the logs, it appears the HWASan check is correct but it did not
match the stderr/stdout output. This patch attempts to fix the issue by
flushing stderr/stdout as appropriate.
Commit: 3a1228a543bc85e225809b1f3033fac744f1f122
https://github.com/llvm/llvm-project/commit/3a1228a543bc85e225809b1f3033fac744f1f122
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/group_memory_barrier_with_group_sync.ll
Log Message:
-----------
[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic (#111888)
partially fixes #70103
### Changes
* Added int_spv_group_memory_barrier_with_group_sync intrinsic in
IntrinsicsSPIRV.td
* Added lowering for int_spv_group_memory_barrier_with_group_sync in
SPIRVInstructionSelector.cpp
* Added SPIRV backend test case
### Related PRs
* [[clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111883](https://github.com/llvm/llvm-project/pull/111883)
* [[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111884](https://github.com/llvm/llvm-project/pull/111884)
Commit: e205929399d9ee4782b2d8ef1b659f918bdfe7c2
https://github.com/llvm/llvm-project/commit/e205929399d9ee4782b2d8ef1b659f918bdfe7c2
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
Log Message:
-----------
[asan] Flush stderr in test (#114084)
This is the ASan equivalent of
https://github.com/llvm/llvm-project/pull/114083.
The x86_64_lam_qemu buildbots started failing
(https://lab.llvm.org/buildbot/#/builders/139/builds/5462/steps/2/logs/stdio).
Based on the logs, it appears the ASan check is correct but it did not
match the stderr/stdout output. This patch attempts to fix the issue by
flushing stderr as appropriate.
Commit: 8a0cb9ac869334fd6c6bd6aad8408623a7ccd7f6
https://github.com/llvm/llvm-project/commit/8a0cb9ac869334fd6c6bd6aad8408623a7ccd7f6
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/saddo-ssubo.ll
Log Message:
-----------
[PowerPC] Add custom lowering for ssubo (#111748)
This patch is to improve the codegen for ssubo node for i32 in 64-bit
mode by custom lowering.
Commit: 27ef549af2c2f60d05f38db1ecc7a8ad7294351d
https://github.com/llvm/llvm-project/commit/27ef549af2c2f60d05f38db1ecc7a8ad7294351d
Author: z1nke <iamczn.cpp at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
Log Message:
-----------
[clang-tidy] Fix crash in modernize-use-designated-initializers check (#113688)
Fix #113652.
When calling `Node.isAggregate()` and `Node.isPOD()`, if `Node` is declared but
not defined, it will result in null pointer dereference (and if assertions are
enabled, it will cause an assertion failure).
Commit: 5c12434906d85dde4d44036cfb564fd366d9a1a4
https://github.com/llvm/llvm-project/commit/5c12434906d85dde4d44036cfb564fd366d9a1a4
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/test/CodeGen/X86/avx10_2_512bf16-intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2bf16-intrinsics.ll
M llvm/test/CodeGen/X86/avx512dq-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512dq-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512dq-intrinsics.ll
M llvm/test/CodeGen/X86/avx512dqvl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512dqvl-intrinsics.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16vl.ll
Log Message:
-----------
[X86] Emit comments explaining the immediate in vfpclass
This makes the assembly a lot more readable at a glance.
As an example:
```
vfpclasspd $4, %zmm0, %k0 # k0 = isNegativeZero(zmm0)
```
Commit: ba8d9ce8d4f0665f29bb4bb43ce16d02acaed751
https://github.com/llvm/llvm-project/commit/ba8d9ce8d4f0665f29bb4bb43ce16d02acaed751
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Support/TrieRawHashMap.cpp
Log Message:
-----------
[ADT] Fix unused variable from #69528 (#114114)
Remove unused variable to fix build failures from bot.
Commit: ccd73eeab34b31c7c38e9aca05ca4192fb0913b0
https://github.com/llvm/llvm-project/commit/ccd73eeab34b31c7c38e9aca05ca4192fb0913b0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Remove in-house handling of LTO (#113715)
Summary:
This should be the linker's job if the user creates any bitcode files,
then passing `-flto` to the linker for the toolchain should be able to
handle it. Right now this path is only used in the case where someone
does LTO w/ ld.gold targeting a CPU so I think we are safe here as that
will still be forwarded, for bfd it'll be an error as it would on the
host. I think I talked the SYCL team out of using this as well so I
should be good to delete it.
Commit: 70af40ba74cf62fdaa3ae1d7db972c138655049f
https://github.com/llvm/llvm-project/commit/70af40ba74cf62fdaa3ae1d7db972c138655049f
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M compiler-rt/test/hwasan/TestCases/use-after-free.c
Log Message:
-----------
[hwasan] Fix forward '[hwasan] Flush stderr/stdout in tests (#114083)'
3754fc1e9af38951aa00181c0e8110174d3f94fd broke the build because subsequent checks depend on the line numbers
https://lab.llvm.org/buildbot/#/builders/174/builds/7534/steps/6/logs/FAIL__HWAddressSanitizer-x86_64__use-after-free_c
Commit: 8193832fb988e3df1e8e726634783805dca8d9b6
https://github.com/llvm/llvm-project/commit/8193832fb988e3df1e8e726634783805dca8d9b6
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/source/Core/SourceManager.cpp
Log Message:
-----------
[lldb] Search main function with lldb::eFunctionNameTypeFull when getting default file and line. (#113980)
This is to work around the fact that
`SymbolFileNativePDB::FindFunctions` only support
`lldb::eFunctionNameTypeFull` and `lldb::eFunctionNameTypeMethod` now.
Since `main`'s full name is the same as base name (`main`), it's okay to
search with `lldb::eFunctionNameTypeFull` when trying to get the default
file and line. With this, `lldb/test/Shell/Driver/TestSingleQuote.test`
passes on Windows with NativePDB plugin.
Commit: a78861fc55d18046989ff4d624a037e9181da170
https://github.com/llvm/llvm-project/commit/a78861fc55d18046989ff4d624a037e9181da170
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/nvlink-wrapper.c
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
Log Message:
-----------
[NvlinkWrapper] Add support for `--undefined` (#113934)
Summary:
This flag is pretty canonical in ELF linkers, it allows us to force the
link job to extract a library if it defines a specific symbol. This is
mostly useful for letting us forcibly extract things that don't fit the
normal model (i.e. kernels) from static libraries.
Commit: 41baa69a7e2ab3df13334565aa6ccdae1b0113ad
https://github.com/llvm/llvm-project/commit/41baa69a7e2ab3df13334565aa6ccdae1b0113ad
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Fix warnings (#114116)
This patch fixes:
bolt/lib/Core/BinaryFunction.cpp:2537:13: error: enumeration value
'OpNegateRAStateWithPC' not handled in switch [-Werror,-Wswitch]
bolt/lib/Core/BinaryFunction.cpp:2661:13: error: enumeration value
'OpNegateRAStateWithPC' not handled in switch [-Werror,-Wswitch]
bolt/lib/Core/BinaryFunction.cpp:2805:13: error: enumeration value
'OpNegateRAStateWithPC' not handled in switch [-Werror,-Wswitch]
Commit: 94e7d9c0bfe517507ea08b00fb00c32fb2837a82
https://github.com/llvm/llvm-project/commit/94e7d9c0bfe517507ea08b00fb00c32fb2837a82
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Remove Zvk* dependency checks from RISCVISAInfo::checkDependency.
The Zvk* extensions now imply Zve32x or Zve64x so it shouldn't be
possible to fail these dependency checks.
Commit: 83ae171722bea2722afa4efb0558a6d8b8844305
https://github.com/llvm/llvm-project/commit/83ae171722bea2722afa4efb0558a6d8b8844305
Author: David Green <david.green at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
Log Message:
-----------
[AArch64] Add ComputeNumSignBits for VASHR. (#113957)
As with a normal ISD::SRA node, they take the number of sign bits of the
incoming value and increase it by the shifted amount.
Commit: 680901ed8010319843cd81275b845d682f77e27f
https://github.com/llvm/llvm-project/commit/680901ed8010319843cd81275b845d682f77e27f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Implement VPHeaderPHIRecipe::computeCost.
Fill out computeCost implementations for various header PHI recipes,
matching the legacy cost model for now.
Commit: 4a96081224b6c0f166760eab0c42ef3dfadd5ed1
https://github.com/llvm/llvm-project/commit/4a96081224b6c0f166760eab0c42ef3dfadd5ed1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Fix a warning
This patch fixes:
clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp:642:6:
error: unused function 'diagnosticHandler'
[-Werror,-Wunused-function]
Commit: a325c5359310316e393e7e446373fca645002ecb
https://github.com/llvm/llvm-project/commit/a325c5359310316e393e7e446373fca645002ecb
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/unittests/Host/FileActionTest.cpp
Log Message:
-----------
[lldb] Fix lldb windows build breakage from https://github.com/llvm/llvm-project/pull/112657.
LLDB windows build failure: https://lab.llvm.org/buildbot/#/builders/141/builds/3462
Commit: 5cfb07a5d067f7729a1578c7272fb314a89c8596
https://github.com/llvm/llvm-project/commit/5cfb07a5d067f7729a1578c7272fb314a89c8596
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
Revert "[ADT] Use std::string_view inside StringRef (#113775)" (#114133)
This patch reverts commit 89b5d88fb81362b4fb2f833790aa40b7eaa186da.
Some sanitizer failures have been reported, indicating that StringRef
and std::string_view handle data == nulptr differently. Also, they
support different values for the max size (size_t v.s. ptrdiff_t).
Thanks goes to Jorge Gorbe Moya for reporting these.
Commit: 8b55162e195783dd27e1c69fb4d97971ef76725b
https://github.com/llvm/llvm-project/commit/8b55162e195783dd27e1c69fb4d97971ef76725b
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fmul.ll
Log Message:
-----------
[RISCV] Add cost model tests for scalable FP reductions. NFC
There are already some in reduce-scalable-fp.ll but this makes it a
bit easier to see the difference alongside their fixed-length
counterparts.
Commit: ca998b071eba1c92bf8535964183c7c4c3b258c3
https://github.com/llvm/llvm-project/commit/ca998b071eba1c92bf8535964183c7c4c3b258c3
Author: vporpo <vporpodas at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Check wrap flags (#113975)
Commit: 2c5eea0e88a6ef6bf932d90c67aaec2bcc59d340
https://github.com/llvm/llvm-project/commit/2c5eea0e88a6ef6bf932d90c67aaec2bcc59d340
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Fix vector.insert folder for scalar to 0-d inserts (#113828)
The current vector.insert folder tries to replace a scalar with a 0-rank
vector. This patch fixes this crash by not folding unless they types of
the result and replacement are same.
Commit: d90a0d1d986e12c4a6ff2eeffe29cedc34e6e2ab
https://github.com/llvm/llvm-project/commit/d90a0d1d986e12c4a6ff2eeffe29cedc34e6e2ab
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libc/test/src/math/exhaustive/sinpif_test.cpp
Log Message:
-----------
Remove spurious includes from sinpif_test.cpp
MPFR functionality is provided by the MPFRWrapper instead, and the direct "mpfr.h" inclusion is not needed - this test doesn't rely on it (similar to its sibling libc/test/src/math/exhaustive/cospif_test.cpp that doesn't have it).
Commit: f71ea0e72e2419691e3c67bdbbe338d314ee77c0
https://github.com/llvm/llvm-project/commit/f71ea0e72e2419691e3c67bdbbe338d314ee77c0
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libcxx/test/std/strings/basic.string/string.capacity/deallocate_size.pass.cpp
Log Message:
-----------
[libc++][test] Augment `test_alloc` in `deallocate_size.pass.cpp` (#113638)
Making it meet the requirements for allocator since C++11. Fixes
#113609.
This PR doesn't make it meet the C++03 allocator requirements, because
that would make the type too verbose and libc++ has backported many
C++11 features to the C++03 mode.
Drive-by: Removes the `TEST_CONSTEXPR_CXX14` on `allocate`/`dealocate`
which is never in effect (and causes IFNDR-ness before C++23), since
these functions modify the namespace-scoped variable `allocated_`.
Commit: 0f8dbb2fac532e37a9859d52982f0e8994305a11
https://github.com/llvm/llvm-project/commit/0f8dbb2fac532e37a9859d52982f0e8994305a11
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libcxx/include/complex
A libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
Log Message:
-----------
[libc++] Constrain additional overloads of `pow` for `complex` harder (#110235)
Fixes #109858.
The changes in #81379 broke some 3rd party library code that expected
usability of `std::complex<NonFloatingPoint>`. Although such code isn't
portable per [complex.numbers.general]/2, it might be better to make
these additional overloads not to interfere overload resolution too
much.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 75b37c3191254d0c418058cb94c3a7922b7ba71e
https://github.com/llvm/llvm-project/commit/75b37c3191254d0c418058cb94c3a7922b7ba71e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/unittests/Expression/DWARFExpressionTest.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.def
Log Message:
-----------
[DWARF] Fix arity of DW_OP_bra (#114136)
Found by my proof-of-concept DWARF expression evaluator fuzzer.
Commit: 50dd9225f8b33a924970039772faeac03e0a5716
https://github.com/llvm/llvm-project/commit/50dd9225f8b33a924970039772faeac03e0a5716
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
Log Message:
-----------
Revert "[asan] Flush stderr in test (#114084)"
This reverts commit e205929399d9ee4782b2d8ef1b659f918bdfe7c2.
Reason: did not solve the QEMU bot issues (https://lab.llvm.org/buildbot/#/builders/139/builds/5552/steps/30/logs/stdio) and it shouldn't have been necessary anyway (https://github.com/llvm/llvm-project/pull/114084#issuecomment-2445513320)
Commit: 0fa2fb3ed0bc726e5dcf8258bf764aacd1c2e6dc
https://github.com/llvm/llvm-project/commit/0fa2fb3ed0bc726e5dcf8258bf764aacd1c2e6dc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
A flang/test/Fir/CUDA/cuda-launch.fir
Log Message:
-----------
[flang][cuda] Add conversion pattern for cuf.kernel_launch op (#114129)
Commit: 255e441613e39a391e9f85d6a605cc9e46dcf273
https://github.com/llvm/llvm-project/commit/255e441613e39a391e9f85d6a605cc9e46dcf273
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/SLPVectorizer/X86/conversion-fp16.ll
Log Message:
-----------
X86: Do not return invalid cost for fp16 conversion (#114128)
Returning invalid instruction costs when converting from/to fp16 in
`X86TTIImpl::getCastInstrCost` when there is no hardware support
available was triggering asserts. This changes the code to return a
large (arbitrary) number to model the fact that libcalls are used to
implement the conversion.
This also simplifies the code by only reporting costs for the scalar
fp16 conversion; vectorized costs being left to the fallback assuming
scalarization.
This is a follow-up to assertion issues reported for the changes in
#113195
Commit: 13a3c4f97cf33279d597148ec48c71337aa16e9a
https://github.com/llvm/llvm-project/commit/13a3c4f97cf33279d597148ec48c71337aa16e9a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
Log Message:
-----------
[RISCV] Add OperandType to frmarg and rtzarg. (#114142)
Teach RISCVInstrInfo::verifyInstruction to validate them.
This is partially extracted from #89047, but that did not include the
verification.
Commit: d9268289c3858c4ae877ff3bb90f28c160a977c8
https://github.com/llvm/llvm-project/commit/d9268289c3858c4ae877ff3bb90f28c160a977c8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/riscv-profiles.c
Log Message:
-----------
[RISCV] Add sha and supm to checks in riscv-profiles.c (#114123)
Commit: 8800b739bfe3ddc0bd32c158a016ffd0eee1e352
https://github.com/llvm/llvm-project/commit/8800b739bfe3ddc0bd32c158a016ffd0eee1e352
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Refactor FP, SP and RA in RISCVFrameLowering.cpp. NFC (#113818)
Those registers are too fragmented in terms of usage, some are hard
coded and some are retrieved by calling function. Also some have
comments for alias name, some don't.
Commit: 63eb40eeb1b7aac57a181f6b5f9170ea94cef738
https://github.com/llvm/llvm-project/commit/63eb40eeb1b7aac57a181f6b5f9170ea94cef738
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/ccomplex
M libcxx/include/ciso646
M libcxx/include/complex.h
A libcxx/include/cstdalign
M libcxx/include/cstdbool
M libcxx/include/ctgmath
M libcxx/include/module.modulemap
M libcxx/include/tgmath.h
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/include_as_c.sh.cpp
M libcxx/test/libcxx/libcpp_version.gen.py
M libcxx/test/libcxx/no_assert_include.gen.py
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/depr/depr.c.headers/ciso646.compile.pass.cpp
A libcxx/test/std/depr/depr.c.headers/stdalign_h.compile.pass.cpp
A libcxx/test/std/depr/depr.cpp.headers/ccomplex.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/ciso646.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/cstdalign.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/cstdbool.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/ctgmath.verify.cpp
A libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdbool.pass.cpp
M libcxx/test/std/numerics/c.math/ctgmath.pass.cpp
M libcxx/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp
M libcxx/utils/libcxx/header_information.py
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[libc++] Deprecate and remove meaningless `<cxxx>` headers (#111615)
This PR deprecates `<ccomplex>`, `<cstdbool>`, `<ctgmath>`, and
`<ciso646>` in C++17 and "removes" them in C++20 by special deprecation
warnings.
`<cstdalign>` is previously missing. This PR also tries to add them, and
then deprecates and "removes" `<cstdalign>`.
Papers:
- https://wg21.link/P0063R3
- https://wg21.link/P0619R4
Closes #99985.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: facdae62b7be4fe177c8a130c68aef0305dc6eb3
https://github.com/llvm/llvm-project/commit/facdae62b7be4fe177c8a130c68aef0305dc6eb3
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCInstPrinter.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.cpp
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.h
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
Log Message:
-----------
[MCInstPrinter] Make printRegName non-const
Similar to printInst. printRegName may change states (e.g. #113834).
Commit: 9e8219a78c80442fb0f795f17926595a94a8e7d7
https://github.com/llvm/llvm-project/commit/9e8219a78c80442fb0f795f17926595a94a8e7d7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/unittests/IR/VerifierTest.cpp
Log Message:
-----------
IR: Fix verifier missing addrspace mismatch in vector GEPs (#114091)
Commit: c62130f7b35412e7caadf5fd9547f21a736c4543
https://github.com/llvm/llvm-project/commit/c62130f7b35412e7caadf5fd9547f21a736c4543
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
Log Message:
-----------
[RISCV] Add OperandType to loadfpimm. (#114150)
This is represented in the MachineInstr and MCInst as a 5-bit unsigned
immediate so we use OPERAND_UIMM5. If someone needs to know for sure its
an FLI constant in the future we can break it out to a new type.
Commit: 2c313259c65317f097d57ab4c6684b25db98f2e4
https://github.com/llvm/llvm-project/commit/2c313259c65317f097d57ab4c6684b25db98f2e4
Author: lialan <xunli at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
Log Message:
-----------
[MLIR] VectorEmulateNarrowType to support loading of unaligned vectors (#113411)
Previously, the pass only supported emulation of loading vector sizes
that are multiples of the emulated data type. This patch expands its
support for emulating sizes that are not multiples of byte sizes. In
such cases, the element values are packed back-to-back to preserve
memory space.
To give a concrete example: if an input has type `memref<3x3xi2>`, it is
actually occupying 3 bytes in memory, with the first 18 bits storing the
values and the last 6 bits as padding. The slice of `vector<3xi2>` at
index `[2, 0]` is stored in memory from bit 12 to bit 18. To properly
load the elements from bit 12 to bit 18 from memory, first load byte 2
and byte 3, and convert it to a vector of `i2` type; then extract bits 4
to 10 (element index 2-5) to form a `vector<3xi2>`.
A limitation of this patch is that the linearized index of the unaligned
vector has to be known at compile time. Extra code needs to be emitted
to handle it if the condition does not hold.
The following ops are updated:
* `vector::LoadOp`
* `vector::TransferReadOp`
* `vector::MaskedLoadOp`
Commit: 29bff4aad8eb7f54f99e0496b735aee193063b04
https://github.com/llvm/llvm-project/commit/29bff4aad8eb7f54f99e0496b735aee193063b04
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/lib/MC/MCInstPrinter.cpp
A llvm/test/tools/llvm-objdump/X86/disassemble-color.s
Log Message:
-----------
[llvm-objdump] Fix coloring with nested WithMarkup
WithMarkup objects may nest, resulting in the `)` in `leaq
(%rdx,%rax), %rbx` to be green instead of the default color,
mismatching the color of `(`.
```
% llvm-mc -triple=x86_64 -mdis <<< '0x48 0x8d 0x1c 0x02'
.text
leaq <mem:(<reg:%rdx>,<reg:%rax>)>, <reg:%rbx>
```
To ensure that `(` and `)` get the same color, maintain a color stack
within MCInstPrinter.
Fix #99661
Pull Request: https://github.com/llvm/llvm-project/pull/113834
Commit: 3c02fea737d774bbf174c6b763593ad3e7f56221
https://github.com/llvm/llvm-project/commit/3c02fea737d774bbf174c6b763593ad3e7f56221
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC] Remove stray semicolons (#114057)
Commit: ef455e6b16334128c008fc57a4d8ace701934e80
https://github.com/llvm/llvm-project/commit/ef455e6b16334128c008fc57a4d8ace701934e80
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[TableGen] Replace all lingering uses of getName with getEnumName
The former is a wrapper for the latter with two differences: Other is
mapped to "UNKNOWN" (rather than "MVT::Other"), and iPTR(Any) are mapped
to "TLI.getPointerTy()" rather than "MVT::iPTR(Any)".
The only uses are in FastISelMap::printFunctionDefinitions. Most of
these uses are just a form of name mangling to ensure uniqueness, so the
actual string isn't important (and, in the case of MVT::iPTR(Any), were
both to be used, they would clash). Two uses are for a case statement,
which requires the expression to be a constant (of the right type), but
neither UNKNOWN nor TLI.getPointerTy() are constants, so would not work
there. The remaining uses are where an expression is needed, so UNKNOWN
similarly doesn't work, though TLI.getPointerTy() could in this case.
However, neither iPTR nor iPTRAny are supposed to make it this far
through TableGen, and should instead have been replaced with concrete
types, so this case should not be hit. Moreover, for almost all of these
uses, the name is passed to getLegalCName, which will strip an MVT::
prefix but will leave TLI.getPointerTy() unchanged, which is not a valid
C identifier, nor component thereof.
Thus, delete this unnecessary, and mostly-broken, wrapper and just use
the underlying getEnumName. This has been verified to have no effect on
the generated files for any in-tree target, including experimental ones.
Reviewers: arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/113731
Commit: e8b7f53fa4dc8a9f74a3d67dfb89eb68fcd78679
https://github.com/llvm/llvm-project/commit/e8b7f53fa4dc8a9f74a3d67dfb89eb68fcd78679
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Remove a pointless check for iPTRAny
We've already called EnforceInteger on Types[0], and iPTRAny isn't
regarded as an integer type (note that TableGen special-cases iPTR here
to include that, though), so we cannot possibly still have an iPTRAny by
this point. Delete the check, and let getFixedSizeInBits catch it along
with all the other overloaded types if that ever becomes false. Also
document why we have this check whilst here.
Reviewers: arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/113732
Commit: 9467645547f99ba8fa8152d514f06e76e0be8585
https://github.com/llvm/llvm-project/commit/9467645547f99ba8fa8152d514f06e76e0be8585
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
Log Message:
-----------
[CodeGen] Rename MVT::iPTRAny to MVT::pAny
Whilst in upstream LLVM iPTRAny is only ever an integer, essentially an
alias for iPTR, this is not true in CHERI LLVM, where it gets used to
mean "iPTR or cPTR", i.e. either an integer address or a capability
(with cPTR and cN being the capability equivalents of iPTR and iN).
Moreover, iPTRAny is already not itself regarded as an integer (calling
isInteger() will give false), so the "i" prefix is misleading, and it
stands out as different from all the other xAny that have a single
letter prefix denoting their type.
Thus, rename it to pAny, reflecting that it is an overloaded pointer
type, which could end up being specialised to an integer type, but does
not have to be.
This has been verified to have no effect on the generated files for LLVM
itself or any in-tree target beyond the replacement of the identifier
iPTRAny with pAny in GenVT.inc.
Reviewers: arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/113733
Commit: 0d94c7b5ceb84b33b50c8e7b1fa66e9996a29373
https://github.com/llvm/llvm-project/commit/0d94c7b5ceb84b33b50c8e7b1fa66e9996a29373
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
Log Message:
-----------
[flang][cuda][NFC] Make pattern names homogenous (#114156)
Dialect name is uppercase. Make all the patterns prefix homogenous.
Commit: cb04d3378096b83e5e357490ff8b1c479f34c469
https://github.com/llvm/llvm-project/commit/cb04d3378096b83e5e357490ff8b1c479f34c469
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
Improve namespace lookup using .debug_names parent chain (#110062)
## Summary
This PR is a continuation of
https://github.com/llvm/llvm-project/pull/108907 by using `.debug_names`
parent chain faster lookup for namespaces.
## Implementation
Similar to https://github.com/llvm/llvm-project/pull/108907. This PR
adds a new API: `GetNamespacesWithParents` in `DWARFIndex` base class.
The API performs the same function as `GetNamespaces()` with additional
filtering using parents `CompilerDeclContext`. A default implementation
is given in `DWARFIndex` class which parses debug info and performs the
matching. In the `DebugNameDWARFIndex` override, parents
`CompilerDeclContext` is cross checked with parent chain in
`.debug_names` for much faster filtering before fallback to base
implementation for final filtering.
## Performance Results
For the same benchmark used in
https://github.com/llvm/llvm-project/pull/108907, this PR improves: 48s
=> 28s
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 3de5dbb1110887d5127e815f3ca247a9d839ee85
https://github.com/llvm/llvm-project/commit/3de5dbb1110887d5127e815f3ca247a9d839ee85
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
[AMDGPU][Attributor] Check the validity of a dependent AA before using its value (#114165)
Even though the Attributor framework will invalidate all its dependent
AAs after the current iteration, a dependent AA can still use the worst
state of a depending AA if it doesn't check the state of the depending
AA in current iteration.
Commit: cc60c46e39b0fffadc83a905b37d98aff426ac17
https://github.com/llvm/llvm-project/commit/cc60c46e39b0fffadc83a905b37d98aff426ac17
Author: Lei Wang <wlei at fb.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/CodeGen/pgo-cold-function-coverage.c
Log Message:
-----------
specify clang --target to fix breakage on AIX (#114127)
`-fprofile-sample-use` is not supported on AIX, which caused a CI
failure.
Commit: 8420dbf2b98edcaf966281912e7a2a4f7a2d6572
https://github.com/llvm/llvm-project/commit/8420dbf2b98edcaf966281912e7a2a4f7a2d6572
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Refine the constructor of VPWidenIntrinsicRecipe. nfc (#113890)
Infers member MayReadFromMemory, MayWriteToMemory, and
MayHaveSideEffects based on intrinsic attributes.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: f672cc1ee1a4315f83f08cdca7dd2ccf099ff09c
https://github.com/llvm/llvm-project/commit/f672cc1ee1a4315f83f08cdca7dd2ccf099ff09c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Add OperandType for condition code arguments used by select and SFB pseudos. (#114163)
Commit: 922a0d3dfe2db7a2ef50e8cef4537fa94a7b95bb
https://github.com/llvm/llvm-project/commit/922a0d3dfe2db7a2ef50e8cef4537fa94a7b95bb
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
[NFC][AMDGPU][Attributor] Exit earlier if entry CC (#114177)
Avoid calling TTI or other stuff unnecessarily
Commit: 9a7519fdb39f21a807189e1ed06826b43db929e1
https://github.com/llvm/llvm-project/commit/9a7519fdb39f21a807189e1ed06826b43db929e1
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
Revert "[NFC][AMDGPU][Attributor] Exit earlier if entry CC (#114177)"
This reverts commit 922a0d3dfe2db7a2ef50e8cef4537fa94a7b95bb.
Commit: bb3915149a7c9b1660db9caebfc96343352e8454
https://github.com/llvm/llvm-project/commit/bb3915149a7c9b1660db9caebfc96343352e8454
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[MemProf] Support for random hotness when writing profile (#113998)
Add support for generating random hotness in the memprof profile writer,
to be used for testing. The random seed is printed to stderr, and an
additional option enables providing a specific seed in order to
reproduce a particular random profile.
Commit: 6d9fc1b84619ca22f3e70d581c87940bcfbf3a93
https://github.com/llvm/llvm-project/commit/6d9fc1b84619ca22f3e70d581c87940bcfbf3a93
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-invalid-vector-gep.ll
Log Message:
-----------
AMDGPU: Fix producing invalid IR on vector typed getelementptr (#114113)
This did not consider the IR change to allow a scalar base with a vector
offset part. Reject any users that are not explicitly handled.
In this situation we could handle the vector GEP, but that is a larger
change. This just avoids the IR verifier error by rejecting it.
Commit: 62ff85f0799560b42754ef77b5f64ca2c7feeff7
https://github.com/llvm/llvm-project/commit/62ff85f0799560b42754ef77b5f64ca2c7feeff7
Author: Santhosh Kumar Ellendula <quic_sellendu at quicinc.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/tools/lldb-dap/ProgressEvent.cpp
Log Message:
-----------
[lldb-dap] Fix for missing 'raw_string_ostream::flush' removal in ProgressEvent.cpp; addressing #108745 (#114087)
I hope it was missed unintentionally, pushing the same for the review.
Ref: https://github.com/llvm/llvm-project/pull/108745
---------
Co-authored-by: Santhosh Kumar Ellendula <sellendu at hu-sellendu-hyd.qualcomm.com>
Co-authored-by: Santhosh Kumar Ellendula <sellendu at hu-sellendu-lv.qualcomm.com>
Commit: e7262c15d3a2aef7cf4065e654181ab86eed24cc
https://github.com/llvm/llvm-project/commit/e7262c15d3a2aef7cf4065e654181ab86eed24cc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Add OperandType for sew and vecpolicy operands. (#114168)
Commit: f1467b3f73e2849fd8349ff215cf01987fa51a9d
https://github.com/llvm/llvm-project/commit/f1467b3f73e2849fd8349ff215cf01987fa51a9d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
Log Message:
-----------
[SDAG][NFC] Convert `SDNodeFlags` into an enumeration (#114167)
This patch converts `SDNodeFlags` into an enumeration as we did for
`FastMathFlags`. It simplifies the implementation and improves
compile-time. This patch is NFC since it doesn't break SDNodeFlags API.
Commit: df0d249b6511289f1e8c1389f4fd33d7b4c083fa
https://github.com/llvm/llvm-project/commit/df0d249b6511289f1e8c1389f4fd33d7b4c083fa
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir] [linalg] fix side effect of linalg op (#114045)
Linalg op need to take into account memory side effects happening inside
the region when determining their own side effects.
This patch fixed issue
https://github.com/llvm/llvm-project/issues/112881
Commit: b47e2316bf083cd2e0e5ac2ef1e9c913f839a51b
https://github.com/llvm/llvm-project/commit/b47e2316bf083cd2e0e5ac2ef1e9c913f839a51b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Warn the use of a raw pointer/reference when the guardian variable gets mutated. (#113859)
This checker has a notion of a guardian variable which is a variable and
keeps the object pointed to by a raw pointer / reference in an inner
scope alive long enough to "guard" it from use-after-free. But such a
guardian variable fails to flawed to keep the object alive if it ever
gets mutated within the scope of a raw pointer / reference.
This PR fixes this bug by introducing a new AST visitor class,
GuardianVisitor, which traverses the compound statements of a guarded
variable (raw pointer / reference) and looks for any operator=, move
constructor, or calls to "swap", "leakRef", or "releaseNonNull"
functions.
Commit: 44d0e9522a80e1301e96c4751b7572ae0c9cb4dd
https://github.com/llvm/llvm-project/commit/44d0e9522a80e1301e96c4751b7572ae0c9cb4dd
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/TailDuplication.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/TailDuplication.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/test/CodeGen/AArch64/jump-table-duplicate.mir
M llvm/test/CodeGen/AMDGPU/early-tailduplicator-nophis.mir
M llvm/test/CodeGen/AMDGPU/early-tailduplicator-terminator.mir
M llvm/test/CodeGen/AMDGPU/stop-tail-duplicate-cfg-intrinsic.mir
Log Message:
-----------
[CodeGen][NewPM] Port TailDuplicate pass to NPM (#113293)
Commit: cad09404cc804dd35d2f3b742d1d6efb6d5a9449
https://github.com/llvm/llvm-project/commit/cad09404cc804dd35d2f3b742d1d6efb6d5a9449
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseStmt.cpp
A clang/test/SemaCXX/gh113468.cpp
Log Message:
-----------
[sema] enhance error handling for compound stmt body in `StmtExpr` (#113760)
Mark the whole StmtExpr invalid when the last statement in compound
statement is invalid.
Because the last statement need to do copy initialization, it causes
subsequent errors to simply ignore last invalid statement.
Fixed: #113468
Commit: 5df84a75351d0e9c3e20d50ac1047c937e3b8e88
https://github.com/llvm/llvm-project/commit/5df84a75351d0e9c3e20d50ac1047c937e3b8e88
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC] clean space in clang release note (#114188)
Commit: dc56a86b96d77a93f761995d50f7b2f112856311
https://github.com/llvm/llvm-project/commit/dc56a86b96d77a93f761995d50f7b2f112856311
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/constexpr-string.cpp
M clang/test/SemaCXX/warn-memaccess.cpp
Log Message:
-----------
[clang] Fix 71315698c9 in presence of incomplete types (#114095)
Incomplete types are not considered trivially copyable by clang but we
don't want to warn about invalid argument for memcpy / memset in that
case because we cannot prove they are not Trivially Copyable.
Commit: 362273d1435c0cc104418f88b0140d0388e9ee22
https://github.com/llvm/llvm-project/commit/362273d1435c0cc104418f88b0140d0388e9ee22
Author: Nagy-Egri Máté Ferenc <beiktatas+github at outlook.hu>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/tools/clang-format/git-clang-format.bat
Log Message:
-----------
[clang-format] Fix path expansion inside git-clang-format.bat (#114078)
The trampoline script used on Windows (due to the absence of shebang
support) doesn't properly expand the path to the Python script, as it
leaves out the drive letter.
Functionally equivalent reproducer in action
```
PS C:\Users\mate> gc (gcm git-clang-formatish.bat).Source
@ECHO OFF
echo "%~pn0" %*
PS C:\Users\mate> git-clang-formatish
"\Users\mate\git-clang-formatish"
```
Adding `d` to the variable modifiers [as per the
docs](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/for)
the drive letter is added. Even in the magical cases when it works.
(I couldn't reproduce, but I suspect it's only tested from some
bash/cygwin variant, where the path becomes `/c/Program Files/...`, but
the drive letter is needed. Without it, I also observed cases when used
via `git clang-format` (without the inital dash) it tries to infer the
drive letter based on the current working directory. In that case it
fails to find `D:\Program Files\LLVM\bin\clang-format.exe`, which
naturally fails, because `Program Files` is on `C:`)
Commit: 9c8dab018dee3143c28a7d7f5fdb32385da36101
https://github.com/llvm/llvm-project/commit/9c8dab018dee3143c28a7d7f5fdb32385da36101
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang] Update the lifetimebound example with up-to-date expected warning and change the sample code to be a fully working example (#113437)
Tested the code: https://godbolt.org/z/n5xcq65YM
Tested the generated documentation:
![BruDQ2UkTXHA9PE](https://github.com/user-attachments/assets/cf527d1a-ef3b-41f2-84c2-4ca38af16d2d)
Commit: f3584222682bd64daa89cbfe41c071c6bfc2347a
https://github.com/llvm/llvm-project/commit/f3584222682bd64daa89cbfe41c071c6bfc2347a
Author: David Green <david.green at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/Transforms/Attributor/nofpclass-phiselect.ll
Log Message:
-----------
[Attributor] Add nofpclass test for phi+select recurrences. NFC
Commit: e61a7dc256bd530a0b9551e2732e5b5b77e2cd1e
https://github.com/llvm/llvm-project/commit/e61a7dc256bd530a0b9551e2732e5b5b77e2cd1e
Author: Mahesh-Attarde <145317060+mahesh-attarde at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
A llvm/test/CodeGen/X86/avx10_2-cmp.ll
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX512] Use comx for compare (#113567)
We added AVX10.2 COMEF ISA in LLVM, This does not optimize correctly in
scenario mentioned below.
Summary
Input
```
define i1 @oeq(float %x, float %y) {
%1 = fcmp oeq float %x, %y
ret i1 %1
}define i1 @une(float %x, float %y) {
%1 = fcmp une float %x, %y
ret i1 %1
}define i1 @ogt(float %x, float %y) {
%1 = fcmp ogt float %x, %y
ret i1 %1
}
// Prior AVX10.2, default code generation
oeq: # @oeq
cmpeqss xmm0, xmm1
movd eax, xmm0
and eax, 1
ret
une: # @une
cmpneqss xmm0, xmm1
movd eax, xmm0
and eax, 1
ret
ogt: # @ogt
ucomiss xmm0, xmm1
seta al
ret
```
This patch will remove `cmpeqss` and `cmpneqss`. For complete transform
check unit test.
Continuing on what PR https://github.com/llvm/llvm-project/pull/113098
added
Earlier Legalization and combine expanded `setcc oeq:ch` node into `and`
and `setcc eq` , `setcc o`. From suggestions in community
new internal transform
```
Optimized type-legalized selection DAG: %bb.0 'hoeq:'
SelectionDAG has 11 nodes:
t0: ch,glue = EntryToken
t2: f16,ch = CopyFromReg t0, Register:f16 %0
t4: f16,ch = CopyFromReg t0, Register:f16 %1
t14: i8 = setcc t2, t4, setoeq:ch
t10: ch,glue = CopyToReg t0, Register:i8 $al, t14
t11: ch = X86ISD::RET_GLUE t10, TargetConstant:i32<0>, Register:i8 $al, t10:1
Optimized legalized selection DAG: %bb.0 'hoeq:'
SelectionDAG has 12 nodes:
t0: ch,glue = EntryToken
t2: f16,ch = CopyFromReg t0, Register:f16 %0
t4: f16,ch = CopyFromReg t0, Register:f16 %1
t15: i32 = X86ISD::UCOMX t2, t4
t17: i8 = X86ISD::SETCC TargetConstant:i8<4>, t15
t10: ch,glue = CopyToReg t0, Register:i8 $al, t17
t11: ch = X86ISD::RET_GLUE t10, TargetConstant:i32<0>, Register:i8 $al, t10:1
```
Earlier transform is mentioned here
https://github.com/llvm/llvm-project/pull/113098#discussion_r1810307663
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: 259eaa6878ead1e2e7ef572a874dc3d885c1899b
https://github.com/llvm/llvm-project/commit/259eaa6878ead1e2e7ef572a874dc3d885c1899b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/Modules/static-initializer.cppm
Log Message:
-----------
[C++20] [Modules] Fix the duplicated static initializer problem (#114193)
Reproducer:
```
//--- a.cppm
export module a;
int func();
static int a = func();
//--- a.cpp
import a;
```
The `func()` should only execute once. However, before this patch we
will somehow import `static int a` from a.cppm incorrectly and
initialize that again.
This is super bad and can introduce serious runtime behaviors.
And also surprisingly, it looks like the root cause of the problem is
simply some oversight choosing APIs.
Commit: e8b95a02bff8498c888ed5e85d0197ec82b95cd6
https://github.com/llvm/llvm-project/commit/e8b95a02bff8498c888ed5e85d0197ec82b95cd6
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU][MC][NFC] Add more VIMAGE encoding tests (#114054)
These are primarily meant to test disassembler and that no more than
one variant per instruction is in DisassemblerTables as that can cause
confusion when decoding v0 (vgpr0) whose value when encoded is 0.
Commit: 652988b65805b23f228db34adfff068cffd517cc
https://github.com/llvm/llvm-project/commit/652988b65805b23f228db34adfff068cffd517cc
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Transforms/debug-tuple-type.fir
Log Message:
-----------
[flang][debug] Support TupleType. (#113917)
Handling is similar to RecordType with following differences:
1. No check for cyclic references
2. No extra processing for lower bounds of array members.
3. No line information as TupleType is a lowering artefact and does not
really represent an entity in the code.
Commit: 03948882d3bac33cf71a47df1c7ee0f87aad9fc2
https://github.com/llvm/llvm-project/commit/03948882d3bac33cf71a47df1c7ee0f87aad9fc2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Support/TrieRawHashMap.cpp
Log Message:
-----------
Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFC
NumBits should be less than 20 so using an unsigned instead of size_t should be OK
Commit: f7b5f0c805c899b59bcc37279a0a05dca35d3a25
https://github.com/llvm/llvm-project/commit/f7b5f0c805c899b59bcc37279a0a05dca35d3a25
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/andnot-patterns.ll
Log Message:
-----------
[DAG] Fold (and X, (rot (not Y), Z)) -> (and X, (not (rot Y, Z)))
On ANDNOT capable targets we can always do this profitably, without ANDNOT we only attempt this if we don't introduce an additional NOT
Followup to #112547
Commit: 0fb76bae6b2abfe5e0a34557f365a586be989364
https://github.com/llvm/llvm-project/commit/0fb76bae6b2abfe5e0a34557f365a586be989364
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__type_traits/desugars_to.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/src/algorithm.cpp
Log Message:
-----------
Reapply "[libc++] Simplify the implementation of std::sort a bit (#104902)" (#114023)
This reverts commit ef44e4659878f2. The patch was originally reverted
because it was
deemed to introduce a performance regression for small inputs, however
it also fixed
a previous performance regression for larger inputs. So overall, this
patch is desirable.
Commit: f447cf15b2fcf40e519633d4cd211bb4211bfc08
https://github.com/llvm/llvm-project/commit/f447cf15b2fcf40e519633d4cd211bb4211bfc08
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/CSKY/CSKY.td
Log Message:
-----------
[CSKY] Fix some typos in CPU feature descriptions (NFC) (#105774)
In Zig, we have a tool that updates our CPU model/feature data from
LLVM's. Noticed these typos when running it for LLVM 19.
Note: I don't have commit access.
Commit: 092a819e94da3fc0cac6982e99861546237fcb04
https://github.com/llvm/llvm-project/commit/092a819e94da3fc0cac6982e99861546237fcb04
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/master_taskloop.f90
A flang/test/Lower/OpenMP/master_taskloop_simd.f90
A flang/test/Lower/OpenMP/parallel-master-taskloop-simd.f90
A flang/test/Lower/OpenMP/parallel-master-taskloop.f90
A flang/test/Lower/OpenMP/parallel-master.f90
A flang/test/Parser/OpenMP/master-unparse.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/deprecation.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
Log Message:
-----------
[Flang][OpenMP] Add frontend support for directives involving master (#113893)
Issue deprecation warning for these directives.
Lowering currently supports parallel master, for all other combined or
composite directives involving master, issue TODO errors.
Note: The first commit changes the formatting and generalizes the
deprecation message emission for reuse in the second commit. I can pull
it out into a separate commit if required.
Commit: 2de1fc82861edbc484b7a1b82a37aa29d4b982de
https://github.com/llvm/llvm-project/commit/2de1fc82861edbc484b7a1b82a37aa29d4b982de
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
Log Message:
-----------
[PhaseOrdering][X86] Add additional test coverage for #49736
I've kept the old PR50392 tag since this is such an old issue....
Commit: fcfd64304fce91747b8b03ce84919c4415a941d6
https://github.com/llvm/llvm-project/commit/fcfd64304fce91747b8b03ce84919c4415a941d6
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lld/ELF/Options.td
Log Message:
-----------
[lld][ELF] Fix typo in help text for plugin-opt=opt-remarks-with-hotness (NFC) (#114016)
Commit: 5dac2db5a8dab1feccc176cfb6cc4080fa5656e4
https://github.com/llvm/llvm-project/commit/5dac2db5a8dab1feccc176cfb6cc4080fa5656e4
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aarch64-cpu-supports-target.c
M clang/test/CodeGen/aarch64-fmv-dependencies.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/SemaCXX/attr-target-version.cpp
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
M llvm/lib/Target/AArch64/AArch64FMV.td
Log Message:
-----------
[FMV][AArch64] Remove features which can be expressed as a combination of others. (#113580)
Removes sve-bf16, sve-ebf16, and sve-i8mm since they are obsolete. One
could write target_version("sve+bf16") instead of sve-bf16 for instance.
Approved in ACLE as https://github.com/ARM-software/acle/pull/353
Commit: bc999ee57af61a75511f73b9544051984490344d
https://github.com/llvm/llvm-project/commit/bc999ee57af61a75511f73b9544051984490344d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
Log Message:
-----------
[PhaseOrdering][X86] Add test coverage for #94546
Commit: cea9dd833cf800aeb005286b2667483cc5a8d688
https://github.com/llvm/llvm-project/commit/cea9dd833cf800aeb005286b2667483cc5a8d688
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineSSAUpdater.cpp
Log Message:
-----------
[CodeGen] Change MachineInstr::isConstantValuePHI to return Register. NFC. (#112901)
Commit: 55e4e3ff653356a9079906e209099684723caa4c
https://github.com/llvm/llvm-project/commit/55e4e3ff653356a9079906e209099684723caa4c
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] Access full list of entry block syms and vars (NFC) (#113681)
This patch adds methods to `EntryBlockArgs` to access the full list of
entry block argument-related symbols and variables, in their standard
order. This helps centralizing this logic in as few places as possible
to avoid future inconsistencies.
Commit: 85f3d5ca4994ff70a72f6ad81948bf4721e15ef1
https://github.com/llvm/llvm-project/commit/85f3d5ca4994ff70a72f6ad81948bf4721e15ef1
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/compact-diagnostics.s
M llvm/test/MC/AArch64/SVE/compact.s
A llvm/test/MC/AArch64/SVE2p2/compact-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/compact.s
A llvm/test/MC/AArch64/SVE2p2/expand-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/expand.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for SVE COMPACT (b/h) and EXPAND (#114053)
This patch adds assembly/disassembly support for the following SVE2.2
instructions
- COMPACT (byte, halfword)
- EXPAND
- Allow selection of `COMPACT` (word/halfword) in streaming mode if the
target has FEAT_SME2p2 (see [COMPACT ](
https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/COMPACT--Copy-active-vector-elements-to-lower-numbered-elements-))
- Rename predicates guarding instructions that are illegal in streaming
SVE mode without FEAT_SME2p2
- In accordance with
https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions
Co-authored-by: Marian Lukac marian.lukac at arm.com
Commit: 15f63ec19cde170f4cdddc5513a0f0be9515569a
https://github.com/llvm/llvm-project/commit/15f63ec19cde170f4cdddc5513a0f0be9515569a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p2/firstp-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/firstp.s
A llvm/test/MC/AArch64/SVE2p2/lastp-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/lastp.s
Log Message:
-----------
[AARCH64] Add assembly/disassmbly for FIRST,LASTP instr. (#114049)
This patch adds assembly/disassembly and tests for new FIRSTP
and LASTP instructions introduced in
https://developer.arm.com/documentation/ddi0602/2024-09
---------
Co-authored-by: SpencerAbson <Spencer.Abson at arm.com>
Commit: ea050ab1a99547294e195064bd90ca9822d292cf
https://github.com/llvm/llvm-project/commit/ea050ab1a99547294e195064bd90ca9822d292cf
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir
M mlir/test/Transforms/test-legalize-erased-op-with-uses.mlir
M mlir/test/Transforms/test-legalize-type-conversion.mlir
Log Message:
-----------
[mlir][Transforms][NFC] Dialect conversion: Reformat materialization error message (#114176)
This commit changes the format of the materialization error message.
Previously: `failed to legalize unresolved materialization from ('f64')
to 'f32' that remained live after conversion`
Now: `failed to legalize unresolved materialization from ('f64') to
('f32') that remained live after conversion`
This commit is in preparation of merging the 1:1 and 1:N dialect
conversions. At that point, target materializations may create more than
one SSA value. I am sending this change as a separate PR to keep the
main PR smaller.
Commit: 217700baf760ea3959d79c2090e7930144b698a1
https://github.com/llvm/llvm-project/commit/217700baf760ea3959d79c2090e7930144b698a1
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-invalid.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
Log Message:
-----------
[mlir][bufferization] Support bufferization of external functions (#113999)
This commit adds support for bufferizing external functions that have no
body. Such functions were previously rejected by One-Shot Bufferize if
they returned a tensor value.
This commit is in preparation of removing the deprecated
`func-bufferize` pass. That pass can bufferize external functions.
Also update a few comments.
Commit: c4e135ec04a2bef5d5a5a69dfbb069a15dbf2f5e
https://github.com/llvm/llvm-project/commit/c4e135ec04a2bef5d5a5a69dfbb069a15dbf2f5e
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[ORC] Fix transfer to unknown ResourceTrackers (#114063)
When transferring resources, the destination tracker key may not be in
the internal map, invalidating iterators and value references. The added
test creates such situation and would fail before with "Finalized
allocation was not deallocated."
For good measure, fix the same pattern in RTDyldObjectLinkingLayer
which is harder to test because it "only" results in memory managers
being deleted in the wrong order.
Commit: 6f973fd4ab18ff58689e83383190ed4767c2a7dd
https://github.com/llvm/llvm-project/commit/6f973fd4ab18ff58689e83383190ed4767c2a7dd
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s
M llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm_err.s.expected
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_mc_test_checks.py
Log Message:
-----------
[AMDGPU][test] fix the error case in update_mc_test_check script (#112731)
update_mc_test_check script handle the "error case testline" wrong in
three cases:
1. when user select "--llvm-mc-binary" with a path, the script does not
add "not" on top of the "--llvm-mc-binary" and thus getting non-zero
exit code and failed.
2. When "not" is presented in runline while not all testlines are
expected to fail, the script need to check if the "not" is needed when
it execute llvm-mc line by line. Otherwise the script will fail on
testline which is passing.
3. When there are multiple runlines, the error checkline need to use
correct line offset for "[[LINE-X]]"
This patch solve these three issues
Commit: 84b7bcfcac02ca32c2211655627c352dd99ce296
https://github.com/llvm/llvm-project/commit/84b7bcfcac02ca32c2211655627c352dd99ce296
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/unittests/Target/AMDGPU/CMakeLists.txt
A llvm/unittests/Target/AMDGPU/CSETest.cpp
Log Message:
-----------
GlobalISel/MachineIRBuilder: Construct DstOp with VRegAttrs (#113581)
Allow construction of DstOp with VRegAttrs.
Also allow construction with register class or bank and LLT.
Intended to be used in lowering code for reg-bank-select where
new registers need to have both register bank and LLT.
Add support for new type of DstOp in CSEMIRBuilder.
Commit: 602f43686c45017e3140789f8d574d2c344b4d71
https://github.com/llvm/llvm-project/commit/602f43686c45017e3140789f8d574d2c344b4d71
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
Log Message:
-----------
[AArch64] Add patterns for constructive splice. (#113912)
SVE2 adds the constructive splice instruction, which takes a tuple.
Even though the register allocator must ensure that the tuple uses
consecutive registers for the tuple, it's likely to be more efficient
than using the destructive splice instruction when the first operand
is reused.
Commit: 508263824f4ef0c70f37523810e5f7d56bcfa653
https://github.com/llvm/llvm-project/commit/508263824f4ef0c70f37523810e5f7d56bcfa653
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsX86.def
A clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/lib/Basic/Targets/X86.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[Clang] Start moving X86Builtins.def to X86Builtins.td (#106005)
This starts moving `X86Builtins.def` to be a tablegen file. It's quite
large, so I think it'd be good to move things in multiple steps to avoid
a bunch of merge conflicts due to the amount of time this takes to
complete.
Commit: c478aab684be007ac14e51565c0d4ae39293d208
https://github.com/llvm/llvm-project/commit/c478aab684be007ac14e51565c0d4ae39293d208
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/OpenMP/Todo/depobj-construct.f90
A flang/test/Parser/OpenMP/depobj-construct.f90
A flang/test/Semantics/OpenMP/depobj-construct-v50.f90
A flang/test/Semantics/OpenMP/depobj-construct-v51.f90
A flang/test/Semantics/OpenMP/depobj-construct-v52.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Parser support for DEPOBJ plus DEPEND, DESTROY, UPDATE (#114074)
Parse the DEPOBJ construct and the associated clauses, perform basic
semantic checks.
Commit: 80c8ecd56586bbdb03ffdd93c94ba78306affd93
https://github.com/llvm/llvm-project/commit/80c8ecd56586bbdb03ffdd93c94ba78306affd93
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll
Log Message:
-----------
[VectorCombine] Add baseline "shuffle (binop (shuffle, shuffle)), undef" tests for #114101
Commit: 7f498a865fd946bb92e592b31b41509073306ab3
https://github.com/llvm/llvm-project/commit/7f498a865fd946bb92e592b31b41509073306ab3
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
R llvm/test/Analysis/CostModel/AArch64/arith-fp-frem.ll
R llvm/test/Analysis/CostModel/X86/gather-i16-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/gather-i32-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/gather-i64-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/gather-i8-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/handle-iptr-with-data-layout-to-not-assert.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f32-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-f64-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-half.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-2-indices-0u.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3-indices-01u.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3-indices-0uu.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-012u.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-01uu.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4-indices-0uuu.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i32-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i64-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-load-i8-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f32-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-f64-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i16-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i32-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i64-stride-8.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-2.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-3.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-4.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-5.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-6.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-7.ll
R llvm/test/Analysis/CostModel/X86/interleaved-store-i8-stride-8.ll
R llvm/test/Analysis/CostModel/X86/masked-gather-i32-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/masked-gather-i64-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
R llvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
R llvm/test/Analysis/CostModel/X86/masked-load-i16.ll
R llvm/test/Analysis/CostModel/X86/masked-load-i32.ll
R llvm/test/Analysis/CostModel/X86/masked-load-i64.ll
R llvm/test/Analysis/CostModel/X86/masked-load-i8.ll
R llvm/test/Analysis/CostModel/X86/masked-scatter-i32-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/masked-scatter-i64-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/masked-store-i16.ll
R llvm/test/Analysis/CostModel/X86/masked-store-i32.ll
R llvm/test/Analysis/CostModel/X86/masked-store-i64.ll
R llvm/test/Analysis/CostModel/X86/masked-store-i8.ll
R llvm/test/Analysis/CostModel/X86/scatter-i16-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/scatter-i32-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/scatter-i64-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/scatter-i8-with-i8-index.ll
R llvm/test/Analysis/CostModel/X86/strided-load-i16.ll
R llvm/test/Analysis/CostModel/X86/strided-load-i32.ll
R llvm/test/Analysis/CostModel/X86/strided-load-i64.ll
R llvm/test/Analysis/CostModel/X86/strided-load-i8.ll
A llvm/test/Transforms/LoopVectorize/AArch64/arith-fp-frem-costs.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-half.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i32-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i64-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i32.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i64.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i8.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i16-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i32-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i64-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i8-with-i8-index.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
A llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll
Log Message:
-----------
[CostModel][LoopVectorize] Move some loop vectoriser tests (#113702)
Many tests that were in test/Analysis/CostModel were actually
loop vectoriser tests. I've moved them as follows:
Analysis/CostModel/X86 -> Transforms/LoopVectorize/X86/CostModel
Analysis/CostModel/AArch64/arith-fp-frem.ll ->
Transforms/LoopVectorize/AArch64/arith-fp-frem-costs.ll
Commit: 8d406d882d49204cf76ed6406610c702db6e3e8e
https://github.com/llvm/llvm-project/commit/8d406d882d49204cf76ed6406610c702db6e3e8e
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/ieee_real.f90
Log Message:
-----------
[flang] IEEE_REAL (#113948)
IEEE_REAL converts an integer or real argument to a real of a given
kind.
Commit: cba70550ccf55c6ad3daa621bb8caf3c4ca6cbd7
https://github.com/llvm/llvm-project/commit/cba70550ccf55c6ad3daa621bb8caf3c4ca6cbd7
Author: Nathan Gauër <brioche at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/HlslBufferLoad.ll
M llvm/test/CodeGen/SPIRV/OpVariable_order.ll
M llvm/test/CodeGen/SPIRV/ShaderBufferImage.ll
M llvm/test/CodeGen/SPIRV/ShaderImage.ll
M llvm/test/CodeGen/SPIRV/basic_float_types.ll
M llvm/test/CodeGen/SPIRV/basic_int_types.ll
M llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_DispatchThreadID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/abs.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/acos.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/asin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cosh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/countbits.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/degrees.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/frac.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/imad.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/normalize.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/pow.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/radians.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/round.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rsqrt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sinh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/splitdouble.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/step.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tanh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umin.ll
M llvm/test/CodeGen/SPIRV/literals.ll
A llvm/test/CodeGen/SPIRV/structurizer/basic-if.ll
A llvm/test/CodeGen/SPIRV/structurizer/basic-imbalanced-if.ll
A llvm/test/CodeGen/SPIRV/structurizer/basic-loop.ll
A llvm/test/CodeGen/SPIRV/structurizer/basic-phi.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.cond-op.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.do.break.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.do.continue.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.do.nested.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.break.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.continue.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.nested.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.if.const-cond.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.if.for.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.if.nested.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.if.plain.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.logical-and.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.logical-or.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.while.break.ll
M llvm/test/CodeGen/SPIRV/structurizer/condition-linear.ll
M llvm/test/CodeGen/SPIRV/structurizer/do-continue.ll
M llvm/test/CodeGen/SPIRV/structurizer/do-nested.ll
M llvm/test/CodeGen/SPIRV/structurizer/do-plain.ll
M llvm/test/CodeGen/SPIRV/structurizer/logical-or.ll
A llvm/test/CodeGen/SPIRV/structurizer/loop-continue-split.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
A llvm/test/CodeGen/SPIRV/structurizer/phi-exit.ll
M llvm/test/CodeGen/SPIRV/structurizer/return-early.ll
Log Message:
-----------
[SPIR-V] Fix BB ordering & register lifetime (#111026)
The "topological" sorting was behaving incorrectly in some cases:
the exit of a loop could have a lower rank than a node in the loop.
This causes issues when structurizing some patterns, and also codegen
issues as we could generate BBs in the incorrect order in regard to the
SPIR-V spec.
Fixing this ordering alone broke other parts of the structurizer, which
by luck worked. Had to fix those.
Added more test cases, especially to test basic patterns.
I also needed to tweak/disable some tests for 2 reasons:
- SPIR-V now required reg2mem/mem2reg to run. Meaning dead stores
are optimized away. Some tests require tweaks to avoid having the
whole function removed.
- Mem2Reg will generate variable & load/stores. This generates
G_BITCAST in several cases. And there is currently something wrong
we do with G_BITCAST which causes MIR verifier to complain.
Until this is resolved, I disabled -verify-machineinstrs flag on
those tests.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: e6e04633c678901b012adcf53e33592b08ff5baf
https://github.com/llvm/llvm-project/commit/e6e04633c678901b012adcf53e33592b08ff5baf
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
R clang/docs/ClangFormattedStatus.rst
R clang/docs/tools/clang-formatted-files.txt
Log Message:
-----------
[NFC] Delete unused clang-formatted-file.txt/ClangFormattedStatus.rst files (#109220)
Looks like these files are generated by the
`generate_formatted_state.py` script as a "status report" of state of
clang-format compliance of files in the LLVM git repo. As such, they do
not belong to the repo itself, so deleting them.
Please see:
https://discourse.llvm.org/t/clang-docs-tools-clang-formatted-files-txt/82803
Commit: 68daf7d27ecc085fe7347552736197db6453f71c
https://github.com/llvm/llvm-project/commit/68daf7d27ecc085fe7347552736197db6453f71c
Author: c8ef <c8ef at outlook.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
Log Message:
-----------
[Tooling/Inclusion] Add binary search related `std::ranges` symbols to the mapping. (#113796)
Fixes #94459.
This patch adds binary search related `std::ranges` symbols to the mapping.
Commit: 6af275b72ecd35e3918744b0ef4a750912ce3de5
https://github.com/llvm/llvm-project/commit/6af275b72ecd35e3918744b0ef4a750912ce3de5
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/docs/Rationale/SideEffectsAndSpeculation.md
Log Message:
-----------
[mlir][doc] Fix nitpicks in documentation (#114157)
A couple of these are probably up to preference, but the
grammar/capitalization changes are probably more critical for
readability.
Commit: d693e7c7f7bd50abaa625603a7f9e452b92b2adc
https://github.com/llvm/llvm-project/commit/d693e7c7f7bd50abaa625603a7f9e452b92b2adc
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] fix clang for 508263824f4ef0c70f37523810e5f7d56bcfa653
Commit: 4ba623f24479879fb7100988f6ad5d9a62c19842
https://github.com/llvm/llvm-project/commit/4ba623f24479879fb7100988f6ad5d9a62c19842
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/Index/USRGeneration.h
M clang/lib/Index/USRGeneration.cpp
Log Message:
-----------
[clang][Index][USR][NFC] Allow customizing langopts for USR generation (#109574)
This helps to produce USRs for custom LangOpts - that differ from the
one associated with the given Decl. This can unlock usecases in tooling
opportunities that we have downstream.
This is NFC because existing calls will still result in the right
overload, thus using the LangOpts associated with the ASTContext of the
Decls and Types.
Commit: 95c2d798148f12565dd4c9ddc753d196e47f230f
https://github.com/llvm/llvm-project/commit/95c2d798148f12565dd4c9ddc753d196e47f230f
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
Log Message:
-----------
[mlir][EmitC] memref-to-emitc: insert conversion_casts (#114204)
Add materializations to the conversion pass, such that types of
non-converted operands are legalized.
Commit: dda20ea73d958584e6b162b34dd421582c52ddbb
https://github.com/llvm/llvm-project/commit/dda20ea73d958584e6b162b34dd421582c52ddbb
Author: David Truby <david.truby at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/tools/CMakeLists.txt
A flang/tools/fir-lsp-server/CMakeLists.txt
A flang/tools/fir-lsp-server/fir-lsp-server.cpp
Log Message:
-----------
[flang] Add fir-lsp-server (#114059)
This patch adds a fir-lsp-server tool for editor support for editing fir
files, using the existing MLIR lsp server support.
See https://mlir.llvm.org/docs/Tools/MLIRLSP/ for more information.
Commit: 4015e18d6713cdceb0640e77b2d5aa3b256d5ddb
https://github.com/llvm/llvm-project/commit/4015e18d6713cdceb0640e77b2d5aa3b256d5ddb
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for BFMOP4{A,S} (non-widening) instructions (#113342)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: f405c683ba929fcd0bcaa435ca2fbe4bb221d04b
https://github.com/llvm/llvm-project/commit/f405c683ba929fcd0bcaa435ca2fbe4bb221d04b
Author: Steven Perron <stevenperron at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/convergence-inline.ll
Log Message:
-----------
[OPT] Search whole BB for convergence token. (#112728)
The spec for llvm.experimental.convergence.entry says that is must be in
the entry block for a function, and must preceed any other convergent
operation. It does not have to be the first instruction in the entry
block.
Inlining assumes that the call to llvm.experimental.convergence.entry
will be the first instruction after any phi instructions. This commit
modifies inlining to search the entire block for the call.
Commit: e989e31a47375a7d556269eead538dc65edcef2b
https://github.com/llvm/llvm-project/commit/e989e31a47375a7d556269eead538dc65edcef2b
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[RISCV] Mark f16/bf16 lrint and llrint cost as invalid (#113924)
We currently can't lower scalable vector lrint and llrint nodes for bf16
and f16, even with zvfh, and will crash.
Mark the cost as invalid for now to prevent the vectorizers from
emitting them.
Note that we can actually lower fixed-length vectors fine by scalarizing
them, but we were still undercosting these too so I've also included
them. I presume there's an opportunity to improve the codegen later on.
Commit: 7d1e283bd3b4440aea9ac375ca51e2ee6b0e86f5
https://github.com/llvm/llvm-project/commit/7d1e283bd3b4440aea9ac375ca51e2ee6b0e86f5
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
A clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
Log Message:
-----------
[Clang][Sema] Ignore previous partial specializations of member templates explicitly specialized for an implicitly instantiated class template specialization (#113464)
Consider the following:
```
template<typename T>
struct A {
template<typename U>
struct B {
static constexpr int x = 0; // #1
};
template<typename U>
struct B<U*> {
static constexpr int x = 1; // #2
};
};
template<>
template<typename U>
struct A<long>::B {
static constexpr int x = 2; // #3
};
static_assert(A<short>::B<int>::y == 0); // uses #1
static_assert(A<short>::B<int*>::y == 1); // uses #2
static_assert(A<long>::B<int>::y == 2); // uses #3
static_assert(A<long>::B<int*>::y == 2); // uses #3
```
According to [temp.spec.partial.member] p2:
> If the primary member template is explicitly specialized for a given
(implicit) specialization of the enclosing class template, the partial
specializations of the member template are ignored for this
specialization of the enclosing class template.
If a partial specialization of the member template is explicitly
specialized for a given (implicit) specialization of the enclosing class
template, the primary member template and its other partial
specializations are still considered for this specialization of the
enclosing class template.
The example above fails to compile because we currently don't implement
[temp.spec.partial.member] p2. This patch implements the wording, fixing #51051.
Commit: 475e736bb5eeea8ec70aca51d1a3d98179c69530
https://github.com/llvm/llvm-project/commit/475e736bb5eeea8ec70aca51d1a3d98179c69530
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[MemProf] Include <ctime> to avoid MSVC failure (#114246)
My change in bb3915149a7c9b1660db9caebfc96343352e8454 added a call to
std::time which worked generally as there must be some transitive
include of <ctime>. However, I saw one MSVC bot failure:
InstrProfWriter.cpp(202): error C2039: 'time': is not a member of 'std'
from https://lab.llvm.org/buildbot/#/builders/63/builds/2325.
Presumably explictly including <ctime> should fix this.
Commit: 72b115301d1c0d56f40f5030bb8d16f422ac211b
https://github.com/llvm/llvm-project/commit/72b115301d1c0d56f40f5030bb8d16f422ac211b
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-samesign.ll
A llvm/test/CodeGen/MIR/icmp-flags.mir
Log Message:
-----------
[GlobalISel] Import samesign flag (#113090)
Credits: https://github.com/llvm/llvm-project/pull/111419
Commit: 4c03d373f043700e3c8feeea8855125c718de31b
https://github.com/llvm/llvm-project/commit/4c03d373f043700e3c8feeea8855125c718de31b
Author: Nathan Gauër <brioche at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/group_memory_barrier_with_group_sync.ll
Log Message:
-----------
[SPIR-V] Fix broken test due to G_BITCAST (#114242)
G_BITCAST emission in the SPIR-V backend is not accepted by the
verifier. DIsabling verifier for impacted tests until
https://github.com/llvm/llvm-project/pull/114216 is merged.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 45f420e34476d2963e13b2f916be1e5a73ec95ae
https://github.com/llvm/llvm-project/commit/45f420e34476d2963e13b2f916be1e5a73ec95ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Use Py_InitializeFromConfig with Python >= 3.8 (NFC) (#114112)
This fixes the deprecation warning for Py_SetPythonHome, which was
deprecated in Python 3.11. With this patch, when building against Python
3.8 or later, we now use Py_InitializeFromConfig instead.
Fixes #113475
Commit: eac2c182c6f852fc187af9952250a43d6fb17b28
https://github.com/llvm/llvm-project/commit/eac2c182c6f852fc187af9952250a43d6fb17b28
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
Log Message:
-----------
Remove a flaky and unnecessary check (#114251)
The order in which the libraries appear is not always stable and even if
it were, this test is not the right place to check for this.
Commit: 4b028773b2c977eb8494a39e4b3fb2f114d1e2b5
https://github.com/llvm/llvm-project/commit/4b028773b2c977eb8494a39e4b3fb2f114d1e2b5
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
R llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-samesign.ll
R llvm/test/CodeGen/MIR/icmp-flags.mir
Log Message:
-----------
Revert "[GlobalISel] Import samesign flag" (#114256)
Reverts llvm/llvm-project#113090
Commit: 8ee5e19c879ee2d467aa0f1eb8f1d8ed34321496
https://github.com/llvm/llvm-project/commit/8ee5e19c879ee2d467aa0f1eb8f1d8ed34321496
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgcn-cs-chain.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
Log Message:
-----------
[AMDGPU] Fix @llvm.amdgcn.cs.chain with SGPR args not provably uniform (#114232)
The correct behaviour is to insert a readfirstlane. SelectionDAG was
already doing this in some cases, but not in the general case for chain
calls. GlobalISel was already doing this for return values but not for
arguments.
Commit: 1ddea4fc13eb12ddb4e71f7675a496de6d517ec4
https://github.com/llvm/llvm-project/commit/1ddea4fc13eb12ddb4e71f7675a496de6d517ec4
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
Log Message:
-----------
[AArch64] NFC: Refactoring of the SubRegIndexes in AArch64RegisterInfo.td
This is just moving some of the definitions around to all have them in
the same place. This is preparation for a follow-up patch that redefines
the SubRegIndexes to require less bits, and to define the top bits
of registers.
Commit: 6bf4476ffb6bab661d59dee361ab845b2f68d9b1
https://github.com/llvm/llvm-project/commit/6bf4476ffb6bab661d59dee361ab845b2f68d9b1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
Log Message:
-----------
[AMDGPU] Fix @llvm.amdgcn.cs.chain with callee not provably uniform (#114200)
The correct behavior is to insert a readfirstlane. This worked except
for an inappropriate assertion in SITargetLowering::LowerCall.
Commit: a575e6e5ca1eb7b2ae4b906f9bf3be2ba20a80a0
https://github.com/llvm/llvm-project/commit/a575e6e5ca1eb7b2ae4b906f9bf3be2ba20a80a0
Author: jimingham <jingham at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
Fix a couple of tests that were incorrectly using configuration.dwarf_version (#114161)
The tests were using the variable directly to get the dwarf version used
for the test. That's only the overridden value, and won't be set if
we're using the compiler default. I also put a comment by the variable
to make sure people don't make the same mistake in the future.
Commit: 9cd30b1ef311edb0aa0527bead52e2fc490160ef
https://github.com/llvm/llvm-project/commit/9cd30b1ef311edb0aa0527bead52e2fc490160ef
Author: jimingham <jingham at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Commands/CommandObjectType.cpp
Log Message:
-----------
Fix the sort function for languages to have "strict weak ordering". (#114160)
If you build libstdc++ with "debug" strictness, the test
TestTypeLookup.py will assert. That's because we're calling llvm::sort
(which redirects to std::sort) with a function that doesn't obey strict
weak ordering.
The error was that when the two languages were equal, we're sometimes
returning `true` but strict weak ordering requires that always be false.
This patch just makes the function behave properly.
Commit: 7dbbd2b251412b7b0809aabe672f3f57f0805dbb
https://github.com/llvm/llvm-project/commit/7dbbd2b251412b7b0809aabe672f3f57f0805dbb
Author: jimingham <jingham at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Fix call site breakpoint patch (#114158)
This fixes the two test suite failures that I missed in the PR:
https://github.com/llvm/llvm-project/pull/112939
One was a poorly written test case - it assumed that on connect to a
gdb-remote with a running process, lldb MUST have fetched all the frame
0 registers. In fact, there's no need for it to do so (as the CallSite
patch showed...) and if we don't need to we shouldn't. So I fixed the
test to only expect a `g` packet AFTER calling read_registers.
The other was a place where some code had used 0 when it meant
LLDB_INVALID_LINE_NUMBER, which I had fixed but missed one place where
it was still compared to 0.
Commit: 49277253f016268e4a10109f1db2e53c60d35881
https://github.com/llvm/llvm-project/commit/49277253f016268e4a10109f1db2e53c60d35881
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/include/lldb/Host/Editline.h
M lldb/source/Host/common/Editline.cpp
Log Message:
-----------
[lldb] Use LLVM's helper for Unicode conversion (NFC) (#112582)
The codecvt header has been deprecated in C++17. Use LLVM's unicode
helpers to convert between UTF-8 and UTF-16.
Commit: 0c9a02355abc3b037be53c072fc46a13bb5aa2c1
https://github.com/llvm/llvm-project/commit/0c9a02355abc3b037be53c072fc46a13bb5aa2c1
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/box.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/embox-char.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/tbaa.fir
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/allocatable-polymorphic.f90
Log Message:
-----------
[flang][fir] always use memcpy for fir.box (#113949)
@jeanPerier explained the importance of converting box loads and stores
into `memcpy`s instead of aggregate loads and stores, and I'll do my
best to explain it here.
* [(godbolt link) Example comparing opt transformations on memcpys vs
aggregate load/stores](https://godbolt.org/z/be7xM83cG)
* LLVM can more effectively reason about memcpys compared to aggregate
load/stores.
* This came up when others were discussing array descriptors for
assumed-rank arrays passed to `bind(c)` subroutines, with the
implication that the array descriptors are known to have lower bounds of
1 and that they are not pointer/allocatable types.
* [(godbolt link) Clang also uses memcpys so we should probably follow
them, assuming the clang developers are generatign what they know Opt
will handle more effectively.](https://godbolt.org/z/YT4x7387W)
* This currently may not help much without the `nocapture` attribute
being propagated to function calls, but [it looks like someone may do
this soon (discourse
link)](https://discourse.llvm.org/t/applying-the-nocapture-attribute-to-reference-passed-arguments-in-fortran-subroutines/81401/23)
or I can do this in a follow-up patch.
Note on test `flang/test/Fir/embox-char.fir`: it looks like the original
test was auto-generated. I wasn't too sure which parts were especially
important to test, so I regenerated the test. If we want the updated
version to look more like the old version, I'll make those changes.
Commit: 0227b73b513154a2bde90ddf1e167b6257765d05
https://github.com/llvm/llvm-project/commit/0227b73b513154a2bde90ddf1e167b6257765d05
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx11_asm_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][test] update VOP2 asm/dasm file with true16/fake16 (#113101)
This is a non-functional change
update GFX11/GFX12 VOP2 asm/dasm test for true16/fake16:
1. duplicate files to be true16/fake16 by adding
"-mattr=+real-true16/-mattr=-real-true16" while true16 test file will be
updated to true16 format when the true16 instructions are supported
2. sort "*t16_err.s" and "*t16_promote.s" tests to alphabetic order.
This is for the upcoming true16 mc changes, and mainly trying to help
repo maintainer to resolve conflicts in the tests quickly. A script is
proposed to help for the sorting
https://github.com/llvm/llvm-project/pull/111769. Since these two files
are t16 only, it should not create conflicts in downstream branches
3. add -filetype=null to seperate stdout and stderr to avoid disordered
output from llvm-mc
Commit: 311c0772f9e67a694f3038ab63ea4ec981ce6a9a
https://github.com/llvm/llvm-project/commit/311c0772f9e67a694f3038ab63ea4ec981ce6a9a
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
Log Message:
-----------
[AMDGPU] Fix test failures after #114232 and #114200
Commit: 463a4c16ea9c1a3c1210d0ac39e56a75b43b5a8d
https://github.com/llvm/llvm-project/commit/463a4c16ea9c1a3c1210d0ac39e56a75b43b5a8d
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[clang] Remove some uses of llvm::StructType::setBody. NFC. (#113691)
It is simple to create the struct body up front, now that we have
transitioned to opaque pointers.
Commit: cc2d8e7616762710b284aa9af44a297b633b270a
https://github.com/llvm/llvm-project/commit/cc2d8e7616762710b284aa9af44a297b633b270a
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly of FMOP4{A,S} (non-widening) single-precision instructions (#113344)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: d7e6cba030f34162ea45aef1dc18f708b5d2ec70
https://github.com/llvm/llvm-project/commit/d7e6cba030f34162ea45aef1dc18f708b5d2ec70
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use bit or bits for some tablegen class arguments. NFC
These eventually end up in TSFlags so we should use the same types.
Commit: cf6ca98481a90728f1d3adc748aa0f271afc59aa
https://github.com/llvm/llvm-project/commit/cf6ca98481a90728f1d3adc748aa0f271afc59aa
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
Log Message:
-----------
[Clang] Add and use mangleVendorType helper. NFC. (#108970)
Commit: 0c8e12fc64073a889956e790881cdf0d58018372
https://github.com/llvm/llvm-project/commit/0c8e12fc64073a889956e790881cdf0d58018372
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/include/llvm-libc-types/fexcept_t.h
Log Message:
-----------
[libc] Fix fexcept_t type to match canonical ABI and API (#113666)
In glibc and musl, fexcept_t is unsigned short int on x86 and
unsigned int on other machines that llvm-libc supports. Match
that ABI (only different from before on x86) and API (different
everywhere as it was previously signed).
Commit: 5192cb772ad58af4b557539791ff8de60ab450a3
https://github.com/llvm/llvm-project/commit/5192cb772ad58af4b557539791ff8de60ab450a3
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
Log Message:
-----------
[AArch64] Add hidden option to enable subreg liveness tracking.
Subreg liveness tracking is disabled by default for now until all issues
are ironed out. This option allows the feature to be used in tests.
Commit: 70d35fbdb6c01e2ccd76ce5c5fe7610ab77d0ea1
https://github.com/llvm/llvm-project/commit/70d35fbdb6c01e2ccd76ce5c5fe7610ab77d0ea1
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
Log Message:
-----------
[ORC] Fix include guard names. NFC.
Commit: b94762d5a7fbf883707c4018dbf43d7525a06e12
https://github.com/llvm/llvm-project/commit/b94762d5a7fbf883707c4018dbf43d7525a06e12
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
Log Message:
-----------
[ORC] Add comment on include guard #endif
Commit: feb2d867fac3b6339c169fff97ddf0716fce6f0a
https://github.com/llvm/llvm-project/commit/feb2d867fac3b6339c169fff97ddf0716fce6f0a
Author: Kenji Mouri / 毛利 研二 <Mouri_Naruto at Outlook.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add support for hypot libcall. (#113724)
This patch adds basic support for `hypot`. Constant folding support will
be submitted in a subsequent patch.
Related issue: https://github.com/llvm/llvm-project/issues/113711
Note: It's my first time contributing to the LLVM with encouragement
from one of my friends, @fawdlstty. I learned a lot from
https://github.com/llvm/llvm-project/pull/99611, and thanks for that.
Kenji Mouri
Commit: 04549500562783b01db262de62fe324c7ee471c4
https://github.com/llvm/llvm-project/commit/04549500562783b01db262de62fe324c7ee471c4
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for FMOP4{A,S} (non-widening) double-precision instructions (#113345)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: 705f3ebf1458c154fe63552ca984be6a16711661
https://github.com/llvm/llvm-project/commit/705f3ebf1458c154fe63552ca984be6a16711661
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan][NFC] Add documentation link to Function Effects (#113979)
Commit: 5545f76dc94e76ef6800823bdd1e107ad2264717
https://github.com/llvm/llvm-project/commit/5545f76dc94e76ef6800823bdd1e107ad2264717
Author: Sean Perry <perry at ca.ibm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
Log Message:
-----------
Pass the executable name as arg[0] when calling ExecuteAndWait() (#114067)
PR https://github.com/llvm/llvm-project/pull/111976 was enabling the
tests updated in the PR to run on all systems. We found a few didn't run
on z/OS. I tracked the problem down to:
1. the ExecuteToolChainProgram() function wasn't passing the executable
name as the first arg. That was causing exec on z/OS to fail.
2. the temp file needs to be a text file so codepage conversion happens.
Commit: ca1154d1d41c75db6594428a8cdf263cf7041896
https://github.com/llvm/llvm-project/commit/ca1154d1d41c75db6594428a8cdf263cf7041896
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bfe-patterns.ll
M llvm/test/CodeGen/AMDGPU/extract-lowbits.ll
Log Message:
-----------
AMDGPU: Disable pattern matching "x<<32-y>>32-y" to "bfe x, 0, y" (#114279)
It is not correct to lower "x<<32-y>>32-y" to "bfe x, 0, y". When y
equals to 32, the left-hand side is still x (unchanged), however, the
right-hand side will be evaluated to 0. So it is not always correct to
do such transformation.
We may be able to keep the pattern for immediate y while y is within [0,
31]. However, the immediate operands of the sub (32 - y) are easily
folded, and "(x << imm) >> imm" will be lowered to "and x,
(2^(32-imm))-1" anyway. So no bfe matching is needed.
Commit: a518ed2d815c16010a6262edd0414a5f60a63a39
https://github.com/llvm/llvm-project/commit/a518ed2d815c16010a6262edd0414a5f60a63a39
Author: Dana Jansens <danakj at chromium.org>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
Log Message:
-----------
Respect the [[clang::unsafe_buffer_usage]] attribute for field and constructor initializers (#91991)
CXXCtorInitializers are not statements , but they point to an
initializer expression which is. When visiting a FunctionDecl, also
walk through any constructor initializers and run the warning
checks/matchers against their initializer expressions. This catches
warnings for initializing fields and calling other constructors, such
as:
struct C {
C(P* Ptr) : AnUnsafeCtor(Ptr) {}
}
Field initializers can be found by traversing CXXDefaultInitExprs. This
catches warnings in places such as:
struct C {
P* Ptr;
AnUnsafeCtor U{Ptr};
};
We add tests for explicit construction, for field initialization, base
class constructor calls, delegated constructor calls, and aggregate
initialization.
Note that aggregate initialization is not fully covered where a field
specifies an initializer and it's not overridden in the aggregate initialization,
such as in:
struct AggregateViaValueInit {
UnsafeMembers f1;
// FIXME: A construction of this class does initialize the field
// through this initializer, so it should warn. Ideally it should
// also point to where the site of the construction is in
// testAggregateViaValueInit().
UnsafeMembers f2{3};
};
void testAggregateViaValueInit() {
auto A = AggregateViaValueInit();
};
There are 3 tests for different types of aggregate initialization with
FIXMEs documenting this future work.
One attempt to fix this involved returning true from
MatchDescendantVisitor::shouldVisitImplicitCode(), however, it breaks expectations
for field in-class initializers by moving the SourceLocation, possibly
to inside the implicit ctor instead of on the line where the field
initialization happens.
struct C {
P* Ptr;
AnUnsafeCtor U{Ptr}; // expected-warning{{this is never seen then}}
};
Tests are also added for std::span(ptr, size) constructor being called
from a field initializer and a constructor initializer.
Issue #80482
Commit: 2bc5302706e710d125752c215392043fd5bf80fa
https://github.com/llvm/llvm-project/commit/2bc5302706e710d125752c215392043fd5bf80fa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
Revert "[lldb] Use Py_InitializeFromConfig with Python >= 3.8 (NFC)" (#114290)
Reverts llvm/llvm-project#114112 because this triggers a compile error:
```
no known conversion from 'str_type' (aka 'wchar_t *') to 'const char *' for 3rd argument
221 | PyAPI_FUNC(PyStatus) PyConfig_SetBytesString(
| ^
222 | PyConfig *config,
223 | wchar_t **config_str,
224 | const char *str);
| ~~~~~~~~~~~~~~~
1 error generated.
```
Commit: 5bd1af5abcb7b9f92741dd7209e84b5607f7e88a
https://github.com/llvm/llvm-project/commit/5bd1af5abcb7b9f92741dd7209e84b5607f7e88a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Directly store VPlan in InnerLoopVectorizer (NFC).
The current VPlan is already passed to multiple functions and more in
the future. Store it once directly in InnerLoopVectorizer.
Commit: c3724ba8667c695f29d5af93f2b0d1b23c1b41e7
https://github.com/llvm/llvm-project/commit/c3724ba8667c695f29d5af93f2b0d1b23c1b41e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
Log Message:
-----------
[RISCV] Add OperandType for vector rounding mode operands. (#114179)
Use TSFlags to distinquish which type of rounding mode it is. We use the same tablegen base classes for vxrm and frm sometimes so its hard to have different types for different instructions.
Commit: 71b6f6b8a1cd9a63b9d382fe15f40bbb427939b9
https://github.com/llvm/llvm-project/commit/71b6f6b8a1cd9a63b9d382fe15f40bbb427939b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Add missing hasPostISelHook = 1 to vector pseudos that might read FRM. (#114186)
We need an implicit FRM read operand anytime the rounding mode is
dynamic. The post isel hook is responsible for this when isel creates an
instruction with dynamic rounding mode.
Add a MachineVerifier check to verify the operand is present.
Commit: 90786adade22784a52856a0e8b545ec6710b47f6
https://github.com/llvm/llvm-project/commit/90786adade22784a52856a0e8b545ec6710b47f6
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
Log Message:
-----------
[Clang][Sema] Always use latest redeclaration of primary template (#114258)
This patch fixes a couple of regressions introduced in #111852.
Consider:
```
template<typename T>
struct A
{
template<bool U>
static constexpr bool f() requires U
{
return true;
}
};
template<>
template<bool U>
constexpr bool A<short>::f() requires U
{
return A<long>::f<U>();
}
template<>
template<bool U>
constexpr bool A<long>::f() requires U
{
return true;
}
static_assert(A<short>::f<true>()); // crash here
```
This crashes because when collecting template arguments from the _first_
declaration of `A<long>::f<true>` for constraint checking, we don't add
the template arguments from the enclosing class template specialization
because there exists another redeclaration that is a member
specialization.
This also fixes the following example, which happens for a similar
reason:
```
// input.cppm
export module input;
export template<int N>
constexpr int f();
template<int N>
struct A {
template<int J>
friend constexpr int f();
};
template struct A<0>;
template<int N>
constexpr int f() {
return N;
}
```
```
// input.cpp
import input;
static_assert(f<1>() == 1); // error: static assertion failed
```
Commit: 47d9db762484afadeca1acb60534b6b88784464a
https://github.com/llvm/llvm-project/commit/47d9db762484afadeca1acb60534b6b88784464a
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening.s
Log Message:
-----------
[AArch64] Add asssembly/disassembly for FMOP4{A,S} (widening, 2-way, FP16 to FP32) instructions (#113346)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: 408c84f35b8b0338b630a6ee313c14238e62b5e6
https://github.com/llvm/llvm-project/commit/408c84f35b8b0338b630a6ee313c14238e62b5e6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_x_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_xu_f_qf.ll
Log Message:
-----------
[RISCV] Add hasPostISelHook to sf.vfnrclip pseudo instructions. (#114274)
Add Uses = [FRM] to the underlying MC instructions.
Tweak a couple test cases so the MachineVerifier would have caught this.
Commit: b3bb6f18bb5b2b8756b585b80d46d13ab3636a18
https://github.com/llvm/llvm-project/commit/b3bb6f18bb5b2b8756b585b80d46d13ab3636a18
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/icmp-flags.mir
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslater-samesign.ll
Log Message:
-----------
[GlobalISel] Import samesign flag (#114267)
Credits: https://github.com/llvm/llvm-project/pull/111419
Fixes icmp-flags.mir
First attempt: https://github.com/llvm/llvm-project/pull/113090
Revert: https://github.com/llvm/llvm-project/pull/114256
Commit: dc1ff883caf687f00bd916ea997321ac411c73fd
https://github.com/llvm/llvm-project/commit/dc1ff883caf687f00bd916ea997321ac411c73fd
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/include/llvm-libc-macros/linux/signal-macros.h
Log Message:
-----------
[libc][i386] define MINSIGSTKSZ & SIGSTKSZ (#114249)
Link: #93709
Commit: bc79ec0c5bc3fce31448419846c343017ae1c5ad
https://github.com/llvm/llvm-project/commit/bc79ec0c5bc3fce31448419846c343017ae1c5ad
Author: Fred Tingaud <95592999+frederic-tingaud-sonarsource at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
[clang][ASTMatcher] Handle variable templates in `isInstantiated` and `isInTemplateInstantiation` matchers (#110666)
Fix `isInstantiated` and `isInTemplateInstantiation` matchers, so they
return true for instantiations of variable templates, and any
declaration in statements contained in such instantiations.
Commit: d8295e2eeceef37bfd9e0f84918735eff6cfc659
https://github.com/llvm/llvm-project/commit/d8295e2eeceef37bfd9e0f84918735eff6cfc659
Author: Steven Perron <stevenperron at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
R llvm/test/CodeGen/SPIRV/HlslBufferLoad.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/HlslBufferLoad.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
Log Message:
-----------
[SPIRV][HLSL] Handle arrays of resources (#111564)
This commit adds the ability to get a particular resource from an array
of resources using the handle_fromBinding intrinsic.
The main changes are:
1. Create an array when generating the type.
2. Add capabilities from
[SPV_EXT_descriptor_indexing](https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_descriptor_indexing.html).
We are still missing the ability to declare a runtime array. That will
be done in a follow up PR.
Commit: b03c8c4fdda6e58cb1afe3aa90bf9f2df08a7970
https://github.com/llvm/llvm-project/commit/b03c8c4fdda6e58cb1afe3aa90bf9f2df08a7970
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/src/string/string_utils.h
M libc/test/src/string/strlcat_test.cpp
M libc/test/src/string/strlcpy_test.cpp
Log Message:
-----------
libc: strlcpy/strlcat shouldn't bzero the rest of `buf` (#114259)
When running Bionic's testsuite over llvm-libc, tests broke because
e.g.,
```
const char *str = "abc";
char buf[7]{"111111"};
strlcpy(buf, str, 7);
ASSERT_EQ(buf, {'1', '1', '1', '\0', '\0', '\0', '\0'});
```
On my machine (Debian w/ glibc and clang-16), a `printf` loop over `buf`
gets unrolled into a series of const `printf` at compile-time:
```
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", 0);
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", 0);
```
Seems best to match existing precedent here.
Commit: e4dfb51da4cd16cbb3ab18944a43ff5518d9f548
https://github.com/llvm/llvm-project/commit/e4dfb51da4cd16cbb3ab18944a43ff5518d9f548
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/index.rst
Log Message:
-----------
Fix documentation build
This fixes the build after the removal of the clang-format status page.
Commit: d2109640a3e352b49a698edc232eeaac648fe590
https://github.com/llvm/llvm-project/commit/d2109640a3e352b49a698edc232eeaac648fe590
Author: Ilya Enkovich <ilya.enkovich at intel.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Dialect/AMX/legalize-for-llvm.mlir
Log Message:
-----------
[MLIR] [AMX] Fix strides used by AMX lowering for tile loads and stores. (#113476)
Commit: c616f24bcb00150fedc999d47933603e099dd659
https://github.com/llvm/llvm-project/commit/c616f24bcb00150fedc999d47933603e099dd659
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types-rev.ll
M llvm/test/CodeGen/SPIRV/pointers/phi-valid-operand-types.ll
Log Message:
-----------
[SPIR-V] Do instruction selection for G_BITCAST on an earlier stage (#114216)
This PR implements instruction selection for G_BITCAST on an earlier
stage to avoid MachineVerifier complains on subtle semantics difference
between G_BITCAST and OpBitcast.
We do instruction selections for OpBitcast after IR Translation instead
of calling MIB.buildBitcast() generating the general op code G_BITCAST,
because when MachineVerifier validates G_BITCAST we see a check of a
kind: 'if Source Type is equal to Destination Type then report error
"bitcast must change the type"'. This doesn't take into account the
notion of a typed pointer that is important for SPIR-V where a user may
and should use bitcast between pointers with different pointee types
(https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpBitcast).
It's important for correct lowering in SPIR-V, because interpretation of
the data type is not left to instructions that utilize the pointer, but
encoded by the pointer declaration, and the SPIRV target can and must
handle the declaration and use of pointers that specify the type of data
they point to.
It's not feasible to improve validation of G_BITCAST using just
information provided by low level types of source and destination.
Therefore we don't produce G_BITCAST as the general op code with
semantics different from OpBitcast, but rather lower to OpBitcast
immediately.
See discussion in https://github.com/llvm/llvm-project/pull/110270 for
even more context.
Commit: b1320d36339e38b073088fd45013a3c692adb301
https://github.com/llvm/llvm-project/commit/b1320d36339e38b073088fd45013a3c692adb301
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/include/llvm-libc-types/jmp_buf.h
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
Log Message:
-----------
[libc][i386] setjmp/longjmp (#112437)
Link: #93709
Commit: e89f8212333ea8e9b534fb32382bb5cacae71b35
https://github.com/llvm/llvm-project/commit/e89f8212333ea8e9b534fb32382bb5cacae71b35
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NFC][NVPTX] Cleanup getPreferredVectorAction() (#114115)
`v2*16` is a legal type in NVPTX. Thus, this is dead code.
Commit: 0167a92e28d5c8eac00595300a1366bdce28678d
https://github.com/llvm/llvm-project/commit/0167a92e28d5c8eac00595300a1366bdce28678d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Use unsigned instead of int64_t for two small positive shift amounts. NFC
Commit: 1c2824e3a44f6c7cfd3e236597c4af671ce7c95e
https://github.com/llvm/llvm-project/commit/1c2824e3a44f6c7cfd3e236597c4af671ce7c95e
Author: Artem Pianykh <arr at fb.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[NFC][Coro] Add helpers for coro cloning with a TimeTraceScope (#112948)
A helper (2 overloads) that consolidates corocloner creation and the
actual cloning. The helpers create a TimeTraceScope to make it easier to
see how long the cloning takes.
Extracted from #109032 (commit 1)
Commit: 84a78abdf5999e58e4120e20594ac2ad37472295
https://github.com/llvm/llvm-project/commit/84a78abdf5999e58e4120e20594ac2ad37472295
Author: Artem Pianykh <arr at fb.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Extract CloneFunctionAttributesInto from CloneFunctionInto (#112976)
This patch is a part of step-by-step refactoring of CloneFunctionInto.
The goal is to extract reusable pieces out of it that will be later used
to optimize function cloning e.g. in coroutine processing.
Extracted from #109032 (commit 2)
Commit: bfe486fe764667d514124faf2b39afb7e7322640
https://github.com/llvm/llvm-project/commit/bfe486fe764667d514124faf2b39afb7e7322640
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/memory.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/memory.cpp
M flang/test/Fir/CUDA/cuda-data-transfer.fir
Log Message:
-----------
Passing descriptors by reference to CUDA runtime calls (#114288)
Passing a descriptor as a `const Descriptor &` or a `const Descriptor *`
generates a FIR signature where the box is passed by value.
This is an issue, as it requires a load of the box to be passed. But
since, ultimately, all boxes are passed by reference a temporary is
generated in LLVM and the reference to the temporary is passed.
The boxes addresses are registered with the CUDA runtime but the
temporaries are not, thus preventing the runtime to properly map a host
side address to its device side counterpart.
To address this issue, this PR changes the signatures to the transfer
functions to pass a descriptor as a `Descriptor *`, which will in turn
generate a FIR signature with that takes a box reference as an argument.
Commit: f7c36d2f88e05a1747fa7916ad2fefdd9d459a55
https://github.com/llvm/llvm-project/commit/f7c36d2f88e05a1747fa7916ad2fefdd9d459a55
Author: Wanyi <kusmour at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/test/API/python_api/process/io/TestProcessIO.py
Log Message:
-----------
[lldb] Fix API test for file redirection to existing files (#114119)
API test failed for remote platform in
[#112657](https://github.com/llvm/llvm-project/pull/112657)
Previously when putting files onto remote platform, I used `platform
file write -d <data>` which actually required a `platform file open
<path>` first in order to obtain a file descriptor.
eg. in file
[TestGDBRemotePlatformFile.py](https://github.com/llvm/llvm-project/blob/94e7d9c0bfe517507ea08b00fb00c32fb2837a82/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py#L24-L32)
To fix this, use the `platform put-file` method, which is used in the
`redirect_stdin` from this test already.
Commit: 4afa9787560d00474c6ab600be70d59fa7eae87f
https://github.com/llvm/llvm-project/commit/4afa9787560d00474c6ab600be70d59fa7eae87f
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
Log Message:
-----------
Revert "[Clang][Sema] Always use latest redeclaration of primary template" (#114304)
Clang importer doesn't seem to work well with this change, see
discussion in the original PR.
Reverts llvm/llvm-project#114258
Commit: 74d8f3952c4acf6d57948983d7c5b0d0a7763c28
https://github.com/llvm/llvm-project/commit/74d8f3952c4acf6d57948983d7c5b0d0a7763c28
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
R clang/test/CodeGenHLSL/builtins/RWBuffer-annotations.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedBuffer-annotations.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/cbuf.hlsl
Log Message:
-----------
[HLSL] Remove old resource annotations for UAVs and SRVs (#114139)
UAVs and SRVs have already been converted to use LLVM target types and
we can disable generating of the !hlsl.uavs and !hlsl.srvs! annotations.
This will enable adding tests for structured buffers with user defined
types that this old resource annotations code does not handle (it
crashes).
Part 1 of #114126
Commit: 14045de250ea126029d43ff8f2f68e9614c394bc
https://github.com/llvm/llvm-project/commit/14045de250ea126029d43ff8f2f68e9614c394bc
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[RISCV] Account for factor in interleave memory op costs (#111511)
Currently we cost an interleaved memory op as if it were a load/store of
the widened vector type, but this was undercosting in all cases when
compared to the measured performance of todays hardware.
On the x280 at NF=2 and spacemit-x60 at NF=2,3 and 4, a segmented load
is carried out as a wide load and NF LMUL shuffle ops:
https://github.com/preames/bp3-microarch#vlseg_lmul_x_sew_throughput
All other NFs go through a slow path. On the spacemit-x60 this is
proportional to VLMAX * NF, and on the x280 proportional to the number
of segments.
This patch increases the cost by implementing a wide load + NF LMUL
shuffle op cost for the lowest common denominator NF=2, and then a
slower cost proportional to VL for the other NFs.
In a follow up patch we can add a tuning flag to use the faster cost
model for NF=3 and 4 on the spacemit-x60.
Note that the FIXME about illegal vectors seems to have been fixed in
#100436
Commit: 56dcfbef453d6cc390fc7a734db417e047616526
https://github.com/llvm/llvm-project/commit/56dcfbef453d6cc390fc7a734db417e047616526
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove duplicate vector conversion pseudos. (#114287)
These pseudos used to be handled by CustomInserter to insert the
rounding
mode change for vector ceil, floor, etc. At some point they were changed
to use the InsertReadWriteCSR pass instead of the custom inserter. I
believe
that makes them redundant with the pseudos used by the RVV intrinsics
with rounding mode operand.
Commit: 5d35747f6de9295400327744b389f303e3e2b13d
https://github.com/llvm/llvm-project/commit/5d35747f6de9295400327744b389f303e3e2b13d
Author: Michael Jones <michaelrj at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/test/src/sys/statvfs/linux/CMakeLists.txt
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
Log Message:
-----------
[libc] Refactor statvfs tests (#114147)
The previous statvfs tests had several issues, this patch updates them
to meet current standards.
Commit: 50c44478fe3f680374edf1363d2a3617b8ff2a0b
https://github.com/llvm/llvm-project/commit/50c44478fe3f680374edf1363d2a3617b8ff2a0b
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/src/string/string_utils.h
M libc/test/UnitTest/LibcTest.h
M libc/test/src/string/StrchrTest.h
Log Message:
-----------
[libc] fix behavior of strrchr(x, '\0') (#112620)
`strrchr("foo", '\0')` is defined to point to the end of `foo`, rather
than returning NULL. This wasn't caught by tests, since llvm-libc's
`ASSERT_STREQ(nullptr, "");` is not an assertion error.
While I'm here, refactor the test slightly to check for NULL more
specifically. I considered adding fancier `ASSERT`s (and changing the
semantics of `ASSERT_STREQ`), but opted for a more local fix by fair
dice roll.
Commit: 36d56925706a32a065ec50d5a6b418e1f29a27b3
https://github.com/llvm/llvm-project/commit/36d56925706a32a065ec50d5a6b418e1f29a27b3
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
Revert "[TLI] Add support for hypot libcall." (#114312)
Reverts llvm/llvm-project#113724
Commit: 1cecc58c3f15e3d0fe97b7f764d498e4005557e0
https://github.com/llvm/llvm-project/commit/1cecc58c3f15e3d0fe97b7f764d498e4005557e0
Author: Artem Belevich <tra at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
A llvm/include/llvm/Support/NVPTXAddrSpace.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/NVPTX/isspacep.ll
Log Message:
-----------
[NVPTX] instcombine known pointer AS checks. (#112964)
The change improves the code in general and, as a side effect, avoids crashing
on an impossible address space casts guarded by `__isGlobal/__isShared`, which
partially fixes https://github.com/llvm/llvm-project/issues/112760
It's still possible to trigger the issue by using explicit AS casts w/o
AS checks, but LLVM should no longer crash on valid code.
Commit: d043670d66ce7958aec7837ee572f3dc8948f11a
https://github.com/llvm/llvm-project/commit/d043670d66ce7958aec7837ee572f3dc8948f11a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
M mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
Log Message:
-----------
[mlir][func] Replace `ValueDecomposer` with target materialization (#114192)
The `ValueDecomposer` in `DecomposeCallGraphTypes` was a workaround
around missing 1:N support in the dialect conversion. Since #113032, the
dialect conversion infrastructure supports 1:N type conversions and 1:N
target materializations. The `ValueDecomposer` class is no longer
needed. (However, target materializations must still be inserted
manually, until we fully merge the 1:1 and 1:N drivers.)
Note for LLVM integration: Register 1:N target materializations on the
type converter instead of "decompose value conversions" on the
`ValueDecomposer`.
Commit: 04e876e6c6eee5332f5fff30c8778abe82ebf52f
https://github.com/llvm/llvm-project/commit/04e876e6c6eee5332f5fff30c8778abe82ebf52f
Author: Artem Belevich <tra at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
R llvm/include/llvm/Support/NVPTXAddrSpace.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
R llvm/test/Transforms/InstCombine/NVPTX/isspacep.ll
Log Message:
-----------
Revert "[NVPTX] instcombine known pointer AS checks." (#114319)
Reverts llvm/llvm-project#112964
Crashes MLIR: https://lab.llvm.org/buildbot/#/builders/138/builds/5665
Commit: 67c485798a16c4c656ff7a8a38cc98fe46d25154
https://github.com/llvm/llvm-project/commit/67c485798a16c4c656ff7a8a38cc98fe46d25154
Author: Caio Oliveira <caio.oliveira at intel.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/utils/spirv/gen_spirv_dialect.py
Log Message:
-----------
[mlir][spirv] Ignore extra comma for category_args in gen_spirv_dialect.py (#111776)
In the code being parsed, the comma separates following traits from the
category args. If there's no category args, it is still present.
Commit: 6e75eec866133620dcba956bc7d6dbc554642249
https://github.com/llvm/llvm-project/commit/6e75eec866133620dcba956bc7d6dbc554642249
Author: Caio Oliveira <caio.oliveira at intel.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M mlir/utils/spirv/gen_spirv_dialect.py
Log Message:
-----------
[mlir][spirv] Remove code for de-duplicating symbols in SPIR-V grammar (#111778)
SPIR-V grammar was updated in upstream to have an "aliases" field
instead of duplicating symbols with same values. See
https://github.com/KhronosGroup/SPIRV-Headers/pull/447 for details.
Commit: 3a782ef97de771af9fd565e0043d49bdd0f2c850
https://github.com/llvm/llvm-project/commit/3a782ef97de771af9fd565e0043d49bdd0f2c850
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/docs/index.rst
Log Message:
-----------
[lldb] Add a link to LLDB's Discord channel on the website (#114289)
Looking at #114276, I realized we have a link to Discourse on the
website, but not Discord. I think it would be helpful to have that link
there for real-time community discussion.
Commit: 1cb599835ccf7ee8b2d1d5a7f3107e19a26fc6f5
https://github.com/llvm/llvm-project/commit/1cb599835ccf7ee8b2d1d5a7f3107e19a26fc6f5
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/65704-illegal-instruction.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cmp-folds.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/extload-truncstore.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-binop-splats.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compressstore-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-expandload-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-bitcast.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ftrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfclass.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfcmp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfcmps-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce.ll
M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fptoui-sat.ll
M llvm/test/CodeGen/RISCV/rvv/frint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ftrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ftrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-load-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/splat-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/rvv/undef-vp-ops.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-ta.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vcompress.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass.ll
M llvm/test/CodeGen/RISCV/rvv/vfcmp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfcmps-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfcopysign-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-rtz-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-rtz-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax.ll
M llvm/test/CodeGen/RISCV/rvv/vfmerge.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmv.f.s.ll
M llvm/test/CodeGen/RISCV/rvv/vfmv.s.f.ll
M llvm/test/CodeGen/RISCV/rvv/vfmv.v.f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-rod-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfrec7.ll
M llvm/test/CodeGen/RISCV/rvv/vfredmax.ll
M llvm/test/CodeGen/RISCV/rvv/vfredmin.ll
M llvm/test/CodeGen/RISCV/rvv/vfredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsqrt7.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnj.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnjn.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnjx.ll
M llvm/test/CodeGen/RISCV/rvv/vfslide1down.ll
M llvm/test/CodeGen/RISCV/rvv/vfslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vitofp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vloxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vloxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vlseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vlsseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlsseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vluxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vluxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vslidedown.ll
M llvm/test/CodeGen/RISCV/rvv/vslideup.ll
M llvm/test/CodeGen/RISCV/rvv/vsoxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsoxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vsseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vsuxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsuxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
Log Message:
-----------
[RISCV] Remove redundant +zfh from +zvfh[min] tests. NFC
In the vast majority of f16 tests we don't end up emitting any scalar
code that needs +zfh, so remove it.
Commit: 6ffefbbc2593d82117924c5c18d2a4ed7689ea3f
https://github.com/llvm/llvm-project/commit/6ffefbbc2593d82117924c5c18d2a4ed7689ea3f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Remove handling of special bitcode flags (#114298)
Summary:
These flags were used in the very early days while we were trying to
port stuff. Now that we just pass bitcode to the device link job it
can be easily replaced by `-Xoffload-linker foo.bc`.
Commit: a39fb30a4928eef0619bcfaa709645309dff32f9
https://github.com/llvm/llvm-project/commit/a39fb30a4928eef0619bcfaa709645309dff32f9
Author: lntue <lntue at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M libc/test/UnitTest/LibcTest.h
Log Message:
-----------
[libc] Fix usage of std::nullptr_t in LibcTest.h. (#114321)
Commit: 847f4ef21b4a953bb6dd6477791e8d95b6db2509
https://github.com/llvm/llvm-project/commit/847f4ef21b4a953bb6dd6477791e8d95b6db2509
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Use getAllOnesConstant instead of getConstant(-1). NFC (#114299)
Commit: c1858cdd1dafd29f56cf6274cc03c1567d249daa
https://github.com/llvm/llvm-project/commit/c1858cdd1dafd29f56cf6274cc03c1567d249daa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-link-wrapper] Fix a warning
This patch fixes:
clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp:221:23:
error: unused function 'getInputBitcodeLibrary'
[-Werror,-Wunused-function]
Commit: 51628faa0122d61b7725ec869fa5c0be1d739edd
https://github.com/llvm/llvm-project/commit/51628faa0122d61b7725ec869fa5c0be1d739edd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Sink hasPostISelHook = 1 for vector pseudos into the subclasses that set HasRoundModeOp. NFC (#114294)
Commit: b01e2a8b5620466c3b80cc6f049efbc90b9d103a
https://github.com/llvm/llvm-project/commit/b01e2a8b5620466c3b80cc6f049efbc90b9d103a
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/drop_type_test.ll
M llvm/test/Transforms/LowerTypeTests/drop_type_test_phi.ll
Log Message:
-----------
[llvm] Allow always dropping all llvm.type.test sequences
Currently, the `DropTypeTests` parameter only fully works with phi nodes
and llvm.assume instructions. However, we'd like CFI to work in
conjunction with FatLTO, in so far as the bitcode section should be able
to contain the CFI instrumentation, while any incompatible bits are
dropped when compiling the object code.
To do that, we need to drop the llvm.type.test instructions everywhere,
and not just their uses in phi nodes. This patch updates the
LowerTypeTest pass so that uses are removed, and replaced with `true` in
all cases, and not just in phi nodes.
Addressing this will allow us to fix #112053 by modifying the FatLTO
pipeline.
Reviewers: pcc, nikic
Reviewed By: pcc
Pull Request: https://github.com/llvm/llvm-project/pull/112787
Commit: 36b79156db117bddd98927d869bb51cf70a047d1
https://github.com/llvm/llvm-project/commit/36b79156db117bddd98927d869bb51cf70a047d1
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port 508263824f4ef (BuiltinsX86.td)
Commit: cf9d1c1486ef53213b434700a4117d71a2cb67e3
https://github.com/llvm/llvm-project/commit/cf9d1c1486ef53213b434700a4117d71a2cb67e3
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SDAG] Simplify `SDNodeFlags` with bitwise logic (#114061)
This patch allows using enumeration values directly and simplifies the
implementation with bitwise logic. It addresses the comment in
https://github.com/llvm/llvm-project/pull/113808#discussion_r1819923625.
Commit: d67f2bd45de4808597189ca67f809e037211576e
https://github.com/llvm/llvm-project/commit/d67f2bd45de4808597189ca67f809e037211576e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port 84b7bcfcac02
Commit: dbece8edb4072a7e77feb948619b46ba7cc48923
https://github.com/llvm/llvm-project/commit/dbece8edb4072a7e77feb948619b46ba7cc48923
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
Log Message:
-----------
[rtsan][NFC] Put in comment describing why freeing a nullptr is safe (#113720)
Just documenting this for future devs.
Also moved to `nullptr` and deleted unnecessary braces as per the coding
standard.
Commit: f582cd3dc70fa8c9519f74f16ab0a33ad663038e
https://github.com/llvm/llvm-project/commit/f582cd3dc70fa8c9519f74f16ab0a33ad663038e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SelectionDAG] Fix a warning
This patch fixes:
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:1489:17: error:
unused variable 'Flags' [-Werror,-Wunused-variable]
Commit: dafb90dedcda1ad7b94b0bcdbbe7478f7d0f31f6
https://github.com/llvm/llvm-project/commit/dafb90dedcda1ad7b94b0bcdbbe7478f7d0f31f6
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
Log Message:
-----------
[NFC] Call base class method in DarwinAArch64TargetInfo::getOSDefines (#114241)
This is needed for a private patch we'll be upstreaming in the future.
Commit: e99c4906e44ae3f921fa05356909d006cda8d954
https://github.com/llvm/llvm-project/commit/e99c4906e44ae3f921fa05356909d006cda8d954
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/shuffle.h
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__atomic/aliases.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__atomic/cxx_atomic_impl.h
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__concepts/swappable.h
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/hash.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/empty.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/incrementable_traits.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/segmented_iterator.h
M libcxx/include/__iterator/size.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__mdspan/default_accessor.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__mdspan/layout_left.h
M libcxx/include/__mdspan/layout_right.h
M libcxx/include/__mdspan/layout_stride.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/align.h
M libcxx/include/__memory/aligned_alloc.h
M libcxx/include/__memory/allocate_at_least.h
M libcxx/include/__memory/allocation_guard.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/array_cookie.h
M libcxx/include/__memory/assume_aligned.h
M libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/destruct_n.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/unique_temporary_buffer.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__memory_resource/memory_resource.h
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__memory_resource/pool_options.h
M libcxx/include/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__numeric/midpoint.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/std_thread.h
M libcxx/include/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/__pstl/cpu_algos/find_if.h
M libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/log2.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_int_distribution.h
M libcxx/include/__ranges/access.h
M libcxx/include/__ranges/counted.h
M libcxx/include/__ranges/drop_view.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/empty_view.h
M libcxx/include/__ranges/istream_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/single_view.h
M libcxx/include/__ranges/size.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__ranges/take_view.h
M libcxx/include/__ranges/to.h
M libcxx/include/__split_buffer
M libcxx/include/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/priority_tag.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/__utility/swap.h
M libcxx/include/__variant/monostate.h
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bitset
M libcxx/include/charconv
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/exception
M libcxx/include/experimental/__simd/aligned_tag.h
M libcxx/include/experimental/__simd/declaration.h
M libcxx/include/experimental/__simd/reference.h
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/traits.h
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/initializer_list
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/module.modulemap
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/semaphore
M libcxx/include/span
M libcxx/include/stdexcept
M libcxx/include/stop_token
M libcxx/include/string_view
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/src/memory_resource.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.cxx1z.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_unwrap_reverse.pass.cpp
M libcxx/test/libcxx/algorithms/robust_against_using_non_transparent_comparators.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/asan_turning_off.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/address.pass.cpp
M libcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.lang/concept.constructible/constructible_from.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/destroy_elements.pass.cpp
M libcxx/test/std/containers/views/mdspan/MinimalElementType.h
M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h
M libcxx/test/std/containers/views/views.span/span.cons/iterator_len.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.verify.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
M libcxx/test/std/diagnostics/syserr/is_error_code_enum.pass.cpp
M libcxx/test/std/diagnostics/syserr/is_error_condition_enum.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/incrementable_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/iter_difference_t.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/indirectly_readable_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp
M libcxx/test/std/numerics/bit/byteswap.pass.cpp
M libcxx/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan.pass.cpp
M libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan.pass.cpp
M libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop_init.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/deref.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/member_typedefs.compile.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/minus.pass.cpp
M libcxx/test/std/ranges/range.utility/range.subrange/ctad.compile.pass.cpp
M libcxx/test/std/strings/string.view/string.view.modifiers/remove_prefix.pass.cpp
M libcxx/test/std/strings/string.view/string.view.modifiers/remove_suffix.pass.cpp
M libcxx/test/std/strings/string.view/string.view.modifiers/swap.pass.cpp
M libcxx/test/std/strings/string.view/string.view.ops/copy.pass.cpp
M libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.pass.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_overaligned_request.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_overaligned_request.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_deallocate_matches_allocate.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_overaligned_request.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_deallocate_matches_allocate.pass.cpp
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_indic_conjunct_break_table.py
M libcxx/utils/generate_width_estimation_table.py
M libcxxabi/src/private_typeinfo.cpp
M libcxxabi/test/test_aux_runtime.pass.cpp
Log Message:
-----------
[libc++] Granularize <cstddef> includes (#108696)
Commit: 3243e3d8872585091d65ea7ff0639155b4c1dd7a
https://github.com/llvm/llvm-project/commit/3243e3d8872585091d65ea7ff0639155b4c1dd7a
Author: jimingham <jingham at apple.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Fix stepping away from the bottom-most frame of a virtual inlined call stack. (#114337)
The computation of 'Thread::IsVirtualStep" was wrong - it called being
at the bottom of a virtual call stack a "virtual step" but that is
actually when you've gotten to concrete code and need to step for real.
I also added a test for this.
Commit: e9b7fe8e5a5819cb632d02529712535ca1b83f02
https://github.com/llvm/llvm-project/commit/e9b7fe8e5a5819cb632d02529712535ca1b83f02
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
Log Message:
-----------
[clangd] [Modules] Use ASTReader directly in IsModuleFileUpToDate (#113879)
@kadircet mentioned in
https://github.com/llvm/llvm-project/commit/448d8fa880be5cae0f63c3b248f07f647013a5a4#diff-fb3ba8a781117ff04736f951a274812cb7ad1678f9d71d4d91870b711ab45da0L285
that:
> this is definitely a functional change, clangd is used in environments
that solely relies on VFS, and doesn't depend on ASTUnit at all.
> right now this is both introducing a dependency on ASTUnit, and making
all the logical IO physical instead. can you instead use the regular
compiler utilities in clangd, and get the astreader from
CompilerInstance directly, which is VFS-aware, and doesn't depend on
ASTUnit ?
This tries to resolve the problem by creating ASTReader directly and use
VFS to create the FileManager.
Commit: de7ad6b6820a265160507f8c6cf8ce5e07c4d5d8
https://github.com/llvm/llvm-project/commit/de7ad6b6820a265160507f8c6cf8ce5e07c4d5d8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Use Py_InitializeFromConfig with Python >= 3.8 (NFC) (#114112)
This fixes the deprecation warning for Py_SetPythonHome, which was
deprecated in Python 3.11. With this patch, when building against Python
3.8 or later, we now use Py_InitializeFromConfig instead.
Fixes #113475
Commit: 14f3cdc8e2ffc6ce88f9010bf6317f214dd8bcaf
https://github.com/llvm/llvm-project/commit/14f3cdc8e2ffc6ce88f9010bf6317f214dd8bcaf
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add BUILD rules for float16 math functions. (#114187)
Adds libc_math_function rules for various f16* and *f16 functions.
Closes #114140
Commit: 8127162427c5f8c28d6292e1d4b4ce8a00b2d5a2
https://github.com/llvm/llvm-project/commit/8127162427c5f8c28d6292e1d4b4ce8a00b2d5a2
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86_64.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/amxfp8intrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Sema/SemaX86.cpp
A clang/test/CodeGen/X86/amx_fp8.c
A clang/test/CodeGen/X86/amx_fp8_errors.c
A clang/test/CodeGen/X86/amx_fp8_inline_asm.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
A llvm/test/CodeGen/X86/amx_fp8_intrinsics.ll
A llvm/test/MC/Disassembler/X86/AMX/amx-fp8.txt
A llvm/test/MC/X86/AMX/amx-fp8-att.s
A llvm/test/MC/X86/AMX/amx-fp8-intel.s
Log Message:
-----------
[X86][AMX] Support AMX-FP8 (#113850)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: f0bae562dc3b30e55e5f92e698adf291e024d9a5
https://github.com/llvm/llvm-project/commit/f0bae562dc3b30e55e5f92e698adf291e024d9a5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
Log Message:
-----------
[GISel] Return const APInt & from getIConstantFromReg. NFC (#114320)
This matches what the call to ConstantInt::getValue() returns. Let the
caller make a copy if needed.
Commit: 55dbacbf0746afa243224b58d4b5f86d3b54774e
https://github.com/llvm/llvm-project/commit/55dbacbf0746afa243224b58d4b5f86d3b54774e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove RISCVISD::VFCVT_X(U)_F_VL by using VFCVT_RM_X(U)_F_VL with DYN rounding mode. NFC (#114306)
Commit: ccdfd1a182fc718997f21583aea95d321f03c967
https://github.com/llvm/llvm-project/commit/ccdfd1a182fc718997f21583aea95d321f03c967
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 8127162427c5
Commit: 75aaa312ffa9aa044b84bd1b32491937795c110a
https://github.com/llvm/llvm-project/commit/75aaa312ffa9aa044b84bd1b32491937795c110a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Fix formatting and whitespace in ScriptInterpreterPython (NFC)
Commit: 97788089988a2ace63d717cadbcfe3443f380f9c
https://github.com/llvm/llvm-project/commit/97788089988a2ace63d717cadbcfe3443f380f9c
Author: apple-fcloutier <75502309+apple-fcloutier at users.noreply.github.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/include/clang/Sema/SemaObjC.h
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
Log Message:
-----------
[ObjC] Insert method parameters in scope as they are parsed (#113745)
Before this change, ParseObjc would call the closing
`MaybeParseAttributes` before it had created Objective-C `ParmVarDecl`
objects (and associated name lookup entries), meaning that you could not
reference Objective-C method parameters in
`__attribute__((diagnose_if))`. This change moves the creation of the
`ParmVarDecl` objects ahead of calling `Sema::ActOnMethodDeclaration` so
that `MaybeParseAttributes` can find them. This is already how it works
for C parameters hanging off of the selector.
This change alone is insufficient to enable `diagnose_if` for
Objective-C methods and effectively is NFC. There will be a follow-up PR
for diagnose_if. This change is still useful for any other work that may
need attributes to reference Objective-C parameters.
rdar://138596211
Commit: 948249d80483a85c2f20b709d977e124473dd10b
https://github.com/llvm/llvm-project/commit/948249d80483a85c2f20b709d977e124473dd10b
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
R llvm/test/CodeGen/DirectX/group_memory_barrier_with_group_sync.ll
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
Revert "[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic" (#114322)
Reverts llvm/llvm-project#111884
Commit: 6bf214b7c6d74ec581bc52a9142756a1d1df6df0
https://github.com/llvm/llvm-project/commit/6bf214b7c6d74ec581bc52a9142756a1d1df6df0
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir
Log Message:
-----------
[GlobalISel][AArch64] Legalize G_INSERT_VECTOR_ELT for SVE (#114310)
There are patterns for:
* {nxv2s32, s32, s64},
* {nxv4s16, s16, s64},
* {nxv2s16, s16, s64}
Commit: 6effab990c5c1b4fe55fcd43004a1fd88145bb8d
https://github.com/llvm/llvm-project/commit/6effab990c5c1b4fe55fcd43004a1fd88145bb8d
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
R llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-insert-elt.mir
Log Message:
-----------
Revert "[GlobalISel][AArch64] Legalize G_INSERT_VECTOR_ELT for SVE" (#114353)
Reverts llvm/llvm-project#114310
Commit: 50896e7ef5794a74ff91066f845d24ad664bc0dc
https://github.com/llvm/llvm-project/commit/50896e7ef5794a74ff91066f845d24ad664bc0dc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrThumb2.td
Log Message:
-----------
[ARM] Use getSignedConstant. NFC
Commit: 00cbb68fb7591997af52584eaa7d7f8ef81e5288
https://github.com/llvm/llvm-project/commit/00cbb68fb7591997af52584eaa7d7f8ef81e5288
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[LegalizeDAG] Use getSignedConstant. NFC
Commit: a33fd61862efc03cfde2cc84c2a2d6f7f1c55983
https://github.com/llvm/llvm-project/commit/a33fd61862efc03cfde2cc84c2a2d6f7f1c55983
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCVXsf.td
Log Message:
-----------
[RISCV] Remove dead code from IntrinsicsRISCVXsf.td. NFC
Commit: 6da5968f5ecc2a2e8b0697e335f4dec1b3bbfd01
https://github.com/llvm/llvm-project/commit/6da5968f5ecc2a2e8b0697e335f4dec1b3bbfd01
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-scalarized.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vitofp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
Log Message:
-----------
[RISCV] Lower scalar_to_vector for supported FP types (#114340)
In https://reviews.llvm.org/D147608 we added custom lowering for
integers, but inadvertently also marked it as custom for scalable FP
vectors despite not handling it.
This adds handling for floats and marks it as custom lowered for
fixed-length FP vectors too.
Note that this doesn't handle bf16 or f16 vectors that would need
promotion, but these scalar_to_vector nodes seem to be emitted when
expanding them.
Commit: 9bb5af8a42ab5971baaff45c0c40ebd766196528
https://github.com/llvm/llvm-project/commit/9bb5af8a42ab5971baaff45c0c40ebd766196528
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
Log Message:
-----------
[TableGen] Replace StringRef::slice with substr. NFC
Commit: f8d1ffd0acdc3495bd0c3afa6f632a7d065d46b2
https://github.com/llvm/llvm-project/commit/f8d1ffd0acdc3495bd0c3afa6f632a7d065d46b2
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-30 (Wed, 30 Oct 2024)
Changed paths:
M clang/docs/ClangFormat.rst
Log Message:
-----------
[NFC] Remove references to deleted `ClangFormattedStatus` file (#114331)
Commit: a8575c14596a52d2edfb34b307009c58099f3973
https://github.com/llvm/llvm-project/commit/a8575c14596a52d2edfb34b307009c58099f3973
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Sink ordered reduction check into FAdd. NFC (#114180)
Commit: fdc78120bde1426b223196bec645b6f27fc60f0e
https://github.com/llvm/llvm-project/commit/fdc78120bde1426b223196bec645b6f27fc60f0e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
Log Message:
-----------
[mlir][docs] Fix typo in bufferization documentation(NFC) (#114342)
Commit: 287781c7c9dbd7674cf7cbab8a8fe8a49a4b9317
https://github.com/llvm/llvm-project/commit/287781c7c9dbd7674cf7cbab8a8fe8a49a4b9317
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Ignore trivial functions and [[clang::noescape]]. (#113845)
This PR makes webkit.UncountedLambdaCapturesChecker ignore trivial
functions as well as the one being passed to an argument with
[[clang::noescape]] attribute. This dramatically reduces the false
positive rate for this checker.
To do this, this PR replaces VisitLambdaExpr in favor of checking
lambdas via VisitDeclRefExpr and VisitCallExpr. The idea is that if a
lambda is defined but never called or stored somewhere, then capturing
whatever variable in such a lambda is harmless.
VisitCallExpr explicitly looks for direct invocation of lambdas and
registers its DeclRefExpr to be ignored in VisitDeclRefExpr. If a lambda
is being passed to a function, it checks whether its argument is
annotated with [[clang::noescape]]. If it's not annotated such, it
checks captures for their safety.
Because WTF::switchOn could not be annotated with [[clang::noescape]] as
function type parameters are variadic template function so we hard-code
this function into the checker.
Finally, this PR also converts the accompanying test to use -verify and
adds a bunch of tests.
Commit: dadfd4a288d9fd87314c1542a052e5942960c40b
https://github.com/llvm/llvm-project/commit/dadfd4a288d9fd87314c1542a052e5942960c40b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
Revert "[webkit.UncountedLambdaCapturesChecker] Ignore trivial functions and [[clang::noescape]]." (#114372)
Reverts llvm/llvm-project#113845. Introduced a test failure.
Commit: 9735c0518677a40d44cfd730d48d44bd29d0e9d7
https://github.com/llvm/llvm-project/commit/9735c0518677a40d44cfd730d48d44bd29d0e9d7
Author: David Green <david.green at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-phiselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Log Message:
-----------
[ValueTracking] Compute KnownFP state from recursive select/phi. (#113686)
Given a recursive phi with select:
%p = phi [ 0, entry ], [ %sel, loop]
%sel = select %c, %other, %p
The fp state can be calculated using the knowledge that the select/phi
pair can only be the initial state (0 here) or from %other. This adds a
short-cut into computeKnownFPClass for PHI to detect that the select is
recursive back to the phi, and if so use the state from the other
operand.
This helps to address a regression from #83200.
Commit: d5cdc26f555918e6f292f16ac3800afc97093aac
https://github.com/llvm/llvm-project/commit/d5cdc26f555918e6f292f16ac3800afc97093aac
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
A clang/test/Modules/diff-retain-comments-from-system-headers-flag.cppm
Log Message:
-----------
[Clang] Mark RetainCommentsFromSystemHeaders as compatible language options
Motivated by comments in https://github.com/clangd/clangd/issues/1293
And RetainCommentsFromSystemHeaders shouldn't affect the compatibleness
anyway.
Commit: 1897bf61f0bc85c8637997d0f2aa7d94d375d787
https://github.com/llvm/llvm-project/commit/1897bf61f0bc85c8637997d0f2aa7d94d375d787
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/test/CodeGen/LoongArch/calling-conv-common.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64d.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/LoongArch/double-imm.ll
M llvm/test/CodeGen/LoongArch/fdiv-reciprocal-estimate.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/fsqrt-reciprocal-estimate.ll
M llvm/test/CodeGen/LoongArch/get-setcc-result-type.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
M llvm/test/CodeGen/LoongArch/statepoint-call-lowering-r1.ll
M llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
M llvm/test/CodeGen/LoongArch/target-abi-from-triple.ll
M llvm/test/CodeGen/LoongArch/vararg.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
M llvm/test/Transforms/LoopIdiom/LoongArch/popcnt.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
Log Message:
-----------
[LoongArch] Enable FeatureExtLSX for generic-la64 processor (#113421)
This commit makes the `generic` target to support FP and LSX, as
discussed in #110211. Thereby, it allows 128-bit vector to be enabled by
default in the loongarch64 backend.
Commit: a776bd1a92126bf9bd1b51511364194fd75aa606
https://github.com/llvm/llvm-project/commit/a776bd1a92126bf9bd1b51511364194fd75aa606
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
Log Message:
-----------
[clang-tidy] support `return c ? a : b;` in bugprone-return-const-ref-from-parameter (#107657)
A `const &` parameter can also be returned via a conditional operator:
`c ? a : b`. This change adds support for diagnosing returning these
parameters
with conditional operators.
Commit: 7cd29741fa9d0835245d421ae163964083e3774a
https://github.com/llvm/llvm-project/commit/7cd29741fa9d0835245d421ae163964083e3774a
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
Log Message:
-----------
[AMDGPU] Extend mov_dpp8 intrinsic lowering for generic types (#114296)
The int_amdgcn_mov_dpp8 is overloaded, but we can only select i32.
To allow a corresponding builtin to be overloaded the same way as
int_amdgcn_mov_dpp we need it to be able to split unsupported values.
Commit: 06984825061f1bf7c70087833a8d4f6d9feb2865
https://github.com/llvm/llvm-project/commit/06984825061f1bf7c70087833a8d4f6d9feb2865
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/do_concurrent.f90
Log Message:
-----------
[flang][MLIR] Hoist `do concurrent` nest bounds/steps outside the nest (#114020)
If you have the following multi-range `do concurrent` loop:
```fortran
do concurrent(i=1:n, j=1:bar(n*m, n/m))
a(i) = n
end do
```
Currently, flang generates the following IR:
```mlir
fir.do_loop %arg1 = %42 to %44 step %c1 unordered {
...
%53:3 = hlfir.associate %49 {adapt.valuebyref} : (i32) -> (!fir.ref<i32>, !fir.ref<i32>, i1)
%54:3 = hlfir.associate %52 {adapt.valuebyref} : (i32) -> (!fir.ref<i32>, !fir.ref<i32>, i1)
%55 = fir.call @_QFPbar(%53#1, %54#1) fastmath<contract> : (!fir.ref<i32>, !fir.ref<i32>) -> i32
hlfir.end_associate %53#1, %53#2 : !fir.ref<i32>, i1
hlfir.end_associate %54#1, %54#2 : !fir.ref<i32>, i1
%56 = fir.convert %55 : (i32) -> index
...
fir.do_loop %arg2 = %46 to %56 step %c1_4 unordered {
...
}
}
```
However, if `bar` is impure, then we have a direct violation of the
standard:
```
C1143 A reference to an impure procedure shall not appear within a DO CONCURRENT construct.
```
Moreover, the standard describes the execution of `do concurrent`
construct in multiple stages:
```
11.1.7.4 Execution of a DO construct
...
11.1.7.4.2 DO CONCURRENT loop control
The concurrent-limit and concurrent-step expressions in the concurrent-control-list are evaluated. ...
11.1.7.4.3 The execution cycle
...
The block of a DO CONCURRENT construct is executed for every active combination of the index-name values.
Each execution of the block is an iteration. The executions may occur in any order.
```
>From the above 2 points, it seems to me that execution is divided in
multiple consecutive stages: 11.1.7.4.2 is the stage where we evaluate
all control expressions including the step and then 11.1.7.4.3 is the
stage to execute the block of the concurrent loop itself using the
combination of possible iteration values.
Commit: 084889802d8b8bafa032dce52fb59d79b392da48
https://github.com/llvm/llvm-project/commit/084889802d8b8bafa032dce52fb59d79b392da48
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
Log Message:
-----------
[mlir][docs][NFC] Fix typo in bufferization/transforms documentation (#114313)
Fixes #114202
Commit: 862074fa57405a2a0bbc42db1e14b4382e18c59f
https://github.com/llvm/llvm-project/commit/862074fa57405a2a0bbc42db1e14b4382e18c59f
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/expand-adjacency.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for the adjacency of expanded pseudo-insns
Commit: a218f0f354e9df2ce689686be503f3d85fea44f9
https://github.com/llvm/llvm-project/commit/a218f0f354e9df2ce689686be503f3d85fea44f9
Author: jimingham <jingham at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
Log Message:
-----------
[lldb][test] Skip one inline stepping test for arm-ubuntu. (#114295)
The test is currently passing everywhere but this 32-bit arm ubuntu bot.
I don't have an easy way to debug this, so I'm skipping the test on that
platform till we get a chance to figure this out.
Commit: 7557972884106e6bdaf00eabe1a8cafec861a7fe
https://github.com/llvm/llvm-project/commit/7557972884106e6bdaf00eabe1a8cafec861a7fe
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
Log Message:
-----------
[lldb][test] Fix formatting in TestInlineStepping.py
Fixes a218f0f354e9df2ce689686be503f3d85fea44f9
Commit: f0b9a0ba0649e11f190d20e86f92b566dfb8da0f
https://github.com/llvm/llvm-project/commit/f0b9a0ba0649e11f190d20e86f92b566dfb8da0f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Diagnose delete with non-virtual dtor (#114373)
... in the base class.
Commit: ba1a09da8d4d8138e932d3b6dc96a7bfc5b86fe7
https://github.com/llvm/llvm-project/commit/ba1a09da8d4d8138e932d3b6dc96a7bfc5b86fe7
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx10.cl
Log Message:
-----------
[AMDGPU] Allow overload of __builtin_amdgcn_mov_dpp8 (#113610)
The same handling as for __builtin_amdgcn_mov_dpp.
Commit: 3bc58fc7f79a9b0cbf931573cb257344bfeaca1e
https://github.com/llvm/llvm-project/commit/3bc58fc7f79a9b0cbf931573cb257344bfeaca1e
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/unittests/Host/FileActionTest.cpp
Log Message:
-----------
[lldb][test] Fix FileActionTest.cpp for Windows (#112657)
Disable part of the test failing on windows. as O_NOCTTY and
O_RDONLY dont have same behavior on windows vs linux.
Commit: 28d071803387b6b5c2ba6bc8321aa8e35168167a
https://github.com/llvm/llvm-project/commit/28d071803387b6b5c2ba6bc8321aa8e35168167a
Author: dnsampaio <dnsampaio at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/test/CodeGen/AArch64/avg.ll
M llvm/test/CodeGen/AArch64/sve-hadd.ll
Log Message:
-----------
[DAGCombiner] Add combine avg from shifts (#113909)
This teaches dagcombiner to fold:
`(asr (add nsw x, y), 1) -> (avgfloors x, y)`
`(lsr (add nuw x, y), 1) -> (avgflooru x, y)`
as well the combine them to a ceil variant:
`(avgfloors (add nsw x, y), 1) -> (avgceils x, y)`
`(avgflooru (add nuw x, y), 1) -> (avgceilu x, y)`
iff valid for the target.
Removes some of the ARM MVE patterns that are now dead code.
It adds the avg opcodes to `IsQRMVEInstruction` as to preserve the
immediate splatting as before.
Commit: ccb7cc319f8ea07bb64c2efb0c4f1e42076ef446
https://github.com/llvm/llvm-project/commit/ccb7cc319f8ea07bb64c2efb0c4f1e42076ef446
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Diagnose negative array sizes differently (#114380)
We have a special diagnostic ID for this.
Commit: e67e03a22c27b26125247efeae1b2d36edeb3617
https://github.com/llvm/llvm-project/commit/e67e03a22c27b26125247efeae1b2d36edeb3617
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/SValSimplifyerTest.cpp
Log Message:
-----------
[analyzer] EvalBinOpLL should return Unknown less often (#114222)
SValBuilder::getKnownValue, getMinValue, getMaxValue use
SValBuilder::simplifySVal.
simplifySVal does repeated simplification until a fixed-point is
reached. A single step is done by SimpleSValBuilder::simplifySValOnce,
using a Simplifier visitor. That will basically decompose SymSymExprs,
and apply constant folding using the constraints we have in the State.
Once it decomposes a SymSymExpr, it simplifies both sides and then uses
the SValBuilder::evalBinOp to reconstruct the same - but now simpler -
SymSymExpr, while applying some caching to remain performant.
This decomposition, and then the subsequent re-composition poses new
challenges to the SValBuilder::evalBinOp, which is built to handle
expressions coming from real C/C++ code, thus applying some implicit
assumptions.
One previous assumption was that nobody would form an expression like
"((int*)0) - q" (where q is an int pointer), because it doesn't really
makes sense to write code like that.
However, during simplification, we may end up with a call to evalBinOp
similar to this.
To me, simplifying a SymbolRef should never result in Unknown or Undef,
unless it was Unknown or Undef initially or, during simplification we
realized that it's a division by zero once we did the constant folding,
etc.
In the following case the simplified SVal should not become UnknownVal:
```c++
void top(char *p, char *q) {
int diff = p - q; // diff: reg<p> - reg<q>
if (!p) // p: NULL
simplify(diff); // diff after simplification should be: 0(loc) - reg<q>
}
```
Returning Unknown from the simplifySVal can weaken analysis precision in
other places too, such as in SValBuilder::getKnownValue, getMinValue, or
getMaxValue because we call simplifySVal before doing anything else.
For nonloc::SymbolVals, this loss of precision is critical, because for
those the SymbolRef carries an accurate type of the encoded computation,
thus we should at least have a conservative upper or lower bound that we
could return from getMinValue or getMaxValue - yet we would just return
nullptr.
```c++
const llvm::APSInt *SimpleSValBuilder::getKnownValue(ProgramStateRef state,
SVal V) {
return getConstValue(state, simplifySVal(state, V));
}
const llvm::APSInt *SimpleSValBuilder::getMinValue(ProgramStateRef state,
SVal V) {
V = simplifySVal(state, V);
if (const llvm::APSInt *Res = getConcreteValue(V))
return Res;
if (SymbolRef Sym = V.getAsSymbol())
return state->getConstraintManager().getSymMinVal(state, Sym);
return nullptr;
}
```
For now, I don't plan to make the simplification bullet-proof, I'm just
explaining why I made this change and what you need to look out for in
the future if you see a similar issue.
CPP-5750
Commit: 89f2d50cda2462d744e2ef08d662265a8d598e2a
https://github.com/llvm/llvm-project/commit/89f2d50cda2462d744e2ef08d662265a8d598e2a
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.h
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[mlir][debug] Support DIGenericSubrange. (#113441)
`DIGenericSubrange` is used when the dimensions of the arrays are
unknown at build time (e.g. assumed-rank arrays in Fortran). It has same
`lowerBound`, `upperBound`, `count` and `stride` fields as in
`DISubrange` and its translation looks quite similar as a result.
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 78a98c7aa8ec390045c7a1f84bde6ecbc7b8ca84
https://github.com/llvm/llvm-project/commit/78a98c7aa8ec390045c7a1f84bde6ecbc7b8ca84
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
Log Message:
-----------
[gn build] Port e67e03a22c27
Commit: fba9f05ff7b36f9cbb5835d79f659290dadecaad
https://github.com/llvm/llvm-project/commit/fba9f05ff7b36f9cbb5835d79f659290dadecaad
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_ldexp.cl
Log Message:
-----------
[libclc] Format clc_ldexp.cl and clc_hypot.cl. NFC
Commit: 86974e15f517e8a4ef3bb91125e75cf43d69da6d
https://github.com/llvm/llvm-project/commit/86974e15f517e8a4ef3bb91125e75cf43d69da6d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_ldexp.cl
Log Message:
-----------
[libclc] Restore header order, which formatting broke
Commit: 0800351da4c76c786ce43efe4edc4210f4690875
https://github.com/llvm/llvm-project/commit/0800351da4c76c786ce43efe4edc4210f4690875
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
Log Message:
-----------
[AArch64][SVE] Use INS when moving elements from bottom 128b of SVE type (#114034)
Moving elements from a scalable vector to a fixed-lengh vector should
use[ INS (vector, element)
](https://developer.arm.com/documentation/100069/0606/SIMD-Vector-Instructions/INS--vector--element-)
when we know that the extracted element is in the bottom 128-bits of the
scalable vector. This avoids inserting unecessary UMOV/FMOV
instructions.
Commit: 22081dc40ba8b13e70df71bb7350126658e8cc70
https://github.com/llvm/llvm-project/commit/22081dc40ba8b13e70df71bb7350126658e8cc70
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
Log Message:
-----------
[SPIR-V] Add missing ScalarOpts library (#114384)
Fixes an "undefined reference to `llvm::createRegToMemWrapperPass()'"
linker error introduced by cba70550ccf5 ("[SPIR-V] Fix BB ordering &
register lifetime (#111026)", 2024-10-30).
Commit: 06e28ed84f3f0a05b493699965e18e7a5aeaccd2
https://github.com/llvm/llvm-project/commit/06e28ed84f3f0a05b493699965e18e7a5aeaccd2
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/test/CodeGen/pgo-cold-function-coverage.c
Log Message:
-----------
Revert "specify clang --target to fix breakage on AIX (#114127)"
This reverts commit cc60c46e39b0fffadc83a905b37d98aff426ac17.
Commit: d924a9ba03a05b417676e84f6c81aac44f907f71
https://github.com/llvm/llvm-project/commit/d924a9ba03a05b417676e84f6c81aac44f907f71
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
R clang/test/CodeGen/pgo-cold-function-coverage.c
R clang/test/Driver/fprofile-generate-cold-function-coverage.c
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
R llvm/test/Transforms/PGOProfile/instr-gen-cold-function.ll
Log Message:
-----------
Revert "[InstrPGO] Support cold function coverage instrumentation (#109837)"
This reverts commit e517cfc531886bf6ed64b4e7109bb3141ac7f430.
Commit: 92af82a48d09ffe96c4f3275b80b9692b0c6a803
https://github.com/llvm/llvm-project/commit/92af82a48d09ffe96c4f3275b80b9692b0c6a803
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/horiz-math-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/horiz-math.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll
Log Message:
-----------
[VectorCombine] Fold "shuffle (binop (shuffle, shuffle)), undef" --> "binop (shuffle), (shuffle)" (#114101)
Add foldPermuteOfBinops - to fold a permute (single source shuffle) through a binary op that is being fed by other shuffles.
Fixes #94546
Fixes #49736
Commit: 73fbae8383c0994bcc2a5d5307883f53a1fe7d9c
https://github.com/llvm/llvm-project/commit/73fbae8383c0994bcc2a5d5307883f53a1fe7d9c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_n.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/in_found_result.h
M libcxx/include/__cxx03/__algorithm/in_fun_result.h
M libcxx/include/__cxx03/__algorithm/in_in_out_result.h
M libcxx/include/__cxx03/__algorithm/in_in_result.h
M libcxx/include/__cxx03/__algorithm/in_out_out_result.h
M libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/inplace_merge.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/pstl.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
M libcxx/include/__cxx03/__algorithm/ranges_all_of.h
M libcxx/include/__cxx03/__algorithm/ranges_any_of.h
M libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
M libcxx/include/__cxx03/__algorithm/ranges_clamp.h
M libcxx/include/__cxx03/__algorithm/ranges_contains.h
M libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
M libcxx/include/__cxx03/__algorithm/ranges_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
M libcxx/include/__cxx03/__algorithm/ranges_count.h
M libcxx/include/__cxx03/__algorithm/ranges_count_if.h
M libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
M libcxx/include/__cxx03/__algorithm/ranges_equal.h
M libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
M libcxx/include/__cxx03/__algorithm/ranges_fill.h
M libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
M libcxx/include/__cxx03/__algorithm/ranges_find.h
M libcxx/include/__cxx03/__algorithm/ranges_find_end.h
M libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
M libcxx/include/__cxx03/__algorithm/ranges_find_last.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
M libcxx/include/__cxx03/__algorithm/ranges_generate.h
M libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
M libcxx/include/__cxx03/__algorithm/ranges_includes.h
M libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
M libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
M libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
M libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
M libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_max.h
M libcxx/include/__cxx03/__algorithm/ranges_max_element.h
M libcxx/include/__cxx03/__algorithm/ranges_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_min.h
M libcxx/include/__cxx03/__algorithm/ranges_min_element.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
M libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
M libcxx/include/__cxx03/__algorithm/ranges_move.h
M libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_none_of.h
M libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
M libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_remove.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_sample.h
M libcxx/include/__cxx03/__algorithm/ranges_search.h
M libcxx/include/__cxx03/__algorithm/ranges_search_n.h
M libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
M libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_union.h
M libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
M libcxx/include/__cxx03/__algorithm/ranges_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
M libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
M libcxx/include/__cxx03/__algorithm/ranges_transform.h
M libcxx/include/__cxx03/__algorithm/ranges_unique.h
M libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shift_left.h
M libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/stable_partition.h
M libcxx/include/__cxx03/__algorithm/stable_sort.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__assert
M libcxx/include/__cxx03/__atomic/aliases.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/atomic_init.h
M libcxx/include/__cxx03/__atomic/atomic_lock_free.h
M libcxx/include/__cxx03/__atomic/atomic_ref.h
M libcxx/include/__cxx03/__atomic/atomic_sync.h
M libcxx/include/__cxx03/__atomic/check_memory_order.h
M libcxx/include/__cxx03/__atomic/contention_t.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/fence.h
M libcxx/include/__cxx03/__atomic/is_always_lock_free.h
M libcxx/include/__cxx03/__atomic/kill_dependency.h
M libcxx/include/__cxx03/__atomic/memory_order.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/bit_cast.h
M libcxx/include/__cxx03/__bit/bit_ceil.h
M libcxx/include/__cxx03/__bit/bit_floor.h
M libcxx/include/__cxx03/__bit/bit_log2.h
M libcxx/include/__cxx03/__bit/bit_width.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/endian.h
M libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__charconv/chars_format.h
M libcxx/include/__cxx03/__charconv/from_chars_integral.h
M libcxx/include/__cxx03/__charconv/from_chars_result.h
M libcxx/include/__cxx03/__charconv/tables.h
M libcxx/include/__cxx03/__charconv/to_chars.h
M libcxx/include/__cxx03/__charconv/to_chars_base_10.h
M libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
M libcxx/include/__cxx03/__charconv/to_chars_integral.h
M libcxx/include/__cxx03/__charconv/to_chars_result.h
M libcxx/include/__cxx03/__charconv/traits.h
M libcxx/include/__cxx03/__chrono/calendar.h
M libcxx/include/__cxx03/__chrono/concepts.h
M libcxx/include/__cxx03/__chrono/convert_to_timespec.h
M libcxx/include/__cxx03/__chrono/convert_to_tm.h
M libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/exception.h
M libcxx/include/__cxx03/__chrono/file_clock.h
M libcxx/include/__cxx03/__chrono/formatter.h
M libcxx/include/__cxx03/__chrono/hh_mm_ss.h
M libcxx/include/__cxx03/__chrono/high_resolution_clock.h
M libcxx/include/__cxx03/__chrono/leap_second.h
M libcxx/include/__cxx03/__chrono/literals.h
M libcxx/include/__cxx03/__chrono/local_info.h
M libcxx/include/__cxx03/__chrono/month.h
M libcxx/include/__cxx03/__chrono/month_weekday.h
M libcxx/include/__cxx03/__chrono/monthday.h
M libcxx/include/__cxx03/__chrono/ostream.h
M libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
M libcxx/include/__cxx03/__chrono/statically_widen.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__chrono/time_zone.h
M libcxx/include/__cxx03/__chrono/time_zone_link.h
M libcxx/include/__cxx03/__chrono/tzdb.h
M libcxx/include/__cxx03/__chrono/tzdb_list.h
M libcxx/include/__cxx03/__chrono/weekday.h
M libcxx/include/__cxx03/__chrono/year.h
M libcxx/include/__cxx03/__chrono/year_month.h
M libcxx/include/__cxx03/__chrono/year_month_day.h
M libcxx/include/__cxx03/__chrono/year_month_weekday.h
M libcxx/include/__cxx03/__chrono/zoned_time.h
M libcxx/include/__cxx03/__compare/common_comparison_category.h
M libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_three_way.h
M libcxx/include/__cxx03/__compare/compare_three_way_result.h
M libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
M libcxx/include/__cxx03/__compare/is_eq.h
M libcxx/include/__cxx03/__compare/ordering.h
M libcxx/include/__cxx03/__compare/partial_order.h
M libcxx/include/__cxx03/__compare/strong_order.h
M libcxx/include/__cxx03/__compare/synth_three_way.h
M libcxx/include/__cxx03/__compare/three_way_comparable.h
M libcxx/include/__cxx03/__compare/weak_order.h
M libcxx/include/__cxx03/__concepts/arithmetic.h
M libcxx/include/__cxx03/__concepts/assignable.h
M libcxx/include/__cxx03/__concepts/boolean_testable.h
M libcxx/include/__cxx03/__concepts/class_or_enum.h
M libcxx/include/__cxx03/__concepts/common_reference_with.h
M libcxx/include/__cxx03/__concepts/common_with.h
M libcxx/include/__cxx03/__concepts/constructible.h
M libcxx/include/__cxx03/__concepts/convertible_to.h
M libcxx/include/__cxx03/__concepts/copyable.h
M libcxx/include/__cxx03/__concepts/derived_from.h
M libcxx/include/__cxx03/__concepts/destructible.h
M libcxx/include/__cxx03/__concepts/different_from.h
M libcxx/include/__cxx03/__concepts/equality_comparable.h
M libcxx/include/__cxx03/__concepts/invocable.h
M libcxx/include/__cxx03/__concepts/movable.h
M libcxx/include/__cxx03/__concepts/predicate.h
M libcxx/include/__cxx03/__concepts/regular.h
M libcxx/include/__cxx03/__concepts/relation.h
M libcxx/include/__cxx03/__concepts/same_as.h
M libcxx/include/__cxx03/__concepts/semiregular.h
M libcxx/include/__cxx03/__concepts/swappable.h
M libcxx/include/__cxx03/__concepts/totally_ordered.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/availability.h
M libcxx/include/__cxx03/__coroutine/coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/coroutine_traits.h
M libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__exception/exception.h
M libcxx/include/__cxx03/__exception/exception_ptr.h
M libcxx/include/__cxx03/__exception/nested_exception.h
M libcxx/include/__cxx03/__exception/operations.h
M libcxx/include/__cxx03/__exception/terminate.h
M libcxx/include/__cxx03/__expected/bad_expected_access.h
M libcxx/include/__cxx03/__expected/expected.h
M libcxx/include/__cxx03/__expected/unexpect.h
M libcxx/include/__cxx03/__expected/unexpected.h
M libcxx/include/__cxx03/__filesystem/copy_options.h
M libcxx/include/__cxx03/__filesystem/directory_entry.h
M libcxx/include/__cxx03/__filesystem/directory_iterator.h
M libcxx/include/__cxx03/__filesystem/directory_options.h
M libcxx/include/__cxx03/__filesystem/file_status.h
M libcxx/include/__cxx03/__filesystem/file_time_type.h
M libcxx/include/__cxx03/__filesystem/file_type.h
M libcxx/include/__cxx03/__filesystem/filesystem_error.h
M libcxx/include/__cxx03/__filesystem/operations.h
M libcxx/include/__cxx03/__filesystem/path.h
M libcxx/include/__cxx03/__filesystem/path_iterator.h
M libcxx/include/__cxx03/__filesystem/perm_options.h
M libcxx/include/__cxx03/__filesystem/perms.h
M libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
M libcxx/include/__cxx03/__filesystem/space_info.h
M libcxx/include/__cxx03/__filesystem/u8path.h
M libcxx/include/__cxx03/__format/buffer.h
M libcxx/include/__cxx03/__format/concepts.h
M libcxx/include/__cxx03/__format/container_adaptor.h
M libcxx/include/__cxx03/__format/enable_insertable.h
M libcxx/include/__cxx03/__format/escaped_output_table.h
M libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
M libcxx/include/__cxx03/__format/format_arg.h
M libcxx/include/__cxx03/__format/format_arg_store.h
M libcxx/include/__cxx03/__format/format_args.h
M libcxx/include/__cxx03/__format/format_context.h
M libcxx/include/__cxx03/__format/format_error.h
M libcxx/include/__cxx03/__format/format_functions.h
M libcxx/include/__cxx03/__format/format_parse_context.h
M libcxx/include/__cxx03/__format/format_string.h
M libcxx/include/__cxx03/__format/format_to_n_result.h
M libcxx/include/__cxx03/__format/formatter.h
M libcxx/include/__cxx03/__format/formatter_bool.h
M libcxx/include/__cxx03/__format/formatter_char.h
M libcxx/include/__cxx03/__format/formatter_floating_point.h
M libcxx/include/__cxx03/__format/formatter_integer.h
M libcxx/include/__cxx03/__format/formatter_integral.h
M libcxx/include/__cxx03/__format/formatter_output.h
M libcxx/include/__cxx03/__format/formatter_pointer.h
M libcxx/include/__cxx03/__format/formatter_string.h
M libcxx/include/__cxx03/__format/formatter_tuple.h
M libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
M libcxx/include/__cxx03/__format/parser_std_format_spec.h
M libcxx/include/__cxx03/__format/range_default_formatter.h
M libcxx/include/__cxx03/__format/range_formatter.h
M libcxx/include/__cxx03/__format/unicode.h
M libcxx/include/__cxx03/__format/width_estimation_table.h
M libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/bind.h
M libcxx/include/__cxx03/__functional/bind_back.h
M libcxx/include/__cxx03/__functional/bind_front.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
M libcxx/include/__cxx03/__functional/compose.h
M libcxx/include/__cxx03/__functional/default_searcher.h
M libcxx/include/__cxx03/__functional/function.h
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/invoke.h
M libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/not_fn.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/perfect_forward.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/bit_reference.h
M libcxx/include/__cxx03/__fwd/complex.h
M libcxx/include/__cxx03/__fwd/deque.h
M libcxx/include/__cxx03/__fwd/format.h
M libcxx/include/__cxx03/__fwd/fstream.h
M libcxx/include/__cxx03/__fwd/functional.h
M libcxx/include/__cxx03/__fwd/ios.h
M libcxx/include/__cxx03/__fwd/istream.h
M libcxx/include/__cxx03/__fwd/mdspan.h
M libcxx/include/__cxx03/__fwd/memory.h
M libcxx/include/__cxx03/__fwd/memory_resource.h
M libcxx/include/__cxx03/__fwd/ostream.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__fwd/queue.h
M libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/sstream.h
M libcxx/include/__cxx03/__fwd/stack.h
M libcxx/include/__cxx03/__fwd/streambuf.h
M libcxx/include/__cxx03/__fwd/string.h
M libcxx/include/__cxx03/__fwd/string_view.h
M libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__fwd/tuple.h
M libcxx/include/__cxx03/__fwd/vector.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__ios/fpos.h
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/aliasing_iterator.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/common_iterator.h
M libcxx/include/__cxx03/__iterator/concepts.h
M libcxx/include/__cxx03/__iterator/counted_iterator.h
M libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__cxx03/__iterator/data.h
M libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/empty.h
M libcxx/include/__cxx03/__iterator/erase_if_container.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/incrementable_traits.h
M libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iter_move.h
M libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
M libcxx/include/__cxx03/__iterator/iterator_with_data.h
M libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/ostream_iterator.h
M libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/projected.h
M libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
M libcxx/include/__cxx03/__iterator/readable_traits.h
M libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/segmented_iterator.h
M libcxx/include/__cxx03/__iterator/size.h
M libcxx/include/__cxx03/__iterator/sortable.h
M libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__locale_dir/locale_base_api.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h
M libcxx/include/__cxx03/__math/abs.h
M libcxx/include/__cxx03/__math/copysign.h
M libcxx/include/__cxx03/__math/error_functions.h
M libcxx/include/__cxx03/__math/exponential_functions.h
M libcxx/include/__cxx03/__math/fdim.h
M libcxx/include/__cxx03/__math/fma.h
M libcxx/include/__cxx03/__math/gamma.h
M libcxx/include/__cxx03/__math/hyperbolic_functions.h
M libcxx/include/__cxx03/__math/hypot.h
M libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h
M libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h
M libcxx/include/__cxx03/__math/logarithms.h
M libcxx/include/__cxx03/__math/min_max.h
M libcxx/include/__cxx03/__math/modulo.h
M libcxx/include/__cxx03/__math/remainder.h
M libcxx/include/__cxx03/__math/roots.h
M libcxx/include/__cxx03/__math/rounding_functions.h
M libcxx/include/__cxx03/__math/special_functions.h
M libcxx/include/__cxx03/__math/traits.h
M libcxx/include/__cxx03/__math/trigonometric_functions.h
M libcxx/include/__cxx03/__mbstate_t.h
M libcxx/include/__cxx03/__mdspan/default_accessor.h
M libcxx/include/__cxx03/__mdspan/extents.h
M libcxx/include/__cxx03/__mdspan/layout_left.h
M libcxx/include/__cxx03/__mdspan/layout_right.h
M libcxx/include/__cxx03/__mdspan/layout_stride.h
M libcxx/include/__cxx03/__mdspan/mdspan.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/align.h
M libcxx/include/__cxx03/__memory/aligned_alloc.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocation_guard.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_arg_t.h
M libcxx/include/__cxx03/__memory/allocator_destructor.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/builtin_new_allocator.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/concepts.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/destruct_n.h
M libcxx/include/__cxx03/__memory/inout_ptr.h
M libcxx/include/__cxx03/__memory/out_ptr.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/ranges_construct_at.h
M libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/temporary_buffer.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/uses_allocator.h
M libcxx/include/__cxx03/__memory/uses_allocator_construction.h
M libcxx/include/__cxx03/__memory/voidify.h
M libcxx/include/__cxx03/__memory_resource/memory_resource.h
M libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
M libcxx/include/__cxx03/__memory_resource/pool_options.h
M libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/lock_guard.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__mutex/tag_types.h
M libcxx/include/__cxx03/__mutex/unique_lock.h
M libcxx/include/__cxx03/__node_handle
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/exclusive_scan.h
M libcxx/include/__cxx03/__numeric/gcd_lcm.h
M libcxx/include/__cxx03/__numeric/inclusive_scan.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/iota.h
M libcxx/include/__cxx03/__numeric/midpoint.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__numeric/pstl.h
M libcxx/include/__cxx03/__numeric/reduce.h
M libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
M libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
M libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
M libcxx/include/__cxx03/__numeric/transform_reduce.h
M libcxx/include/__cxx03/__ostream/basic_ostream.h
M libcxx/include/__cxx03/__ostream/print.h
M libcxx/include/__cxx03/__pstl/backend.h
M libcxx/include/__cxx03/__pstl/backend_fwd.h
M libcxx/include/__cxx03/__pstl/backends/default.h
M libcxx/include/__cxx03/__pstl/backends/libdispatch.h
M libcxx/include/__cxx03/__pstl/backends/serial.h
M libcxx/include/__cxx03/__pstl/backends/std_thread.h
M libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
M libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
M libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
M libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
M libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
M libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
M libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
M libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__cxx03/__pstl/dispatch.h
M libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/bernoulli_distribution.h
M libcxx/include/__cxx03/__random/binomial_distribution.h
M libcxx/include/__cxx03/__random/cauchy_distribution.h
M libcxx/include/__cxx03/__random/chi_squared_distribution.h
M libcxx/include/__cxx03/__random/clamp_to_integral.h
M libcxx/include/__cxx03/__random/default_random_engine.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/discrete_distribution.h
M libcxx/include/__cxx03/__random/exponential_distribution.h
M libcxx/include/__cxx03/__random/extreme_value_distribution.h
M libcxx/include/__cxx03/__random/fisher_f_distribution.h
M libcxx/include/__cxx03/__random/gamma_distribution.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/geometric_distribution.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/is_seed_sequence.h
M libcxx/include/__cxx03/__random/is_valid.h
M libcxx/include/__cxx03/__random/knuth_b.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/log2.h
M libcxx/include/__cxx03/__random/lognormal_distribution.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/negative_binomial_distribution.h
M libcxx/include/__cxx03/__random/normal_distribution.h
M libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
M libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
M libcxx/include/__cxx03/__random/poisson_distribution.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/ranlux.h
M libcxx/include/__cxx03/__random/seed_seq.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/student_t_distribution.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
M libcxx/include/__cxx03/__random/uniform_real_distribution.h
M libcxx/include/__cxx03/__random/weibull_distribution.h
M libcxx/include/__cxx03/__ranges/access.h
M libcxx/include/__cxx03/__ranges/all.h
M libcxx/include/__cxx03/__ranges/as_rvalue_view.h
M libcxx/include/__cxx03/__ranges/chunk_by_view.h
M libcxx/include/__cxx03/__ranges/common_view.h
M libcxx/include/__cxx03/__ranges/concepts.h
M libcxx/include/__cxx03/__ranges/container_compatible_range.h
M libcxx/include/__cxx03/__ranges/counted.h
M libcxx/include/__cxx03/__ranges/dangling.h
M libcxx/include/__cxx03/__ranges/data.h
M libcxx/include/__cxx03/__ranges/drop_view.h
M libcxx/include/__cxx03/__ranges/drop_while_view.h
M libcxx/include/__cxx03/__ranges/elements_view.h
M libcxx/include/__cxx03/__ranges/empty.h
M libcxx/include/__cxx03/__ranges/empty_view.h
M libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
M libcxx/include/__cxx03/__ranges/enable_view.h
M libcxx/include/__cxx03/__ranges/filter_view.h
M libcxx/include/__cxx03/__ranges/from_range.h
M libcxx/include/__cxx03/__ranges/iota_view.h
M libcxx/include/__cxx03/__ranges/istream_view.h
M libcxx/include/__cxx03/__ranges/join_view.h
M libcxx/include/__cxx03/__ranges/lazy_split_view.h
M libcxx/include/__cxx03/__ranges/movable_box.h
M libcxx/include/__cxx03/__ranges/non_propagating_cache.h
M libcxx/include/__cxx03/__ranges/owning_view.h
M libcxx/include/__cxx03/__ranges/range_adaptor.h
M libcxx/include/__cxx03/__ranges/rbegin.h
M libcxx/include/__cxx03/__ranges/ref_view.h
M libcxx/include/__cxx03/__ranges/rend.h
M libcxx/include/__cxx03/__ranges/repeat_view.h
M libcxx/include/__cxx03/__ranges/reverse_view.h
M libcxx/include/__cxx03/__ranges/single_view.h
M libcxx/include/__cxx03/__ranges/size.h
M libcxx/include/__cxx03/__ranges/split_view.h
M libcxx/include/__cxx03/__ranges/subrange.h
M libcxx/include/__cxx03/__ranges/take_view.h
M libcxx/include/__cxx03/__ranges/take_while_view.h
M libcxx/include/__cxx03/__ranges/to.h
M libcxx/include/__cxx03/__ranges/transform_view.h
M libcxx/include/__cxx03/__ranges/view_interface.h
M libcxx/include/__cxx03/__ranges/views.h
M libcxx/include/__cxx03/__ranges/zip_view.h
M libcxx/include/__cxx03/__split_buffer
M libcxx/include/__cxx03/__std_clang_module
M libcxx/include/__cxx03/__std_mbstate_t.h
M libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
M libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
M libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__cxx03/__stop_token/stop_callback.h
M libcxx/include/__cxx03/__stop_token/stop_source.h
M libcxx/include/__cxx03/__stop_token/stop_state.h
M libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__string/extern_template_lists.h
M libcxx/include/__cxx03/__support/ibm/gettod_zos.h
M libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h
M libcxx/include/__cxx03/__support/ibm/nanosleep.h
M libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h
M libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h
M libcxx/include/__cxx03/__system_error/errc.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
M libcxx/include/__cxx03/__system_error/system_error.h
M libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
M libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/poll_with_backoff.h
M libcxx/include/__cxx03/__thread/support.h
M libcxx/include/__cxx03/__thread/support/c11.h
M libcxx/include/__cxx03/__thread/support/external.h
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/__thread/support/windows.h
M libcxx/include/__cxx03/__thread/this_thread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__thread/timed_backoff_policy.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__tuple/find_index.h
M libcxx/include/__cxx03/__tuple/ignore.h
M libcxx/include/__cxx03/__tuple/make_tuple_types.h
M libcxx/include/__cxx03/__tuple/sfinae_helpers.h
M libcxx/include/__cxx03/__tuple/tuple_element.h
M libcxx/include/__cxx03/__tuple/tuple_indices.h
M libcxx/include/__cxx03/__tuple/tuple_like.h
M libcxx/include/__cxx03/__tuple/tuple_like_ext.h
M libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
M libcxx/include/__cxx03/__tuple/tuple_size.h
M libcxx/include/__cxx03/__tuple/tuple_types.h
M libcxx/include/__cxx03/__type_traits/add_const.h
M libcxx/include/__cxx03/__type_traits/add_cv.h
M libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_pointer.h
M libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_volatile.h
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/alignment_of.h
M libcxx/include/__cxx03/__type_traits/can_extract_key.h
M libcxx/include/__cxx03/__type_traits/common_reference.h
M libcxx/include/__cxx03/__type_traits/common_type.h
M libcxx/include/__cxx03/__type_traits/conditional.h
M libcxx/include/__cxx03/__type_traits/conjunction.h
M libcxx/include/__cxx03/__type_traits/copy_cv.h
M libcxx/include/__cxx03/__type_traits/copy_cvref.h
M libcxx/include/__cxx03/__type_traits/datasizeof.h
M libcxx/include/__cxx03/__type_traits/decay.h
M libcxx/include/__cxx03/__type_traits/dependent_type.h
M libcxx/include/__cxx03/__type_traits/desugars_to.h
M libcxx/include/__cxx03/__type_traits/disjunction.h
M libcxx/include/__cxx03/__type_traits/enable_if.h
M libcxx/include/__cxx03/__type_traits/extent.h
M libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
M libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_abstract.h
M libcxx/include/__cxx03/__type_traits/is_aggregate.h
M libcxx/include/__cxx03/__type_traits/is_allocator.h
M libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h
M libcxx/include/__cxx03/__type_traits/is_arithmetic.h
M libcxx/include/__cxx03/__type_traits/is_array.h
M libcxx/include/__cxx03/__type_traits/is_assignable.h
M libcxx/include/__cxx03/__type_traits/is_base_of.h
M libcxx/include/__cxx03/__type_traits/is_bounded_array.h
M libcxx/include/__cxx03/__type_traits/is_callable.h
M libcxx/include/__cxx03/__type_traits/is_char_like_type.h
M libcxx/include/__cxx03/__type_traits/is_class.h
M libcxx/include/__cxx03/__type_traits/is_compound.h
M libcxx/include/__cxx03/__type_traits/is_const.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_constructible.h
M libcxx/include/__cxx03/__type_traits/is_convertible.h
M libcxx/include/__cxx03/__type_traits/is_core_convertible.h
M libcxx/include/__cxx03/__type_traits/is_destructible.h
M libcxx/include/__cxx03/__type_traits/is_empty.h
M libcxx/include/__cxx03/__type_traits/is_enum.h
M libcxx/include/__cxx03/__type_traits/is_equality_comparable.h
M libcxx/include/__cxx03/__type_traits/is_execution_policy.h
M libcxx/include/__cxx03/__type_traits/is_final.h
M libcxx/include/__cxx03/__type_traits/is_floating_point.h
M libcxx/include/__cxx03/__type_traits/is_function.h
M libcxx/include/__cxx03/__type_traits/is_fundamental.h
M libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
M libcxx/include/__cxx03/__type_traits/is_integral.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_member_pointer.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
M libcxx/include/__cxx03/__type_traits/is_null_pointer.h
M libcxx/include/__cxx03/__type_traits/is_object.h
M libcxx/include/__cxx03/__type_traits/is_pod.h
M libcxx/include/__cxx03/__type_traits/is_pointer.h
M libcxx/include/__cxx03/__type_traits/is_polymorphic.h
M libcxx/include/__cxx03/__type_traits/is_primary_template.h
M libcxx/include/__cxx03/__type_traits/is_reference.h
M libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h
M libcxx/include/__cxx03/__type_traits/is_referenceable.h
M libcxx/include/__cxx03/__type_traits/is_same.h
M libcxx/include/__cxx03/__type_traits/is_scalar.h
M libcxx/include/__cxx03/__type_traits/is_signed.h
M libcxx/include/__cxx03/__type_traits/is_signed_integer.h
M libcxx/include/__cxx03/__type_traits/is_specialization.h
M libcxx/include/__cxx03/__type_traits/is_standard_layout.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/is_trivial.h
M libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
M libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
M libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
M libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
M libcxx/include/__cxx03/__type_traits/is_union.h
M libcxx/include/__cxx03/__type_traits/is_unsigned.h
M libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h
M libcxx/include/__cxx03/__type_traits/is_valid_expansion.h
M libcxx/include/__cxx03/__type_traits/is_void.h
M libcxx/include/__cxx03/__type_traits/is_volatile.h
M libcxx/include/__cxx03/__type_traits/lazy.h
M libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
M libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h
M libcxx/include/__cxx03/__type_traits/make_signed.h
M libcxx/include/__cxx03/__type_traits/make_unsigned.h
M libcxx/include/__cxx03/__type_traits/maybe_const.h
M libcxx/include/__cxx03/__type_traits/nat.h
M libcxx/include/__cxx03/__type_traits/negation.h
M libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
M libcxx/include/__cxx03/__type_traits/promote.h
M libcxx/include/__cxx03/__type_traits/rank.h
M libcxx/include/__cxx03/__type_traits/remove_all_extents.h
M libcxx/include/__cxx03/__type_traits/remove_const.h
M libcxx/include/__cxx03/__type_traits/remove_const_ref.h
M libcxx/include/__cxx03/__type_traits/remove_cv.h
M libcxx/include/__cxx03/__type_traits/remove_cvref.h
M libcxx/include/__cxx03/__type_traits/remove_extent.h
M libcxx/include/__cxx03/__type_traits/remove_pointer.h
M libcxx/include/__cxx03/__type_traits/remove_reference.h
M libcxx/include/__cxx03/__type_traits/remove_volatile.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__type_traits/strip_signature.h
M libcxx/include/__cxx03/__type_traits/type_identity.h
M libcxx/include/__cxx03/__type_traits/type_list.h
M libcxx/include/__cxx03/__type_traits/underlying_type.h
M libcxx/include/__cxx03/__type_traits/unwrap_ref.h
M libcxx/include/__cxx03/__type_traits/void_t.h
M libcxx/include/__cxx03/__utility/as_const.h
M libcxx/include/__cxx03/__utility/as_lvalue.h
M libcxx/include/__cxx03/__utility/auto_cast.h
M libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/convert_to_integral.h
M libcxx/include/__cxx03/__utility/declval.h
M libcxx/include/__cxx03/__utility/empty.h
M libcxx/include/__cxx03/__utility/exception_guard.h
M libcxx/include/__cxx03/__utility/exchange.h
M libcxx/include/__cxx03/__utility/forward.h
M libcxx/include/__cxx03/__utility/forward_like.h
M libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/integer_sequence.h
M libcxx/include/__cxx03/__utility/is_pointer_in_range.h
M libcxx/include/__cxx03/__utility/is_valid_range.h
M libcxx/include/__cxx03/__utility/move.h
M libcxx/include/__cxx03/__utility/no_destroy.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/piecewise_construct.h
M libcxx/include/__cxx03/__utility/priority_tag.h
M libcxx/include/__cxx03/__utility/private_constructor_tag.h
M libcxx/include/__cxx03/__utility/rel_ops.h
M libcxx/include/__cxx03/__utility/small_buffer.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/__utility/unreachable.h
M libcxx/include/__cxx03/__variant/monostate.h
M libcxx/include/__cxx03/__verbose_abort
M libcxx/include/__cxx03/algorithm
M libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
M libcxx/include/__cxx03/barrier
M libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/cassert
M libcxx/include/__cxx03/ccomplex
M libcxx/include/__cxx03/cctype
M libcxx/include/__cxx03/cerrno
M libcxx/include/__cxx03/cfenv
M libcxx/include/__cxx03/cfloat
M libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cinttypes
M libcxx/include/__cxx03/ciso646
M libcxx/include/__cxx03/climits
M libcxx/include/__cxx03/clocale
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/compare
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/complex.h
M libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
M libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/csetjmp
M libcxx/include/__cxx03/csignal
M libcxx/include/__cxx03/cstdarg
M libcxx/include/__cxx03/cstdbool
M libcxx/include/__cxx03/cstddef
M libcxx/include/__cxx03/cstdint
M libcxx/include/__cxx03/cstdio
M libcxx/include/__cxx03/cstdlib
M libcxx/include/__cxx03/cstring
M libcxx/include/__cxx03/ctgmath
M libcxx/include/__cxx03/ctime
M libcxx/include/__cxx03/ctype.h
M libcxx/include/__cxx03/cuchar
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/cwctype
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/errno.h
M libcxx/include/__cxx03/exception
M libcxx/include/__cxx03/execution
M libcxx/include/__cxx03/expected
M libcxx/include/__cxx03/experimental/__config
M libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
M libcxx/include/__cxx03/experimental/__simd/declaration.h
M libcxx/include/__cxx03/experimental/__simd/reference.h
M libcxx/include/__cxx03/experimental/__simd/scalar.h
M libcxx/include/__cxx03/experimental/__simd/simd.h
M libcxx/include/__cxx03/experimental/__simd/simd_mask.h
M libcxx/include/__cxx03/experimental/__simd/traits.h
M libcxx/include/__cxx03/experimental/__simd/utility.h
M libcxx/include/__cxx03/experimental/__simd/vec_ext.h
M libcxx/include/__cxx03/experimental/iterator
M libcxx/include/__cxx03/experimental/memory
M libcxx/include/__cxx03/experimental/propagate_const
M libcxx/include/__cxx03/experimental/simd
M libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/__hash
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
M libcxx/include/__cxx03/fenv.h
M libcxx/include/__cxx03/filesystem
M libcxx/include/__cxx03/float.h
M libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
M libcxx/include/__cxx03/future
M libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/inttypes.h
M libcxx/include/__cxx03/iomanip
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/iosfwd
M libcxx/include/__cxx03/iostream
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
M libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/locale.h
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/math.h
M libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
M libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
M libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
M libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
M libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/scoped_allocator
M libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/shared_mutex
M libcxx/include/__cxx03/source_location
M libcxx/include/__cxx03/span
M libcxx/include/__cxx03/sstream
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/stdatomic.h
M libcxx/include/__cxx03/stdbool.h
M libcxx/include/__cxx03/stddef.h
M libcxx/include/__cxx03/stdexcept
M libcxx/include/__cxx03/stdint.h
M libcxx/include/__cxx03/stdio.h
M libcxx/include/__cxx03/stdlib.h
M libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/streambuf
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string.h
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/strstream
M libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/tgmath.h
M libcxx/include/__cxx03/thread
M libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/uchar.h
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
M libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
M libcxx/include/__cxx03/version
M libcxx/include/__cxx03/wchar.h
M libcxx/include/__cxx03/wctype.h
Log Message:
-----------
[libc++][C++03] Fix libc++ includes (#109000)
This is part of the "Freezing C++03 headers" proposal explained in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc/77319/58.
This patch updates the include paths used in `__cxx03/` to refer to the
`__cxx03/` headers.
Commit: 95c5042db8f962f382edb09c8f4c514e57c23c4c
https://github.com/llvm/llvm-project/commit/95c5042db8f962f382edb09c8f4c514e57c23c4c
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/smop4a-16to32.s
A llvm/test/MC/AArch64/SME2p2/smop4a-64.s
A llvm/test/MC/AArch64/SME2p2/smop4a-8to32.s
A llvm/test/MC/AArch64/SME2p2/smop4a-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/smop4s-16to32.s
A llvm/test/MC/AArch64/SME2p2/smop4s-64.s
A llvm/test/MC/AArch64/SME2p2/smop4s-8to32.s
A llvm/test/MC/AArch64/SME2p2/smop4s-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/sumop4a-32.s
A llvm/test/MC/AArch64/SME2p2/sumop4a-64.s
A llvm/test/MC/AArch64/SME2p2/sumop4a-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/sumop4s-32.s
A llvm/test/MC/AArch64/SME2p2/sumop4s-64.s
A llvm/test/MC/AArch64/SME2p2/sumop4s-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/umop4a-16to32.s
A llvm/test/MC/AArch64/SME2p2/umop4a-64.s
A llvm/test/MC/AArch64/SME2p2/umop4a-8to32.s
A llvm/test/MC/AArch64/SME2p2/umop4a-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/umop4s-16to32.s
A llvm/test/MC/AArch64/SME2p2/umop4s-64.s
A llvm/test/MC/AArch64/SME2p2/umop4s-8to32.s
A llvm/test/MC/AArch64/SME2p2/umop4s-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/usmop4a-32.s
A llvm/test/MC/AArch64/SME2p2/usmop4a-64.s
A llvm/test/MC/AArch64/SME2p2/usmop4a-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/usmop4s-32.s
A llvm/test/MC/AArch64/SME2p2/usmop4s-64.s
A llvm/test/MC/AArch64/SME2p2/usmop4s-diagnostics.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for {S,SU,US,U}MOP4{A,S} instructions (#113349)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Co-Authored-By: Marian Lukac <Marian.Lukac at arm.com>
Commit: d3daa3c4435a54f7876d0ced81787fea92e77d08
https://github.com/llvm/llvm-project/commit/d3daa3c4435a54f7876d0ced81787fea92e77d08
Author: Pavel Yaskevich <xedin at apache.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/attr-swift_attr.m
M clang/test/SemaObjC/validate-attr-swift_attr.m
Log Message:
-----------
[clang/AST] Make it possible to use SwiftAttr in type context (#108631)
Swift ClangImporter now supports concurrency annotations on imported
declarations and their parameters/results, to make it possible to use
imported APIs in Swift safely there has to be a way to annotate
individual parameters and result types with relevant attributes that
indicate that e.g. a block is called on a particular actor or it accepts
a `Sendable` parameter.
To faciliate that `SwiftAttr` is switched from `InheritableAttr` which
is a declaration attribute to `DeclOrTypeAttr`. To support this
attribute in type context we need access to its "Attribute" argument
which requires `AttributedType` to be extended to include `Attr *` when
available instead of just `attr::Kind` otherwise it won't be possible to
determine what attribute should be imported.
Commit: 262afc8aec9e384511e5da26b84f5bdc219fbf91
https://github.com/llvm/llvm-project/commit/262afc8aec9e384511e5da26b84f5bdc219fbf91
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
Log Message:
-----------
[mlir][TosaToLinalg] `RescaleConverter` only support integer type (#114239)
This PR fixes a bug in the `RescaleConverter` that allows non-integer
types, which leads to a crash.
Fixes #61383.
Commit: 21a6032eca9715e48a6a689f4cbdf22e66bb143a
https://github.com/llvm/llvm-project/commit/21a6032eca9715e48a6a689f4cbdf22e66bb143a
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Simplify translation to LLVM IR error handling (#114036)
This patch unifies the handling of errors passed through the
OpenMPIRBuilder and removes some redundant error messages through the
introduction of a custom `ErrorInfo` subclass.
Additionally, the current list of operations and clauses unsupported by
the MLIR to LLVM IR translation pass is added to a new Lit test to check
they are being reported to the user.
Commit: fcaa8c6e2240a950d3d86fb723d9b0a363b7346a
https://github.com/llvm/llvm-project/commit/fcaa8c6e2240a950d3d86fb723d9b0a363b7346a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warning. NFC.
Commit: bd6c21460f67ba5e4780491cbe404e2252e3c04d
https://github.com/llvm/llvm-project/commit/bd6c21460f67ba5e4780491cbe404e2252e3c04d
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Emit descriptive errors for all unsupported clauses (#114037)
This patch improves error reporting in the MLIR to LLVM IR translation
pass for the 'omp' dialect by emitting descriptive errors when
encountering clauses not yet supported by that pass.
Additionally, not-yet-implemented errors previously missing for some
clauses are added, to avoid silently ignoring them.
Error messages related to inlining of `omp.private` and
`omp.declare_reduction` regions have been updated to use the same
format.
Commit: 18f0f709345cc7e611c4f944832edb71284caacb
https://github.com/llvm/llvm-project/commit/18f0f709345cc7e611c4f944832edb71284caacb
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-expandload-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-expandload-int.ll
Log Message:
-----------
[RISCV] Support llvm.masked.expandload intrinsic (#101954)
We can use `viota`+`vrgather` to synthesize `vdecompress` and lower
expanding load to `vcpop`+`load`+`vdecompress`.
And if `%mask` is all ones, we can lower expanding load to a normal
unmasked load.
Fixes #101914.
Commit: b185e925ada76e639f5d5eecd6c0a71a0f38235a
https://github.com/llvm/llvm-project/commit/b185e925ada76e639f5d5eecd6c0a71a0f38235a
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/stmopa-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/stmopa.s
A llvm/test/MC/AArch64/SME2p2/sutmopa-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/sutmopa.s
A llvm/test/MC/AArch64/SME2p2/ustmopa-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/ustmopa.s
A llvm/test/MC/AArch64/SME2p2/utmopa-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/utmopa.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for {S,U,SU,US}TMOPA instructions (#113946)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Co-Authored-By: Marian Lukac <Marian.Lukac at arm.com>
Commit: b396921d0c7d9ad396a1ee6ac85d0dbda965699f
https://github.com/llvm/llvm-project/commit/b396921d0c7d9ad396a1ee6ac85d0dbda965699f
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/vscale-intrinsic.ll
Log Message:
-----------
[SCCP] Handle llvm.vscale intrinsic calls (#114033)
Teach SCCP to compute a constant range for calls to llvm.vscale
intrinsics.
Commit: 3f17613509167e9e0e1502b162524b7f484b39aa
https://github.com/llvm/llvm-project/commit/3f17613509167e9e0e1502b162524b7f484b39aa
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/docs/CodeReview.rst
Log Message:
-----------
[docs] Point to Discourse for creating RFCs (#114341)
Commit: 89a8c71db61282c4e7522ffda5dbee890900dca5
https://github.com/llvm/llvm-project/commit/89a8c71db61282c4e7522ffda5dbee890900dca5
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/AArch64/veclib-llvm.sincos.ll
Log Message:
-----------
[SDAG] Support expanding `FSINCOS` to vector library calls (#114039)
This shares most of its code with the scalar sincos expansion. It allows
expanding vector FSINCOS nodes to a library call from the specified
`-vector-library`. The upside of this is it will mean the vectorizer
only needs to handle the sincos intrinsic, which has no memory effects,
and this can handle lowering the intrinsic to a call that takes output
pointers.
Commit: cf3d6fded9eaf1372ccfde1d49dd91df6762d98c
https://github.com/llvm/llvm-project/commit/cf3d6fded9eaf1372ccfde1d49dd91df6762d98c
Author: Nathan Gauër <brioche at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/test/CodeGen/SPIRV/ShaderBufferImage.ll
M llvm/test/CodeGen/SPIRV/ShaderImage.ll
M llvm/test/CodeGen/SPIRV/basic_int_types.ll
M llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_DispatchThreadID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/abs.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/acos.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/asin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cosh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/countbits.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/degrees.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/frac.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/group_memory_barrier_with_group_sync.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/imad.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/normalize.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/pow.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/radians.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/round.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rsqrt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sinh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/splitdouble.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/step.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tanh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umin.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/HlslBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/literals.ll
Log Message:
-----------
[SPIR-V] Re-enable -verify-machineinstrs on tests (#114388)
Many tests had this flag removed because of the G_BITCAST emission
issue. Now that the PR is merged, we can re-enable this additional
check.
2 tests (basic_int_types) just have the TODO removed because they are
not useful for SPIR-V as-is: SPIR-V requires reg2mem/mem2reg to run,
which removes all the body. Integers are used in other spirv tests, and
seems like testing for spirv32/64 and relying on others for the logical
target coverage should be fine.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 5581e43a2b72811dbd51059513c452e5cdd6946c
https://github.com/llvm/llvm-project/commit/5581e43a2b72811dbd51059513c452e5cdd6946c
Author: WÁNG Xuěruì <git at xen0n.name>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/bswap.ll
A llvm/test/CodeGen/LoongArch/lsx/bswap.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for LSX/LASX bswap codegen (#114170)
Commit: 0ab44fd2464354dfdca0e7afacbb21a84bca46d9
https://github.com/llvm/llvm-project/commit/0ab44fd2464354dfdca0e7afacbb21a84bca46d9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/www/OpenProjects.html
M libunwind/docs/index.rst
M llvm/docs/CodeOfConduct.rst
M llvm/docs/CodeReview.rst
M llvm/docs/Contributing.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/ResponseGuide.rst
M llvm/docs/_templates/indexsidebar.html
Log Message:
-----------
Replace documentation mentions of IRC with Discord (#114276)
This does not touch code owners or credits files that list IRC handles,
that can be done separately if we want to make that change.
See
https://discourse.llvm.org/t/rfc-remove-irc-as-a-recommended-communication-channel/82808/3
for the RFC.
Commit: 1e072ae289d77c3c9704a9ae832c076a303c435b
https://github.com/llvm/llvm-project/commit/1e072ae289d77c3c9704a9ae832c076a303c435b
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
Log Message:
-----------
[CGP] [CodeGenPrepare] Folding `urem` with loop invariant value plus offset (#104724)
This extends the existing fold:
```
for(i = Start; i < End; ++i)
Rem = (i nuw+- IncrLoopInvariant) u% RemAmtLoopInvariant;
```
->
```
Rem = (Start nuw+- IncrLoopInvariant) % RemAmtLoopInvariant;
for(i = Start; i < End; ++i, ++rem)
Rem = rem == RemAmtLoopInvariant ? 0 : Rem;
```
To work with a non-zero `IncrLoopInvariant`.
This is a common usage in cases such as:
```
for(i = 0; i < N; ++i)
if ((i + 1) % X) == 0)
do_something_occasionally_but_not_first_iter();
```
Alive2 w/ i4/unrolled 6x (needs to be ran locally due to timeout):
https://alive2.llvm.org/ce/z/6tgyN3
Exhaust proof over all uint8_t combinations in C++:
https://godbolt.org/z/WYa561388
Commit: 2c82079924f1e43b211a6f233ea04ea911a7b581
https://github.com/llvm/llvm-project/commit/2c82079924f1e43b211a6f233ea04ea911a7b581
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
Log Message:
-----------
[clang][bytecode] Fix Pointer::toAPValue() for multidimensional arrays (#114400)
When we see an array root, that pointer might yet again be an array
element, so check for that.
Commit: d0ffb5369c3d9b091bb6c8edeb596cb46c99e26d
https://github.com/llvm/llvm-project/commit/d0ffb5369c3d9b091bb6c8edeb596cb46c99e26d
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/bindings/python/tests/cindex/test_cursor.py
Log Message:
-----------
[libclang/python] Fix incorrect assert in test (#114395)
This mistake was introduced in #109846
Commit: 4493897499abbc60b1aa9e99717db93ae8450e6d
https://github.com/llvm/llvm-project/commit/4493897499abbc60b1aa9e99717db93ae8450e6d
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_index.py
M clang/bindings/python/tests/cindex/test_type.py
Log Message:
-----------
[libclang/python/tests] Remove unused variables (#114397)
Remove all occurrences of unused varialbes in the python bindings tests.
Use `_` to ignore unused values in tuple unpacking expressions.
Commit: 31faa39c923559c14647fc878216a78282f9355f
https://github.com/llvm/llvm-project/commit/31faa39c923559c14647fc878216a78282f9355f
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/bindings/python/tests/cindex/test_translation_unit.py
M clang/bindings/python/tests/cindex/util.py
Log Message:
-----------
[libclang/python/tests] Remove Python <3.6 workarounds (#114399)
This removes workarounds for Python versions before 3.6, since our
minimum Python version has been bumped to 3.8
Commit: c485ee1968831e72778e1258d467022be62fa3f5
https://github.com/llvm/llvm-project/commit/c485ee1968831e72778e1258d467022be62fa3f5
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SME/revd-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/rbit_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/rbit_z.s
A llvm/test/MC/AArch64/SVE2p2/revb_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/revb_z.s
A llvm/test/MC/AArch64/SVE2p2/revd_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/revd_z.s
A llvm/test/MC/AArch64/SVE2p2/revh_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/revh_z.s
A llvm/test/MC/AArch64/SVE2p2/revw_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/revw_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for zeroing SVE REV{B,H,W,D} and RBIT (#114110)
This patch adds assembly/disassembly for the following SVE2.2
instructions
- RBIT (zeroing)
- REVB (zeroing)
- REVH (zeroing)
- REVW (zeroing)
- REVD (zeroing)
- In accordance with:
https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions
Co-authored-by: Marian Lukac marian.lukac at arm.com
Commit: eeee5a44bbf24f2f30a313ecf66e6a76de365658
https://github.com/llvm/llvm-project/commit/eeee5a44bbf24f2f30a313ecf66e6a76de365658
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A clang/docs/ClangSYCLLinker.rst
M clang/docs/index.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/test/CMakeLists.txt
A clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/clang-sycl-linker/CMakeLists.txt
A clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
A clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[Clang][SYCL] Introduce clang-sycl-linker to link SYCL offloading device code (Part 1 of many) (#112245)
This PR is one of the many PRs in the SYCL upstreaming effort focusing
on device code linking during the SYCL offload compilation process. RFC:
https://discourse.llvm.org/t/rfc-offloading-design-for-sycl-offload-kind-and-spir-targets/74088
In this PR, we introduce a new tool that will be used to perform device
code linking for SYCL offload kind. It accepts SYCL device objects in
LLVM IR bitcode format and will generate a fully linked device object
that can then be wrapped and linked into the host object.
A primary use case for this tool is to perform device code linking for
objects with SYCL offload kind inside the clang-linker-wrapper. It can
also be invoked via clang driver as follows:
`clang --target=spirv64 --sycl-link input.bc`
Device code linking for SYCL offloading kind has a number of known
quirks that makes it difficult to use in a unified offloading setting.
Two of the primary issues are:
1. Several finalization steps are required to be run on the fully-linked
LLVM IR bitcode to gaurantee conformance to SYCL standards. This step is
unique to SYCL offloading compilation flow.
2. SPIR-V LLVM Translator tool is an extenal tool and hence SPIR-V IR
code generation cannot be done as part of LTO. This limitation will be
lifted once SPIR-V backend is available as a viable LLVM backend.
Hence, we introduce this new tool to provide a clean wrapper to perform
SYCL device linking.
Co-Author: Michael Toguchi
Thanks
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 12409024d35e14b91cb9e5eb1337cc76f8ea0b97
https://github.com/llvm/llvm-project/commit/12409024d35e14b91cb9e5eb1337cc76f8ea0b97
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_flat.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_global.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_local_2.ll
Log Message:
-----------
AMDGPU/GlobalISel: Handle atomic sextload and zextload (#111721)
Atomic loads are handled differently from the DAG, and have separate opcodes
and explicit control over the extensions, like ordinary loads. Add
new patterns for these.
There's room for cleanup and improvement. d16 cases aren't handled.
Fixes #111645
Commit: 41448c1d07f25e60c5014dd71d328596fcb5589e
https://github.com/llvm/llvm-project/commit/41448c1d07f25e60c5014dd71d328596fcb5589e
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
Log Message:
-----------
[AArch64] NFC: Add RUN line for +sve2 for sve-intrinsics-perm-select.ll
The codegen for SVE and SVE2 may be different (e.g. for splice and ext).
A follow-up patch will improve codegen for EXT.
Commit: 1bc58a258e2edb6221009a26d0f0037eda6c7c47
https://github.com/llvm/llvm-project/commit/1bc58a258e2edb6221009a26d0f0037eda6c7c47
Author: Ian Wood <75152913+IanWood1 at users.noreply.github.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/include/mlir/Analysis/SliceAnalysis.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/test/IR/slice.mlir
M mlir/test/lib/IR/TestSlicing.cpp
Log Message:
-----------
Extend `getBackwardSlice` to track values captured from above (#113478)
This change modifies `getBackwardSlice` to track values captures by the
regions of each operation that it traverses. Ignoring values captured
from a parent region may lead to an incomplete program slice. However,
there seems to be logic that depends on not traversing captured values,
so this change preserves the default behavior by hiding this logic
behind the `omitUsesFromAbove` flag.
Commit: 880b3b26c9d7b479f678df665dd2cecac988a7f3
https://github.com/llvm/llvm-project/commit/880b3b26c9d7b479f678df665dd2cecac988a7f3
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan][NFC] Add 'known to have non-deterministic' caveat to documentation (#114281)
Commit: 7e877fc0ac3492a195f2ca587837db79e3729fcc
https://github.com/llvm/llvm-project/commit/7e877fc0ac3492a195f2ca587837db79e3729fcc
Author: Kenji Mouri / 毛利 研二 <Kenji.Mouri at outlook.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[Reland][TLI] Add support for hypot libcall. (#114343)
This patch adds basic support for `hypot`. Constant folding support will
be submitted in a subsequent patch.
Related issue: https://github.com/llvm/llvm-project/issues/113711
Note: It's my first time contributing to the LLVM with encouragement
from one of my friends, @fawdlstty. I learned a lot from
https://github.com/llvm/llvm-project/pull/99611, and thanks for that.
Note: I had created the same PR and merged
(https://github.com/llvm/llvm-project/pull/113724), but reverted caused
by the merging issue. (The CI issue happened in 3 A.M. at my timezone.
So, I need to fall asleep again after I replied about why issue
happened.) So, I rebased to the latest main branch and recreate the PR
and hope I won't have the third time to create the same PR.
I hope @arsenm can help me review the code again. I’m sorry for that.
Kenji Mouri
Commit: 4ccd2b0c8f8bbf4fd9c2967836f65fda299a5bdd
https://github.com/llvm/llvm-project/commit/4ccd2b0c8f8bbf4fd9c2967836f65fda299a5bdd
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
Reland "[rtsan] Intercept aligned_alloc on all versions of OSX if available on the build machine" (#114153)
This commit reverts commit 7c55426 (relands commit 97fb21ac)
With the additional step of ignoring a warning that we don't care about. (-Wunguarded-availability-new)
> We know that aligned_alloc will never be called on systems that do not have aligned_alloc defined because the client OSX won't provide it. This function is actually guarded on OS's lower than 10.15 because aligned_alloc declaration won't exist on that version. There will be no way to call this function from code.
Commit: db5bcb24c20e9ad5558ba7bb4f90c3a6000665f1
https://github.com/llvm/llvm-project/commit/db5bcb24c20e9ad5558ba7bb4f90c3a6000665f1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_flat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_local_2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-sextload-from-sextinreg.mir
Log Message:
-----------
GlobalISel: Fix combine duplicating atomic loads (#111730)
The sext_inreg (load) combine was not deleting the old load instruction,
and it would never be deleted if volatile or atomic.
Commit: d6a0602cbbd7c21618001d85f9247f03c038ba28
https://github.com/llvm/llvm-project/commit/d6a0602cbbd7c21618001d85f9247f03c038ba28
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
[clang] Fix an em/email typo in Maintainers.rst (#114385)
Pretty sure this was a mistake, everyone else uses "email".
Commit: 1d0370872f28ec9965448f33db1b105addaf64ae
https://github.com/llvm/llvm-project/commit/1d0370872f28ec9965448f33db1b105addaf64ae
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmax.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmin.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fsub.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-flat-noalias-addrspace.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll
Log Message:
-----------
AMDGPU: Expand flat atomics that may access private memory (#109407)
If the runtime flat address resolves to a scratch address,
64-bit atomics do not work correctly. Insert a runtime address
space check (which is quite likely to be uniform) and select between
the non-atomic and real atomic cases.
Consider noalias.addrspace metadata and avoid this expansion when
possible (we also need to consider it to avoid infinitely expanding
after adding the predication code).
Commit: 0f8a6b7d03550cb58cf49535af2de2230abfe997
https://github.com/llvm/llvm-project/commit/0f8a6b7d03550cb58cf49535af2de2230abfe997
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/docs/ActionTracing.md
M mlir/docs/PatternRewriter.md
M mlir/include/mlir/IR/PatternMatch.h
A mlir/include/mlir/Transforms/WalkPatternRewriteDriver.h
M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
M mlir/lib/Transforms/Utils/CMakeLists.txt
A mlir/lib/Transforms/Utils/WalkPatternRewriteDriver.cpp
M mlir/test/IR/enum-attr-roundtrip.mlir
M mlir/test/IR/greedy-pattern-rewrite-driver-bottom-up.mlir
M mlir/test/IR/greedy-pattern-rewrite-driver-top-down.mlir
A mlir/test/IR/test-walk-pattern-rewrite-driver.mlir
M mlir/test/Transforms/test-operation-folder-commutative.mlir
M mlir/test/Transforms/test-operation-folder.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/mlir-tblgen/pattern.mlir
Log Message:
-----------
[mlir] Add fast walk-based pattern rewrite driver (#113825)
This is intended as a fast pattern rewrite driver for the cases when a
simple walk gets the job done but we would still want to implement it in
terms of rewrite patterns (that can be used with the greedy pattern
rewrite driver downstream).
The new driver is inspired by the discussion in
https://github.com/llvm/llvm-project/pull/112454 and the LLVM Dev
presentation from @matthias-springer earlier this week.
This limitation comes with some limitations:
* It does not repeat until a fixpoint or revisit ops modified in place
or newly created ops. In general, it only walks forward (in the
post-order).
* `matchAndRewrite` can only erase the matched op or its descendants.
This is verified under expensive checks.
* It does not perform folding / DCE.
We could probably relax some of these in the future without sacrificing
too much performance.
Commit: 296a9ba77d46018ddfa4f8bf379ada319acdf372
https://github.com/llvm/llvm-project/commit/296a9ba77d46018ddfa4f8bf379ada319acdf372
Author: lntue <lntue at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc] Fix memory leak in MPFRWrapper cospif with MPFR pre 4.2. (#114415)
Commit: 221cbaed3e048f3de85d00c778420509d3dd5577
https://github.com/llvm/llvm-project/commit/221cbaed3e048f3de85d00c778420509d3dd5577
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Pass a target emulation to the linker (#114060)
Until now, this has been hardcoded as a downstream patch in lld. Add it
to the driver so that the private patch can be removed.
PS5 only. On PS4, the equivalent hardcoded configuration will remain in
the proprietary linker.
SIE tracker: TOOLCHAIN-16704
Commit: ccddd136024305be8b6aa77e4ce576d8e6521529
https://github.com/llvm/llvm-project/commit/ccddd136024305be8b6aa77e4ce576d8e6521529
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalMerge.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-const.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-used-with-stringpool.ll
M llvm/test/CodeGen/PowerPC/merge-private.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-large.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
Log Message:
-----------
Enable aggressive constant merge in GlobalMerge for AIX (#113956)
Enable merging all constants without looking at use in GlobalMerge by
default to replace PPCMergeStringPool pass on AIX.
Commit: a1c6dc223ee1eedc049890676992b508ebd6b623
https://github.com/llvm/llvm-project/commit/a1c6dc223ee1eedc049890676992b508ebd6b623
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/docs/CodeReview.rst
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Add Approvals section to GitHub guide (#113434)
Based on feedback that when reading the document as a guide, it's odd
that it skips right from updating the PR to merging it.
The section is a link to the existing Code Review guide's text on the
topic.
I have updated that to mention required reviewers, which some
subprojects do use (libcxx is one) but most don't.
Also we use the words "accepted" and "approved" interchangeably, so I've
swapped one instance so it's consistent between paragraphs.
Commit: cf1963afad335cf74a9411f106d1f2fe80dbed2f
https://github.com/llvm/llvm-project/commit/cf1963afad335cf74a9411f106d1f2fe80dbed2f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
Log Message:
-----------
[InstCombine] Fix FMF propagation in `foldSelectIntoOp` (#114356)
Closes https://github.com/llvm/llvm-project/issues/113423.
Commit: 61498a897dd3ae23820a02c3b38eeebb4365e6ef
https://github.com/llvm/llvm-project/commit/61498a897dd3ae23820a02c3b38eeebb4365e6ef
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Include language.h inside __config (#114269)
We were getting this include transitively via availability.h, but we
really should be including it explicitly.
Commit: 9c7188871cbf0618b1920415d364bd90c5122436
https://github.com/llvm/llvm-project/commit/9c7188871cbf0618b1920415d364bd90c5122436
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
Log Message:
-----------
[RISCV] Cost ordered bf16/f16 w/ zvfhmin reductions as invalid (#114250)
In #111000 we removed promotion of fadd/fmul reductions for bf16 and f16
without zvfh, and marked the cost as invalid to prevent the vectorizers
from emitting them. However it inadvertently didn't change the cost for
ordered reductions, so this moves the check earlier to fix this.
This also uses BasicTTIImpl instead which now assigns a valid but
expensive cost for fixed-length vectors, which reflects how codegen will
actually scalarize them.
Commit: df9301ed5831f4c9dd531cbc9dd0d54de3210419
https://github.com/llvm/llvm-project/commit/df9301ed5831f4c9dd531cbc9dd0d54de3210419
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libcxxabi/src/demangle/cp-to-llvm.sh
Log Message:
-----------
[libc++abi] Fix user prompt in cp-to-llvm.sh. (#114268)
User prompt wasn't listing the files to be copied.
Commit: 05910b44c987084d53d39c40237a0dfa9804b48e
https://github.com/llvm/llvm-project/commit/05910b44c987084d53d39c40237a0dfa9804b48e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode][NFC] Use const auto* for Type cast result (#114405)
Commit: 423f35410a217c39fb429d49193871a42cf49e2c
https://github.com/llvm/llvm-project/commit/423f35410a217c39fb429d49193871a42cf49e2c
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-register-func.fir
Log Message:
-----------
[flang][cuda] Adding support for registration of boxes (#114323)
Needed to take into account that `fir::getTypeSizeAndAlignmentOrCrash`
does not work with box types but requires the `fir::LLVMTypeConverter`
Commit: 9234ae1bbeddd66d8bed3c55c26f8eee0c827aed
https://github.com/llvm/llvm-project/commit/9234ae1bbeddd66d8bed3c55c26f8eee0c827aed
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
[NFC] clang-format -i llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Commit: 9ce0a61bdbf13d4d0f2e13e1bb6e7a4bb9d01858
https://github.com/llvm/llvm-project/commit/9ce0a61bdbf13d4d0f2e13e1bb6e7a4bb9d01858
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Log Message:
-----------
[lldb] Use PY_VERSION_HEX to simplify conditional compilation (NFC) (#114346)
Use PY_VERSION_HEX to simplify conditional compilation depending on the
Python version.
This also adds a static_assert to lldb-python to error out with a
meaningful diagnostic when you try building LLDB with an older Python
version in preparation for [1].
[1]
https://discourse.llvm.org/t/rfc-lets-document-and-enforce-a-minimum-python-version-for-lldb/82731/15
Commit: 3452149c059010e834050acd41a64595eb74df11
https://github.com/llvm/llvm-project/commit/3452149c059010e834050acd41a64595eb74df11
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir][AMDGPU] Support vector<2xbf16> packed atomic fadd (#113929)
Now that we use LLVM's native bfloat types in the AMDGPU lowering,
enable vector<2xbf16> for AMDGPU.
Commit: 0d499f9043fed14ff8c7f9e24e19206c93aee5dd
https://github.com/llvm/llvm-project/commit/0d499f9043fed14ff8c7f9e24e19206c93aee5dd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/tools/clang-sycl-linker/CMakeLists.txt
Log Message:
-----------
[SYCL] Fix sycl linker's missing dependencies
Commit: c7ef002bc6a6b99371865a416da781d0374c69fd
https://github.com/llvm/llvm-project/commit/c7ef002bc6a6b99371865a416da781d0374c69fd
Author: Sriraman Tallam <38991943+tmsri at users.noreply.github.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-6.ll
A llvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-7.ll
A llvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-8.ll
A llvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-9.ll
M llvm/test/DebugInfo/X86/basic-block-sections_1.ll
Log Message:
-----------
Fix performance bug in buildLocationList (#109343)
In buildLocationList, with basic block sections, we iterate over
every basic block twice to detect section start and end. This is
sub-optimal and shows up as significantly time consuming when
compiling large functions.
This patch uses the set of sections already stored in MBBSectionRanges
and iterates over sections rather than basic blocks.
When detecting if loclists can be merged, the end label of an entry is
matched with the beginning label of the next entry. For the section
corresponding to the entry basic block, this is skipped. This is
because the loc list uses the end label corresponding to the function
whereas the MBBSectionRanges map uses the function end label.
For example:
.Lfunc_begin0:
.file
.loc 0 4 0 # ex2.cc:4:0
.cfi_startproc
.Ltmp0:
.loc 0 8 5 prologue_end # ex2.cc:8:5
....
.LBB_END0_0:
.cfi_endproc
.section .text._Z4testv,"ax", at progbits,unique,1
...
.Lfunc_end0:
.size _Z4testv, .Lfunc_end0-_Z4testv
The debug loc uses ".LBB_END0_0" for the end of the section whereas
MBBSectionRanges uses ".Lfunc_end0".
It is alright to skip this as we already check the section corresponding
to the debugloc entry.
Added a new test case to check that if this works correctly when the
variable's value is mutated in the entry section.
Commit: 2aed0d9cd3fc8f3c600d59b8b10d10a4466e50c6
https://github.com/llvm/llvm-project/commit/2aed0d9cd3fc8f3c600d59b8b10d10a4466e50c6
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py
Log Message:
-----------
[lldb][test] Fix `LibCxxInternalsRecognizerTestCase` on clang <= 17 (#114122)
We had to disable the tests for libc++ <= 15 because the `std::ranges`
functions were not available, yet.
Also, on libc++17 there was still an additional `__fn` struct withing
`ranges::__sort`. The test expectation was updated to use a regular
expression, so we can match both the old and the new name.
See
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake-matrix/912/execution/node/107/log/
Commit: f4af60dfbb6a2e3d5628b8f07b4895ddbe24d459
https://github.com/llvm/llvm-project/commit/f4af60dfbb6a2e3d5628b8f07b4895ddbe24d459
Author: Ella Ma <alansnape3058 at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
A clang/test/Analysis/Inputs/overloaded-delete-in-header.h
A clang/test/Analysis/overloaded-delete-in-system-header.cpp
Log Message:
-----------
[analyzer] Fix false double free when including 3rd-party headers with overloaded delete operator as system headers (#85224)
Fixes #62985
Fixes #58820
When 3rd-party header files are included as system headers, their
overloaded `new` and `delete` operators are also considered as the std
ones. However, those overloaded operator functions will also be inlined.
This makes the same
symbolic memory marked as released twice: during `checkPreCall` of the
overloaded `delete` operator and when calling `::operator delete` after
inlining the overloaded operator function (if it has).
This patch attempts to fix this bug by adjusting the strategy of
verifying whether the callee is a standard `new` or `delete` operator in
the `isStandardNewDelete` function.
Commit: e4e9fea71e898c28f5aa3ca94e47353437cd6352
https://github.com/llvm/llvm-project/commit/e4e9fea71e898c28f5aa3ca94e47353437cd6352
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/memory.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/memory.cpp
M flang/test/Fir/CUDA/cuda-data-transfer.fir
Log Message:
-----------
[flang][cuda] Pass descriptor by reference for CUFMemsetDescriptor (#114338)
Commit: 6582785d011ad7d9ca131c4122f93b1e54c5017a
https://github.com/llvm/llvm-project/commit/6582785d011ad7d9ca131c4122f93b1e54c5017a
Author: Tex Riddell <texr at microsoft.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/test/CodeGen/2004-02-20-Builtins.c
Log Message:
-----------
Add CHECK-LABEL to avoid source tree path sensitivity in test (#112461)
The test `clang/test/CodeGen/2004-02-20-Builtins.c` will erroneously
fail if "builtin" is in the path to your source tree.
This change adds a `CHECK-LABEL !llvm.ident` after the `CHECK-NOT` to
avoid searching into the metadata containing the path.
Commit: be60afec9258ae08008f5868f85dc91916690f6b
https://github.com/llvm/llvm-project/commit/be60afec9258ae08008f5868f85dc91916690f6b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderInternals.h
Log Message:
-----------
[clang][modules] De-duplicate some logic in `HeaderFileInfoTrait` (#114330)
Commit: f7a96dc664b1ddada40195dc09e2367e8bc51110
https://github.com/llvm/llvm-project/commit/f7a96dc664b1ddada40195dc09e2367e8bc51110
Author: hev <wangrui at loongson.cn>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/expand-adjacency.ll
Log Message:
-----------
[LoongArch] Ensure pcaddu18i and jirl adjacency in tail calls for correct relocation (#113932)
Prior to this patch, both `pcaddu18i` and `jirl` were marked as
scheduling boundaries to prevent instruction reordering that would
disrupt their adjacency. However, in certain cases, epilogues were still
being inserted between these two instructions, breaking the required
proximity. This patch ensures that `pcaddu18i` and `jirl` remain
adjacent even in the presence of epilogues, maintaining correct
relocation behavior for tail calls on LoongArch.
Commit: 8129b6b53bf5a8f0cc2124764935761e74bbb5c8
https://github.com/llvm/llvm-project/commit/8129b6b53bf5a8f0cc2124764935761e74bbb5c8
Author: Artem Belevich <tra at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A llvm/include/llvm/Support/NVPTXAddrSpace.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/NVPTX/isspacep.ll
Log Message:
-----------
[NVPTX, InstCombine] instcombine known pointer AS checks. (#114325)
The change improves the code in general and, as a side effect, avoids
crashing on an impossible address space casts guarded
by `__isGlobal/__isShared`, which partially fixes
https://github.com/llvm/llvm-project/issues/112760
It's still possible to trigger the issue by using explicit AS casts w/o
AS checks, but LLVM should no longer crash on valid code.
This is #112964 + a small fix for the crash on unintended argument
access which was the root cause to revers the earlier version of the patch.
Commit: f246b5f547cffeb4e9e7783e68fdb50edf193ef1
https://github.com/llvm/llvm-project/commit/f246b5f547cffeb4e9e7783e68fdb50edf193ef1
Author: WÁNG Xuěruì <git at xen0n.name>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/bswap.ll
M llvm/test/CodeGen/LoongArch/lsx/bswap.ll
Log Message:
-----------
[LoongArch] Support bswap for LSX/LASX VTs (#114171)
On top of #114170
Commit: f5e6c8e0b705ca7b49a85139e75d4620bc15e331
https://github.com/llvm/llvm-project/commit/f5e6c8e0b705ca7b49a85139e75d4620bc15e331
Author: Marius Brehler <marius.brehler at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/python/requirements.txt
Log Message:
-----------
[mlir][python] Raise maximum allowed version (#114050)
Raises the maximum allowed versions to more recent versions, which is a
basic enabler to install them in a venv using Python 3.13.
Commit: 6c28530ed082204a1b6d20b45482e81d4cd5ead4
https://github.com/llvm/llvm-project/commit/6c28530ed082204a1b6d20b45482e81d4cd5ead4
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang][OpenMP] Properly bind arguments of composite operations (#113682)
When composite constructs are lowered, clauses for each leaf construct
are lowered before creating the set of loop wrapper operations, using
these outside values to populate their operand lists. Then, when the
loop nest associated to that composite construct is lowered, the binding
of Fortran symbols to the entry block arguments defined by these loop
wrappers is performed, resulting in the creation of `hlfir.declare`
operations in the entry block of the `omp.loop_nest`.
This approach prevents `hlfir.declare` operations related to the binding
and other operations resulting from the evaluation of the clauses from
being inserted between loop wrapper operations, which would be an
illegal MLIR representation. However, this introduces the problem of
entry block arguments defined by a wrapper that then should be used by
one of its nested wrappers, because the corresponding Fortran symbol
would still be mapped to an outside value at the time of gathering the
list of operands for the nested wrapper.
This patch adds operand re-mapping logic to update wrappers without
changing when clauses are evaluated or where the `hlfir.declare`
creation is performed.
Commit: 9fb4bc5bf4ecdc8f53bd1b8eeea20390fb6e642e
https://github.com/llvm/llvm-project/commit/9fb4bc5bf4ecdc8f53bd1b8eeea20390fb6e642e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/RISCV/pr95284.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/scmp.ll
Log Message:
-----------
[DAG] SimplifyMultipleUseDemandedBits - ignore SRL node if we're just demanding known sign bits (#114389)
Check to see if we are only demanding (shifted) signbits from a SRL node that are also signbits in the source node.
We can't demand any upper zero bits that the SRL will shift in (up to max shift amount), and the lower demanded bits bound must already be all signbits.
Commit: d12a8da1de1ce2c7d8fbf84306a2b6de5c85d707
https://github.com/llvm/llvm-project/commit/d12a8da1de1ce2c7d8fbf84306a2b6de5c85d707
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libclc/CMakeLists.txt
M libclc/clc/include/clc/clcfunc.h
A libclc/clc/include/clc/integer/gentype.inc
A libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/shared/clc_clamp.h
A libclc/clc/include/clc/shared/clc_clamp.inc
A libclc/clc/include/clc/shared/clc_max.h
A libclc/clc/include/clc/shared/clc_max.inc
A libclc/clc/include/clc/shared/clc_min.h
A libclc/clc/include/clc/shared/clc_min.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/shared/clc_clamp.cl
A libclc/clc/lib/generic/shared/clc_clamp.inc
A libclc/clc/lib/generic/shared/clc_max.cl
A libclc/clc/lib/generic/shared/clc_max.inc
A libclc/clc/lib/generic/shared/clc_min.cl
A libclc/clc/lib/generic/shared/clc_min.inc
R libclc/generic/include/clc/integer/gentype.inc
R libclc/generic/include/clc/math/gentype.inc
M libclc/generic/include/config.h
M libclc/generic/lib/common/smoothstep.cl
M libclc/generic/lib/common/step.cl
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_ldexp.cl
M libclc/generic/lib/math/math.h
M libclc/generic/lib/shared/clamp.cl
M libclc/generic/lib/shared/clamp.inc
M libclc/generic/lib/shared/max.cl
M libclc/generic/lib/shared/max.inc
M libclc/generic/lib/shared/min.cl
M libclc/generic/lib/shared/min.inc
Log Message:
-----------
[libclc] Move min/max/clamp into the CLC builtins library (#114386)
These functions are "shared" between integer and floating-point types,
hence the directory name. They are used in several CLC internal
functions such as __clc_ldexp.
Note that clspv and spirv targets don't want to define these functions,
so pre-processor macros replace calls to __clc_min with regular min, for
example. This means they can use as much of the generic CLC source files
as possible, but where CLC functions would usually call out to an
external __clc_min symbol, they call out to an external min symbol. Then
they opt out of defining __clc_min itself in their CLC builtins library.
Preprocessor definitions for these targets have also been changed
somewhat: what used to be CLC_SPIRV (the 32-bit target) is now
CLC_SPIRV32, and CLC_SPIRV now represents either CLC_SPIRV32 or
CLC_SPIRV64. Same goes for CLC_CLSPV.
There are no differences (measured with llvm-diff) in any of the final
builtins libraries for nvptx, amdgpu, or clspv. Neither are there
differences in the SPIR-V targets' LLVM IR before it's actually lowered
to SPIR-V.
Commit: d6b90282578f607dc18e23197d9494ebbb899437
https://github.com/llvm/llvm-project/commit/d6b90282578f607dc18e23197d9494ebbb899437
Author: Augusto Noronha <anoronha at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/include/lldb/Symbol/Type.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
A lldb/test/Shell/SymbolFile/DWARF/debug-types-mangled-name.ll
M lldb/tools/lldb-test/lldb-test.cpp
Log Message:
-----------
[lldb] Extend FindTypes to optionally search by mangled type name (#113007)
Swift types have mangled type names. This adds functionality to look up
those types through the FindTypes API by searching for the mangled type
name instead of the regular name.
Commit: 71cfa381ef8c4fe659c67e8b2901d767e10f2aff
https://github.com/llvm/llvm-project/commit/71cfa381ef8c4fe659c67e8b2901d767e10f2aff
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/bindings/python/tests/cindex/test_access_specifiers.py
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/bindings/python/tests/cindex/test_comment.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_cursor_kind.py
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/bindings/python/tests/cindex/test_exception_specification_kind.py
M clang/bindings/python/tests/cindex/test_file.py
M clang/bindings/python/tests/cindex/test_index.py
M clang/bindings/python/tests/cindex/test_linkage.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_rewrite.py
M clang/bindings/python/tests/cindex/test_source_range.py
M clang/bindings/python/tests/cindex/test_tls_kind.py
M clang/bindings/python/tests/cindex/test_token_kind.py
M clang/bindings/python/tests/cindex/test_tokens.py
M clang/bindings/python/tests/cindex/test_translation_unit.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/bindings/python/tests/cindex/util.py
Log Message:
-----------
[libclang/python/tests] Clean up imports (#114409)
Sort imports using `isort`.
Remove unused imports.
Collect multiple imports from the same module into a single import
statement.
Unify import style.
Commit: e7080fd735d02590cdce1bef97a7f64a34145b15
https://github.com/llvm/llvm-project/commit/e7080fd735d02590cdce1bef97a7f64a34145b15
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/external-reduced-value-vectorized.ll
Log Message:
-----------
[SLP]Extra check if the intruction matked for removal, must be replaced in reduction ops
If the instruction is vectorized and it is a part of the reduced values
gather/buildvector node, it should replaced in reduced operation
instructions before removal properly, to avoid compiler crash.
Fixes #114371
Commit: 4d4a43dc51a5e138bb07ef0481ca8f724561444d
https://github.com/llvm/llvm-project/commit/4d4a43dc51a5e138bb07ef0481ca8f724561444d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/test/COFF/arm64ec-delayimport.test
A lld/test/COFF/arm64ec-entry-mangle.test
Log Message:
-----------
[LLD][COFF] Create EC alias symbols for entry points and exports (#114297)
On ARM64EC, a symbol may be defined in either its mangled or demangled
form (or both). To ensure consistent linking for entry points and
exports, define an anti-dependency symbol that binds both forms, similar
to how compiler-generated code references external functions.
Commit: 155956834a975f16a645d2a57d2cbb0aa23f1c13
https://github.com/llvm/llvm-project/commit/155956834a975f16a645d2a57d2cbb0aa23f1c13
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/gcov_ctr_ref_init.ll
Log Message:
-----------
Fix failing test gcov_ctr_ref_init.ll (#114428)
Fix test failing after merge of commit:
ccddd136024305be8b6aa77e4ce576d8e6521529
Commit: ef2a104c94a8e789a86d807509faf020d300da59
https://github.com/llvm/llvm-project/commit/ef2a104c94a8e789a86d807509faf020d300da59
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
A clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/CMakeLists.txt
A clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Start implementing __builtin_bit_cast (#112126)
This is a subset of #68288, with hopefully narrower scope. It does not
support bitcasting to non-integral types yet.
Bitfields are supported, but only if they result in a full byte-sized
final buffer. It does not support casting from null-pointers yet or
casting from indeterminate bits.
The tests are from #68288 and partially from #74775.
The `BitcastBuffer` struct is currently always working in single bits,
but I plan to (try to) optimize this for the common full-byte case.
Commit: 5ce8a93ebb7688c66bd08fa27d2e04bca33b6763
https://github.com/llvm/llvm-project/commit/5ce8a93ebb7688c66bd08fa27d2e04bca33b6763
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fix for 1bc58a258e2edb6221009a26d0f0037eda6c7c47
Commit: ca9f5b6c3edc0ae76322ae3e30f304a6c0d64546
https://github.com/llvm/llvm-project/commit/ca9f5b6c3edc0ae76322ae3e30f304a6c0d64546
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fix for 0f8a6b7d03550cb58cf49535af2de2230abfe997
Commit: a553c620b7d70dedd268aa2588e5e50e7dc6ccc8
https://github.com/llvm/llvm-project/commit/a553c620b7d70dedd268aa2588e5e50e7dc6ccc8
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang][modules] Avoid allocations when reading blob paths (#113984)
When reading a path from a bitstream blob, `ASTReader` performs up to
three allocations:
1. Conversion of the `StringRef` blob into `std::string` to conform to
the `ResolveImportedPath()` API that takes `std::string &`.
2. Concatenation of the module file prefix directory and the relative
path into a fresh `SmallString<128>` buffer in `ResolveImportedPath()`.
3. Propagating the result out of `ResolveImportedPath()` by calling
`std::string::assign()` on the out-parameter.
This patch makes is so that we avoid allocations altogether (amortized)
by:
1. Avoiding conversion of the `StringRef` blob into `std::string` and
changing the `ResolveImportedPath()` API.
2. Using one "global" buffer to hold the concatenation.
3. Returning `StringRef` that points into the buffer and ensuring the
contents are not overwritten while it lives.
Note that in some places of the bitstream we don't store paths as blobs,
but rather as records that get VBR-encoded. This makes the allocation in
(1) unavoidable. I plan to fix this in a follow-up PR by changing the
PCM format.
Moreover, there are some data structures (e.g.
`serialization::InputFileInfo`) that store deserialized and resolved
paths as `std::string`. If we don't access them frequently, it would be
more efficient to store just the unresolved `StringRef` and resolve them
on demand (within some kind of shared buffer to prevent allocations).
This PR alone improves `clang-scan-deps` performance on my workload by
3.6%.
Commit: b9d7117ebd1f09a88ad5068e0a27de6c8324675a
https://github.com/llvm/llvm-project/commit/b9d7117ebd1f09a88ad5068e0a27de6c8324675a
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleZvk.td
Log Message:
-----------
[RISCV] Assign separate PseudoVSHA2MS_VV opcodes for each SEW (#114317)
The vsha2ms.vv from Zvknh[ab] currently supports both SEW=32 and SEW=64.
It might have different performance characteristics depending on the SEW
on some processors. This patch splits these two different SEWs into
their own VPsuedo opcodes and scheduling classes.
This is effectively a NFC change.
Commit: 19a34dded722c092327a1a64e9638fbc9dd9a4b0
https://github.com/llvm/llvm-project/commit/19a34dded722c092327a1a64e9638fbc9dd9a4b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr27163.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
Log Message:
-----------
[SLP]Do not account external uses in EH block and in non-returning blocks
No need to account the cost of the external uses in EH and non-returning
basic blocks.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/112045
Commit: 42fae38e6ad1433ac0ff1a648dfdcd3fdb981093
https://github.com/llvm/llvm-project/commit/42fae38e6ad1433ac0ff1a648dfdcd3fdb981093
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/tools/lldb-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-dwarf-expression-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-dwarf-expression-fuzzer/lldb-dwarf-expression-fuzzer.cpp
Log Message:
-----------
[lldb] Add a fuzzer for the DWARF Expression Evaluator (#114286)
This adds a fuzzer for the DWARF expression evaluator. It does pretty
much the same thing as what we do in the corresponding unit test but
with data generated by libfuzzer.
Commit: a9a8351ef181610559687679a40efe24649f9600
https://github.com/llvm/llvm-project/commit/a9a8351ef181610559687679a40efe24649f9600
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/include/mlir/Analysis/SliceAnalysis.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/test/IR/slice.mlir
M mlir/test/lib/IR/TestSlicing.cpp
Log Message:
-----------
Revert "Extend `getBackwardSlice` to track values captured from above" (#114432)
Reverts llvm/llvm-project#113478
Bot is broken when building with shared libs.
Commit: 88591aa0ca7e4d99da353d49f91ea63e43fb55e0
https://github.com/llvm/llvm-project/commit/88591aa0ca7e4d99da353d49f91ea63e43fb55e0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/Driver/LocalLLDBInit.test
M lldb/test/Shell/Driver/TestCore.test
M lldb/test/Shell/Driver/TestError.test
M lldb/test/Shell/Driver/TestFile.test
M lldb/test/Shell/Driver/TestHelp.test
M lldb/test/Shell/Driver/TestPositionalArgs.test
M lldb/test/Shell/Driver/TestRepl.test
M lldb/test/Shell/Process/TestEnvironment.test
M lldb/test/Shell/Quit/TestQuitExitCode-30.test
M lldb/test/Shell/Quit/TestQuitExitCode30.test
M lldb/test/Shell/Quit/TestQuitExitCodeHexA.test
M lldb/test/Shell/Register/x86-64-read.test
M lldb/test/Shell/Register/x86-64-ymm-read.test
M lldb/test/Shell/Register/x86-multithread-write.test
M lldb/test/Shell/ScriptInterpreter/Lua/bindings.test
M lldb/test/Shell/ScriptInterpreter/Lua/convenience_variables.test
M lldb/test/Shell/ScriptInterpreter/Lua/io.test
M lldb/test/Shell/ScriptInterpreter/Lua/lua-python.test
M lldb/test/Shell/ScriptInterpreter/Lua/print.test
M lldb/test/Shell/ScriptInterpreter/Lua/quit.test
M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/lit.local.cfg
M lldb/test/Shell/ScriptInterpreter/Python/fail_breakpoint_oneline.test
M lldb/test/Shell/ScriptInterpreter/Python/sb_address_exception.test
M lldb/test/Shell/ScriptInterpreter/Python/scripted_breakpoint.test
M lldb/test/Shell/ScriptInterpreter/Python/scripted_breakpoint_lua.test
R lldb/test/Shell/Subprocess/lit.local.cfg
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_loc.s
R lldb/test/Shell/SymbolFile/NativePDB/lit.local.cfg
R lldb/test/Shell/SymbolFile/PDB/lit.local.cfg
M lldb/test/Shell/helper/toolchain.py
M lldb/test/Shell/lit.cfg.py
M lldb/utils/CMakeLists.txt
R lldb/utils/lldb-repro/CMakeLists.txt
R lldb/utils/lldb-repro/lldb-repro.py
Log Message:
-----------
[lldb] Remove lldb-repro utility
Remove lldb-repro which was used to run the test suite against a
reproducer. The corresponding functionality has been removed from LLDB
so there's no need for the tool anymore.
Commit: e05def081e43f8fe8be7f3a4ed2749ae01ab0ab3
https://github.com/llvm/llvm-project/commit/e05def081e43f8fe8be7f3a4ed2749ae01ab0ab3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/landing_pad.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-phi-in-landingpad.ll
M llvm/test/Transforms/SLPVectorizer/X86/funclet.ll
M llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi_landingpad.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
Log Message:
-----------
[SLP]Do not vectorize code in EH and non-returning blocks
The code in EH and non-returning blocks can be skipped by the
vectorizer, since it does not add to the perfromance, just consumes
compile/link time.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/112221
Commit: 244ea4062590b4fbda56bbae6cd3700159db19bf
https://github.com/llvm/llvm-project/commit/244ea4062590b4fbda56bbae6cd3700159db19bf
Author: Lang Hames <lhames at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_associative_dead_strip.test
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s
Log Message:
-----------
Revert "[JITLink] Use MapVector to stabilize iteration order"
This reverts commit f8f4235612b9668bbcbb6a58634fcb756794045e and replaces the
MapVector with a sorted vector in the debug dump: We only need to sort the
sections for debug dumping, and don't want LinkGraph API clients assuming
anything about the section iteration order.
Commit: fe5215281d6304c2b987e0cedc183dbbf8897fcb
https://github.com/llvm/llvm-project/commit/fe5215281d6304c2b987e0cedc183dbbf8897fcb
Author: Lang Hames <lhames at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s
Log Message:
-----------
[JITLink][COFF] Delete trailing whitespace in testcase. NFC.
Commit: cd8d507b074e8d30f6c9925a24224673b2908a51
https://github.com/llvm/llvm-project/commit/cd8d507b074e8d30f6c9925a24224673b2908a51
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[RISCV] Pull __builtin_riscv_clz/ctz out of a nested switch. NFC
The nested switch exists to share setting IntrinsicsTypes to {ResultType}.
clz/ctz return before we reach that so they can just be in the top
level switch.
Commit: 25fd366d6a7d40266ff27c134ed8beb0a90cc33b
https://github.com/llvm/llvm-project/commit/25fd366d6a7d40266ff27c134ed8beb0a90cc33b
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
A compiler-rt/lib/sanitizer_common/tests/sanitizer_block_signals.cpp
Log Message:
-----------
[sanitizer_common] AND signals in BlockSignals instead of deleting (#113443)
My earlier patch https://github.com/llvm/llvm-project/pull/98200 caused a regression because it unconditionally unblocked synchronous signals, even if the user program had deliberately blocked them. This patch fixes the issue by checking the current signal mask, as suggested by Vitaly. It also adds tests.
Fixes #113385
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 0856592f6f8d2bdaf2d66017d073b8d55fc27552
https://github.com/llvm/llvm-project/commit/0856592f6f8d2bdaf2d66017d073b8d55fc27552
Author: Manish Kausik H <46352931+Nirhar at users.noreply.github.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Analysis/MustExecute.cpp
A llvm/test/Analysis/MustExecute/irreducible-cfg.ll
Log Message:
-----------
Ensure `collectTransitivePredecessors` returns Pred only from the Loop. (#113831)
It's possible that we encounter Irreducible control flow, due to which,
we may find that a few predecessors of BB are not a part of the CurLoop.
Currently we crash in the function for such cases. This patch ensures
that we only return Predecessors that are a part of CurLoop and
gracefully ignore other Predecessors.
For example, consider Irreducible IR of this form:
```
define i64 @baz() {
bb:
br label %bb1
bb1: ; preds = %bb3, %bb
br label %bb3
bb2: ; No predecessors!
br label %bb3
bb3: ; preds = %bb2, %bb1
%load = load ptr addrspace(1), ptr addrspace(1) null, align 8
br label %bb1
}
```
This crashes when `collectTransitivePredecessors` is called on the
`%bb1<Header>, %bb3<latch>` loop, because the loop body has a
predecessor `%bb2` which is not a part of the loop.
See https://godbolt.org/z/E9fM1q3cT for the crash
Commit: 93d12d48810578beebff94906059ab0a95604869
https://github.com/llvm/llvm-project/commit/93d12d48810578beebff94906059ab0a95604869
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Revert "[Bazel] Fix for 1bc58a258e2edb6221009a26d0f0037eda6c7c47" (#114444)
This reverts commit 5ce8a93ebb7688c66bd08fa27d2e04bca33b6763.
Commit 1bc58a258e2edb6221009a26d0f0037eda6c7c47 was reverted in
a9a8351ef181610559687679a40efe24649f9600, so the bazel fix is no longer
needed.
Commit: 5b356f27a00a588d6e872a083b6eefc55d5b6183
https://github.com/llvm/llvm-project/commit/5b356f27a00a588d6e872a083b6eefc55d5b6183
Author: Daniel Sanders <daniel_l_sanders at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/Statistic.h
M llvm/lib/Support/Timer.cpp
Log Message:
-----------
Trivial change llvm::CreateInfoOutputFile() to return raw_ostream. NFC
This is NFC w.r.t upstream but allows us to return raw_null_ostream in our
downstream fork without changing the interface.
Commit: 6ff8091b5ee6fdd6445acf05d33323f862ad5dd8
https://github.com/llvm/llvm-project/commit/6ff8091b5ee6fdd6445acf05d33323f862ad5dd8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/Support/Alignment.h
Log Message:
-----------
[Alignment] Fix old method name in comment. NFC
getValue() was renamed to value() in the migration from
llvm::Optional to std::optional.
Commit: e3222e6f8053d3d0f2a8161040dc3c9d329e9eaf
https://github.com/llvm/llvm-project/commit/e3222e6f8053d3d0f2a8161040dc3c9d329e9eaf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_noprivate.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-flat-noalias-addrspace.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-cmpxchg-flat-maybe-private.ll
Log Message:
-----------
AMDGPU: Add baseline tests for cmpxchg custom expansion (#109408)
We need a non-atomic path if flat may access private.
Commit: 19c8475871faee5ebb06281034872a85a2552675
https://github.com/llvm/llvm-project/commit/19c8475871faee5ebb06281034872a85a2552675
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
[SelectionDAG] Add preliminary plumbing for `samesign` flag
Extend recently-added poison-generating IR flag to codegen as well.
Commit: 9cc298108a7bb34d0126028a529ecdcb0ade9baf
https://github.com/llvm/llvm-project/commit/9cc298108a7bb34d0126028a529ecdcb0ade9baf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AtomicExpandUtils.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmax.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fmin.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fsub.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-flat-noalias-addrspace.ll
Log Message:
-----------
AtomicExpand: Copy metadata from atomicrmw to cmpxchg (#109409)
When expanding an atomicrmw with a cmpxchg, preserve any metadata
attached to it. This will avoid unwanted double expansions
in a future commit.
The initial load should also probably receive the same metadata
(which for some reason is not emitted as an atomic).
Commit: 5c1752e368585e55c0335a7d7651fe43d42af282
https://github.com/llvm/llvm-project/commit/5c1752e368585e55c0335a7d7651fe43d42af282
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M flang/test/Fir/tco-default-datalayout.fir
M flang/test/Fir/tco-explicit-datalayout.fir
M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/test/Dialect/DLTI/invalid.mlir
M mlir/test/Dialect/DLTI/query.mlir
M mlir/test/Dialect/DLTI/roundtrip.mlir
M mlir/test/Dialect/DLTI/valid.mlir
M mlir/test/Dialect/GPU/outlining.mlir
M mlir/test/Target/LLVMIR/Import/data-layout.ll
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[MLIR][DLTI] Pretty parsing and printing for DLTI attrs (#113365)
Unifies parsing and printing for DLTI attributes. Introduces a format of
`#dlti.attr<key1 = val1, ..., keyN = valN>` syntax for all queryable
DLTI attributes similar to that of the DictionaryAttr, while retaining
support for specifying key-value pairs with `#dlti.dl_entry` (whether to
retain this is TBD).
As the new format does away with most of the boilerplate, it is much easier
to parse for humans. This makes an especially big difference for nested
attributes.
Updates the DLTI-using tests and includes fixes for misc error checking/
error messages.
Commit: 913cd11f941bd22617b86048afbcab94be30816a
https://github.com/llvm/llvm-project/commit/913cd11f941bd22617b86048afbcab94be30816a
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A clang/test/CodeGen/fat-lto-objects-cfi.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[llvm][fatlto] Drop any CFI related instrumentation after emitting bitcode (#112788)
We want to support CFI instrumentation for the bitcode section, without
miscompiling the object code portion of a FatLTO object. We can reuse
the existing mechanisms in the LowerTypeTestsPass to do that, by just
adding the pass to the FatLTO pipeline after the EmbedBitcodePass with
the correct options set.
Fixes #112053
Commit: 674574d25cc35010dbb0b12b01e8beeaddf20a3f
https://github.com/llvm/llvm-project/commit/674574d25cc35010dbb0b12b01e8beeaddf20a3f
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/PowerPC/P10InstrResources.td
M llvm/lib/Target/PowerPC/P9InstrResources.td
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCScheduleP7.td
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-out-of-range.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir
M llvm/test/CodeGen/PowerPC/peephole-replaceInstr-after-eliminate-extsw.mir
M llvm/test/CodeGen/PowerPC/sext_elimination.mir
M llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll
Log Message:
-----------
Promote 32bit pseudo instr that infer extsw removal to 64bit in PPCMIPeephole (#85451)
Fixes: https://github.com/llvm/llvm-project/issues/71030
Bug only happens in 64bit involving spills. Since we don't know when the
spill will happen, all instructions in the chain used to deduce sign
extension for eliminating 'extsw' will need to be promoted to 64-bit
pseudo instructions.
The following instruction will promoted in PPCMIPeepholes: EXTSH, LHA,
ISEL to EXTSH8, LHA8, ISEL8
Commit: d183dc7c243cb9628d0015d4ed1a820ed802eff3
https://github.com/llvm/llvm-project/commit/d183dc7c243cb9628d0015d4ed1a820ed802eff3
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
Log Message:
-----------
Revert "[InstCombine] Fix FMF propagation in `foldSelectIntoOp`" (#114458)
Reverts llvm/llvm-project#114356 because it caused test failures.
https://lab.llvm.org/buildbot/#/builders/190/builds/8601
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-base-linux-x64/b8732549597609293617/overview
Commit: 454abad7b0b995927f314842349a4db321e3b6b9
https://github.com/llvm/llvm-project/commit/454abad7b0b995927f314842349a4db321e3b6b9
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
Log Message:
-----------
[CFI][LowerTypeTests] Fix indirect call with alias (#113987)
This is a fixed version of #106185, which was reverted in #113978 due to
a buildbot failure.
Motivation example:
```
> cat test.cpp
extern "C" [[gnu::weak]] void f() {}
void alias() __attribute__((alias("f")));
int main() { auto p = alias; p(); }
> clang test.cpp -fsanitize=cfi-icall -flto=thin -fuse-ld=lld
> ./a.out
[1] 1868 illegal hardware instruction ./a.out
```
If the address of a function was only taken through its alias, the
function was not considered exported and therefore was not included in
the CFI jumptable. This resulted in `@llvm.type.test()` being lowered to
`false`, and consequently the indirect call to the function was
eventually optimized to `ubsantrap()`.
Commit: b021464d35ca9569d430d968034e21c1e592cbb9
https://github.com/llvm/llvm-project/commit/b021464d35ca9569d430d968034e21c1e592cbb9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Introduce scalar loop header in plan, remove VPLiveOut. (#109975)
Update VPlan to include the scalar loop header. This allows retiring
VPLiveOut, as the remaining live-outs can now be handled by adding
operands to the wrapped phis in the scalar loop header.
Note that the current version only includes the scalar loop header, no
other loop blocks and also does not wrap it in a region block.
PR: https://github.com/llvm/llvm-project/pull/109975
Commit: 8413599b59b209312f9662dcad3e7bb4e9d4a4d4
https://github.com/llvm/llvm-project/commit/8413599b59b209312f9662dcad3e7bb4e9d4a4d4
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A libc/src/__support/OSUtil/linux/i386/syscall.h
M libc/src/__support/OSUtil/linux/syscall.h
Log Message:
-----------
[libc][i386] syscall support (#114264)
Link: #93709
Commit: 0b2b87bf3435b4a72f4d1253cd640364e62c7b20
https://github.com/llvm/llvm-project/commit/0b2b87bf3435b4a72f4d1253cd640364e62c7b20
Author: Michael Jones <michaelrj at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
Log Message:
-----------
[libc] Fix path to fcntl_overlay in cmake (#114464)
The proxy header definition for mode_t was using an incorrect form for
its dependency on fcntl_overlay. The relative paths for dependencies can
only go down, not up so "../" doesn't work. This patch fixes it to be
absolute.
Commit: 3b4c45e4e5f187c652584acb94d64ba7a241760c
https://github.com/llvm/llvm-project/commit/3b4c45e4e5f187c652584acb94d64ba7a241760c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Fix long comment added in b021464d35ca (NFC).
Fix formatting of comment added in b021464d35ca.
Commit: a8b4cb185c135de006d2a012b986b7655960c414
https://github.com/llvm/llvm-project/commit/a8b4cb185c135de006d2a012b986b7655960c414
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir] Remove debug prints from test pattern
Commit: 083a5cdbeab09517d8345868970d4f41170d7ed2
https://github.com/llvm/llvm-project/commit/083a5cdbeab09517d8345868970d4f41170d7ed2
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
R compiler-rt/lib/sanitizer_common/tests/sanitizer_block_signals.cpp
Log Message:
-----------
Revert "[sanitizer_common] AND signals in BlockSignals instead of deleting (#113443)"
This reverts commit 25fd366d6a7d40266ff27c134ed8beb0a90cc33b.
Reason: buildbot breakage (https://lab.llvm.org/buildbot/#/builders/186/builds/3642)
Commit: aa70d846b0102e62dbfae7e441a3d5d5c906f4b5
https://github.com/llvm/llvm-project/commit/aa70d846b0102e62dbfae7e441a3d5d5c906f4b5
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/select-splat-vector.ll
Log Message:
-----------
[GlobalISel][AArch64] Legalize G_SPLAT_VECTOR (#114006)
{nxv8s16, s16} fails to select.
{nxv16s8, s8} no patterns available.
Commit: e241964b9373786f327ce24b440e2a82a3c4eeea
https://github.com/llvm/llvm-project/commit/e241964b9373786f327ce24b440e2a82a3c4eeea
Author: Michael Jones <michaelrj at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libc/include/llvm-libc-macros/linux/fcntl-macros.h
M libc/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/mman/linux/shm_test.cpp
Log Message:
-----------
[libc] Fix macro definition hermeticity (#114467)
Previously shm_test was including <asm-generic/fcntl.h> for the macro
FD_CLOEXEC. This patch adds that macro to the list we have defined, and
redirects the test to use the correct proxy header.
Commit: cf3464bbb796d492bcd4e764ada945304e0c874f
https://github.com/llvm/llvm-project/commit/cf3464bbb796d492bcd4e764ada945304e0c874f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/NativePDB/ast-functions-msvc.cpp
M lldb/test/Shell/SymbolFile/NativePDB/ast-functions.cpp
M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
M lldb/test/Shell/SymbolFile/NativePDB/ast-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/bitfields.cpp
M lldb/test/Shell/SymbolFile/NativePDB/blocks.s
M lldb/test/Shell/SymbolFile/NativePDB/break-by-function.cpp
M lldb/test/Shell/SymbolFile/NativePDB/break-by-line.cpp
M lldb/test/Shell/SymbolFile/NativePDB/class_layout.cpp
M lldb/test/Shell/SymbolFile/NativePDB/disassembly.cpp
M lldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp
M lldb/test/Shell/SymbolFile/NativePDB/function-types-calling-conv.cpp
M lldb/test/Shell/SymbolFile/NativePDB/function-types-classes.cpp
M lldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp
M lldb/test/Shell/SymbolFile/NativePDB/global-ctor-dtor.cpp
M lldb/test/Shell/SymbolFile/NativePDB/globals-bss.cpp
M lldb/test/Shell/SymbolFile/NativePDB/globals-fundamental.cpp
M lldb/test/Shell/SymbolFile/NativePDB/icf.cpp
M lldb/test/Shell/SymbolFile/NativePDB/incomplete-tag-type.cpp
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites.test
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
A lldb/test/Shell/SymbolFile/NativePDB/lit.local.cfg
M lldb/test/Shell/SymbolFile/NativePDB/load-pdb.cpp
M lldb/test/Shell/SymbolFile/NativePDB/local-variables-registers.s
M lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp
M lldb/test/Shell/SymbolFile/NativePDB/locate-pdb.cpp
M lldb/test/Shell/SymbolFile/NativePDB/lookup-by-address.cpp
M lldb/test/Shell/SymbolFile/NativePDB/lookup-by-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/nested-blocks-same-address.s
M lldb/test/Shell/SymbolFile/NativePDB/nested-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/s_constant.cpp
M lldb/test/Shell/SymbolFile/NativePDB/source-list.cpp
M lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp
M lldb/test/Shell/SymbolFile/NativePDB/tag-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/typedefs.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/SymbolFile/PDB/compilands.test
M lldb/test/Shell/SymbolFile/PDB/function-level-linking.test
A lldb/test/Shell/SymbolFile/PDB/lit.local.cfg
M lldb/test/Shell/SymbolFile/PDB/variables-locations.test
Log Message:
-----------
[lldb] Set LLDB_USE_NATIVE_PDB_READER at the directory level (#114455)
Lit allows you to set environment variables for all tests in a directory
using a `lit.local.cfg` file. Do this for the PDB and NativePDB tests.
Commit: 3af87d4c5709fb7498e5adf75ec07e6528b14e1a
https://github.com/llvm/llvm-project/commit/3af87d4c5709fb7498e5adf75ec07e6528b14e1a
Author: Michael Jones <michaelrj at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libc/test/src/search/hsearch_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
Log Message:
-----------
[libc] Remove asm-generic includes from tests (#114479)
We shouldn't be including headers directly from asm-generic for macros.
It's safer to get those through the correct primary header where
possible (e.g. fcntl instead of asm-generic/fcntl).
For our public headers we may need to include the asm-generic
headers instead of defining all the macros ourselves, but that's
something for a followup PR.
Commit: 19b4f17d4c0ae12725050d09f04f85bccc686d8e
https://github.com/llvm/llvm-project/commit/19b4f17d4c0ae12725050d09f04f85bccc686d8e
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/DirectoryLookup.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
R clang/test/Driver/index-header-map.c
M clang/unittests/Lex/HeaderSearchTest.cpp
Log Message:
-----------
[clang][lex] Remove `-index-header-map` (#114459)
This PR removes the `-index-header-map` functionality from Clang. AFAIK
this was only used internally at Apple and is now dead code. The main
motivation behind this change is to enable the removal of
`HeaderFileInfo::Framework` member and reducing the size of that data
structure.
rdar://84036149
Commit: a1987beac58765b7df9690eb898c14f629449210
https://github.com/llvm/llvm-project/commit/a1987beac58765b7df9690eb898c14f629449210
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
Log Message:
-----------
Reland "[NVPTX] Prefer prmt.b32 over bfi.b32" (#114326)
Fix
[failure](https://github.com/llvm/llvm-project/pull/110766#discussion_r1796832635)
identified by @akuegel.
---
In [[NVPTX] Improve lowering of
v4i8](https://github.com/llvm/llvm-project/commit/cbafb6f2f5c99474164dcc725820cbbeb2e02e14)
@Artem-B add the ability to lower ISD::BUILD_VECTOR with bfi PTX
instructions. @Artem-B did this because:
(https://github.com/llvm/llvm-project/pull/67866#discussion_r1343066911)
Under the hood byte extraction/insertion ends up as BFI/BFE
instructions, so we may as well do that in PTX, too.
https://godbolt.org/z/Tb3zWbj9b
However, the example that @Artem-B linked was targeting sm_52. On modern
architectures, ptxas uses prmt.b32.
[Example](https://godbolt.org/z/Ye4W1n84o).
Thus, remove uses of NVPTXISD::BFI in favor of NVPTXISD::PRMT.
Commit: e494e2694a90ac6fb18976b8cb6aab849b6279b4
https://github.com/llvm/llvm-project/commit/e494e2694a90ac6fb18976b8cb6aab849b6279b4
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
Log Message:
-----------
[clang][lex] Remove `HeaderFileInfo::Framework` (#114460)
This PR removes the `HeaderFileInfo::Framework` member and reduces the
size of this data type from 32B to 16B. This should improve Clang's
memory usage in situations where it keeps track of lots of header files.
NFCI. Depends on #114459.
Commit: 84f5c8571ddfd4e2878894f2093418d045762cea
https://github.com/llvm/llvm-project/commit/84f5c8571ddfd4e2878894f2093418d045762cea
Author: Thurston Dang <thurston at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_tbl.ll
Log Message:
-----------
[msan] Add test for Arm NEON tbl intrinsics (#114462)
Arm NEON tbl intrinsics are currently not instrumented properly by MSan.
This test will help track progress.
Commit: 51a4f319f022b99f231e52fab97de28b6f1db591
https://github.com/llvm/llvm-project/commit/51a4f319f022b99f231e52fab97de28b6f1db591
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir:python] Avoid calls to get_op_result_or_results in generated value wrappers (#114491)
If we know the output arity at tablegen time, we can often just call
.result or .results directly.
This saves almost 1s in a JAX-based LLM benchmark building a mixture of
upstream dialects and StableHLO.
Commit: 54d31bde324523d946fd87f5c5d5e271826209d6
https://github.com/llvm/llvm-project/commit/54d31bde324523d946fd87f5c5d5e271826209d6
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/while-break.ll
M llvm/test/Transforms/StructurizeCFG/AMDGPU/loop-subregion-misordered.ll
M llvm/test/Transforms/StructurizeCFG/loop-break-phi.ll
Log Message:
-----------
Reapply "StructurizeCFG: Optimize phi insertion during ssa reconstruction (#101301)" (#114347)
This reverts commit be40c723ce2b7bf2690d22039d74d21b2bd5b7cf.
Commit: 33d636f0f67bb037d439aeaff106070e448df07a
https://github.com/llvm/llvm-project/commit/33d636f0f67bb037d439aeaff106070e448df07a
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc][bazel] Fix linter warning - remove unused load. (#114493)
This load is no longer necessary since PLATFORM_CPU_ARM64 was removed in
fa17977c315062646d4d1e01262d68dd69313e61
Commit: beb7fb9d0f25c6e86a437516d76c6d5deb0eb21f
https://github.com/llvm/llvm-project/commit/beb7fb9d0f25c6e86a437516d76c6d5deb0eb21f
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC] skip reoptimization tests on i386 (#114351)
This test currently segfaults on i386-unknown-linux-gnu builds.
Commit: 6fa1647a470c333c183a78805c3bb9d824c2befb
https://github.com/llvm/llvm-project/commit/6fa1647a470c333c183a78805c3bb9d824c2befb
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/no-odd-spreg.ll
Log Message:
-----------
[MC][Mips] Rename MipsMCAsmInfo to MipsELFMCAsmInfo (#112592)
Also change MipsAsmPrinter::emitStartOfAsmFile to emit ELF-related
sections only when using ELF output file format.
Commit: da9788359d35f4294bc6ec5323751e40981cdbe0
https://github.com/llvm/llvm-project/commit/da9788359d35f4294bc6ec5323751e40981cdbe0
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/test/Driver/avr-toolchain.c
Log Message:
-----------
[clang][driver] Improve warning message for target AVR (#114394)
Fixes https://github.com/llvm/llvm-project/issues/96743
Commit: 1f07f995cc994dfb46b65fe97986efca15cf304b
https://github.com/llvm/llvm-project/commit/1f07f995cc994dfb46b65fe97986efca15cf304b
Author: c8ef <c8ef at outlook.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstCombine/tgamma.ll
Log Message:
-----------
[ConstantFold] Fold `tgamma` and `tgammaf` when the input parameter is a constant value. (#114065)
This patch adds support for constant folding for the `tgamma` and
`tgammaf` libc functions.
Commit: cf0b6cc7118634d73ba186f50d06e191f49da82a
https://github.com/llvm/llvm-project/commit/cf0b6cc7118634d73ba186f50d06e191f49da82a
Author: c8ef <c8ef at outlook.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
R llvm/test/Transforms/InstCombine/tgamma.ll
Log Message:
-----------
Revert "[ConstantFold] Fold `tgamma` and `tgammaf` when the input parameter is a constant value." (#114496)
Reverts llvm/llvm-project#114065
Commit: 067ce5ca1826b5e143a21ed79fb3d6e24474e2ff
https://github.com/llvm/llvm-project/commit/067ce5ca1826b5e143a21ed79fb3d6e24474e2ff
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
Log Message:
-----------
[flang][cuda] Use getOrCreateGPUModule in CUFDeviceGlobal pass (#114468)
Make the pass functional if gpu module was not created yet.
Commit: 466b58ba3809efa4c82e950a62065b58b8c696bd
https://github.com/llvm/llvm-project/commit/466b58ba3809efa4c82e950a62065b58b8c696bd
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/test/Fir/comdat-present.fir
Log Message:
-----------
[flang] Avoid generating duplicate symbol in comdat (#114472)
In case where a fir.global might be duplicated in an inner module
(gpu.module), the conversion pattern will be applied on the module and
the gpu module version of the global and try to generate multiple comdat
with the same symbol name. This is what we have in the implementation of
CUDA Fortran.
Just check for the presence of the `ComdatSelectorOp` before creating a
new one.
Commit: 0019d06185428243066501c91ccbedb697a4a8a2
https://github.com/llvm/llvm-project/commit/0019d06185428243066501c91ccbedb697a4a8a2
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_associative_dead_strip.test
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s
Log Message:
-----------
Revert "Revert "[JITLink] Use MapVector to stabilize iteration order""
This reverts commit 244ea4062590b4fbda56bbae6cd3700159db19bf while I test a fix
for a build failure: https://lab.llvm.org/buildbot/#/builders/174/builds/7685.
Commit: 2606a58bc0b675e5ca6030bf6310aaaa00ec7ed1
https://github.com/llvm/llvm-project/commit/2606a58bc0b675e5ca6030bf6310aaaa00ec7ed1
Author: Kyle Evans <kevans91 at users.noreply.github.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
Log Message:
-----------
compiler-rt: sanitizer_common: use close_range() instead of looping (#114442)
_SC_OPEN_MAX is quite high on FreeBSD, which makes this close() loop a
quite obvious problem when attempting to do any kind of debugging in a
process that uses StartSubprocess. Switch to using close_range(2)
instead to close them all in a single syscall and dramatically reduce
the runtime and syscall trace noise
Linux has an equivalent syscall, but I do not have the capacity to test
that it works there, so this is limited to SANITIZER_FREEBSD for the
time being.
Commit: 5cb730594a1427d411c4798e8cd73c6b8c058e47
https://github.com/llvm/llvm-project/commit/5cb730594a1427d411c4798e8cd73c6b8c058e47
Author: lntue <lntue at google.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libc/hdr/fenv_macros.h
M libc/test/UnitTest/FPMatcher.h
Log Message:
-----------
[libc] Remove FE_ALL_EXCEPT check in hdr/fenv_macros.h. (#114446)
FE_ALL_EXCEPT macro might not be a valid preprocessor constant
expression in some environment.
Moreover, FE_ALL_EXCEPT might not be defined as int.
Commit: d1b311d7d2258531decaea9556d2e96ce2433817
https://github.com/llvm/llvm-project/commit/d1b311d7d2258531decaea9556d2e96ce2433817
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M libcxx/test/benchmarks/CMakeLists.txt
A libcxx/test/benchmarks/hash.bench.cpp
M libcxx/test/benchmarks/unordered_set_operations.bench.cpp
Log Message:
-----------
[libc++] Split std::hash benchmark out of std::unordered_set benchmark (#114448)
As a drive-by, remove unused functor inside the unordered_set benchmark.
That benchmark still isn't very exhaustive, but that can be addressed
separately.
Commit: 96b14f2ccb749010daea7a67963abed83456318c
https://github.com/llvm/llvm-project/commit/96b14f2ccb749010daea7a67963abed83456318c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Log Message:
-----------
[Reland][InstCombine] Fix FMF propagation in `foldSelectIntoOp` (#114499)
Relands #114356. Compared to the last version, this patch only merges
poison-generating/nsz flags from the select to fix LV regression in
`llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll`.
Commit: bef3b54ea10a564a2de72f658f2efd64f537c079
https://github.com/llvm/llvm-project/commit/bef3b54ea10a564a2de72f658f2efd64f537c079
Author: Lei Wang <wlei at fb.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/pgo-cold-function-coverage.c
A clang/test/Driver/fprofile-generate-cold-function-coverage.c
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/instr-gen-cold-function.ll
Log Message:
-----------
[InstrPGO] Avoid using global variable to fix potential data race (#114364)
In https://github.com/llvm/llvm-project/pull/109837, it sets a global
variable(`PGOInstrumentColdFunctionOnly`) in PassBuilderPipelines.cpp
which introduced a data race detected by TSan. To fix this, I decouple
the flag setting, the flags are now set
separately(`instrument-cold-function-only-path` is required to be used
with `--pgo-instrument-cold-function-only`).
Commit: f16bff1261a92169992c6edf6bc6b38d1c815c8d
https://github.com/llvm/llvm-project/commit/f16bff1261a92169992c6edf6bc6b38d1c815c8d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/GVN/pr113997.ll
A llvm/test/Transforms/NewGVN/pr113997.ll
Log Message:
-----------
[GVN][NewGVN][Local] Handle attributes for function calls after CSE (#114011)
This patch intersects attributes of two calls to avoid introducing UB.
It also skips incompatible call pairs in GVN/NewGVN. However, I cannot
provide negative tests for these changes.
Fixes https://github.com/llvm/llvm-project/issues/113997.
Commit: 8e3772744d34d251fe0321ea78bb98d3543d3d7d
https://github.com/llvm/llvm-project/commit/8e3772744d34d251fe0321ea78bb98d3543d3d7d
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
A llvm/test/CodeGen/AArch64/extract-vector-elt-sve.ll
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
Log Message:
-----------
[GlobalISel][AArch64] Legalize G_INSERT_VECTOR_ELT for SVE (#114470)
There are patterns for:
* {nxv2s32, s32, s64},
* {nxv4s16, s16, s64},
* {nxv2s16, s16, s64}
Commit: df9769e14b79048331c33deeda1a93acc9a4a73e
https://github.com/llvm/llvm-project/commit/df9769e14b79048331c33deeda1a93acc9a4a73e
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/enum.cpp
Log Message:
-----------
[Clang] prevent setting default lexical access specifier for missing primary declarations (#112424)
This PR resolves a crash triggered by a forward reference to an enum
type in a function parameter list. The fix includes setting `Invalid`
when `TagUseKind` is `Declaration` to ensure correct error handling.
Fixes #112208
Commit: 7ec26b23f27f2adfe6847bc69debb84efa34ed08
https://github.com/llvm/llvm-project/commit/7ec26b23f27f2adfe6847bc69debb84efa34ed08
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A llvm/include/llvm/CGData/StableFunctionMap.h
A llvm/include/llvm/CGData/StableFunctionMapRecord.h
M llvm/lib/CGData/CMakeLists.txt
A llvm/lib/CGData/StableFunctionMap.cpp
A llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/unittests/CGData/CMakeLists.txt
A llvm/unittests/CGData/StableFunctionMapRecordTest.cpp
A llvm/unittests/CGData/StableFunctionMapTest.cpp
Log Message:
-----------
[CGData] Stable Function Map (#112662)
These define the main data structures to represent stable functions and
group similar functions in a function map.
Serialization is supported in a binary or yaml form.
Depends on #112638.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 4cb71701994e129c1beca77134b39137ea8752c3
https://github.com/llvm/llvm-project/commit/4cb71701994e129c1beca77134b39137ea8752c3
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M polly/lib/Analysis/ScopDetection.cpp
A polly/test/ScopDetect/detect-full-functions.ll
Log Message:
-----------
[polly] Add nullptr check to fix #113772 (#114206)
The patch adds a nullptr check before accessing the loop blocks in
'hasPossiblyDistributableLoop' function. The existing check for the
loop’s containment in the region does not capture nullptr cases when the
region covers the entire function. Therefore, it’s better to exit if the
basic block isn’t part of any loop
Fixes #113772.
Commit: c3edeaa61bf0e7faed6c26f693b4fcd9102ba1ec
https://github.com/llvm/llvm-project/commit/c3edeaa61bf0e7faed6c26f693b4fcd9102ba1ec
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
M llvm/test/Analysis/CostModel/RISCV/fp-trig-log-exp.ll
M llvm/test/Analysis/CostModel/RISCV/fround.ll
M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
M llvm/test/Analysis/CostModel/RISCV/int-min-max.ll
M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
Log Message:
-----------
[Test] Rename the test function name suffix. NFC (#114504)
Commit: 61a6439f35b6de28ff4aff4450d6fca970292fd5
https://github.com/llvm/llvm-project/commit/61a6439f35b6de28ff4aff4450d6fca970292fd5
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
Introduce a new WebKit checker for a unchecked local variable (#113708)
This PR introduces alpha.webkit.UncheckedLocalVarsChecker which detects
a raw reference or a raw pointer local, static, or global variable to a
CheckedPtr capable object without a guardian variable in an outer scope.
Commit: 8cb6b65542591e6bdbd70d94a8ae74b13ab2e5c0
https://github.com/llvm/llvm-project/commit/8cb6b65542591e6bdbd70d94a8ae74b13ab2e5c0
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86_64.def
M clang/lib/Headers/cmpccxaddintrin.h
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
Log Message:
-----------
[X86][CFE] Correct parameter type of _cmpccxadd_epi64 (#114367)
This fixes correctness of https://gcc.godbolt.org/z/vexf5fW5r
Commit: 1e19f0f9d92b5e9c43d53893e387341835d3d96b
https://github.com/llvm/llvm-project/commit/1e19f0f9d92b5e9c43d53893e387341835d3d96b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Implement IntegralAP bitcasting (#114471)
Only for full-byte bitwidths for now.
Commit: c72a751dabff4260dcc309e48008941d51b31d21
https://github.com/llvm/llvm-project/commit/c72a751dabff4260dcc309e48008941d51b31d21
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86_64.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/amxintrin.h
A clang/lib/Headers/amxtransposeintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Sema/SemaX86.cpp
A clang/test/CodeGen/X86/amx_transpose.c
A clang/test/CodeGen/X86/amx_transpose_api.c
A clang/test/CodeGen/X86/amx_transpose_errors.c
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M llvm/include/llvm/CodeGen/TileShapeInfo.h
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
M llvm/lib/Target/X86/X86FastTileConfig.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrOperands.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86PreTileConfig.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86TileConfig.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
A llvm/test/CodeGen/X86/amx_tile_pair_O2_to_O0.ll
A llvm/test/CodeGen/X86/amx_tile_pair_configure_O0.mir
A llvm/test/CodeGen/X86/amx_tile_pair_configure_O2.mir
A llvm/test/CodeGen/X86/amx_tile_pair_copy.mir
A llvm/test/CodeGen/X86/amx_tile_pair_lower_type_O0.ll
A llvm/test/CodeGen/X86/amx_tile_pair_lower_type_O2.ll
A llvm/test/CodeGen/X86/amx_tile_pair_preconfigure_O0.mir
A llvm/test/CodeGen/X86/amx_tile_pair_preconfigure_O2.mir
A llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll
M llvm/test/CodeGen/X86/ipra-reg-usage.ll
A llvm/test/MC/Disassembler/X86/amx-transpose-att.s
A llvm/test/MC/Disassembler/X86/amx-transpose-att.txt
A llvm/test/MC/Disassembler/X86/amx-transpose-intel.s
M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
Log Message:
-----------
[X86][AMX] Support AMX-TRANSPOSE (#113532)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: 2337990cae89f32c9a58b63748bc837d9feb7d3f
https://github.com/llvm/llvm-project/commit/2337990cae89f32c9a58b63748bc837d9feb7d3f
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/lib/Basic/DiagnosticIDs.cpp
Log Message:
-----------
[clang][NFC] Bail out early when checking system-header/macro suppressions
Commit: da083e358ed1d7ce1566480f2066997be987ec84
https://github.com/llvm/llvm-project/commit/da083e358ed1d7ce1566480f2066997be987ec84
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
A llvm/test/CodeGen/AArch64/ptrauth-basic-pic.ll
A llvm/test/CodeGen/AArch64/ptrauth-elf-globals-pic.ll
A llvm/test/CodeGen/AArch64/ptrauth-elf-got-function-symbols.ll
A llvm/test/CodeGen/AArch64/ptrauth-extern-weak.ll
A llvm/test/CodeGen/AArch64/ptrauth-got-abuse.ll
A llvm/test/CodeGen/AArch64/ptrauth-tagged-globals-pic.ll
A llvm/test/MC/AArch64/adrp-auth-relocation.s
M llvm/test/MC/AArch64/arm64-elf-relocs.s
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
[PAC][CodeGen][ELF][AArch64] Support signed GOT (#113811)
This re-applies #96164 after revert in #102434.
Support the following relocations and assembly operators:
- `R_AARCH64_AUTH_ADR_GOT_PAGE` (`:got_auth:` for `adrp`)
- `R_AARCH64_AUTH_LD64_GOT_LO12_NC` (`:got_auth_lo12:` for `ldr`)
- `R_AARCH64_AUTH_GOT_ADD_LO12_NC` (`:got_auth_lo12:` for `add`)
`LOADgotAUTH` pseudo-instruction is introduced which is later expanded to
actual instruction sequence like the following.
```
adrp x16, :got_auth:sym
add x16, x16, :got_auth_lo12:sym
ldr x0, [x16]
autia x0, x16
```
If a resign is requested, like below, `LOADgotPAC` pseudo is used, and GOT
load is lowered similarly to `LOADgotAUTH`.
```
@var = global i32 0
define ptr @resign_globalvar() {
ret ptr ptrauth (ptr @var, i32 3, i64 43)
}
```
If FPAC bit is not set and auth instruction is emitted, a check+trap sequence
similar to one used for `AUT` pseudo is emitted to ensure auth success.
Both SelectionDAG and GlobalISel are suppported.
For FastISel, we fall back to SelectionDAG.
Tests starting with 'ptrauth-' have corresponding variants w/o this prefix.
See also specification
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#appendix-signed-got
Commit: 33411d520783189c31e9936a67371198d6da5f25
https://github.com/llvm/llvm-project/commit/33411d520783189c31e9936a67371198d6da5f25
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/test/CodeGen/ARM/cmse-clear-float-hard.ll
M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir
Log Message:
-----------
[ARM] Fix CMSE S->NS calls when CONTROL_S.SFPA==0 (CVE-2024-7883) (#114433)
When doing a call from CMSE secure state to non-secure state for
v8-M.main, we use the VLLDM and VLSTM instructions to save, clear and
restore the FP registers around the call. These instructions both check
the CONTROL_S.SFPA bit, and if it is clear (meaning the current contents
of the FP registers are not secret) they execute as no-ops.
This causes a problem when CONTROL_S.SFPA==0 before the call, which
happens if there are no floating-point instructions executed between
entry to secure state and the call. If this is the case, then the VLSTM
instruction will do nothing, leaving the save area in the stack
uninitialised. If the called function returns a value in floating-point
registers, the call sequence includes an instruction to copy the return
value from a floating-point register to a GPR, which must be before the
VLLDM instruction. This copy sets CONTROL_S.SFPA, meaning that the VLLDM
will fully execute, and load the uninitialised stack memory into the FP
registers.
This causes two problems:
* The FP register file is clobbered, including all of the callee-saved
registers, which might contain live values.
* The stack region might contain secret values, which will be leaked to
non-secure state through the floating-point registers if/when we
return to non-secure state.
The fix is to insert a `vmov s0, s0` instruction before the VLSTM
instruction, to ensure that CONTROL_S.SFPA is set for both the VLLDM and
VLSTM instruction.
CVE: https://www.cve.org/cverecord?id=CVE-2024-7883
Security bulletin:
https://developer.arm.com/Arm%20Security%20Center/Cortex-M%20Security%20Extensions%20Vulnerability
Commit: 659c3699e836d022f4bf02db8910fa3ec5e32fd2
https://github.com/llvm/llvm-project/commit/659c3699e836d022f4bf02db8910fa3ec5e32fd2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Connect scalar header to VPlan CFG in unit tests.
This ensures the VPIRBasicBlocks are deleted when the VPlan is
destroyed.
Fixes a buildbot failure with ASAN, including
https://lab.llvm.org/buildbot/#/builders/52/builds/3368
Commit: 550501f21ce946963b9dae9b6fb4860015992618
https://github.com/llvm/llvm-project/commit/550501f21ce946963b9dae9b6fb4860015992618
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
Log Message:
-----------
[AMDGPU] Simplify GFX12 VBUFFER definitions. NFC. (#114403)
For GFX12 hasTFE is always true because it does not have the buffer load
to LDS instructions.
Commit: 344d972736fc0030d1dd7e2e9709535e8d648f24
https://github.com/llvm/llvm-project/commit/344d972736fc0030d1dd7e2e9709535e8d648f24
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/test/Transforms/Util/assume-simplify.ll
Log Message:
-----------
AssumeBundleBuilder: switch placeholder from undef to poison [NFC]
Commit: 36878b55421734c41b0fdb77f9708701a4c7812a
https://github.com/llvm/llvm-project/commit/36878b55421734c41b0fdb77f9708701a4c7812a
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[TOSA] Remove i64 from valid element datatypes in validation (#113380)
Align the validation pass valid element datatypes check more closely to
the specification by removing i64 as a supported datatype. The spec does
not currently support it.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 4ed7bcb4a6100b2634580d9ef39e2f4cb3470fe9
https://github.com/llvm/llvm-project/commit/4ed7bcb4a6100b2634580d9ef39e2f4cb3470fe9
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan][NFC] Add new getMiddleBlock interface to VPlan (#113558)
This work is in preparation for PRs #112138 and #88385 where
the middle block is not guaranteed to be the immediate successor
to the region block. I've simply add new getMiddleBlock()
interfaces to VPlan that for now just return
cast<VPBasicBlock>(VectorRegion->getSingleSuccessor())
Once PR #112138 lands we'll need to do more work to discover
the middle block.
Commit: 83ce977b366a448609750630a6c1a23146c780d2
https://github.com/llvm/llvm-project/commit/83ce977b366a448609750630a6c1a23146c780d2
Author: Nick Sarnie <sarnex at users.noreply.github.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix use of uninitialized memory in temp files (#114488)
This fixes the current sanitizer CI
[failures](https://lab.llvm.org/buildbot/#/builders/169/builds/4839/steps/13/logs/stdio).
I manually confirmed the fix with a MemorySanitizer build.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: f484a04d796123097572c5c2089fefa28e951747
https://github.com/llvm/llvm-project/commit/f484a04d796123097572c5c2089fefa28e951747
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Suppress a dangling false positive when owner is moved in member initializer. (#114213)
This patch extends the filtering heuristic to apply for the
Lifetimebound code path.
This will suppress a common false positive:
```
namespace std {
template<typename T>
struct unique_ptr {
T &operator*();
T *get() const [[clang::lifetimebound]];
};
} // namespace std
struct X {
X(std::unique_ptr<int> up) :
pointer(up.get()), owner(std::move(up)) {}
int *pointer;
std::unique_ptr<int> owner;
};
```
See #114201.
Commit: e4aeeba84c12a37ce569a96357b3fc54fad50830
https://github.com/llvm/llvm-project/commit/e4aeeba84c12a37ce569a96357b3fc54fad50830
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] When ScalarTy is FixedVectorType, the insertion index should consider the number of elements of ScalarTy. (#114526)
Commit: 8951b51402d17af1f97e5804f60c946e624650d6
https://github.com/llvm/llvm-project/commit/8951b51402d17af1f97e5804f60c946e624650d6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Add more checks to _ai32_* builtins (#114412)
They are called in a few different forms that we don't support.
Commit: b77e40265caf1fc459b1c57ac495bbd48e1f7942
https://github.com/llvm/llvm-project/commit/b77e40265caf1fc459b1c57ac495bbd48e1f7942
Author: Wang Qiang <736242642 at qq.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/test/MC/ARM/mve-fp-registers.s
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
Log Message:
-----------
[llvm][NFC] Fix typos: replace “avaliable” with “available” across various files (#114524)
This pull request corrects multiple occurrences of the typo "avaliable"
to "available" across the LLVM and Clang codebase. These changes improve
the clarity and accuracy of comments and documentation. Specific
modifications are in the following files:
1. clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp:
Updated comments in readability checks for cognitive complexity.
2. llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h: Corrected
documentation for JITDylib responsibilities.
3. llvm/include/llvm/Target/TargetMacroFusion.td: Fixed descriptions for
FusionPredicate variables.
4. llvm/lib/CodeGen/SafeStack.cpp: Improved comments on DominatorTree
availability.
5. llvm/lib/Target/RISCV/RISCVSchedSiFive7.td: Enhanced resource usage
descriptions for vector units.
6. llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp: Updated invariant
description in shift-detect idiom logic.
7. llvm/test/MC/ARM/mve-fp-registers.s: Amended ARM MVE register
availability notes.
8. mlir/lib/Bytecode/Reader/BytecodeReader.cpp: Adjusted forward
reference descriptions for bytecode reader operations.
These changes have no impact on code functionality, focusing solely on
documentation clarity.
Co-authored-by: wangqiang <wangqiang1 at kylinos.cn>
Commit: 340cb3951e53bc90706b39c16cd5ec59ca963324
https://github.com/llvm/llvm-project/commit/340cb3951e53bc90706b39c16cd5ec59ca963324
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Pass layout metrics to the linker (#114435)
Until now, these have been hardcoded as a downstream patches in lld. Add
them to the driver so that the private patches can be removed.
PS5 only. On PS4, the equivalent hardcoded configuration will remain in
the proprietary linker.
SIE tracker: TOOLCHAIN-16704
Commit: 0f919444adfa74b46df50aa2da12e7137c23a02c
https://github.com/llvm/llvm-project/commit/0f919444adfa74b46df50aa2da12e7137c23a02c
Author: David Green <david.green at arm.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-phiselect.ll
M llvm/test/Transforms/EarlyCSE/nofpclass-phi-regression.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Log Message:
-----------
[ValueTracking] Handle recursive phis in knownFPClass (#114008)
As a follow-on to 113686, this breaks the recursion between phi nodes
that have p1 = phi(x, p2) and p2 = phi(y, p1). The knownFPClass can be
calculated from the classes of p1 and p2.
Commit: 88f8993591dbe02f718f2c028f5fbb5a9805c9cc
https://github.com/llvm/llvm-project/commit/88f8993591dbe02f718f2c028f5fbb5a9805c9cc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__string/char_traits.h
Log Message:
-----------
[libc++] Add a few missing includes
Commit: f2019fc5cacc863049556f99f33f412b40ba469b
https://github.com/llvm/llvm-project/commit/f2019fc5cacc863049556f99f33f412b40ba469b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++] Upload CMakeConfigureLog artifacts (#114445)
This is helpful to debug CMake configuration issues such as the ones
that can happen when we build an external project (like
GoogleBenchmark).
Commit: 23e2a0415dffde31833c0555add205919b562e2a
https://github.com/llvm/llvm-project/commit/23e2a0415dffde31833c0555add205919b562e2a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libcxx/include/__format/formatter_floating_point.h
Log Message:
-----------
[libc++] Fix dumb typo
Commit: edd6b1f4fe4838a7a656b2e8c5ac2de3a358d41a
https://github.com/llvm/llvm-project/commit/edd6b1f4fe4838a7a656b2e8c5ac2de3a358d41a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Don't leak ScalarHeader BasicBlock in unit tests.
Commit: c752efbdcc1ebd81f879633d6b798248064e2ae2
https://github.com/llvm/llvm-project/commit/c752efbdcc1ebd81f879633d6b798248064e2ae2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
A clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Implement bitcasts to floating-point values (#114485)
Commit: e577f14b670ee2ae6bb717133310b215be4331b3
https://github.com/llvm/llvm-project/commit/e577f14b670ee2ae6bb717133310b215be4331b3
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
Log Message:
-----------
[InstCombine] Use `m_NotForbidPoison` when folding `(X u< Y) ? -1 : (~X + Y) --> uadd.sat(~X, Y)` (#114345)
Alive2: https://alive2.llvm.org/ce/z/mTGCo-
We cannot reuse `~X` if `m_AllOnes` matches a vector constant with some
poison elts. An alternative solution is to create a new not instead of
reusing `~X`. But it doesn't worth the effort because we need to add a
one-use check.
Fixes https://github.com/llvm/llvm-project/issues/113869.
Commit: a77dedcacb4c5eb221395b69877981dd6ad98989
https://github.com/llvm/llvm-project/commit/a77dedcacb4c5eb221395b69877981dd6ad98989
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/vector-udiv.ll
M llvm/test/Transforms/InstSimplify/div.ll
M llvm/test/Transforms/InstSimplify/rem.ll
Log Message:
-----------
[InstSimplify][InstCombine][ConstantFold] Move vector div/rem by zero fold to InstCombine (#114280)
Previously we fold `div/rem X, C` into `poison` if any element of the
constant divisor `C` is zero or undef. However, it is incorrect when
threading udiv over an vector select:
https://alive2.llvm.org/ce/z/3Ninx5
```
define <2 x i32> @vec_select_udiv_poison(<2 x i1> %x) {
%sel = select <2 x i1> %x, <2 x i32> <i32 -1, i32 -1>, <2 x i32> <i32 0, i32 1>
%div = udiv <2 x i32> <i32 42, i32 -7>, %sel
ret <2 x i32> %div
}
```
In this case, `threadBinOpOverSelect` folds `udiv <i32 42, i32 -7>, <i32
-1, i32 -1>` and `udiv <i32 42, i32 -7>, <i32 0, i32 1>` into
`zeroinitializer` and `poison`, respectively. One solution is to
introduce a new flag indicating that we are threading over a vector
select. But it requires to modify both `InstSimplify` and
`ConstantFold`.
However, this optimization doesn't provide benefits to real-world
programs:
https://dtcxzyw.github.io/llvm-opt-benchmark/coverage/data/zyw/opt-ci/actions-runner/_work/llvm-opt-benchmark/llvm-opt-benchmark/llvm/llvm-project/llvm/lib/IR/ConstantFold.cpp.html#L908
https://dtcxzyw.github.io/llvm-opt-benchmark/coverage/data/zyw/opt-ci/actions-runner/_work/llvm-opt-benchmark/llvm-opt-benchmark/llvm/llvm-project/llvm/lib/Analysis/InstructionSimplify.cpp.html#L1107
This patch moves the fold into InstCombine to avoid breaking numerous
existing tests.
Fixes #114191 and #113866 (only poison-safety issue).
Commit: 58f525a23ca44f1acdb80ff803fb7b95acf8c7d3
https://github.com/llvm/llvm-project/commit/58f525a23ca44f1acdb80ff803fb7b95acf8c7d3
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
[RISCV] Add tests for deinterleave shuffles w/o vnsrl.vv
With SEW=64, the vnsrl trick we primary rely on does not work. This
is handled correctly today, but we have fairly minimal testing of the
resulting shuffles which makes it hard to demonstrate value of an
upcoming change.
Commit: b74e588e1f460eb48ceb1a30cf8ac870b7537dcc
https://github.com/llvm/llvm-project/commit/b74e588e1f460eb48ceb1a30cf8ac870b7537dcc
Author: peterbell10 <peterbell10 at openai.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
A llvm/test/CodeGen/NVPTX/i8x2-instructions.ll
Log Message:
-----------
[NVPTX] Don't use stack memory when bitcasting to/from v2i8 (#113928)
`v2i8` is an unsupported type, so we hit the default legalization rules
which perform the bitcast in stack memory and is very inefficient on
GPU.
This adds a custom lowering where we pack `v2i8` into `i16` and from
there use another bitcast node to reach the final desired type. And also
the inverse unpacking `i16` into `v2i8`.
Commit: 3494ee95902cef62f767489802e469c58a13ea04
https://github.com/llvm/llvm-project/commit/3494ee95902cef62f767489802e469c58a13ea04
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
Log Message:
-----------
Reapply [APInt] Enable APInt ctor assertion by default (#114539)
This enables the assertion introduced in
https://github.com/llvm/llvm-project/pull/106524, which checks that the
value passed to the constructor is indeed a valid N-bit signed or
unsigned integer.
Places that previously violated the assertion were updated in advance,
e.g. in https://github.com/llvm/llvm-project/pull/80309.
It is possible to opt-out of the check and restore the previous behavior
by setting implicitTrunc=true.
-----
The buildbot failures from the previous attempt should be fixed by
a18dd29077c84fc076a4ed431d9e815a3d0b6f24 and
e2074c60bb3982cd8afb6408670332ea27da6383.
Commit: 19f2f67928650c998202a8b6ae14fd1091f43bf5
https://github.com/llvm/llvm-project/commit/19f2f67928650c998202a8b6ae14fd1091f43bf5
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/include/llvm/Object/WindowsMachineFlag.h
M llvm/include/llvm/ObjectYAML/COFFYAML.h
M llvm/lib/Object/COFFObjectFile.cpp
M llvm/lib/ObjectYAML/COFFYAML.cpp
A llvm/test/tools/yaml2obj/COFF/basic-mips.yaml
Log Message:
-----------
[yaml2obj][obj2yaml][objdump] Handle MIPS COFF files (#112591)
- handle IMAGE_FILE_MACHINE_R4000 machine type
- handle MIPS COFF relocations
llvm-objdump can now parse MIPS COFF files.
Commit: e083a33478b2d570c89d7a9d9f05328b9232c072
https://github.com/llvm/llvm-project/commit/e083a33478b2d570c89d7a9d9f05328b9232c072
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
A libc/config/linux/i386/entrypoints.txt
A libc/config/linux/i386/headers.txt
A libc/src/__support/OSUtil/linux/i386/CMakeLists.txt
A libc/src/__support/OSUtil/linux/i386/vdso.h
Log Message:
-----------
[libc][cmake] make i386 distinct from x86_64 (#114477)
Configured via:
$ cmake ../runtimes -G Ninja -DLLVM_ENABLE_LLD=ON \
-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RUNTIMES="libc" \
-DLIBC_TARGET_TRIPLE=i386-linux-gnu -DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++
Link: #93709
Commit: d97bc388fd9ef8bc38353f93ff42d894ddc4a271
https://github.com/llvm/llvm-project/commit/d97bc388fd9ef8bc38353f93ff42d894ddc4a271
Author: Ian Wood <75152913+IanWood1 at users.noreply.github.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M mlir/include/mlir/Analysis/SliceAnalysis.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/test/IR/slice.mlir
M mlir/test/lib/IR/TestSlicing.cpp
Log Message:
-----------
Reapply "Extend getBackwardSlice to track values captured… (#114452)
This commit fixes the failure in the original PR when building with
shared libs. The problem is that `visitUsedValuesDefinedAbove` is
defined in `MLIRTransformUtils`, but that lib depends on this lib
(`MLIRAnalysis`). To fix, I dropped the use of
`visitUsedValuesDefinedAbove` and use `Region::walk` to traverse values
defined above.
Reapplies PR https://github.com/llvm/llvm-project/pull/113478
Reverts PR https://github.com/llvm/llvm-project/pull/114432
This reverts commit a9a8351.
Commit: 95fb7f8cb8a5fd6ceabb4d9aca8b0a17829777d1
https://github.com/llvm/llvm-project/commit/95fb7f8cb8a5fd6ceabb4d9aca8b0a17829777d1
Author: David Green <david.green at arm.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] Move FeatureUseFixedOverScalableIfEqualCost with other tuning features. NFC
This was in the with the armv9 architecture extensions.
Commit: 0b0b15309435df19a93fefbc556c57a83da0d3f6
https://github.com/llvm/llvm-project/commit/0b0b15309435df19a93fefbc556c57a83da0d3f6
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
A clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
Log Message:
-----------
[OpenACC] Implement 'reduction' Sema on 'loop' construct
The reduction clause has some minor restrictions on the variable
references that are implementable, so this implements those. Others
require reachability analysis, so this patch documents that we're not
going to do that in the CFE(or at least save it for the MLIR passes).
Commit: d6a150137773bd1d104aa5a1847863a5138f14d9
https://github.com/llvm/llvm-project/commit/d6a150137773bd1d104aa5a1847863a5138f14d9
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
Log Message:
-----------
[lldb] Skip TestDAP_completions on older versions of libcxx
Commit: 69edef1ab9a2357b0e4fc2e245cf9c70177795d0
https://github.com/llvm/llvm-project/commit/69edef1ab9a2357b0e4fc2e245cf9c70177795d0
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[DAG] Simplify control flow in SelectionDAGBuilder::visitShuffleVector [NFC]
If we've handled ==, and < above, the only case left can be >. We don't
need to branch on this, and can instead assert and reduce indentation,
and simplify reasoning about the fallthrough path.
Commit: ea33af63def2aff8a8ca13331dd99ac9541b2ce9
https://github.com/llvm/llvm-project/commit/ea33af63def2aff8a8ca13331dd99ac9541b2ce9
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
Log Message:
-----------
Reapply "[AMDGPU][GlobalISel] Fix load/store of pointer vectors, buffer.*.pN (#110714)" v3 (#114443)
This reverts commit 8a849a2a567d4e519b246a16936b6e7519936d4b.
It seems I missed a spot when trying to ensure the code in the
instruction selection tests were actually legalized MIR.
Commit: 10a1ea9b53647c1511d3cce8fa7637f8ffdb39b5
https://github.com/llvm/llvm-project/commit/10a1ea9b53647c1511d3cce8fa7637f8ffdb39b5
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
[NFC][AMDGPU] Remove the empty FPM as well as the adaptor to MPM (#114558)
Commit: a6e72f93923378bffe13367f6dedd526ad39b184
https://github.com/llvm/llvm-project/commit/a6e72f93923378bffe13367f6dedd526ad39b184
Author: Manupa Karunaratne <manupa.karunaratne at amd.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Vector/Transforms/LowerVectorStep.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR][Vector] Add Lowering for vector.step (#113655)
Currently, the lowering for vector.step lives
under a folder. This is not ideal if we want
to do transformation on it and defer the
materizaliztion of the constants much later.
This commits adds a rewrite pattern that
could be used by using
`transform.structured.vectorize_children_and_apply_patterns`
transform dialect operation.
Moreover, the rewriter of vector.step is also
now used in -convert-vector-to-llvm pass where
it handles scalable and non-scalable types as
LLVM expects it.
As a consequence of removing the vector.step
lowering as its folder, linalg vectorization
will keep vector.step intact.
Commit: b57b3f64253a57831a5e5f4e6557d2f9cb01d017
https://github.com/llvm/llvm-project/commit/b57b3f64253a57831a5e5f4e6557d2f9cb01d017
Author: c8ef <c8ef at outlook.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
M clang/test/SemaCXX/ext-vector-type-conditional.cpp
M clang/test/SemaCXX/vector-size-conditional.cpp
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
M libc/docs/gpu/rpc.rst
M llvm/include/llvm/MCA/HardwareUnits/LSUnit.h
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Target/X86/X86.h
M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
M openmp/runtime/src/kmp_stats.h
Log Message:
-----------
[NFC] Simple typo correction. (#114548)
Commit: faa385a9f4d164791e2400f3f53e9c021114f52b
https://github.com/llvm/llvm-project/commit/faa385a9f4d164791e2400f3f53e9c021114f52b
Author: Luke Lau <luke at igalia.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
Log Message:
-----------
[RISCV] Add tests for length changing shuffles
Tests taken from Luke's 88147 with minimal changes by me (preames).
The main case of interest here is when mask length is less than source
length (i.e. length is decreasing). We often scalarize these, which
on RISCV can be quite painful.
Commit: 64314dedebfcb03cc5bdc819513218304c892863
https://github.com/llvm/llvm-project/commit/64314dedebfcb03cc5bdc819513218304c892863
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
M llvm/test/Transforms/Inline/inline-cost-annotation-pass.ll
Log Message:
-----------
[InlineCost] Print inline cost for invoke call sites as well (#114476)
Previously InlineCostAnnotationPrinter only prints inline cost for call
instructions. I don't think there is any reason not to analyze invoke
and its callee, and this patch adds such support.
Commit: d301b59b7b4582b0119281308e86b7c0b3f77a54
https://github.com/llvm/llvm-project/commit/d301b59b7b4582b0119281308e86b7c0b3f77a54
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libcxx/include/__functional/hash.h
Log Message:
-----------
[libc++][NFC] Add a static assertion to document an assumption in std::hash (#114440)
The implementation of std::hash for unsigned long makes the (correct)
assumption that size_t is at least as large as unsigned long. If that
were not the case on a platform, the implementation of std::hash for
unsigned long would be absolutely terrible. Add a static assertion to
document that assumption.
Commit: 8e61aaa0211a7d064139f29bebba833b7f3d1d18
https://github.com/llvm/llvm-project/commit/8e61aaa0211a7d064139f29bebba833b7f3d1d18
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/commute-frame-index-operand.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
Log Message:
-----------
AMDGPU: Fix illegal commute with frame index (#114497)
In ca409892c5396fa3fbb8ea4dbf53d0e952f36d09, frame indexes started
being treated more like registers, rather than immediates. Update
the commute logic to avoid failing the verifier by moving illegal
SGPR operands in place of a frame index.
Commit: 718d50d6d03449962b14a3c8357a6ee3fa145f36
https://github.com/llvm/llvm-project/commit/718d50d6d03449962b14a3c8357a6ee3fa145f36
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
Log Message:
-----------
[VectorCombine] foldPermuteOfBinops - prefer the new fold for matching costs.
Minor tweak to #114101 - as we're reducing the instruction count, we should prefer the fold if the old/new costs are the same.
Commit: b278fe3297557c8db492e2d90b4ea9fe683fa479
https://github.com/llvm/llvm-project/commit/b278fe3297557c8db492e2d90b4ea9fe683fa479
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M flang/include/flang/Runtime/assign.h
M flang/runtime/assign.cpp
Log Message:
-----------
[flang][runtime][NFC] Allow different memmove function in assign (#114301)
- Add a parameter to the `Assign` function to be able to use a different
`memmove` function. This is preparatory work to be able to use the
`Assign` function between host and device data.
- Expose the `Assign` function so it can be used from different files.
- The new `memmoveFct` is not used in `BlankPadCharacterAssignment` yet
since it is not clear if there is a need. It will be updated in case it
is needed.
Commit: 841227a5d9326dd99fb8ac8d26ded9a3c56dd46d
https://github.com/llvm/llvm-project/commit/841227a5d9326dd99fb8ac8d26ded9a3c56dd46d
Author: Lang Hames <lhames at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_associative_dead_strip.test
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s
Log Message:
-----------
Re-apply "Revert "[JITLink] Use MapVector to stabilize iteration.."" with fixes.
This re-applies 244ea406259, which was reverted in 0019d061854 while I
investigated a bot failure. The fix for the failure will be committed as a
follow-up.
Commit: f04aaf948204068276f57dbcba5734c53382c7e2
https://github.com/llvm/llvm-project/commit/f04aaf948204068276f57dbcba5734c53382c7e2
Author: Lang Hames <lhames at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
Log Message:
-----------
[ORC][ELF] Process .init_array sections in priority order.
Fixes compiler-rt/test/orc/TestCases/Linux/x86-64/priority-static-initializer.S
testcase after 244ea406259. This testcase had been succeeding because the
definition order of the .init_array sections in the testcase matched their
priorities, but began failing once 244ea406259 removed that guarantee. The
proper fix is to visit the .init_array sections according to their priority
order, regardless of how they're defined in the file.
This fixes the single-file testcase, but I think that ELFNixPlatform will need
to be extended to make priorities work correctly across file boundaries.
Commit: c5a254cdd75f22357dc9ba2f1293485e8b66c172
https://github.com/llvm/llvm-project/commit/c5a254cdd75f22357dc9ba2f1293485e8b66c172
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M flang/include/flang/Runtime/assign.h
M flang/runtime/assign.cpp
Log Message:
-----------
Revert "[flang][runtime][NFC] Allow different memmove function in assign" (#114581)
Reverts llvm/llvm-project#114301
Commit: c0a1597029385686942c7cbccb4e998c4b2ab6ef
https://github.com/llvm/llvm-project/commit/c0a1597029385686942c7cbccb4e998c4b2ab6ef
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
Log Message:
-----------
[mlir][acc] Consistency between acc.loop and acc compute ops (#114549)
- GangPrivate and GangFirstPrivate renamed to just Private and
Firstprivate respectively. This is makes compute ops consistent with the
loop op (and also with the acc spec wording for the clause).
- Added getBody to all compute ops
- Verifier for firstprivate ops / recipes is enabled
Commit: f33b5b79372c7a46e2e6b89a314bce0009bf4ab7
https://github.com/llvm/llvm-project/commit/f33b5b79372c7a46e2e6b89a314bce0009bf4ab7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
Log Message:
-----------
[lldb] INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P
INSTANTIATE_TEST_CASE_P is deprecated in favor of
INSTANTIATE_TEST_SUITE_P.
Commit: 16a6c10bd485979ba2edf4b487d633230a9df01f
https://github.com/llvm/llvm-project/commit/16a6c10bd485979ba2edf4b487d633230a9df01f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
Log Message:
-----------
[lldb] Fix warning: comparison of integers of different signs
Commit: c3782f67daf462f6b289b5898cb65c61f64c197d
https://github.com/llvm/llvm-project/commit/c3782f67daf462f6b289b5898cb65c61f64c197d
Author: Alex Langford <alangford at apple.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M lldb/test/API/commands/session/save/TestSessionSave.py
Log Message:
-----------
[lldb] Disable automatically opening editor for TestSessionSave (#114469)
Commit: 8634e358eb3b52d9cf0c59f51d090bdfc5e6898c
https://github.com/llvm/llvm-project/commit/8634e358eb3b52d9cf0c59f51d090bdfc5e6898c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
Log Message:
-----------
[AArch64][ARM] Avoid some APFloat copies in tablegen patterns. NFC. (#114416)
Either the N->getValueAPF() was being unused or we were failing to make use of it returning a const APFloat&
Commit: 0cfcd387f968f2c9de0648673b5db9e221e5c84e
https://github.com/llvm/llvm-project/commit/0cfcd387f968f2c9de0648673b5db9e221e5c84e
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
M lldb/test/Shell/SymbolFile/NativePDB/global-ctor-dtor.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
Log Message:
-----------
[lldb][NativePDB] Parse global variables. (#114303)
This doesn't parse S_CONSTANT case yet, because I found that the global
variable `std::strong_ordering::equal` is a S_CONSTANT and has type of
LF_STRUCTURE which is not currently handled when creating dwarf
expression for the variable. Left a TODO for it to finish later.
This makes `lldb/test/Shell/SymbolFile/PDB/ast-restore.test` and
`lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test` pass on
windows with native pdb plugin only.
Commit: 7792dbe29a07bd7608281f11b01b8e729f3c9594
https://github.com/llvm/llvm-project/commit/7792dbe29a07bd7608281f11b01b8e729f3c9594
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/runtime/assign.cpp
Log Message:
-----------
Reland '[flang][runtime] Allow different memmov function in assign' (#114587)
Reland #114301
Commit: 88a0a318e80565fef9367728b878641d261acfb6
https://github.com/llvm/llvm-project/commit/88a0a318e80565fef9367728b878641d261acfb6
Author: lntue <lntue at google.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libc/include/gpu/rpc.h.def
M libc/include/llvm-libc-macros/containerof-macro.h
M libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/include/llvm-libc-types/__mutex_type.h
M libc/include/llvm-libc-types/cnd_t.h
M libc/include/llvm-libc-types/cookie_io_functions_t.h
M libc/include/llvm-libc-types/fd_set.h
M libc/include/llvm-libc-types/mtx_t.h
M libc/include/llvm-libc-types/once_flag.h
M libc/include/llvm-libc-types/pthread_attr_t.h
M libc/include/llvm-libc-types/pthread_mutex_t.h
M libc/include/llvm-libc-types/pthread_once_t.h
M libc/include/llvm-libc-types/pthread_rwlock_t.h
M libc/include/llvm-libc-types/pthread_spinlock_t.h
M libc/include/llvm-libc-types/pthread_t.h
M libc/include/llvm-libc-types/siginfo_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/stack_t.h
M libc/include/llvm-libc-types/struct_dirent.h
M libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/llvm-libc-types/struct_f_owner_ex.h
M libc/include/llvm-libc-types/struct_flock.h
M libc/include/llvm-libc-types/struct_flock64.h
M libc/include/llvm-libc-types/struct_rlimit.h
M libc/include/llvm-libc-types/struct_rusage.h
M libc/include/llvm-libc-types/struct_sched_param.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/include/llvm-libc-types/struct_sockaddr_un.h
M libc/include/llvm-libc-types/struct_stat.h
M libc/include/llvm-libc-types/struct_termios.h
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/struct_timeval.h
M libc/include/llvm-libc-types/thrd_t.h
M libc/include/sys/auxv.h.def
M libc/include/sys/epoll.h.def
M libc/include/sys/ioctl.h.def
M libc/include/sys/mman.h.def
M libc/include/sys/queue.h
M libc/include/sys/random.h.def
M libc/include/sys/resource.h.def
M libc/include/sys/select.h.def
M libc/include/sys/socket.h.def
M libc/include/sys/stat.h.def
M libc/include/sys/time.h.def
M libc/include/sys/wait.h.def
M libc/utils/gpu/loader/Loader.h
Log Message:
-----------
[libc] Use relative inclusion for public headers. (#114324)
We are finalizing the header inclusion policy, and for our public
headers in the `libc/include` folder, they must use relative path in
`"..."` when including each other.
This PR does the cleanup making sure that all the public header
inclusions in `libc/include` folder use relative paths.
---------
Co-authored-by: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Commit: 339c788fd0b1427153db287883d276e279073820
https://github.com/llvm/llvm-project/commit/339c788fd0b1427153db287883d276e279073820
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
Log Message:
-----------
[libc++] Add missing include
Commit: 5445edb5d6667333f829f03932c2fc6a607e8306
https://github.com/llvm/llvm-project/commit/5445edb5d6667333f829f03932c2fc6a607e8306
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[PassBuilder] Replace `bool LTOPreLink` with `ThinOrFullLTOPhase Phase` (#114564)
This will allow more fine-grained control in the future.
Commit: a795a18bbae1800d8ee6b2eb23bc2a454a1269ef
https://github.com/llvm/llvm-project/commit/a795a18bbae1800d8ee6b2eb23bc2a454a1269ef
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
Log Message:
-----------
[SLP][REVEC] VF should be scaled when ScalarTy is FixedVectorType. (#114551)
Commit: cd340a49570a5da13b98a866b8165999e9840668
https://github.com/llvm/llvm-project/commit/cd340a49570a5da13b98a866b8165999e9840668
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M mlir/include/mlir/Dialect/Ptr/IR/PtrOps.td
Log Message:
-----------
[mlir][Ptr] Fix license url typo (#114555)
Commit: 1a187674a116518e3c79f21df40cdb2ddf5ca312
https://github.com/llvm/llvm-project/commit/1a187674a116518e3c79f21df40cdb2ddf5ca312
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/locale
M libcxx/test/libcxx/clang_modules_include.gen.py
Log Message:
-----------
[libc++] Use proper functions instead of macros in bsd_locale_defaults.h (#113759)
We were using macros instead of functions, leading to the inability to
properly qualify calls to those symbols inside <locale>. This is also a
step towards making the locale API modules-correct.
Commit: 32473864cb4631780095e25a0378663b98a11188
https://github.com/llvm/llvm-project/commit/32473864cb4631780095e25a0378663b98a11188
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M flang/runtime/CUDA/memory.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
[flang][cuda] Data transfer with descriptor (#114598)
Reopen PR #114302 as it was automatically closed.
Review in #114302
Commit: 308c00749ddb76b2e77934e986001b7fd4ad5cdc
https://github.com/llvm/llvm-project/commit/308c00749ddb76b2e77934e986001b7fd4ad5cdc
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix format
Commit: b24650e814e55d90acfc40acf045456c98f32b9c
https://github.com/llvm/llvm-project/commit/b24650e814e55d90acfc40acf045456c98f32b9c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ast-dump-decl.cpp
A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
A clang/test/ASTMerge/class-template-spec/test.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
Log Message:
-----------
Reapply "[Clang][Sema] Always use latest redeclaration of primary template" (#114569)
This patch reapplies #114258, fixing an infinite recursion bug in
`ASTImporter` that occurs when importing the primary template of a class
template specialization when the latest redeclaration of that template
is a friend declaration in the primary template.
Commit: 57183b6fe11ae4c8d1b3e8d4bc8da5faff564799
https://github.com/llvm/llvm-project/commit/57183b6fe11ae4c8d1b3e8d4bc8da5faff564799
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/stacksaverestore.ll
Log Message:
-----------
[NVPTX] Add support for stacksave, stackrestore intrinsics (#114484)
Add support for the '`@llvm.stacksave`' and '`@llvm.stackrestore`'
intrinsics to NVPTX. These are implemented with the `stacksave` and
`stackrestore` PTX instructions respectively.
See [PTX ISA 9.7.17. Stack Manipulation Instructions]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#stack-manipulation-instructions).
Commit: 2bd21b26e26e5a4b962307d30c8e6279b464bf02
https://github.com/llvm/llvm-project/commit/2bd21b26e26e5a4b962307d30c8e6279b464bf02
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
Log Message:
-----------
[lldb] Improve command status when dwim-print has no result (#114478)
When an expression produces no result, set `dwim-print` status to
`eReturnStatusSuccessFinishNoResult`.
Commit: 21895a84cf466f0a0632cfca0175f7e617a6dd5a
https://github.com/llvm/llvm-project/commit/21895a84cf466f0a0632cfca0175f7e617a6dd5a
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libc/src/__support/big_int.h
Log Message:
-----------
[libc] rename LLVM_LIBC_SRC___SUPPORT_UINT_H to LLVM_LIBC_SRC___SUPPORT_BIG_INT_H for consistent naming (#114592)
Fixes #114572
Commit: 17bad1a9da228ade0c0b9b020ee99769b188d9b3
https://github.com/llvm/llvm-project/commit/17bad1a9da228ade0c0b9b020ee99769b188d9b3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
Log Message:
-----------
[LV] Bail out on header phis in shouldConsiderInvariant.
This fixes an infinite recursion in rare cases.
Fixes https://github.com/llvm/llvm-project/issues/113794.
Commit: f54cdc5d6ee5532da117f2489c105148c94dcb39
https://github.com/llvm/llvm-project/commit/f54cdc5d6ee5532da117f2489c105148c94dcb39
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
A mlir/test/Dialect/Vector/int-range-interface.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] IntegerRangeAnalysis: add support for vector type (#112292)
Treat integer range for vector type as union of ranges of individual
elements. With this semantics, most arith ops on vectors will work out
of the box, the only special handling needed for constants and vector
elements manipulation ops.
The end goal of these changes is to be able to optimize vectorized index
calculations.
Commit: c1df376b0c8b3edbb6c5ad3fb6ebf39e75b5ad88
https://github.com/llvm/llvm-project/commit/c1df376b0c8b3edbb6c5ad3fb6ebf39e75b5ad88
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s
Log Message:
-----------
[LLDB] Finish implementing support for DW_FORM_data16 (#113508)
This FORM already has support within LLDB to be parsed as a 16-byte
BLOCK, and all that is left to properly support it in the DWARFParser is
to add it to some enums.
With this, I can debug programs that use libstdc++.so.6.0.33 built with
GCC.
Commit: e549ec529c0c39cfa2fdf4ab919de406a0ef89cb
https://github.com/llvm/llvm-project/commit/e549ec529c0c39cfa2fdf4ab919de406a0ef89cb
Author: Thurston Dang <thurston at google.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_tbl.ll
Log Message:
-----------
[msan] Add handleIntrinsicByApplyingToShadow; support NEON tbl/tbx (#114490)
This adds a general function that handles intrinsics by applying the
intrinsic to the shadows, and applies it to the specific case of Arm
NEON TBL/TBX intrinsics.
This also updates the tests from
https://github.com/llvm/llvm-project/pull/114462
Commit: acd04c2e1861dda155ca0244b5d74141a2c036b8
https://github.com/llvm/llvm-project/commit/acd04c2e1861dda155ca0244b5d74141a2c036b8
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libc/test/CMakeLists.txt
M libc/test/include/CMakeLists.txt
Log Message:
-----------
[libc][cmake] disable include tests in overlay mode (#114566)
This avoids -Wmacro-redefinition diagnostics observed when building the
libc_include_tests ninja target.
For example, the signbit_test will attempt to include BOTH our math-macros.h
(via math-function-macros.h), and the system's math.h (via hdr/math_macros.h).
While it's nice that we can get some coverage of the headers we will provide to
end users of fullbuilds in CI of overlay builds, it's not worth chasing each
individual conflict and disabling some include tests as conflicts arise.
Disable the include tests unless `-DLLVM_LIBC_FULL_BUILD=ON` is specified.
Commit: 083369fd99ef1094c1058b8112712d3589a0e8fa
https://github.com/llvm/llvm-project/commit/083369fd99ef1094c1058b8112712d3589a0e8fa
Author: vporpo <vporpodas at google.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Per opcode checks (#114145)
This patch adds more opcode-specific legality checks.
Commit: 89560cd612aebd20c0da1a6f8b25271f27550fc1
https://github.com/llvm/llvm-project/commit/89560cd612aebd20c0da1a6f8b25271f27550fc1
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libc/test/include/CMakeLists.txt
Log Message:
-----------
[libc] disable failing include tests (#114619)
These are failing to link for some buildbots. It's not immediately clear
why,
disable these and add a todo to investigate.
Link: #111403
Link: #114566
Link: #114618
Commit: 80b9f07436617d650bdab7035394705f643d1b19
https://github.com/llvm/llvm-project/commit/80b9f07436617d650bdab7035394705f643d1b19
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Suppress leak in test (#114624)
Probably needs a better fix. #114623
Commit: 9a450a0096befc91bc947db6410d4c640c3d97cd
https://github.com/llvm/llvm-project/commit/9a450a0096befc91bc947db6410d4c640c3d97cd
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
A lld/test/wasm/lto/Inputs/thinlto_empty.ll
A lld/test/wasm/lto/obj-path.ll
M lld/test/wasm/lto/parallel.ll
A lld/test/wasm/lto/thinlto-index-only.ll
M lld/test/wasm/lto/thinlto.ll
M lld/wasm/CMakeLists.txt
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/LTO.cpp
M lld/wasm/LTO.h
M lld/wasm/Options.td
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Implement various thinlto flags (#114327)
The changes in this PR (both in the code and the tests) are largely
copied directly from the ELF linker.
Partial fix for #79604.
Commit: 8ff60c4d47530bb5e86cb6ba46aeaf2af770d57f
https://github.com/llvm/llvm-project/commit/8ff60c4d47530bb5e86cb6ba46aeaf2af770d57f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/flo.ll
Log Message:
-----------
[NVPTX] Add support for nvvm.flo.[us] intrinsics (#114489)
Add support for '`llvm.nvvm.flo.[su].*`' intrinsics which correspond to
a PTX `bfind` instruction.
See [PTX ISA 9.7.1.16. Integer Arithmetic Instructions: bfind]
(https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#integer-arithmetic-instructions-bfind)
The '`llvm.nvvm.flo.u`' family of intrinsics identifies the bit position
of the leading one, returning either it's offset from the most or least
significant bit.
The '`llvm.nvvm.flo.s`' family of intrinsics identifies the bit position
of the leading non-sign bit, returning either it's offset from the most
or least significant bit.
Commit: c8209943faeead43c6932c5ddcc69c9e9d1e4262
https://github.com/llvm/llvm-project/commit/c8209943faeead43c6932c5ddcc69c9e9d1e4262
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M lldb/include/lldb/Target/PathMappingList.h
M lldb/source/Target/PathMappingList.cpp
Log Message:
-----------
[lldb] Improve locking in PathMappingLists (NFC) (#114576)
In [D148380](https://reviews.llvm.org/D148380), Alex added locking to
PathMappingLists. The current implementation runs the callback under the
lock, which I don't believe is necessary. As far as I can tell, no users
of the callback are relying on the list not having been modified until
the callback is handled.
This patch implements my suggestion to unlock the mutex before the
callback. I also switched to a non-recursive mutex as I don't believe
the recursive property is needed. To make the class fully thread safe, I
did have to introduce another mutex to protect the callback members.
The motivation for this change is #114507. Specifically,
Target::SetExecutableModule calls Target::GetOrCreateModule, which
potentially performs path remapping, which in turns has a callback to
Target::SetExecutableModule.
Commit: df78e6b872ca9486544005d45e6aff174013db13
https://github.com/llvm/llvm-project/commit/df78e6b872ca9486544005d45e6aff174013db13
Author: Lang Hames <lhames at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp
Log Message:
-----------
[JITLink] Don't return errors from pointer and jump stub creators.
Creation of pointers and jump stubs always succeeds for all existing JITLink
backends, and I haven't been able to think of a scenario where it would fail.
(Pointer / stub *fixup* may fail due to range errors, but that will happen
later and the APIs already account for it).
Commit: 0812cde3bfa3ec5cde213a3de8fd36d3afab4049
https://github.com/llvm/llvm-project/commit/0812cde3bfa3ec5cde213a3de8fd36d3afab4049
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
Log Message:
-----------
NFC: Make isPPC64 const and use member initializer
Commit: c2a892f49ae0603949db88aacab7bbc11117aa52
https://github.com/llvm/llvm-project/commit/c2a892f49ae0603949db88aacab7bbc11117aa52
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
R clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
Revert "[clang][bytecode] Implement bitcasts to floating-point values (#114485)"
This reverts commit c752efbdcc1ebd81f879633d6b798248064e2ae2.
This broke bots:
- https://lab.llvm.org/buildbot/#/builders/13/builds/3268
- https://lab.llvm.org/buildbot/#/builders/42/builds/1718
Commit: decf88d3e962ae78d65997e14be52ea6537ea98a
https://github.com/llvm/llvm-project/commit/decf88d3e962ae78d65997e14be52ea6537ea98a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
A llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
Log Message:
-----------
[gn] port eeee5a44bbf2 (clang-sycl-linker)
Also port follow-up 0d499f9043fed14.
Commit: cecb3c4ad7b6656b0cc731545bec429514a8edba
https://github.com/llvm/llvm-project/commit/cecb3c4ad7b6656b0cc731545bec429514a8edba
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CGData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CGData/BUILD.gn
Log Message:
-----------
[gn build] Port 7ec26b23f27f
Commit: 9adf50c17948a8722905f82495f757dcc70d8c1c
https://github.com/llvm/llvm-project/commit/9adf50c17948a8722905f82495f757dcc70d8c1c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port c72a751dabff
Commit: a6fc677f104bb46e3682fd672696fbee8d1f5209
https://github.com/llvm/llvm-project/commit/a6fc677f104bb46e3682fd672696fbee8d1f5209
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[gn build] Port ef2a104c94a8
Commit: 6ca816f88d5f0f2032d1610207023133eaf40a1e
https://github.com/llvm/llvm-project/commit/6ca816f88d5f0f2032d1610207023133eaf40a1e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression in parsing `switch` in macro call (#114506)
Fixes #114408.
Commit: 4d3c427f339562b73938296d77103baf9ab9dc4b
https://github.com/llvm/llvm-project/commit/4d3c427f339562b73938296d77103baf9ab9dc4b
Author: Mirko <mirkomueller97 at live.de>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/CodeGen/LiveRangeShrink.cpp
A llvm/test/CodeGen/X86/lrshrink-ehpad-phis.ll
Log Message:
-----------
[CodeGen] Use first EHLabel as a stop gate for live range shrinking (#114195)
This fixes issue #114194
The issue happens during the `LiveRangeShrink` pass, which runs early,
before phi elimination. LandingPads, which are lowered to EHLabels, need
to be the first non phi instruction in an EHPad. In case of a phi node
being in front of the EHLabel and a use being after the EHLabel, we
hoist the use in front of the label.
This results in a portion of the landingpad missing due to being hoisted
in front of the label.
Commit: 890c4bece26e005cd9fa5511fe0efa7307794de5
https://github.com/llvm/llvm-project/commit/890c4bece26e005cd9fa5511fe0efa7307794de5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] Use SmallVector for InlinedCallStack (NFC) (#114599)
We can stay within 8 inlined elements more than 99% of the time while
building a large application.
Commit: 1d657cfeac4a040acfff249d43ca6987b8a05281
https://github.com/llvm/llvm-project/commit/1d657cfeac4a040acfff249d43ca6987b8a05281
Author: Lang Hames <lhames at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
Log Message:
-----------
[ORC] Initialize native target in JITLinkRedirectionManagerTest test fixture.
The native target must be initialized here otherwise the test will be skipped
unless some prior test happens to initialize it. Failure to initialize the
native target was causing the test to be skipped when --gtest_filter was used.
Commit: 529c091381a4d34796b5d0f0f2f5bd17c8a6647e
https://github.com/llvm/llvm-project/commit/529c091381a4d34796b5d0f0f2f5bd17c8a6647e
Author: Lang Hames <lhames at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC] Simplify JITLinkRedirectableSymbolManager, fix definition locations.
Redirectable stubs should be placed in the same JITDylib as their names, with
their lifetimes managed according to the ResourceTracker used when adding them.
The original implementation created a single pool of stubs in the JITDylib
that is passed to the JITLinkRedirectableSymbolManager constructor, but this
may cause the addresses of the redirectable symbols themselves (added to the
JITDylibs passed to createRedirectableSymbols) to appear outside the address
range of their defining JITDylib.
This patch fixes the issue by dropping the pool and emitting a new graph for
each set of requested redirectable symbols. We lose the ability to recycle
stubs, but gain the ability to free them entirely. Since we don't expect stub
reuse to be a common case this is likely the best trade-off.
If in the future we do need to return to a stub pool we should create a
separate one for each JITDylib to ensure that addresses behave as expected.
Commit: 3fb4b6f0521c923fd3b925106b12847ccf40864c
https://github.com/llvm/llvm-project/commit/3fb4b6f0521c923fd3b925106b12847ccf40864c
Author: Lang Hames <lhames at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
Log Message:
-----------
[ORC] Rename "TargetJD" parameter of redirect method to just "JD". NFC.
In JITLinkRedirectableSymbolManager::redirect we no longer need to disambiguate
between the JD for the redirectable symbols and the one for the corresponding
stubs (they're the same as of 529c091381a). Renaming it brings the parameter
name into line with the one used in the base class's redirect method.
Commit: 33bdb53d864e3e244d8fd5649062f17b7d4c958d
https://github.com/llvm/llvm-project/commit/33bdb53d864e3e244d8fd5649062f17b7d4c958d
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/stdlib_macros.h
A libc/hdr/stdlib_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/div_t.h
A libc/hdr/types/ldiv_t.h
A libc/hdr/types/lldiv_t.h
A libc/hdr/types/size_t.h
M libc/src/__support/CPP/new.cpp
M libc/src/__support/File/dir.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/div.h
M libc/src/stdlib/exit.h
M libc/src/stdlib/free.h
M libc/src/stdlib/ldiv.h
M libc/src/stdlib/lldiv.h
M libc/src/stdlib/malloc.h
M libc/src/stdlib/qsort.h
M libc/src/stdlib/qsort_r.h
M libc/src/stdlib/rand.h
M libc/src/stdlib/srand.h
M libc/src/string/CMakeLists.txt
M libc/src/string/strdup.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/getcwd.cpp
M libc/test/src/__support/File/CMakeLists.txt
M libc/test/src/__support/File/file_test.cpp
M libc/test/src/__support/str_to_float_comparison_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/_Exit_test.cpp
M libc/test/src/stdlib/abort_test.cpp
M libc/test/src/stdlib/bsearch_test.cpp
M libc/test/src/stdlib/div_test.cpp
M libc/test/src/stdlib/ldiv_test.cpp
M libc/test/src/stdlib/lldiv_test.cpp
M libc/test/src/stdlib/qsort_r_test.cpp
M libc/test/src/stdlib/rand_test.cpp
M libc/test/src/string/CMakeLists.txt
M libc/test/src/string/strdup_test.cpp
M libc/test/src/string/strlcat_test.cpp
M libc/test/src/string/strlcpy_test.cpp
M libc/test/src/string/strndup_test.cpp
Log Message:
-----------
[libc] Remove the #include <stdlib.h> header (#114453)
Commit: 78bfcc5932fd0a39b61fe812ebed9d2f3957070b
https://github.com/llvm/llvm-project/commit/78bfcc5932fd0a39b61fe812ebed9d2f3957070b
Author: Fangrui Song <i at maskray.me>
Date: 2024-11-01 (Fri, 01 Nov 2024)
Changed paths:
M llvm/include/llvm/MC/MCDXContainerWriter.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
Log Message:
-----------
[MC] Export MCDXContainerObjectWriter
Similar to other ObjectWriter classes.
Commit: fb7bf7a5acc65be44fc546f282942b91472553b3
https://github.com/llvm/llvm-project/commit/fb7bf7a5acc65be44fc546f282942b91472553b3
Author: Kasper Nielsen <kasper0406 at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/test/python/ir/array_attributes.py
Log Message:
-----------
[MLIR,Python] Support converting boolean numpy arrays to and from mlir attributes (#113064)
Currently it is unsupported to:
1. Convert a `MlirAttribute` with type `i1` to a numpy array
2. Convert a boolean numpy array to a `MlirAttribute`
Currently the entire Python application violently crashes with a quite
poor error message https://github.com/pybind/pybind11/issues/3336
The complication handling these conversions, is that `MlirAttribute`
represent booleans as a bit-packed `i1` type, whereas numpy represents
booleans as a byte array with 8 bit used per boolean.
This PR proposes the following approach:
1. When converting a `i1` typed `MlirAttribute` to a numpy array, we can
not directly use the underlying raw data backing the `MlirAttribute` as
a buffer to Python, as done for other types. Instead, a copy of the data
is generated using numpy's unpackbits function, and the result is send
back to Python.
2. When constructing a `MlirAttribute` from a numpy array, first the
python data is read as a `uint8_t` to get it converted to the endianess
used internally in mlir. Then the booleans are bitpacked using numpy's
bitpack function, and the bitpacked array is saved as the
`MlirAttribute` representation.
Please note that I am not sure if this approach is the desired solution.
I'd appreciate any feedback.
Commit: 96d2196f6f73e5712f1df8cd26de8a12c7f24de4
https://github.com/llvm/llvm-project/commit/96d2196f6f73e5712f1df8cd26de8a12c7f24de4
Author: Xi Ruoyao <xry111 at xry111.site>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
A clang/test/Headers/lasxintrin.c
A clang/test/Headers/lsxintrin.c
Log Message:
-----------
[LoongArch][Clang] Add tests for #110834 (#114509)
Commit: f1e1055c84bb7177f3e7d690442f3760326a0ace
https://github.com/llvm/llvm-project/commit/f1e1055c84bb7177f3e7d690442f3760326a0ace
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
Log Message:
-----------
[ValueTracking] Compute known bits from recursive select/phi (#113707)
This patch is inspired by
https://github.com/llvm/llvm-project/pull/113686. I found that it
removes a lot of unnecessary "and X, 1" in some applications that
represent boolean values with int.
Commit: b88505414d47ca267f4df8823309264f78935686
https://github.com/llvm/llvm-project/commit/b88505414d47ca267f4df8823309264f78935686
Author: Xi Ruoyao <xry111 at xry111.site>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
Log Message:
-----------
[LoongArch][clang] Use `signed char` vectors instead of `char` vectors for LSX and LASX builtins (#114510)
`-flax-vector-conversions=none` does not allow an implicit conversion
from `signed char` vector to `char` vector, and we cannot remove
`signed`
from `v16i8` or `v32i8` because doing so will break our expectation with
`-fno-signed-char`. So to make lsxintrin.h and lasxintrin.h work fine
with `-flax-vector-conversions=none`, we must use `signed char` instead
of `char`.
The change is just done via
sed 's/V16c/V16Sc/g' -i BuiltinsLoongArchLSX.def
sed 's/V32c/V32Sc/g' -i BuiltinsLoongArchLASX.def
Depends on #114509. Part of #110834 fix.
Commit: 92daad2eac587cb0592de019cd5f6cbb7c42bb78
https://github.com/llvm/llvm-project/commit/92daad2eac587cb0592de019cd5f6cbb7c42bb78
Author: Xi Ruoyao <xry111 at xry111.site>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
Log Message:
-----------
[LoongArch][Clang] Make the parameter and return value of {x,}vmsknz.b builtins `signed char` vector (#114511)
These builtins operate on int8 vectors, not int16 vectors. So the old
definition does not make any sense.
Depends on #114510. Part of #110834 fix.
Commit: c5eb591257c3c32eefb71d5150be453beea762ec
https://github.com/llvm/llvm-project/commit/c5eb591257c3c32eefb71d5150be453beea762ec
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
Revert "[SelectionDAG] Add preliminary plumbing for `samesign` flag" (#114647)
Crashes on ARM builds
https://lab.llvm.org/buildbot/#/builders/85/builds/2548
```
DAGCombiner.cpp:16157: SDValue (anonymous
namespace)::DAGCombiner::visitFREEZE(SDNode *):
Assertion `DAG.isGuaranteedNotToBeUndefOrPoison(R,
false) && "Can't create node that may be
undef/poison!"' failed.
```
Issue #114648
This reverts commit 19c8475871faee5ebb06281034872a85a2552675.
Commit: 01a103b0b9c449e8dec17950835991757d1c4f88
https://github.com/llvm/llvm-project/commit/01a103b0b9c449e8dec17950835991757d1c4f88
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-phi.ll
M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
Log Message:
-----------
[llvm] Fix __builtin_object_size interaction between Negative Offset … (#111827)
…and Select/Phi
When picking a SizeOffsetAPInt through combineSizeOffset, the behavior
differs if we're going to apply a constant offset that's positive or
negative: If it's positive, then we need to compare the remaining bytes
(i.e. Size
- Offset), but if it's negative, we need to compare the preceding bytes
(i.e. Offset).
Fix #111709
Commit: f467af6696f96bf0b1161f9e2af0050f9ca97519
https://github.com/llvm/llvm-project/commit/f467af6696f96bf0b1161f9e2af0050f9ca97519
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace_hint.pass.cpp
Log Message:
-----------
[libc++][test] add test coverage for `flat_map::emplace_hint` (#113773)
Not all the code path has been exercised by the tests for
`flat_map::emplace_hint`
Adding more test coverage.
At the same time, adding more test cases for `flat_map::emplace`
Commit: 6365ee884903052d086946bb9f43922743631a4a
https://github.com/llvm/llvm-project/commit/6365ee884903052d086946bb9f43922743631a4a
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/Target/X86/X86RegisterInfo.td
Log Message:
-----------
[X86][AMX] Move TPAIRS into PositionOrder 3, NFCI (#114642)
Should solve compile time regression.
Commit: 7603feac78376dbee78af56584c298c7b7e00c78
https://github.com/llvm/llvm-project/commit/7603feac78376dbee78af56584c298c7b7e00c78
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[Documentation] Update parameter and function attribute section in LangRef (#114007)
Update the documentation for parameter and function attributes to
include support for target-dependent string attributes.
Commit: 67c8b0efbe5c783f39556be2ee841441b50600b5
https://github.com/llvm/llvm-project/commit/67c8b0efbe5c783f39556be2ee841441b50600b5
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
[clang][NFC] Remove an unnecessary variable in CheckExprLifetime.cpp
Commit: 917b3d13b558e61885c3db085e27b4a110ce8032
https://github.com/llvm/llvm-project/commit/917b3d13b558e61885c3db085e27b4a110ce8032
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/ARM/dagcombine-drop-flags-freeze.ll
Log Message:
-----------
[SDAG] Intersect poison-generating flags after CSE (#114650)
This patch intersects poison-generating flags after CSE to fix assertion
failure reported in
https://github.com/llvm/llvm-project/pull/112354#issuecomment-2452369552.
Co-authored-by: Antonio Frighetto <me at antoniofrighetto.com>
Commit: 0edaba1b29f8eee011e5fdf387d6c786ec6cb52f
https://github.com/llvm/llvm-project/commit/0edaba1b29f8eee011e5fdf387d6c786ec6cb52f
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
Log Message:
-----------
[clang-tidy] fix crash in altera-id-dependent-backward-branch (#113833)
Add some checks for `nullptr` and change some `dyn_cast` to
`dyn_cast_if_present` to avoid crashes.
Fixes #55408
Commit: 2804762e2643c793d12eeabf422b81f4de80ceea
https://github.com/llvm/llvm-project/commit/2804762e2643c793d12eeabf422b81f4de80ceea
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
[clang][NFC] Use const reference for IndirectLocalPath if possible.
Commit: 8a2113c5c53e527a2d2fd2dbe252d61af8833139
https://github.com/llvm/llvm-project/commit/8a2113c5c53e527a2d2fd2dbe252d61af8833139
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
Reapply "[SelectionDAG] Add preliminary plumbing for `samesign` flag"
Original commit: 19c8475871faee5ebb06281034872a85a2552675
Multiple 2-stage sanitizer buildbots were reporting failures, the issue
has been addressed separately in 29246a92aee87e86cbc2bb64ee520d7385644f34.
Commit: 513923172146ec5452cd4e971f3062f3bb235a2c
https://github.com/llvm/llvm-project/commit/513923172146ec5452cd4e971f3062f3bb235a2c
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M bolt/lib/Core/BinaryFunction.cpp
M bolt/test/X86/pre-aggregated-perf.test
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.h
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_algorithm
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_c++config.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_initializer_list
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_iterator_base
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_stl_pair
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_type_traits
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_vector
A clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang/Maintainers.rst
M clang/bindings/python/tests/cindex/test_access_specifiers.py
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/bindings/python/tests/cindex/test_comment.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_cursor_kind.py
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/bindings/python/tests/cindex/test_exception_specification_kind.py
M clang/bindings/python/tests/cindex/test_file.py
M clang/bindings/python/tests/cindex/test_index.py
M clang/bindings/python/tests/cindex/test_linkage.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_rewrite.py
M clang/bindings/python/tests/cindex/test_source_range.py
M clang/bindings/python/tests/cindex/test_tls_kind.py
M clang/bindings/python/tests/cindex/test_token_kind.py
M clang/bindings/python/tests/cindex/test_tokens.py
M clang/bindings/python/tests/cindex/test_translation_unit.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/bindings/python/tests/cindex/util.py
M clang/docs/AddressSanitizer.rst
M clang/docs/ClangFormat.rst
R clang/docs/ClangFormattedStatus.rst
M clang/docs/ClangLinkerWrapper.rst
A clang/docs/ClangSYCLLinker.rst
A clang/docs/FunctionEffectAnalysis.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
R clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
M clang/include/clang/Basic/BuiltinsX86.def
A clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/Index/USRGeneration.h
M clang/include/clang/Lex/DirectoryLookup.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
A clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/lib/Driver/Types.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/amxfp8intrin.h
M clang/lib/Headers/amxintrin.h
A clang/lib/Headers/amxtransposeintrin.h
M clang/lib/Headers/cmpccxaddintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
A clang/lib/Headers/sm4evexintrin.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
A clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/AST/attr-swift_attr.m
A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
A clang/test/ASTMerge/class-template-spec/test.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
A clang/test/Analysis/Inputs/overloaded-delete-in-header.h
M clang/test/Analysis/array-init-loop.cpp
A clang/test/Analysis/overloaded-delete-in-system-header.cpp
R clang/test/Analysis/ptr-iter.cpp
R clang/test/Analysis/ptr-sort.cpp
M clang/test/CMakeLists.txt
A clang/test/CXX/drs/cwg1884.cpp
M clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg279.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/ClangScanDeps/link-libraries.c
M clang/test/ClangScanDeps/print-timing.c
M clang/test/CodeGen/2004-02-20-Builtins.c
A clang/test/CodeGen/RISCV/attr-hw-shadow-stack.c
A clang/test/CodeGen/X86/amx_fp8.c
A clang/test/CodeGen/X86/amx_fp8_errors.c
A clang/test/CodeGen/X86/amx_fp8_inline_asm.c
A clang/test/CodeGen/X86/amx_transpose.c
A clang/test/CodeGen/X86/amx_transpose_api.c
A clang/test/CodeGen/X86/amx_transpose_errors.c
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx-cmp-builtins.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
A clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
A clang/test/CodeGen/X86/sm4-evex-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse3-builtins.c
M clang/test/CodeGen/aarch64-cpu-supports-target.c
M clang/test/CodeGen/aarch64-fmv-dependencies.c
A clang/test/CodeGen/aarch64-fpm-helpers.c
A clang/test/CodeGen/aarch64-pure-scalable-args-empty-union.c
A clang/test/CodeGen/aarch64-pure-scalable-args.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
R clang/test/CodeGen/debug-info-renderscript-tag.rs
A clang/test/CodeGen/fat-lto-objects-cfi.cpp
M clang/test/CodeGen/fp16-ops.c
A clang/test/CodeGen/pgo-cold-function-coverage.c
R clang/test/CodeGen/renderscript.c
M clang/test/CodeGenCUDA/offloading-entries.cu
R clang/test/CodeGenHLSL/builtins/RWBuffer-annotations.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedBuffer-annotations.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/countbits.hlsl
A clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/CodeGenHLSL/cbuf.hlsl
A clang/test/CodeGenHLSL/convergence/entry.point.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
M clang/test/CodeGenOpenCLCXX/local_addrspace_init.clcpp
M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
M clang/test/Driver/XRay/xray-shared.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/avr-toolchain.c
A clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/fprofile-generate-cold-function-coverage.c
R clang/test/Driver/index-header-map.c
M clang/test/Driver/nvlink-wrapper.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/ps5-linker.c
R clang/test/Driver/renderscript.rs
M clang/test/Driver/riscv-profiles.c
A clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/unknown-std.c
M clang/test/Driver/x86-target-features.c
A clang/test/Headers/lasxintrin.c
A clang/test/Headers/lsxintrin.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Modules/diff-retain-comments-from-system-headers-flag.cppm
A clang/test/Modules/static-initializer.cppm
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/arithmetic-fence-builtin.c
M clang/test/Sema/asm.c
M clang/test/Sema/attr-target-clones-aarch64.c
R clang/test/Sema/renderscript.rs
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/conditional-expr.cpp
M clang/test/SemaCXX/enum.cpp
M clang/test/SemaCXX/ext-vector-type-conditional.cpp
A clang/test/SemaCXX/gh113468.cpp
M clang/test/SemaCXX/vector-size-conditional.cpp
A clang/test/SemaCXX/warn-memaccess.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M clang/test/SemaObjC/validate-attr-swift_attr.m
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
A clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx10.cl
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
M clang/tools/clang-format/git-clang-format.bat
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
A clang/tools/clang-sycl-linker/CMakeLists.txt
A clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
A clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/SValSimplifyerTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/www/OpenProjects.html
M clang/www/cxx_dr_status.html
M clang/www/index.html
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/lib/asan/scripts/asan_symbolize.py
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
M compiler-rt/test/hwasan/TestCases/many-threads-uaf.c
M compiler-rt/test/hwasan/TestCases/mem-intrinsics.c
M compiler-rt/test/hwasan/TestCases/use-after-free.c
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/include/flang/Runtime/CUDA/memory.h
M flang/include/flang/Runtime/CUDA/registration.h
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/runtime/CUDA/kernel.cpp
M flang/runtime/CUDA/memory.cpp
M flang/runtime/CUDA/registration.cpp
M flang/runtime/assign.cpp
M flang/test/Driver/frontend-forwarding.f90
A flang/test/Driver/mabi.f90
A flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
A flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
A flang/test/Fir/CUDA/cuda-launch.fir
M flang/test/Fir/CUDA/cuda-register-func.fir
M flang/test/Fir/box.fir
A flang/test/Fir/comdat-present.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/embox-char.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/tbaa.fir
M flang/test/Fir/tco-default-datalayout.fir
M flang/test/Fir/tco-explicit-datalayout.fir
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
A flang/test/Lower/Intrinsics/ieee_real.f90
A flang/test/Lower/OpenMP/Todo/depend-clause.f90
A flang/test/Lower/OpenMP/Todo/depobj-construct.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
A flang/test/Lower/OpenMP/master_taskloop.f90
A flang/test/Lower/OpenMP/master_taskloop_simd.f90
A flang/test/Lower/OpenMP/parallel-master-taskloop-simd.f90
A flang/test/Lower/OpenMP/parallel-master-taskloop.f90
A flang/test/Lower/OpenMP/parallel-master.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/components.f90
A flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/vector-subscript-io.f90
A flang/test/Parser/OpenMP/depobj-construct.f90
A flang/test/Parser/OpenMP/master-unparse.f90
A flang/test/Parser/OpenMP/taskloop.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/default-none.f90
A flang/test/Semantics/OpenMP/depend04.f90
A flang/test/Semantics/OpenMP/depend05.f90
A flang/test/Semantics/OpenMP/depobj-construct-v50.f90
A flang/test/Semantics/OpenMP/depobj-construct-v51.f90
A flang/test/Semantics/OpenMP/depobj-construct-v52.f90
A flang/test/Semantics/OpenMP/deprecation.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
A flang/test/Transforms/debug-index-type.fir
R flang/test/Transforms/debug-none-type.fir
A flang/test/Transforms/debug-tuple-type.fir
M flang/tools/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
A flang/tools/fir-lsp-server/CMakeLists.txt
A flang/tools/fir-lsp-server/fir-lsp-server.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/linux/aarch64/entrypoints.txt
A libc/config/linux/i386/entrypoints.txt
A libc/config/linux/i386/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/gpu/rpc.rst
M libc/docs/math/index.rst
M libc/hdr/CMakeLists.txt
M libc/hdr/fcntl_macros.h
A libc/hdr/fcntl_overlay.h
M libc/hdr/fenv_macros.h
A libc/hdr/stdlib_macros.h
A libc/hdr/stdlib_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/div_t.h
A libc/hdr/types/ldiv_t.h
A libc/hdr/types/lldiv_t.h
A libc/hdr/types/mode_t.h
A libc/hdr/types/size_t.h
M libc/include/gpu/rpc.h.def
M libc/include/llvm-libc-macros/containerof-macro.h
M libc/include/llvm-libc-macros/linux/fcntl-macros.h
M libc/include/llvm-libc-macros/linux/signal-macros.h
M libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/include/llvm-libc-types/__mutex_type.h
M libc/include/llvm-libc-types/cnd_t.h
M libc/include/llvm-libc-types/cookie_io_functions_t.h
M libc/include/llvm-libc-types/fd_set.h
M libc/include/llvm-libc-types/fexcept_t.h
M libc/include/llvm-libc-types/jmp_buf.h
M libc/include/llvm-libc-types/mtx_t.h
M libc/include/llvm-libc-types/once_flag.h
M libc/include/llvm-libc-types/pthread_attr_t.h
M libc/include/llvm-libc-types/pthread_mutex_t.h
M libc/include/llvm-libc-types/pthread_once_t.h
M libc/include/llvm-libc-types/pthread_rwlock_t.h
M libc/include/llvm-libc-types/pthread_spinlock_t.h
M libc/include/llvm-libc-types/pthread_t.h
M libc/include/llvm-libc-types/siginfo_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/stack_t.h
M libc/include/llvm-libc-types/struct_dirent.h
M libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/llvm-libc-types/struct_f_owner_ex.h
M libc/include/llvm-libc-types/struct_flock.h
M libc/include/llvm-libc-types/struct_flock64.h
M libc/include/llvm-libc-types/struct_rlimit.h
M libc/include/llvm-libc-types/struct_rusage.h
M libc/include/llvm-libc-types/struct_sched_param.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/include/llvm-libc-types/struct_sockaddr_un.h
M libc/include/llvm-libc-types/struct_stat.h
M libc/include/llvm-libc-types/struct_termios.h
M libc/include/llvm-libc-types/struct_timespec.h
M libc/include/llvm-libc-types/struct_timeval.h
M libc/include/llvm-libc-types/thrd_t.h
M libc/include/sys/auxv.h.def
M libc/include/sys/epoll.h.def
M libc/include/sys/ioctl.h.def
M libc/include/sys/mman.h.def
M libc/include/sys/queue.h
M libc/include/sys/random.h.def
M libc/include/sys/resource.h.def
M libc/include/sys/select.h.def
M libc/include/sys/socket.h.def
M libc/include/sys/stat.h.def
M libc/include/sys/time.h.def
M libc/include/sys/wait.h.def
M libc/newhdrgen/yaml/math.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/new.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
A libc/src/__support/OSUtil/linux/i386/CMakeLists.txt
A libc/src/__support/OSUtil/linux/i386/syscall.h
A libc/src/__support/OSUtil/linux/i386/vdso.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/big_int.h
M libc/src/__support/libc_assert.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/assert/assert.h
M libc/src/fcntl/creat.h
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/math/CMakeLists.txt
M libc/src/math/cbrt.h
A libc/src/math/cospif16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cbrtf.cpp
A libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
A libc/src/math/generic/sincosf16_utils.h
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/stdio/linux/CMakeLists.txt
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
M libc/src/stdio/vsscanf.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/div.h
M libc/src/stdlib/exit.h
M libc/src/stdlib/free.h
M libc/src/stdlib/ldiv.h
M libc/src/stdlib/lldiv.h
M libc/src/stdlib/malloc.h
M libc/src/stdlib/qsort.h
M libc/src/stdlib/qsort_r.h
M libc/src/stdlib/rand.h
M libc/src/stdlib/srand.h
M libc/src/string/CMakeLists.txt
M libc/src/string/strdup.cpp
M libc/src/string/string_utils.h
M libc/src/sys/mman/linux/CMakeLists.txt
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/shm_open.h
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/test/CMakeLists.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/LibcTest.h
M libc/test/include/CMakeLists.txt
M libc/test/src/__support/File/CMakeLists.txt
M libc/test/src/__support/File/file_test.cpp
M libc/test/src/__support/str_to_float_comparison_test.cpp
M libc/test/src/fcntl/CMakeLists.txt
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cospif16_test.cpp
M libc/test/src/math/exhaustive/sinpif_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
A libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/hypotf_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/search/hsearch_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/_Exit_test.cpp
M libc/test/src/stdlib/abort_test.cpp
M libc/test/src/stdlib/bsearch_test.cpp
M libc/test/src/stdlib/div_test.cpp
M libc/test/src/stdlib/ldiv_test.cpp
M libc/test/src/stdlib/lldiv_test.cpp
M libc/test/src/stdlib/qsort_r_test.cpp
M libc/test/src/stdlib/rand_test.cpp
M libc/test/src/string/CMakeLists.txt
M libc/test/src/string/StrchrTest.h
M libc/test/src/string/strdup_test.cpp
M libc/test/src/string/strlcat_test.cpp
M libc/test/src/string/strlcpy_test.cpp
M libc/test/src/string/strndup_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/mman/linux/shm_test.cpp
M libc/test/src/sys/sendfile/CMakeLists.txt
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/mkdirat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/sys/statvfs/linux/CMakeLists.txt
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/rmdir_test.cpp
M libc/test/src/unistd/syscall_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/gpu/loader/Loader.h
M libclc/CMakeLists.txt
A libclc/clc/include/clc/clcfunc.h
A libclc/clc/include/clc/clctypes.h
A libclc/clc/include/clc/geometric/clc_dot.h
A libclc/clc/include/clc/geometric/clc_dot.inc
A libclc/clc/include/clc/integer/gentype.inc
A libclc/clc/include/clc/internal/clc.h
A libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/shared/clc_clamp.h
A libclc/clc/include/clc/shared/clc_clamp.inc
A libclc/clc/include/clc/shared/clc_max.h
A libclc/clc/include/clc/shared/clc_max.inc
A libclc/clc/include/clc/shared/clc_min.h
A libclc/clc/include/clc/shared/clc_min.inc
A libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/dummy.cl
A libclc/clc/lib/clspv64
A libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_dot.cl
A libclc/clc/lib/generic/shared/clc_clamp.cl
A libclc/clc/lib/generic/shared/clc_clamp.inc
A libclc/clc/lib/generic/shared/clc_max.cl
A libclc/clc/lib/generic/shared/clc_max.inc
A libclc/clc/lib/generic/shared/clc_min.cl
A libclc/clc/lib/generic/shared/clc_min.inc
A libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv64/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
R libclc/generic/include/clc/clcfunc.h
R libclc/generic/include/clc/clctypes.h
R libclc/generic/include/clc/integer/gentype.inc
R libclc/generic/include/clc/math/gentype.inc
M libclc/generic/include/config.h
M libclc/generic/lib/common/smoothstep.cl
M libclc/generic/lib/common/step.cl
M libclc/generic/lib/geometric/dot.cl
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_ldexp.cl
M libclc/generic/lib/math/math.h
M libclc/generic/lib/shared/clamp.cl
M libclc/generic/lib/shared/clamp.inc
M libclc/generic/lib/shared/max.cl
M libclc/generic/lib/shared/max.inc
M libclc/generic/lib/shared/min.cl
M libclc/generic/lib/shared/min.inc
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/shuffle.h
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__atomic/aliases.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__atomic/cxx_atomic_impl.h
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__concepts/swappable.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_n.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/in_found_result.h
M libcxx/include/__cxx03/__algorithm/in_fun_result.h
M libcxx/include/__cxx03/__algorithm/in_in_out_result.h
M libcxx/include/__cxx03/__algorithm/in_in_result.h
M libcxx/include/__cxx03/__algorithm/in_out_out_result.h
M libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/inplace_merge.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/pstl.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
M libcxx/include/__cxx03/__algorithm/ranges_all_of.h
M libcxx/include/__cxx03/__algorithm/ranges_any_of.h
M libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
M libcxx/include/__cxx03/__algorithm/ranges_clamp.h
M libcxx/include/__cxx03/__algorithm/ranges_contains.h
M libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
M libcxx/include/__cxx03/__algorithm/ranges_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
M libcxx/include/__cxx03/__algorithm/ranges_count.h
M libcxx/include/__cxx03/__algorithm/ranges_count_if.h
M libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
M libcxx/include/__cxx03/__algorithm/ranges_equal.h
M libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
M libcxx/include/__cxx03/__algorithm/ranges_fill.h
M libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
M libcxx/include/__cxx03/__algorithm/ranges_find.h
M libcxx/include/__cxx03/__algorithm/ranges_find_end.h
M libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
M libcxx/include/__cxx03/__algorithm/ranges_find_last.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
M libcxx/include/__cxx03/__algorithm/ranges_generate.h
M libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
M libcxx/include/__cxx03/__algorithm/ranges_includes.h
M libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
M libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
M libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
M libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
M libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_max.h
M libcxx/include/__cxx03/__algorithm/ranges_max_element.h
M libcxx/include/__cxx03/__algorithm/ranges_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_min.h
M libcxx/include/__cxx03/__algorithm/ranges_min_element.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
M libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
M libcxx/include/__cxx03/__algorithm/ranges_move.h
M libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_none_of.h
M libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
M libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_remove.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_sample.h
M libcxx/include/__cxx03/__algorithm/ranges_search.h
M libcxx/include/__cxx03/__algorithm/ranges_search_n.h
M libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
M libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_union.h
M libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
M libcxx/include/__cxx03/__algorithm/ranges_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
M libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
M libcxx/include/__cxx03/__algorithm/ranges_transform.h
M libcxx/include/__cxx03/__algorithm/ranges_unique.h
M libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shift_left.h
M libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/stable_partition.h
M libcxx/include/__cxx03/__algorithm/stable_sort.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__assert
M libcxx/include/__cxx03/__atomic/aliases.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/atomic_init.h
M libcxx/include/__cxx03/__atomic/atomic_lock_free.h
M libcxx/include/__cxx03/__atomic/atomic_ref.h
M libcxx/include/__cxx03/__atomic/atomic_sync.h
M libcxx/include/__cxx03/__atomic/check_memory_order.h
M libcxx/include/__cxx03/__atomic/contention_t.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/fence.h
M libcxx/include/__cxx03/__atomic/is_always_lock_free.h
M libcxx/include/__cxx03/__atomic/kill_dependency.h
M libcxx/include/__cxx03/__atomic/memory_order.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/bit_cast.h
M libcxx/include/__cxx03/__bit/bit_ceil.h
M libcxx/include/__cxx03/__bit/bit_floor.h
M libcxx/include/__cxx03/__bit/bit_log2.h
M libcxx/include/__cxx03/__bit/bit_width.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/endian.h
M libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__charconv/chars_format.h
M libcxx/include/__cxx03/__charconv/from_chars_integral.h
M libcxx/include/__cxx03/__charconv/from_chars_result.h
M libcxx/include/__cxx03/__charconv/tables.h
M libcxx/include/__cxx03/__charconv/to_chars.h
M libcxx/include/__cxx03/__charconv/to_chars_base_10.h
M libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
M libcxx/include/__cxx03/__charconv/to_chars_integral.h
M libcxx/include/__cxx03/__charconv/to_chars_result.h
M libcxx/include/__cxx03/__charconv/traits.h
M libcxx/include/__cxx03/__chrono/calendar.h
M libcxx/include/__cxx03/__chrono/concepts.h
M libcxx/include/__cxx03/__chrono/convert_to_timespec.h
M libcxx/include/__cxx03/__chrono/convert_to_tm.h
M libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/exception.h
M libcxx/include/__cxx03/__chrono/file_clock.h
M libcxx/include/__cxx03/__chrono/formatter.h
M libcxx/include/__cxx03/__chrono/hh_mm_ss.h
M libcxx/include/__cxx03/__chrono/high_resolution_clock.h
M libcxx/include/__cxx03/__chrono/leap_second.h
M libcxx/include/__cxx03/__chrono/literals.h
M libcxx/include/__cxx03/__chrono/local_info.h
M libcxx/include/__cxx03/__chrono/month.h
M libcxx/include/__cxx03/__chrono/month_weekday.h
M libcxx/include/__cxx03/__chrono/monthday.h
M libcxx/include/__cxx03/__chrono/ostream.h
M libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
M libcxx/include/__cxx03/__chrono/statically_widen.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__chrono/time_zone.h
M libcxx/include/__cxx03/__chrono/time_zone_link.h
M libcxx/include/__cxx03/__chrono/tzdb.h
M libcxx/include/__cxx03/__chrono/tzdb_list.h
M libcxx/include/__cxx03/__chrono/weekday.h
M libcxx/include/__cxx03/__chrono/year.h
M libcxx/include/__cxx03/__chrono/year_month.h
M libcxx/include/__cxx03/__chrono/year_month_day.h
M libcxx/include/__cxx03/__chrono/year_month_weekday.h
M libcxx/include/__cxx03/__chrono/zoned_time.h
M libcxx/include/__cxx03/__compare/common_comparison_category.h
M libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_three_way.h
M libcxx/include/__cxx03/__compare/compare_three_way_result.h
M libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
M libcxx/include/__cxx03/__compare/is_eq.h
M libcxx/include/__cxx03/__compare/ordering.h
M libcxx/include/__cxx03/__compare/partial_order.h
M libcxx/include/__cxx03/__compare/strong_order.h
M libcxx/include/__cxx03/__compare/synth_three_way.h
M libcxx/include/__cxx03/__compare/three_way_comparable.h
M libcxx/include/__cxx03/__compare/weak_order.h
M libcxx/include/__cxx03/__concepts/arithmetic.h
M libcxx/include/__cxx03/__concepts/assignable.h
M libcxx/include/__cxx03/__concepts/boolean_testable.h
M libcxx/include/__cxx03/__concepts/class_or_enum.h
M libcxx/include/__cxx03/__concepts/common_reference_with.h
M libcxx/include/__cxx03/__concepts/common_with.h
M libcxx/include/__cxx03/__concepts/constructible.h
M libcxx/include/__cxx03/__concepts/convertible_to.h
M libcxx/include/__cxx03/__concepts/copyable.h
M libcxx/include/__cxx03/__concepts/derived_from.h
M libcxx/include/__cxx03/__concepts/destructible.h
M libcxx/include/__cxx03/__concepts/different_from.h
M libcxx/include/__cxx03/__concepts/equality_comparable.h
M libcxx/include/__cxx03/__concepts/invocable.h
M libcxx/include/__cxx03/__concepts/movable.h
M libcxx/include/__cxx03/__concepts/predicate.h
M libcxx/include/__cxx03/__concepts/regular.h
M libcxx/include/__cxx03/__concepts/relation.h
M libcxx/include/__cxx03/__concepts/same_as.h
M libcxx/include/__cxx03/__concepts/semiregular.h
M libcxx/include/__cxx03/__concepts/swappable.h
M libcxx/include/__cxx03/__concepts/totally_ordered.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/availability.h
M libcxx/include/__cxx03/__coroutine/coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/coroutine_traits.h
M libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__exception/exception.h
M libcxx/include/__cxx03/__exception/exception_ptr.h
M libcxx/include/__cxx03/__exception/nested_exception.h
M libcxx/include/__cxx03/__exception/operations.h
M libcxx/include/__cxx03/__exception/terminate.h
M libcxx/include/__cxx03/__expected/bad_expected_access.h
M libcxx/include/__cxx03/__expected/expected.h
M libcxx/include/__cxx03/__expected/unexpect.h
M libcxx/include/__cxx03/__expected/unexpected.h
M libcxx/include/__cxx03/__filesystem/copy_options.h
M libcxx/include/__cxx03/__filesystem/directory_entry.h
M libcxx/include/__cxx03/__filesystem/directory_iterator.h
M libcxx/include/__cxx03/__filesystem/directory_options.h
M libcxx/include/__cxx03/__filesystem/file_status.h
M libcxx/include/__cxx03/__filesystem/file_time_type.h
M libcxx/include/__cxx03/__filesystem/file_type.h
M libcxx/include/__cxx03/__filesystem/filesystem_error.h
M libcxx/include/__cxx03/__filesystem/operations.h
M libcxx/include/__cxx03/__filesystem/path.h
M libcxx/include/__cxx03/__filesystem/path_iterator.h
M libcxx/include/__cxx03/__filesystem/perm_options.h
M libcxx/include/__cxx03/__filesystem/perms.h
M libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
M libcxx/include/__cxx03/__filesystem/space_info.h
M libcxx/include/__cxx03/__filesystem/u8path.h
M libcxx/include/__cxx03/__format/buffer.h
M libcxx/include/__cxx03/__format/concepts.h
M libcxx/include/__cxx03/__format/container_adaptor.h
M libcxx/include/__cxx03/__format/enable_insertable.h
M libcxx/include/__cxx03/__format/escaped_output_table.h
M libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
M libcxx/include/__cxx03/__format/format_arg.h
M libcxx/include/__cxx03/__format/format_arg_store.h
M libcxx/include/__cxx03/__format/format_args.h
M libcxx/include/__cxx03/__format/format_context.h
M libcxx/include/__cxx03/__format/format_error.h
M libcxx/include/__cxx03/__format/format_functions.h
M libcxx/include/__cxx03/__format/format_parse_context.h
M libcxx/include/__cxx03/__format/format_string.h
M libcxx/include/__cxx03/__format/format_to_n_result.h
M libcxx/include/__cxx03/__format/formatter.h
M libcxx/include/__cxx03/__format/formatter_bool.h
M libcxx/include/__cxx03/__format/formatter_char.h
M libcxx/include/__cxx03/__format/formatter_floating_point.h
M libcxx/include/__cxx03/__format/formatter_integer.h
M libcxx/include/__cxx03/__format/formatter_integral.h
M libcxx/include/__cxx03/__format/formatter_output.h
M libcxx/include/__cxx03/__format/formatter_pointer.h
M libcxx/include/__cxx03/__format/formatter_string.h
M libcxx/include/__cxx03/__format/formatter_tuple.h
M libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
M libcxx/include/__cxx03/__format/parser_std_format_spec.h
M libcxx/include/__cxx03/__format/range_default_formatter.h
M libcxx/include/__cxx03/__format/range_formatter.h
M libcxx/include/__cxx03/__format/unicode.h
M libcxx/include/__cxx03/__format/width_estimation_table.h
M libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/bind.h
M libcxx/include/__cxx03/__functional/bind_back.h
M libcxx/include/__cxx03/__functional/bind_front.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
M libcxx/include/__cxx03/__functional/compose.h
M libcxx/include/__cxx03/__functional/default_searcher.h
M libcxx/include/__cxx03/__functional/function.h
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/invoke.h
M libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/not_fn.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/perfect_forward.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/bit_reference.h
M libcxx/include/__cxx03/__fwd/complex.h
M libcxx/include/__cxx03/__fwd/deque.h
M libcxx/include/__cxx03/__fwd/format.h
M libcxx/include/__cxx03/__fwd/fstream.h
M libcxx/include/__cxx03/__fwd/functional.h
M libcxx/include/__cxx03/__fwd/ios.h
M libcxx/include/__cxx03/__fwd/istream.h
M libcxx/include/__cxx03/__fwd/mdspan.h
M libcxx/include/__cxx03/__fwd/memory.h
M libcxx/include/__cxx03/__fwd/memory_resource.h
M libcxx/include/__cxx03/__fwd/ostream.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__fwd/queue.h
M libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/sstream.h
M libcxx/include/__cxx03/__fwd/stack.h
M libcxx/include/__cxx03/__fwd/streambuf.h
M libcxx/include/__cxx03/__fwd/string.h
M libcxx/include/__cxx03/__fwd/string_view.h
M libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__fwd/tuple.h
M libcxx/include/__cxx03/__fwd/vector.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__ios/fpos.h
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/aliasing_iterator.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/common_iterator.h
M libcxx/include/__cxx03/__iterator/concepts.h
M libcxx/include/__cxx03/__iterator/counted_iterator.h
M libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__cxx03/__iterator/data.h
M libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/empty.h
M libcxx/include/__cxx03/__iterator/erase_if_container.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/incrementable_traits.h
M libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iter_move.h
M libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
M libcxx/include/__cxx03/__iterator/iterator_with_data.h
M libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/ostream_iterator.h
M libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/projected.h
M libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
M libcxx/include/__cxx03/__iterator/readable_traits.h
M libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/segmented_iterator.h
M libcxx/include/__cxx03/__iterator/size.h
M libcxx/include/__cxx03/__iterator/sortable.h
M libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__locale_dir/locale_base_api.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h
M libcxx/include/__cxx03/__math/abs.h
M libcxx/include/__cxx03/__math/copysign.h
M libcxx/include/__cxx03/__math/error_functions.h
M libcxx/include/__cxx03/__math/exponential_functions.h
M libcxx/include/__cxx03/__math/fdim.h
M libcxx/include/__cxx03/__math/fma.h
M libcxx/include/__cxx03/__math/gamma.h
M libcxx/include/__cxx03/__math/hyperbolic_functions.h
M libcxx/include/__cxx03/__math/hypot.h
M libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h
M libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h
M libcxx/include/__cxx03/__math/logarithms.h
M libcxx/include/__cxx03/__math/min_max.h
M libcxx/include/__cxx03/__math/modulo.h
M libcxx/include/__cxx03/__math/remainder.h
M libcxx/include/__cxx03/__math/roots.h
M libcxx/include/__cxx03/__math/rounding_functions.h
M libcxx/include/__cxx03/__math/special_functions.h
M libcxx/include/__cxx03/__math/traits.h
M libcxx/include/__cxx03/__math/trigonometric_functions.h
M libcxx/include/__cxx03/__mbstate_t.h
M libcxx/include/__cxx03/__mdspan/default_accessor.h
M libcxx/include/__cxx03/__mdspan/extents.h
M libcxx/include/__cxx03/__mdspan/layout_left.h
M libcxx/include/__cxx03/__mdspan/layout_right.h
M libcxx/include/__cxx03/__mdspan/layout_stride.h
M libcxx/include/__cxx03/__mdspan/mdspan.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/align.h
M libcxx/include/__cxx03/__memory/aligned_alloc.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocation_guard.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_arg_t.h
M libcxx/include/__cxx03/__memory/allocator_destructor.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/builtin_new_allocator.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/concepts.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/destruct_n.h
M libcxx/include/__cxx03/__memory/inout_ptr.h
M libcxx/include/__cxx03/__memory/out_ptr.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/ranges_construct_at.h
M libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/temporary_buffer.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/uses_allocator.h
M libcxx/include/__cxx03/__memory/uses_allocator_construction.h
M libcxx/include/__cxx03/__memory/voidify.h
M libcxx/include/__cxx03/__memory_resource/memory_resource.h
M libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
M libcxx/include/__cxx03/__memory_resource/pool_options.h
M libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/lock_guard.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__mutex/tag_types.h
M libcxx/include/__cxx03/__mutex/unique_lock.h
M libcxx/include/__cxx03/__node_handle
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/exclusive_scan.h
M libcxx/include/__cxx03/__numeric/gcd_lcm.h
M libcxx/include/__cxx03/__numeric/inclusive_scan.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/iota.h
M libcxx/include/__cxx03/__numeric/midpoint.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__numeric/pstl.h
M libcxx/include/__cxx03/__numeric/reduce.h
M libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
M libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
M libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
M libcxx/include/__cxx03/__numeric/transform_reduce.h
M libcxx/include/__cxx03/__ostream/basic_ostream.h
M libcxx/include/__cxx03/__ostream/print.h
M libcxx/include/__cxx03/__pstl/backend.h
M libcxx/include/__cxx03/__pstl/backend_fwd.h
M libcxx/include/__cxx03/__pstl/backends/default.h
M libcxx/include/__cxx03/__pstl/backends/libdispatch.h
M libcxx/include/__cxx03/__pstl/backends/serial.h
M libcxx/include/__cxx03/__pstl/backends/std_thread.h
M libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
M libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
M libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
M libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
M libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
M libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
M libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
M libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__cxx03/__pstl/dispatch.h
M libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/bernoulli_distribution.h
M libcxx/include/__cxx03/__random/binomial_distribution.h
M libcxx/include/__cxx03/__random/cauchy_distribution.h
M libcxx/include/__cxx03/__random/chi_squared_distribution.h
M libcxx/include/__cxx03/__random/clamp_to_integral.h
M libcxx/include/__cxx03/__random/default_random_engine.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/discrete_distribution.h
M libcxx/include/__cxx03/__random/exponential_distribution.h
M libcxx/include/__cxx03/__random/extreme_value_distribution.h
M libcxx/include/__cxx03/__random/fisher_f_distribution.h
M libcxx/include/__cxx03/__random/gamma_distribution.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/geometric_distribution.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/is_seed_sequence.h
M libcxx/include/__cxx03/__random/is_valid.h
M libcxx/include/__cxx03/__random/knuth_b.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/log2.h
M libcxx/include/__cxx03/__random/lognormal_distribution.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/negative_binomial_distribution.h
M libcxx/include/__cxx03/__random/normal_distribution.h
M libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
M libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
M libcxx/include/__cxx03/__random/poisson_distribution.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/ranlux.h
M libcxx/include/__cxx03/__random/seed_seq.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/student_t_distribution.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
M libcxx/include/__cxx03/__random/uniform_real_distribution.h
M libcxx/include/__cxx03/__random/weibull_distribution.h
M libcxx/include/__cxx03/__ranges/access.h
M libcxx/include/__cxx03/__ranges/all.h
M libcxx/include/__cxx03/__ranges/as_rvalue_view.h
M libcxx/include/__cxx03/__ranges/chunk_by_view.h
M libcxx/include/__cxx03/__ranges/common_view.h
M libcxx/include/__cxx03/__ranges/concepts.h
M libcxx/include/__cxx03/__ranges/container_compatible_range.h
M libcxx/include/__cxx03/__ranges/counted.h
M libcxx/include/__cxx03/__ranges/dangling.h
M libcxx/include/__cxx03/__ranges/data.h
M libcxx/include/__cxx03/__ranges/drop_view.h
M libcxx/include/__cxx03/__ranges/drop_while_view.h
M libcxx/include/__cxx03/__ranges/elements_view.h
M libcxx/include/__cxx03/__ranges/empty.h
M libcxx/include/__cxx03/__ranges/empty_view.h
M libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
M libcxx/include/__cxx03/__ranges/enable_view.h
M libcxx/include/__cxx03/__ranges/filter_view.h
M libcxx/include/__cxx03/__ranges/from_range.h
M libcxx/include/__cxx03/__ranges/iota_view.h
M libcxx/include/__cxx03/__ranges/istream_view.h
M libcxx/include/__cxx03/__ranges/join_view.h
M libcxx/include/__cxx03/__ranges/lazy_split_view.h
M libcxx/include/__cxx03/__ranges/movable_box.h
M libcxx/include/__cxx03/__ranges/non_propagating_cache.h
M libcxx/include/__cxx03/__ranges/owning_view.h
M libcxx/include/__cxx03/__ranges/range_adaptor.h
M libcxx/include/__cxx03/__ranges/rbegin.h
M libcxx/include/__cxx03/__ranges/ref_view.h
M libcxx/include/__cxx03/__ranges/rend.h
M libcxx/include/__cxx03/__ranges/repeat_view.h
M libcxx/include/__cxx03/__ranges/reverse_view.h
M libcxx/include/__cxx03/__ranges/single_view.h
M libcxx/include/__cxx03/__ranges/size.h
M libcxx/include/__cxx03/__ranges/split_view.h
M libcxx/include/__cxx03/__ranges/subrange.h
M libcxx/include/__cxx03/__ranges/take_view.h
M libcxx/include/__cxx03/__ranges/take_while_view.h
M libcxx/include/__cxx03/__ranges/to.h
M libcxx/include/__cxx03/__ranges/transform_view.h
M libcxx/include/__cxx03/__ranges/view_interface.h
M libcxx/include/__cxx03/__ranges/views.h
M libcxx/include/__cxx03/__ranges/zip_view.h
M libcxx/include/__cxx03/__split_buffer
M libcxx/include/__cxx03/__std_clang_module
M libcxx/include/__cxx03/__std_mbstate_t.h
M libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
M libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
M libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__cxx03/__stop_token/stop_callback.h
M libcxx/include/__cxx03/__stop_token/stop_source.h
M libcxx/include/__cxx03/__stop_token/stop_state.h
M libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__string/extern_template_lists.h
M libcxx/include/__cxx03/__support/ibm/gettod_zos.h
M libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h
M libcxx/include/__cxx03/__support/ibm/nanosleep.h
M libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h
M libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h
M libcxx/include/__cxx03/__system_error/errc.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
M libcxx/include/__cxx03/__system_error/system_error.h
M libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
M libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/poll_with_backoff.h
M libcxx/include/__cxx03/__thread/support.h
M libcxx/include/__cxx03/__thread/support/c11.h
M libcxx/include/__cxx03/__thread/support/external.h
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/__thread/support/windows.h
M libcxx/include/__cxx03/__thread/this_thread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__thread/timed_backoff_policy.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__tuple/find_index.h
M libcxx/include/__cxx03/__tuple/ignore.h
M libcxx/include/__cxx03/__tuple/make_tuple_types.h
M libcxx/include/__cxx03/__tuple/sfinae_helpers.h
M libcxx/include/__cxx03/__tuple/tuple_element.h
M libcxx/include/__cxx03/__tuple/tuple_indices.h
M libcxx/include/__cxx03/__tuple/tuple_like.h
M libcxx/include/__cxx03/__tuple/tuple_like_ext.h
M libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
M libcxx/include/__cxx03/__tuple/tuple_size.h
M libcxx/include/__cxx03/__tuple/tuple_types.h
M libcxx/include/__cxx03/__type_traits/add_const.h
M libcxx/include/__cxx03/__type_traits/add_cv.h
M libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_pointer.h
M libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_volatile.h
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/alignment_of.h
M libcxx/include/__cxx03/__type_traits/can_extract_key.h
M libcxx/include/__cxx03/__type_traits/common_reference.h
M libcxx/include/__cxx03/__type_traits/common_type.h
M libcxx/include/__cxx03/__type_traits/conditional.h
M libcxx/include/__cxx03/__type_traits/conjunction.h
M libcxx/include/__cxx03/__type_traits/copy_cv.h
M libcxx/include/__cxx03/__type_traits/copy_cvref.h
M libcxx/include/__cxx03/__type_traits/datasizeof.h
M libcxx/include/__cxx03/__type_traits/decay.h
M libcxx/include/__cxx03/__type_traits/dependent_type.h
M libcxx/include/__cxx03/__type_traits/desugars_to.h
M libcxx/include/__cxx03/__type_traits/disjunction.h
M libcxx/include/__cxx03/__type_traits/enable_if.h
M libcxx/include/__cxx03/__type_traits/extent.h
M libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
M libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_abstract.h
M libcxx/include/__cxx03/__type_traits/is_aggregate.h
M libcxx/include/__cxx03/__type_traits/is_allocator.h
M libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h
M libcxx/include/__cxx03/__type_traits/is_arithmetic.h
M libcxx/include/__cxx03/__type_traits/is_array.h
M libcxx/include/__cxx03/__type_traits/is_assignable.h
M libcxx/include/__cxx03/__type_traits/is_base_of.h
M libcxx/include/__cxx03/__type_traits/is_bounded_array.h
M libcxx/include/__cxx03/__type_traits/is_callable.h
M libcxx/include/__cxx03/__type_traits/is_char_like_type.h
M libcxx/include/__cxx03/__type_traits/is_class.h
M libcxx/include/__cxx03/__type_traits/is_compound.h
M libcxx/include/__cxx03/__type_traits/is_const.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_constructible.h
M libcxx/include/__cxx03/__type_traits/is_convertible.h
M libcxx/include/__cxx03/__type_traits/is_core_convertible.h
M libcxx/include/__cxx03/__type_traits/is_destructible.h
M libcxx/include/__cxx03/__type_traits/is_empty.h
M libcxx/include/__cxx03/__type_traits/is_enum.h
M libcxx/include/__cxx03/__type_traits/is_equality_comparable.h
M libcxx/include/__cxx03/__type_traits/is_execution_policy.h
M libcxx/include/__cxx03/__type_traits/is_final.h
M libcxx/include/__cxx03/__type_traits/is_floating_point.h
M libcxx/include/__cxx03/__type_traits/is_function.h
M libcxx/include/__cxx03/__type_traits/is_fundamental.h
M libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
M libcxx/include/__cxx03/__type_traits/is_integral.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_member_pointer.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
M libcxx/include/__cxx03/__type_traits/is_null_pointer.h
M libcxx/include/__cxx03/__type_traits/is_object.h
M libcxx/include/__cxx03/__type_traits/is_pod.h
M libcxx/include/__cxx03/__type_traits/is_pointer.h
M libcxx/include/__cxx03/__type_traits/is_polymorphic.h
M libcxx/include/__cxx03/__type_traits/is_primary_template.h
M libcxx/include/__cxx03/__type_traits/is_reference.h
M libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h
M libcxx/include/__cxx03/__type_traits/is_referenceable.h
M libcxx/include/__cxx03/__type_traits/is_same.h
M libcxx/include/__cxx03/__type_traits/is_scalar.h
M libcxx/include/__cxx03/__type_traits/is_signed.h
M libcxx/include/__cxx03/__type_traits/is_signed_integer.h
M libcxx/include/__cxx03/__type_traits/is_specialization.h
M libcxx/include/__cxx03/__type_traits/is_standard_layout.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/is_trivial.h
M libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
M libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
M libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
M libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
M libcxx/include/__cxx03/__type_traits/is_union.h
M libcxx/include/__cxx03/__type_traits/is_unsigned.h
M libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h
M libcxx/include/__cxx03/__type_traits/is_valid_expansion.h
M libcxx/include/__cxx03/__type_traits/is_void.h
M libcxx/include/__cxx03/__type_traits/is_volatile.h
M libcxx/include/__cxx03/__type_traits/lazy.h
M libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
M libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h
M libcxx/include/__cxx03/__type_traits/make_signed.h
M libcxx/include/__cxx03/__type_traits/make_unsigned.h
M libcxx/include/__cxx03/__type_traits/maybe_const.h
M libcxx/include/__cxx03/__type_traits/nat.h
M libcxx/include/__cxx03/__type_traits/negation.h
M libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
M libcxx/include/__cxx03/__type_traits/promote.h
M libcxx/include/__cxx03/__type_traits/rank.h
M libcxx/include/__cxx03/__type_traits/remove_all_extents.h
M libcxx/include/__cxx03/__type_traits/remove_const.h
M libcxx/include/__cxx03/__type_traits/remove_const_ref.h
M libcxx/include/__cxx03/__type_traits/remove_cv.h
M libcxx/include/__cxx03/__type_traits/remove_cvref.h
M libcxx/include/__cxx03/__type_traits/remove_extent.h
M libcxx/include/__cxx03/__type_traits/remove_pointer.h
M libcxx/include/__cxx03/__type_traits/remove_reference.h
M libcxx/include/__cxx03/__type_traits/remove_volatile.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__type_traits/strip_signature.h
M libcxx/include/__cxx03/__type_traits/type_identity.h
M libcxx/include/__cxx03/__type_traits/type_list.h
M libcxx/include/__cxx03/__type_traits/underlying_type.h
M libcxx/include/__cxx03/__type_traits/unwrap_ref.h
M libcxx/include/__cxx03/__type_traits/void_t.h
M libcxx/include/__cxx03/__utility/as_const.h
M libcxx/include/__cxx03/__utility/as_lvalue.h
M libcxx/include/__cxx03/__utility/auto_cast.h
M libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/convert_to_integral.h
M libcxx/include/__cxx03/__utility/declval.h
M libcxx/include/__cxx03/__utility/empty.h
M libcxx/include/__cxx03/__utility/exception_guard.h
M libcxx/include/__cxx03/__utility/exchange.h
M libcxx/include/__cxx03/__utility/forward.h
M libcxx/include/__cxx03/__utility/forward_like.h
M libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/integer_sequence.h
M libcxx/include/__cxx03/__utility/is_pointer_in_range.h
M libcxx/include/__cxx03/__utility/is_valid_range.h
M libcxx/include/__cxx03/__utility/move.h
M libcxx/include/__cxx03/__utility/no_destroy.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/piecewise_construct.h
M libcxx/include/__cxx03/__utility/priority_tag.h
M libcxx/include/__cxx03/__utility/private_constructor_tag.h
M libcxx/include/__cxx03/__utility/rel_ops.h
M libcxx/include/__cxx03/__utility/small_buffer.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/__utility/unreachable.h
M libcxx/include/__cxx03/__variant/monostate.h
M libcxx/include/__cxx03/__verbose_abort
M libcxx/include/__cxx03/algorithm
M libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
M libcxx/include/__cxx03/barrier
M libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/cassert
M libcxx/include/__cxx03/ccomplex
M libcxx/include/__cxx03/cctype
M libcxx/include/__cxx03/cerrno
M libcxx/include/__cxx03/cfenv
M libcxx/include/__cxx03/cfloat
M libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cinttypes
M libcxx/include/__cxx03/ciso646
M libcxx/include/__cxx03/climits
M libcxx/include/__cxx03/clocale
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/compare
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/complex.h
M libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
M libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/csetjmp
M libcxx/include/__cxx03/csignal
M libcxx/include/__cxx03/cstdarg
M libcxx/include/__cxx03/cstdbool
M libcxx/include/__cxx03/cstddef
M libcxx/include/__cxx03/cstdint
M libcxx/include/__cxx03/cstdio
M libcxx/include/__cxx03/cstdlib
M libcxx/include/__cxx03/cstring
M libcxx/include/__cxx03/ctgmath
M libcxx/include/__cxx03/ctime
M libcxx/include/__cxx03/ctype.h
M libcxx/include/__cxx03/cuchar
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/cwctype
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/errno.h
M libcxx/include/__cxx03/exception
M libcxx/include/__cxx03/execution
M libcxx/include/__cxx03/expected
M libcxx/include/__cxx03/experimental/__config
M libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
M libcxx/include/__cxx03/experimental/__simd/declaration.h
M libcxx/include/__cxx03/experimental/__simd/reference.h
M libcxx/include/__cxx03/experimental/__simd/scalar.h
M libcxx/include/__cxx03/experimental/__simd/simd.h
M libcxx/include/__cxx03/experimental/__simd/simd_mask.h
M libcxx/include/__cxx03/experimental/__simd/traits.h
M libcxx/include/__cxx03/experimental/__simd/utility.h
M libcxx/include/__cxx03/experimental/__simd/vec_ext.h
M libcxx/include/__cxx03/experimental/iterator
M libcxx/include/__cxx03/experimental/memory
M libcxx/include/__cxx03/experimental/propagate_const
M libcxx/include/__cxx03/experimental/simd
M libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/__hash
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
M libcxx/include/__cxx03/fenv.h
M libcxx/include/__cxx03/filesystem
M libcxx/include/__cxx03/float.h
M libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
M libcxx/include/__cxx03/future
M libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/inttypes.h
M libcxx/include/__cxx03/iomanip
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/iosfwd
M libcxx/include/__cxx03/iostream
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
M libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/locale.h
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/math.h
M libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
M libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
M libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
M libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
M libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/scoped_allocator
M libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/shared_mutex
M libcxx/include/__cxx03/source_location
M libcxx/include/__cxx03/span
M libcxx/include/__cxx03/sstream
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/stdatomic.h
M libcxx/include/__cxx03/stdbool.h
M libcxx/include/__cxx03/stddef.h
M libcxx/include/__cxx03/stdexcept
M libcxx/include/__cxx03/stdint.h
M libcxx/include/__cxx03/stdio.h
M libcxx/include/__cxx03/stdlib.h
M libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/streambuf
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string.h
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/strstream
M libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/tgmath.h
M libcxx/include/__cxx03/thread
M libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/uchar.h
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
M libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
M libcxx/include/__cxx03/version
M libcxx/include/__cxx03/wchar.h
M libcxx/include/__cxx03/wctype.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
A libcxx/include/__flat_map/flat_map.h
A libcxx/include/__flat_map/sorted_unique.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/empty.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/incrementable_traits.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/segmented_iterator.h
M libcxx/include/__iterator/size.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale_dir/locale_base_api.h
A libcxx/include/__locale_dir/locale_base_api/apple.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
A libcxx/include/__locale_dir/locale_base_api/freebsd.h
M libcxx/include/__mdspan/default_accessor.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__mdspan/layout_left.h
M libcxx/include/__mdspan/layout_right.h
M libcxx/include/__mdspan/layout_stride.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/align.h
M libcxx/include/__memory/aligned_alloc.h
M libcxx/include/__memory/allocate_at_least.h
M libcxx/include/__memory/allocation_guard.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/array_cookie.h
M libcxx/include/__memory/assume_aligned.h
M libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/destruct_n.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/unique_temporary_buffer.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__memory_resource/memory_resource.h
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__memory_resource/pool_options.h
M libcxx/include/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__numeric/midpoint.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/std_thread.h
M libcxx/include/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/__pstl/cpu_algos/find_if.h
M libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/log2.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_int_distribution.h
M libcxx/include/__ranges/access.h
M libcxx/include/__ranges/counted.h
M libcxx/include/__ranges/drop_view.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/empty_view.h
M libcxx/include/__ranges/istream_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/single_view.h
M libcxx/include/__ranges/size.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__ranges/take_view.h
M libcxx/include/__ranges/to.h
M libcxx/include/__split_buffer
M libcxx/include/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__type_traits/desugars_to.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/priority_tag.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/__utility/swap.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bitset
M libcxx/include/ccomplex
M libcxx/include/charconv
M libcxx/include/ciso646
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/complex.h
M libcxx/include/concepts
M libcxx/include/coroutine
A libcxx/include/cstdalign
M libcxx/include/cstdbool
M libcxx/include/ctgmath
M libcxx/include/exception
M libcxx/include/experimental/__simd/aligned_tag.h
M libcxx/include/experimental/__simd/declaration.h
M libcxx/include/experimental/__simd/reference.h
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/traits.h
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
A libcxx/include/flat_map
M libcxx/include/initializer_list
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/locale
M libcxx/include/module.modulemap
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/semaphore
M libcxx/include/span
M libcxx/include/stdexcept
M libcxx/include/stop_token
M libcxx/include/string_view
M libcxx/include/tgmath.h
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/modules/std/flat_map.inc
M libcxx/src/algorithm.cpp
M libcxx/src/memory_resource.cpp
M libcxx/test/benchmarks/CMakeLists.txt
A libcxx/test/benchmarks/hash.bench.cpp
M libcxx/test/benchmarks/unordered_set_operations.bench.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.cxx1z.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy_move_unwrap_reverse.pass.cpp
M libcxx/test/libcxx/algorithms/robust_against_using_non_transparent_comparators.pass.cpp
R libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.input_range.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/asan_turning_off.pass.cpp
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/include_as_c.sh.cpp
M libcxx/test/libcxx/libcpp_version.gen.py
M libcxx/test/libcxx/no_assert_include.gen.py
A libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/address.pass.cpp
M libcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.lang/concept.constructible/constructible_from.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/NaiveStaticVector.h
A libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_unique.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_rv_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.addressof.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_clears.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/keys_values.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.map/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/types.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/destroy_elements.pass.cpp
M libcxx/test/std/containers/views/mdspan/MinimalElementType.h
M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_span.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h
M libcxx/test/std/containers/views/views.span/span.cons/iterator_len.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.verify.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
M libcxx/test/std/depr/depr.c.headers/ciso646.compile.pass.cpp
A libcxx/test/std/depr/depr.c.headers/stdalign_h.compile.pass.cpp
A libcxx/test/std/depr/depr.cpp.headers/ccomplex.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/ciso646.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/cstdalign.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/cstdbool.verify.cpp
A libcxx/test/std/depr/depr.cpp.headers/ctgmath.verify.cpp
M libcxx/test/std/diagnostics/syserr/is_error_code_enum.pass.cpp
M libcxx/test/std/diagnostics/syserr/is_error_condition_enum.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/incrementable_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/iter_difference_t.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/indirectly_readable_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp
A libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdbool.pass.cpp
M libcxx/test/std/numerics/bit/byteswap.pass.cpp
M libcxx/test/std/numerics/c.math/ctgmath.pass.cpp
M libcxx/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp
M libcxx/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan.pass.cpp
M libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan.pass.cpp
M libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop_init.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/deref.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/member_typedefs.compile.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/minus.pass.cpp
M libcxx/test/std/ranges/range.utility/range.subrange/ctad.compile.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/deallocate_size.pass.cpp
M libcxx/test/std/strings/string.view/string.view.modifiers/remove_prefix.pass.cpp
M libcxx/test/std/strings/string.view/string.view.modifiers/remove_suffix.pass.cpp
M libcxx/test/std/strings/string.view/string.view.modifiers/swap.pass.cpp
M libcxx/test/std/strings/string.view/string.view.ops/copy.pass.cpp
M libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.pass.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_overaligned_request.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_overaligned_request.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_deallocate_matches_allocate.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_overaligned_request.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_deallocate_matches_allocate.pass.cpp
A libcxx/test/support/MinSequenceContainer.h
M libcxx/test/support/min_allocator.h
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_indic_conjunct_break_table.py
M libcxx/utils/generate_width_estimation_table.py
M libcxx/utils/libcxx/header_information.py
M libcxxabi/src/demangle/cp-to-llvm.sh
M libcxxabi/src/private_typeinfo.cpp
M libcxxabi/test/test_aux_runtime.pass.cpp
M libunwind/docs/index.rst
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/dwarf2.h
M lld/COFF/Chunks.cpp
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Options.td
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.h
M lld/MachO/BPSectionOrderer.cpp
M lld/test/COFF/arm64ec-delayimport.test
A lld/test/COFF/arm64ec-entry-mangle.test
A lld/test/COFF/autoimport-arm64ec-data.test
A lld/test/wasm/lto/Inputs/thinlto_empty.ll
A lld/test/wasm/lto/obj-path.ll
M lld/test/wasm/lto/parallel.ll
A lld/test/wasm/lto/thinlto-index-only.ll
M lld/test/wasm/lto/thinlto.ll
M lld/wasm/CMakeLists.txt
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/LTO.cpp
M lld/wasm/LTO.h
M lld/wasm/Options.td
M lld/wasm/SymbolTable.cpp
M lldb/docs/index.rst
M lldb/docs/resources/test.rst
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Host/Editline.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Target/PathMappingList.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Host/common/FileAction.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/PathMappingList.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py
M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/Shell/Driver/LocalLLDBInit.test
M lldb/test/Shell/Driver/TestCore.test
M lldb/test/Shell/Driver/TestError.test
M lldb/test/Shell/Driver/TestFile.test
M lldb/test/Shell/Driver/TestHelp.test
M lldb/test/Shell/Driver/TestPositionalArgs.test
M lldb/test/Shell/Driver/TestRepl.test
M lldb/test/Shell/Process/TestEnvironment.test
M lldb/test/Shell/Quit/TestQuitExitCode-30.test
M lldb/test/Shell/Quit/TestQuitExitCode30.test
M lldb/test/Shell/Quit/TestQuitExitCodeHexA.test
M lldb/test/Shell/Register/x86-64-read.test
M lldb/test/Shell/Register/x86-64-ymm-read.test
M lldb/test/Shell/Register/x86-multithread-write.test
M lldb/test/Shell/ScriptInterpreter/Lua/bindings.test
M lldb/test/Shell/ScriptInterpreter/Lua/convenience_variables.test
M lldb/test/Shell/ScriptInterpreter/Lua/io.test
M lldb/test/Shell/ScriptInterpreter/Lua/lua-python.test
M lldb/test/Shell/ScriptInterpreter/Lua/print.test
M lldb/test/Shell/ScriptInterpreter/Lua/quit.test
M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/lit.local.cfg
M lldb/test/Shell/ScriptInterpreter/Python/fail_breakpoint_oneline.test
M lldb/test/Shell/ScriptInterpreter/Python/sb_address_exception.test
M lldb/test/Shell/ScriptInterpreter/Python/scripted_breakpoint.test
M lldb/test/Shell/ScriptInterpreter/Python/scripted_breakpoint_lua.test
R lldb/test/Shell/Subprocess/lit.local.cfg
A lldb/test/Shell/SymbolFile/DWARF/debug-types-mangled-name.ll
M lldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_loc.s
M lldb/test/Shell/SymbolFile/NativePDB/ast-functions-msvc.cpp
M lldb/test/Shell/SymbolFile/NativePDB/ast-functions.cpp
M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
M lldb/test/Shell/SymbolFile/NativePDB/ast-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/bitfields.cpp
M lldb/test/Shell/SymbolFile/NativePDB/blocks.s
M lldb/test/Shell/SymbolFile/NativePDB/break-by-function.cpp
M lldb/test/Shell/SymbolFile/NativePDB/break-by-line.cpp
M lldb/test/Shell/SymbolFile/NativePDB/class_layout.cpp
M lldb/test/Shell/SymbolFile/NativePDB/disassembly.cpp
M lldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp
M lldb/test/Shell/SymbolFile/NativePDB/function-types-calling-conv.cpp
M lldb/test/Shell/SymbolFile/NativePDB/function-types-classes.cpp
M lldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp
M lldb/test/Shell/SymbolFile/NativePDB/global-ctor-dtor.cpp
M lldb/test/Shell/SymbolFile/NativePDB/globals-bss.cpp
M lldb/test/Shell/SymbolFile/NativePDB/globals-fundamental.cpp
M lldb/test/Shell/SymbolFile/NativePDB/icf.cpp
M lldb/test/Shell/SymbolFile/NativePDB/incomplete-tag-type.cpp
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites.test
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
M lldb/test/Shell/SymbolFile/NativePDB/lit.local.cfg
M lldb/test/Shell/SymbolFile/NativePDB/load-pdb.cpp
M lldb/test/Shell/SymbolFile/NativePDB/local-variables-registers.s
M lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp
M lldb/test/Shell/SymbolFile/NativePDB/locate-pdb.cpp
M lldb/test/Shell/SymbolFile/NativePDB/lookup-by-address.cpp
M lldb/test/Shell/SymbolFile/NativePDB/lookup-by-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/nested-blocks-same-address.s
M lldb/test/Shell/SymbolFile/NativePDB/nested-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/s_constant.cpp
M lldb/test/Shell/SymbolFile/NativePDB/source-list.cpp
M lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp
M lldb/test/Shell/SymbolFile/NativePDB/tag-types.cpp
M lldb/test/Shell/SymbolFile/NativePDB/typedefs.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/SymbolFile/PDB/compilands.test
M lldb/test/Shell/SymbolFile/PDB/function-level-linking.test
M lldb/test/Shell/SymbolFile/PDB/lit.local.cfg
M lldb/test/Shell/SymbolFile/PDB/variables-locations.test
M lldb/test/Shell/helper/toolchain.py
M lldb/test/Shell/lit.cfg.py
M lldb/tools/debugserver/source/MacOSX/MachVMRegion.cpp
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/FifoFiles.cpp
M lldb/tools/lldb-dap/FifoFiles.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/IOStream.cpp
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/ProgressEvent.cpp
M lldb/tools/lldb-dap/RunInTerminal.cpp
M lldb/tools/lldb-dap/RunInTerminal.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-dwarf-expression-fuzzer/CMakeLists.txt
A lldb/tools/lldb-fuzzer/lldb-dwarf-expression-fuzzer/lldb-dwarf-expression-fuzzer.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
M lldb/unittests/Host/FileActionTest.cpp
M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M lldb/utils/CMakeLists.txt
R lldb/utils/lldb-repro/CMakeLists.txt
R lldb/utils/lldb-repro/lldb-repro.py
M llvm/docs/CodeOfConduct.rst
M llvm/docs/CodeReview.rst
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/Contributing.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/ResponseGuide.rst
M llvm/docs/UserGuides.rst
M llvm/docs/_templates/indexsidebar.html
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/Statistic.h
M llvm/include/llvm/ADT/StringMapEntry.h
M llvm/include/llvm/ADT/StringRef.h
A llvm/include/llvm/ADT/TrieHashIndexGenerator.h
A llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/include/llvm/Analysis/StructuralHash.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/BinaryFormat/Dwarf.def
A llvm/include/llvm/CGData/StableFunctionMap.h
A llvm/include/llvm/CGData/StableFunctionMapRecord.h
M llvm/include/llvm/CodeGen/AtomicExpandUtils.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/GlobalMerge.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
A llvm/include/llvm/CodeGen/TailDuplication.h
M llvm/include/llvm/CodeGen/TileShapeInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCVXsf.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/include/llvm/IR/StructuralHash.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCDXContainerWriter.h
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCXCOFFObjectWriter.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/include/llvm/MCA/HardwareUnits/LSUnit.h
M llvm/include/llvm/Object/WindowsMachineFlag.h
M llvm/include/llvm/ObjectYAML/COFFYAML.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Remarks/HotnessThresholdParser.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/Support/Alignment.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/Endian.h
A llvm/include/llvm/Support/NVPTXAddrSpace.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintInstructionCount.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/MustExecute.cpp
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
M llvm/lib/Analysis/StructuralHash.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/CGData/CMakeLists.txt
A llvm/lib/CGData/StableFunctionMap.cpp
A llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/LiveRangeShrink.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineSSAUpdater.cpp
M llvm/lib/CodeGen/MachineSizeOpts.cpp
M llvm/lib/CodeGen/MachineStripDebug.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/CodeGen/TailDuplication.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCInstPrinter.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Object/COFFObjectFile.cpp
M llvm/lib/ObjectYAML/COFFYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/SandboxIR/PassManager.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/Timer.cpp
A llvm/lib/Support/TrieRawHashMap.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FMV.td
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.cpp
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
M llvm/lib/Target/CSKY/CSKY.td
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.h
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/PowerPC/P10InstrResources.td
M llvm/lib/Target/PowerPC/P9InstrResources.td
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCScheduleP7.td
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
M llvm/lib/Target/RISCV/RISCVScheduleZvk.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.h
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
M llvm/lib/Target/X86/X86FastTileConfig.cpp
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrOperands.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86PadShortFunction.cpp
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86PreTileConfig.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TileConfig.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SizeOpts.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
M llvm/test/Analysis/CostModel/RISCV/fp-trig-log-exp.ll
M llvm/test/Analysis/CostModel/RISCV/fround.ll
M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
M llvm/test/Analysis/CostModel/RISCV/int-min-max.ll
M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fmul.ll
A llvm/test/Analysis/MustExecute/irreducible-cfg.ll
M llvm/test/Analysis/StackSafetyAnalysis/local.ll
M llvm/test/Analysis/StructuralHash/structural-hash-printer.ll
M llvm/test/Analysis/ValueTracking/numsignbits-from-assume.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/Assembler/invalid-inttype.ll
M llvm/test/Assembler/invalid-name.ll
M llvm/test/Assembler/invalid-name2.ll
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
A llvm/test/CodeGen/AArch64/GlobalISel/icmp-flags.mir
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslater-samesign.ll
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-sincos.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/select-splat-vector.ll
A llvm/test/CodeGen/AArch64/GlobalISel/sve-integer.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
M llvm/test/CodeGen/AArch64/avg.ll
Log Message:
-----------
Merge branch 'main' into users/meinersbur/irbuilder-extract-refactor
Commit: c7c5042e3c970fb7a483faceb94063e2c5577594
https://github.com/llvm/llvm-project/commit/c7c5042e3c970fb7a483faceb94063e2c5577594
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/saddo-ssubo.ll
Log Message:
-----------
Revert "[PowerPC] Add custom lowering for ssubo (#111748)" (#114672)
This reverts commit 8a0cb9ac869334fd6c6bd6aad8408623a7ccd7f6.
Reverting due to PPC bootstrap bot failure.
Commit: ad0a1b90adccd3a9b8fdfbe5923a6ebe9ca2e1a3
https://github.com/llvm/llvm-project/commit/ad0a1b90adccd3a9b8fdfbe5923a6ebe9ca2e1a3
Author: Philipp Rados <60818062+PhilippRados at users.noreply.github.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/README.md
Log Message:
-----------
[clang] Fix a typo in clangs README (#114410)
changed "disucss" to "discuss"
Commit: 94f9cbbe49b4c836cfbed046637cdc0c63a4a083
https://github.com/llvm/llvm-project/commit/94f9cbbe49b4c836cfbed046637cdc0c63a4a083
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
M llvm/lib/Transforms/Scalar/LoopRotation.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopTermFold.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
M llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
M llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp
M llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SCCP.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Log Message:
-----------
[Scalar] Remove unused includes (NFC) (#114645)
Identified with misc-include-cleaner.
Commit: 79178ca689a8259d19d93320a6299e3d31383ac4
https://github.com/llvm/llvm-project/commit/79178ca689a8259d19d93320a6299e3d31383ac4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandReturnObject.h
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Interpreter/CommandReturnObject.cpp
Log Message:
-----------
[lldb] Highlight "note:" in CommandReturnObject (#114610)
We have helpers to emit warnings and errors. Do the same thing for notes
to they stand out more.
Commit: fcd51dee42792bf264d26ab4978eb0a3a3001728
https://github.com/llvm/llvm-project/commit/fcd51dee42792bf264d26ab4978eb0a3a3001728
Author: Jorge Botto <Jorge.botto.16 at ucl.ac.uk>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/IR/Operator.h
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/intrinsic-distributive.ll
Log Message:
-----------
[InstCombine] Factorise Add and Min/Max using distributivity (#101717)
This PR fixes part of https://github.com/llvm/llvm-project/issues/92433.
It specifically adds the 4 cases mentioned in
https://github.com/llvm/llvm-project/issues/92433#issuecomment-2117064459.
I've added 8 positive tests, 4 of which are mentioned in the comment
above and 4 which are their commutative equivalents. Alive proof:
https://alive2.llvm.org/ce/z/z6eFTb
I've also added 8 negative tests, because we want to make sure we do not
optimise if the relevant flags are not relevant because the optimisation
wouldn't be sound. Alive proof that the optimisation is invalid:
https://alive2.llvm.org/ce/z/NvNjTD
I did have to make the integer types `i4` to make Alive not timeout and
to fit them all on one page.
Commit: b360dfd5031e76c97257ef1b3e90385bf297e8ab
https://github.com/llvm/llvm-project/commit/b360dfd5031e76c97257ef1b3e90385bf297e8ab
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Create dependent modules in parallel (#114507)
Create dependent modules in parallel in Target::SetExecutableModule.
This change was inspired by #110646 which takes the same approach when
attaching. Jason suggested we could use the same approach when you
create a target in LLDB.
I used Slack for benchmarking, which loads 902 images.
```
Benchmark 1: ./bin/lldb /Applications/Slack.app/Contents/MacOS/Slack
Time (mean ± σ): 1.225 s ± 0.003 s [User: 3.977 s, System: 1.521 s]
Range (min … max): 1.220 s … 1.229 s 10 runs
Benchmark 2: ./bin/lldb /Applications/Slack.app/Contents/MacOS/Slack
Time (mean ± σ): 3.253 s ± 0.037 s [User: 3.013 s, System: 0.248 s]
Range (min … max): 3.211 s … 3.310 s 10 runs
```
We see about a 2x speedup, which matches what Jason saw for the attach
scenario. I also ran this under TSan to confirm this doesn't introduce
any races or deadlocks.
Commit: 8129ba6c70aef54d87893adeb34e76f84fa69fe3
https://github.com/llvm/llvm-project/commit/8129ba6c70aef54d87893adeb34e76f84fa69fe3
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/Object/Minidump.h
M llvm/lib/Object/Minidump.cpp
Log Message:
-----------
[Minidump] Declare MinidumpFile::getListStream in the header instead of extern template (#112568)
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM
plugins on window.
Commit: 11df0ce1405ec3e3721b43764dc53250aa9e08a1
https://github.com/llvm/llvm-project/commit/11df0ce1405ec3e3721b43764dc53250aa9e08a1
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[NFC][AMDGPU] Use structured binding to replace explicit use of std::pair
Commit: af6ebb70d22ed75d4472a6069ba3a0890e0d3a00
https://github.com/llvm/llvm-project/commit/af6ebb70d22ed75d4472a6069ba3a0890e0d3a00
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Implement computeCost for remaining VPSingleDefRecipes.
Provide computeCost implementations for all remaining sub-classes of
VPSingleDefRecipe. This pushes one of the last uses of getLegacyCost
directly to its user: VPReplicateRecipe.
Commit: df232d46f5b62220073f106e960575b9cf6cc39d
https://github.com/llvm/llvm-project/commit/df232d46f5b62220073f106e960575b9cf6cc39d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't re-annotate CaseLabelColon as ConditionalExpr (#114639)
Fixes #114627.
Commit: 25af8f535edd59ec12a404954db233e2e65e8d9b
https://github.com/llvm/llvm-project/commit/25af8f535edd59ec12a404954db233e2e65e8d9b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format][doc] Fix a typo
Commit: 6f10b65297707c1e964d570421ab4559dc2928d4
https://github.com/llvm/llvm-project/commit/6f10b65297707c1e964d570421ab4559dc2928d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/SSAContext.cpp
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Remove unused includes (NFC) (#114679)
Identified with misc-include-cleaner.
Commit: 5091a359d9807db8f7d62375696f93fc34226969
https://github.com/llvm/llvm-project/commit/5091a359d9807db8f7d62375696f93fc34226969
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstCombine/log1p.ll
Log Message:
-----------
[ConstantFold] Special case log1p +/-0.0 (#114635)
C's Annex F specifies that log1p +/-0.0 returns the input value;
however, this behavior is optional and host C libraries may behave
differently. This change applies the Annex F behavior to constant
folding by LLVM.
Commit: bf099f4682bf088aaa49b2c72fb1ef3250213fbb
https://github.com/llvm/llvm-project/commit/bf099f4682bf088aaa49b2c72fb1ef3250213fbb
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMapEntry.h
M llvm/unittests/ADT/StringMapTest.cpp
Log Message:
-----------
[llvm][ADT] Structured bindings for move-only types in `StringMap` (#114676)
This PR implements destructuring of `StringMapEntry<T>` where `T` is a
move-only type. Also adds the non-const version.
Commit: ffe04e0351203524b212f850b48edf54dc5dbeb5
https://github.com/llvm/llvm-project/commit/ffe04e0351203524b212f850b48edf54dc5dbeb5
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/complex.rst
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
A libc/src/__support/complex_type.h
A libc/src/complex/CMakeLists.txt
A libc/src/complex/cimag.h
A libc/src/complex/cimagf.h
A libc/src/complex/cimagf128.h
A libc/src/complex/cimagf16.h
A libc/src/complex/cimagl.h
A libc/src/complex/creal.h
A libc/src/complex/crealf.h
A libc/src/complex/crealf128.h
A libc/src/complex/crealf16.h
A libc/src/complex/creall.h
A libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/cimag.cpp
A libc/src/complex/generic/cimagf.cpp
A libc/src/complex/generic/cimagf128.cpp
A libc/src/complex/generic/cimagf16.cpp
A libc/src/complex/generic/cimagl.cpp
A libc/src/complex/generic/creal.cpp
A libc/src/complex/generic/crealf.cpp
A libc/src/complex/generic/crealf128.cpp
A libc/src/complex/generic/crealf16.cpp
A libc/src/complex/generic/creall.cpp
M libc/test/src/CMakeLists.txt
A libc/test/src/complex/CImagTest.h
A libc/test/src/complex/CMakeLists.txt
A libc/test/src/complex/CRealTest.h
A libc/test/src/complex/cimag_test.cpp
A libc/test/src/complex/cimagf128_test.cpp
A libc/test/src/complex/cimagf16_test.cpp
A libc/test/src/complex/cimagf_test.cpp
A libc/test/src/complex/cimagl_test.cpp
A libc/test/src/complex/creal_test.cpp
A libc/test/src/complex/crealf128_test.cpp
A libc/test/src/complex/crealf16_test.cpp
A libc/test/src/complex/crealf_test.cpp
A libc/test/src/complex/creall_test.cpp
Log Message:
-----------
[libc][complex] implement different flavors of `creal` and `cimag` functions (#113300)
I have commented out the test for `neg_zero`(creal) because :
1. real(neg_zero + 0.0i) equals zero.
2. real(neg_zero - 0.0i) equals neg_zero.
I am not sure if this is the intended behaviour.
[EDIT]
I have updated tests for `neg_zero` (creal) to be :
```
EXPECT_FP_EQ(func(CFPT(neg_zero - zero * 1.0i)), neg_zero);
EXPECT_FP_EQ(func(CFPT(neg_zero + zero * 1.0i)), zero);
```
because all three [gcc, clang and GNU MPC] also give the same result.
https://godbolt.org/z/hxhcn6aof
and it seems that it is indeed the correct behaviour since Imaginary
types are not supported yet, refer #113671
Commit: 790a7859a84387004175744c7e94bc067cc47aa3
https://github.com/llvm/llvm-project/commit/790a7859a84387004175744c7e94bc067cc47aa3
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
Comment out CF16 entrypoints for aarch64 and CF128 entrypoints for X84-64 (#114696)
Temporarily Fixes buildbot errors due to #113300
Commit: 229abcd459dc365201185aa3988b9f8ae455de76
https://github.com/llvm/llvm-project/commit/229abcd459dc365201185aa3988b9f8ae455de76
Author: AdityaK <hiraditya at msn.com>
Date: 2024-11-02 (Sat, 02 Nov 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/machine-outliner-leaf-descendants.ll
Log Message:
-----------
[RISCV] Add testcase for outlining leaf descendants (#114450)
Adapted from AArch64/machine-outliner-leaf-descendants.ll
Towards: #114437
Commit: e102338b6e2f9ec1a882bdfb91eb4e364c7b6478
https://github.com/llvm/llvm-project/commit/e102338b6e2f9ec1a882bdfb91eb4e364c7b6478
Author: timon-ul <timon.ulrich at advantest.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
Log Message:
-----------
Support call hierarchy for fields and non-local variables (#113900)
Fixes https://github.com/clangd/clangd/issues/1308
Commit: 88823d08ab850efc40cf20498a697f4532aad1fd
https://github.com/llvm/llvm-project/commit/88823d08ab850efc40cf20498a697f4532aad1fd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode][NFC] Switch BitcastBuffer to SmallVector (#114677)
This is a little easier to work with since we are guaranteed that the
item type of the vector is byte sized and not something else.
Commit: 30213e99b86a078c9d472264c7edeea9aa638dd4
https://github.com/llvm/llvm-project/commit/30213e99b86a078c9d472264c7edeea9aa638dd4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_unbounded_array.h
Log Message:
-----------
[libc++] Use enable_if_t to constrain make_unique{,_for_overwrite} (#95044)
This improves the diagnostics a bit by using `enable_if_t` which clang
is aware of, instead of a custom SFINAE class, as well as writing the
functions in a more canonical style.
As a drive-by this also makes `__is_{,un}bounded_array` variable
templates instead of class templates.
Commit: a07b422e90174430213201d0b4b307f5ed089d3f
https://github.com/llvm/llvm-project/commit/a07b422e90174430213201d0b4b307f5ed089d3f
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/Syntax.h
M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/Syntax.cpp
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
Log Message:
-----------
[mlir][linalg] Fix `SemiFunctionType` custom parsing crash on missing `()` (#110365)
The `SemiFunctionType` allows printing/parsing a set of argument and
result types, where there is always exactly one argument type and zero
or more result types. If there are no result types, the argument type
can be written without enclosing parens in the assembly. If there is at
least one result type, the parens are mandatory.
This patch fixes a bug where omitting the parens around the argument
types for a `SemiFunctionType` with non-optional result Types would
crash the parser. It introduces a `bool` argument `resultOptional` to
the parser and printer which, when `false`, correctly enforces the
parens around argument types, otherwise printing an error.
Fix https://github.com/llvm/llvm-project/issues/109128
Commit: 33af68a476fee9e3380f0831c8a69265ace61b74
https://github.com/llvm/llvm-project/commit/33af68a476fee9e3380f0831c8a69265ace61b74
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M libcxx/include/__utility/is_pointer_in_range.h
M libcxx/include/string
Log Message:
-----------
[libc++] Add a few _LIBCPP_ASSERT_INTERNALs to make sure internal invariants are kept (#114575)
This can make it significanly easier to find bugs when working on
string.
Commit: 2fccd5c576f2e056954996c3071163fc5c1eb4d4
https://github.com/llvm/llvm-project/commit/2fccd5c576f2e056954996c3071163fc5c1eb4d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Log Message:
-----------
[AsmPrinter] Remove unused includes (NFC) (#114698)
Identified with misc-include-cleaner.
Commit: 6927a434ba774a578d6d0f28f74cca13452afc84
https://github.com/llvm/llvm-project/commit/6927a434ba774a578d6d0f28f74cca13452afc84
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SelectionDAG] Remove unused includes (NFC) (#114697)
Identified with misc-include-cleaner.
Commit: 23d209f350f4e51b2a42636ce45d10c6e208252d
https://github.com/llvm/llvm-project/commit/23d209f350f4e51b2a42636ce45d10c6e208252d
Author: Koakuma <koachan at protonmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
M llvm/lib/Target/Sparc/SparcFrameLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
M llvm/lib/Target/Sparc/SparcRegisterInfo.h
M llvm/test/CodeGen/Generic/ForceStackAlign.ll
M llvm/test/CodeGen/SPARC/2013-05-17-CallFrame.ll
A llvm/test/CodeGen/SPARC/alloca-align.ll
R llvm/test/CodeGen/SPARC/fail-alloca-align.ll
M llvm/test/CodeGen/SPARC/fp128.ll
M llvm/test/CodeGen/SPARC/stack-align.ll
Log Message:
-----------
[SPARC] Allow overaligned `alloca`s (#107223)
SPARC ABI doesn't use stack realignment, so let LLVM know about it in
`SparcFrameLowering`. This has the side effect of making all overaligned
allocations go through `LowerDYNAMIC_STACKALLOC`, so implement the
missing logic there too for overaligned allocations.
This makes the SPARC backend not crash on overaligned `alloca`s and fix
https://github.com/llvm/llvm-project/issues/89569.
Commit: e5bf14e9acf150f5e6b7dc129ea5c75e900171bf
https://github.com/llvm/llvm-project/commit/e5bf14e9acf150f5e6b7dc129ea5c75e900171bf
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
Log Message:
-----------
[InstCombine] Remove unused includes (NFC) (#114709)
Identified with misc-include-cleaner.
Commit: da9fece01278b85a3ead8f6a72faf7762778f44a
https://github.com/llvm/llvm-project/commit/da9fece01278b85a3ead8f6a72faf7762778f44a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/lib/Target/Sparc/SparcFrameLowering.cpp
Log Message:
-----------
[Sparc] Fix a warning
This patch fixes:
llvm/lib/Target/Sparc/SparcFrameLowering.cpp:226:29: error: unused
variable 'RegInfo' [-Werror,-Wunused-variable]
Commit: aa825b74af6b4278ab22a25a8dee3a60fe7ed2b7
https://github.com/llvm/llvm-project/commit/aa825b74af6b4278ab22a25a8dee3a60fe7ed2b7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[Vectorize] Remove unused includes (NFC) (#114643)
Identified with misc-include-cleaner.
Commit: 1b1e3255830f531f2b98a2590bbb96a5fc8f7cd0
https://github.com/llvm/llvm-project/commit/1b1e3255830f531f2b98a2590bbb96a5fc8f7cd0
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[bazel][libc] Port 33bdb53d864e3e244d8fd5649062f17b7d4c958d
Commit: 53ce5daf2c66513ecf55a7ee445357fdd18ea853
https://github.com/llvm/llvm-project/commit/53ce5daf2c66513ecf55a7ee445357fdd18ea853
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Port a6e72f93923378bffe13367f6dedd526ad39b184
Commit: 89b948d0ab8b10d212d10622058c9920f02f0c5b
https://github.com/llvm/llvm-project/commit/89b948d0ab8b10d212d10622058c9920f02f0c5b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
Log Message:
-----------
[bazel][lld] Port 9a450a0096befc91bc947db6410d4c640c3d97cd
Commit: eeb987f6f35aa614ed7a555be33d67c5cb1be230
https://github.com/llvm/llvm-project/commit/eeb987f6f35aa614ed7a555be33d67c5cb1be230
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M bolt/lib/Core/HashUtilities.cpp
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600InstPrinter.h
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.h
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.h
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/utils/TableGen/AsmWriterEmitter.cpp
Log Message:
-----------
[MC] Make generated `MCInstPrinter::getMnemonic` const (NFC) (#114682)
The value returned from the function depends only on the instruction opcode.
As a drive-by, change the type of the argument to const-reference.
Commit: 5b32c5954b1d00435a2264f8d1bd1fd9db9cb022
https://github.com/llvm/llvm-project/commit/5b32c5954b1d00435a2264f8d1bd1fd9db9cb022
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
A clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Implement bitcasts to floating-point values (#114485) (#114712)
This time I tested on big-endian hosts.
Commit: 9cfe3028ca7977fb582fa3b15b875e8772fc8fc0
https://github.com/llvm/llvm-project/commit/9cfe3028ca7977fb582fa3b15b875e8772fc8fc0
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/func/CMakeLists.txt
A libc/hdr/func/_Exit.h
A libc/hdr/func/aligned_alloc.h
A libc/hdr/func/free.h
A libc/hdr/func/malloc.h
A libc/hdr/func/realloc.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/new.cpp
M libc/src/__support/CPP/new.h
M libc/src/__support/CPP/string.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/file.cpp
M libc/src/__support/char_vector.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/vasprintf_internal.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/at_quick_exit_test.cpp
M libc/test/src/stdlib/atexit_test.cpp
Log Message:
-----------
[libc] Add proxy headers to handle memory allocation associated with the header `#include <stdlib.h> (#114690)
This finishes the work from
https://github.com/llvm/llvm-project/pull/114453 by adding proxy headers
for `malloc`, `realloc`, `free` and `aligned_alloc`.
Commit: 3098200fccabc781c68c0119ce33c89b500f6272
https://github.com/llvm/llvm-project/commit/3098200fccabc781c68c0119ce33c89b500f6272
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-insert.ll
Log Message:
-----------
[ISel] Propagate disjoint flag in ShrinkDemandedOp (#114560)
When trying to evaluate an expression in a narrower type, the
DAGCombine should propagate the disjoint flag, as it's equally
valid on the narrower expression.
This helps improve better use of addressing modes for some
Arm SME instructions, for example.
Commit: 4c8cc5a63b636c05f35cd8dab2c9e10686f40ea6
https://github.com/llvm/llvm-project/commit/4c8cc5a63b636c05f35cd8dab2c9e10686f40ea6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
Revert "[lldb] Create dependent modules in parallel (#114507)"
This reverts commit b360dfd5031e76c97257ef1b3e90385bf297e8ab.
Commit: 74b56c7eb807e2ba54bd7a2bcfda5d0bceff1c0c
https://github.com/llvm/llvm-project/commit/74b56c7eb807e2ba54bd7a2bcfda5d0bceff1c0c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M lldb/include/lldb/Target/PathMappingList.h
M lldb/source/Target/PathMappingList.cpp
Log Message:
-----------
Revert "[lldb] Improve locking in PathMappingLists (NFC) (#114576)"
This reverts commit c8209943faeead43c6932c5ddcc69c9e9d1e4262.
Commit: 2afc562d5d3bbe1b08cad486bc1cf1b078aba584
https://github.com/llvm/llvm-project/commit/2afc562d5d3bbe1b08cad486bc1cf1b078aba584
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M libc/hdr/func/_Exit.h
Log Message:
-----------
[libc] add stdlib.h header to the _Exit func proxy in full build (#114718)
Commit: 98ea1a81a28a6dd36941456c8ab4ce46f665f57a
https://github.com/llvm/llvm-project/commit/98ea1a81a28a6dd36941456c8ab4ce46f665f57a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/lib/Transforms/IPO/Annotation2Metadata.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/GlobalSplit.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp
M llvm/lib/Transforms/IPO/StripSymbols.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Log Message:
-----------
[IPO] Remove unused includes (NFC) (#114716)
Identified with misc-include-cleaner.
Commit: 915b910d800d7fab6a692294ff1d7075d8cba824
https://github.com/llvm/llvm-project/commit/915b910d800d7fab6a692294ff1d7075d8cba824
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M libc/hdr/types/atexithandler_t.h
M libc/hdr/types/fenv_t.h
M libc/hdr/types/fexcept_t.h
M libc/hdr/types/jmp_buf.h
M libc/hdr/types/locale_t.h
M libc/hdr/types/mode_t.h
M libc/hdr/types/sighandler_t.h
M libc/hdr/types/stack_t.h
M libc/hdr/types/suseconds_t.h
Log Message:
-----------
[libc] Fix typos in proxy type headers (#114717)
Commit: 6bad4514c938b3b48c0c719b8dd98b3906f2c290
https://github.com/llvm/llvm-project/commit/6bad4514c938b3b48c0c719b8dd98b3906f2c290
Author: David Green <david.green at arm.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
Log Message:
-----------
[AArch64] Extend vector mull test coverage. NFC
Commit: beb12f92c71981670e07e47275efc6b5647011c1
https://github.com/llvm/llvm-project/commit/beb12f92c71981670e07e47275efc6b5647011c1
Author: Luke Lau <luke at igalia.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[RISCV] Add +optimized-nfN-segment-load-store (#114414)
This is a follow up to #111511, where after benchmarking we learnt that
the Banana Pi F3 has fast segmented loads for not just NF=2, but also
NF=3 and NF=4:
https://github.com/preames/bp3-microarch#vlseg_lmul_x_sew_throughput
This adds tuning features to allow these segment loads and stores to be
costed cheaper and enables it for the spacemit-x60.
It also enables +optimized-nf2-segment-load-store by default in the
generic tuning to maintain the previous behaviour when compiled without
-mcpu or -mtune.
Commit: 4006b28d102b09f4c736ef0f2664873305fedcd3
https://github.com/llvm/llvm-project/commit/4006b28d102b09f4c736ef0f2664873305fedcd3
Author: Xi Ruoyao <xry111 at xry111.site>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
Log Message:
-----------
[LoongArch][Clang] Make the parameters and return value of {x,}vshuf.b builtins `signed char` vectors (#114512)
The lsxintrin.h and and lasxintrin.h headers uses `signed char` vectors
instead of `unsigned char` vectors. GCC also uses `signed char` for
them, so align their definition with the headers and GCC.
Depends on #114511. Part of #110834 fix.
Commit: 7f64e8f69186fcae365aa0c3da7668e02515444b
https://github.com/llvm/llvm-project/commit/7f64e8f69186fcae365aa0c3da7668e02515444b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
Log Message:
-----------
[flang][openacc] Avoid crash when variable is not declared in reduction (#114603)
Commit: 77b7d9de832cf16c88d2b7102625df8fd1a40635
https://github.com/llvm/llvm-project/commit/77b7d9de832cf16c88d2b7102625df8fd1a40635
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] Add const to isAllocationWithHotColdVariant (NFC) (#114719)
Commit: 80a49487e1b64d32d00f0c80cff746cfd4988b36
https://github.com/llvm/llvm-project/commit/80a49487e1b64d32d00f0c80cff746cfd4988b36
Author: Zhaoshi Zheng <zhaoshiz at quicinc.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/clang_f_opts.c
A clang/test/Driver/windows-lto.c
Log Message:
-----------
[clang][Driver] Allow -fuse-lld=lld-link when lto is enabled on *windows-msvc targets (#113966)
Follow-up on https://github.com/llvm/llvm-project/pull/109607, we have a
use case on Windows-on-ARM64 where `cmake -G "Unix Makefiles"` generates
`-fuse-ld=lld-link`, which is accidentally disallowed by PR#109607.
Commit: 8251754e3acfd0440467a80944e80d46b4da97db
https://github.com/llvm/llvm-project/commit/8251754e3acfd0440467a80944e80d46b4da97db
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/ARM32/vararg-arm32.ll
M llvm/test/Instrumentation/MemorySanitizer/Mips32/vararg-mips.ll
M llvm/test/Instrumentation/MemorySanitizer/Mips32/vararg-mipsel.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/kernel-ppcle.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppc.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppcle.ll
M llvm/test/Instrumentation/MemorySanitizer/RISCV32/vararg-riscv32.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/msan_x86_bts_asm.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/msan_x86intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse41-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg-too-large.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg_call.ll
Log Message:
-----------
[MSan] Update 32-bit test checks (#112401)
* As suggested in
https://github.com/llvm/llvm-project/pull/111835#discussion_r1800179290,
ran llvm/utils/update_test_checks.py on all the copied tests.
* Target triple is still unchanged
---------
Co-authored-by: Kamil Kashapov <kashapov at ispras.ru>
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 2ac156a666f8340cecd71d7cf3db84a6e7f67cdd
https://github.com/llvm/llvm-project/commit/2ac156a666f8340cecd71d7cf3db84a6e7f67cdd
Author: Luke Lau <luke at igalia.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
Log Message:
-----------
[RISCV] Remove +zfh from shuffle test. NFC
The scalar insert isn't the interesting bit that we're testing, so
remove it to simplify the check prefixes a bit.
Commit: 798c5fbdb740f143605fd27fea5d6f914f7eb34c
https://github.com/llvm/llvm-project/commit/798c5fbdb740f143605fd27fea5d6f914f7eb34c
Author: Luke Lau <luke at igalia.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
Log Message:
-----------
[RISCV] Remove unused check prefixes. NFC
Commit: dc45ff1d2a01ff68326c6444dba683cf66d80651
https://github.com/llvm/llvm-project/commit/dc45ff1d2a01ff68326c6444dba683cf66d80651
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/print-pipeline-passes.ll
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
[PassBuilder] Add `ThinOrFullLTOPhase` to early simplication EP call backs (#114547)
The early simplication pipeline is used in non-LTO and (Thin/Full)LTO
pre-link
stage. There are some passes that we want them in non-LTO mode, but not
at LTO
pre-link stage. The control is missing currently. This PR adds the
support. To
demonstrate the use, we only enable the internalization pass in non-LTO
mode for
AMDGPU because having it run in pre-link stage causes some issues.
Commit: 390300d9f41df6ad71f0f4196ef4885d4bd5dc48
https://github.com/llvm/llvm-project/commit/390300d9f41df6ad71f0f4196ef4885d4bd5dc48
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/print-pipeline-passes.ll
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
[PassBuilder] Add `ThinOrFullLTOPhase` to optimizer pipeline (#114577)
Commit: bdfadb16d7928eb6bde5bf6c4e7b499c18438a31
https://github.com/llvm/llvm-project/commit/bdfadb16d7928eb6bde5bf6c4e7b499c18438a31
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[mlir] Apply ClangTidy findings
Remove unused using declarations
Commit: 2ff41b4eee0c6e30eaa7119b893fde4bdd010045
https://github.com/llvm/llvm-project/commit/2ff41b4eee0c6e30eaa7119b893fde4bdd010045
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/sve-saturating-arith.ll
Log Message:
-----------
[GlobalISel][AArch64] Legalize G_UADDSAT, G_SADDSAT, G_USUBSAT, and G… (#114664)
…_SSUBSAT
sve-int-imm.ll also tests saturation, but it has unsupported splats.
Commit: 0067b79feca267ca0d70fb4af8c08c9b78cdb418
https://github.com/llvm/llvm-project/commit/0067b79feca267ca0d70fb4af8c08c9b78cdb418
Author: Kazu Hirata <kazu at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
Log Message:
-----------
[memprof] Use MinimumSupportedVersion in place of Verion0 (NFC) (#114723)
I'm planning to remove old versions of the MemProf indexed formats at
some point. Replacing these occurrences of Version0 with
MinimumSupportedVersion allows me to touch fewer places when I remove
old versions in the future.
Note that these two parameters being touched in this patch have
nothing to do with the default MemProf version that llvm-profdata
uses, which is controlled by MemProfVersionRequested in
llvm-profdata.cpp.
Commit: de6ab1bcbc55bab9b8cd46102a9f02dea5e2af12
https://github.com/llvm/llvm-project/commit/de6ab1bcbc55bab9b8cd46102a9f02dea5e2af12
Author: Luke Lau <luke at igalia.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
Log Message:
-----------
[RISCV] Remove unnecessary +zfh from strided VP load/store tests. NFC
Commit: 8bc04e4c93cb681249c258bc0a1b1aa1b3fe71f4
https://github.com/llvm/llvm-project/commit/8bc04e4c93cb681249c258bc0a1b1aa1b3fe71f4
Author: Luke Lau <luke at igalia.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
Log Message:
-----------
[RISCV] Remove completed TODO in VP strided load test. NFC
This was done in #101329
Commit: f8535fd8b4a986cafa2e77e0f880dbd4e10300d8
https://github.com/llvm/llvm-project/commit/f8535fd8b4a986cafa2e77e0f880dbd4e10300d8
Author: Luke Lau <luke at igalia.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
Log Message:
-----------
[RISCV] Remove unused check prefixes from VP strided load test. NFC
Commit: 3dd1d888fb18b40859504e207e57abdc6c43d838
https://github.com/llvm/llvm-project/commit/3dd1d888fb18b40859504e207e57abdc6c43d838
Author: Justin Stitt <justinstitt at google.com>
Date: 2024-11-03 (Sun, 03 Nov 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/test/CodeGen/ubsan-type-ignorelist-category-2.test
A clang/test/CodeGen/ubsan-type-ignorelist-category.test
Log Message:
-----------
[Clang] Implement labelled type filtering for overflow/truncation sanitizers w/ SSCLs (#107332)
[Related
RFC](https://discourse.llvm.org/t/rfc-support-globpattern-add-operator-to-invert-matches/80683/5?u=justinstitt)
### Summary
Implement type-based filtering via [Sanitizer Special Case
Lists](https://clang.llvm.org/docs/SanitizerSpecialCaseList.html) for
the arithmetic overflow and truncation sanitizers.
Currently, using the `type:` prefix with these sanitizers does nothing.
I've hooked up the SSCL parsing with Clang codegen so that we don't emit
the overflow/truncation checks if the arithmetic contains an ignored
type.
### Usefulness
You can craft ignorelists that ignore specific types that are expected
to overflow or wrap-around. For example, to ignore `my_type` from
`unsigned-integer-overflow` instrumentation:
```bash
$ cat ignorelist.txt
[unsigned-integer-overflow]
type:my_type=no_sanitize
$ cat foo.c
typedef unsigned long my_type;
void foo() {
my_type a = ULONG_MAX;
++a;
}
$ clang foo.c -fsanitize=unsigned-integer-overflow -fsanitize-ignorelist=ignorelist.txt ; ./a.out
// --> no sanitizer error
```
If a type is functionally intended to overflow, like
[refcount_t](https://kernsec.org/wiki/index.php/Kernel_Protections/refcount_t)
and its associated APIs in the Linux kernel, then this type filtering
would prove useful for reducing sanitizer noise. Currently, the Linux
kernel dealt with this by
[littering](https://elixir.bootlin.com/linux/v6.10.8/source/include/linux/refcount.h#L139
) `__attribute__((no_sanitize("signed-integer-overflow")))` annotations
on all the `refcount_t` APIs. I think this serves as an example of how a
codebase could be made cleaner. We could make custom types that are
filtered out in an ignorelist, allowing for types to be more expressive
-- without the need for annotations. This accomplishes a similar goal to
https://github.com/llvm/llvm-project/pull/86618.
Yet another use case for this type filtering is whitelisting. We could
ignore _all_ types, save a few.
```bash
$ cat ignorelist.txt
[implicit-signed-integer-truncation]
type:*=no_sanitize # ignore literally all types
type:short=sanitize # except `short`
$ cat bar.c
// compile with -fsanitize=implicit-signed-integer-truncation
void bar(int toobig) {
char a = toobig; // not instrumented
short b = toobig; // instrumented
}
```
### Other ways to accomplish the goal of sanitizer
allowlisting/whitelisting
* ignore list SSCL type support (this PR that you're reading)
* [my sanitize-allowlist
branch](https://github.com/llvm/llvm-project/compare/main...JustinStitt:llvm-project:sanitize-allowlist)
- this just implements a sibling flag `-fsanitize-allowlist=`, removing
some of the double negative logic present with `skip`/`ignore` when
trying to whitelist something.
* [Glob
Negation](https://discourse.llvm.org/t/rfc-support-globpattern-add-operator-to-invert-matches/80683)
- Implement a negation operator to the GlobPattern class so the
ignorelist query can use them to simulate allowlisting
Please let me know which of the three options we like best. They are not
necessarily mutually exclusive.
Here's [another related
PR](https://github.com/llvm/llvm-project/pull/86618) which implements a
`wraps` attribute. This can accomplish a similar goal to this PR but
requires in-source changes to codebases and also covers a wider variety
of integer definedness problems.
### CCs
@kees @vitalybuka @bwendling
---------
Signed-off-by: Justin Stitt <justinstitt at google.com>
Commit: 263775c0fd721d09e6205cd77c7c0cf72003966c
https://github.com/llvm/llvm-project/commit/263775c0fd721d09e6205cd77c7c0cf72003966c
Author: David Green <david.green at arm.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/load.ll
Log Message:
-----------
[AArch64] Extend and cleanup load.ll test. NFC
Adds some sext/zext variants of the scalar tests.
Commit: cec147ae5cb9debd74cc3dc2bca12e8cd8a30831
https://github.com/llvm/llvm-project/commit/cec147ae5cb9debd74cc3dc2bca12e8cd8a30831
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_oob_test.cpp
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/test/asan/CMakeLists.txt
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/ubsan/CMakeLists.txt
Log Message:
-----------
[ASan][test] Enable ASan tests on SPARC (#107405)
With PR #107223 and PR #107403, ASan testing can be enabled on SPARC.
This patch does so, 32-bit only on both Solaris and Linux. There is no
64-bit support even in GCC.
Apart from the obvious CMake changes, this patch includes a couple of
testcase adjustments necessary for SPARC:
- In `asan_oob_test.cpp`, the `OOB_int` subtest needs to be disabled: it
performs unaligned accesses that cannot work on a strict-alignment
target like SPARC.
- `asan_test.cpp` needs to disable subtests that depend on support for
`__builtin_setjmp` and `__builtin_longjmp`.
- `zero_page_pc.cpp` reports `0x5` as the faulting address on access to
`0x4`. I don't really know why, but it's consistent between Solaris and
Linux.
Tested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`.
Commit: 7ceb19e599fb42aeb103261425077dd10acbeae4
https://github.com/llvm/llvm-project/commit/7ceb19e599fb42aeb103261425077dd10acbeae4
Author: Qiu Chaofan <qcf at ecnelises.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtin_set_flt_rounds.c
Log Message:
-----------
[PowerPC] Support set_flt_rounds builtin (#73750)
Commit: 4f740f9d77cd038c8e55195fa189748e58ea6476
https://github.com/llvm/llvm-project/commit/4f740f9d77cd038c8e55195fa189748e58ea6476
Author: Xi Ruoyao <xry111 at xry111.site>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
M clang/test/Headers/lasxintrin.c
M clang/test/Headers/lsxintrin.c
Log Message:
-----------
[LoongArch][Clang] Make the parameters and return value of {x,}vxor.v builti ns `unsigned char` vectors (#114513)
The lsxintrin.h and and lasxintrin.h headers uses `unsigned char`
vectors instead of `signed char` vectors. GCC also uses `unsigned char`
for them, so align their definition with the headers and GCC.
Fixes #110834.
Depends on #114512.
Commit: daa9af179f5967e90cd45cec35ead793a4166679
https://github.com/llvm/llvm-project/commit/daa9af179f5967e90cd45cec35ead793a4166679
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
A llvm/test/Transforms/FunctionSpecialization/ssa-copy.ll
Log Message:
-----------
[FuncSpec] Handle ssa_copy intrinsic calls in InstCostVisitor (#114247)
Look through ssa_copy intrinsic calls when computing codesize bonus for
a specialization.
Also remove redundant logic to skip computing codesize bonus for
ssa_copy intrinsics, now these are considered zero-cost by TTI (in PR
#75294).
Commit: 8851ea64a5d01fbf406383f13fcba347e730bc2d
https://github.com/llvm/llvm-project/commit/8851ea64a5d01fbf406383f13fcba347e730bc2d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
A llvm/test/Transforms/ConstantHoisting/ARM/apint-assert.ll
Log Message:
-----------
[ConstantHoist] Fix APInt ctor assertion
The result here may require truncation. Fix this by removing the
calculateOffsetDiff() helper entirely. As far as I can tell, this
code does not actually have to deal with different bitwidths.
findBaseConstants() will produce ranges of constants with equal
types, which is what maximizeConstantsInRange() will then work
on.
Fixes assertion reported at:
https://github.com/llvm/llvm-project/pull/114539#issuecomment-2453008679
Commit: ac1869aa70a8cb0e22679fd6eabbb30c101d22bc
https://github.com/llvm/llvm-project/commit/ac1869aa70a8cb0e22679fd6eabbb30c101d22bc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
M llvm/test/Transforms/PhaseOrdering/X86/horiz-math-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/horiz-math.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
Log Message:
-----------
[CostModel][X86] Add initial costs for non-lane-crossing one/two input shuffles (#114680)
Most of the x86 shuffle instructions operate within each 128-bit subvector lane, but our shuffle costs struggle to handle this and have to fallback to worst case shuffles that reference elements from any lane.
This patch detects shuffle masks that we know are "inlane" and enable us to assume a cheaper shuffle cost.
Commit: 90764582872bc4bd9613646b347b49c60ce2bc72
https://github.com/llvm/llvm-project/commit/90764582872bc4bd9613646b347b49c60ce2bc72
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/wsloop-simd.f90
Log Message:
-----------
Revert "[Flang][OpenMP] Disable lowering of omp.simd reductions in co… (#113683)
…mposites (#112686)"
Lowering of reductions in composite operations can now be re-enabled,
since previous commits in this PR stack fix the MLIR representation
produced and it no longer triggers a compiler crash during translation
to LLVM IR.
This reverts commit c44860c8d2582abd88794267b4fa0fa953bbef80.
Commit: f1888e4029ec2bf657a072518dcc1c9b461559be
https://github.com/llvm/llvm-project/commit/f1888e4029ec2bf657a072518dcc1c9b461559be
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M libclc/generic/include/clc/clc.h
M libclc/generic/include/clc/clcmacros.h
Log Message:
-----------
[libclc] Add some include guards and format a file
Commit: e28d7f713471cf33908a0fe5223f480dfd9b06f0
https://github.com/llvm/llvm-project/commit/e28d7f713471cf33908a0fe5223f480dfd9b06f0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M libclc/generic/lib/math/clc_tan.cl
Log Message:
-----------
[libclc] Format clc_tan.cl. NFC
Commit: 4aaa92578686176243a294eeb2ca5697a99edcaa
https://github.com/llvm/llvm-project/commit/4aaa92578686176243a294eeb2ca5697a99edcaa
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
Log Message:
-----------
[llvm][CodeExtractor] fix bug in parameter naming (#114237)
The code extractor tries to apply the names of source input and output
values to function arguments. Not all input and output values get added
as arguments: some are instead placed inside of a struct passed to the
function. The existing renaming code skipped trying to set these
struct-packed arguments names (as there is no corresponding function
argument to rename), but it still incremented the iterator over the
function arguments. This could result in dereferencing an end iterator
if struct-packed inputs/outputs preceded non-struct-packed
inputs/outputs.
This patch rewrites this loop to avoid the end iterator dereference.
Commit: eee8718e26b4ce8972abefc35d2beae96521075f
https://github.com/llvm/llvm-project/commit/eee8718e26b4ce8972abefc35d2beae96521075f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.py
Log Message:
-----------
[lldb][test] TestDataFormatterLibcxxOptionalSimulator.py: skip on Clang-17
A Clang change introduced in this version breaks this test. Said
change was reverted in `52a9ba7ca4fb9427706c28bb3ca15f7a56eecf3f`
in newer versions of Clang.
Commit: 5e75880165553e9afb721239689a9c79ec84a108
https://github.com/llvm/llvm-project/commit/5e75880165553e9afb721239689a9c79ec84a108
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/load-store.ll
M llvm/test/CodeGen/PowerPC/big-endian-store-forward.ll
Log Message:
-----------
CodeGen/test: improve a test, regen with UTC (#113338)
Commit: 5ed3f463597700f6e41a16047c8bad2309aae12c
https://github.com/llvm/llvm-project/commit/5ed3f463597700f6e41a16047c8bad2309aae12c
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
A llvm/test/Transforms/FunctionSpecialization/cmp-with-range.ll
Log Message:
-----------
[FuncSpec] Improve handling of Comparison Instructions (#114073)
When visiting comparison instructions during computation of a
specializations's bonus, make use of information from the lattice value
of the other operand in the case where we have not found this to have a
specific constant value.
Commit: 5f30b1aae0a3e2d3c4c9a50ef4af9457fbea094f
https://github.com/llvm/llvm-project/commit/5f30b1aae0a3e2d3c4c9a50ef4af9457fbea094f
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/unittests/Transforms/IPO/FunctionSpecializationTest.cpp
Log Message:
-----------
[FuncSpec] Improve handling of BinaryOperator instructions (#114534)
When visiting BinaryOperator instructions during estimation of codesize
savings for a candidate specialization, don't bail when the other
operand is not found to be constant. This allows us to find more
constants than we otherwise would, for example `and(false, x)`.
Commit: afa23ea03741193e36b05ddd508d38a90a18a8b8
https://github.com/llvm/llvm-project/commit/afa23ea03741193e36b05ddd508d38a90a18a8b8
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrCompiler.td
A llvm/test/CodeGen/X86/tls-function-argument.ll
Log Message:
-----------
[X86] Insert CALLSEQ when lowering GlobalTLSAddress for ELF targets (#113706)
When lowering a TLS address for an ELF target, we introduce a call to
obtain the TLS base address. So far, we do not insert CALLSEQ_START/END
markers around this call when it is generated, but use a custom inserter
to insert them in a later phase. This is problematic, since the TLS
address call can land in a CALLSEQ for another call before it is
wrapped in its own CALLSEQ. That results in nested CALLSEQs, which are
illegal and cause errors when expensive checks are enabled, e.g., in
issues #45574 and #98042.
This patch instead wraps each TLS address call in a CALLSEQ when it is
generated so that instruction selection can avoid nested CALLSEQs. This
is an alternative to PR #106965, which instead changes the custom
inserter to avoid generating CALLSEQs when the TLS address call is
already in a CALLSEQ.
This patch also effectively reverts commit
[228978c](https://github.com/llvm/llvm-project/commit/228978c0dcfc9a9793f3dc8a69f42471192223bc),
which introduced the CustomInserter that so far added the CALLSEQ around
TLSAddrs.
Fixes #45574 and #98042.
Commit: f96ea8983b8edc941107c7df2e4f08b44a1663d0
https://github.com/llvm/llvm-project/commit/f96ea8983b8edc941107c7df2e4f08b44a1663d0
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M clang/docs/APINotes.rst
Log Message:
-----------
[APINotes] Document immortal reference type annotation
API Notes allow annotating a C++ reference type with its retain/release
operations. These are honored by the Swift compiler when the type is
used from Swift. Apart from names of C++ functions that need to be
called to retain/release the object, API Notes also accept a value of
`immortal` which indicates that the object is to be considered alive for
the duration of the program.
Commit: b4ef43fc75dfeea76d4d968553858b2820420e58
https://github.com/llvm/llvm-project/commit/b4ef43fc75dfeea76d4d968553858b2820420e58
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M libclc/generic/lib/math/clc_fma.cl
Log Message:
-----------
[libclc] Format clc_fma.cl. NFC
Commit: 17d8ed717fced72ed313ee7553309345630b0097
https://github.com/llvm/llvm-project/commit/17d8ed717fced72ed313ee7553309345630b0097
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M clang/lib/AST/Type.cpp
A clang/test/SemaCXX/nullability_redecl.cpp
Log Message:
-----------
[clang] Make nullability-on-classes more robust to redeclarations (#114778)
This is relevant after b24650e814e55d90acfc40acf045456c98f32b9c where
the selected template decl can be anything, even apparently a friend
declaration in some cases.
Commit: e41df5cb8e34f471da351d6e78c0e47e3639fd12
https://github.com/llvm/llvm-project/commit/e41df5cb8e34f471da351d6e78c0e47e3639fd12
Author: Nathan Gauër <brioche at google.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
A llvm/test/CodeGen/SPIRV/decoration-order.ll
Log Message:
-----------
[SPIR-V] Fix OpDecorate emission after vreg def. (#114426)
In SPIR-V, OpDecorate instructions are allowed to forward-declare a
virtual register. But while we are at the MIR level, we must comply with
stricter rules, meaning OpDecorate should be emited after, not before
the reg definition.
(In some cases, we defined those just before, switching to just after).
Related to #110652
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: a15bf88d532ad2e81d7c54c480707f6c7d8bbeab
https://github.com/llvm/llvm-project/commit/a15bf88d532ad2e81d7c54c480707f6c7d8bbeab
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/reudction-or-non-poisoned.ll
Log Message:
-----------
[SLP][NFC]Add a test with missing freeze instruction before reduction, NFC
Commit: 035c7eadfdf7a4a5d8d32a37307f83188a838627
https://github.com/llvm/llvm-project/commit/035c7eadfdf7a4a5d8d32a37307f83188a838627
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M bolt/lib/Core/HashUtilities.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang/README.md
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
M clang/include/clang/Format/Format.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/CodeGen/builtin_set_flt_rounds.c
A clang/test/CodeGen/ubsan-type-ignorelist-category-2.test
A clang/test/CodeGen/ubsan-type-ignorelist-category.test
M clang/test/Driver/clang_f_opts.c
A clang/test/Driver/windows-lto.c
M clang/test/Headers/lasxintrin.c
M clang/test/Headers/lsxintrin.c
M clang/unittests/Format/FormatTest.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_oob_test.cpp
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/test/asan/CMakeLists.txt
M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/ubsan/CMakeLists.txt
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/test/Lower/OpenMP/wsloop-simd.f90
M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/complex.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/func/CMakeLists.txt
A libc/hdr/func/_Exit.h
A libc/hdr/func/aligned_alloc.h
A libc/hdr/func/free.h
A libc/hdr/func/malloc.h
A libc/hdr/func/realloc.h
M libc/hdr/types/atexithandler_t.h
M libc/hdr/types/fenv_t.h
M libc/hdr/types/fexcept_t.h
M libc/hdr/types/jmp_buf.h
M libc/hdr/types/locale_t.h
M libc/hdr/types/mode_t.h
M libc/hdr/types/sighandler_t.h
M libc/hdr/types/stack_t.h
M libc/hdr/types/suseconds_t.h
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/new.cpp
M libc/src/__support/CPP/new.h
M libc/src/__support/CPP/string.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/file.cpp
M libc/src/__support/char_vector.h
A libc/src/__support/complex_type.h
A libc/src/complex/CMakeLists.txt
A libc/src/complex/cimag.h
A libc/src/complex/cimagf.h
A libc/src/complex/cimagf128.h
A libc/src/complex/cimagf16.h
A libc/src/complex/cimagl.h
A libc/src/complex/creal.h
A libc/src/complex/crealf.h
A libc/src/complex/crealf128.h
A libc/src/complex/crealf16.h
A libc/src/complex/creall.h
A libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/cimag.cpp
A libc/src/complex/generic/cimagf.cpp
A libc/src/complex/generic/cimagf128.cpp
A libc/src/complex/generic/cimagf16.cpp
A libc/src/complex/generic/cimagl.cpp
A libc/src/complex/generic/creal.cpp
A libc/src/complex/generic/crealf.cpp
A libc/src/complex/generic/crealf128.cpp
A libc/src/complex/generic/crealf16.cpp
A libc/src/complex/generic/creall.cpp
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/vasprintf_internal.h
M libc/test/src/CMakeLists.txt
A libc/test/src/complex/CImagTest.h
A libc/test/src/complex/CMakeLists.txt
A libc/test/src/complex/CRealTest.h
A libc/test/src/complex/cimag_test.cpp
A libc/test/src/complex/cimagf128_test.cpp
A libc/test/src/complex/cimagf16_test.cpp
A libc/test/src/complex/cimagf_test.cpp
A libc/test/src/complex/cimagl_test.cpp
A libc/test/src/complex/creal_test.cpp
A libc/test/src/complex/crealf128_test.cpp
A libc/test/src/complex/crealf16_test.cpp
A libc/test/src/complex/crealf_test.cpp
A libc/test/src/complex/creall_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/at_quick_exit_test.cpp
M libc/test/src/stdlib/atexit_test.cpp
M libclc/generic/include/clc/clc.h
M libclc/generic/include/clc/clcmacros.h
M libclc/generic/lib/math/clc_tan.cl
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__utility/is_pointer_in_range.h
M libcxx/include/string
M lldb/include/lldb/Interpreter/CommandReturnObject.h
M lldb/include/lldb/Target/PathMappingList.h
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Target/PathMappingList.cpp
M llvm/include/llvm/ADT/StringMapEntry.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/Object/Minidump.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/SSAContext.cpp
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Object/Minidump.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600InstPrinter.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.h
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
M llvm/lib/Target/Sparc/SparcFrameLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
M llvm/lib/Target/Sparc/SparcRegisterInfo.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMInstPrinter.h
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Transforms/IPO/Annotation2Metadata.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/GlobalSplit.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp
M llvm/lib/Transforms/IPO/StripSymbols.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
M llvm/lib/Transforms/Scalar/LoopRotation.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopTermFold.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
M llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
M llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp
M llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SCCP.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-insert.ll
A llvm/test/CodeGen/AArch64/sve-saturating-arith.ll
M llvm/test/CodeGen/AMDGPU/print-pipeline-passes.ll
M llvm/test/CodeGen/Generic/ForceStackAlign.ll
M llvm/test/CodeGen/PowerPC/saddo-ssubo.ll
A llvm/test/CodeGen/RISCV/machine-outliner-leaf-descendants.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/SPARC/2013-05-17-CallFrame.ll
A llvm/test/CodeGen/SPARC/alloca-align.ll
R llvm/test/CodeGen/SPARC/fail-alloca-align.ll
M llvm/test/CodeGen/SPARC/fp128.ll
M llvm/test/CodeGen/SPARC/stack-align.ll
M llvm/test/Instrumentation/MemorySanitizer/ARM32/vararg-arm32.ll
M llvm/test/Instrumentation/MemorySanitizer/Mips32/vararg-mips.ll
M llvm/test/Instrumentation/MemorySanitizer/Mips32/vararg-mipsel.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/kernel-ppcle.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppc.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppcle.ll
M llvm/test/Instrumentation/MemorySanitizer/RISCV32/vararg-riscv32.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/msan_x86_bts_asm.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/msan_x86intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse41-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg-too-large.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg_call.ll
A llvm/test/Transforms/ConstantHoisting/ARM/apint-assert.ll
A llvm/test/Transforms/FunctionSpecialization/ssa-copy.ll
A llvm/test/Transforms/InstCombine/intrinsic-distributive.ll
M llvm/test/Transforms/InstCombine/log1p.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
M llvm/test/Transforms/PhaseOrdering/X86/horiz-math-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/horiz-math.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
M llvm/tools/opt/NewPMDriver.cpp
M llvm/unittests/ADT/StringMapTest.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/Syntax.h
M mlir/include/mlir/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/Syntax.cpp
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Merge commit '4aaa92578686176243a294eeb2ca5697a99edcaa^' into users/meinersbur/irbuilder-extract-refactor
Commit: d5cb3a9bccf5ff594a91e0a77e8d3a93f4aebc12
https://github.com/llvm/llvm-project/commit/d5cb3a9bccf5ff594a91e0a77e8d3a93f4aebc12
Author: U-BERGUFFLEN\meinersbur <llvm-project at meinersbur.de>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
Log Message:
-----------
Merge commit '4aaa92578686176243a294eeb2ca5697a99edcaa' into users/meinersbur/irbuilder-extract-refactor
Commit: 394703159e1a5fbbc5177ea84df72d6ffacbcb65
https://github.com/llvm/llvm-project/commit/394703159e1a5fbbc5177ea84df72d6ffacbcb65
Author: U-BERGUFFLEN\meinersbur <llvm-project at meinersbur.de>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
Log Message:
-----------
post-merge fix
Commit: 3cffa3474fd20518e19afa0c0ad3ff602864f688
https://github.com/llvm/llvm-project/commit/3cffa3474fd20518e19afa0c0ad3ff602864f688
Author: U-BERGUFFLEN\meinersbur <llvm-project at meinersbur.de>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M clang/docs/APINotes.rst
M clang/lib/AST/Type.cpp
A clang/test/SemaCXX/nullability_redecl.cpp
M libclc/generic/lib/math/clc_fma.cl
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.py
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/test/CodeGen/NVPTX/load-store.ll
M llvm/test/CodeGen/PowerPC/big-endian-store-forward.ll
A llvm/test/CodeGen/SPIRV/decoration-order.ll
A llvm/test/CodeGen/X86/tls-function-argument.ll
A llvm/test/Transforms/FunctionSpecialization/cmp-with-range.ll
A llvm/test/Transforms/SLPVectorizer/reudction-or-non-poisoned.ll
M llvm/unittests/Transforms/IPO/FunctionSpecializationTest.cpp
Log Message:
-----------
Merge branch 'main' into users/meinersbur/irbuilder-extract-refactor
Compare: https://github.com/llvm/llvm-project/compare/cd3c85747ffe...3cffa3474fd2
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