[all-commits] [llvm/llvm-project] 7b9b28: [Clang] Refactor implementation of "Lifetime exten...
darkbuck via All-commits
all-commits at lists.llvm.org
Mon Apr 15 23:21:39 PDT 2024
Branch: refs/heads/users/darkbuck/spr/globalisel-handle-more-commutable-instructions-in-commute_constant_to_rhs
Home: https://github.com/llvm/llvm-project
Commit: 7b9b28dbd2938877a94737e28b7eb9e3cdd82755
https://github.com/llvm/llvm-project/commit/7b9b28dbd2938877a94737e28b7eb9e3cdd82755
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Clang] Refactor implementation of "Lifetime extension in range-based for loops" (#87930)
This PR remove `InMaterializeTemporaryObjectContext` , because it's
redundant, materialize non-cv void prvalue temporaries in discarded
expressions can only appear under lifetime-extension context.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 8927ac865755d7e98411500a7a2da70e8a185cc2
https://github.com/llvm/llvm-project/commit/8927ac865755d7e98411500a7a2da70e8a185cc2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT] Fix a warning
This patch fixes:
bolt/lib/Profile/BoltAddressTranslation.cpp:380:37: error: operator
'<<' has lower precedence than '+'; '+' will be evaluated first
[-Werror,-Wshift-op-parentheses]
Commit: b4776b8d8ea742a46039002fac4c280e619ac48d
https://github.com/llvm/llvm-project/commit/b4776b8d8ea742a46039002fac4c280e619ac48d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[libc++][CI] Tests LLDB libc++ data formatters. (#88312)
This enables testing of the LLDB libc++ specific data formatters.
This is enabled in the bootstrap build since building LLDB requires
Clang and this
is quite expensive. Adding this test changes the build time from 31 to
34 minutes.
Commit: 1c63a3e0cdb3f02098f8ec525ca31a3b44d9d31b
https://github.com/llvm/llvm-project/commit/1c63a3e0cdb3f02098f8ec525ca31a3b44d9d31b
Author: mmoadeli <mahmoud.moadeli at codeplay.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
Log Message:
-----------
Resolve static analyser report on pointer dereferencing after null check (#88278)
- Resolve Static Analyzer Check Failure: Pointer Dereferencing After
Null Check.
- Minor naming and style improvement
Commit: 9abb1ffc5cb75465340cb604988d1e386415bd72
https://github.com/llvm/llvm-project/commit/9abb1ffc5cb75465340cb604988d1e386415bd72
Author: Valery Dmitriev <valery.n.dmitriev at intel.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
Log Message:
-----------
[SLP][NFC] Add option to bypass early profitability check. (#88594)
The option intended primarily for LIT tests to suppress heuristic based
profitability check and proceed vectorization of a seemingly
unprofitable alternate operation pattern. This allows the vectorizer to
execute path that was the original intent of a test.
Commit: 55b6f17071d25b77fcdc910ca9b15f89305137e0
https://github.com/llvm/llvm-project/commit/55b6f17071d25b77fcdc910ca9b15f89305137e0
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
A mlir/test/Dialect/Polynomial/attributes.mlir
A mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Add a polynomial dialect shell, attributes, and types (#72081)
RFC:
https://discourse.llvm.org/t/rfc-a-poly-dialect-for-polynomial-arithmetic/73891
This PR implements the minimal work needed to represent the polynomial
type such that it can be tested with `lit`.
In this PR:
- Dialect shell
- `Polynomial` data structure needed for folding
- Polynomial attributes (`PolynomialAttr` and `RingAttr` which store a polynomial)
- `polynomial.polynomial` type
- Basic lit tests
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: f8d314f0ee5e750e1e47b47fb55d14f6d1e991e1
https://github.com/llvm/llvm-project/commit/f8d314f0ee5e750e1e47b47fb55d14f6d1e991e1
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Affine/value-bounds-reification.mlir
M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
M mlir/test/lib/Dialect/Affine/CMakeLists.txt
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestDialect.h
M mlir/test/lib/Dialect/Test/TestOps.td
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][Interfaces][NFC] Add TableGen test op for value bounds tests (#88717)
This commit is a code cleanup. It defines the test ops the are used for
the `ValueBoundsOpInterface` tests in TableGen, along with proper
verifiers.
---------
Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>
Commit: a34887550b7f2926ea335d4aedf8b72811f9c945
https://github.com/llvm/llvm-project/commit/a34887550b7f2926ea335d4aedf8b72811f9c945
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
A lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
Log Message:
-----------
[LLDB][libc++] Adds valarray proxy data formatters. (#88613)
These proxies are returned by operator[](...). These proxies all
"behave" the same. They store a pointer to the data of the valarray they
are a proxy for and they have an internal array of indices. This
internal array is considered its contents.
Commit: 9dbb6e1978d3d2d61ef65c2dac1fd8add5a4c7a2
https://github.com/llvm/llvm-project/commit/9dbb6e1978d3d2d61ef65c2dac1fd8add5a4c7a2
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
M mlir/include/mlir/Dialect/SPIRV/IR/TargetAndABI.h
M mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/test/Conversion/GPUToSPIRV/entry-point.mlir
M mlir/test/lib/Dialect/SPIRV/TestEntryPointAbi.cpp
Log Message:
-----------
[mlir][spirv] Add target width to SPIR-V ABI (#88555)
There are execution modes need target width as their extra operands.
SignedZeroInfNanPreserve is one of them. This patch adds `target width`
as one of SPIR-V ABI attributes.
Commit: e09245b3b16fe78e30e79e92f8ce16d1edf7787b
https://github.com/llvm/llvm-project/commit/e09245b3b16fe78e30e79e92f8ce16d1edf7787b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Fix typos in serializedSizeV0 and serializedSizeV2 (#88629)
The first field to serialize is the size of
IndexedMemProfRecord::AllocSites. It has nothing to do with
GlobalValue::GUID. This happens to work because of:
using GUID = uint64_t;
Commit: 51d85b7b107e9508b90cec274f3f122444fe7ee6
https://github.com/llvm/llvm-project/commit/51d85b7b107e9508b90cec274f3f122444fe7ee6
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/unittests/Support/EndianTest.cpp
Log Message:
-----------
[Support] Add llvm::support::endian::writeNext (#88685)
`writeNext` overloads increase the pointer argument like `readNext`.
Code like the following
```
endian::write32<ELFT::Endianness>(p, 42);
p += 4;
endian::write32<ELFT::Endianness>(p, 43);
p += 4;
```
can be simplified to:
```
endian::writeNext<uint32_t, ELFT::Endianness>(p, 42);
endian::writeNext<uint32_t, ELFT::Endianness>(p, 43);
```
Commit: 603fa4c6b9a540206ec6f6b2115274878b65bfbb
https://github.com/llvm/llvm-project/commit/603fa4c6b9a540206ec6f6b2115274878b65bfbb
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Be more obvious about selecting X86 (#88527)
Use `isX86()` rather than `!isAArch64() && !isRISCV()`, and similar.
Commit: bd7b170e97e314cb786dd33a750ef79412fc9682
https://github.com/llvm/llvm-project/commit/bd7b170e97e314cb786dd33a750ef79412fc9682
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Remove extraneous braces (#88620)
A small cleanup -- no braces needed here.
Commit: 9c970d5ecd6a85188cd2b0a941fcd4d60063ef81
https://github.com/llvm/llvm-project/commit/9c970d5ecd6a85188cd2b0a941fcd4d60063ef81
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lld/COFF/Chunks.cpp
A lld/test/COFF/autoimport-gc.s
Log Message:
-----------
[LLD] [COFF] Don't add pseudo relocs for dangling references (#88487)
When doing GC, we normally won't have dangling references, because such
a reference would keep the other section alive, keeping it from being
eliminated.
However, references within DWARF sections are ignored for the purposes
of GC (because otherwise, they would essentially keep everything alive,
defeating the point of the GC), see
c579a5b1d92a9bc2046d00ee2d427832e0f5ddec for more context.
Therefore, dangling relocations against discarded symbols are ignored
within DWARF sections (see maybeReportRelocationToDiscarded in
Chunks.cpp). Consequently, we also shouldn't create any pseudo
relocations for these cases, as we run into a null pointer dereference
when trying to generate the pseudo relocation info for it.
This fixes the downstream bug
https://github.com/mstorsjo/llvm-mingw/issues/418, fixing crashes on
combinations with -ffunction-sections, -fdata-sections,
-Wl,--gc-sections and debug info.
Commit: 64dc55835a1552dbe74eef79460094014edf659e
https://github.com/llvm/llvm-project/commit/64dc55835a1552dbe74eef79460094014edf659e
Author: David Tenty <daltenty at ibm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxxabi/src/aix_state_tab_eh.inc
Log Message:
-----------
[NFC][libunwind][AIX] Add diagnostic push and TODO
clang treats the cast here as an error since 999d4f840777bf8de26d45947192aa0728edc0fb landed
with -Xextra -Werror. We believe this cast to be safe for the reasons noted in comment, but
we should do some further cleanup at some point.
Commit: 4d28d3f93bfee3cecbeb234d1ce306250e12e912
https://github.com/llvm/llvm-project/commit/4d28d3f93bfee3cecbeb234d1ce306250e12e912
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/umed3.ll
M llvm/test/CodeGen/ARM/usat.ll
Log Message:
-----------
[SDAG] Turn umin into smin if the saturation pattern is broken (#88505)
As we canonicalizes smin with non-negative operands into umin in the
middle-end, the saturation pattern will be broken.
This patch reverts the transform in DAGCombine to fix the regression on
ARM.
Fixes https://github.com/llvm/llvm-project/issues/85706.
Commit: b2f07a91192596a3584040208b7fac4f5ef0dd9c
https://github.com/llvm/llvm-project/commit/b2f07a91192596a3584040208b7fac4f5ef0dd9c
Author: Florian Mayer <fmayer at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
Revert "[clang analysis] ExprMutationAnalyzer avoid infinite recursion for recursive forwarding reference" (#88765)
Reverts llvm/llvm-project#87954
Broke sanitizer bots, e.g.
https://lab.llvm.org/buildbot/#/builders/239/builds/6587/steps/10/logs/stdio
Commit: b5b17bf613010b5ea900d2981365b9d2c846a20f
https://github.com/llvm/llvm-project/commit/b5b17bf613010b5ea900d2981365b9d2c846a20f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Fix assertion failure in `genShXAddAddShift` (#88757)
Fix assertion failure in our downstream CI
https://github.com/dtcxzyw/llvm-codegen-benchmark/issues/1.
Commit: 09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4
https://github.com/llvm/llvm-project/commit/09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Reapply "[llvm] Teach whole program devirtualization about relative vtables"
This reverts commit 474f5efebed24547e76d022f0c5ffcc9db97ce6f.
Commit: b8b2f9902cb23af0811ec218a4f43226c0691510
https://github.com/llvm/llvm-project/commit/b8b2f9902cb23af0811ec218a4f43226c0691510
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
Log Message:
-----------
Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent"
This reverts commit 1c604a9780fcfe92a99d539913553f0835b81de3.
Commit: 472ccf61a39387098ad3ed66c1353f82c7245ba3
https://github.com/llvm/llvm-project/commit/472ccf61a39387098ad3ed66c1353f82c7245ba3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 61f1f1300254
Commit: c71be83638917f089f8f154525cc6d6f61591f21
https://github.com/llvm/llvm-project/commit/c71be83638917f089f8f154525cc6d6f61591f21
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port a06073f91e7b
Commit: 8969bf3ea670dfeafbac53624883dc5c7ce23f0c
https://github.com/llvm/llvm-project/commit/8969bf3ea670dfeafbac53624883dc5c7ce23f0c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Log Message:
-----------
[gn build] Port a11a4324bb27
Commit: 2f720a1c65e0b9669e67d7c319d77d6c221d423d
https://github.com/llvm/llvm-project/commit/2f720a1c65e0b9669e67d7c319d77d6c221d423d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port a3ce29f7bb55
Commit: 2601ce41d6139761a4267b7cc4add4fea499d172
https://github.com/llvm/llvm-project/commit/2601ce41d6139761a4267b7cc4add4fea499d172
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Log Message:
-----------
[gn build] Port c11976f525f3
Commit: 831515147c551f2c2dc7289d4bc0be2215e6b445
https://github.com/llvm/llvm-project/commit/831515147c551f2c2dc7289d4bc0be2215e6b445
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn build] Port c3d58867bd3d
Commit: b570eb5e99567c92636279d014f376938fe4e79a
https://github.com/llvm/llvm-project/commit/b570eb5e99567c92636279d014f376938fe4e79a
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn build] Manually port 44de2bb
Commit: fa5fdfb126f9beeaa2f719930ef951d339f41e36
https://github.com/llvm/llvm-project/commit/fa5fdfb126f9beeaa2f719930ef951d339f41e36
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/LowerEmuTLS.cpp
Log Message:
-----------
[CodeGen] Remove extraneous ArrayRef (NFC) (#88601)
We don't need to create these instances of ArrayRef because
StructType::create and ConstantStruct::get take ArrayRef, and ArrayRef
can be implicitly constructed from C arrays.
Commit: e39c653dbab3b4fdc5118219c7b5179244d0e1b6
https://github.com/llvm/llvm-project/commit/e39c653dbab3b4fdc5118219c7b5179244d0e1b6
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port a34887550b7f
Commit: 1c5d5478f7f35d7f212fcbf2af042fc3c720e9ed
https://github.com/llvm/llvm-project/commit/1c5d5478f7f35d7f212fcbf2af042fc3c720e9ed
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
Log Message:
-----------
Revert "Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent""
This reverts commit b8b2f9902cb23af0811ec218a4f43226c0691510.
This was failing on a local build.
Commit: c0b77e0a4a9bb090e5ad3a28adcd0aa98715cfe5
https://github.com/llvm/llvm-project/commit/c0b77e0a4a9bb090e5ad3a28adcd0aa98715cfe5
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Revert "Reapply "[llvm] Teach whole program devirtualization about relative vtables""
This reverts commit 09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4.
Commit: b7b183371b54a2c4b5d2a39c594d3967a7384cb8
https://github.com/llvm/llvm-project/commit/b7b183371b54a2c4b5d2a39c594d3967a7384cb8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Improve perf of BoUpSLP::buildExternalUses function, NFC.
Perform required operations, only when the result is required + check if
value was not inserted already into the list of the externally used
scalars and early exit, if it was.
Commit: 3eb097339e5fb78e91182674e891445ebe5a845b
https://github.com/llvm/llvm-project/commit/3eb097339e5fb78e91182674e891445ebe5a845b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld/mac] Fix (adorable!) typo to cycle bots
Commit: 58c5f50f4c73945fdc5440dee2fba03267a460d4
https://github.com/llvm/llvm-project/commit/58c5f50f4c73945fdc5440dee2fba03267a460d4
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent"
Also reapply "[llvm] Teach whole program devirtualization about
relative vtables"
This reverts commit 1c604a9780fcfe92a99d539913553f0835b81de3 and
474f5efebed24547e76d022f0c5ffcc9db97ce6f.
Commit: 75bbf4dd7cfda744d4a2487cfd06a58194d02db3
https://github.com/llvm/llvm-project/commit/75bbf4dd7cfda744d4a2487cfd06a58194d02db3
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/fenv_t.h
A libc/hdr/types/fexcept_t.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/feupdateenv.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
Log Message:
-----------
[libc] Add proxy headers for fenv types. (#88467)
Fixes #88187
Commit: 45339568486cafaa414a1e40d73a251f7d15e284
https://github.com/llvm/llvm-project/commit/45339568486cafaa414a1e40d73a251f7d15e284
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] add polynomial dialect in bazel BUILD
Commit: f9d761df50d12147fc7caa19927be81816d60e2d
https://github.com/llvm/llvm-project/commit/f9d761df50d12147fc7caa19927be81816d60e2d
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/tools/llvm-dis-fuzzer/CMakeLists.txt
M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
Log Message:
-----------
[tools] Fix `LLVM_USE_SANITIZE_COVERAGE` build (#87722)
Commit: c31a8104d1173d79f8b71518829046b441d98d59
https://github.com/llvm/llvm-project/commit/c31a8104d1173d79f8b71518829046b441d98d59
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
Log Message:
-----------
[RISCV] Add -mattr=+v to intrinsic-cttz-elts.ll. NFC
Commit: b153c05cba9be7f009b8ad8413c5840baf7d278c
https://github.com/llvm/llvm-project/commit/b153c05cba9be7f009b8ad8413c5840baf7d278c
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
A mlir/test/Dialect/SCF/uplift-while.mlir
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
A mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][scf] Uplift `scf.while` to `scf.for` (#76108)
Add uplifting from `scf.while` to `scf.for`.
This uplifting expects a very specific ops pattern:
* `before` block consisting of single `arith.cmp` op
* `after` block containing `arith.addi`
We also have a set of patterns to cleanup `scf.while` loops to get them
close to the desired form, they will be added in separate PRs.
This is part of upstreaming `numba-mlir` scf uplifting pipeline: `cf ->
scf.while -> scf.for -> scf.parallel`
Original code:
https://github.com/numba/numba-mlir/blob/main/mlir/lib/Transforms/PromoteToParallel.cpp
Commit: 43b4e5b9bff1719a6d3628a3a805cfeb59adaf16
https://github.com/llvm/llvm-project/commit/43b4e5b9bff1719a6d3628a3a805cfeb59adaf16
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
Log Message:
-----------
Use pushFullExprCleanup for deferred destroy (#88670)
Instead of directly pushing the `Destroy`, we should use
`pushFullExprCleanup` which handles conditional branches.
This fixes a backend crash due to
89ba7e183e6e2c64370ed1b963e54c06352211db.
Added minimized crash reproducer.
Commit: b03dc7d16251bf249b67e4db545353551727f646
https://github.com/llvm/llvm-project/commit/b03dc7d16251bf249b67e4db545353551727f646
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
Log Message:
-----------
[Clang] Properly set the value category of dependent unary operators (#88740)
This fixes an assertion in Expr::Classify when a
trying to deduce a dependent dereference operator.
Fixes #88329
Commit: 187c035c047616860d31fc399702538ad1f42755
https://github.com/llvm/llvm-project/commit/187c035c047616860d31fc399702538ad1f42755
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port dfafe3822b1
Commit: 51bc8cdf7bbc98cd691fc480b333907e665b8eae
https://github.com/llvm/llvm-project/commit/51bc8cdf7bbc98cd691fc480b333907e665b8eae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Add missing space to RISCVInstrInfoZvk.td. NFC
Commit: 52a88d3f5af6bed08a47f1c2351f320e0e1f4a88
https://github.com/llvm/llvm-project/commit/52a88d3f5af6bed08a47f1c2351f320e0e1f4a88
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] fix llvm:support dependency error
Commit: faad4e3fa81d10b91a9128ca84abfe381ac7c2e0
https://github.com/llvm/llvm-project/commit/faad4e3fa81d10b91a9128ca84abfe381ac7c2e0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Split PowerPC into separate triples (#88773)
Summary:
The previous patch mistakenly merged these when they indeed need to be
treated like separate triples because it's what's passed to the test
suite.
Commit: fb9c7dd6f1f3463b539d1f62f6ec7b5c7e061cf8
https://github.com/llvm/llvm-project/commit/fb9c7dd6f1f3463b539d1f62f6ec7b5c7e061cf8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Minor cleanups to RISCVISAInfo::parseArchString. NFC
Remove unneeded an unneeded variable and rename another.
Commit: 9e485f48228114ab6c34151503740ea15cddb351
https://github.com/llvm/llvm-project/commit/9e485f48228114ab6c34151503740ea15cddb351
Author: cmtice <cmtice at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
Log Message:
-----------
[DWARF] Add accessor for NameIndex Offsets field. (#88783)
Add an accessor function to DWARFDebugNames::NameIndex to allow other
classes to access the Offsets field within NameIndex. This will be used
by LLD to create a merged .debug_names index
(https://github.com/llvm/llvm-project/pull/86508)
Commit: 071ac0ae3029594167d2bb4d28859bdc36367034
https://github.com/llvm/llvm-project/commit/071ac0ae3029594167d2bb4d28859bdc36367034
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/unittests/tools/CMakeLists.txt
Log Message:
-----------
[lldb] Skip lldb-server unit tests when building with ASan
The lldb-server unit tests are timing out on GreenDragon and swift-ci.
We haven't been able to reproduce this locally or figure out why. We've
made several attempts to address potential issues, but we've reached a
point where we need to skip them to get signal out of this bot again.
Commit: 0287a5cc4e2a5ded1ae2e4079f91052e6a6b8d9b
https://github.com/llvm/llvm-project/commit/0287a5cc4e2a5ded1ae2e4079f91052e6a6b8d9b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP] Remove 'minncta' attributes from NVPTX kernels (#88398)
Summary:
Currently we treat this attribute as a minimum number for the amount of
blocks scheduled on the kernel. However, the doucmentation states that
this applies to CTA's mapped onto a *single* SM. Currently we just set
it to the total number of blocks, which will almost always result in a
warning that the value is out of range and will be ignored. We don't
have a good way to automatically know how many CTAs can be put on a
single SM nor if we should do this, so we should probably leave this up
to users manually adding it.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#performance-tuning-directives-minnctapersm
Commit: 7eb5022cbb11fdf5e74d707b4c93d3669a46eccf
https://github.com/llvm/llvm-project/commit/7eb5022cbb11fdf5e74d707b4c93d3669a46eccf
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/include/lldb/lldb-enumerations.h
Log Message:
-----------
[lldb][NFC] Turn ChildCacheState into an unscoped enum (#88703)
Done for consistency with the rest of the enums in
`lldb-enumerations.h`. See
https://github.com/llvm/llvm-project/pull/80167#issuecomment-2043721298
Commit: b8c16db938327efdabc63f21fdc770069ac4406b
https://github.com/llvm/llvm-project/commit/b8c16db938327efdabc63f21fdc770069ac4406b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang][NFCI] Use LangOptions::setLangDefaults when creating new LangOptions (#88721)
This logic was originally copied from `CompilerInstance::parseLangArgs`.
Since then, the `CompilerInstance` uses `LangOptions::setLangDefaults`
to set up new `LangOptions` instances. In our case, we only ever passed
`Language::ObjCXX` into LLDB's `ParseLangArgs`, so most of this function
was dead code.
This patch replaces the duplicated logic with a call to
`LangOptions::setLangDefaults`.
Commit: 905d2ecbb63f4087b50d633b012c9915ab3a6829
https://github.com/llvm/llvm-project/commit/905d2ecbb63f4087b50d633b012c9915ab3a6829
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
Log Message:
-----------
[lldb][ClangExpressionDeclMap][NFC] Remove unused NameSearchContext::m_found_function (#88724)
This member was never actually used, ever since its introduction in
`ca4e0fd7e63b90e6f68044af47248c64f250ee8f`.
Commit: 69d861e1320119e9a02907155ca626b1db90ad93
https://github.com/llvm/llvm-project/commit/69d861e1320119e9a02907155ca626b1db90ad93
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/test/CodeGen/bitfield-access-unit.c
Log Message:
-----------
[clang] Move tailclipping to bitfield allocation (#87090)
Move bitfield access clipping to bitfield access computation.
Commit: c303945409a740c8fdb4103a4f21df55187aa84f
https://github.com/llvm/llvm-project/commit/c303945409a740c8fdb4103a4f21df55187aa84f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port e356f68 more
Commit: a855eea7fe86ef09a87f6251b3b711b821ae32bf
https://github.com/llvm/llvm-project/commit/a855eea7fe86ef09a87f6251b3b711b821ae32bf
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
Log Message:
-----------
[lldb] Fix the standalone Xcode build after #88317
In #88317, the clang resource headers was converted to an interface
library. Update LLDB and fix the Xcode standalone build. Thanks Evan for
the help!
Commit: 21d177096f84c38cf434c21bd3ff0dbd2ca163d0
https://github.com/llvm/llvm-project/commit/21d177096f84c38cf434c21bd3ff0dbd2ca163d0
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[NFC] Refactor looping over recomputeLiveIns into function (#88040)
https://github.com/llvm/llvm-project/pull/79940 put calls to
recomputeLiveIns into
a loop, to repeatedly call the function until the computation converges.
However,
this repeats a lot of code. This changes moves the loop into a function
to simplify
the handling.
Note that this changes the order in which recomputeLiveIns is called.
For example,
```
bool anyChange = false;
do {
anyChange = recomputeLiveIns(*ExitMBB) || recomputeLiveIns(*LoopMBB);
} while (anyChange);
```
only begins to recompute the live-ins for LoopMBB after the computation
for ExitMBB
has converged. With this change, all basic blocks have a recomputation
of the live-ins
for each loop iteration. This can result in less or more calls,
depending on the
situation.
Commit: 67571ffd2c51a72a23d57fb5ef746a6fadd6b09c
https://github.com/llvm/llvm-project/commit/67571ffd2c51a72a23d57fb5ef746a6fadd6b09c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
Log Message:
-----------
[test][sanitizer] Compile .c file as C
Commit: a1ed652fb3589670180c08c2c6d5ef1ff337c658
https://github.com/llvm/llvm-project/commit/a1ed652fb3589670180c08c2c6d5ef1ff337c658
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
Log Message:
-----------
[test][sanitizer] Temporarily disable test
Test, as expected, fails with Asan on system with 5lvl page tables.
Disabling the test to migrate buildbot.
Commit: 63310243537ba8830f3533a5d93e7b04b10d6c9e
https://github.com/llvm/llvm-project/commit/63310243537ba8830f3533a5d93e7b04b10d6c9e
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/removed-args.c
Log Message:
-----------
[clang/DependencyScanning/ModuleDepCollector] Refactor part of `makeCommonInvocationForModuleBuild` into its own function (#88447)
The new function is about clearing out benign codegen options and can be
applied for PCH invocations as well.
Commit: 6d234638f90bd422078c93745bdee73d6de201bf
https://github.com/llvm/llvm-project/commit/6d234638f90bd422078c93745bdee73d6de201bf
Author: Fr4nk1in <sh.fu at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/docs/Dialects/LLVM.md
Log Message:
-----------
[docs][mlir] Fix broken links in 'llvm' dialects. (#88704)
Links to `llvm.mlir.global` and `llvm.mlir.addressof` in the ["Globals"
section of LLVM dialect
documentation](https://mlir.llvm.org/docs/Dialects/LLVM/#globals) are
broken.
Commit: 206acf72c3b6c23e77716ccfc55ff94a4e7a7e3e
https://github.com/llvm/llvm-project/commit/206acf72c3b6c23e77716ccfc55ff94a4e7a7e3e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/libcxxabi/src/BUILD.gn
Log Message:
-----------
[gn] port 8a7846fe86f95 (C++23 for libcxx, libcxxabi)
Commit: 466017c8dab74f66ce513c8752f0c1dcd16a8a63
https://github.com/llvm/llvm-project/commit/466017c8dab74f66ce513c8752f0c1dcd16a8a63
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
Log Message:
-----------
Work around test failure due to new aslr default
Commit: 9cb755cf5b2f48117fa34f257f386acf59ad6397
https://github.com/llvm/llvm-project/commit/9cb755cf5b2f48117fa34f257f386acf59ad6397
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_vtune.s
Log Message:
-----------
[Test][JITLink] Save rbx in ExecutionEngine/JITLink/x86-64/ELF_vtune.s (#86472)
The callee should preserve rbx according to the calling convention, but
it is not in the test case `ExecutionEngine/JITLink/x86-64/ELF_vtune.s`.
Not preserving the rbx register may result in some random error to the
caller function. This patch adds the missing command to preserve the
rbx.
Commit: c50f7e9a425bfa4ab8655c79a715c88ed3b1e830
https://github.com/llvm/llvm-project/commit/c50f7e9a425bfa4ab8655c79a715c88ed3b1e830
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] Remove mul of SPF abs fold (#88675)
Remove the fold working on abs in SPF representation now that we
canonicalize SPF to intrinsics.
This is not strictly NFC because the SPF fold might fire for
non-canonical IR due to multi-use, but given the lack of test coverage,
I assume this is not important.
Commit: 2b06ff555aa32b316710b4708fbc16f36d6eab15
https://github.com/llvm/llvm-project/commit/2b06ff555aa32b316710b4708fbc16f36d6eab15
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Expand mul to shNadd x, (slli x, c) in DAGCombine (#88524)
This expansion is directly inspired by the analogous code in the x86
backend for LEA. shXadd and (this sub-case of) LEA are largely
equivalent.
This is an alternative to
https://github.com/llvm/llvm-project/pull/87105.
This expansion is also supported via the decomposeMulByConstant
callback, but restricted because of interactions with other combines
since that code runs before legalization. As discussed in the other
review, my original plan had been to support post legalization expansion
through the same interface, but that ended up being more complicated
than seems justified.
Instead, lets go ahead and do the general expansion post-legalize. Other
targets use the combine approach, and matching that structure makes it
easier for us to adapt ideas from other targets to RISCV.
Commit: 40bbdb609f58d6cbbae1ca525832d7a21641a347
https://github.com/llvm/llvm-project/commit/40bbdb609f58d6cbbae1ca525832d7a21641a347
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
Revert "[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) (#87925)"
This reverts commit 8c0f52e9d5a99bf96bb64ac23b5893482c292527.
Reverting to green, reproducer attached in the PR/revision comments.
Commit: 694c444b5bbb56dcba8978d283fe5385237c309a
https://github.com/llvm/llvm-project/commit/694c444b5bbb56dcba8978d283fe5385237c309a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 311ff3917827 more
Commit: 2ac562ab784c6bf04e6d3026c567d3552a735668
https://github.com/llvm/llvm-project/commit/2ac562ab784c6bf04e6d3026c567d3552a735668
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Sema] Mark alias/ifunc targets used and consider mangled names
https://reviews.llvm.org/D54188 marked "alias" targets as used in C to
fix -Wunused false positives. This patch extends the approach to handle
mangled names to support global scope names in C++ and the
`overloadable` attribute in C.
In addition, we mark ifunc targets as used to fix #63957.
While our approach has false negatives for namespace scope names, the
majority of alias/ifunc C++ uses (global scope with no overloads) are
handled.
Note: The following function with internal linkage but C language
linkage type is mangled in Clang but not in GCC. This inconsistency
makes alias/ifunc difficult to use in C++ with portability (#88593).
```
extern "C" {
static void f0() {}
// GCC: void g0() __attribute__((alias("_ZL2f0v")));
// Clang: void g0() __attribute__((alias("f0")));
}
```
Pull Request: https://github.com/llvm/llvm-project/pull/87130
Commit: 8aa7e378dee27ec81959ef6750a7dd07cefdc77d
https://github.com/llvm/llvm-project/commit/8aa7e378dee27ec81959ef6750a7dd07cefdc77d
Author: Allen <zhongyunde at huawei.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[InterleavedAccessPass] Get round the unsupported large scalarize vectors (#88643)
When build with option -msve-vector-bits=512, the return vaule of
Subtarget->getMinSVEVectorSizeInBits() is 512;
While the MinElts is still 4 for <vscale x 4 x double> in
getNumInterleavedAccesses, so it creates invalid
llvm.aarch64.sve.ld2.sret.nxv4f64, which need be splited.
Unlikely, the related custom spilting is not supported now.
Fix https://github.com/llvm/llvm-project/issues/88247
Commit: d23a85066b5d89a47fde7b6777e0fc5a711b99d4
https://github.com/llvm/llvm-project/commit/d23a85066b5d89a47fde7b6777e0fc5a711b99d4
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/threadlocal_address.ll
Log Message:
-----------
InstCombine: Increase threadlocal.address alignment if pointee is more aligned (#88435)
Increase alignment of `llvm.threadlocal.address` if the pointed to
global has higher alignment.
Commit: 2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75
https://github.com/llvm/llvm-project/commit/2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DWARF] Clarify a variable name. NFC (#88814)
The parameter of `findDebugNamesOffsets` has been renamed to
`EndOfHeaderOffset` in #88064 to make it clear it is a section offset
instead of an offset relative to the current name index. Rename the call
site variable as well.
Commit: f3a8112d9839a166f7eb240c6c72d7ecd47d3560
https://github.com/llvm/llvm-project/commit/f3a8112d9839a166f7eb240c6c72d7ecd47d3560
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of ICmp with LMUL (#88235)
Use the Val type to estimate the instruction cost for ICmp.
Commit: dfe12b3fd193318403622a8ae51e0362c27502d1
https://github.com/llvm/llvm-project/commit/dfe12b3fd193318403622a8ae51e0362c27502d1
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/atomics.ll
Log Message:
-----------
[C API] Support uinc_wrap/udec_wrap in atomicrmw when accessing the bin op (#87163)
These previously were added in the C++ API in
778cf5431cafc243f81dd5c8cbd27701ff7f9120, but without updating the enum
in the C API or mapping functions.
Corresponding tests for all current atomicrmw bin ops have been added as
well.
Commit: 5b9af38a03c8119cc2a42ae80d4a25e6f454c721
https://github.com/llvm/llvm-project/commit/5b9af38a03c8119cc2a42ae80d4a25e6f454c721
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
Log Message:
-----------
[RISCV] Provide a more efficient lowering for experimental.cttz.elts. (#88552)
For experimental.cttz.elts, we can use a vfirst instruction, but we need
to correct the result if input vector can be 0. cttz.elts returns the
vector length while vfirst returns -1.
Commit: 4b22a923c4bfd0aa1d483149f84b6787263c2d76
https://github.com/llvm/llvm-project/commit/4b22a923c4bfd0aa1d483149f84b6787263c2d76
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/elim-extend.ll
M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
M llvm/test/Transforms/IndVarSimplify/post-inc-range.ll
M llvm/test/Transforms/IndVarSimplify/pr25578.ll
M llvm/test/Transforms/IndVarSimplify/pr55925.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative-countdown.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative.ll
M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
Log Message:
-----------
[IndVars] Mark truncs as nuw/nsw (#88686)
When inserting truncs during IV widening, mark the trunc as either nuw
or nsw depending on whether zext or sext widening was used. For
non-negative IVs both nuw and nsw apply.
Commit: 5f680724838188f516d349bd9459710308d721e0
https://github.com/llvm/llvm-project/commit/5f680724838188f516d349bd9459710308d721e0
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/PR84020.cpp
Log Message:
-----------
[Clang][Sema] Fix issue on requires expression with templated base class member function (#85198)
Fix https://github.com/llvm/llvm-project/issues/84020
Skip checking implicit object parameter in the context of
`RequiresExprBodyDecl`.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 568368a43e5b4adb3c5d105a0eff3e0c13c0af8c
https://github.com/llvm/llvm-project/commit/568368a43e5b4adb3c5d105a0eff3e0c13c0af8c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/include/llvm/Support/OnDiskHashTable.h
Log Message:
-----------
[Support] Make readNext default to unaligned (#88808)
Without this patch, you would typically use readNext as:
readNext<uint32_t, llvm::endianness::little, unaligned>(Ptr)
which is quite mouthful. Since most serialization/deserialization
operations are unaligned accesses, this patch makes the alignment
template parameter default to unaligned, allowing us to say:
readNext<uint32_t, llvm::endianness::little>(Ptr)
I'm including a few examples of migration in this patch. I'll do the
rest in a separate patch.
Note that writeNext already has the same trick for the alignment
template parameter.
Commit: b4cf63d26f4c41dd9403c4e62500d82a6d31d692
https://github.com/llvm/llvm-project/commit/b4cf63d26f4c41dd9403c4e62500d82a6d31d692
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
[X86] Remove obsolete tablegen rules for near data in small static code model (#84523)
These should be already handled by other code.
Removing the kernel code model rules right above it cause
bss_pagealigned.ll to fail by using a movabsq to get the address of a
global, haven't figured out where that code is yet.
Commit: 82f479ba315a417b6cd01a8c2efdc15c26689f2e
https://github.com/llvm/llvm-project/commit/82f479ba315a417b6cd01a8c2efdc15c26689f2e
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
A lldb/test/API/functionalities/libsanitizers/util.py
Log Message:
-----------
Add asan tests for libsanitizers. (#88349)
This patch tests LLDB integration with libsanitizers for ASan.
rdar://111856681
Commit: 00ae4b738be6e840cfdb3e7461409c3e49403e50
https://github.com/llvm/llvm-project/commit/00ae4b738be6e840cfdb3e7461409c3e49403e50
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
Revert "[X86] Remove obsolete tablegen rules for near data in small static code model (#84523)"
This reverts commit b4cf63d26f4c41dd9403c4e62500d82a6d31d692.
Breaks indirect-branch-tracking-eh2.ll.
Commit: 8ee7d9732204a7415967bce2c1d2c0fa63af264f
https://github.com/llvm/llvm-project/commit/8ee7d9732204a7415967bce2c1d2c0fa63af264f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.cuda_allocate operation (#88586)
Allocatable with cuda device attribute have special semantic for the
allocate statement. In flang the allocate statement is lowered to a
sequence of runtime call initializing the descriptor and then allocating
the descriptor data. This new operation will replace the last runtime
call and abstract all the device memory allocation needed.
The lowering patch will follow.
Commit: fe48bf672e1ab293368a3212203db94a4e21c533
https://github.com/llvm/llvm-project/commit/fe48bf672e1ab293368a3212203db94a4e21c533
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[lldb][lit] Guard MallocNanoZone envvar in shell tests (#88824)
Previously the MallocNanoZone envvar would be set to 0 on Darwin for the
LLDB shell tests, but this should guarded behind ASan being enabled as
opposed to simply running the test suite behind Darwin. This required
that the LLVM_USE_SANITIZER option be added as an attribute to the lit
config for shell tests.
Commit: 65b0cc610f80d9b9724a98cf7c5bcfd38e1cf799
https://github.com/llvm/llvm-project/commit/65b0cc610f80d9b9724a98cf7c5bcfd38e1cf799
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add FeatureStdExtI to all CPUs in RISCVProcessors.td. NFC (#88805)
This is currently being implied in RISCVISAInfo.cpp. Make it explicit.
I'm planning to move all extension information to RISCVFeatures.td and
have tablegen create the tables for RISCVISAInfo.cpp. This requires
making the creation of RISCVTargetParserDef.inc in tablegen independent
of RISCVISAInfo.cpp. So we need an accurate extension list for CPUs in
tablegen.
Commit: 4e2d11f87a595d658f25ec5838b002e4bf5a26fc
https://github.com/llvm/llvm-project/commit/4e2d11f87a595d658f25ec5838b002e4bf5a26fc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
Log Message:
-----------
[RISCV] Remove unnecessary NoHasStdExtZicfiss Predicate from cmop.1 and cmop.5. NFC (#88822)
I'm not sure what this was supposed do. Maybe it was for the
disassembler, but that should be managed through DecoderNamespace.
So let's remove it and simplify the code.
Commit: edb0708dc1ceeaeb3356311a4ddf72a0dc9b224f
https://github.com/llvm/llvm-project/commit/edb0708dc1ceeaeb3356311a4ddf72a0dc9b224f
Author: Vlad Mishel <43666597+vmishelcs at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fcmp.ll
Log Message:
-----------
[InstCombine] Implement `fcmp (fadd x, 0.0), y` => `fcmp x, y` optimization (#88476)
This PR addresses issue #88168. It implements an optimization for
the case of
```
define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
%add = fadd float %x, 0.000000e+00
%cmp = fcmp ugt float %add, %y
ret i1 %cmp
}
```
`=>`
```
define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
%cmp = fcmp ugt float %x, %y
ret i1 %cmp
}
```
and all other types of `fcmp` instructions (`uge`, `ogt`, etc).
Proofs:
`fadd x, 0.0` https://alive2.llvm.org/ce/z/7FzNnM
`fsub x, 0.0` https://alive2.llvm.org/ce/z/puUxLK
Commit: 39016e33b0fe78ddb1f11822f71a8a233af4dca9
https://github.com/llvm/llvm-project/commit/39016e33b0fe78ddb1f11822f71a8a233af4dca9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
Log Message:
-----------
[C++20] [Modules] Don't import non-inline function bodies even if it is always-inline
Recommit
https://github.com/llvm/llvm-project/commit/1ecbab56dcbb78268c8d19af34a50591f90b12a0
Close https://github.com/llvm/llvm-project/issues/80949
The new thing in this commit is to allow to import the function body
from instantiations if it is marked with always-inline. See the
discussion in https://github.com/llvm/llvm-project/issues/86893 for
details.
Commit: f14146fd46dd8bf7ef1e64d3c13af73dc5668045
https://github.com/llvm/llvm-project/commit/f14146fd46dd8bf7ef1e64d3c13af73dc5668045
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
Log Message:
-----------
[RISCV] Correct the spelling of the Zcmop mnemonics. (#88826)
The instruction names should be c.mop.1 instead of cmop.1.
Commit: 17d6bf046cea381413895f91e24d26d65763b59a
https://github.com/llvm/llvm-project/commit/17d6bf046cea381413895f91e24d26d65763b59a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/pr88799.ll
Log Message:
-----------
[RISCV] Change how MMO is rebuilt in lowerFixedLengthVectorLoadToRVV/lowerFixedLengthVectorStoreToRVV (#88811)
Copy the pointer info, flags, alignment, AAInfo, and ranges, but let
getLoad rebuild the MMO using the scalable type used for the the new
load/store. This makes sure the LLT minimum size matches the ContainerVT
minimum size. This is important since vscale_range may have been used to
determine that the fixed vector was the exact size of a scalable vector.
Fixes #88799
Commit: 6da1966bc503e1ce44ef36e7107c9db482fac6ab
https://github.com/llvm/llvm-project/commit/6da1966bc503e1ce44ef36e7107c9db482fac6ab
Author: Michal Terepeta <michalt at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.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/RISCVSchedSyntacoreSCR1.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
A llvm/lib/Target/RISCV/RISCVScheduleXSf.td
Log Message:
-----------
[RISCV] Add scheduling information for SiFive VCIX (#86093)
This adds `RISCVScheduleXSf.td` with `SchedWrite` definitions for all
VCIX instructions and uses it in `RISCVSchedSiFive7.td` to set default
latencies for these instructions, helping with issue
https://github.com/llvm/llvm-project/issues/83391. Of course these
default latencies cannot be accurate (since each coprocessor will have
different latencies), but this seems to be enough to avoid some of the
problematic behavior described in the bug.
In any case, this seems to be enough to help with #83391 in our internal
testing.
A subsequent discussion is how to structure the code such that it's
easier for downstream consumers of this to use `SiFive7` scheduling
model with accurate VCIX latencies. But we can probably have a separate
issue to discuss that.
Commit: 3bc3b1da73bf21acaecde9c4a060238abc0eb899
https://github.com/llvm/llvm-project/commit/3bc3b1da73bf21acaecde9c4a060238abc0eb899
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/ClangScanDeps/removed-args.c
M clang/test/CodeGen/bitfield-access-unit.c
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
A clang/test/SemaCXX/PR84020.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/fenv_t.h
A libc/hdr/types/fexcept_t.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/feupdateenv.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M libcxx/utils/ci/run-buildbot
M libcxxabi/src/aix_state_tab_eh.inc
M lld/COFF/Chunks.cpp
M lld/MachO/ObjC.cpp
A lld/test/COFF/autoimport-gc.s
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
A lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
A lldb/test/API/functionalities/libsanitizers/util.py
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/unittests/tools/CMakeLists.txt
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/Support/Endian.h
M llvm/include/llvm/Support/OnDiskHashTable.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/LowerEmuTLS.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.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/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.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/RISCVSchedSyntacoreSCR1.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
A llvm/lib/Target/RISCV/RISCVScheduleXSf.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Bindings/llvm-c/atomics.ll
M llvm/test/CodeGen/AMDGPU/umed3.ll
M llvm/test/CodeGen/ARM/usat.ll
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
A llvm/test/CodeGen/RISCV/rvv/pr88799.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_vtune.s
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/elim-extend.ll
M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
M llvm/test/Transforms/IndVarSimplify/post-inc-range.ll
M llvm/test/Transforms/IndVarSimplify/pr25578.ll
M llvm/test/Transforms/IndVarSimplify/pr55925.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative-countdown.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
A llvm/test/Transforms/InstCombine/threadlocal_address.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
M llvm/tools/llvm-dis-fuzzer/CMakeLists.txt
M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
M llvm/unittests/Support/EndianTest.cpp
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/libcxxabi/src/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
M mlir/include/mlir/Dialect/SPIRV/IR/TargetAndABI.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/test/Conversion/GPUToSPIRV/entry-point.mlir
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Affine/value-bounds-reification.mlir
A mlir/test/Dialect/Polynomial/attributes.mlir
A mlir/test/Dialect/Polynomial/types.mlir
A mlir/test/Dialect/SCF/uplift-while.mlir
M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
M mlir/test/lib/Dialect/Affine/CMakeLists.txt
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
A mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/test/lib/Dialect/SPIRV/TestEntryPointAbi.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestDialect.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/tools/mlir-opt/mlir-opt.cpp
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/118872269411...3bc3b1da73bf
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