[all-commits] [llvm/llvm-project] 852eb2: [RISCV][GISel] Make register bank selection for un...
goldsteinn via All-commits
all-commits at lists.llvm.org
Wed Apr 10 11:21:30 PDT 2024
Branch: refs/heads/users/vitalybuka/spr/main.clangbuiltin-implement-__builtin_allow_runtime_check
Home: https://github.com/llvm/llvm-project
Commit: 852eb20b4f091a535ef758407d8555798b0ad809
https://github.com/llvm/llvm-project/commit/852eb20b4f091a535ef758407d8555798b0ad809
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
Log Message:
-----------
[RISCV][GISel] Make register bank selection for unary and binary arithmetic ops more generic. (#87593)
This is inspired by AArch64's getSameKindOfOperandsMapping, but based on
what RISC-V currently needs.
This removes the special vector case for G_ADD/SUB and unifies integer
and FP operations into the same handler.
G_SEXTLOAD/ZEXTLOAD have been separated from integer since they should
only be scalar integer and never vector.
Commit: cfadf3f62230505c1156e07f46c06813271bb5ac
https://github.com/llvm/llvm-project/commit/cfadf3f62230505c1156e07f46c06813271bb5ac
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Fix a potential crash when operand doesn't appear in the instruction pattern (#87663)
We have a check of whether an operand is in the instruction pattern, and
emit an
error if it is not, but we simply continue execution, including directly
dereferencing a point-like object `InVal`, which will be just created
when
accessing the map. It contains a `nullptr` so dereferencing it causes
crash.
This is a very trivial fix.
Commit: a9d93873f857963eeb9ef7f65a725e6aaf99c958
https://github.com/llvm/llvm-project/commit/a9d93873f857963eeb9ef7f65a725e6aaf99c958
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
R clang/test/CodeGen/remote-traps.c
M llvm/lib/Transforms/Instrumentation/RemoveTrapsPass.cpp
M llvm/test/Transforms/RemoveTraps/remove-traps.ll
Log Message:
-----------
[clang][ubsan] Switch UBSAN optimization to `llvm.allow.{runtime,ubsan}.check()` (#84858)
Intrinsic introduced with #84850. Intrinsics improves performance
by 3% comparing to removing traps (on
"test-suite/MultiSource/Benchmarks" with PGO+ThinLTO).
The pass will be renamed with #84853.
RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641
Commit: ab80d00438a04248f9a2f62546ea34c294d08f01
https://github.com/llvm/llvm-project/commit/ab80d00438a04248f9a2f62546ea34c294d08f01
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] fix variable inline of CXX17 (#87314)
Fix crash in the testcase from
https://github.com/llvm/llvm-project/issues/75114#issuecomment-1872595956
Forget to set inline of variable declaration would make
`isThisDeclarationADefinition` get incorrect result and didn't get
imported variable. This will lead to a new `VarTemplateDecl` being
created and call `setDescribedVarTemplate` again which produces the
crash.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 90453f4a9a8955ac612959504941153aa376cb0c
https://github.com/llvm/llvm-project/commit/90453f4a9a8955ac612959504941153aa376cb0c
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/warn-unused-but-set-variables-cpp.cpp
Log Message:
-----------
[Clang][Sema] Warn unused cxx vardecl which entirely consists condition expr of if/while/for construct (#87348)
Emit `-Wunused-but-set-variable` warning on C++ variables whose
declaration (with initializer) entirely consist the condition expression
of a if/while/for construct but are not actually used in the body of the
if/while/for construct.
Fixes #41447
Commit: b76eb1ddfbacda273b8e6a9940f1da6812fdc2e0
https://github.com/llvm/llvm-project/commit/b76eb1ddfbacda273b8e6a9940f1da6812fdc2e0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
Log Message:
-----------
[clang][CodeGen] Remove SimplifyCFGPass preceding RemoveTrapsPass (#84852)
There is no performance difference after switching to
`llvm.experimental.hot`.
Commit: 7c9c38eaa9b74debe5dd094535653c5d3f6ca591
https://github.com/llvm/llvm-project/commit/7c9c38eaa9b74debe5dd094535653c5d3f6ca591
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression in annotating BK_BracedInit (#87450)
Fixes #86539.
Commit: 134176058fdee712ad213e83a39aec2d107dda42
https://github.com/llvm/llvm-project/commit/134176058fdee712ad213e83a39aec2d107dda42
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
A utils/bazel/llvm-project-overlay/compiler-rt/lib/orc/tests/unit/BUILD.bazel
Log Message:
-----------
[bazel] Add support for building orc_rt (#87730)
Commit: 1cb64d75b2739cce0c4d663410180febe06b7256
https://github.com/llvm/llvm-project/commit/1cb64d75b2739cce0c4d663410180febe06b7256
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGenHLSL/builtins/all.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
Log Message:
-----------
[HLSL][DXIL][SPIRV] Implementation of an abstraction for intrinsic selection of HLSL backends (#87171)
Start of #83882
- `Builtins.td` - add the `hlsl` `all` elementwise builtin.
- `CGBuiltin.cpp` - Show a use case for CGHLSLUtils via an `all`
intrinsic codegen.
- `CGHLSLRuntime.cpp` - move `thread_id` to use CGHLSLUtils.
- `CGHLSLRuntime.h` - Create a macro to help pick the right intrinsic
for the backend.
- `hlsl_intrinsics.h` - Add the `all` api.
- `SemaChecking.cpp` - Add `all` builtin type checking
- `IntrinsicsDirectX.td` - Add the `all` `dx` intrinsic
- `IntrinsicsSPIRV.td` - Add the `all` `spv` intrinsic
Work still needed:
- `SPIRVInstructionSelector.cpp` - Add an implementation of `OpAll` for
`spv_all` intrinsic
Commit: 66190af7350df7edb03f7ebb8ac11065bb07e22c
https://github.com/llvm/llvm-project/commit/66190af7350df7edb03f7ebb8ac11065bb07e22c
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang] ReleaseNote item for 9dab2e3064a2ad4d5ce65832d605787dc394cb72
Add release item which was omitted at the time.
Commit: ff1e72d68d1224271801ff5192a8c14fbd3be83b
https://github.com/llvm/llvm-project/commit/ff1e72d68d1224271801ff5192a8c14fbd3be83b
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/hicpp/ignored-remove-result.cpp
Log Message:
-----------
[clang-tidy] hicpp-ignored-remove-result ignore functions with same prefixes as the target (#87587)
Commit: 843cc474faefad1d639f4c44c1cf3ad7dbda76c8
https://github.com/llvm/llvm-project/commit/843cc474faefad1d639f4c44c1cf3ad7dbda76c8
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaTemplate/alias-template-with-lambdas.cpp
Log Message:
-----------
[Clang][Sema] Fix the lambda call expression inside of a type alias declaration (#82310)
This patch attempts to fix the lambda call expression inside of a type
alias declaration from two aspects:
1. Defer the lambda call expression building until after we have
sufficient template arguments. This avoids the overeager (and often
wrong) semantic checking before the type alias instantiation.
2. Properly obtain template arguments involving a template type alias
for constraint checking.
It is unfortunate that a `TypeAliasTemplateDecl` (or a `TypeAliasDecl`)
is never a `DeclContext`, nor does it have an associated specialization
Decl from which we could collect these template arguments. Thus, I added
a new CodeSynthesisContext to record template arguments for alias
declarations.
Fixes https://github.com/llvm/llvm-project/issues/70601
Fixes https://github.com/llvm/llvm-project/issues/76674
Fixes https://github.com/llvm/llvm-project/issues/79555
Fixes https://github.com/llvm/llvm-project/issues/81145
Fixes https://github.com/llvm/llvm-project/issues/82104
Note that this doesn't involve the fix for
https://github.com/llvm/llvm-project/issues/28461. That seems different,
and I'd like to leave it as a follow-up.
Commit: 6b30ffef28c35c24bfd8190e06eeaa0c5cd73cbd
https://github.com/llvm/llvm-project/commit/6b30ffef28c35c24bfd8190e06eeaa0c5cd73cbd
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][SCF] `ValueBoundsConstraintSet`: Support `scf.if` (branches) (#85895)
This commit adds support for `scf.if` to `ValueBoundsConstraintSet`.
Example:
```
%0 = scf.if ... -> index {
scf.yield %a : index
} else {
scf.yield %b : index
}
```
The following constraints hold for %0:
* %0 >= min(%a, %b)
* %0 <= max(%a, %b)
Such constraints cannot be added to the constraint set; min/max is not
supported by `IntegerRelation`. However, if we know which one of %a and
%b is larger, we can add constraints for %0. E.g., if %a <= %b:
* %0 >= %a
* %0 <= %b
This commit required a few minor changes to the
`ValueBoundsConstraintSet` infrastructure, so that values can be
compared while we are still in the process of traversing the IR/adding
constraints.
Commit: 24e4429980b3df039166c1ee6a9e530cc6f054c9
https://github.com/llvm/llvm-project/commit/24e4429980b3df039166c1ee6a9e530cc6f054c9
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][SCF][NFC] `ValueBoundsConstraintSet`: Simplify `scf.for` implementation (#86239)
This commit simplifies the implementation of the
`ValueBoundsOpInterface` for `scf.for` based on the newly added
`ValueBoundsConstraintSet::compare` API and adds additional
documentation.
Previously, the interface implementation created a new constraint set
just to check if the yielded value and iter_arg are equal. This was
inefficient because constraints were added multiple times (to two
different constraint sets) for ops that are inside the loop.
Commit: 49f0b536fd337b58a937cf58b1843dd04ea1c171
https://github.com/llvm/llvm-project/commit/49f0b536fd337b58a937cf58b1843dd04ea1c171
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
A llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
R llvm/include/llvm/Transforms/Instrumentation/RemoveTrapsPass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
R llvm/lib/Transforms/Instrumentation/RemoveTrapsPass.cpp
R llvm/test/Transforms/RemoveTraps/remove-traps.ll
A llvm/test/Transforms/lower-builtin-allow-check.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[UBSAN] Rename `remove-traps` to `lower-allow-check` (#84853)
Commit: 62b58d34189f83d9e161cf01283ecc7c54b4a52e
https://github.com/llvm/llvm-project/commit/62b58d34189f83d9e161cf01283ecc7c54b4a52e
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][Arith] `ValueBoundsOpInterface`: Support `arith.select` (#86383)
This commit adds a `ValueBoundsOpInterface` implementation for
`arith.select`. The implementation is almost identical to `scf.if`
(#85895), but there is one special case: if the condition is a shaped
value, the selection is applied element-wise and the result shape can be
inferred from either operand.
Commit: 1c683eb324aea08b2f9de26cac27532da8a0f7e3
https://github.com/llvm/llvm-project/commit/1c683eb324aea08b2f9de26cac27532da8a0f7e3
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h
M clang/test/InstallAPI/extra-exclude-headers.test
A clang/test/InstallAPI/forwarded-search-paths.test
Log Message:
-----------
[InstallAPI] Add test to validate cc1 arg forwarding (#87666)
Commit: 974f1ee58da1c51c547eaf5c7007a215fd286c68
https://github.com/llvm/llvm-project/commit/974f1ee58da1c51c547eaf5c7007a215fd286c68
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
Log Message:
-----------
[MLIR][LLVM][Mem2Reg] Relax type equality requirement for load and store (#87637)
This commit relaxes Mem2Reg's type equality requirement for the LLVM
dialect's load and store operations. For now, we only allow loads to be
promoted if the reaching definition can be casted into a value of the
target type.
For stores, the same conversion casting check is applied and we ensure
that their result is properly casted to the type of the memory slot.
This is necessary to satisfy assumptions of the general mem2reg pass, as
it creates block arguments with the types of the memory slot.
This relands https://github.com/llvm/llvm-project/pull/87504
Commit: ef8322f41d542bcf05dbe6079339d707534efbed
https://github.com/llvm/llvm-project/commit/ef8322f41d542bcf05dbe6079339d707534efbed
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
Log Message:
-----------
[MLIR][LLVM] Improve bit- and addrspacecast folders (#87745)
This commit extends the folders of chainable casts (bitcast and
addrspacecast) to ensure that they fold a chain of the same casts into a
single cast.
Additionally cleans up the canonicalization test file, as this used some
outdated constructs.
Commit: cfb86ae7497e43e9221ab890221789ae320381e9
https://github.com/llvm/llvm-project/commit/cfb86ae7497e43e9221ab890221789ae320381e9
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/PR86790.cpp
Log Message:
-----------
[Clang][Sema] Skip checking anonymous enum in using enum declaration (#87144)
Try to fix https://github.com/llvm/llvm-project/issues/86790
`getFETokenInfo` requires `DeclarationName` shouldn't be empty and this
will produce crash when checking name conflict of an anonymous
`NamedDecl` in `Sema::PushOnScopeChains` and whether it's a reserved
identifier or not. These wouldn't happen when it's a anonymous enum and
we can skip the checking and just add the declaration to current scope.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 73fa6685c43ef61f5f5babb14f734097af6dc702
https://github.com/llvm/llvm-project/commit/73fa6685c43ef61f5f5babb14f734097af6dc702
Author: mlevesquedion <mlevesquedion at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/DefiningDialects/_index.md
M mlir/docs/Dialects/Linalg/_index.md
M mlir/docs/Dialects/Transform.md
M mlir/docs/LangRef.md
M mlir/docs/Rationale/SideEffectsAndSpeculation.md
M mlir/docs/TargetLLVMIR.md
M mlir/docs/Tutorials/Toy/Ch-4.md
M mlir/docs/Tutorials/transform/Ch4.md
Log Message:
-----------
Fix a few broken links (#87098)
References to headings need to be preceded with a slash. Also,
references to headings on the same page do not need to contain the name
of the document (omitting the document name means if the name changes
the links will still be valid).
I double checked the links by building [the
website](https://github.com/llvm/mlir-www):
```shell
./mlir-www-helper.sh --install-docs ../llvm-project website
cd website && hugo serve
```
Commit: 7e958f64efea6cb824e96ace51e021afbc150922
https://github.com/llvm/llvm-project/commit/7e958f64efea6cb824e96ace51e021afbc150922
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang/include/clang/Driver/Options.td
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/wasm/Driver.cpp
M llvm/include/llvm/Option/OptParser.td
M llvm/include/llvm/Option/OptTable.h
M llvm/lib/Option/OptTable.cpp
M llvm/unittests/Option/OptionMarshallingTest.cpp
M llvm/utils/TableGen/OptParserEmitter.cpp
Log Message:
-----------
[flang][clang] Add Visibility specific help text for options (#81869)
And use it to print the correct default OpenMP version for flang and
flang -fc1.
This change adds an optional `HelpTextsForVariants` to options. This
allows you to change the help text that gets shown in documentation and
`--help` based on the program its being generated for.
As `OptTable` needs to be constexpr compatible, I have used a std::array
of help text variants. Each entry is:
(list of visibilities) - > help text string
So for the OpenMP version we have (flang, fc1) -> "OpenMP version for
flang is...".
So you can have multiple visibilities use the same string. The number of
entries is currently set to 1, and the number of visibilities per entry
is 2, because that's the maximum we need for now. The code is written so
we can increase these numbers later, and the unused elements will be initialised.
I have not applied this to group descriptions just because I don't know
of one that needs changing. It could easily be enabled for those too if
needed. There are minor changes to them just to get it all to compile.
This approach of storing many help strings per option in the 1 driver
library seemed preferable to making a whole new library for Flang (even
if that would mostly be including stuff from Clang).
Commit: 67d20412b448533c77f54ac7a1e5d0775d273729
https://github.com/llvm/llvm-project/commit/67d20412b448533c77f54ac7a1e5d0775d273729
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang/include/clang/Driver/Options.td
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/wasm/Driver.cpp
M llvm/include/llvm/Option/OptParser.td
M llvm/include/llvm/Option/OptTable.h
M llvm/lib/Option/OptTable.cpp
M llvm/unittests/Option/OptionMarshallingTest.cpp
M llvm/utils/TableGen/OptParserEmitter.cpp
Log Message:
-----------
Revert "[flang][clang] Add Visibility specific help text for options (#81869)"
This reverts commit 7e958f64efea6cb824e96ace51e021afbc150922.
Failing on multiple bots.
Commit: aff197ff2163a4b7732d08b833906cc21f4a5c89
https://github.com/llvm/llvm-project/commit/aff197ff2163a4b7732d08b833906cc21f4a5c89
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang/include/clang/Driver/Options.td
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/wasm/Driver.cpp
M llvm/include/llvm/Option/OptParser.td
M llvm/include/llvm/Option/OptTable.h
M llvm/lib/Option/OptTable.cpp
M llvm/unittests/Option/OptionMarshallingTest.cpp
M llvm/utils/TableGen/OptParserEmitter.cpp
Log Message:
-----------
Reland "[flang][clang] Add Visibility specific help text for options (#81869)"
This reverts commit 67d20412b448533c77f54ac7a1e5d0775d273729.
This includes fixes for clanginstallapi.
Commit: 5ed60ffd790a2d1090dca9c685d6ccf09b3f08da
https://github.com/llvm/llvm-project/commit/5ed60ffd790a2d1090dca9c685d6ccf09b3f08da
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
A mlir/cmake/modules/MLIRCheckHardwareFeatures.cmake
M mlir/docs/Dialects/ArmSME.md
M mlir/test/CMakeLists.txt
Log Message:
-----------
[mlir][test] Extend CMake logic for e2e tests
Adds two new CMake functions to query the host system:
* `check_hwcap`,
* `check_emulator`.
Together, these functions are used to check whether a given set of MLIR
integration tests require an emulator. If yes, then the corresponding
CMake var that defies the required emulator executable is also checked.
`check_hwcap` relies on ELF_HWCAP for discovering CPU features from
userspace on Linux systems. This is the recommended approach for Arm
CPUs running on Linux as outlined in this blog post:
* https://community.arm.com/arm-community-blogs/b/operating-systems-blog/posts/runtime-detection-of-cpu-features-on-an-armv8-a-cpu
Other operating systems (e.g. Android) and CPU architectures will
most likely require some other approach. Right now these new hooks are
only used for SVE and SME integration tests.
This relands #86489 with the following changes:
* Replaced:
`set(hwcap_test_file ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/hwcap_check.c)`
with:
`set(hwcap_test_file ${CMAKE_BINARY_DIR}/temp/hwcap_check.c)`
The former would trigger an infinite loop when running `ninja`
(after the initial CMake configuration).
* Fixed commit msg. Previous one was taken from the initial GH PR
commit rather than the final re-worked solution (missed this when
merging via GH UI).
* A couple more NFCs/tweaks.
Commit: c5d000b1a84cfee99db157c6819e0a9c518f8ac8
https://github.com/llvm/llvm-project/commit/c5d000b1a84cfee99db157c6819e0a9c518f8ac8
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
M llvm/test/CodeGen/ARM/sadd_sat.ll
M llvm/test/CodeGen/ARM/select_const.ll
M llvm/test/CodeGen/ARM/wide-compares.ll
M llvm/test/CodeGen/Thumb/pr35836.ll
M llvm/test/CodeGen/Thumb/urem-seteq-illegal-types.ll
Log Message:
-----------
[Thumb] Resolve FIXME: Use 'mov hi, $src; mov $dst, hi' (#81908)
Consider the following:
ldr r0, [r4]
ldr r7, [r0, #4]
cmp r7, r3
bhi .LBB0_6
cmp r0, r2
push {r0}
pop {r4}
bne .LBB0_3
movs r0, r6
pop {r4, r5, r6, r7}
pop {r1}
bx r1
Here is a snippet of the generated THUMB1 code of the K&R malloc
function that clang currently compiles to.
push {r0} ends up being popped to pop {r4}.
movs r4, r0 would destroy the flags set by cmp right above.
The compiler has no alternative in this case, except one:
the only alternative is to transfer through a high register.
However, it seems like LLVM does not consider that this is a valid
approach, even though it is a free clobbering a high register.
This patch addresses the FIXME so the compiler can do that when it can
in r10 or r11, or r12.
Commit: fb299cae5167f63933df45979e3e9de97fca1b8f
https://github.com/llvm/llvm-project/commit/fb299cae5167f63933df45979e3e9de97fca1b8f
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
Log Message:
-----------
[analyzer] Make recognition of hardened __FOO_chk functions explicit (#86536)
In builds that use source hardening (-D_FORTIFY_SOURCE), many standard
functions are implemented as macros that expand to calls of hardened
functions that take one additional argument compared to the "usual"
variant and perform additional input validation. For example, a `memcpy`
call may expand to `__memcpy_chk()` or `__builtin___memcpy_chk()`.
Before this commit, `CallDescription`s created with the matching mode
`CDM::CLibrary` automatically matched these hardened variants (in a
addition to the "usual" function) with a fairly lenient heuristic.
Unfortunately this heuristic meant that the `CLibrary` matching mode was
only usable by checkers that were prepared to handle matches with an
unusual number of arguments.
This commit limits the recognition of the hardened functions to a
separate matching mode `CDM::CLibraryMaybeHardened` and applies this
mode for functions that have hardened variants and were previously
recognized with `CDM::CLibrary`.
This way checkers that are prepared to handle the hardened variants will
be able to detect them easily; while other checkers can simply use
`CDM::CLibrary` for matching C library functions (and they won't
encounter surprising argument counts).
The initial motivation for refactoring this area was that previously
`CDM::CLibrary` accepted calls with more arguments/parameters than the
expected number, so I wasn't able to use it for `malloc` without
accidentally matching calls to the 3-argument BSD kernel malloc.
After this commit this "may have more args/params" logic will only
activate when we're actually matching a hardened variant function (in
`CDM::CLibraryMaybeHardened` mode). The recognition of "sprintf()" and
"snprintf()" in CStringChecker was refactored, because previously it was
abusing the behavior that extra arguments are accepted even if the
matched function is not a hardened variant.
This commit also fixes the oversight that the old code would've
recognized e.g. `__wmemcpy_chk` as a hardened variant of `memcpy`.
After this commit I'm planning to create several follow-up commits that
ensure that checkers looking for C library functions use `CDM::CLibrary`
as a "sane default" matching mode.
This commit is not truly NFC (it eliminates some buggy corner cases),
but it does not intentionally modify the behavior of CSA on real-world
non-crazy code.
As a minor unrelated change I'm eliminating the argument/variable
"IsBuiltin" from the evalSprintf function family in CStringChecker,
because it was completely unused.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 163301d785a7e6b45d25a4060a239d6af72d6ae6
https://github.com/llvm/llvm-project/commit/163301d785a7e6b45d25a4060a239d6af72d6ae6
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Log Message:
-----------
[analyzer] Remove barely used class 'KnownSVal' (NFC) (#86953)
The class `KnownSVal` was very magical abstract class within the `SVal`
class hierarchy: with a hacky `classof` method it acted as if it was the
common ancestor of the classes `UndefinedSVal` and `DefinedSVal`.
However, it was only used in two `getAs<KnownSVal>()` calls and the
signatures of two methods, which does not "pay for" its weird behavior,
so I created this commit that removes it and replaces its use with more
straightforward solutions.
Commit: be8bc3cf43f07f68d89c82db45e29f63b432ceb5
https://github.com/llvm/llvm-project/commit/be8bc3cf43f07f68d89c82db45e29f63b432ceb5
Author: Mitch Phillips <mitchp at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
R llvm/test/tools/llvm-objcopy/ELF/compress-sections-within-segment.s
R llvm/test/tools/llvm-objcopy/ELF/compress-sections.s
M llvm/test/tools/llvm-objcopy/ELF/decompress-sections.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
Revert "[llvm-objcopy] Add --compress-sections"
This reverts commit 9e3b64b9f95aadf57568576712902a272fe66503.
Reason: Broke the UBSan buildbot. See the comments in the pull request
(https://github.com/llvm/llvm-project/pull/85036) for more information.
Commit: 0b7362c257ff7b656c31266b4f9b8485a7ba4033
https://github.com/llvm/llvm-project/commit/0b7362c257ff7b656c31266b4f9b8485a7ba4033
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
A mlir/test/Dialect/Arith/vscale_constants.mlir
Log Message:
-----------
[mlir][arith] Add result pretty printing for constant vscale values (#83565)
In scalable code it is very common to have constant multiples of vscale,
e.g. `4 * vscale`. This updates `arith.muli` to pretty print the result
name in cases like this, so `4 * vscale` would be `%c4_vscale`.
This makes reading IR dumps of scalable code a little nicer.
Commit: f2d8218efad69aacb7ef7509ba08f93ec333062d
https://github.com/llvm/llvm-project/commit/f2d8218efad69aacb7ef7509ba08f93ec333062d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
Revert "[mlir][Arith] `ValueBoundsOpInterface`: Support `arith.select` (#86383)"
This reverts commit 62b58d34189f83d9e161cf01283ecc7c54b4a52e.
gcc7 bot is broken.
Commit: e5e1bc0ad815647baeca67d7d47b71f792b5dde8
https://github.com/llvm/llvm-project/commit/e5e1bc0ad815647baeca67d7d47b71f792b5dde8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
Revert "[mlir][SCF][NFC] `ValueBoundsConstraintSet`: Simplify `scf.for` implementation (#86239)"
This reverts commit 24e4429980b3df039166c1ee6a9e530cc6f054c9.
gcc7 bot is broken
Commit: 8487e05967aaa2dceadd582ac8c2b154ccd39db2
https://github.com/llvm/llvm-project/commit/8487e05967aaa2dceadd582ac8c2b154ccd39db2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
Log Message:
-----------
Revert "[mlir][SCF] `ValueBoundsConstraintSet`: Support `scf.if` (branches) (#85895)"
This reverts commit 6b30ffef28c35c24bfd8190e06eeaa0c5cd73cbd.
gcc7 bot is broken
Commit: 9a16c12abe13a06470502370833e7c0e6ff70e2c
https://github.com/llvm/llvm-project/commit/9a16c12abe13a06470502370833e7c0e6ff70e2c
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
Log Message:
-----------
[NFC] Remove semicolons after function definitions (#87764)
They were accidentally left behind when
https://github.com/llvm/llvm-project/pull/86536 converted some lambdas
into stand-alone methods.
This fixes warnings from -Wc++98-compat-extra-semi
Commit: 1b4c37fec236f39a1ec530ecf07b6aa162518a6b
https://github.com/llvm/llvm-project/commit/1b4c37fec236f39a1ec530ecf07b6aa162518a6b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
Log Message:
-----------
[TTI][X86] getGSVectorCost/getGSScalarCost - add CostKind to the function arguments.
Initial refactor - only getGSScalarCost can actually use CostKind so far, and currently both are only ever set to TCK_RecipThroughput.
Commit: 58187fad93bca76d1cce43a5caa70728282d2ff8
https://github.com/llvm/llvm-project/commit/58187fad93bca76d1cce43a5caa70728282d2ff8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
Log Message:
-----------
[CostModel][X86] Update masked load/store/gather/scatter tests to explicitly use variable masks
Using <X x i1> undef masks means they are treated as constants, which underestimates the scalar costs as it assumes that the masks/branches will fold away.
Commit: 31fd6b8eec16d879a927cb4aa59e39880b5aca9e
https://github.com/llvm/llvm-project/commit/31fd6b8eec16d879a927cb4aa59e39880b5aca9e
Author: David Green <david.green at arm.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/scalable-external-user.ll
Log Message:
-----------
[SLP] Protect against scalable vector users.
We started seeing a crash after 8a0bfe490592de3df28d82c5dd69956e43c20f1d that
the user could be scalable, meaning the typesize is scalable and an implicit
convertion to uint64_t could be performed. Protect against that by making sure
the users type is not scalable.
Commit: c0211ff206eb9d39d3895e1a528046c3e9579832
https://github.com/llvm/llvm-project/commit/c0211ff206eb9d39d3895e1a528046c3e9579832
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M lld/COFF/PDB.cpp
M lld/test/COFF/undefined-symbol-cv.s
Log Message:
-----------
[LLD][COFF] Add ARM64EC support to findLineTable. (#87240)
Fixes asserts in error messages. Use chunk machine type (instead of
global one) to support x86_64 objects and treat ARM64EC objects like
ARM64 ones.
Commit: a5ae54ab0565948f1ad4513f8bd601e617602556
https://github.com/llvm/llvm-project/commit/a5ae54ab0565948f1ad4513f8bd601e617602556
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
Log Message:
-----------
[flang][NFC] Unify getIfConstantIntValue helpers (#87633)
There were different helpers for attempting to fetch compile time
constants from MLIR: one in fir::getIntIfConstant and one in CodeGen.
Unify the two.
Commit: 2c0a99f54fd5045a1b382c03fc5481b648a62a8e
https://github.com/llvm/llvm-project/commit/2c0a99f54fd5045a1b382c03fc5481b648a62a8e
Author: AX网 <ax-6 at outlook.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/include/clang/Lex/Token.h
Log Message:
-----------
Fix formatting of a comment; NFC (#87739)
Commit: 9b5155c93616563165c9d8da5f15aa1f1260d2d2
https://github.com/llvm/llvm-project/commit/9b5155c93616563165c9d8da5f15aa1f1260d2d2
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][OpFormatGen][NFC] Change Raw{Operands,Types} arrays to objects (#85631)
Tablegen generates uninitialized arrays of size 1 for raw operands and
types. In the current state this causes static analysis warnings about
"uninitialized fixed-size arrays" as their init is separated from their
declaration. Since these are single-entry array, we can just use a plain
variable instead of an array here.
Co-authored-by: Orest Chura <orest.chura at intel.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: f09f9bc0aafc1e9d0670b4a995ad5f610fc3c7bc
https://github.com/llvm/llvm-project/commit/f09f9bc0aafc1e9d0670b4a995ad5f610fc3c7bc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[X86] Add TODO to remove getGSScalarCost and use BaseT / getCommonMaskedMemoryOpCost directly
There are only a few differences in the use of AddressSpace and getScalarizationOverhead that need to be handled.
Commit: 08bb121835be432ac52372f92845950628ce9a4a
https://github.com/llvm/llvm-project/commit/08bb121835be432ac52372f92845950628ce9a4a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
Log Message:
-----------
[TTI] getCommonMaskedMemoryOpCost - pull out repeated getNumElements calls. NFC.
Commit: 3b961d113e6986eb9a6b448b72a730c289b8e6ab
https://github.com/llvm/llvm-project/commit/3b961d113e6986eb9a6b448b72a730c289b8e6ab
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/c23.rst
M libc/docs/math/index.rst
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/roundeven.cpp
A libc/src/math/generic/roundevenf.cpp
A libc/src/math/generic/roundevenf128.cpp
A libc/src/math/generic/roundevenl.cpp
A libc/src/math/roundeven.h
A libc/src/math/roundevenf.h
A libc/src/math/roundevenf128.h
A libc/src/math/roundevenl.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/RoundEvenTest.h
A libc/test/src/math/roundeven_test.cpp
A libc/test/src/math/roundevenf_test.cpp
A libc/test/src/math/roundevenl_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/RoundEvenTest.h
A libc/test/src/math/smoke/roundeven_test.cpp
A libc/test/src/math/smoke/roundevenf128_test.cpp
A libc/test/src/math/smoke/roundevenf_test.cpp
A libc/test/src/math/smoke/roundevenl_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
[libc] Implement roundeven C23 math functions (#87678)
Implements the functions `roundeven()`, `roundevenf()`, `roundevenl()`
from the roundeven family of functions introduced in C23. Also
implements `roundevenf128()`.
Commit: 2650375b3beeb60596ca38e2e06685e48e8ed01f
https://github.com/llvm/llvm-project/commit/2650375b3beeb60596ca38e2e06685e48e8ed01f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
A clang/test/OpenMP/thread_limit_amdgpu.c
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP] Add amdgpu-num-work-groups attribute to OpenMP kernels (#87695)
Summary:
This new attribute was introduced recently. We already do this for NVPTX
kernels so we should apply this for AMDGPU as well. This patch simply
applies this metadata in cases where a lower bound is known
Commit: c6e38b928c56f562aea68a8e90f02dbdf0eada85
https://github.com/llvm/llvm-project/commit/c6e38b928c56f562aea68a8e90f02dbdf0eada85
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
Log Message:
-----------
Reapply "[LV] Improve AnyOf reduction codegen. (#78304)"
This reverts the revert commit 589c7abb03448.
This patch includes a fix for any-of reductions and epilogue
vectorization. Extra test coverage for the issue that caused the revert
has been added in 399ff08e29d.
--------------------------------
Original commit message:
Update AnyOf reduction code generation to only keep track of the AnyOf
property in a boolean vector in the loop, only selecting either the new
or start value in the middle block.
The patch incorporates feedback from https://reviews.llvm.org/D153697.
This fixes the #62565, as now there aren't multiple uses of the
start/new values.
Fixes https://github.com/llvm/llvm-project/issues/62565
PR: https://github.com/llvm/llvm-project/pull/78304
Commit: 6d2f57d2c4053af8f0c730bbfed141949149604c
https://github.com/llvm/llvm-project/commit/6d2f57d2c4053af8f0c730bbfed141949149604c
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/fopenmp.f90
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[FLANG] allow -fopenmp= (#86816)
This enables the -fopenmp=<library> option to the set of options
supported by flang.
The generated arguments for the FC1 compilation will appear in a
slightly different order, so one test had to be updated to be less
sensitive to order of the arguments.
Commit: 379628d446e5e6a043ead15fd29451f06fe3e100
https://github.com/llvm/llvm-project/commit/379628d446e5e6a043ead15fd29451f06fe3e100
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/Module.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[RemoveDIs] Add flag to preserve the debug info format of input IR (#87379)
This patch adds a new flag: `--preserve-input-debuginfo-format`
This flag instructs the tool to not convert the debug info format
(intrinsics/records) of input IR, but to instead determine the format of
the input IR and overwrite the other format-determining flags so that we
process and output the file in the same format that we received it in.
This flag is turned off by llvm-link, llvm-lto, and llvm-lto2, and
should be turned off by any other tool that expects to parse multiple IR
modules and have their debug info formats match.
The motivation for this flag is to allow tools to not convert the debug
info format - verify-uselistorder and llvm-reduce, and any downstream
tools that seek to test or mutate IR as-is, without applying extraneous
modifications to the input. This is a necessary step to using debug
records by default in all (other) LLVM tools.
Commit: 9708d0900311503aa4685d6810d8caf0412e15d7
https://github.com/llvm/llvm-project/commit/9708d0900311503aa4685d6810d8caf0412e15d7
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
A mlir/test/Target/LLVMIR/omptarget-target-inside-task.mlir
M mlir/test/Target/LLVMIR/omptarget-teams-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
A mlir/test/Target/LLVMIR/openmp-data-target-device.mlir
A mlir/test/Target/LLVMIR/openmp-task-target-device.mlir
Log Message:
-----------
[MLIR][OpenMP] Skip host omp ops when compiling for the target device (#85239)
This patch separates the lowering dispatch for host and target devices.
For the target device, if the current operation is not a top-level
operation (e.g. omp.target) or is inside a target device code region it
will be ignored, since it belongs to the host code.
This is an alternative approach to #84611, the new test in this PR was
taken from there.
Commit: 541962306db639cf62ab6aacd8ba509d45549411
https://github.com/llvm/llvm-project/commit/541962306db639cf62ab6aacd8ba509d45549411
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
M mlir/test/Dialect/LLVMIR/type-consistency.mlir
Log Message:
-----------
[MLIR][LLVM] Remove bitcast pattern from type consistency pass (#87755)
This commit removes the no longer required bitcast inserting pattern in
LLVM dialect's type consistency pattern. This was previously required to
enable Mem2Reg and SROA to promote accesses that had different types.
Recent changes to both passes added direct support for this feature to
them, so the pattern has no further use.
Commit: 3c3e0e556fd768897d003fffa9e2308de982d4ae
https://github.com/llvm/llvm-project/commit/3c3e0e556fd768897d003fffa9e2308de982d4ae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
Log Message:
-----------
[TTI] getCommonMaskedMemoryOpCost - add AddressSpace argument
Still defaults to AddressSpace = 0, but will allow us to hook up getMaskedMemoryOpCost calls once we have test coverage.
Commit: f905935ff96da4c04d2a6bf431340fd16e3a14ea
https://github.com/llvm/llvm-project/commit/f905935ff96da4c04d2a6bf431340fd16e3a14ea
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
Log Message:
-----------
Fix tbaa.struct metadata for bitfields using big endian. (#87753)
When generating tbaa.struct metadata we treat multiple adjacent
bitfields as a single "field", with one corresponding entry in the
metadata. At the moment this is achieved by adding an entry for the
first bitfield in the run using its StorageSize and skipping the
remaining bitfields. The problem is that "first" is determined by
checking that the Offset of the field in the run is 0, which breaks for
big endian.
PR: https://github.com/llvm/llvm-project/pull/87753
Commit: a1b2f0cc447736c27ad3899bb0b17704b79e4876
https://github.com/llvm/llvm-project/commit/a1b2f0cc447736c27ad3899bb0b17704b79e4876
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-const-infinite-loop.mir
Log Message:
-----------
Reland "[GlobalISel] Fix the infinite loop issue in `commute_int_constant_to_rhs`"
- That test needs to disable combine rules by name and hence requires `asserts`.
Commit: 25afb7768f8278bfbc1839c914caf2f4883d5e43
https://github.com/llvm/llvm-project/commit/25afb7768f8278bfbc1839c914caf2f4883d5e43
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
Log Message:
-----------
[bazel] Add the remaining llvm-driver tools (#87302)
Commit: f3c31d7040582bf1b1c7a3e0ddd9d3f49b4b7f31
https://github.com/llvm/llvm-project/commit/f3c31d7040582bf1b1c7a3e0ddd9d3f49b4b7f31
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M flang/include/flang/Runtime/io-api.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/freestanding-tools.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/namelist.cpp
Log Message:
-----------
Reland "[flang][runtime] Enable I/O APIs in F18 runtime offload builds." (#87729)
This reverts commit 22089ae6c591d11143724b4bde418aa067958a8f.
Commit: 6a6335fa39edc9441761cdc2bde2466dcef84d5c
https://github.com/llvm/llvm-project/commit/6a6335fa39edc9441761cdc2bde2466dcef84d5c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/bool-vector.ll
Log Message:
-----------
[X86] bool-vector.ll - add nounwind to silence cfi noise
Commit: b861e2736aa90467ec2e42225946e242590d3a29
https://github.com/llvm/llvm-project/commit/b861e2736aa90467ec2e42225946e242590d3a29
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/pr45995.ll
Log Message:
-----------
[X86] pr45995.ll - add nounwind to silence cfi noise
Commit: 51a4ab287f43c129dd531867be880480a85ecb1e
https://github.com/llvm/llvm-project/commit/51a4ab287f43c129dd531867be880480a85ecb1e
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Improve libc build on macOS (#86174)
With these changes you can now `bazel build @llvm-project//...` on
macOS, and the targets in libc that don't yet support macOS (or
non-linux) are ignored
Commit: e84a757222aaee310170598dc60f2c2f7ba88c7e
https://github.com/llvm/llvm-project/commit/e84a757222aaee310170598dc60f2c2f7ba88c7e
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/Interleave.cpp
Log Message:
-----------
[llvm][ADT] Use ADL to find begin()/end() in interleave* (#87669)
Commit: e1830f586ac4c504f632bdb69aab49234256e899
https://github.com/llvm/llvm-project/commit/e1830f586ac4c504f632bdb69aab49234256e899
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libcxx/include/__format/formatter_floating_point.h
Log Message:
-----------
[libcxx] coerce formatter precision to int (#87738)
__precision_ is declared as an int32_t which on some hexagon platforms
is defined as a long.
This change fixes errors like the ones below:
In file included from
/local/mnt/workspace/hex/llvm-project/libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp:19:
In file included from
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/format:202:
In file included from
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__format/format_functions.h:29:
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__format/formatter_floating_point.h:700:17:
error: no matching function for call to 'max'
700 | int __p = std::max(1, (__specs.__has_precision() ?
__specs.__precision_ : 6));
| ^~~~~~~~
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__format/formatter_floating_point.h:771:25:
note: in instantiation of function template specialization
'std::__formatter::__format_floating_point<float, char,
std::format_context>' requested here
771 | return __formatter::__format_floating_point(__value, __ctx,
__parser_.__get_parsed_std_specifications(__ctx));
| ^
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__format/format_functions.h:284:42:
note: in instantiation of function template specialization
'std::__formatter_floating_point<char>::format<float,
std::format_context>' requested here
284 | __ctx.advance_to(__formatter.format(__arg, __ctx));
| ^
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__format/format_functions.h:429:15:
note: in instantiation of function template specialization
'std::__vformat_to<std::back_insert_iterator<std::string>, char,
std::back_insert_iterator<std::__format::__output_buffer<char>>>'
requested here
429 | return std::__vformat_to(std::move(__out_it), __fmt, __args);
| ^
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__format/format_functions.h:462:8:
note: in instantiation of function template specialization
'std::vformat_to<std::back_insert_iterator<std::string>>' requested here
462 | std::vformat_to(std::back_inserter(__res), __fmt, __args);
| ^
/local/mnt/workspace/hex/llvm-project/libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp:29:8:
note: in instantiation of function template specialization
'std::vformat<void>' requested here
29 | std::vformat("", std::make_format_args());
| ^
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__algorithm/max.h:35:1:
note: candidate template ignored: deduced conflicting types for
parameter '_Tp' ('int' vs. 'int32_t' (aka 'long'))
35 | max(_LIBCPP_LIFETIMEBOUND const _Tp& __a, _LIBCPP_LIFETIMEBOUND
const _Tp& __b) {
| ^
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__algorithm/max.h:43:1:
note: candidate template ignored: could not match
'initializer_list<_Tp>' against 'int'
43 | max(initializer_list<_Tp> __t, _Compare __comp) {
| ^
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__algorithm/max.h:48:86:
note: candidate function template not viable: requires single argument
'__t', but 2 arguments were provided
48 | _LIBCPP_NODISCARD_EXT inline _LIBCPP_HIDE_FROM_ABI
_LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp max(initializer_list<_Tp> __t) {
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
/local/mnt/workspace/hex/obj_runtimes_hex88_qurt_v75_ON_ON_shared/include/c++/v1/__algorithm/max.h:29:1:
note: candidate function template not viable: requires 3 arguments, but
2 were provided
29 | max(_LIBCPP_LIFETIMEBOUND const _Tp& __a, _LIBCPP_LIFETIMEBOUND
const _Tp& __b, _Compare __comp) {
| ^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: 5f9ed2ff8364ff3e4fac410472f421299dafa793
https://github.com/llvm/llvm-project/commit/5f9ed2ff8364ff3e4fac410472f421299dafa793
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check.c
Log Message:
-----------
[clang][CodeGen] Guard ubsan checks with `llvm.allow.ubsan.check` (#87436)
Intrinsic inserted into CodeGenFunction::EmitCheck, which
is not mostly used by CFI.
CFI is not the goal, and fixing inconsistencies with CFI is outside of
the cope of the patch.
RFC:
https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641
Commit: 953aa102a90099ae655eaa4645dd8d15c95ea86a
https://github.com/llvm/llvm-project/commit/953aa102a90099ae655eaa4645dd8d15c95ea86a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Lower device to host and device to device transfer (#87387)
Add more support for CUDA data transfer in assignment. This patch adds
device to device and device to host support. If device symbols are
present on the rhs, some implicit data transfer are initiated. A
temporary is created and the data are transferred to the host. The
expression is evaluated on the host and the assignment is done.
Commit: a671ceec3343063a4e6f45c231791ff925abedb5
https://github.com/llvm/llvm-project/commit/a671ceec3343063a4e6f45c231791ff925abedb5
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Fix an EDU-update bug in ExecutionSession::IL_failSymbols.
We were catching a local variable, SymMI, by value instead of by reference
during EDU cleanup and this was leaving the dependence graph in an
inconsistent state that could lead to crashes on subsequent emits. Fixing this
bug required us to also avoid aliasing between SymMI and MI (which would have
caused cleanup to clear the MI.DependantEDUs set that we're iterating over).
No testcase: the crash only triggered in very specific circumstances
(including concurrent linking) in an out-of-tree ORC client. I'm working on a
session state verifier that could be turned on when compiling with
expensive-checks turned on and that should help us catch issues like this in
the future.
rdar://125164262
Coding my way home: 0.89527S, 89.61313W
Commit: 29cc80f4ecafe45586401ce4a79b324b6240b6e9
https://github.com/llvm/llvm-project/commit/29cc80f4ecafe45586401ce4a79b324b6240b6e9
Author: Eric <eric at efcs.ca>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libcxx/include/__memory/construct_at.h
Log Message:
-----------
Fix issue with never-constexpr __construct_at in C++ < 20. (#87403)
The application of constexpr to __construct_at triggers weird linker
errors when building LLVM with modules enabled and C++ < 20.
> ld.lld: error: undefined hidden symbol: void*
std::__1::__voidify[abi:nn190000]<llvm::sys::ProcessStatistics>(llvm::sys::ProcessStatistics&)
>>>> referenced by construct_at.h:52
(/usr/local/bin/../include/c++/v1/__memory/construct_at.h:52)
>>>> Program.cpp.o:(llvm::sys::Wait(llvm::sys::ProcessInfo const&,
std::__1::optional<unsigned int>, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>*,
std::__1::optional<llvm::sys::ProcessStatistics>*, bool)) in archive
lib/libLLVMSupport.a
I suspect this is related to undefined behavior caused by the fact that
construct_at is never really constexpr (which is UB NDR).
I'm unsure how to meaningfully write a test for this, as I haven't been
able to trigger it in smaller unit tests
Commit: 7e4883f8881bfaea30996c4e846369fbf0b4b549
https://github.com/llvm/llvm-project/commit/7e4883f8881bfaea30996c4e846369fbf0b4b549
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/test/tools/llvm-ranlib/help-message.test
M llvm/tools/llvm-ar/llvm-ar.cpp
Log Message:
-----------
[llvm-ranlib] Change -v (alias for --version) to -V
-V prints the version information in both BSD and GNU ar/ranlib.
BSD ranlib rejects -v while -v enables verbose output in GNU ar but is
another alias for --version in GNU ranlib. The GNU ranlib behavior is
inconsistent: `ranlib -v` is different from `ar -sv`. But it's not a
major concern in practice:
* Users typically use ranlib solely for creating archive symbol tables,
and they don't need verbose output.
* Verbose output in ranlib seems a no-op.
* GNU ar creates an archive symbol table by default. Many ranlib uses
have been eliminated.
* Modern linkers like lld/ELF (since version 14) and mold don't rely on
archive symbol tables anymore.
https://reviews.llvm.org/D71554 introduced -v. This patch removes it so
that `llvm-ranlib -v` and `llvm-ranlib -version` lead to errors (GNU
ranlib rejects `-version` as well). -V is added as an alias for
--version.
Close #87654
Pull Request: https://github.com/llvm/llvm-project/pull/87661
Commit: f0724f0704299b49d42a48099b97c4cf0a55b155
https://github.com/llvm/llvm-project/commit/f0724f0704299b49d42a48099b97c4cf0a55b155
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[llvm][NFC] Update URL in comment about Android ABI
The previous URL was stale, and referenced 'master' instead of 'main',
which will never be updated.
Reviewers: topperc, enh-google
Reviewed By: enh-google
Pull Request: https://github.com/llvm/llvm-project/pull/87726
Commit: 345c4822e4db2aa734b9f8a0b106308288ddc702
https://github.com/llvm/llvm-project/commit/345c4822e4db2aa734b9f8a0b106308288ddc702
Author: Eric Li <li.zhe.hua at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
Log Message:
-----------
[libTooling] Fix `getFileRangeForEdit` for inner nested template types (#87673)
When there is `>>` in source from the right brackets of a nested
template, the end location of the inner template points into a scratch
space with a single `>` token. This prevents the lexer from seeing the
`>>` token in the original source.
However, this causes the range to appear to be partially in a macro, and
is problematic if we are trying to avoid ranges with any macro
expansions.
This change detects these split tokens in token ranges, converting it to the
corresponding character range without the expansion.
Commit: 68b939f9311aaacd4a4fb6e41f86d81857d5c86e
https://github.com/llvm/llvm-project/commit/68b939f9311aaacd4a4fb6e41f86d81857d5c86e
Author: Cassie Jones <cassie_jones at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/version-build-config.test
M llvm/CMakeLists.txt
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[driver] Make --version show if assertions, etc. are enabled (#87585)
It's useful to have some significant build options visible in the
version when investigating problems with a specific compiler artifact.
This makes it easy to see if assertions, expensive checks, sanitizers,
etc. are enabled when checking a compiler version.
Example config line output:
Build configuration: +unoptimized, +assertions, +asan, +ubsan
Commit: b7593b2e925fc005fc6248cd8e1a3f019e124c6b
https://github.com/llvm/llvm-project/commit/b7593b2e925fc005fc6248cd8e1a3f019e124c6b
Author: Jakub Chlanda <jakub at codeplay.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/docs/NewPassManager.rst
Log Message:
-----------
[NFC][Doc] Fix typo in new pass manager snippet (#87765)
Add missing closing parenthesis and re-flow the snippet to what clang
format would generate.
Commit: 30f6eafaa978b4e0211368976fe60f15fa9f0067
https://github.com/llvm/llvm-project/commit/30f6eafaa978b4e0211368976fe60f15fa9f0067
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/JSONNodeDumper.h
A clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/JSONNodeDumper.cpp
A clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[OpenACC][NFC] Add OpenACC Clause AST Nodes/infrastructure (#87675)
As a first step in adding clause support for OpenACC to Semantic
Analysis, this patch adds the 'base' AST nodes required for clauses.
This patch has no functional effect at the moment, but followup patches
will add the semantic analysis of clauses (plus individual clauses).
Commit: 0cd0aa029647c8d1dba5c3d62f92325576796fa2
https://github.com/llvm/llvm-project/commit/0cd0aa029647c8d1dba5c3d62f92325576796fa2
Author: Ian Anderson <iana at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/test/Modules/builtin-import.mm
M clang/test/Modules/import-textual-noguard.mm
M clang/test/Modules/import-textual.mm
A clang/test/Modules/multiple-import.m
Log Message:
-----------
[clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (#83660)
Once a file has been `#import`'ed, it gets stamped as if it was `#pragma
once` and will not be re-entered, even on #include. This means that any
errant #import of a file designed to be included multiple times, such as
<assert.h>, will incorrectly mark it as include-once and break the
multiple include functionality. Normally this isn't a big problem, e.g.
<assert.h> can't have its NDEBUG mode changed after the first #import,
but it is still mostly functional. However, when clang modules are
involved, this can cause the header to be hidden entirely.
Objective-C code most often uses #import for everything, because it's
required for most Objective-C headers to prevent double inclusion and
redeclaration errors. (It's rare for Objective-C headers to use macro
guards or `#pragma once`.) The problem arises when a submodule includes
a multiple-include header. The "already included" state is global across
all modules (which is necessary so that non-modular headers don't get
compiled into multiple translation units and cause redeclaration
errors). If another module or the main file #import's the same header,
it becomes invisible from then on. If the original submodule is not
imported, the include of the header will effectively do nothing and the
header will be invisible. The only way to actually get the header's
declarations is to somehow figure out which submodule consumed the
header, and import that instead. That's basically impossible since it
depends on exactly which modules were built in which order.
#import is a poor indicator of whether a header is actually
include-once, as the #import is external to the header it applies to,
and requires that all inclusions correctly and consistently use #import
vs #include. When modules are enabled, consider a header marked
`textual` in its module as a stronger indicator of multiple-include than
#import's indication of include-once. This will allow headers like
<assert.h> to always be included when modules are enabled, even if
#import is erroneously used somewhere.
Commit: c7eede5d4c1c8e0c20337f3f3c9003f59fe5ccd5
https://github.com/llvm/llvm-project/commit/c7eede5d4c1c8e0c20337f3f3c9003f59fe5ccd5
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/Inputs/removed-args/cdb.json.template
M clang/test/ClangScanDeps/removed-args.c
Log Message:
-----------
[clang][deps] Remove pgo profile flags from modules (#87724)
These are not necessary when not performing codegen.
Commit: 0e60cf7f4b66312c09df9412be3efd1e9c891e85
https://github.com/llvm/llvm-project/commit/0e60cf7f4b66312c09df9412be3efd1e9c891e85
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn build] Manually port 68b939f9
Commit: 666fd665e98df1e5c8e8d5be1eb08bf102c0691c
https://github.com/llvm/llvm-project/commit/666fd665e98df1e5c8e8d5be1eb08bf102c0691c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[gn build] Port 30f6eafaa978
Commit: 6411aaf99cbfddafdeecb73d9fd7388fcae32293
https://github.com/llvm/llvm-project/commit/6411aaf99cbfddafdeecb73d9fd7388fcae32293
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Log Message:
-----------
[gn build] Port e84a757222aa
Commit: 965e053eb3ba336b6174e6753f138cabc0ea92c2
https://github.com/llvm/llvm-project/commit/965e053eb3ba336b6174e6753f138cabc0ea92c2
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port f5960c168dfe
Commit: 5772fc890f7ebda04029ba82af32c9072a1c44b6
https://github.com/llvm/llvm-project/commit/5772fc890f7ebda04029ba82af32c9072a1c44b6
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/TextAPI/BinaryReader/BUILD.gn
Log Message:
-----------
[gn build] Add missing dependency
Commit: e915b7d8166a870834868bcf7de85cb5e96a08ec
https://github.com/llvm/llvm-project/commit/e915b7d8166a870834868bcf7de85cb5e96a08ec
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
A lld/test/ELF/aarch64-reloc-implicit-addend.test
Log Message:
-----------
[ELF,test] Add test for R_AARCH64_* implicit addends
to support certain static relocations in the REL format. See #87328 for
the armasm need.
Note: `R_AARCH64_{ABS64,PREL32,PREL64}` have been implemented by https://reviews.llvm.org/D120535
Pull Request: https://github.com/llvm/llvm-project/pull/87733
Commit: 2606c87788153bf33d854fa5c3a03e16d544c5d7
https://github.com/llvm/llvm-project/commit/2606c87788153bf33d854fa5c3a03e16d544c5d7
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
A clang/test/C/C99/n717.c
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim conformance to WG14 N717 (#87228)
This was the paper that added Universal Character Names to C.
Commit: 9264c85b47d3866c44f916cfff533c0d9d9d7a8d
https://github.com/llvm/llvm-project/commit/9264c85b47d3866c44f916cfff533c0d9d9d7a8d
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
Log Message:
-----------
[Sema] Remove the duplicated `DeduceTemplateArguments` for partial specialization, NFC (#87782)
We have two identical "DeduceTemplateArguments" implementations for
class and variable partial template specializations, this patch removes
the duplicated code.
Commit: 66b528078e4852412769375e35d2a672bf36a0ec
https://github.com/llvm/llvm-project/commit/66b528078e4852412769375e35d2a672bf36a0ec
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for abs/smin/smax/umin/umax intrinsics.
https://alive2.llvm.org/ce/z/ivPZ26 for the abs transformations.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/86135
Commit: e4169f79ef0f54676c0072e1704c3d02f32925b3
https://github.com/llvm/llvm-project/commit/e4169f79ef0f54676c0072e1704c3d02f32925b3
Author: David Green <david.green at arm.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Log Message:
-----------
[AArch64] Add extra zip and uzp shuffle cost tests. NFC
Commit: 225e14e5b6d64e1f63da39fa7fe31d2ebb08260d
https://github.com/llvm/llvm-project/commit/225e14e5b6d64e1f63da39fa7fe31d2ebb08260d
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
[Support][Windows] Use the original path if GetFinalPathNameByHandleW() failed (#87749)
The commit f11b056c (#76304) breaks `clang` and other tools if they are
used from a RAMDrive. `GetFinalPathNameByHandleW()` may return 0 and
GetLastError 0x28. This patch fixes that issue. Note `real_path()` uses
`openFileForRead()` but it reports the error only if failed to open a
file. Getting `RealPath` is optional functionality.
BTW, `sys::fs::real_path()` resolves not only symlinks, but also network
drives and virtual drives created by the `subst` tool. It may break an
automation. It is better to detect symlinks and resolve only symlinks.
Commit: 0a0fccfc6c0519402a2566e1f63440410e524d17
https://github.com/llvm/llvm-project/commit/0a0fccfc6c0519402a2566e1f63440410e524d17
Author: Chris B <chris.bieneman at me.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaHLSL/literal_suffixes.hlsl
A clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
Log Message:
-----------
[HLSL] Implement floating literal suffixes (#87270)
This change implements the HLSL floating literal suffixes for half and
double literals. The PR for the HLSL language specification for this
behavior is https://github.com/microsoft/hlsl-specs/pull/175.
The TL;DR is that the `h` suffix on floating literals means `half`, and
the `l` suffix means `double`.
The expected behavior and diagnostics are different if native half is
supported. When native half is not enabled half is 32-bit so implicit
conversions to float do not lose precision and do not warn.
In all cases `half` and `float` are distinct types.
Resolves #85712
Commit: 3989e2245746bbeaae26416a330753b9189cfaeb
https://github.com/llvm/llvm-project/commit/3989e2245746bbeaae26416a330753b9189cfaeb
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M lld/test/ELF/pack-dyn-relocs.s
Log Message:
-----------
[test][lld][ELF] Enhance pack-dyn-relocs.s test (#87756)
Use symbol `.data` (STT_SECTION) instead of `__ehdr_start` for some
relocation entries. See discussion in
[72714/#discussion_r1517127619](https://github.com/llvm/llvm-project/pull/72714/#discussion_r1517127619)
Commit: 3c37f926a153d38852d593c4a7f9062e72ee4b2f
https://github.com/llvm/llvm-project/commit/3c37f926a153d38852d593c4a7f9062e72ee4b2f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/compress-opt-branch.ll
Log Message:
-----------
[RISCV] Fix comment in compress-opt-branch.ll to match description. NFC
Test description says constant does not fit in 12 bits, but the constant
used was -2048 which does fit in 12 bits. Update to -2049.
Also remove uses of -NOT in favor of positive checks. One of the -NOT
should have been using RESBROPT instead of "c.beqz" so that it would
check for the absense of the correct instruction based on the sed
replacement on the RUN line.
Commit: a834436099279e458112b8be653f4a597269747b
https://github.com/llvm/llvm-project/commit/a834436099279e458112b8be653f4a597269747b
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/locale
M libcxx/modules/std/locale.inc
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/seekoff.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
Log Message:
-----------
[libc++] P2872R3: Remove ``wstring_convert`` From C++26 (#87100)
Implements: https://wg21.link/P2872R3
Commit: 43ba568daac098b286e1c1207deadd1f59d56cd7
https://github.com/llvm/llvm-project/commit/43ba568daac098b286e1c1207deadd1f59d56cd7
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
Log Message:
-----------
Prepend all library intrinsics with `#` when building for Arm64EC (#87542)
While attempting to build some Rust code, I was getting linker errors
due to missing functions that are implemented in `compiler-rt`. Turns
out that when `compiler-rt` is built for Arm64EC, all its function names
are mangled with the leading `#`.
This change removes the hard-coded list of library-implemented
intrinsics to mangle for Arm64EC, and instead assumes that they all must
be mangled.
Commit: 5e77dfecd2e274117cc0a75de69c832d00130e6a
https://github.com/llvm/llvm-project/commit/5e77dfecd2e274117cc0a75de69c832d00130e6a
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] CTAD: build aggregate deduction guides for alias templates. (#85904)
Fixes https://github.com/llvm/llvm-project/issues/85767.
The aggregate deduction guides are handled in a separate code path. We
don't generate dedicated aggregate deduction guides for alias templates
(we just reuse the ones from the underlying template decl by accident).
The patch fixes this incorrect issue.
Note: there is a small refactoring change in this PR, where we move the
cache logic from `Sema::DeduceTemplateSpecializationFromInitializer` to
`Sema::DeclareImplicitDeductionGuideFromInitList`
Commit: 9f0758405b71c23d1f260eb89d7d6daab280a425
https://github.com/llvm/llvm-project/commit/9f0758405b71c23d1f260eb89d7d6daab280a425
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libc/config/gpu/api.td
M libc/config/linux/api.td
M libc/include/CMakeLists.txt
M libc/spec/posix.td
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftello.h
Log Message:
-----------
reland: [libc] Added transitive bindings for OffsetType (#87680)
Followup to issues addressed here: #87397
Commit: 25ebbe3851c54f035875fd3d7d2569d79cacf803
https://github.com/llvm/llvm-project/commit/25ebbe3851c54f035875fd3d7d2569d79cacf803
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M flang/docs/GettingStarted.md
A flang/docs/Real16MathSupport.md
M flang/docs/index.md
Log Message:
-----------
[flang][doc] Added information about `REAL(16)` math intrinsics support. (#87710)
Commit: e7e78274a66df59ce3f2fa2bfd8a554e637ee0b6
https://github.com/llvm/llvm-project/commit/e7e78274a66df59ce3f2fa2bfd8a554e637ee0b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/compress-opt-branch.ll
Log Message:
-----------
[RISCV] Remove uses of sed from compress-opt-branch.ll. NFC
sed was being used to use the same test functions with eq/ne branch
condition.
This commit duplicates the test functions so that we have a version
with each condition. This allows us to remove 2 RUN lines.
I plan to add a Zca testing to this file which now requires 1 new
RUN line instead of 2.
Commit: 0a6a40d62ed338eb3aa57bfee83d958521542fba
https://github.com/llvm/llvm-project/commit/0a6a40d62ed338eb3aa57bfee83d958521542fba
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/compress-opt-branch.ll
Log Message:
-----------
[RISCV] Add Zca predicate to BrccCompressOpt patterns used for MinSize.
Previously we only checked for C.
Commit: 4abb722ffa7fcf809faa4a479fdf2f78c685b351
https://github.com/llvm/llvm-project/commit/4abb722ffa7fcf809faa4a479fdf2f78c685b351
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add tests for opportunities to reassociate to form more shXadd instructions. NFC
These tests consist of patterns like (sh3add Z, (add X, (slli Y, 6)))
that can be reassociated to form (sh3add (sh3add Y, Z), X).
Commit: 60fc4ac67a613e4e36cef019fb2d13d70a06cfe8
https://github.com/llvm/llvm-project/commit/60fc4ac67a613e4e36cef019fb2d13d70a06cfe8
Author: Amara Emerson <amara at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
A llvm/test/CodeGen/AArch64/GlobalISel/atomic-anyextending-load-crash.ll
Log Message:
-----------
[GlobalISel] Don't form anyextending atomic loads.
Until we can reliably check the legality and improve our selection of these,
don't form them at all.
Commit: 0aa982fb326effa62277028375b5c346e0f6fcf5
https://github.com/llvm/llvm-project/commit/0aa982fb326effa62277028375b5c346e0f6fcf5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-cuda.h
A flang/test/Semantics/cuf11.cuf
Log Message:
-----------
[flang][cuda] Add restriction on implicit data transfer (#87720)
In section 3.4.2, some example of illegal data transfer using expression
are given. One of it is when multiple device objects are part of an
expression in the rhs. Current implementation allow a single device
object in such case. This patch adds a similar restriction.
Commit: 8ee6ab7f69ca9c34eed56faad3971d075dc47121
https://github.com/llvm/llvm-project/commit/8ee6ab7f69ca9c34eed56faad3971d075dc47121
Author: aniplcc <aniplccode at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
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/config/windows/entrypoints.txt
M libc/docs/c23.rst
M libc/spec/stdc.td
M libc/src/fenv/CMakeLists.txt
A libc/src/fenv/fesetexcept.cpp
A libc/src/fenv/fesetexcept.h
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/exception_status_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
Log Message:
-----------
[libc][c23][fenv] implement fesetexcept (#87603)
Closes #87564
Commit: 27b2d7d4bb790ec1e7430bf18b1bc2f6e0800d0d
https://github.com/llvm/llvm-project/commit/27b2d7d4bb790ec1e7430bf18b1bc2f6e0800d0d
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/Context.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
A clang/test/InstallAPI/binary-attributes.test
M clang/test/InstallAPI/driver-invalid-options.test
A clang/test/InstallAPI/reexported-frameworks.test
A clang/test/InstallAPI/rpath.test
M clang/tools/clang-installapi/CMakeLists.txt
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] Capture & compare load commands that may differ per arch slice (#87674)
* Capture reexported libraries, allowable clients, rpaths, shared cache
eligibility.
* Add support for select Xarch options.
* Add diagnostics related to capturing these options.
* Add support for verifying these attributes against what is encoded in
the dylib.
Commit: 0a39f1a7e5c7fd00b37231964ec81dae938948e7
https://github.com/llvm/llvm-project/commit/0a39f1a7e5c7fd00b37231964ec81dae938948e7
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
Log Message:
-----------
[scudo] Add errno description to mmap failure. (#87713)
Added unit tests for all of the linux report error functions.
Commit: 2744a243bb132ef0bbb37c888cee661488609ea5
https://github.com/llvm/llvm-project/commit/2744a243bb132ef0bbb37c888cee661488609ea5
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libc/src/__support/CPP/bit.h
Log Message:
-----------
[libc][support][bit] use new type generic builtins (#86746)
These are new in clang-19+, gcc-14+.
Commit: 25cf27910c3a58e71e37c3d5391235730aa7c488
https://github.com/llvm/llvm-project/commit/25cf27910c3a58e71e37c3d5391235730aa7c488
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/cmake/caches/Apple-stage2.cmake
M lldb/cmake/caches/Apple-lldb-base.cmake
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/docs/CMake.rst
Log Message:
-----------
[cmake] Build executables with -no_exported_symbols when building Apple toolchain (#87684)
Building the Apple way turns off plugin support, meaning we don't need
to export unloadable symbols from all executables. While deadstripping
effects aren't expected to change, enabling this across all tools
prevents the creation of export tries. This saves us ~3.5 MB in just the
universal build of `clang`.
Commit: b329da896c4959f6c56cf5e515d3412322f4b3c5
https://github.com/llvm/llvm-project/commit/b329da896c4959f6c56cf5e515d3412322f4b3c5
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
A flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Decimal/big-radix-floating-point.h
M flang/lib/Decimal/binary-to-decimal.cpp
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Support for offload build of FortranDecimal. (#87653)
Commit: 65e5391657147d1bda3a4d9b26c9b3db0ca54fd7
https://github.com/llvm/llvm-project/commit/65e5391657147d1bda3a4d9b26c9b3db0ca54fd7
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M compiler-rt/test/fuzzer/lit.cfg.py
Log Message:
-----------
Pass the linker version to libfuzzer tests on darwin (#87719)
The HOST_LINK_VERSION is a hardcoded string in Darwin clang that detects
the linker version at configure time. The driver uses this information
to build the correct set of arguments for the linker. This patch detects
the linker version again during compiler-rt configuration and passes it
to the libfuzzer tests. This allows a clang built on a machine with a
new linker to run compiler-rt tests on a machine with an old linker.
rdar://125932376
Commit: 80deb8269f2252b65c8af09da100e5b4949d589d
https://github.com/llvm/llvm-project/commit/80deb8269f2252b65c8af09da100e5b4949d589d
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libc/src/fenv/fegetexceptflag.cpp
Log Message:
-----------
[libc][fenv] Add compile time check (#87826)
Take care of a TODO. This
check makes sure that the fexcept_t
value fits in an int value.
TODO introduced in:
https://github.com/llvm/llvm-project/commit/9550f8ba9a3a697f28a7920c8aeb5cba1e8003a6
Commit: fe45029dbdee6b3df2dbeaed17c9dd598ec511f2
https://github.com/llvm/llvm-project/commit/fe45029dbdee6b3df2dbeaed17c9dd598ec511f2
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[cmake] Back out of making unsupported `-no_exported_symbols` linker a
fatal error for now
Appeases build bots while being investigated.
Commit: af34a5d382bc7cd93c620efa00dce449de252a0a
https://github.com/llvm/llvm-project/commit/af34a5d382bc7cd93c620efa00dce449de252a0a
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
A libc/docs/fenv.rst
M libc/docs/index.rst
A libc/utils/docgen/ctype.json
A libc/utils/docgen/docgen.py
A libc/utils/docgen/fenv.json
Log Message:
-----------
[libc][docs] Introduce docgen (#87682)
This script+config should help us generate more consistent documentation wrt.
what we currently support or not.
As an example usage:
$ ./libc/utils/docgen/docgen.py fenv.h
Will spit out an RST formatted table that can be copy+pasted into our docs.
The config is not filled out entirely, but doing so and then updating our docs
would be great beginner bugs for new contributors.
Having python+json generate things like docs, or headers (as imagined in
https://github.com/nickdesaulniers/llvm-project/tree/hdr-gen2) is perhaps
easier to work with than tablegen, and doesn't introduce a dependency on a host
tool that needs to be compiled from llvm sources before building the rest of
the libc. This can probably be merged with whatever we end up doing to replace
libc-hdrgen.
Please use
https://llvm.org/docs/CodingStandards.html#python-version-and-source-code-formatting
for keeping this file formatted.
Commit: 920298456037b9ed3ab14cb646ef6d3bf95d2c2b
https://github.com/llvm/llvm-project/commit/920298456037b9ed3ab14cb646ef6d3bf95d2c2b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang][build] Fixed paths discrovery for the out-of-tree build. (#87822)
When building flang out-of-tree with relative paths in LLVM_DIR,
CLANG_DIR and MLIR_DIR, we need to compute the absolute paths
based on the CMake build directory (i.e. where the cmake is invoked
from).
Commit: 42a6ad7bad85a0e35ff5ae6b9b370617509e363a
https://github.com/llvm/llvm-project/commit/42a6ad7bad85a0e35ff5ae6b9b370617509e363a
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][Vector] Fix n-D vector.extract/insert lowering to LLVM (#87591)
The lowering of n-D vector.extract/insert ops to LLVM is not supported
but if one of these accidentally reaches the vector-to-llvm conversion
patterns, we end up with a kind of puzzling crash. This PR fixes that
crash and gracefully bails out in those cases.
Commit: 3b337242ee165554f0017b00671381ec5b1ba855
https://github.com/llvm/llvm-project/commit/3b337242ee165554f0017b00671381ec5b1ba855
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
A flang/include/flang/Runtime/freestanding-tools.h
M flang/runtime/buffer.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/edit-input.cpp
M flang/runtime/format.h
R flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/memory.cpp
M flang/runtime/tools.h
Log Message:
-----------
[NFC][flang][runtime] Moved freestanding-tools.h to use it in FortranDecimal. (#87827)
I will add `toupper` implementation into it in the next PR.
Commit: 5748ad84e5e8e5621f221199cc290666f00e2a30
https://github.com/llvm/llvm-project/commit/5748ad84e5e8e5621f221199cc290666f00e2a30
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/fuzzing/math/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
M libc/fuzzing/stdlib/CMakeLists.txt
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
A libc/hdr/CMakeLists.txt
A libc/hdr/math_macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/math_utils.h
M libc/test/CMakeLists.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/uint_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/explogxf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/ilogb_test.cpp
M libc/test/src/math/ilogbf_test.cpp
M libc/test/src/math/ilogbl_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundEvenTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.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/atan2f_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/cosf_test.cpp
M libc/test/src/math/smoke/coshf_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/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/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/powf_test.cpp
M libc/test/src/math/smoke/sincosf_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/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/sys/random/linux/CMakeLists.txt
M libc/test/utils/FPUtil/CMakeLists.txt
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.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/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[libc] Add proxy header math_macros.h. (#87598)
Context: https://github.com/llvm/llvm-project/pull/87017
- Add proxy header `libc/hdr/math_macros.h` that will:
- include `<math.h>` in overlay mode,
- include `"include/llvm-libc-macros/math-macros.h"` in full build mode.
- Its corresponding CMake target `libc.hdr.math_macros` will only depend
on `libc.include.math` and `libc.include.llvm-libc-macros.math_macros`
in full build mode.
- Replace all `#include "include/llvm-libc-macros/math-macros.h"` with
`#include "hdr/math_macros.h"`.
- Add dependency to `libc.hdr.math_macros` CMake target when using
`add_fp_unittest`.
- Update the remaining dependency.
- Update bazel overlay: add `libc:hdr_math_macros` target, and replacing
all dependency on `libc:llvm_libc_macros_math_macros` with
`libc:hdr_math_macros`.
Commit: 2d3c827c053c112491dc1102ff31fc7d703adc36
https://github.com/llvm/llvm-project/commit/2d3c827c053c112491dc1102ff31fc7d703adc36
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Use BAT for YAML profile call target information
Provide a mechanism to resolve call target information for calls from non-BAT
functions to BAT functions (`YAMLProfileWriter::convert`). Make it generic for
future use in BAT-to-BAT calls.
Test Plan: Updated bolt/test/X86/bolt-address-translation-yaml.test
Reviewers: ayermolo, maksfb, rafaelauler, dcci
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/86219
Commit: 3f2f700633bbcc0cb5ada17f5736b43f9c1e426e
https://github.com/llvm/llvm-project/commit/3f2f700633bbcc0cb5ada17f5736b43f9c1e426e
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
Log Message:
-----------
[flang] Fix -Wunused-but-set-variable in Bridge.cpp (NFC)
llvm-project/flang/lib/Lower/Bridge.cpp:3775:14:
error: variable 'nbDeviceResidentObject' set but not used [-Werror,-Wunused-but-set-variable]
unsigned nbDeviceResidentObject = 0;
^
1 error generated.
Commit: 8bd391457fbd5108610557efdb26c2397aa0bd24
https://github.com/llvm/llvm-project/commit/8bd391457fbd5108610557efdb26c2397aa0bd24
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Rename OP-P to OP-VE. (#87546)
This has been updated in the isa-manual
https://github.com/riscv/riscv-isa-manual/pull/1311
Commit: 0227623915bf0b4794bdbc64974f6cbd6fcc1611
https://github.com/llvm/llvm-project/commit/0227623915bf0b4794bdbc64974f6cbd6fcc1611
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/yaml-secondary-entry-discriminator.s
Log Message:
-----------
[BOLT][BAT] Support multi-way split functions
BAT writeMaps encoded the assumption that functions are only split into
two fragments (hot and cold). However, BOLT supports splitting into
arbitrary number of fragments. Relax that assumption and look up primary
(hot) fragment explicitly.
Depends on: https://github.com/llvm/llvm-project/pull/86219
Test Plan: Updated bolt/test/X86/yaml-secondary-entry-discriminator.s
Reviewers: ayermolo, rafaelauler, maksfb, dcci
Reviewed By: maksfb, dcci
Pull Request: https://github.com/llvm/llvm-project/pull/87123
Commit: e64eede0dcf08e9b2d4bec0b47818b26862ec2c7
https://github.com/llvm/llvm-project/commit/e64eede0dcf08e9b2d4bec0b47818b26862ec2c7
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT][BAT] Fix encoded NumBasicBlocks
Emit the recorded number of blocks, not the number of basic block
hashes. There might be differences in corner cases (openssl
BN_BLINDING_convert_ex function).
Test Plan:
Updated openssl.test in https://github.com/rafaelauler/bolt-tests/pull/31
Reviewers: rafaelauler, ayermolo, maksfb, dcci
Reviewed By: ayermolo
Pull Request: https://github.com/llvm/llvm-project/pull/87830
Commit: ed4e505c219fe6c7464ea5a056e90d8cd94c7332
https://github.com/llvm/llvm-project/commit/ed4e505c219fe6c7464ea5a056e90d8cd94c7332
Author: Mike <FruitClover at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
Log Message:
-----------
[clang-tidy] Fix readability-duplicate-include for includes with macro (#87433)
Completely skip include directives that form the filename using macros.
fixes #87303
Commit: 0f52f4ddd909eb38f2a691ffed8469263fe5f635
https://github.com/llvm/llvm-project/commit/0f52f4ddd909eb38f2a691ffed8469263fe5f635
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/include/mlir/TableGen/Class.h
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-operand.td
M mlir/test/mlir-tblgen/op-properties.td
M mlir/test/mlir-tblgen/op-result.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ods] Emit "trivial" ODS getter/setters inline (#87741)
Emitting trivial getters that amount to `(*this)->getOperand(1)`
out-of-line or `getProperties().foo` is a pretty significant performance
hit on these basic MLIR APIs for manipulating ops (3-4x). Emit them
inline (without adding additional dependencies to header files).
Commit: c8f3d211fc428dd6075440ac22f48641436545d0
https://github.com/llvm/llvm-project/commit/c8f3d211fc428dd6075440ac22f48641436545d0
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/ADL.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/IteratorTest.cpp
M llvm/unittests/ADT/RangeAdapterTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Allow reverse to find free rbegin/rend functions (#87840)
Lift the requirement that rbegin/rend must be member functions. Also
allow the rbegin/rend to be found through Argument Dependent Lookup
(ADL) and add `adl_rbegin`/`adl_rend` to STLExtras.
Commit: 08200fa3f50ba9dc094467d6e1d31197dfcb7134
https://github.com/llvm/llvm-project/commit/08200fa3f50ba9dc094467d6e1d31197dfcb7134
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][Arith] Specify evaluation order of `getExpr` (#87859)
The C++ standard does not specify an evaluation order for addition/...
operands. E.g., in `a() + b()`, the compiler is free to evaluate `a` or
`b` first.
This lead to different `mlir-opt` outputs in #85895. (FileCheck passed
when compiled with LLVM but failed when compiled with gcc.)
Commit: 76435f2dca97621dfd7e7299bb93e2f38dcf403d
https://github.com/llvm/llvm-project/commit/76435f2dca97621dfd7e7299bb93e2f38dcf403d
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][SCF] `ValueBoundsConstraintSet`: Support `scf.if` (branches) (#87860)
This commit adds support for `scf.if` to `ValueBoundsConstraintSet`.
Example:
```
%0 = scf.if ... -> index {
scf.yield %a : index
} else {
scf.yield %b : index
}
```
The following constraints hold for %0:
* %0 >= min(%a, %b)
* %0 <= max(%a, %b)
Such constraints cannot be added to the constraint set; min/max is not
supported by `IntegerRelation`. However, if we know which one of %a and
%b is larger, we can add constraints for %0. E.g., if %a <= %b:
* %0 >= %a
* %0 <= %b
This commit required a few minor changes to the
`ValueBoundsConstraintSet` infrastructure, so that values can be
compared while we are still in the process of traversing the IR/adding
constraints.
Note: This is a re-upload of #85895, which was reverted. The bug that
caused the failure was fixed in #87859.
Commit: 813f68caf42260452ad7a5cc224ef199a2ad0067
https://github.com/llvm/llvm-project/commit/813f68caf42260452ad7a5cc224ef199a2ad0067
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Reject VLAs in `__is_layout_compatible()` (#87737)
This is a follow-up to #81506. Since `__is_layout_compatible()` is a C++
intrinsic
(https://github.com/llvm/llvm-project/blob/ff1e72d68d1224271801ff5192a8c14fbd3be83b/clang/include/clang/Basic/TokenKinds.def#L523),
I don't think we should define how it interacts with VLA extension
unless we have a compelling reason to.
Since #81506 was merged after 18 cut-off, we don't have to follow any
kind of deprecation process.
Commit: cd0f5b2e58fad3973f2f50936b0467b2de3b3e12
https://github.com/llvm/llvm-project/commit/cd0f5b2e58fad3973f2f50936b0467b2de3b3e12
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
A clang/test/CXX/drs/dr392.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG392 (#87744)
[CWG392](https://cplusplus.github.io/CWG/issues/392.html) "Use of full
expression lvalue before temporary destruction". We're testing that
`operator bool()` is called before destructor of `C`.
I'm also marking CWG388 as requiring libc++abi test instead of codegen
test, as we need to test matching between exception object and exception
handlers.
Commit: 0b021c4b603b4e076f9e54572a4eef3e43ab57c0
https://github.com/llvm/llvm-project/commit/0b021c4b603b4e076f9e54572a4eef3e43ab57c0
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/test/CXX/drs/dr4xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Claim conformance for CWG466 (#87748)
[CWG466](https://cplusplus.github.io/CWG/issues/466.html) "cv-qualifiers
on pseudo-destructor type".
Richard claimed that we don't implement this DR because of one
ill-formed example being accepted: `a->CI::~VI();`. This example is
testing the behavior of calling a pseudo-destructor via a qualified
name, where components of qualified name denote the same `int` type, but
with different cv-qualifications.
Initially, the following wording from [expr.pseudo] quoted in CWG466 was
left intact:
> Furthermore, the two type-names in a pseudo-destructor-name of the
form
>
> `:: (opt) nested-name-specifier (opt) type-name ::~ type-name`
>
>shall designate the same scalar type.
According to this wording, the example is indeed ill-formed.
[P1131R2](https://wg21.link/p1131r2) merged wording for
pseudo-destructors into regular destructor wording. Among other things,
[expr.pseudo] was removed, and [expr.prim.id.qual]/2 was changed to
read:
> Where `type-name ::~ type-name` is used, the two type-names shall
refer to the same type (ignoring cv-qualifications);
I believe P1131R2 made the example well-formed.
However, this wording didn't survive
[P1787R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html)
"Declarations and where to find them". In that paper I don't see the
intent to make the example ill-formed again, so I assume it confirmed
status-quo via other wording. My _guess_ the new wording is
http://eel.is/c++draft/basic.lookup#qual.general-4.6:
> If a qualified name Q follows a ~:
> - <...>
> - The [type-name](http://eel.is/c++draft/dcl.type.simple#nt:type-name)
that is or contains Q shall refer to its (original) lookup context
(ignoring cv-qualification) under the interpretation established by at
least one (successful) lookup
performed[.](http://eel.is/c++draft/basic.lookup#qual.general-4.6.sentence-1)
Commit: 770202343ebce1f2bc0745c78e298e251f204bee
https://github.com/llvm/llvm-project/commit/770202343ebce1f2bc0745c78e298e251f204bee
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-05 (Fri, 05 Apr 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Rename `kind` to `Kind`
Commit: 0ba3e96be114dcbe0ac6813a1d0e2940d2a88229
https://github.com/llvm/llvm-project/commit/0ba3e96be114dcbe0ac6813a1d0e2940d2a88229
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][SCF][NFC] `ValueBoundsConstraintSet`: Simplify `scf.for` implementation (#87862)
This commit simplifies the implementation of the
`ValueBoundsOpInterface` for `scf.for` based on the newly added
`ValueBoundsConstraintSet::compare` API and adds additional
documentation.
Previously, the interface implementation created a new constraint set
just to check if the yielded value and iter_arg are equal. This was
inefficient because constraints were added multiple times (to two
different constraint sets) for ops that are inside the loop.
Note: This is a re-upload of #86239.
Commit: a522dbbd62d0cda4cd10b1b477f238938446294a
https://github.com/llvm/llvm-project/commit/a522dbbd62d0cda4cd10b1b477f238938446294a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Support fast math flag for complex.sign op (#87148)
We are going to support the fast math flag given in `complex.sign` op in
the conversion to standard dialect.
See:
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: 09efe848cf2877ea7528411eaa0fe99224059256
https://github.com/llvm/llvm-project/commit/09efe848cf2877ea7528411eaa0fe99224059256
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/fuzzing/__support/CMakeLists.txt
M libc/fuzzing/__support/uint_fuzz.cpp
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
R libc/src/__support/UInt.h
R libc/src/__support/UInt128.h
A libc/src/__support/big_int.h
M libc/src/__support/float_to_string.h
M libc/src/__support/hash.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
A libc/src/__support/uint128.h
M libc/src/math/generic/log_range_reduction.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/high_precision_decimal_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/uint_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/stdlib/strtold_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/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
Log Message:
-----------
[libc][NFC] Rename `UInt.h` to `big_int.h` and `UInt128.h` to `uint128.h` for consistency (#87808)
Commit: 684f27d37a6f1faf546a71bcb784b48c7fc8b7e0
https://github.com/llvm/llvm-project/commit/684f27d37a6f1faf546a71bcb784b48c7fc8b7e0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
Log Message:
-----------
[clang-format][NFC] Use `is` instead of `getType() ==`
Commit: f5d7e755b8e9623f24812dcab8f4e09e888b2527
https://github.com/llvm/llvm-project/commit/f5d7e755b8e9623f24812dcab8f4e09e888b2527
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Fix the build after 27b2d7d4bb790ec1e7430bf18b1bc2f6e0800d0d
Commit: d2884444472e92a8282f4d215a27128ac83a26b9
https://github.com/llvm/llvm-project/commit/d2884444472e92a8282f4d215a27128ac83a26b9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
A clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
[clang][NFC] Introduce `SemaBase` (#87634)
This is a follow-up to #84184. Multiple reviewers there pointed out to
me that we should have a common base class for `Sema` and `SemaOpenACC`
to avoid code duplication for common helpers like `getLangOpts()`. On
top of that, `Diag()` function was requested for `SemaOpenACC`. This
patch delivers both.
The intent is to keep `SemaBase` as small as possible, as things there
are globally available across `Sema` and its parts without any
additional effort from usage side. Overused, this can undermine the
whole endeavor of splitting `Sema` apart.
Apart of shuffling code around, this patch introduces a helper private
function `SemaDiagnosticBuilder::getDeviceDeferredDiags()`, the sole
purpose of which is to encapsulate member access into (incomplete)
`Sema` for function templates defined in the header, where `Sema` can't
be complete.
Commit: 0e8b61f8e0bd37e99f3de06e4e8885844f904eba
https://github.com/llvm/llvm-project/commit/0e8b61f8e0bd37e99f3de06e4e8885844f904eba
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/dynamic-malformed.test
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
llvm-objdump/ELF: fix crash when reading dyn str table (#87519)
When reading the dynamic string table, llvm-objdump used to crash if the
ELF was malformed, due to an erroneous consumption of error status.
Instead, propogate the error status to the caller, fixing the crash, and
printing a warning.
Commit: 233c030dcb18880d5f0a749573f11f96f35e76b8
https://github.com/llvm/llvm-project/commit/233c030dcb18880d5f0a749573f11f96f35e76b8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
A llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
Log Message:
-----------
[LV] Add extra tests for induction cost modeling.
Commit: 4761e74a276ee1f38596f4849daa9d633929f2ae
https://github.com/llvm/llvm-project/commit/4761e74a276ee1f38596f4849daa9d633929f2ae
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/fstream
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++] Implement LWG3430 disallow implicit conversion of the source arguments to `std::filesystem::path` when constructing `std::basic_*fstream` (#85079)
Implement [LWG3430](https://wg21.link/LWG3430).
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: fa8a7266724f26d27820f8876b504d7a4f166948
https://github.com/llvm/llvm-project/commit/fa8a7266724f26d27820f8876b504d7a4f166948
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/global_alias.ll
Log Message:
-----------
[LV] Make global_alias.ll test independent of O1 pipeline.
Update global_alias.ll with the IR after the O1 pipeline. Depending on
the O1 makes the tests more fragile and also makes it more difficult to
reason about the behavior of the tests, as it doesn't show the IR before
LoopVectorize.
Commit: 1803d675004bb512051d2df7e1ae3ea95692fc67
https://github.com/llvm/llvm-project/commit/1803d675004bb512051d2df7e1ae3ea95692fc67
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.cpp
Log Message:
-----------
[Driver] Add missing include of std::set.
4ddd4ed7fe15a added a use of std::set without including it. With some
recent libc++, std::set isn't included transitively causing build
failures.
Add explicit include.
Commit: 935e699173636921b118c3c21da6b18659c09a16
https://github.com/llvm/llvm-project/commit/935e699173636921b118c3c21da6b18659c09a16
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/minmax.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__type_traits/desugars_to.h
Log Message:
-----------
[libc++] Optimize ranges::minmax (#87335)
This allows Clang to vectorize the loop.
```
---------------------------------------------------------------------
Benchmark old new
---------------------------------------------------------------------
BM_std_minmax<char>/1 0.659 ns 1.41 ns
BM_std_minmax<char>/2 1.08 ns 2.16 ns
BM_std_minmax<char>/3 2.16 ns 2.96 ns
BM_std_minmax<char>/4 2.82 ns 3.81 ns
BM_std_minmax<char>/5 3.43 ns 4.69 ns
BM_std_minmax<char>/6 4.08 ns 5.63 ns
BM_std_minmax<char>/7 4.75 ns 6.51 ns
BM_std_minmax<char>/8 5.42 ns 7.41 ns
BM_std_minmax<char>/9 6.05 ns 8.34 ns
BM_std_minmax<char>/10 6.68 ns 9.29 ns
BM_std_minmax<char>/11 7.47 ns 10.6 ns
BM_std_minmax<char>/12 7.95 ns 11.4 ns
BM_std_minmax<char>/13 8.64 ns 12.4 ns
BM_std_minmax<char>/14 9.35 ns 13.4 ns
BM_std_minmax<char>/15 10.1 ns 14.4 ns
BM_std_minmax<char>/16 10.6 ns 2.25 ns
BM_std_minmax<char>/17 11.3 ns 2.82 ns
BM_std_minmax<char>/18 11.8 ns 3.71 ns
BM_std_minmax<char>/19 12.6 ns 4.52 ns
BM_std_minmax<char>/20 13.2 ns 5.47 ns
BM_std_minmax<char>/21 14.1 ns 6.67 ns
BM_std_minmax<char>/22 14.5 ns 7.78 ns
BM_std_minmax<char>/23 15.1 ns 8.67 ns
BM_std_minmax<char>/24 15.7 ns 9.68 ns
BM_std_minmax<char>/25 16.4 ns 10.7 ns
BM_std_minmax<char>/26 17.1 ns 11.7 ns
BM_std_minmax<char>/27 17.8 ns 12.8 ns
BM_std_minmax<char>/28 18.4 ns 14.1 ns
BM_std_minmax<char>/29 19.0 ns 15.0 ns
BM_std_minmax<char>/30 19.6 ns 16.0 ns
BM_std_minmax<char>/31 20.2 ns 17.0 ns
BM_std_minmax<char>/32 20.8 ns 2.46 ns
BM_std_minmax<char>/64 41.5 ns 2.97 ns
BM_std_minmax<char>/512 340 ns 6.05 ns
BM_std_minmax<char>/1024 667 ns 8.83 ns
BM_std_minmax<char>/4000 2571 ns 28.6 ns
BM_std_minmax<char>/4096 2632 ns 25.8 ns
BM_std_minmax<char>/5500 3554 ns 51.1 ns
BM_std_minmax<char>/64000 41175 ns 480 ns
BM_std_minmax<char>/65536 42039 ns 490 ns
BM_std_minmax<char>/70000 44931 ns 528 ns
BM_std_minmax<short>/1 0.708 ns 1.20 ns
BM_std_minmax<short>/2 1.18 ns 1.78 ns
BM_std_minmax<short>/3 1.98 ns 2.42 ns
BM_std_minmax<short>/4 2.47 ns 3.05 ns
BM_std_minmax<short>/5 3.09 ns 3.72 ns
BM_std_minmax<short>/6 3.49 ns 4.37 ns
BM_std_minmax<short>/7 4.24 ns 5.03 ns
BM_std_minmax<short>/8 4.65 ns 2.12 ns
BM_std_minmax<short>/9 5.34 ns 2.51 ns
BM_std_minmax<short>/10 5.82 ns 3.18 ns
BM_std_minmax<short>/11 6.36 ns 3.97 ns
BM_std_minmax<short>/12 6.73 ns 4.68 ns
BM_std_minmax<short>/13 7.59 ns 5.49 ns
BM_std_minmax<short>/14 7.77 ns 6.45 ns
BM_std_minmax<short>/15 8.54 ns 7.55 ns
BM_std_minmax<short>/16 8.74 ns 2.38 ns
BM_std_minmax<short>/17 9.59 ns 2.76 ns
BM_std_minmax<short>/18 9.88 ns 3.37 ns
BM_std_minmax<short>/19 10.7 ns 4.17 ns
BM_std_minmax<short>/20 10.9 ns 4.88 ns
BM_std_minmax<short>/21 12.1 ns 5.70 ns
BM_std_minmax<short>/22 12.6 ns 6.64 ns
BM_std_minmax<short>/23 13.5 ns 7.72 ns
BM_std_minmax<short>/24 13.2 ns 2.87 ns
BM_std_minmax<short>/25 14.2 ns 3.10 ns
BM_std_minmax<short>/26 14.2 ns 3.59 ns
BM_std_minmax<short>/27 15.4 ns 4.35 ns
BM_std_minmax<short>/28 15.3 ns 5.10 ns
BM_std_minmax<short>/29 16.2 ns 5.87 ns
BM_std_minmax<short>/30 16.2 ns 6.88 ns
BM_std_minmax<short>/31 17.0 ns 7.78 ns
BM_std_minmax<short>/32 17.2 ns 3.45 ns
BM_std_minmax<short>/64 34.1 ns 3.35 ns
BM_std_minmax<short>/512 279 ns 8.37 ns
BM_std_minmax<short>/1024 549 ns 14.2 ns
BM_std_minmax<short>/4000 2111 ns 50.1 ns
BM_std_minmax<short>/4096 2167 ns 47.9 ns
BM_std_minmax<short>/5500 2895 ns 69.7 ns
BM_std_minmax<short>/64000 33454 ns 953 ns
BM_std_minmax<short>/65536 34474 ns 970 ns
BM_std_minmax<short>/70000 36691 ns 1037 ns
BM_std_minmax<int>/1 0.664 ns 1.17 ns
BM_std_minmax<int>/2 1.11 ns 1.69 ns
BM_std_minmax<int>/3 2.36 ns 2.29 ns
BM_std_minmax<int>/4 2.53 ns 2.91 ns
BM_std_minmax<int>/5 3.23 ns 3.56 ns
BM_std_minmax<int>/6 3.56 ns 4.23 ns
BM_std_minmax<int>/7 4.28 ns 4.91 ns
BM_std_minmax<int>/8 4.60 ns 5.60 ns
BM_std_minmax<int>/9 5.38 ns 6.31 ns
BM_std_minmax<int>/10 5.69 ns 7.03 ns
BM_std_minmax<int>/11 6.41 ns 7.70 ns
BM_std_minmax<int>/12 6.73 ns 8.39 ns
BM_std_minmax<int>/13 7.38 ns 9.07 ns
BM_std_minmax<int>/14 7.74 ns 9.79 ns
BM_std_minmax<int>/15 8.53 ns 10.5 ns
BM_std_minmax<int>/16 8.79 ns 11.2 ns
BM_std_minmax<int>/17 9.63 ns 12.0 ns
BM_std_minmax<int>/18 9.84 ns 12.7 ns
BM_std_minmax<int>/19 10.6 ns 13.5 ns
BM_std_minmax<int>/20 11.0 ns 14.3 ns
BM_std_minmax<int>/21 11.7 ns 15.0 ns
BM_std_minmax<int>/22 12.0 ns 15.7 ns
BM_std_minmax<int>/23 13.1 ns 16.5 ns
BM_std_minmax<int>/24 13.0 ns 17.3 ns
BM_std_minmax<int>/25 13.7 ns 17.9 ns
BM_std_minmax<int>/26 14.0 ns 18.6 ns
BM_std_minmax<int>/27 14.8 ns 19.4 ns
BM_std_minmax<int>/28 15.1 ns 20.3 ns
BM_std_minmax<int>/29 15.8 ns 20.9 ns
BM_std_minmax<int>/30 16.1 ns 21.7 ns
BM_std_minmax<int>/31 16.9 ns 22.5 ns
BM_std_minmax<int>/32 17.2 ns 3.40 ns
BM_std_minmax<int>/64 33.9 ns 4.04 ns
BM_std_minmax<int>/512 275 ns 14.6 ns
BM_std_minmax<int>/1024 541 ns 27.5 ns
BM_std_minmax<int>/4000 2093 ns 96.3 ns
BM_std_minmax<int>/4096 2146 ns 98.3 ns
BM_std_minmax<int>/5500 2866 ns 157 ns
BM_std_minmax<int>/64000 33619 ns 1954 ns
BM_std_minmax<int>/65536 34252 ns 2009 ns
BM_std_minmax<int>/70000 36618 ns 2125 ns
BM_std_minmax<long long>/1 0.709 ns 1.19 ns
BM_std_minmax<long long>/2 1.01 ns 1.65 ns
BM_std_minmax<long long>/3 2.14 ns 2.21 ns
BM_std_minmax<long long>/4 2.45 ns 2.83 ns
BM_std_minmax<long long>/5 3.09 ns 3.47 ns
BM_std_minmax<long long>/6 3.44 ns 4.11 ns
BM_std_minmax<long long>/7 4.16 ns 4.79 ns
BM_std_minmax<long long>/8 4.54 ns 5.47 ns
BM_std_minmax<long long>/9 5.37 ns 6.20 ns
BM_std_minmax<long long>/10 5.71 ns 6.93 ns
BM_std_minmax<long long>/11 6.00 ns 7.60 ns
BM_std_minmax<long long>/12 6.43 ns 8.27 ns
BM_std_minmax<long long>/13 7.01 ns 8.94 ns
BM_std_minmax<long long>/14 7.45 ns 9.65 ns
BM_std_minmax<long long>/15 8.16 ns 10.4 ns
BM_std_minmax<long long>/16 8.46 ns 5.22 ns
BM_std_minmax<long long>/17 9.16 ns 5.22 ns
BM_std_minmax<long long>/18 9.53 ns 5.52 ns
BM_std_minmax<long long>/19 10.2 ns 6.02 ns
BM_std_minmax<long long>/20 10.5 ns 6.89 ns
BM_std_minmax<long long>/21 11.3 ns 7.83 ns
BM_std_minmax<long long>/22 11.6 ns 8.59 ns
BM_std_minmax<long long>/23 12.3 ns 9.91 ns
BM_std_minmax<long long>/24 12.6 ns 10.1 ns
BM_std_minmax<long long>/25 13.2 ns 12.0 ns
BM_std_minmax<long long>/26 13.6 ns 13.5 ns
BM_std_minmax<long long>/27 14.2 ns 14.8 ns
BM_std_minmax<long long>/28 14.7 ns 15.9 ns
BM_std_minmax<long long>/29 15.3 ns 16.6 ns
BM_std_minmax<long long>/30 15.8 ns 17.3 ns
BM_std_minmax<long long>/31 16.3 ns 18.2 ns
BM_std_minmax<long long>/32 16.7 ns 7.18 ns
BM_std_minmax<long long>/64 33.1 ns 11.5 ns
BM_std_minmax<long long>/512 268 ns 71.0 ns
BM_std_minmax<long long>/1024 532 ns 138 ns
BM_std_minmax<long long>/4000 2056 ns 533 ns
BM_std_minmax<long long>/4096 2112 ns 539 ns
BM_std_minmax<long long>/5500 2823 ns 749 ns
BM_std_minmax<long long>/64000 32956 ns 8590 ns
BM_std_minmax<long long>/65536 33795 ns 8791 ns
BM_std_minmax<long long>/70000 36084 ns 9442 ns
BM_std_minmax<unsigned char>/1 0.714 ns 1.41 ns
BM_std_minmax<unsigned char>/2 0.955 ns 1.96 ns
BM_std_minmax<unsigned char>/3 1.90 ns 2.63 ns
BM_std_minmax<unsigned char>/4 2.40 ns 3.34 ns
BM_std_minmax<unsigned char>/5 2.87 ns 4.10 ns
BM_std_minmax<unsigned char>/6 3.47 ns 4.88 ns
BM_std_minmax<unsigned char>/7 4.04 ns 5.66 ns
BM_std_minmax<unsigned char>/8 4.65 ns 6.45 ns
BM_std_minmax<unsigned char>/9 5.18 ns 7.24 ns
BM_std_minmax<unsigned char>/10 5.80 ns 8.05 ns
BM_std_minmax<unsigned char>/11 6.24 ns 8.86 ns
BM_std_minmax<unsigned char>/12 6.78 ns 9.70 ns
BM_std_minmax<unsigned char>/13 7.30 ns 10.6 ns
BM_std_minmax<unsigned char>/14 7.86 ns 11.4 ns
BM_std_minmax<unsigned char>/15 8.46 ns 12.3 ns
BM_std_minmax<unsigned char>/16 9.00 ns 2.12 ns
BM_std_minmax<unsigned char>/17 9.58 ns 2.83 ns
BM_std_minmax<unsigned char>/18 10.1 ns 3.37 ns
BM_std_minmax<unsigned char>/19 10.7 ns 4.11 ns
BM_std_minmax<unsigned char>/20 11.2 ns 4.85 ns
BM_std_minmax<unsigned char>/21 11.9 ns 5.69 ns
BM_std_minmax<unsigned char>/22 12.3 ns 6.77 ns
BM_std_minmax<unsigned char>/23 13.1 ns 7.56 ns
BM_std_minmax<unsigned char>/24 13.5 ns 8.40 ns
BM_std_minmax<unsigned char>/25 14.2 ns 9.30 ns
BM_std_minmax<unsigned char>/26 14.4 ns 10.1 ns
BM_std_minmax<unsigned char>/27 15.0 ns 11.1 ns
BM_std_minmax<unsigned char>/28 15.3 ns 11.9 ns
BM_std_minmax<unsigned char>/29 16.2 ns 12.9 ns
BM_std_minmax<unsigned char>/30 16.5 ns 13.9 ns
BM_std_minmax<unsigned char>/31 17.2 ns 14.8 ns
BM_std_minmax<unsigned char>/32 17.6 ns 2.36 ns
BM_std_minmax<unsigned char>/64 35.6 ns 3.21 ns
BM_std_minmax<unsigned char>/512 288 ns 6.00 ns
BM_std_minmax<unsigned char>/1024 573 ns 8.80 ns
BM_std_minmax<unsigned char>/4000 2222 ns 28.6 ns
BM_std_minmax<unsigned char>/4096 2265 ns 25.9 ns
BM_std_minmax<unsigned char>/5500 3047 ns 48.8 ns
BM_std_minmax<unsigned char>/64000 35059 ns 480 ns
BM_std_minmax<unsigned char>/65536 35941 ns 491 ns
BM_std_minmax<unsigned char>/70000 38922 ns 525 ns
BM_std_minmax<unsigned short>/1 0.711 ns 1.18 ns
BM_std_minmax<unsigned short>/2 0.957 ns 1.65 ns
BM_std_minmax<unsigned short>/3 2.13 ns 2.21 ns
BM_std_minmax<unsigned short>/4 2.14 ns 2.78 ns
BM_std_minmax<unsigned short>/5 3.06 ns 3.29 ns
BM_std_minmax<unsigned short>/6 2.89 ns 3.87 ns
BM_std_minmax<unsigned short>/7 3.80 ns 4.55 ns
BM_std_minmax<unsigned short>/8 3.68 ns 2.02 ns
BM_std_minmax<unsigned short>/9 4.53 ns 2.40 ns
BM_std_minmax<unsigned short>/10 4.60 ns 2.94 ns
BM_std_minmax<unsigned short>/11 5.67 ns 3.67 ns
BM_std_minmax<unsigned short>/12 5.39 ns 4.22 ns
BM_std_minmax<unsigned short>/13 6.58 ns 4.78 ns
BM_std_minmax<unsigned short>/14 6.33 ns 5.54 ns
BM_std_minmax<unsigned short>/15 7.34 ns 6.30 ns
BM_std_minmax<unsigned short>/16 7.17 ns 2.25 ns
BM_std_minmax<unsigned short>/17 8.19 ns 2.61 ns
BM_std_minmax<unsigned short>/18 8.02 ns 3.19 ns
BM_std_minmax<unsigned short>/19 9.03 ns 3.72 ns
BM_std_minmax<unsigned short>/20 8.89 ns 4.36 ns
BM_std_minmax<unsigned short>/21 9.77 ns 5.10 ns
BM_std_minmax<unsigned short>/22 9.70 ns 5.55 ns
BM_std_minmax<unsigned short>/23 10.8 ns 6.29 ns
BM_std_minmax<unsigned short>/24 10.6 ns 2.41 ns
BM_std_minmax<unsigned short>/25 11.6 ns 2.75 ns
BM_std_minmax<unsigned short>/26 11.4 ns 3.26 ns
BM_std_minmax<unsigned short>/27 12.4 ns 3.86 ns
BM_std_minmax<unsigned short>/28 12.3 ns 4.45 ns
BM_std_minmax<unsigned short>/29 13.2 ns 5.07 ns
BM_std_minmax<unsigned short>/30 13.1 ns 5.77 ns
BM_std_minmax<unsigned short>/31 13.9 ns 6.65 ns
BM_std_minmax<unsigned short>/32 13.9 ns 2.72 ns
BM_std_minmax<unsigned short>/64 27.8 ns 3.25 ns
BM_std_minmax<unsigned short>/512 220 ns 8.30 ns
BM_std_minmax<unsigned short>/1024 435 ns 14.1 ns
BM_std_minmax<unsigned short>/4000 1703 ns 49.8 ns
BM_std_minmax<unsigned short>/4096 1746 ns 47.9 ns
BM_std_minmax<unsigned short>/5500 2350 ns 69.9 ns
BM_std_minmax<unsigned short>/64000 27388 ns 953 ns
BM_std_minmax<unsigned short>/65536 28040 ns 975 ns
BM_std_minmax<unsigned short>/70000 29967 ns 1040 ns
BM_std_minmax<unsigned int>/1 0.712 ns 1.18 ns
BM_std_minmax<unsigned int>/2 0.965 ns 1.65 ns
BM_std_minmax<unsigned int>/3 2.13 ns 2.14 ns
BM_std_minmax<unsigned int>/4 2.09 ns 2.64 ns
BM_std_minmax<unsigned int>/5 3.02 ns 3.21 ns
BM_std_minmax<unsigned int>/6 2.94 ns 3.81 ns
BM_std_minmax<unsigned int>/7 3.91 ns 4.38 ns
BM_std_minmax<unsigned int>/8 3.75 ns 4.93 ns
BM_std_minmax<unsigned int>/9 4.71 ns 5.60 ns
BM_std_minmax<unsigned int>/10 4.59 ns 6.26 ns
BM_std_minmax<unsigned int>/11 5.57 ns 6.80 ns
BM_std_minmax<unsigned int>/12 5.43 ns 7.47 ns
BM_std_minmax<unsigned int>/13 6.45 ns 8.10 ns
BM_std_minmax<unsigned int>/14 6.32 ns 8.69 ns
BM_std_minmax<unsigned int>/15 7.29 ns 9.37 ns
BM_std_minmax<unsigned int>/16 7.12 ns 9.99 ns
BM_std_minmax<unsigned int>/17 8.24 ns 10.6 ns
BM_std_minmax<unsigned int>/18 8.00 ns 11.2 ns
BM_std_minmax<unsigned int>/19 8.94 ns 12.0 ns
BM_std_minmax<unsigned int>/20 8.91 ns 12.6 ns
BM_std_minmax<unsigned int>/21 9.73 ns 17.2 ns
BM_std_minmax<unsigned int>/22 9.75 ns 13.8 ns
BM_std_minmax<unsigned int>/23 10.6 ns 14.5 ns
BM_std_minmax<unsigned int>/24 10.6 ns 15.1 ns
BM_std_minmax<unsigned int>/25 11.5 ns 15.7 ns
BM_std_minmax<unsigned int>/26 11.4 ns 16.3 ns
BM_std_minmax<unsigned int>/27 12.3 ns 17.0 ns
BM_std_minmax<unsigned int>/28 12.3 ns 17.6 ns
BM_std_minmax<unsigned int>/29 13.2 ns 18.3 ns
BM_std_minmax<unsigned int>/30 13.2 ns 19.0 ns
BM_std_minmax<unsigned int>/31 14.0 ns 19.6 ns
BM_std_minmax<unsigned int>/32 14.0 ns 3.39 ns
BM_std_minmax<unsigned int>/64 27.6 ns 4.05 ns
BM_std_minmax<unsigned int>/512 221 ns 14.2 ns
BM_std_minmax<unsigned int>/1024 439 ns 25.5 ns
BM_std_minmax<unsigned int>/4000 1720 ns 96.3 ns
BM_std_minmax<unsigned int>/4096 1762 ns 97.8 ns
BM_std_minmax<unsigned int>/5500 2364 ns 146 ns
BM_std_minmax<unsigned int>/64000 27874 ns 1905 ns
BM_std_minmax<unsigned int>/65536 28012 ns 1961 ns
BM_std_minmax<unsigned int>/70000 29899 ns 2087 ns
BM_std_minmax<unsigned long long>/1 0.707 ns 1.18 ns
BM_std_minmax<unsigned long long>/2 0.909 ns 1.65 ns
BM_std_minmax<unsigned long long>/3 1.65 ns 2.70 ns
BM_std_minmax<unsigned long long>/4 1.93 ns 2.69 ns
BM_std_minmax<unsigned long long>/5 2.45 ns 3.34 ns
BM_std_minmax<unsigned long long>/6 2.78 ns 3.81 ns
BM_std_minmax<unsigned long long>/7 3.28 ns 4.43 ns
BM_std_minmax<unsigned long long>/8 3.70 ns 4.92 ns
BM_std_minmax<unsigned long long>/9 4.12 ns 5.64 ns
BM_std_minmax<unsigned long long>/10 4.44 ns 6.15 ns
BM_std_minmax<unsigned long long>/11 4.91 ns 6.81 ns
BM_std_minmax<unsigned long long>/12 5.31 ns 7.41 ns
BM_std_minmax<unsigned long long>/13 5.72 ns 7.96 ns
BM_std_minmax<unsigned long long>/14 6.05 ns 8.66 ns
BM_std_minmax<unsigned long long>/15 6.55 ns 9.37 ns
BM_std_minmax<unsigned long long>/16 6.89 ns 7.98 ns
BM_std_minmax<unsigned long long>/17 7.34 ns 8.13 ns
BM_std_minmax<unsigned long long>/18 7.73 ns 8.42 ns
BM_std_minmax<unsigned long long>/19 8.26 ns 8.63 ns
BM_std_minmax<unsigned long long>/20 8.54 ns 8.96 ns
BM_std_minmax<unsigned long long>/21 9.14 ns 9.37 ns
BM_std_minmax<unsigned long long>/22 9.39 ns 9.67 ns
BM_std_minmax<unsigned long long>/23 10.1 ns 10.1 ns
BM_std_minmax<unsigned long long>/24 10.4 ns 10.6 ns
BM_std_minmax<unsigned long long>/25 11.0 ns 11.3 ns
BM_std_minmax<unsigned long long>/26 11.3 ns 12.1 ns
BM_std_minmax<unsigned long long>/27 11.8 ns 14.2 ns
BM_std_minmax<unsigned long long>/28 12.1 ns 15.8 ns
BM_std_minmax<unsigned long long>/29 12.6 ns 17.4 ns
BM_std_minmax<unsigned long long>/30 13.1 ns 18.1 ns
BM_std_minmax<unsigned long long>/31 13.4 ns 18.8 ns
BM_std_minmax<unsigned long long>/32 13.8 ns 10.4 ns
BM_std_minmax<unsigned long long>/64 27.3 ns 15.5 ns
BM_std_minmax<unsigned long long>/512 222 ns 80.6 ns
BM_std_minmax<unsigned long long>/1024 443 ns 156 ns
BM_std_minmax<unsigned long long>/4000 1731 ns 591 ns
BM_std_minmax<unsigned long long>/4096 1752 ns 609 ns
BM_std_minmax<unsigned long long>/5500 2340 ns 819 ns
BM_std_minmax<unsigned long long>/64000 27166 ns 9652 ns
BM_std_minmax<unsigned long long>/65536 27869 ns 9876 ns
BM_std_minmax<unsigned long long>/70000 29920 ns 10680 ns
```
Commit: fc7087b7b7fa410e00f7abce5ea379a459af066b
https://github.com/llvm/llvm-project/commit/fc7087b7b7fa410e00f7abce5ea379a459af066b
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/big_int_test.cpp
R libc/test/src/__support/uint_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
[libc][NFC] Rename `uint_test` into `big_int_test` for consistency (#87875)
Commit: b88a1dd6c75754ace4abe18c8ea16a019f7b5529
https://github.com/llvm/llvm-project/commit/b88a1dd6c75754ace4abe18c8ea16a019f7b5529
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/big_int.h
M libc/test/src/__support/big_int_test.cpp
Log Message:
-----------
[libc] Make `BigInt` bitwise shift consistent with regular integral semantics. (#87874)
This patch removes the test for cases where the shift operand is greater
or equal to the bit width of the number. This is done for two reasons,
first it makes `BigInt` consistent with regular integral bitwise shift
semantics, and second it makes the shift operation faster. The shift
operation is on the critical path for `exp` and `log` operations, see
https://github.com/llvm/llvm-project/pull/86137#issuecomment-2034133868.
Commit: 7f9f82e3de94040ca6124a43f2d737201bd4a595
https://github.com/llvm/llvm-project/commit/7f9f82e3de94040ca6124a43f2d737201bd4a595
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/ostream
M libcxx/include/print
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
A libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
Log Message:
-----------
[libc++][format] P3142R0: Printing Blank Lines with `println` (#87277)
Implements https://wg21.link/P3142R0
Applied retroactively as DR, same as stdlibc++ and MS STL:
https://github.com/orgs/microsoft/projects/1143?pane=issue&itemId=57457187
Commit: bd589f5c7a079d8829fcf994b746634eaaea24ff
https://github.com/llvm/llvm-project/commit/bd589f5c7a079d8829fcf994b746634eaaea24ff
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/src/__support/big_int.h
Log Message:
-----------
[libc] Move statement inside #ifdef/#endif to prevent unused variable warning
This is a fix forward for arm32
`/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/big_int.h:259:20: error: unused variable 'TOTAL_BITS' [-Werror,-Wunused-variable]`
https://lab.llvm.org/buildbot/#/builders/229/builds/24791
Commit: 4cb110a84f587d3c65b85d79ab6fc8aa5489fb86
https://github.com/llvm/llvm-project/commit/4cb110a84f587d3c65b85d79ab6fc8aa5489fb86
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/atomic.ll
A llvm/test/Assembler/invalid-atomicrmw-scalable.ll
A llvm/test/Assembler/invalid-atomicrmw-xchg-fp-vector.ll
A llvm/test/CodeGen/AArch64/atomicrmw-fadd-fp-vector.ll
A llvm/test/CodeGen/X86/atomicrmw-fadd-fp-vector.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-fp-vector.ll
M llvm/unittests/IR/VerifierTest.cpp
Log Message:
-----------
[RFC] IR: Support atomicrmw FP ops with vector types (#86796)
Allow using atomicrmw fadd, fsub, fmin, and fmax with vectors of
floating-point type. AMDGPU supports atomic fadd for <2 x half> and <2 x
bfloat> on some targets and address spaces.
Note this only supports the proper floating-point operations; float
vector typed xchg is still not supported. cmpxchg still only supports
integers, so this inserts bitcasts for the loop expansion.
I have support for fp vector typed xchg, and vector of int/ptr
separately implemented but I don't have an immediate need for those
beyond feature consistency.
Commit: d38bff460acb4fe3156d90ec739da49344db14ca
https://github.com/llvm/llvm-project/commit/d38bff460acb4fe3156d90ec739da49344db14ca
Author: Sizov Nikita <s.nikita.v at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
Log Message:
-----------
[AArch64] SimplifyDemandedBitsForTargetNode - add AArch64ISD::BICi handling (#76644)
Fold BICi if all destination bits are already known to be zeroes
```llvm
define <8 x i16> @haddu_known(<8 x i8> %a0, <8 x i8> %a1) {
%x0 = zext <8 x i8> %a0 to <8 x i16>
%x1 = zext <8 x i8> %a1 to <8 x i16>
%hadd = call <8 x i16> @llvm.aarch64.neon.uhadd.v8i16(<8 x i16> %x0, <8 x i16> %x1)
%res = and <8 x i16> %hadd, <i16 511, i16 511, i16 511, i16 511,i16 511, i16 511, i16 511, i16 511>
ret <8 x i16> %res
}
declare <8 x i16> @llvm.aarch64.neon.uhadd.v8i16(<8 x i16>, <8 x i16>)
```
```
haddu_known: // @haddu_known
ushll v0.8h, v0.8b, #0
ushll v1.8h, v1.8b, #0
uhadd v0.8h, v0.8h, v1.8h
bic v0.8h, #254, lsl #8 <-- this one will be removed as we know high bits are zero extended
ret
```
Fixes #53881
Fixes #53622
Commit: bd9486b4ec7dc24f73f32474fa38b522a7cce085
https://github.com/llvm/llvm-project/commit/bd9486b4ec7dc24f73f32474fa38b522a7cce085
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
Revert "[SLP]Improve minbitwidth analysis for abs/smin/smax/umin/umax intrinsics."
This reverts commit 66b528078e4852412769375e35d2a672bf36a0ec.
This commit caused miscompilations, breaking tests in the libyuv
testsuite - see
https://github.com/llvm/llvm-project/pull/86135#issuecomment-2041049709
for more details.
Commit: 5f7b133e320b4d856463c87da3167f70477ada63
https://github.com/llvm/llvm-project/commit/5f7b133e320b4d856463c87da3167f70477ada63
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/src/math/generic/log1p.cpp
M libc/test/src/math/log1p_test.cpp
Log Message:
-----------
[libc][math] Update error bound for log1p to compensate for directional rounding. (#87893)
Commit: 7248c9feb9023335ae45265f59a8752da42fb4c4
https://github.com/llvm/llvm-project/commit/7248c9feb9023335ae45265f59a8752da42fb4c4
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M libc/hdr/math_macros.h
Log Message:
-----------
[libc] Adding FP_INT_* macro constants if missing in overlay mode. (#87880)
Commit: 8e98435ae9eb34f04c4b1b97975f152c4ba63ba3
https://github.com/llvm/llvm-project/commit/8e98435ae9eb34f04c4b1b97975f152c4ba63ba3
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
Log Message:
-----------
[GISel][Combine] Enhance combining on G_BUILD_VECTOR
Reviewers: aemerson, arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/87831
Commit: d5b48ceb74e3ef83487f7220c6e2130195c07cc6
https://github.com/llvm/llvm-project/commit/d5b48ceb74e3ef83487f7220c6e2130195c07cc6
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
[ValueTracking] Add tests for non-constant idx for fpclass of `insertelement`; NFC
Commit: e4db938a4ed017432af95bef84a388e2a8a2c232
https://github.com/llvm/llvm-project/commit/e4db938a4ed017432af95bef84a388e2a8a2c232
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-06 (Sat, 06 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
[ValueTracking] Support non-constant idx for `computeKnownFPClass` of `insertelement`
Its same logic as before, we just need to intersect what we know about
the new Elt and the entire pre-existing Vec.
Closes #87708
Commit: c459a366d3e07ae220b96fb1aa4f69375d4b72ba
https://github.com/llvm/llvm-project/commit/c459a366d3e07ae220b96fb1aa4f69375d4b72ba
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][Arith] `ValueBoundsOpInterface`: Support `arith.select` (#87870)
This commit adds a `ValueBoundsOpInterface` implementation for
`arith.select`. The implementation is almost identical to `scf.if`
(#85895), but there is one special case: if the condition is a shaped
value, the selection is applied element-wise and the result shape can be
inferred from either operand.
Note: This is a re-upload of #86383.
Commit: 8389b3bf60ef3fbd04c6efc5ff4d4605d10e7fc5
https://github.com/llvm/llvm-project/commit/8389b3bf60ef3fbd04c6efc5ff4d4605d10e7fc5
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/test/CodeGen/X86/memset-minsize.ll
Log Message:
-----------
[X86] Fix typo: QWORD alignment is greater than or equal to 8, not greater than 8 (#87819)
Align(8) is QWORD aligned, but this was checking to see if alignment was
greater than that, when it should have been checking for being greater
than OR EQUAL to Align(8).
This bug was introduced in
https://github.com/llvm/llvm-project/commit/6a6af30d433d7 during the
transition to the Align type.
Commit: d08a76d1ac1ba6b376faa908ccbaaabc999dfbc5
https://github.com/llvm/llvm-project/commit/d08a76d1ac1ba6b376faa908ccbaaabc999dfbc5
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Sema/SemaOverload.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
Fix warnings discovered by #87348 [-Wunused-but-set-variable]
Commit: ba5dad35fbefec456eb9da0f7c5a0ad983a268b2
https://github.com/llvm/llvm-project/commit/ba5dad35fbefec456eb9da0f7c5a0ad983a268b2
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[Bazel] Enable LLVM_VERSION_PRINTER_SHOW_BUILD_CONFIG (for #87585)
Commit: bc8726b16bacc1790cee9a27302f556f5ca7ba39
https://github.com/llvm/llvm-project/commit/bc8726b16bacc1790cee9a27302f556f5ca7ba39
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/vfmv.v.f.ll
Log Message:
-----------
[RISCV] Support codegen of vfmv.v.f for bfloat vector with both Zvfbfmin and Zfbfmin (#87318)
vfmv, vfmerge should support bfloat vector when we have both Zvfbfmin
and Zfbfmin, this patch tries to support vfmv first.
Commit: ccc02563f4d620d4d29a1cbd2c463871cc54745b
https://github.com/llvm/llvm-project/commit/ccc02563f4d620d4d29a1cbd2c463871cc54745b
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Utils/StructuredOpsUtils.cpp
Log Message:
-----------
[mlir][linalg]: Fixed possible memory leak in cloneToCollapsedOp (#87595)
* Direct call to `clone` function leads to memory leak. Instead, we should use `RewriterBase` clone function instead.
Commit: a2c4b7c8e2740a83f141dcf06cf50359588190b9
https://github.com/llvm/llvm-project/commit/a2c4b7c8e2740a83f141dcf06cf50359588190b9
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/LLVMImportInterface.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/test.ll
M mlir/test/lib/Dialect/Test/CMakeLists.txt
A mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
M mlir/tools/mlir-translate/mlir-translate.cpp
Log Message:
-----------
[mlir] Add `convertInstruction` and `getSupportedInstructions` to `LLVMImportInterface` (#86799)
This patch adds the `convertInstruction` and `getSupportedInstructions`
to `LLVMImportInterface`, allowing any non-LLVM dialect to specify how
to import LLVM IR instructions and overriding the default import of LLVM instructions.
Commit: 869797daca38941e0af3bcd8ae5300bcebf7b1a9
https://github.com/llvm/llvm-project/commit/869797daca38941e0af3bcd8ae5300bcebf7b1a9
Author: David Green <david.green at arm.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add a debug message for foldShuffleOfCastop. NFC
This optimization, much like the existing foldShuffleOfBinops can cause a
lot of regressions. Add a quick debug message to make the costs are more
obvious.
Commit: da5a86b53e7d6e7ff7407b16c2c869894493ee99
https://github.com/llvm/llvm-project/commit/da5a86b53e7d6e7ff7407b16c2c869894493ee99
Author: Jacob Lifshay <programmerjake at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[IR] Fix typo in trunc nuw semantics; NFC (#87285)
Commit: 8f01d3ff44779105966404d17e2d1b7b487ddb2e
https://github.com/llvm/llvm-project/commit/8f01d3ff44779105966404d17e2d1b7b487ddb2e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/FormatPaper.csv
Log Message:
-----------
[libc++][doc] Updates format status page.
Commit: 7a4e89761a13bfad27a2614ecea5e8698f50336c
https://github.com/llvm/llvm-project/commit/7a4e89761a13bfad27a2614ecea5e8698f50336c
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
Log Message:
-----------
[clang-tidy] Add fix-its to `readability-avoid-return-with-void-value` check (#81420)
Commit: 298f8f73e1d861f8b839477c6edc941ca994922d
https://github.com/llvm/llvm-project/commit/298f8f73e1d861f8b839477c6edc941ca994922d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
M clang/utils/TableGen/MveEmitter.cpp
Log Message:
-----------
[clang][NFC] Remove "Sema" prefix from Sema-related functions (#87914)
@AaronBallman once noted that this prefix is a historical accident, and
shouldn't be there. I agree.
Commit: a61252419779a6d4a5ebf71e7e2fc4adc75cfddd
https://github.com/llvm/llvm-project/commit/a61252419779a6d4a5ebf71e7e2fc4adc75cfddd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
Log Message:
-----------
[SLP]Fix the cost of the reduction result to the final type.
Need to fix the way the cost is calculated, otherwise wrong cast opcode
can be selected and lead to the over-optimistic vector cost. Plus, need
to take into account reduction type size.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/87528
Commit: c91254db1dcace869f4d3f1ac659bdd7700a1459
https://github.com/llvm/llvm-project/commit/c91254db1dcace869f4d3f1ac659bdd7700a1459
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
[compiler-rt] Allow running tests without installing first
Currently, the testsuite uses the default runtimes path to find the
runtimes libraries which may or may not match the just-built runtimes.
This change uses the `-resource-dir` flag for clang whenever
`COMPILER_RT_TEST_STANDALONE_BUILD_LIBS` is set to ensure that we are
actually testing the currently built libraries rather than the ones
bundled with `${COMPILER_RT_TEST_COMPILER}`.
The existing logic works fine when clang and compiler-rt share the same
build directory ``-DLLVM_ENABLE_PROJECTS=clang;compiler-rt`, but when
building compiler-rt separately we need to tell the compiler used for
the tests where it can find the just-built libraries.
This reduces the fixes check-all failures to one in my configuration:
```
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja
-DCMAKE_C_COMPILER=$HOME/output/upstream-llvm/bin/clang
-DCMAKE_CXX_COMPILER=$HOME/output/upstream-llvm/bin/clang++
-DCOMPILER_RT_INCLUDE_TESTS=ON
-DLLVM_EXTERNAL_LIT=$HOME/build/upstream-llvm-project-build/bin/llvm-lit
-DLLVM_CMAKE_DIR=$HOME/output/upstream-llvm
-DCOMPILER_RT_DEBUG=OFF
-S $HOME/src/upstream-llvm-project/compiler-rt
-B $HOME/src/upstream-llvm-project/compiler-rt/cmake-build-all-sanitizers
```
Reviewed By: vitalybuka, delcypher, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/83088
Commit: d57d09477996e50237e2fc949bd5b747259b0012
https://github.com/llvm/llvm-project/commit/d57d09477996e50237e2fc949bd5b747259b0012
Author: David Green <david.green at arm.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
A llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
Log Message:
-----------
[AArch64] Add test for LD2/LD3/LD4 shuffle cost models. NFC
Commit: 10b1864dff816174cd83fb2d3bc622e25fcf0f8a
https://github.com/llvm/llvm-project/commit/10b1864dff816174cd83fb2d3bc622e25fcf0f8a
Author: Alex Richardson <alexrichardson at google.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Do not add -rpath to linker args on Windows
This is not supported. Should hopefully fix Windows CI after
commit c91254db1dcace869f4d3f1ac659bdd7700a1459.
Commit: a3bb9c2b06666e2f4eb005179ca7eef3313b6be5
https://github.com/llvm/llvm-project/commit/a3bb9c2b06666e2f4eb005179ca7eef3313b6be5
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[cmake] Prevent implicitly passing `-no_exported_symbols` (#87846)
* It is possible to setup llvm-project builds without going through
`llvm/CMakeList.txt` so the fatal error handling should be smarter.
* Disable option on Apple style lldb-linux builds.
Commit: 3f16ff4e68552951cf39b2f1c707df64d7c8ec59
https://github.com/llvm/llvm-project/commit/3f16ff4e68552951cf39b2f1c707df64d7c8ec59
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Use static instead of anonymous namespaces (#87889)
This patch replaces anonymous namespaces with static as per LLVM
Coding Standards.
Commit: 15d11a4de9f62fd8fc6bdb888e32c9e4b86d0cdd
https://github.com/llvm/llvm-project/commit/15d11a4de9f62fd8fc6bdb888e32c9e4b86d0cdd
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Track IsOrdered in VPReductionRecipe, remove use of ILV (NFCI).
Instead of using ILV.useOrderedReductions during ::execute, instead
store the information at recipe construction.
Another step towards making recipe'::execute independent of legacy ILV.
Commit: 943db678dadd6088629d08ec3e582bea0595f2d2
https://github.com/llvm/llvm-project/commit/943db678dadd6088629d08ec3e582bea0595f2d2
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Add getNextNonComment() to FormatTokenSource (#87868)
Commit: 649523f6f7b67604034a8af5d8ca6830fcd64aab
https://github.com/llvm/llvm-project/commit/649523f6f7b67604034a8af5d8ca6830fcd64aab
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Add an ExecutionSession state verifier.
Add an ExecutionSession state verifier, enabled under EXPENSIVE_CHECKS, that can
be used to identify inconsistent session state to assist in tracking down bugs.
This initial version was motivated by investigation of the EDU-update bug that
was fixed in a671ceec334.
rdar://125376708
Commit: 4d1bb7699bfa62ca113dcfabe6da8eae74fe7372
https://github.com/llvm/llvm-project/commit/4d1bb7699bfa62ca113dcfabe6da8eae74fe7372
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
A llvm/test/tools/llvm-profdata/memprof-merge-v0.test
Log Message:
-----------
[memprof] Fix a typo in writeMemProfV1 (#87890)
This patch borrows memprof-merge.test to test --memprof-version.
Commit: da675b922cca3dc9a76642d792e882979a3d8c82
https://github.com/llvm/llvm-project/commit/da675b922cca3dc9a76642d792e882979a3d8c82
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/prolog-epilogue.ll
A llvm/test/CodeGen/RISCV/stack-offset.ll
Log Message:
-----------
[RISCV] Expand test coverage of stack offsets between 2^11 and 2^15
Adds two sets of tests. First, one for prolog/epilogue insertions where
the second stack adjustment can be done with shNadd for zba. Second, a
set of tests with offsets off SP in the same ranges, but also adding
varying alignments.
Commit: cebf77fb936a7270c7e3fa5c4a7e76216321d385
https://github.com/llvm/llvm-project/commit/cebf77fb936a7270c7e3fa5c4a7e76216321d385
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/test/CodeGen/X86/fsafdo_test1.ll
Log Message:
-----------
[CodeGen][DebugInfo] Add missing DebugLoc for SplitCriticalEdge (#72192)
In SplitCriticalEdge, DebugLoc of the branch instruction in new created
MBB was set to empty. It should be set and we can find proper DebugLoc
for it in most cases. This patch set it to non empty merged DebugLoc of
current MBB branches.
Commit: 739fa1c84b92b8af7dceedf2e5ad808a64e85a57
https://github.com/llvm/llvm-project/commit/739fa1c84b92b8af7dceedf2e5ad808a64e85a57
Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
A llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
A llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
A llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
A llvm/test/Transforms/IndVarSimplify/pr51735.ll
Log Message:
-----------
[indvars] Missing variables at Og: (#69920)
https://bugs.llvm.org/show_bug.cgi?id=51735
https://github.com/llvm/llvm-project/issues/51077
In the given test case:
```
4 ...
5 void bar() {
6 int End = 777;
7 int Index = 27;
8 char Var = 1;
9 for (; Index < End; ++Index)
10 ;
11 nop(Index);
12 }
13 ...
```
Missing local variable `Index` after loop `Induction Variable Elimination`. When adding a breakpoint at line `11`, LLDB does not have information on the variable. But it has info on `Var` and `End`.
Commit: f3b55973645d551d67af7662b815a5f415874ff7
https://github.com/llvm/llvm-project/commit/f3b55973645d551d67af7662b815a5f415874ff7
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/vmv-copy.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-copy.mir
Log Message:
-----------
[RISCV] Use larger copies when register tuples are aligned
When the encoding of register tuples are aligned, we can use a copy
with larger LMUL to reduce copies.
Reviewers: preames, topperc, lukel97
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/84455
Commit: 006aaf32258fc27656c936f6aad729e4c77e3847
https://github.com/llvm/llvm-project/commit/006aaf32258fc27656c936f6aad729e4c77e3847
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-07 (Sun, 07 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Replace some KV loop variables with structured bindings.
This allows us to remove a lot of boilerplate .first and .second references
and improve readability.
Coding my way home: 1.58814S, 91.93889W
Commit: 91189afef5fb887699da88e0ed46bdf3421d4bce
https://github.com/llvm/llvm-project/commit/91189afef5fb887699da88e0ed46bdf3421d4bce
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfo.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
R llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
R llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
R llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
R llvm/test/Transforms/IndVarSimplify/pr51735.ll
Log Message:
-----------
Revert "[indvars] Missing variables at Og: (#69920)"
This reverts commit 739fa1c84b92b8af7dceedf2e5ad808a64e85a57.
This introduces a layering violation by using IR in Support headers.
Commit: 73ddb2a7471986a7ed600dbea14efc60f0d0db47
https://github.com/llvm/llvm-project/commit/73ddb2a7471986a7ed600dbea14efc60f0d0db47
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
[RISCV] Store VLMul/NF into RegisterClass's TSFlags
This TSFlags was introduced by https://reviews.llvm.org/D108767.
A base class of all RISCV RegisterClass is added and we store
IsVRegClass/VLMul/NF into TSFlags and add helpers to get them.
This can reduce some lines and I think there will be more usages.
Reviewers: preames, topperc
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/84894
Commit: b80e51ce4d90a3443f98fe5413171392ae768597
https://github.com/llvm/llvm-project/commit/b80e51ce4d90a3443f98fe5413171392ae768597
Author: Christian Sigg <csigg at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix BUILD after a2c4b7c8e2740a83f141dcf06cf50359588190b9.
Commit: fdd023612ce401d7a1a310fcad2477d19e1d0a5e
https://github.com/llvm/llvm-project/commit/fdd023612ce401d7a1a310fcad2477d19e1d0a5e
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
Revert "[ORC] Replace some KV loop variables with structured bindings."
This reverts commit 006aaf32258fc27656c936f6aad729e4c77e3847 while I
investigate some bot failures (See e.g.
https://lab.llvm.org/buildbot/#/builders/109/builds/86659).
Commit: 9ffecef1c651a5c1a3f284b3257ec01ff526b49c
https://github.com/llvm/llvm-project/commit/9ffecef1c651a5c1a3f284b3257ec01ff526b49c
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector][NFC] Fix typo temp -> tmp. (#87878)
Commit: eaa063f0c6d51a3b561bc2007fe95420949f42d1
https://github.com/llvm/llvm-project/commit/eaa063f0c6d51a3b561bc2007fe95420949f42d1
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Driver/riscv-profiles.c
Log Message:
-----------
[RISCV] Remove duplicated --target
Commit: 110c22fe127f0c8c0d8acfddd123b9e9423d087a
https://github.com/llvm/llvm-project/commit/110c22fe127f0c8c0d8acfddd123b9e9423d087a
Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
A llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
Log Message:
-----------
[ExpandLargeFpConvert] Support bfloat. (#87619)
The conversion expansions did not properly handle bfloat types.
I'm not certain that these expansions are completely correct;
I don't have any experience with AMDGPU or the ability to run
anything to test it.
Note that it doesn't seem like AMDGPU with GlobalISel can
handle fptrunc of float to bfloat, which is needed for itofp.
I've omitted the GISEL run for the bfloat case.
This fixes #85379.
Commit: 2084a07087a55b55bb3c2a8aafbe1c4464fdf796
https://github.com/llvm/llvm-project/commit/2084a07087a55b55bb3c2a8aafbe1c4464fdf796
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
Revert "[compiler-rt] Allow running tests without installing first"
This reverts commit c91254db1dcace869f4d3f1ac659bdd7700a1459.
It was throwing error:
g++: error: unrecognized command line option ‘-resource-dir=
Commit: ac321cbb0350996ceef4e6d9e8a1035880609288
https://github.com/llvm/llvm-project/commit/ac321cbb0350996ceef4e6d9e8a1035880609288
Author: David Green <david.green at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
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/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-to-lhs-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extractelement-crash.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/insertelement.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize Insert vector element (#81453)
This attempts to standardize and extend some of the insert vector
element lowering. Most notably:
- More types are handled by splitting illegal vectors.
- The index type for G_INSERT_VECTOR_ELT is canonicalized to
TLI.getVectorIdxTy(), similar to extact_vector_element.
- Some of the existing patterns now have the index type specified to
make sure they can apply to GISel too.
- The C++ selection code has been removed, relying on tablegen patterns.
- G_INSERT_VECTOR_ELT with small GPR input elements are pre-selected to
use a i32 type, allowing the existing patterns to apply.
- Variable index inserts are lowered in post-legalizer lowering,
expanding into a stack store and reload.
Commit: 9fd2e2c2fd0dbd5d11a5899bd6bb4db0fd3f2c35
https://github.com/llvm/llvm-project/commit/9fd2e2c2fd0dbd5d11a5899bd6bb4db0fd3f2c35
Author: David Green <david.green at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
Log Message:
-----------
[DAG][AArch64] Support masked loads/stores with nontemporal flags (#87608)
SVE has some non-temporal masked loads and stores. The metadata coming
from the nodes is not copied to the MMO at the moment though, meaning it
will generate a normal instruction. This patch ensures that the right
flags are set if the instruction has non-temporal metadata.
Commit: 81a7b6454e195f2051b76d9e5b1f0c430df0f502
https://github.com/llvm/llvm-project/commit/81a7b6454e195f2051b76d9e5b1f0c430df0f502
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Recursion importer handle repeated self-references (#87295)
Followup to this discussion:
https://github.com/llvm/llvm-project/pull/80251#discussion_r1535599920.
The previous debug importer was correct but inefficient. For cases with
mutual recursion that contain more than one back-edge, each back-edge
would result in a new translated instance. This is because the previous
implementation never caches any translated result with unbounded
self-references. This means all translation inside a recursive context
is performed from scratch, which will incur repeated run-time cost as
well as repeated attribute sub-trees in the translated IR (differing
only in their `recId`s).
This PR refactors the importer to handle caching inside a recursive
context.
- In the presence of unbound self-refs, the translation result is cached
in a separate cache that keeps track of the set of dependent unbound
self-refs.
- A dependent cache entry is valid only when all the unbound self-refs
are in scope. Whenever a cached entry goes out of scope, it will be
removed the next time it is looked up.
Commit: 8ddfb66903969224ebd4e10c1461d2be323f4798
https://github.com/llvm/llvm-project/commit/8ddfb66903969224ebd4e10c1461d2be323f4798
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/test/Lower/Intrinsics/maskl.f90
M flang/test/Lower/Intrinsics/maskr.f90
Log Message:
-----------
[flang] Fix MASKR/MASKL lowering for INTEGER(16) (#87496)
The all one masks was not properly created for i128 types because
builder.createIntegerConstant ended-up truncating -1 to something
positive.
Add a builder.createAllOnesInteger/createMinusOneInteger helpers and use
them where createIntegerConstant(..., -1) was used.
Add an assert in createIntegerConstant to catch negative numbers for
i128 type.
Commit: 3c210d1cfdf4d8cd56de70fa40d01398e29044dc
https://github.com/llvm/llvm-project/commit/3c210d1cfdf4d8cd56de70fa40d01398e29044dc
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[flang][NFC] document BOZ error in DIM, MOD, MODULO, and SIGN (#87779)
It is highly ambiguous to what type BOZ should be resolved in DIM, MOD,
MODULO, and SIGN intrinsic arguments. Some other compilers accept them,
but none agree. See table below.
List them explicitly as non supported extensions (semantics already
reject them, this is an NFC).
Table listing the resolved types of the intrinsic results when there is
a BOZ argument:
| | gfortran | nvfortran | ifort | nagfor | xlf |
| ------------------- | -------- | --------- | ----- | ------ | ------ |
| DIM(INT4, BOZ) | INT16 | INT4 | INT8 | crash | INT4 |
| DIM(BOZ, REAL4) | error | INT8 | error | error | REAL4 |
| DIM(REAL4, BOZ) | error | REAL4 | error | error | REAL4 |
| DIM(BOZ, INT4) | INT16 | INT8 | INT8 | INT8 | INT4 |
| DIM(BOZ, BOZ) | INT16 | INT8 | INT8 | INT8 | REAL4 |
| MOD(INT4, BOZ) | INT16 | INT4 | INT8 | crash | INT4 |
| MOD(BOZ, REAL4) | error | INT8 | error | error | REAL4 |
| MOD(REAL4, BOZ) | error | REAL4 | error | error | REAL4 |
| MOD(BOZ, INT4) | INT16 | INT8 | INT8 | INT8 | INT4 |
| MOD(BOZ, BOZ) | INT16 | INT8 | INT8 | INT8 | INT4 |
| MODULO(INT4, BOZ) | INT16 | INT4 | INT8 | crash | INT4 |
| MODULO(BOZ, REAL4) | error | INT8 | error | error | REAL4 |
| MODULO(REAL4, BOZ) | error | REAL4 | error | error | REAL4 |
| MODULO(BOZ, INT4) | INT16 | INT8 | INT8 | INT8 | INT4 |
| MODULO(BOZ, BOZ) | INT16 | INT8 | INT8 | INT8 | INT8 |
| SIGN(INT4, BOZ) | error | INT4 | INT8 | INT4 | INT4 |
| SIGN(BOZ, REAL4) | error | INT8 | error | error | REAL4 |
| SIGN(REAL4, BOZ) | error | REAL4 | error | error | REAL4 |
| SIGN(BOZ, INT4) | error | INT8 | INT8 | INT8 | INT4 |
| SIGN(BOZ, BOZ) | INT16 | INT8 | INT8 | INT8 | REAL4 |
Commit: 0bfea40101c10f80ee35d7fbfd4459e98cdb289c
https://github.com/llvm/llvm-project/commit/0bfea40101c10f80ee35d7fbfd4459e98cdb289c
Author: David Green <david.green at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
Log Message:
-----------
[AArch64] More shuffle-store test cases. NFC
Commit: 6a7da2e30dc38ba92875bfe1da5520c950bab1e3
https://github.com/llvm/llvm-project/commit/6a7da2e30dc38ba92875bfe1da5520c950bab1e3
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
A flang/test/Lower/allocate-source-allocatables-2.f90
Log Message:
-----------
[flang] Fix source allocation to explicit length after deferred length object (#87785)
Flang supports source allocation to allocatable or pointers with a non
deferred length that do not match the source length. This documented at:
https://github.com/llvm/llvm-project/blob/9708d0900311503aa4685d6810d8caf0412e15d7/flang/docs/Extensions.md?plain=1#L312
The current lowering code was bugged when such explicit length allocate
object appeared after a deferred length object in the source allocation
list:
Since "lenParams" had been computed when generating allocation of the
deferred length object, the call to genSetDeferredLengthParameters was
not a no-op on when lowering the explicit length allocation, and the
explicit length was overridden with the source length.
The output of the program added in test was:
```
ZZheZZ
ZZhelloZZ
ZZhelloZZ
```
Instead of:
```
ZZheZZ
ZZhelloZZ
ZZhello ZZ
```
Skip genSetDeferredLengthParameters when the allocate object has non
deferred length.
Commit: 364028a1a51689d2b33d3ec50c426fbeac269679
https://github.com/llvm/llvm-project/commit/364028a1a51689d2b33d3ec50c426fbeac269679
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Driver/riscv-profiles.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
M llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rv32zimop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
M llvm/test/MC/RISCV/rvzimop-valid.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Zimop/Zcmop are ratified
Remove them from experimental.
See also:
https://github.com/riscv/riscv-isa-manual/blob/main/src/zimop.adoc
Reviewers: kito-cheng
Reviewed By: kito-cheng
Pull Request: https://github.com/llvm/llvm-project/pull/87966
Commit: 221f438af1c1292d787b58da99a5a7b371888456
https://github.com/llvm/llvm-project/commit/221f438af1c1292d787b58da99a5a7b371888456
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
A flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex.f90
Log Message:
-----------
[flang][OpenMP] Add support for complex reductions (#87488)
This adds support for complex type to the OpenMP reductions.
Note that some more work would be needed to give decent error messages when complex
is used in ways that need client supplied functions (e.g. MAX or MIN). It does fail these with
a not so user friendly message at present.
Commit: cf7d36fe342c5c5ac39150ca0b4b70a3d17ae66b
https://github.com/llvm/llvm-project/commit/cf7d36fe342c5c5ac39150ca0b4b70a3d17ae66b
Author: Zentrik <Zentrik at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
Log Message:
-----------
[NFC] Fix misspellings of effects (#87795)
Commit: 170c525d79a4ab3659041b0655ac9697768fc915
https://github.com/llvm/llvm-project/commit/170c525d79a4ab3659041b0655ac9697768fc915
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/insertelement-var-index.ll
M llvm/test/CodeGen/X86/movmsk-cmp.ll
M llvm/test/CodeGen/X86/pr63439.ll
M llvm/test/CodeGen/X86/pr64439.ll
M llvm/test/CodeGen/X86/vec_cast.ll
Log Message:
-----------
[X86] combineExtractVectorElt - fold extract(trunc(x),c) -> trunc(extract(x,c))
Commit: 8461d901a770516cf2069fe3bce979a6f8fc8d76
https://github.com/llvm/llvm-project/commit/8461d901a770516cf2069fe3bce979a6f8fc8d76
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Restore linking against dynamic libLLVM for out-of-tree builds
This fixes a regression where building against an installation without
the static libraries would fail. This just reinstates the old behaviour
for out-of-tree builds, assuming that in-tree builds (which still aren't
officially supported) will have the static libraries available. We can
refine this as we move towards supporting in-tree builds.
Commit: c2067c1f471ac54312cb5e1e0efd4ea5fd21cc79
https://github.com/llvm/llvm-project/commit/c2067c1f471ac54312cb5e1e0efd4ea5fd21cc79
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
A clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Add "pedantic" mode to StreamChecker. (#87322)
The checker may create failure branches for all stream write operations
only if the new option "pedantic" is set to true.
Result of the write operations is often not checked in typical code. If
failure branches are created the checker will warn for unchecked write
operations and generate a lot of "false positives" (these are valid
warnings but the programmer does not care about this problem).
Commit: 2abd71ec51079d84a29639389dc9a66edd4909e5
https://github.com/llvm/llvm-project/commit/2abd71ec51079d84a29639389dc9a66edd4909e5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
Log Message:
-----------
[mlir] Fix -Wunused-variable in DebugImporter.cpp (NFC)
llvm-project/mlir/lib/Target/LLVMIR/DebugImporter.cpp:377:10:
error: unused variable '[_, inserted]' [-Werror,-Wunused-variable]
auto [_, inserted] = dependentCache.try_emplace(
^
1 error generated.
Commit: 8b3b4a92adee40483c27f26c478a384cd69c6f05
https://github.com/llvm/llvm-project/commit/8b3b4a92adee40483c27f26c478a384cd69c6f05
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix canFoldToVWWithSameExtension allowing different FP extensions (#87978)
Commit: 5a855d51272608e2122c45d86676aa2247a11d19
https://github.com/llvm/llvm-project/commit/5a855d51272608e2122c45d86676aa2247a11d19
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/unittests/Format/FormatTestTableGen.cpp
Log Message:
-----------
[clang-format] Added unittest of TableGen formatting w.r.t. block type calculation. (#87924)
Commit: 86b0918e8e5f8e1aacebf4ba8901fc66aed3412f
https://github.com/llvm/llvm-project/commit/86b0918e8e5f8e1aacebf4ba8901fc66aed3412f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Do not include config files for device linking (#87659)
Summary:
The device linking phase only wants to create the necessary commands to
emit the device binary. There were issues where the user's default
config file was being used and passing incompatible arguments to the
device compilation step. Simply disable this since we do not want any
additional arguments to these clang invocations.
Commit: acb2a475766b621fe7e5d792ff7948a5794c3e87
https://github.com/llvm/llvm-project/commit/acb2a475766b621fe7e5d792ff7948a5794c3e87
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
Log Message:
-----------
AMDGPU: Regenerate test checks
Commit: fc9a5076c31139878da2fa12ef16090a58d55782
https://github.com/llvm/llvm-project/commit/fc9a5076c31139878da2fa12ef16090a58d55782
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-flags.ll
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
Log Message:
-----------
llvm-reduce: Reduce nuw/nsw flags from trunc
Commit: 38f996bb2bc4f922c7b441d730ab3a3ad2fa1506
https://github.com/llvm/llvm-project/commit/38f996bb2bc4f922c7b441d730ab3a3ad2fa1506
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
Replace copy with a reference. (#87975)
Commit: 8cb642bf18bfd3e6e8576f4f090fa584f68bb0cc
https://github.com/llvm/llvm-project/commit/8cb642bf18bfd3e6e8576f4f090fa584f68bb0cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call-sret.ll
M llvm/test/CodeGen/AArch64/GlobalISel/constant-dbg-loc.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-store-metadata.ll
M llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
Log Message:
-----------
GlobalISel: Regenerate test checks
Commit: 95f984f37e390a6d2e8a4b0852ea4d5a83126287
https://github.com/llvm/llvm-project/commit/95f984f37e390a6d2e8a4b0852ea4d5a83126287
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Don't use unnecessary null checked dyn_cast
Commit: 8c6e0459c49da298f3b911fc3699c2254a20d882
https://github.com/llvm/llvm-project/commit/8c6e0459c49da298f3b911fc3699c2254a20d882
Author: bahareh-farhadi <53280095+bahareh-farhadi at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
Log Message:
-----------
[zOS] Turn CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT on for zOS (#87797)
PR
[https://github.com/llvm/llvm-project/pull/84461](https://github.com/llvm/llvm-project/pull/84461)
disabled `clang/unittests/Interpreter/InterpreterExtensionsTest.cpp` for
AIX by turning on `CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT`.
This PR turns `CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT` on for
zOS as well, since LLJIT cannot be created on zOS either.
Co-authored-by: Bahareh <bahareh.farhadi at ibm.com>
Commit: eb07600f8eff793664a4d6b181e6f31de1f5f973
https://github.com/llvm/llvm-project/commit/eb07600f8eff793664a4d6b181e6f31de1f5f973
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
Log Message:
-----------
[NewPM] support `disablePass`, `insertPass` in `CodeGenPassBuilder` (#87147)
Currently only machine function passes support `insertPass`, but it
seems to be enough, all targets tune their pipelines when adding machine
function passes.
Commit: 662c62609e8ee2dc996da69e11c0d594e799c299
https://github.com/llvm/llvm-project/commit/662c62609e8ee2dc996da69e11c0d594e799c299
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/invalid.mlir
Log Message:
-----------
[mlir][arith] Refine the verifier for arith.constant (#86178)
Disallows initialization of scalable vectors with an attribute of
arbitrary values, e.g.:
```mlir
%c = arith.constant dense<[0, 1]> : vector<[2] x i32>
```
Initialization using vector splats remains allowed (i.e. when all the
init values are identical):
```mlir
%c = arith.constant dense<[1, 1]> : vector<[2] x i32>
```
Commit: 4308c7422d12c8a7efe6cf1c5c6136e54ba410ce
https://github.com/llvm/llvm-project/commit/4308c7422d12c8a7efe6cf1c5c6136e54ba410ce
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M bolt/lib/Core/Relocation.cpp
Log Message:
-----------
[BOLT][NFC] Refactor relocation arch selection (#87829)
Convert the relocation routines to switch on architecture and have an explicit unreachable default.
Commit: f6357bb4283e72d1248b9c7eb67d98bea71d5f50
https://github.com/llvm/llvm-project/commit/f6357bb4283e72d1248b9c7eb67d98bea71d5f50
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[llvm][docs] Resort cmake macros (#87551)
The cmake macro documentation had once again become unsorted. For names
of the form 'PREFIX_{list-or-category}_SUFFIX' I collate as 'PREFIX_SUFFIX'.
Commit: 2921a0928c71f4ee652a2478283e47ab5ffebf58
https://github.com/llvm/llvm-project/commit/2921a0928c71f4ee652a2478283e47ab5ffebf58
Author: Jefferson Le Quellec <jefferson.lequellec at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/cuda-external-tools.cu
Log Message:
-----------
Make the argument -Xcuda-ptxas visible to the driver in cl-mode
It has been noticed that the arguments are being passed twice to ptxas.
This also has been fixed by filtering out the arguments before appending
them to the new DAL created by CudaToolChain::TranslateArgs.
github:https://github.com/llvm/llvm-project/pull/86807
Commit: a4c84d6ac1014b00257618663a243419630ff626
https://github.com/llvm/llvm-project/commit/a4c84d6ac1014b00257618663a243419630ff626
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Only inline if properties are used.
This is a followup to 0f52f4ddd909eb38f2a691ffed8469263fe5f635
It breaks dialects that don't use properties yet.
Commit: 0832b85e0f5b684ad2e5eaf29911ca806eb0db3d
https://github.com/llvm/llvm-project/commit/0832b85e0f5b684ad2e5eaf29911ca806eb0db3d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Add baseline tests for vector fpclass handling
Commit: 2bc637b1ce935550b6e09618c76474253943a7cc
https://github.com/llvm/llvm-project/commit/2bc637b1ce935550b6e09618c76474253943a7cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
ValueTracking: Handle ConstantAggregateZero in computeKnownFPClass
Commit: 0e8736694f752898ed7957a11a11c42f8f6a98d1
https://github.com/llvm/llvm-project/commit/0e8736694f752898ed7957a11a11c42f8f6a98d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
Log Message:
-----------
TextNodeDumper.cpp - remove empty switch to fix MSVC "switch statement contains 'default' but no 'case' labels" warning. NFC.
Commit: f139387fb6e76a5249e8d7c2d124565e6b566ef4
https://github.com/llvm/llvm-project/commit/f139387fb6e76a5249e8d7c2d124565e6b566ef4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: bdf428af9825e684d9ed22d0137a456c131389f7
https://github.com/llvm/llvm-project/commit/bdf428af9825e684d9ed22d0137a456c131389f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Consider demanded elts for vector constants in computeKnownFPClass
Commit: 40327a628ace90870c7caa0db448a0f2d9863df0
https://github.com/llvm/llvm-project/commit/40327a628ace90870c7caa0db448a0f2d9863df0
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/invalid.mlir
Log Message:
-----------
Revert "[mlir][arith] Refine the verifier for arith.constant (#86178)"
This reverts commit 662c62609e8ee2dc996da69e11c0d594e799c299.
Broken both:
* https://lab.llvm.org/buildbot/#/builders/61/builds/56565
Commit: 8ccf1c117b0dc08f7e9c24fe98f45ebe32e95cd1
https://github.com/llvm/llvm-project/commit/8ccf1c117b0dc08f7e9c24fe98f45ebe32e95cd1
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/strict-fadd-combines.ll
M llvm/test/CodeGen/X86/strict-fsub-combines.ll
Log Message:
-----------
[FPEnv][X86] Correct strictfp tests. (#87791)
Correct strictfp tests to follow the rules documented in the LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
These tests needed the strictfp attribute added to some function
definitions. FP wait instructions now appear as a result.
Test changes verified with D146845.
Commit: f46f6465062bd6ddc96e3838c50e1a0f85f92dd4
https://github.com/llvm/llvm-project/commit/f46f6465062bd6ddc96e3838c50e1a0f85f92dd4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix spirv build dependencies
These were accidentally broken in 61efea7.
Thanks to @mgorny and @rjodinchr for spotting this.
Commit: 4c718fdbeacfc3385a493349b66b61c857b8e772
https://github.com/llvm/llvm-project/commit/4c718fdbeacfc3385a493349b66b61c857b8e772
Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
Log Message:
-----------
[SystemZ][z/OS] TXT records in the GOFF reader (#87648)
This PR adds handling for TXT records in the GOFF reader.
---------
Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>
Commit: 1107b47dcd145518c7b811bf10e2b848782b0478
https://github.com/llvm/llvm-project/commit/1107b47dcd145518c7b811bf10e2b848782b0478
Author: Edwin Vane <revane at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
Log Message:
-----------
[clang-tidy] rename designated initializers (#86976)
readability-identifier-naming now supports renaming designated
initializers.
Commit: 312b9297bb9284bddb36980f64661c24c876eef0
https://github.com/llvm/llvm-project/commit/312b9297bb9284bddb36980f64661c24c876eef0
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
Log Message:
-----------
[libc] Increase timeout for death tests. (#87959)
Fix test timeout on RISCV bots.
Fixes https://github.com/llvm/llvm-project/issues/87096
Commit: ed1b24bf8b76871ab00f365d8dc066b3f7f76202
https://github.com/llvm/llvm-project/commit/ed1b24bf8b76871ab00f365d8dc066b3f7f76202
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Runtime/freestanding-tools.h
M flang/lib/Decimal/decimal-to-binary.cpp
Log Message:
-----------
[flang][runtime] Added simplified std::toupper implementation. (#87850)
Commit: 4a1c53f9fabbc18d436dcd4d5b572b82656fbbf9
https://github.com/llvm/llvm-project/commit/4a1c53f9fabbc18d436dcd4d5b572b82656fbbf9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for abs/smin/smax/umin/umax intrinsics.
https://alive2.llvm.org/ce/z/ivPZ26 for the abs transformations.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/86135
Commit: b439140e2982dd77ef28a9069e16ae77bbe2bc5a
https://github.com/llvm/llvm-project/commit/b439140e2982dd77ef28a9069e16ae77bbe2bc5a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix more spirv build dependencies
The last fix was incomplete.
Commit: 26fee0ff1251fa70babaf419c08383e7ec71c56c
https://github.com/llvm/llvm-project/commit/26fee0ff1251fa70babaf419c08383e7ec71c56c
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
Log Message:
-----------
[OpenACC] Implement Sema work for OpenACC Clauses (#87821)
Now that we have AST nodes for OpenACC Clauses, this patch adds their
creation to Sema and makes the Parser call all the required functions.
This also redoes TreeTransform to work with the clauses/make sure they
are transformed.
Much of this is NFC, since there is no clause we can test this behavior
with. However, there IS one noticable change; we are now no longer
diagnosing that a clause is 'not implemented' unless it there was no
errors parsing its parameters. This is because it cleans up how we
create and diagnose clauses.
Commit: 4d6e67f677bdf40360e6aaba171bcdec93990b01
https://github.com/llvm/llvm-project/commit/4d6e67f677bdf40360e6aaba171bcdec93990b01
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
Fix build issue committed in 26fee0ff12
I brain-farted on how assert works :)
Commit: f6315a957232b2f5c27476138e3f4e552861f956
https://github.com/llvm/llvm-project/commit/f6315a957232b2f5c27476138e3f4e552861f956
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Log Message:
-----------
[AArch64][LoopIdiom] Disable LoopIdiomTransform when NoImplicitFloat is present (#87677)
This behavior is aligned with both LoopVectorizer and SLPVectorizer.
Commit: 78c50bbd45de595e9992bf97aa097f7f589f8370
https://github.com/llvm/llvm-project/commit/78c50bbd45de595e9992bf97aa097f7f589f8370
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove unused variable, NFC.
Commit: 54c24ec976a52f6ad8499a1a337d7ae2ab84e88d
https://github.com/llvm/llvm-project/commit/54c24ec976a52f6ad8499a1a337d7ae2ab84e88d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc] remove MPFR and related tests in full build (#87693)
In full build mode, the fuzzing tests fail to build. This PR disabled MPFR related tests in full build
```
[2/4] Building CXX object projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o
FAILED: projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -I/home/schrodingerzy/Documents/llvm/llvm-project/build/projects/libc/fuzzing/stdio -I/home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio -I/home/schrodingerzy/Documents/llvm/llvm-project/libc -isystem /home/schrodingerzy/Documents/llvm/llvm-project/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fsanitize=fuzzer -O2 -g -DNDEBUG -std=c++17 -MD -MT projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o -MF projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o.d -o projects/libc/fuzzing/stdio/CMakeFiles/libc.fuzzing.stdio.printf_float_conv_fuzz.dir/printf_float_conv_fuzz.cpp.o -c /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp:19:
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/utils/MPFRWrapper/mpfr_inc.h:21:
In file included from /usr/include/mpfr.h:53:
In file included from /usr/include/gmp.h:35:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/iosfwd:38:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/requires_hosted.h:31:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/c++config.h:679:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:44:5: error: function-like macro '__GLIBC_PREREQ' is not defined
44 | #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:55:5: error: function-like macro '__GLIBC_PREREQ' is not defined
55 | #if __GLIBC_PREREQ(2, 26) \
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:66:6: error: function-like macro '__GLIBC_PREREQ' is not defined
66 | # if __GLIBC_PREREQ(2, 27)
| ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-pc-linux-gnu/bits/os_defines.h:78:6: error: function-like macro '__GLIBC_PREREQ' is not defined
78 | # if __GLIBC_PREREQ(2, 34)
| ^
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp:19:
In file included from /home/schrodingerzy/Documents/llvm/llvm-project/libc/utils/MPFRWrapper/mpfr_inc.h:21:
In file included from /usr/include/mpfr.h:53:
In file included from /usr/include/gmp.h:35:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/iosfwd:42:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/postypes.h:40:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:64:11: error: no member named 'mbstate_t' in the global namespace
64 | using ::mbstate_t;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:143:11: error: no member named 'btowc' in the global namespace
143 | using ::btowc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:144:11: error: no member named 'fgetwc' in the global namespace
144 | using ::fgetwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:145:11: error: no member named 'fgetws' in the global namespace
145 | using ::fgetws;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:146:11: error: no member named 'fputwc' in the global namespace
146 | using ::fputwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:147:11: error: no member named 'fputws' in the global namespace
147 | using ::fputws;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:148:11: error: no member named 'fwide' in the global namespace
148 | using ::fwide;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:149:11: error: no member named 'fwprintf' in the global namespace
149 | using ::fwprintf;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:150:11: error: no member named 'fwscanf' in the global namespace
150 | using ::fwscanf;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:151:11: error: no member named 'getwc' in the global namespace
151 | using ::getwc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:152:11: error: no member named 'getwchar' in the global namespace
152 | using ::getwchar;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:153:11: error: no member named 'mbrlen' in the global namespace
153 | using ::mbrlen;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:154:11: error: no member named 'mbrtowc' in the global namespace
154 | using ::mbrtowc;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:155:11: error: no member named 'mbsinit' in the global namespace
155 | using ::mbsinit;
| ~~^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:156:11: error: no member named 'mbsrtowcs' in the global namespace
156 | using ::mbsrtowcs;
| ~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
```
Commit: 896b5e55711121b3de4630fe1412b50d96061c1c
https://github.com/llvm/llvm-project/commit/896b5e55711121b3de4630fe1412b50d96061c1c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow list-directed PRINT and WRITE stmt in device code (#87415)
The specification allow list-directed PRINT and WRITE statements to
appear in device code. This patch relax the semantic check to allow
them.
3.6.11.
List-directed PRINT and WRITE statements to the default unit may be used
when compiling for compute capability 2.0 and higher; all other uses of
PRINT and WRITE are disallowed.
Commit: 39f6d015ddd69717ff1f9b817bce84d621d37731
https://github.com/llvm/llvm-project/commit/39f6d015ddd69717ff1f9b817bce84d621d37731
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Eliminate getVLENFactoredAmount and expose muladd [nfc] (#87881)
This restructures the code to make the fact that most of
getVLENFactoredAmount is just a generic multiply w/immediate more
obvious and prepare for a couple of upcoming enhancements to this code.
Note that I plan to switch mulImm to early return, but decided I'd do
that as a separate commit to keep this diff readable.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: d345f6a25343f926f55e70b442dfa507ba31b597
https://github.com/llvm/llvm-project/commit/d345f6a25343f926f55e70b442dfa507ba31b597
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[clang] Introduce `SemaHLSL` (#87912)
This patch introduces `SemaHLSL` class, and moves some HLSL-related
functions there. No functional changes intended.
Removing "HLSL" from function names inside `SemaHLSL` is left for a
subsequent PR by HLSL contributors, if they deem that desirable.
This is a part of the effort to split `Sema` into smaller manageable
parts, and follows the example of OpenACC. See #82217, #84184, #87634
for additional context.
Commit: 93e2a9ab1b28e1b89d30b89dc2d5bb6f8cc66dc9
https://github.com/llvm/llvm-project/commit/93e2a9ab1b28e1b89d30b89dc2d5bb6f8cc66dc9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/CXX/drs/dr605.cpp
A clang/test/CXX/drs/dr650.cpp
A clang/test/CXX/drs/dr653.cpp
A clang/test/CXX/drs/dr658.cpp
A clang/test/CXX/drs/dr661.cpp
A clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add CodeGen tests for CWG 6xx issues (#87876)
This patch covers
[CWG605](https://cplusplus.github.io/CWG/issues/605.html) "Linkage of
explicit specializations",
[CWG650](https://cplusplus.github.io/CWG/issues/650.html) "Order of
destruction for temporaries bound to the returned value of a function",
[CWG653](https://cplusplus.github.io/CWG/issues/653.html) "Copy
assignment of unions",
[CWG658](https://cplusplus.github.io/CWG/issues/658.html) "Defining
`reinterpret_cast` for pointer types",
[CWG661](https://cplusplus.github.io/CWG/issues/661.html) "Semantics of
arithmetic comparisons",
[CWG672](https://cplusplus.github.io/CWG/issues/672.html) "Sequencing of
initialization in _new-expression_s".
[CWG624](https://cplusplus.github.io/CWG/issues/624.html) "Overflow in
calculating size of allocation" and
[CWG668](https://cplusplus.github.io/CWG/issues/668.html) "Throwing an
exception from the destructor of a local static object" are marked as
requiring libc++abi tests.
Commit: ea2392ed33f765018002f833da9a04cd0571ab83
https://github.com/llvm/llvm-project/commit/ea2392ed33f765018002f833da9a04cd0571ab83
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
Log Message:
-----------
[libc++][format] Fixed `println.blank_line.sh.cpp` test on llvm-clang-win-x-* configurations (#88011)
Fix for issue:
https://github.com/llvm/llvm-project/pull/87277#issuecomment-2041864530
The test fails on the windows to linux cross builders. The proposed
resolution is to print some text. The issue is possibly due to the
original test outputting a single `\n` character.
Commit: 977c0a6d29fe836f75b64a6f08a58cb3c00a56d9
https://github.com/llvm/llvm-project/commit/977c0a6d29fe836f75b64a6f08a58cb3c00a56d9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
A llvm/test/Analysis/LoopAccessAnalysis/positive-dependence-distance-different-access-sizes.ll
A llvm/test/Transforms/LoopLoadElim/non-const-distance.ll
Log Message:
-----------
[LAA] Add tests with non-constant strides & distances.
Add a number of LAA test cases with both forward and backward
dependences with non-constant strides and dependence distances.
This includes test coverage for
https://github.com/llvm/llvm-project/issues/87336
Also includes a LoopLoadElimination test to make sure the pass does not
crash on non-constant dependence distances.
Commit: 125c9cf1b2f5d1b33884ddcd33ce983b2e927d2f
https://github.com/llvm/llvm-project/commit/125c9cf1b2f5d1b33884ddcd33ce983b2e927d2f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG593 (#87752)
[CWG593](https://cplusplus.github.io/CWG/issues/593.html) "Falling off
the end of a destructor's function-try-block handler". As usual with CWG
issues resolved as NAD, we test for status-quo confirmed by CWG.
Commit: fd2ffc1cbf51a75884369ec9253f47ae2fdba83c
https://github.com/llvm/llvm-project/commit/fd2ffc1cbf51a75884369ec9253f47ae2fdba83c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Reject incomplete types in `__is_layout_compatible()` (#87869)
This is a follow-up to #81506. As discussed in #87737, we're rejecting
incomplete types, save for exceptions listed in the C++ standard (`void`
and arrays of unknown bound). Note that arrays of unknown bound of
incomplete types are accepted.
Since we're happy with the current behavior of this intrinsic for
flexible array members
(https://github.com/llvm/llvm-project/pull/87737#discussion_r1553652570),
I added a couple of tests for that as well.
Commit: eeedb1e962977caeb699ef9aa714c8878c4d62d2
https://github.com/llvm/llvm-project/commit/eeedb1e962977caeb699ef9aa714c8878c4d62d2
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/i128-fpconv-win64-strict.ll
Log Message:
-----------
[FPEnv][X86] Correct one more strictfp test.
Correct a strictfp test to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
This test needed the strictfp attribute added to some function
definitions. FP wait instructions now appear as a result. The need
for the wait instructions is explained by Andy Kaylor in PR#87791:
https://github.com/llvm/llvm-project/pull/87791
Test changes verified with D146845.
Commit: 92ecc22b8d18ad937053177533bd23c775556be6
https://github.com/llvm/llvm-project/commit/92ecc22b8d18ad937053177533bd23c775556be6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Fix crash in semantics on bad program (#87199)
Don't accept a putative statement function definition for a symbol that
is a subprogram but can't possibly be a statement function.
Fixes https://github.com/llvm/llvm-project/issues/86936.
Commit: b685597c0373882e58dabf587581d00989e40f71
https://github.com/llvm/llvm-project/commit/b685597c0373882e58dabf587581d00989e40f71
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Evaluate/fold-reduction.h
A flang/test/Evaluate/folding32.f90
Log Message:
-----------
[flang] Fix crash in reduction folding (#87201)
A reduction folding template assumed lower bounds were 1.
Fixes https://github.com/llvm/llvm-project/issues/86935.
Commit: af61d08280a90becb5a710a812f0d3d6485737a8
https://github.com/llvm/llvm-project/commit/af61d08280a90becb5a710a812f0d3d6485737a8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve29.f90
Log Message:
-----------
[flang] Handle forward reference to shadowing derived type from IMPLICIT (#87280)
A derived type name in an IMPLICIT statement might be a host association
or it might be a forward reference to a local derived type, which may be
shadowing a host-associated name. Add a scan over the specification part
in search of derived type definitions to determine the right
interpretation.
Fixes https://github.com/llvm/llvm-project/issues/87215.
Commit: aace1e1719a1610ce9fa93c7dae38a4272d7b6bf
https://github.com/llvm/llvm-project/commit/aace1e1719a1610ce9fa93c7dae38a4272d7b6bf
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Parser/char-block.h
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve21.f90
Log Message:
-----------
[flang] Improve error message with declaration (#87294)
When a program attempts to use a non-object entity as the base of a
component reference or type parameter inquiry, the message is somewhat
uninformative and the position of the entity's declaration will not
reflect any updates made to the symbol during name resolution.
Includes some NFC C++17 style clean-up on some code noticed while
debugging (missing mandatory braces).
Commit: 97e3f605d5b574899d9f012032349bbf84c4dcfb
https://github.com/llvm/llvm-project/commit/97e3f605d5b574899d9f012032349bbf84c4dcfb
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/intrinsics04.f90
Log Message:
-----------
[flang] Don't allow non-standard data conversions of potentially abse… (#87391)
…nt arguments
Arguments to the intrinsic functions MAX and MIN after the first two are
optional. When these actual arguments might not be present at run time,
emit a compilation time error if they require data conversion (a
non-standard but nearly universal language extension); such a conversion
would crash if the argument was absent.
Other compilers either disallow data conversions entirely on MAX/MIN or
crash at run time if a converted argument is absent.
Fixes https://github.com/llvm/llvm-project/issues/87046.
Commit: e1ad2735c3e7b0af94159f585458c7383255f03e
https://github.com/llvm/llvm-project/commit/e1ad2735c3e7b0af94159f585458c7383255f03e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/common.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/iso_fortran_env.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Clean up ISO_FORTRAN_ENV, fix NUMERIC_STORAGE_SIZE (#87566)
Address TODOs in the intrinsic module ISO_FORTRAN_ENV, and extend the
implementation of NUMERIC_STORAGE_SIZE so that the calculation of its
value is deferred until it is needed so that the effects of
-fdefault-integer-8 or -fdefault-real-8 are reflected. Emit a warning
when NUMERIC_STORAGE_SIZE is used from the module file and the default
integer and real sizes do not match.
Fixes https://github.com/llvm/llvm-project/issues/87476.
Commit: 89eb1a5a8e35a3bb77e4a1ca4fcac6757efc9339
https://github.com/llvm/llvm-project/commit/89eb1a5a8e35a3bb77e4a1ca4fcac6757efc9339
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/elf-globals-static.ll
M llvm/test/CodeGen/AArch64/tagged-globals-pic.ll
Log Message:
-----------
[test][AArch64][CodeGen] Delete redundant check lines (#87965)
llvm/test/CodeGen/AArch64/elf-globals-pic.ll:
Since https://reviews.llvm.org/D91734, elf-globals-static.ll test
contains several `CHECK-PIC` lines. They do not seem to bring any value
since there are no FileCheck run lines checking against this prefix. The
right place for such tests should be elf-globals-pic.ll, which already
contains check lines being deleted in this commit. Both
elf-globals-pic.ll and elf-globals-static.ll were created after
splitting arm64-elf-globals.ll in 6dbd0ea, and having `CHECK-PIC` lines
in elf-globals-static.ll seems like an issue occurred because of git
thinking that elf-globals-pic.ll is a new file and elf-global-static.ll
is a rename of arm64-elf-globals.ll.
llvm/test/CodeGen/AArch64/tagged-globals-pic.ll:
Similar to elf-globals-pic.ll, contains unneeded
`CHECK-SELECTIONDAGISEL` and `CHECK-GLOBALISEL` directives not checked
by any FileCheck invocation. These directives are present in
tagged-globals-static.ll. Both tests are present in the code tree since
fd32639 when tagged-globals.ll was splitted into
tagged-globals-{pic|static}.ll.
Commit: 708c8cd7435002027a2cc9b99a0916a3dc255d63
https://github.com/llvm/llvm-project/commit/708c8cd7435002027a2cc9b99a0916a3dc255d63
Author: Axel Lundberg <19574357+Zonotora at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/Basic/Sanitizers.def
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
A clang/test/CodeGen/ubsan-bitfield-conversion.c
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
Fix "[clang][UBSan] Add implicit conversion check for bitfields" (#87761)
Fix since #75481 got reverted.
- Explicitly set BitfieldBits to 0 to avoid uninitialized field member
for the integer checks:
```diff
- llvm::ConstantInt::get(Builder.getInt8Ty(), Check.first)};
+ llvm::ConstantInt::get(Builder.getInt8Ty(), Check.first),
+ llvm::ConstantInt::get(Builder.getInt32Ty(), 0)};
```
- `Value **Previous` was erroneously `Value *Previous` in
`CodeGenFunction::EmitWithOriginalRHSBitfieldAssignment`, fixed now.
- Update following:
```diff
- if (Kind == CK_IntegralCast) {
+ if (Kind == CK_IntegralCast || Kind == CK_LValueToRValue) {
```
CK_LValueToRValue when going from, e.g., char to char, and
CK_IntegralCast otherwise.
- Make sure that `Value *Previous = nullptr;` is initialized (see
https://github.com/llvm/llvm-project/commit/1189e87951e59a81ee097eae847c06008276fef1)
- Add another extensive testcase
`ubsan/TestCases/ImplicitConversion/bitfield-conversion.c`
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: aa6a089c367e024921bae050b8999a7bc4d58f76
https://github.com/llvm/llvm-project/commit/aa6a089c367e024921bae050b8999a7bc4d58f76
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
Log Message:
-----------
[NFC][OpenMP] Split nesting_of_regions test (#87842)
This test is the bottleneck for OpenMP lit tests, running about twice as
long as the others. Break it into five tests based on run lines with the
same version.
Commit: 01d9528ef989610e968386ea1f270698015d2410
https://github.com/llvm/llvm-project/commit/01d9528ef989610e968386ea1f270698015d2410
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
Log Message:
-----------
[SLP]Improve final minbitwidth analysis attempt.
Added part for demanded bits analysis in the IsPotentiallyTruncated to
improve minbitwidth analysis final attempts.
Metric: size..text
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 43069.00 42973.00 -0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 43066.00 42970.00 -0.2%
Extra trunc instructions are emitted to operate with <32 x i8> instead
of <32 x i16>, will be removed in the next patches.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/87786
Commit: c23135c5488fbfaf6439433a10b3ddef33ff112c
https://github.com/llvm/llvm-project/commit/c23135c5488fbfaf6439433a10b3ddef33ff112c
Author: Leonard Grey <lgrey at chromium.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/func-sanitizer.ll
M llvm/test/CodeGen/X86/func-sanitizer.ll
Log Message:
-----------
-fsanitize=function: fix .subsections_via_symbols (#87527)
-fsanitize=function emits a signature and function hash before a
function. Similar to 7f6e2c9, these can be sheared off when
`.subsections_via_symbols` is used.
This change uses the same technique 7f6e2c9 introduced for prefixes:
emitting a symbol for the metadata, then marking the actual function
entry as an .alt_entry symbol.
Commit: 3b43ae9a68256a77e8879a32a1670fd4b327802f
https://github.com/llvm/llvm-project/commit/3b43ae9a68256a77e8879a32a1670fd4b327802f
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
Log Message:
-----------
[scudo] Remove end of line checks. (#88022)
The regex to verify that there is nothing else at the end of the line
doesn't work in all cases, so remove it.
Commit: e276dcec173bc0123444c162c3becb2354382248
https://github.com/llvm/llvm-project/commit/e276dcec173bc0123444c162c3becb2354382248
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/invalid.mlir
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][arith] Refine the verifier for arith.constant (#87999)
Disallows initialization of scalable vectors with an attribute of
arbitrary values, e.g.:
```mlir
%c = arith.constant dense<[0, 1]> : vector<[2] x i32>
```
Initialization using vector splats remains allowed (i.e. when all the
init values are identical):
```mlir
%c = arith.constant dense<[1, 1]> : vector<[2] x i32>
```
Note: This is a re-upload of #86178
Commit: 8671429151d5e67d3f21a737809953ae8bdfbfde
https://github.com/llvm/llvm-project/commit/8671429151d5e67d3f21a737809953ae8bdfbfde
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Headers/Inputs/include/stdint.h
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[Libomp] Place generated OpenMP headers into build resource directory (#88007)
Summary:
These headers are a part of the compiler's resource directory once
installed. However, they are currently placed in the binary directory
temporarily. This makes it more difficult to use the compiler out of the
build directory and will cause issues when moving to `liboffload`. This
patch changes the logic to write these instead to the copmiler's
resource directory inside of the build tree.
NOTE: This doesn't change the Fortran headers, I don't know enough about
those and it won't use the same directory.
Commit: 1e6ce5e284f5c0e8d64eee21af727bb164eb3caf
https://github.com/llvm/llvm-project/commit/1e6ce5e284f5c0e8d64eee21af727bb164eb3caf
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Clean up unused math_utils.(h|cpp). (#88036)
Commit: 119b9cdb388f33e78fbb2a73e244ec3031c7f84c
https://github.com/llvm/llvm-project/commit/119b9cdb388f33e78fbb2a73e244ec3031c7f84c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.h
Log Message:
-----------
[flang][omp] Heed valid build warning (#88015)
Address a bug found by a compiler warning, and thereby also fix -Werror
builds.
Commit: ac8ed7f16e5355d7062535afc08ff4be15875c47
https://github.com/llvm/llvm-project/commit/ac8ed7f16e5355d7062535afc08ff4be15875c47
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/test/src/CMakeLists.txt
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FmaTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
Log Message:
-----------
[libc] Remove RandUtils.(h|cpp). (#88044)
Commit: 50a6738636d1b1dda0c5887cf0623ee084854272
https://github.com/llvm/llvm-project/commit/50a6738636d1b1dda0c5887cf0623ee084854272
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
Log Message:
-----------
[clang][NFC] Adjust TBAA Base Info API (#73263)
A couple of cleanups.
1) remove an unnecessary check from isValidBaseType.
2) Add a new internal entrypoint 'getValidBaseTypeInfo', for uses where the type is known to be valid.
Commit: f5cf98c02655de50401f6547ea181efed6a4c1f1
https://github.com/llvm/llvm-project/commit/f5cf98c02655de50401f6547ea181efed6a4c1f1
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/prolog-epilogue.ll
Log Message:
-----------
[RISCV] Improve test coverage for #87950
Noticed in review that we want both the LUI and LUI/ADDI cases
with different behavior for each.
Commit: eb26edbbf8479aacac0b03413159c8836994a734
https://github.com/llvm/llvm-project/commit/eb26edbbf8479aacac0b03413159c8836994a734
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/prolog-epilogue.ll
M llvm/test/CodeGen/RISCV/stack-offset.ll
Log Message:
-----------
[RISCV] Exploit sh3add/sh2add for stack offsets by shifted 12-bit constants (#87950)
If we're falling back to generic constant formation in a register +
add/sub, we can check if we have a constant which is 12-bits but left
shifted by 2 or 3. If so, we can use a sh2add or sh3add to perform the
shift and add in a single instruction.
This is profitable when the unshifted constant would require two
instructions (LUI/ADDI) to form, but is never harmful since we're going
to need at least two instructions regardless of the constant value.
Since stacks are aligned to 16 bytes by default, sh3add allows addresing
(aligned) data out to 2^14 (i.e. 16kb) in at most two instructions
w/zba.
Commit: 16b3e43a030b0322e0d81debba3d63f145c8fd0b
https://github.com/llvm/llvm-project/commit/16b3e43a030b0322e0d81debba3d63f145c8fd0b
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
Log Message:
-----------
[clang-tidy] Ignore non-forwarded arguments if they are unused (#87832)
Commit: 1950ebd17bbf1f2ad2a3799cd5966412ccfee9c4
https://github.com/llvm/llvm-project/commit/1950ebd17bbf1f2ad2a3799cd5966412ccfee9c4
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/test/Headers/ms-intrin.cpp
Log Message:
-----------
[ARM64EC] Fix compilation of intrin.h in ARM64EC mode. (#87717)
intrin.h checks for x86_64. But the "x86_64" define is also defined for
ARM64EC, and we don't support all the intrinsics in ARM64EC mode. Fix
the preprocessor checks to handle this correctly. (If we actually need
some of these intrinsics in ARM64EC mode, we can revisit later.)
Not exactly sure how I didn't run into this issue before now... I think
I've built code that requires these headers, but maybe not since the
define fix landed.
Commit: ff9b63f8d0487b69b35cf90a7089ad075f7fab88
https://github.com/llvm/llvm-project/commit/ff9b63f8d0487b69b35cf90a7089ad075f7fab88
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Fix windows after #87761
Commit: 7ad481e76c9bee5b9895ebfa0fdb52f31cb7de77
https://github.com/llvm/llvm-project/commit/7ad481e76c9bee5b9895ebfa0fdb52f31cb7de77
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/test/Driver/aarch64-fixed-x-register.c
M llvm/lib/Target/AArch64/AArch64.td
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
Log Message:
-----------
Revert "[AArch64] Add support for -ffixed-x30" (#88019)
This reverts commit e770153865c53c4fd72a68f23acff33c24e42a08.
This wasn't reviewed, and the functionality in question was
intentionally rejected the last time it was discussed in
https://reviews.llvm.org/D56305 .
Commit: 96bba13bd6bfb4ff0635972723adcd9c72b65bae
https://github.com/llvm/llvm-project/commit/96bba13bd6bfb4ff0635972723adcd9c72b65bae
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Fix Solaris after #87761
Commit: bee33770188f29d0369655c6d178c0bfb937e872
https://github.com/llvm/llvm-project/commit/bee33770188f29d0369655c6d178c0bfb937e872
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add `nobuildkite` tags for incompatible targets
Commit: f94bbfed7cf08f60e20756dce8965d2c6ed70ea1
https://github.com/llvm/llvm-project/commit/f94bbfed7cf08f60e20756dce8965d2c6ed70ea1
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
Log Message:
-----------
[Clang][CodeGen] Fix `CanSkipVTablePointerInitialization` for dynamic classes with a trivial anonymous union (#84651)
Hit this when trying upgrade an old project of mine. I couldn't find a
corresponding existing issue for this when spelunking the open issues
here on github.
Thankfully I can work-around it today with the `[[clang::no_destroy]]`
attribute for my use case. However it should still be properly fixed.
### Issue and History ###
https://godbolt.org/z/EYnhce8MK for reference.
All subsequent text below refers to the example in the godbolt above.
Anonymous unions never have their destructor invoked automatically.
Therefore we can skip vtable initialization of the destructor of a
dynamic class if that destructor effectively does no work.
This worked previously as the following check would be hit and return
true for the trivial anonymous union,
https://github.com/llvm/llvm-project/blob/release/18.x/clang/lib/CodeGen/CGClass.cpp#L1348,
resulting in the code skipping vtable initialization.
This was broken here
https://github.com/llvm/llvm-project/commit/982bbf404eba2d968afda5c674d4821652159c53
in relation to comments made on this review here
https://reviews.llvm.org/D10508.
### Fixes ###
The check the code is doing is correct however the return value is
inverted. We want to return true here since a field with anonymous union
never has its destructor invoked and thus effectively has a trivial
destructor body from the perspective of requiring vtable init in the
parent dynamic class.
Also added some extra missing unit tests to test for this use case and a
couple others.
Commit: 59aba90ab6648b968b67677ce445ba11c05a3823
https://github.com/llvm/llvm-project/commit/59aba90ab6648b968b67677ce445ba11c05a3823
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
Log Message:
-----------
[test][UBSAN] Simplify regex in the test
Commit: e27c3736f975ca463476223c465e4777186f603f
https://github.com/llvm/llvm-project/commit/e27c3736f975ca463476223c465e4777186f603f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
Log Message:
-----------
[X86] Change how we treat functions with explicit sections as small/large (#87838)
Following #78348, we should treat functions with an explicit section as
small, unless the section name is (or has the prefix) ".ltext".
Clang emits global initializers into a ".text.startup" section on Linux.
If we mix small/medium code model object files with large code model
object files, we'll end up mixing sections with and without the large
section flag.
Commit: 50b937331ff44ac4b4ee70c3bfc0c4da51a02855
https://github.com/llvm/llvm-project/commit/50b937331ff44ac4b4ee70c3bfc0c4da51a02855
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
Log Message:
-----------
[mlir] Add missing libm member operations to MathToLibm (#87981)
This PR adds support for lowering the following Math operations to
`libm` calls:
* `math.absf` -> `fabsf, fabs`
* `math.exp` -> `expf, exp`
* `math.exp2` -> `exp2f, exp2`
* `math.fma` -> `fmaf, fma`
* `math.log` -> `logf, log`
* `math.log2` -> `log2f, log2`
* `math.log10` -> `log10f, log10`
* `math.powf` -> `powf, pow`
* `math.sqrt` -> `sqrtf, sqrt`
These operations are direct members of `libm`, and do not seem to
require any special manipulations on their operands.
Commit: 89ebb56152192e8ad535ddd11ae0f60334fd748a
https://github.com/llvm/llvm-project/commit/89ebb56152192e8ad535ddd11ae0f60334fd748a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
Log Message:
-----------
[RISCV] Resolve CHECK prefix conflict in fixed-vectors-vwsll.ll. NFC
riscv32 and riscv64 generate different code for one test case so we need
RV32 and RV64 CHECK lines.
Commit: 279c758b5d681eb7b24d5e3a1da64a7571e61903
https://github.com/llvm/llvm-project/commit/279c758b5d681eb7b24d5e3a1da64a7571e61903
Author: Zander Dumont-Strom <zdumonts at ucsc.edu>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A libc/docs/ctype.rst
M libc/docs/index.rst
M libc/utils/docgen/ctype.json
Log Message:
-----------
[libc][docs] generate docs for ctype.h (#87946)
Fixes #87833
Commit: e127997155a1cd1c5692c42aad074064c8dad099
https://github.com/llvm/llvm-project/commit/e127997155a1cd1c5692c42aad074064c8dad099
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/docs/ctype.rst
Log Message:
-----------
[libc][docs] fix missing include
Fixes #87946
Commit: 922700df44b7fd93dfaf642567283b2b7482e5df
https://github.com/llvm/llvm-project/commit/922700df44b7fd93dfaf642567283b2b7482e5df
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
Log Message:
-----------
Revert "[X86] Change how we treat functions with explicit sections as small/large (#87838)"
This reverts commit e27c3736f975ca463476223c465e4777186f603f.
Breaks ExecutionEngine/MCJIT/test-global-ctors.ll on windows, e.g. https://lab.llvm.org/buildbot/#/builders/117/builds/18749.
Commit: afc7cc7b123666a8917b26c7e483d78cbb79ff8d
https://github.com/llvm/llvm-project/commit/afc7cc7b123666a8917b26c7e483d78cbb79ff8d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
Log Message:
-----------
[RISCV] Fix missing CHECK prefixes in vector lrint test files. NFC
All of these test cases had iXLen in their name which got replaced
by sed. This prevented FileCheck from finding the function. The other
test cases in these files do not have that issue.
Commit: 472ea6e0159342107ca240018b0c5ad868bf16fe
https://github.com/llvm/llvm-project/commit/472ea6e0159342107ca240018b0c5ad868bf16fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vitofp-constrained-sdnode.ll
Log Message:
-----------
[RISCV] Resolve CHECK prefix conflict in fixed-vectors-vitofp-constrained-sdnode.ll. NFC
Commit: 4e98adf677fe6eb9aea5606c44ccc97f02d2f48a
https://github.com/llvm/llvm-project/commit/4e98adf677fe6eb9aea5606c44ccc97f02d2f48a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
Log Message:
-----------
[RISCV] Add tests for F/D with non-FP ABI to interrupt-attr.ll. NFC
Without a floating point aware ABI for callees, an interrupt handler
needs to save all floating point registers even normally callee saved.
We are currently unnecessarily saving callee saved FP registers when
a floating point ABI is used by the callee. This is different than gcc
as noted in this discourse
post https://discourse.llvm.org/t/has-bugs-when-optimizing-save-restore-csrs-by-changing-csr-xlen-f32-interrupt/78200/1
Commit: 79343fa8c3575be12ec4d543f4aebebd1ba4f47f
https://github.com/llvm/llvm-project/commit/79343fa8c3575be12ec4d543f4aebebd1ba4f47f
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/overflow.ll
A llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
[msan] Precommit tests.
Precommit tests for overflowing and saturating arithmetic intrinsics.
Commit: 22b1f1bc695b8fd3263b709ce9761bf3bb2f8ee9
https://github.com/llvm/llvm-project/commit/22b1f1bc695b8fd3263b709ce9761bf3bb2f8ee9
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] Remove `#ifdef __cplusplus` part from `include/llvm-libc-macros/math-macros.h`. (#87864)
Now with the proxy header `hdr/math_macros.h`, the header
`include/llvm-libc-macros/math-macros.h` will not be included in overlay
mode, and the extra definitions for `__cplusplus` mode is not needed any
more.
Commit: 118a5d8236d8a483dd401fa35c8b1fcd058eacc1
https://github.com/llvm/llvm-project/commit/118a5d8236d8a483dd401fa35c8b1fcd058eacc1
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/overflow.ll
M llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
Overflow and saturating intrinsics (#88068)
Commit: f28c8339c12917b11c99432de6609e7d46e17e2b
https://github.com/llvm/llvm-project/commit/f28c8339c12917b11c99432de6609e7d46e17e2b
Author: Chris Apple <cja-private at pm.me>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
Fix issue where MACOSX_VERSION_MIN_FLAG was not set on subsequent runs of CMake in compiler-rt (#87580)
As discussed here:
https://github.com/llvm/llvm-project/pull/74394#issuecomment-2035264683
An unintentional change of behavior was introduced in #74394
This code introduced in #74394 :
The first time through
* SANITIZER_MIN_OSX_VERSION is not set
* parse -mmacosx-version-min and set MACOSX_VERSION_MIN_FLAG
* Set and cache SANITIZER_MIN_OSX_VERSION
Subsequent times through:
* SANITIZER_MIN_OSX_VERSION is cached
* (BUG!!) you don't parse -mmacosx-version-min, and don't set
MACOSX_VERSION_MIN_FLAG
MACOSX_VERSION_MIN_FLAG is used later in the file on this line:
https://github.com/llvm/llvm-project/blob/63c925ca808f216f805b76873743450456e350f2/compiler-rt/cmake/config-ix.cmake#L517
Hoisting this assignment outside the if block returns us to the previous
behavior before this commit, while maintaining the flexibility
introduced with the cache variable
Commit: ccdebbae4d77d3efc236af92c22941de5d437e01
https://github.com/llvm/llvm-project/commit/ccdebbae4d77d3efc236af92c22941de5d437e01
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
M clang/test/Driver/zos-ld.c
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[Driver] Ensure ToolChain::LibraryPaths is not empty for non-Darwin
Follow-up to #81037.
ToolChain::LibraryPaths holds the new compiler-rt library directory
(e.g. `/tmp/Debug/lib/clang/19/lib/x86_64-unknown-linux-gnu`). However,
it might be empty when the directory does not exist (due to the `if
(getVFS().exists(P))` change in https://reviews.llvm.org/D158475).
If neither the old/new compiler-rt library directories exists, we would
suggest the undesired old compiler-rt file name:
```
% /tmp/Debug/bin/clang++ a.cc -fsanitize=memory -o a
ld.lld: error: cannot open /tmp/Debug/lib/clang/19/lib/linux/libclang_rt.msan-x86_64.a: No such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
With this change, we will correctly suggest the new compiler-rt file name.
Fix #87150
Pull Request: https://github.com/llvm/llvm-project/pull/87866
Commit: ec1af63dde58c735fe60d6f2aafdb10fa93f410d
https://github.com/llvm/llvm-project/commit/ec1af63dde58c735fe60d6f2aafdb10fa93f410d
Author: Alexandre Ganea <37383324+aganea at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/patchable-prologue.ll
Log Message:
-----------
[Codegen][X86] Fix /HOTPATCH with clang-cl and inline asm (#87639)
This fixes an edge case where functions starting with inline assembly
would assert while trying to lower that inline asm instruction.
After this PR, for now we always add a no-op (xchgw in this case) without
considering the size of the next inline asm instruction. We might want
to revisit this in the future.
This fixes Unreal Engine 5.3.2 compilation with clang-cl and /HOTPATCH.
Should close https://github.com/llvm/llvm-project/issues/56234
Commit: 5bc87dac75762027e614da31b968c67a94f0e7b1
https://github.com/llvm/llvm-project/commit/5bc87dac75762027e614da31b968c67a94f0e7b1
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/overflow.ll
M llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
Revert "Overflow and saturating intrinsics (#88068)"
This reverts commit 118a5d8236d8a483dd401fa35c8b1fcd058eacc1.
Commit: 3b74f8c1de72aa90445249f55923690301da024a
https://github.com/llvm/llvm-project/commit/3b74f8c1de72aa90445249f55923690301da024a
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
R llvm/test/Instrumentation/MemorySanitizer/overflow.ll
R llvm/test/Instrumentation/MemorySanitizer/saturating.ll
Log Message:
-----------
Revert "[msan] Precommit tests."
This reverts commit 79343fa8c3575be12ec4d543f4aebebd1ba4f47f.
Commit: be006372f3bbcab1e2e51af93dd3302398dac9a4
https://github.com/llvm/llvm-project/commit/be006372f3bbcab1e2e51af93dd3302398dac9a4
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[mlir][OpPrintingFlags] Allow to disable ElementsAttr hex printing (#85766)
At present, large ElementsAttr is unconditionally printed with a hex
string. This means that in IR large constant values often look like:
dense<"0x000000000004000000080000000004000000080000000..."> :
tensor<10x10xi32>
Hoisting hex printing control to the user level for tooling means that
one can disable the feature and get human-readable values when
necessary:
dense<[16, 32, 48, 500...]> : tensor<10x10xi32>
Note: AsmPrinterOptions::printElementsAttrWithHexIfLarger is not always
possible to be used as it requires that one exposes MLIR's command-line
options in user tooling (including an actual compiler).
Co-authored-by: Harald Rotuna <harald.razvan.rotuna at intel.com>
Commit: b2f8172d721d9e1cdaf052155aea880d731b1bf7
https://github.com/llvm/llvm-project/commit/b2f8172d721d9e1cdaf052155aea880d731b1bf7
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
Log Message:
-----------
[gn build] Port 27b2d7d4bb79
Commit: 65c57bf2429e395aed811c05f35d28a6123a5965
https://github.com/llvm/llvm-project/commit/65c57bf2429e395aed811c05f35d28a6123a5965
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
Log Message:
-----------
[gn build] Port 7a4e89761a13
Commit: 1c4ec8def6bb18934f300f6e630e92e7efdb60be
https://github.com/llvm/llvm-project/commit/1c4ec8def6bb18934f300f6e630e92e7efdb60be
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port d2884444472e
Commit: 064634406277e4786ce12caac94f7fa57ed5973e
https://github.com/llvm/llvm-project/commit/064634406277e4786ce12caac94f7fa57ed5973e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll
M llvm/test/Transforms/lower-builtin-allow-check.ll
Log Message:
-----------
[HWASAN][UBSAN] Reverse random logic (#88070)
It feels more intuitive to make higher P to keep more checks.
Commit: 4a812b5912d3149592cae195c9007b05649d9b41
https://github.com/llvm/llvm-project/commit/4a812b5912d3149592cae195c9007b05649d9b41
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/IR/Verifier.cpp
M llvm/test/Transforms/HipStdPar/unsupported-thread-local-indirect-use.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
Verify threadlocal_address constraints (#87841)
Check invariants for `llvm.threadlocal.address` intrinsic in IR
Verifier.
Commit: 925b7d6f62bf8f0b204cc1cb24a4a75c7bc5e0ae
https://github.com/llvm/llvm-project/commit/925b7d6f62bf8f0b204cc1cb24a4a75c7bc5e0ae
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Replace some KV loop variables with structured bindings.
Same idea as 006aaf32258 -- reduce boilerplate and improve readability. This
time updates will be piecemeal to make it easier to identify errors.
Coding my way home: 2.18555S, 93.78063W
Commit: e35fb3fb8bfcb732ace3738f9589989b3fac1508
https://github.com/llvm/llvm-project/commit/e35fb3fb8bfcb732ace3738f9589989b3fac1508
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/bindings/interface/SBProcessDocstrings.i
M lldb/bindings/interface/SBQueueDocstrings.i
M lldb/bindings/interface/SBThreadDocstrings.i
Log Message:
-----------
[lldb] [NFC] Fix swig docstring annotations (#88073)
Some of the SB API method description docstrings for swing are annotated
as `%feature("autodoc")` - but `"autodoc"` annotations are only to
substitute a string showing the arguments and return variables - either
in a single line, or in multiple lines. SBMemoryRegionInfo used
`"autodoc"` correctly describing the parameters and return type, but
then it added a description too which is not correct either.
Change all of these that are adding a method description to use
`%feature("docstring")` instead. There were a half dozen instances where
`"autodoc"` was correctly being used and we have overriden the parameter
and return types with a more readable version.
Commit: f7d93373969b2b757f5d5ef5e157dabe3bb9b0ae
https://github.com/llvm/llvm-project/commit/f7d93373969b2b757f5d5ef5e157dabe3bb9b0ae
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[Sema][NFC] Cleanups after 843cc474f (#87996)
I forgot to tidy up these lines that should've been done in the previous
commit, specifically:
1. Merge two `CodeSynthesisContext`s into one in `CheckTemplateIdType`.
2. Remove some gratuitous `Sema::` specifiers.
3. Rename the parameter `Template` to `Entity` to avoid confusion.
Commit: 41dc04e5283adef9979cad2b126ab3e6c156034a
https://github.com/llvm/llvm-project/commit/41dc04e5283adef9979cad2b126ab3e6c156034a
Author: Jason Molenda <jason at molenda.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M lldb/bindings/interface/SBProcessDocstrings.i
Log Message:
-----------
[lldb] Add swig doc for SBProcess address mask methods
Add descriptions of `GetAddressMask`, `SetAddressMask`,
`SetAddressableBits`, and `FixAddress` SBProcess methods.
Commit: 71eda17a0674317b05975be79ed4a2c8ee99c43c
https://github.com/llvm/llvm-project/commit/71eda17a0674317b05975be79ed4a2c8ee99c43c
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/PowerPC/ppcsoftops.ll
Log Message:
-----------
[Legalizer] Soften EXTRACT_ELEMENT on ppcf128 (#77412)
ppc_fp128 values are always split into two f64. Implement soften
operation in soft-float mode to handle output f64 correctly.
Commit: 0e5a53cc01e406436cb7c703c84598e474d635de
https://github.com/llvm/llvm-project/commit/0e5a53cc01e406436cb7c703c84598e474d635de
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/AffineExprVisitor.h
M mlir/test/IR/affine-walk.mlir
Log Message:
-----------
[MLIR] Fix typo bug in AffineExprVisitor for WalkResult return case (#86138)
Fix typo bug in AffineExprVisitor for the WalkResult return case. This
didn't show up immmediately because most walks in the tree didn't
use walk result.
Commit: 25e3d2b0fc1e2b4df19d7f18fbdd04c154e1d0e8
https://github.com/llvm/llvm-project/commit/25e3d2b0fc1e2b4df19d7f18fbdd04c154e1d0e8
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/test/Headers/Inputs/include/stdint.h
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
Revert "[Libomp] Place generated OpenMP headers into build resource d… (#88083)
…irectory (#88007)"
This reverts commit 8671429151d5e67d3f21a737809953ae8bdfbfde.
This commit broke the flang build, so I'm reverting it. See the comments
in merge request #88007 for more information.
Commit: 74c085fcfc8fab7822127cb46ff82a6f0d3597f3
https://github.com/llvm/llvm-project/commit/74c085fcfc8fab7822127cb46ff82a6f0d3597f3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV] Add Zcmop and Zimop to RISCVUsage.rst. NFC (#88033)
These extensions are ratified so they were removed from the experimental
section, but not added to the non-experimental section.
Commit: 04f33a3ac2e8ca96840606f812eaef974ff61c80
https://github.com/llvm/llvm-project/commit/04f33a3ac2e8ca96840606f812eaef974ff61c80
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt] Use a std::move() to avoid a copy in the loop in multiplicativeInverse. (#87655)
This allows the subtract to reuse the storage of T. T will be assigned
over by the condition on the next iteration. I think assigning over a
moved from value should be ok.
Commit: a30662fc2acdd73ca1a9217716299a4676999fb4
https://github.com/llvm/llvm-project/commit/a30662fc2acdd73ca1a9217716299a4676999fb4
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Rework the printing of attributes (#87281)
Commit https://github.com/llvm/llvm-project/commit/46f3ade introduced a
notion of printing the attributes on the left to improve the printing of
attributes attached to variable declarations. The intent was to produce
more GCC compatible code because clang tends to print the attributes on
the right hand side which is not accepted by gcc.
This approach has increased the complexity in tablegen and the
attrubutes themselves as now the are supposed to know where they could
appear. That lead to mishandling of the `override` keyword which is
modelled as an attribute in clang.
This patch takes an inspiration from the existing approach and tries to
keep the position of the attributes as they were written. To do so we
use simpler heuristic which checks if the source locations of the
attribute precedes the declaration. If so, it is considered to be
printed before the declaration.
Fixes https://github.com/llvm/llvm-project/issues/87151
Commit: 5c056b32350e834924356b1af78504d261d24e42
https://github.com/llvm/llvm-project/commit/5c056b32350e834924356b1af78504d261d24e42
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Clean up unit tests from commit 13be0d4a34c4
- Use 1-parameter verifyFormat() to verify formatted input in LLVM style.
- Pass string literal instead of constructed StringRef to verifyFormat().
- Don't include trailing newlines if not needed.
Commit: b65ab0b726ce421cc6cd7fdfbf51bf4aba17ce87
https://github.com/llvm/llvm-project/commit/b65ab0b726ce421cc6cd7fdfbf51bf4aba17ce87
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Add comment clarifying missing `usub.sat` in `isKnownNonZero`; NFC
Closes #87700
Commit: d10983b8a39abdbfaffd207720f67f96227b5ac9
https://github.com/llvm/llvm-project/commit/d10983b8a39abdbfaffd207720f67f96227b5ac9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-08 (Mon, 08 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
Log Message:
-----------
[ORC] Replace KV loop variables with structured bindings, fix typo.
Coding my way home: 2.29247S, 94.15173W
Commit: 62e92573d28d62ab7e6438ac34d513b07c51ce09
https://github.com/llvm/llvm-project/commit/62e92573d28d62ab7e6438ac34d513b07c51ce09
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Revert "Rework the printing of attributes (#87281)"
This reverts commit a30662fc2acdd73ca1a9217716299a4676999fb4 due to bot failures.
Commit: d4120477130a5f9e472753068dcc627baddc44f6
https://github.com/llvm/llvm-project/commit/d4120477130a5f9e472753068dcc627baddc44f6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix "Initializing" zero-size arrays
getIndex() returns 0 here, so we were trying to initalize the 0th
element.
Fixes #88018
Commit: 03ffb82c9e0d363c97ca37ede46719236616c88e
https://github.com/llvm/llvm-project/commit/03ffb82c9e0d363c97ca37ede46719236616c88e
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/ToolOutputFile.h
M llvm/lib/Support/ToolOutputFile.cpp
Log Message:
-----------
[Support] Make CleanupInstaller public (NFC) (#86758)
This can be used by others to automatically remove temp files.
Commit: c7db450e5c1a83ea768765dcdedfd50f3358d418
https://github.com/llvm/llvm-project/commit/c7db450e5c1a83ea768765dcdedfd50f3358d418
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Refactor `EvaluateBinaryTypeTrait` to accept `TypeSourceInfo`
Some type traits issue diagnostics that would benefit from additional source location information.
Commit: 5d1f779540517f47abb4927f4ded51cac94fd366
https://github.com/llvm/llvm-project/commit/5d1f779540517f47abb4927f4ded51cac94fd366
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
Log Message:
-----------
[clang][Interp][NFC] Add Dump debug op
This is often useful for debugging and dumps the current stack
contents.
Commit: acff0b03167f877f783d9386014e1ebc20db1c2f
https://github.com/llvm/llvm-project/commit/acff0b03167f877f783d9386014e1ebc20db1c2f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/Interp/Record.h
Log Message:
-----------
[clang][Interp][NFC] Improve Record debugging
Add Record::dump() and return the diagnostic name from getName()
Commit: 11ba795565c231a95a7e34bb0e4dff099234c736
https://github.com/llvm/llvm-project/commit/11ba795565c231a95a7e34bb0e4dff099234c736
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Add sanity checks to This op
The instance pointer must be casted to the right base.
Commit: 3a2367561d7f4eb1795d6972b294562bc66beb2b
https://github.com/llvm/llvm-project/commit/3a2367561d7f4eb1795d6972b294562bc66beb2b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/insertelement.ll
Log Message:
-----------
[ValueTracking] Add tests for non-constant idx in `computeKnownBits` of `insertelement`; NFC
Commit: 964df099e1f8afcb9d052f61e065da82b19cc81b
https://github.com/llvm/llvm-project/commit/964df099e1f8afcb9d052f61e065da82b19cc81b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/insertelement.ll
Log Message:
-----------
[ValueTracking] Support non-constant idx for `computeKnownBits` of `insertelement`
Its same logic as before, we just need to intersect what we know about
the new Elt and the entire pre-existing Vec.
Closes #87707
Commit: 51089e360e37962c7841fe0a494ba9fb5368bab2
https://github.com/llvm/llvm-project/commit/51089e360e37962c7841fe0a494ba9fb5368bab2
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Support fast math flag for complex.tan op (#87919)
See
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: dbb9749862481ad6aa82c96f6889b2ebba6f6062
https://github.com/llvm/llvm-project/commit/dbb9749862481ad6aa82c96f6889b2ebba6f6062
Author: Ding Fei <fding at feysh.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[ASTMatchers] fix captureVars assertion failure on capturesVariables (#76619)
Matcher `capturesVar` should check for `capturesVariables()` before
calling `getCaptureVar()` since it asserts this `LambdaCapture` does
capture a variable.
Fixes #76425
Commit: 9391ff8c86007562d40c240ea082b7c0cbf35947
https://github.com/llvm/llvm-project/commit/9391ff8c86007562d40c240ea082b7c0cbf35947
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/test/APINotes/retain-count-convention.m
M clang/test/APINotes/versioned.m
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Reland "Rework the printing of attributes (#87281)"
Original commit message:
"
Commit https://github.com/llvm/llvm-project/commit/46f3ade introduced a notion
of printing the attributes on the left to improve the printing of attributes
attached to variable declarations. The intent was to produce more GCC compatible
code because clang tends to print the attributes on the right hand side which is
not accepted by gcc.
This approach has increased the complexity in tablegen and the attrubutes
themselves as now the are supposed to know where they could appear. That lead to
mishandling of the `override` keyword which is modelled as an attribute in
clang.
This patch takes an inspiration from the existing approach and tries to keep the
position of the attributes as they were written. To do so we use simpler
heuristic which checks if the source locations of the attribute precedes the
declaration. If so, it is considered to be printed before the declaration.
Fixes https://github.com/llvm/llvm-project/issues/87151
"
The reason for the bot breakage is that attributes coming from ApiNotes are not
marked implicit even though they do not have source locations. This caused an
assert to trigger. This patch forces attributes with no source location
information to be printed on the left. That change is consistent to the overall
intent of the change to increase the chances for attributes to compile across
toolchains and at the same time the produced code to be as close as possible to
the one written by the user.
Commit: d8d131dfa99762ccdd2116661980b7d0493cd7b5
https://github.com/llvm/llvm-project/commit/d8d131dfa99762ccdd2116661980b7d0493cd7b5
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.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/combine-sats.ll
M llvm/test/CodeGen/RISCV/rvv/combine-splats.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.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-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.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-int-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-peephole-vmerge-vops.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-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.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-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.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-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.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-vfmul-vp.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-vfnmsac-vp.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-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vor-vp.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-vpmerge.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-vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vror.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vxor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-vp-fadd-and-vp-fmul.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/masked-store-int.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/narrow-shift-extend.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/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-vmerge-to-vmv.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vand-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.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/vfclass-vp.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/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/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac-vp.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/vfmuladd-vp.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/vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.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/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmarith-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmulh-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmulhu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnsrl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-int.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i1.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i64.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-zfa.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmaccsu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmaccu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-vp.ll
Log Message:
-----------
[RISCV] Convert more constant splats in tests to splat shorthand. NFC (#87616)
A handy shorthand for specifying the shufflevector(insertelement(poison,
foo, 0), poison, zeroinitializer) splat pattern was introduced in
#74620.
Some of the RISC-V tests were converted over to use this new form in
dbb65dd330cc1696d7ca3dedc7aa9fa12c55a075, this patch handles the rest
which didn't have any codegen diffs.
This not only converts some constant expressions to the new form, but
also instruction sequences that weren't previously constant expressions
to constant expressions as well. In some cases this affects codegen, but
these have been omitted here and will be handled in a separate PR.
Commit: 0f20b9b92f5333a90cf7cd19d7ec2e27ee3eac06
https://github.com/llvm/llvm-project/commit/0f20b9b92f5333a90cf7cd19d7ec2e27ee3eac06
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vwadd-vp.ll
Log Message:
-----------
[RISCV] Don't require mask or VL to be the same in combineBinOp_VLToVWBinOp_VL (#87997)
In NodeExtensionHelper we keep track of the VL and mask of the operand
being extended and check that they are the same as the root node's.
However for the nodes that we support, none of them have a passthru
operand with the exception of RISCV::VMV_V_X_VL, but we check that it's
passthru is undef anyway.
So it's safe to just discard the extend node's VL and mask and just use
the root's instead. (This is the same type of reasoning we use to treat
any vmset_vl as an all ones mask)
This allows us to match some more cases where we mix VP/non-VP/VL nodes,
but these don't seem to appear in practice. The main benefit from this
would be to simplify the code.
Commit: 9c660362c4fb05c0198b9d3ed65b2344706129bd
https://github.com/llvm/llvm-project/commit/9c660362c4fb05c0198b9d3ed65b2344706129bd
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
Log Message:
-----------
[RISCV] Support vwsll in combineBinOp_VLToVWBinOp_VL (#87620)
If the subtarget has +zvbb then we can attempt folding shl and shl_vl to
vwsll nodes.
There are few test cases where we still don't pick up the vwsll:
- For fixed vector vwsll.vi on RV32, see the FIXME for VMV_V_X_VL in
fillUpExtensionSupport for support implicit sign extension
- For scalable vector vwsll.vi we need to support ISD::SPLAT_VECTOR, see
#87249
Commit: 9c58f3a234a5eb24db97290d1abc71f8bf181c3a
https://github.com/llvm/llvm-project/commit/9c58f3a234a5eb24db97290d1abc71f8bf181c3a
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-non-empty-but-used-interval.mir
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking-wave32.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies-order-of-phi-incomings.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd-gfx12.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd.mir
M llvm/test/CodeGen/AMDGPU/vopc_dpp.mir
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Fix implicit $vcc operands after parsing MIR (#87781)
MIParser checks that implicit operands match the instruction definition,
so they have to be $vcc even in wave32 mode. Use the mirFileLoaded hook
to fix them after MIParser's checks, converting them to $vcc_lo which is
what that rest of CodeGen expects.
This is all just extending the fixImplicitOperands hack which was
introduced with GFX10, but at least it makes it possible to write a MIR
test which creates the same instructions that normal CodeGen would
generate.
Commit: 9430a4b9d272b050869958d5f0e7ef9fd9db2643
https://github.com/llvm/llvm-project/commit/9430a4b9d272b050869958d5f0e7ef9fd9db2643
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Use getEdgeMask when constructing VPBlendRecipe (NFCI).
After 2d0d65b3babe, block-in and edge masks are create up-front. Only
retrieve the cached edge-mask here.
Commit: a4558a4a53eda8d170bbd2c358d383bb0a13f91f
https://github.com/llvm/llvm-project/commit/a4558a4a53eda8d170bbd2c358d383bb0a13f91f
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/test/CodeGen/PowerPC/rldimi.ll
Log Message:
-----------
[PowerPC] Implement 32-bit expansion for rldimi (#86783)
rldimi is 64-bit instruction, due to backward compatibility, it needs to
be expanded into series of rotate and masking in 32-bit environment. In
the future, we may improve bit permutation selector and remove such
direct codegen.
Commit: db080605124db107e4f58cd285941a0c498675b1
https://github.com/llvm/llvm-project/commit/db080605124db107e4f58cd285941a0c498675b1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.
Commit: 4ae33c52f794dbd64924dd006570cdc409c297bc
https://github.com/llvm/llvm-project/commit/4ae33c52f794dbd64924dd006570cdc409c297bc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
Fix MSVC "switch statement contains 'default' but no 'case' labels" warning. NFC.
Commit: 24e8c6a09b7d226dbe706aeae7aebf479a1e5087
https://github.com/llvm/llvm-project/commit/24e8c6a09b7d226dbe706aeae7aebf479a1e5087
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.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/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
Log Message:
-----------
[RISCV] Convert remaining constant splats in tests to use splat shorthand. NFC (#88099)
This follows on from #87616, but includes the tests with codegen
differences. These are presumably due to the fact that the splat is now
a constant expression. They don't seem to affect anything that we were
specifically testing for.
Commit: 45aec9a0b54e6d87abf75e960c96f59408edc706
https://github.com/llvm/llvm-project/commit/45aec9a0b54e6d87abf75e960c96f59408edc706
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[NFC] [Serialization] Remove redundant hasPendingBody member
The hasPendingBody member is redundant with the
PendingBodies.count(Decl*) method. This patch removes the redundant
hasPendingBody member and the corresponding InterestingDecl struct.
Commit: 0bbe953aa3289a32cd816647820c8676bb3a61bc
https://github.com/llvm/llvm-project/commit/0bbe953aa3289a32cd816647820c8676bb3a61bc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] Fold extract_subvector(cvtps2dq(x),c) -> cvtps2dq(extract_subvector(x,c))
Help unblock #83402
Commit: c83698367125703827f1b739393f006c399cb213
https://github.com/llvm/llvm-project/commit/c83698367125703827f1b739393f006c399cb213
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
A llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Remove unused first mask op from VPBlendRecipe. (#87770)
VPBlendRecipe does not use the first mask operand. Removing it allows
VPlan-based DCE to remove unused mask computations.
This also fixes #87410, where unused Not VPInstructions are considered
having only their first lane demanded, but some of their operands
providing a vector value due to other users.
Fixes https://github.com/llvm/llvm-project/issues/87410
PR: https://github.com/llvm/llvm-project/pull/87770
Commit: 321f8312b98620131ebb3b71fe15c0d6b2267488
https://github.com/llvm/llvm-project/commit/321f8312b98620131ebb3b71fe15c0d6b2267488
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
A clang/test/AST/Interp/weak.cpp
Log Message:
-----------
[clang][Interp] Diagnose comparisons with weak pointers
Commit: 5d7d6ad663f80fbc6161da1175476bb663301c46
https://github.com/llvm/llvm-project/commit/5d7d6ad663f80fbc6161da1175476bb663301c46
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/unittests/AST/Interp/CMakeLists.txt
A clang/unittests/AST/Interp/toAPValue.cpp
Log Message:
-----------
[clang][Interp] Add toAPValue unittests
Commit: 8795822f6ae2e82e23f7fd87a84d6d273e6c04ac
https://github.com/llvm/llvm-project/commit/8795822f6ae2e82e23f7fd87a84d6d273e6c04ac
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[NFC][LLVM][CodeGen] Refactor SVE unpredicated binop isel patterns. (#84045)
Create PatFrags for fadd, fmul, fsub, mul, smulh and umulh so that a
single set of patterns can be used. Patch then removes unused classes
and some redundant whitespace.
Commit: 040e0d4fa45f3606fb584c2923dd111cca675feb
https://github.com/llvm/llvm-project/commit/040e0d4fa45f3606fb584c2923dd111cca675feb
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/test/Parser/compiler-directives.f90
Log Message:
-----------
[flang]Accept directive inside type definition (#87804)
Some applications have alignment directives for members inside types.
This allows those to be present, but generally getting ignored [with a warning]
later on in the processing. This is just to allow the compilation to complete.
Commit: bf0b21aa685264c65a2d7fd4a8b86e3c42dfd729
https://github.com/llvm/llvm-project/commit/bf0b21aa685264c65a2d7fd4a8b86e3c42dfd729
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/unittests/Format/FormatTestTableGen.cpp
Log Message:
-----------
[clang-format] Remove trailing newlines in TableGen formatting test. (#87983)
Commit: 4023329bbfab5f2abc5c035aad05820724a484cf
https://github.com/llvm/llvm-project/commit/4023329bbfab5f2abc5c035aad05820724a484cf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] collectConcatOps - add ability to recurse through insert_subvector chains
Allows us to match insert_subvector(insert_subvector(undef, insert_subvector(insert_subvector(undef, x, 0), y, 1), 0), 0),
insert_subvector(insert_subvector(undef, z, 0), w, 1), 2)
Commit: 866a1bc814b4d4cb9aa3890eae56ffa05431741d
https://github.com/llvm/llvm-project/commit/866a1bc814b4d4cb9aa3890eae56ffa05431741d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
Log Message:
-----------
[X86] Add test coverage for #88030
Commit: 4657ab1c968e486e9f45329daa07340ebcf3bffd
https://github.com/llvm/llvm-project/commit/4657ab1c968e486e9f45329daa07340ebcf3bffd
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
Log Message:
-----------
[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function (#87541)
This patch fixes a crash that happens when '`this`' is referenced
(implicitly or explicitly) in a dependent class scope function template
specialization that instantiates to a static member function. For
example:
```
template<typename T>
struct A
{
template<typename U>
static void f();
template<>
void f<int>()
{
this; // causes crash during instantiation
}
};
template struct A<int>;
```
This happens because during instantiation of the function body,
`Sema::getCurrentThisType` will return a null `QualType` which we
rebuild the `CXXThisExpr` with. A similar problem exists for implicit
class member access expressions in such contexts (which shouldn't really
happen within templates anyways per [class.mfct.non.static]
p2, but changing that is non-trivial). This patch fixes the crash by building
`UnresolvedLookupExpr`s instead of `MemberExpr`s for these implicit
member accesses, which will then be correctly rebuilt as `MemberExpr`s
during instantiation.
Commit: 6528f103663af2f08474c16a1bb9ca0f1c2ad31d
https://github.com/llvm/llvm-project/commit/6528f103663af2f08474c16a1bb9ca0f1c2ad31d
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] Group clause operands into structures and use them to define simplified op builders (#86797)
This patch introduces a set of composable structures grouping the MLIR
operands associated to each OpenMP clause. This makes it easier to keep
the MLIR representation for the same clause consistent throughout all
operations that accept it.
The relevant clause operand structures are grouped into per-operation
structures using a mixin pattern and used to define new operation
constructors. These constructors can be used to avoid having to get the
order of a possibly large list of operands right.
Missing clauses are documented as TODOs, as well as operands which are
part of the relevant operation's operand structure but cannot be
attached to the associated operation yet, due to missing op arguments to
its MLIR definition.
A follow-up patch will update Flang lowering to make use of these
structures, simplifying the passing of information from clause
processing to operation-generating functions and also simplifying the
creation of operations through the use of the new operation
constructors.
Commit: a4cf479cdf08093b69177dd9adf32eebf3632dc3
https://github.com/llvm/llvm-project/commit/a4cf479cdf08093b69177dd9adf32eebf3632dc3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
Log Message:
-----------
[X86] shuffle-vs-trunc-128.ll - add BWVL-ONLY/VBMI/VBMI-FAST/VBMI-SLOW check prefixes to recover missing test checks
It is VERY annoying that update_llc_test_checks.py silently fails instead of correctly warning when this happens :(
Commit: 38824f285f1459cb890337d2df1a3cafd3fd109d
https://github.com/llvm/llvm-project/commit/38824f285f1459cb890337d2df1a3cafd3fd109d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
A clang/test/PCH/cxx23-deducing-this-lambda.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] [Sema] Fix dependence of DREs in lambdas with an explicit object parameter (#84473)
This fixes some problems wrt dependence of captures in lambdas with
an explicit object parameter.
[temp.dep.expr] states that
> An id-expression is type-dependent if [...] its terminal name is
> - associated by name lookup with an entity captured by copy
> ([expr.prim.lambda.capture]) in a lambda-expression that has
> an explicit object parameter whose type is dependent [dcl.fct].
There were several issues with our implementation of this:
1. we were treating by-reference captures as dependent rather than
by-value captures;
2. tree transform wasn't checking whether referring to such a
by-value capture should make a DRE dependent;
3. when checking whether a DRE refers to such a by-value capture, we
were only looking at the immediately enclosing lambda, and not
at any parent lambdas;
4. we also forgot to check for implicit by-value captures;
5. lastly, we were attempting to determine whether a lambda has an
explicit object parameter by checking the `LambdaScopeInfo`'s
`ExplicitObjectParameter`, but it seems that that simply wasn't
set (yet) by the time we got to the check.
All of these should be fixed now.
This fixes #70604, #79754, #84163, #84425, #86054, #86398, and #86399.
Commit: 961d91abd375100a498807a5a0da8003a2878284
https://github.com/llvm/llvm-project/commit/961d91abd375100a498807a5a0da8003a2878284
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
Log Message:
-----------
[X86] shuffle-vs-trunc-128.ll - add common AVX2 check prefix
Commit: 6f6336858e4588ebd113ebcc930f6384a4edca54
https://github.com/llvm/llvm-project/commit/6f6336858e4588ebd113ebcc930f6384a4edca54
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Add DebugNameTableKind to DICompileUnit (#87974)
Add the DebugNameTableKind field to DICompileUnit, along with its
importer & exporter.
Commit: 1e44d9ac5e9d1ff8baa99fd5495477f3f2f1abe6
https://github.com/llvm/llvm-project/commit/1e44d9ac5e9d1ff8baa99fd5495477f3f2f1abe6
Author: Natalie Chouinard <sudonatalie at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
Log Message:
-----------
[SPIR-V] Map llvm.{min,max}num to GL::N{Min,Max} (#88009)
SPIR-V intsruction selection was mapping the LLVM float min/max
intrinsics to FMin and FMax respectively for GL/Vulkan environments,
which does not match the intrinsics' documented treatment of NaN
operands. This patch switches the mapping to the correctly matched NMin
and NMax operations.
Fixes #87072
Commit: 0c92f8646a765174b68797ad3c0842215c77752f
https://github.com/llvm/llvm-project/commit/0c92f8646a765174b68797ad3c0842215c77752f
Author: Charalampos Mitrodimas <charmitro at posteo.net>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaTemplate/instantiate-pure-virtual-function.cpp
Log Message:
-----------
[clang] Disable missing definition warning on pure virtual functions (#74510)
Warning '-Wundefined-func-template' incorrectly indicates that no
definition is available for a pure virtual function. However, a
definition is not needed for a pure virtual function.
Fixes #74016
Commit: d022f6b8ff94bb13d12d39f23a3c3e7836e90756
https://github.com/llvm/llvm-project/commit/d022f6b8ff94bb13d12d39f23a3c3e7836e90756
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/Headers/Inputs/include/stdint.h
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[Libomp] Place generated OpenMP headers into build resource directory (#88007)
Summary:
These headers are a part of the compiler's resource directory once
installed. However, they are currently placed in the binary directory
temporarily. This makes it more difficult to use the compiler out of the
build directory and will cause issues when moving to `liboffload`. This
patch changes the logic to write these instead to the copmiler's
resource directory inside of the build tree.
NOTE: This doesn't change the Fortran headers, I don't know enough about
those and it won't use the same directory.
Commit: 2875e2448c147d8a2335882819acdd4c8eb97ea6
https://github.com/llvm/llvm-project/commit/2875e2448c147d8a2335882819acdd4c8eb97ea6
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/www/cxx_status.html
Log Message:
-----------
Update __cpp_concepts macro (#87998)
After discussion with a few others, and seeing the state of our concepts
support, I believe it is worth trying to see if we can update this for
Clang19. The forcing function is that libstdc++'s `<expected>` header is
guarded by this macro, so we need to update it to support that.
Commit: 3f71d29e2370912ccc0384adce640c554561edd2
https://github.com/llvm/llvm-project/commit/3f71d29e2370912ccc0384adce640c554561edd2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/ms.cpp
Log Message:
-----------
[clang][Interp] Handle __unaligned in alignof expressions
Commit: 23b058cb7f2da7778eb66dbe44d5e60390264e4b
https://github.com/llvm/llvm-project/commit/23b058cb7f2da7778eb66dbe44d5e60390264e4b
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
A llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
Log Message:
-----------
[SPIR-V] Re-implement switch and improve validation of forward calls (#87823)
This PR fixes issue https://github.com/llvm/llvm-project/issues/87763
and preserves valid CFG in cases when previous scheme failed to generate
valid code for a switch statement. The PR hardens one existing test case
and adds one more test case as a validation of a new switch generation.
Tests are passing spirv-val now.
This PR also improves validation of forward calls.
Commit: e47fd09f8eece712707f9611992cf6cfcd66605e
https://github.com/llvm/llvm-project/commit/e47fd09f8eece712707f9611992cf6cfcd66605e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
Log Message:
-----------
[RISCV] Use shNadd for scalable stack offsets (#88062)
If we need to multiply VLENB by 2, 4, or 8 and add it to the stack
pointer, we can do so with a shNadd instead of separate shift and add
instructions.
Commit: 5278594d7ef8c6814578f2f600016fef5ad058c9
https://github.com/llvm/llvm-project/commit/5278594d7ef8c6814578f2f600016fef5ad058c9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Misc/warning-flags.c
A clang/test/Sema/tentative-array-decl.c
Log Message:
-----------
Add a diagnostic group for tentative array definitions
This diagnostic is one of the ones that GCC also does not have a
warning group for, but a user requested adding a group to control
selectively turning off this diagnostic. So this adds the diagnostic
to a new group, -Wtentative-definition-array
Fixes #87766
Commit: 3bfd5c64240c1a812c596dd2bcd480b7607155de
https://github.com/llvm/llvm-project/commit/3bfd5c64240c1a812c596dd2bcd480b7607155de
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
Log Message:
-----------
[TTI] getCommonMaskedMemoryOpCost - consistently use getScalarizationOverhead instead of ExtractElement costs for address/mask extraction. (#87771)
These aren't unknown extraction indices, we will be extracting every address/mask element in sequence.
Commit: c8917048e3aa2be03b6588b817730abdbce23c85
https://github.com/llvm/llvm-project/commit/c8917048e3aa2be03b6588b817730abdbce23c85
Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/__functional/bind_back.h
M libcxx/include/functional
M libcxx/include/version
M libcxx/modules/std/functional.inc
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/types.h
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement `bind_back` (#81055)
Implement `std::bind_back` function from P2387R3 "Pipe support for
user-defined range adaptors".
Commit: fb8dbd1fb67ef4d1417f279df7f9a99b29468527
https://github.com/llvm/llvm-project/commit/fb8dbd1fb67ef4d1417f279df7f9a99b29468527
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
M llvm/test/CodeGen/AArch64/spillfill-sve.mir
M llvm/test/MC/AArch64/SVE/pfalse-diagnostics.s
Log Message:
-----------
[AArch64] Remove copy in SVE/SME predicate spill and fill (#81716)
7dc20ab introduced an extra COPY when spilling and filling a PNR
register, which can't be elided as the input (PNR predicate) and output
(PPR predicate) register classes differ. The patch adds a new register
class that covers both PPR and PNR so that STR_PXI and LDR_PXI can
take either of them, removing the need for the copy.
Commit: 93f0880869419ffa3c7bb66b178f2453ea9d2bed
https://github.com/llvm/llvm-project/commit/93f0880869419ffa3c7bb66b178f2453ea9d2bed
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel][clang] Remove gen-clang-*-left-list attributes from tablegen
For both 9391ff8c86007562d40c240ea082b7c0cbf35947 and a30662fc2acdd73ca1a9217716299a4676999fb4.
Commit: 568ec1340c1260c36a490d10c38366ed00f63209
https://github.com/llvm/llvm-project/commit/568ec1340c1260c36a490d10c38366ed00f63209
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
Log Message:
-----------
[memprof] Use structured binding (NFC) (#88096)
Commit: e280407a4865542c4bb6cfa148edbe1ea67023d6
https://github.com/llvm/llvm-project/commit/e280407a4865542c4bb6cfa148edbe1ea67023d6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__expected/bad_expected_access.h
A libcxx/test/std/utilities/expected/expected.bad/base.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/void-specialization.pass.cpp
R libcxx/test/std/utilities/expected/expected.bad/what.noexcept.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/what.pass.cpp
Log Message:
-----------
[libc++] Add test coverage for our implementation of LWG4031 (#87508)
This was actually already implemented in the initial version of
std::expected, but this patch adds test coverage and makes it more
explicit that we intend to make these functions noexcept.
Commit: 4ac2721e51131b3a160fee5ae0fcbd695d090e86
https://github.com/llvm/llvm-project/commit/4ac2721e51131b3a160fee5ae0fcbd695d090e86
Author: David Green <david.green at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
Log Message:
-----------
[AArch64] Add costs for ST3 and ST4 instructions, modelled as store(shuffle). (#87934)
This tries to add some costs for the shuffle in a ST3/ST4 instruction,
which are represented in LLVM IR as store(interleaving shuffle). In
order to detect the store, it needs to add a CxtI context instruction to
check the users of the shuffle. LD3 and LD4 are added, LD2 should be a
zip1 shuffle, which will be added in another patch.
It should help fix some of the regressions from #87510.
Commit: e8e67957fa48fd7611adccef1a0449b83649c9f4
https://github.com/llvm/llvm-project/commit/e8e67957fa48fd7611adccef1a0449b83649c9f4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-vecop-vectorized.ll
Log Message:
-----------
[SLP]Fix PR88123: use vectorized operands consistently.
Need to use vectorized operands, not the vecop of the extractelement
instructions, to avoid false detection of the extra vector operand in
the extractelements shuffling.
Commit: 8a8ab8f70cbb5507d1aa55efcd9c6e61ad4e891c
https://github.com/llvm/llvm-project/commit/8a8ab8f70cbb5507d1aa55efcd9c6e61ad4e891c
Author: Schuyler Eldridge <schuyler.eldridge at sifive.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M .github/workflows/release-lit.yml
Log Message:
-----------
[lit][ci] Publish lit wheels (#88072)
Add wheel publishing in addition to existing source distribution
publishing of lit.
Fixes #63369. This also uses the exact fix proposed by @EFord36 in
#63369.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge at sifive.com>
Commit: 4bb5d48584818646a31a1ba4bfbbd658b7dfbe67
https://github.com/llvm/llvm-project/commit/4bb5d48584818646a31a1ba4bfbbd658b7dfbe67
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/Driver/cuda-external-tools.cu
Log Message:
-----------
[clang][NFC] Fix CUDA clang-cl tests
- Add '--' argument to prevent interpreting intput files as options
starting with '/'. Fix test failure after
2921a0928c71f4ee652a2478283e47ab5ffebf58.
Commit: 614a5780347ff0c8f82b8867660ea7fb4d9fdccb
https://github.com/llvm/llvm-project/commit/614a5780347ff0c8f82b8867660ea7fb4d9fdccb
Author: Peter Lafreniere <peter at n8pjl.ca>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrArithmetic.td
A llvm/test/CodeGen/M68k/Arith/unary.ll
M llvm/test/CodeGen/M68k/Atomics/rmw.ll
M llvm/test/MC/Disassembler/M68k/arithmetic.txt
A llvm/test/MC/M68k/Arith/Classes/MxNOT.s
Log Message:
-----------
[M68k] Add support for bitwise NOT instruction (#88049)
Currently the bitwise NOT instruction is not recognized. Add support for
using NOT on data registers. This is a partial implementation that puts
NOT at the same level of support as NEG currently enjoys.
Using not rather than eori cuts the length of the encoded instruction
in half or in thirds, leading to a reduction of 4-10 cycles per
instruction, on the original 68000.
This change includes tests for both bitwise and arithmetic negation.
Commit: 71ffc1f0ea1c64d475d9248ea7c68dfec16ee1ab
https://github.com/llvm/llvm-project/commit/71ffc1f0ea1c64d475d9248ea7c68dfec16ee1ab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FmaTest.h
Log Message:
-----------
[libc] Initialize rand for fma tests (#88055)
Summary:
The GPU build will have some random garbage here since we do not support
initializers for the underlying implementation. Manually set the seed to
1.
Commit: f0e79d9152b04845e60fc97ca6a4e7760202afbb
https://github.com/llvm/llvm-project/commit/f0e79d9152b04845e60fc97ca6a4e7760202afbb
Author: David Green <david.green at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Log Message:
-----------
[AArch64] Add a cost for identity shuffles.
These are mostly handled at a higher level when costing shuffles, but some
masks can end up being identity or concat masks which we can treat as free.
Commit: 3009228a09dbfe04e0911fc19813ec72d389bc45
https://github.com/llvm/llvm-project/commit/3009228a09dbfe04e0911fc19813ec72d389bc45
Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
Log Message:
-----------
[clang][UBSan] Remove rigid metadata checks for `ubsan-bitfield-conversion` (#88116)
Follow-up to discussion: https://github.com/llvm/llvm-project/pull/87761
As discussed after landing the original PR:
Since fails could happen w.r.t. checking `!6`, these checks should be
removed.
Commit: 5601e35f620eccdebab988bed4b9677b29366b79
https://github.com/llvm/llvm-project/commit/5601e35f620eccdebab988bed4b9677b29366b79
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/memprof/tests/CMakeLists.txt
Log Message:
-----------
[memprof] Use COMPILER_RT_TEST_COMPILER
Unlike the other compiler-rt unit tests MemProf was not using the
`generate_compiler_rt_tests()` helper that ensures the test is compiled
using the test compiler (generally the Clang binary built earlier).
This was exposed by https://github.com/llvm/llvm-project/pull/83088
because it started adding Clang-specific flags to
COMPILER_RT_UNITTEST_CFLAGS if the compiler ID matched "Clang".
This change should fix the buildbots that compile compiler-rt using
a GCC compiler with LLVM_ENABLE_PROJECTS=compiler-rt.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/88074
Commit: 528943f1535b925ce175afb2438cec79513cfc2b
https://github.com/llvm/llvm-project/commit/528943f1535b925ce175afb2438cec79513cfc2b
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
A llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
Log Message:
-----------
[AArch64][SME] Allow memory operations lowering to custom SME functions. (#79263)
This change allows to lower memcpy, memset, memmove to custom SME
version provided by LibRT.
Commit: bab0507ff2679d2bbfa34921eeed4ff1cadbe7e2
https://github.com/llvm/llvm-project/commit/bab0507ff2679d2bbfa34921eeed4ff1cadbe7e2
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
[scudo] Add EnableContiguousRegions mode (#85149)
This releases the requirement that we need to preserve the memory for
all regions at the beginning. It needs a huge amount of contiguous pages
and which may be a challenge in certain cases. Therefore, adding a new
flag, EnableContiguousRegions, to indicate whether we want to allocate
all the regions next to each other.
Note that once the EnableContiguousRegions is disabled,
EnableRandomOffset becomes irrelevant because the base of each region is
already random.
Commit: b1a278dd874d6135780fc824c6aa263c52d7aadd
https://github.com/llvm/llvm-project/commit/b1a278dd874d6135780fc824c6aa263c52d7aadd
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Allocatable.cpp
Log Message:
-----------
[flang][cuda] Add a proper TODO for allocate statement for cuda var (#88034)
Allocate statement for variable with CUDA attributes need to allocate
memory on the device and not the host. Add a proper TODO so we keep
track of work to be done for it.
Commit: 9e418c94cd1393408d201f215be8631d1f41e857
https://github.com/llvm/llvm-project/commit/9e418c94cd1393408d201f215be8631d1f41e857
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[ADT] Use `adl_*` wrappers across STLExtras (#87936)
Update the remaining uses of `std::begin`/`end` functions to
`adl_beging`/`end`. This is to make the behavior all the utility
functions consistent, rather than trying to fix a specific usecase.
Commit: 49561181bdc8698aa28ee2a46d2faa4cf6767bbe
https://github.com/llvm/llvm-project/commit/49561181bdc8698aa28ee2a46d2faa4cf6767bbe
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.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/generic/CMakeLists.txt
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/fesetexceptflag.cpp
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/RIntTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/utils/MPFRWrapper/MPFRUtils.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/__support/FPUtil/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc] Add proxy header for fenv.h macro constants. #87863 (#87896)
Hello, this addresses #87863.
Commit: 8d6469b0e02c4c7bd1d496972c63ed3e2de0e077
https://github.com/llvm/llvm-project/commit/8d6469b0e02c4c7bd1d496972c63ed3e2de0e077
Author: xiaoleis-nv <99947620+xiaoleis-nv at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.h
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.td
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
A mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
Log Message:
-----------
[mlir][vector] Add lower-vector-multi-reduction pass (#87333)
This MR adds the `lower-vector-multi-reduction` pass to lower the
vector.multi_reduction operation.
While the Transform Dialect includes an operation,
`transform.apply_patterns.vector.lower_multi_reduction`, intended for a
similar purpose, its utility is limited to projects that have adopted
the Transform Dialect. Recognizing that not all projects are equipped to
integrate this dialect, the proposed pass serves as a vital standalone
alternative. It ensures that projects solely dependent on the
traditional pass infrastructure can also benefit from the optimized
lowering of `multi_reduction` operation.
---------
Co-authored-by: Xiaolei Shi <xiaoleis at nvidia.com>
Commit: 1381645ab675d1edcc0eaa0b72729b9f3f02a82d
https://github.com/llvm/llvm-project/commit/1381645ab675d1edcc0eaa0b72729b9f3f02a82d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
Log Message:
-----------
[libc++][format] adds a basic fuzzer test. (#87883)
This adds an initial fuzzer. Different formatting arguments will execute
different code paths. This will be tested by different fuzzer tests.
The code is based on a sample provided by Louis.
Commit: eea3bd3954e3a38ae0997f1af558b9deea301c3a
https://github.com/llvm/llvm-project/commit/eea3bd3954e3a38ae0997f1af558b9deea301c3a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/src/tzdb.cpp
Log Message:
-----------
[libc++][TZDB] Fixes relative path resolving. (#87882)
The path /etc/localtime is a symlink. This symlink can be a relative
path. This fixes resolving a relative symlink.
Since the path used is hard-coded based on the user's system there is no
good way to test this.
Fixes: https://github.com/llvm/llvm-project/issues/87872
Commit: cf6feff56b06b9110095ba6e20c609c9d1dfcfd3
https://github.com/llvm/llvm-project/commit/cf6feff56b06b9110095ba6e20c609c9d1dfcfd3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/src/random.cpp
Log Message:
-----------
[libc++] Avoids using ENODATA. (#86165)
This macro is deprecated in C++26.
Fixes https://github.com/llvm/llvm-project/issues/81360
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 59e66c515a475bc53db011f3ccca0d2831314443
https://github.com/llvm/llvm-project/commit/59e66c515a475bc53db011f3ccca0d2831314443
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__format/escaped_output_table.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
M libcxx/utils/CMakeLists.txt
M libcxx/utils/data/unicode/DerivedCoreProperties.txt
M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
M libcxx/utils/data/unicode/EastAsianWidth.txt
M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
M libcxx/utils/data/unicode/GraphemeBreakTest.txt
M libcxx/utils/data/unicode/emoji-data.txt
M libcxx/utils/generate_extended_grapheme_cluster_table.py
A libcxx/utils/generate_indic_conjunct_break_table.py
Log Message:
-----------
[libc++][format] Switches to Unicode 15.1. (#86543)
In addition to changes in the tables the extended grapheme clustering
algorithm has been overhauled. Before I considered a separate state
machine to implement the rules. With the new rule GB9c this became more
attractive and the design has changed.
This change initially had quite an impact on the performance. By making
the state machine persistent the performance was improved greatly. Note
it is still slower than before due to the larger Unicode tables.
Before
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1891 ns 1889 ns 369504
BM_unicode_text<char> 106642 ns 106397 ns 6576
BM_cyrillic_text<char> 73420 ns 73277 ns 9445
BM_japanese_text<char> 62485 ns 62387 ns 11153
BM_emoji_text<char> 1895 ns 1893 ns 369525
BM_ascii_text<wchar_t> 2015 ns 2013 ns 346887
BM_unicode_text<wchar_t> 92119 ns 92017 ns 7598
BM_cyrillic_text<wchar_t> 62637 ns 62568 ns 11117
BM_japanese_text<wchar_t> 53850 ns 53785 ns 12803
BM_emoji_text<wchar_t> 2016 ns 2014 ns 347325
After
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1906 ns 1904 ns 369409
BM_unicode_text<char> 265462 ns 265175 ns 2628
BM_cyrillic_text<char> 181063 ns 180865 ns 3871
BM_japanese_text<char> 130927 ns 130789 ns 5324
BM_emoji_text<char> 1892 ns 1890 ns 370537
BM_ascii_text<wchar_t> 2038 ns 2035 ns 343689
BM_unicode_text<wchar_t> 277603 ns 277282 ns 2526
BM_cyrillic_text<wchar_t> 188558 ns 188339 ns 3727
BM_japanese_text<wchar_t> 133084 ns 132943 ns 5262
BM_emoji_text<wchar_t> 2012 ns 2010 ns 348015
Persistent
--------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------
BM_ascii_text<char> 1904 ns 1899 ns 367472
BM_unicode_text<char> 133609 ns 133287 ns 5246
BM_cyrillic_text<char> 90185 ns 89941 ns 7796
BM_japanese_text<char> 75137 ns 74946 ns 9316
BM_emoji_text<char> 1906 ns 1901 ns 368081
BM_ascii_text<wchar_t> 2703 ns 2696 ns 259153
BM_unicode_text<wchar_t> 131497 ns 131168 ns 5341
BM_cyrillic_text<wchar_t> 87071 ns 86840 ns 8076
BM_japanese_text<wchar_t> 72279 ns 72099 ns 9682
BM_emoji_text<wchar_t> 2021 ns 2016 ns 346767
Commit: ca705681dff4d7b28fad84b8e6846e0463a8860d
https://github.com/llvm/llvm-project/commit/ca705681dff4d7b28fad84b8e6846e0463a8860d
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
Revert "[ADT] Use `adl_*` wrappers across STLExtras" (#88158)
Reverts llvm/llvm-project#87936
Seems like this broke some clang designated initializers tests,
reverting.
Commit: 60c5c4ccadfb333335649103a71dbddc953f4ff3
https://github.com/llvm/llvm-project/commit/60c5c4ccadfb333335649103a71dbddc953f4ff3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[MLIR] Don't check for key before inserting in map in GreedyPatternRewriteDriver worklist (NFC) (#88148)
This is a common anti-pattern (any volunteer for a clang-tidy check?).
This does not show real word significant impact though.
Commit: 4dfc55f7e77821c87d35e1e888fecb8cfb854f7e
https://github.com/llvm/llvm-project/commit/4dfc55f7e77821c87d35e1e888fecb8cfb854f7e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
Log Message:
-----------
[SLP][NFC]Add a test for PR88103, where zext is incoming to signed comparison.
Commit: 910d2de357de8a490cac3ecbd27196356fe1f2a3
https://github.com/llvm/llvm-project/commit/910d2de357de8a490cac3ecbd27196356fe1f2a3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
Log Message:
-----------
[SLP]Fix PR88103: consider the sign of the compare for non-negative operands.
Need to improve detection of number of bits, required for the operand,
before doing a reduction. If the instruction is incoming operand of the
signed compare, need to consider adding an extra bit for signedness.
Commit: f48895a8be517be058153385438ad64fa09d4883
https://github.com/llvm/llvm-project/commit/f48895a8be517be058153385438ad64fa09d4883
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
A clang/test/C/C11/n1514.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Claim conformance to WG14 N1514
This paper made Annex G a normative, but conditionally supported,
annex. Clang does not implement Annex G, so we conform to this paper.
Commit: a454d92c5ac906d391b683661ac3d9a362ab0107
https://github.com/llvm/llvm-project/commit/a454d92c5ac906d391b683661ac3d9a362ab0107
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
Log Message:
-----------
[mlir][sparse] rename files and unifies APIs (#88162)
Commit: d3016aa889ac12fd8a047d68fed2ddaca107b990
https://github.com/llvm/llvm-project/commit/d3016aa889ac12fd8a047d68fed2ddaca107b990
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[DWARF] Refactor .debug_names bucket count computation (#88087)
`getDebugNamesBucketAndHashCount` lures users to provide an array to
compute the bucket count using an O(n log n) sort. This is inefficient
as hash table based uniquifying is faster.
The performance issue matters less for Clang as the number of names is
relatively small. For `ld.lld --debug-names`, I plan to compute the
unique hash count as a side product of parallel entry pool computation,
and I just need a function to suggest a bucket count.
Commit: 5d9d740c39a6cf21f0d54ec572aed3c2f556cbcb
https://github.com/llvm/llvm-project/commit/5d9d740c39a6cf21f0d54ec572aed3c2f556cbcb
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
R llvm/include/llvm/Analysis/Interval.h
R llvm/include/llvm/Analysis/IntervalIterator.h
R llvm/include/llvm/Analysis/IntervalPartition.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/Interval.cpp
R llvm/lib/Analysis/IntervalPartition.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Log Message:
-----------
Remove the unused IntervalPartition analysis pass (#88133)
This removes the old legacy PM "intervals" analysis pass (aka
IntervalPartition). It also removes the associated Interval and
IntervalIterator help classes.
Reasons for removal:
1) The pass is not used by llvm-project (not even being tested by
any regression tests).
2) Pass has not been ported to new pass manager, which at least
indicates that it isn't used by the middle-end.
3) ASan reports heap-use-after-free on
++I; // After the first one...
even if false is passed to intervals_begin. Not sure if that is
a false positive, but it makes the code a bit less trustworthy.
Commit: 759bab068157d93a71ef20dc28a2eaed4fec6d40
https://github.com/llvm/llvm-project/commit/759bab068157d93a71ef20dc28a2eaed4fec6d40
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp eq/ne (add nuw x, y), 0)`; NFC
Commit: 7599d478efb1576b5013d17a70971f76d6f7c25a
https://github.com/llvm/llvm-project/commit/7599d478efb1576b5013d17a70971f76d6f7c25a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine] Fold `(icmp eq/ne (add nuw x, y), 0)` -> `(icmp eq/ne (or x, y), 0)`
`(icmp eq/ne (or x, y), 0)` is probably easier to analyze than `(icmp
eq/ne x, -y)`
Proof: https://alive2.llvm.org/ce/z/2-VTb6
Closes #88088
Commit: e248f0df14e407b8ae98cd31fb2e77fc058f3c7e
https://github.com/llvm/llvm-project/commit/e248f0df14e407b8ae98cd31fb2e77fc058f3c7e
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[Flang] Update Extensions.md for supported BIND(C) LOGICAL kind. (#88159)
Flang also supports non-scalar logical dummy argument with a different
KIND from C_BOOL to a bind(c) routine as well as a component in a
bind(c) derived type. Update the document.
```
subroutine sub(arg)
logical(4) :: arg(4)
end
```
```
type dt
logical(4) :: comp
end type
end
```
Commit: 9797a7ea6bf84b48f267c781be209951d62bc6c9
https://github.com/llvm/llvm-project/commit/9797a7ea6bf84b48f267c781be209951d62bc6c9
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DWARF] Refactor findDebugNamesOffsets
Address some post-review comments in #82153 and move the function inside
llvm::dwarf, used by certain free functions.
Pull Request: https://github.com/llvm/llvm-project/pull/88064
Commit: 9d9560facb5597e0232ab15716a7915a33d4f0a6
https://github.com/llvm/llvm-project/commit/9d9560facb5597e0232ab15716a7915a33d4f0a6
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang] [OpenMP] [Semantics] [MLIR] [Lowering] Add lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses on OMP TARGET directive. (#74187)
Added lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses for
OMP TARGET directive and added related tests for these changes.
IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses apply to OMP TARGET directive
OpenMP spec states
`The **is_device_ptr** clause indicates that its list items are device
pointers.`
`The **has_device_addr** clause indicates that its list items already
have device addresses and therefore they may be directly accessed from a
target device.`
Whereas USE_DEVICE_PTR and USE_DEVICE_ADDR clauses apply to OMP TARGET
DATA directive and OpenMP spec for them states
`Each list item in the **use_device_ptr** clause results in a new list
item that is a device pointer that refers to a device address`
`Each list item in a **use_device_addr** clause that is present in the
device data environment is treated as if it is implicitly mapped by a
map clause on the construct with a map-type of alloc`
Commit: aacb8985f734e7e11fc94947f7bc348d1d39f7af
https://github.com/llvm/llvm-project/commit/aacb8985f734e7e11fc94947f7bc348d1d39f7af
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[orc] Reduce memory usage from empty materialization info DenseMaps (#88167)
Saves several MB of memory in larger applications after linking finishes
by clearing DenseMap storage that is empty. This does not attempt to
shrink partially full materialization infos. The assumption is that
adding more after linking finishes is rare.
rdar://126145336
Commit: 4bc4c7baed1a4ef13a0964fbf97f4dc1560de592
https://github.com/llvm/llvm-project/commit/4bc4c7baed1a4ef13a0964fbf97f4dc1560de592
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
Log Message:
-----------
[NFC] Change name of two helper functions to match naming conventions
Brought up in #88135, I inadvertently mis-named these functions, so
correcting them here.
Commit: 63934821d56f4d366f61048ed6060978bbde1bc6
https://github.com/llvm/llvm-project/commit/63934821d56f4d366f61048ed6060978bbde1bc6
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/tools/scan-build/libexec/ccc-analyzer
Log Message:
-----------
[Static Analyzer] Add handling of the `-nostdlibinc` option to ccc-analyzer (#88017)
Compiler options recognizable to ccc-analyzer are stored in maps. An
option missing in the map will be dropped by ccc-analyzer. This causes a
build error in one of our projects that only happens in scan-build but
not regular build, because ccc-analyzer do not recognize `-nostdlibinc`.
This commit adds the option to the map.
rdar://126082053
Commit: fe5dba3c08e31db6b96119787b0836f180aac584
https://github.com/llvm/llvm-project/commit/fe5dba3c08e31db6b96119787b0836f180aac584
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing fenv dep for aarch64
For 49561181bdc8698aa28ee2a46d2faa4cf6767bbe.
Commit: 4ae8694cca1b19425ac8707eacc6959ca9770802
https://github.com/llvm/llvm-project/commit/4ae8694cca1b19425ac8707eacc6959ca9770802
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2024-04-09 (Tue, 09 Apr 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 build: Manually port a30662fc2acd
Commit: 2248164a9ab791a3ed1b9586dc340b5303155021
https://github.com/llvm/llvm-project/commit/2248164a9ab791a3ed1b9586dc340b5303155021
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
R clang/test/ClangScanDeps/modules-extension.c
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
Log Message:
-----------
Revert "[clang] Move state out of `PreprocessorOptions` (1/n) (#86358)"
This reverts commit 407a2f23 which stopped propagating the callback to module compiles, effectively disabling dependency directive scanning for all modular dependencies. Also added a regression test.
Commit: a8ec1eb843c9c999d1c55b7b34cabebeacc533d7
https://github.com/llvm/llvm-project/commit/a8ec1eb843c9c999d1c55b7b34cabebeacc533d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
Log Message:
-----------
[VPlan] Dont assign slots to VPValues with an underlying value.
This makes sure the numbering for VPValues without underlying
values is consecutive.
Commit: e953c862e9b082e16ac3306c36dc8fdfc5f03ee3
https://github.com/llvm/llvm-project/commit/e953c862e9b082e16ac3306c36dc8fdfc5f03ee3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Add UNIFIED data attribute (#88171)
Latest version of the specification introduced the `UNIFIED` attribute
for data.
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/#cfref-var-attr-unified-data
This patch adds the attribute to parsing, semantic and lowering.
The matching rules for dummy/actual arguments is not part of this patch.
Commit: 5b58eb68ed36717971970f35a1192213e3eb4ec5
https://github.com/llvm/llvm-project/commit/5b58eb68ed36717971970f35a1192213e3eb4ec5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-or.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp eq/ne (or disjoint x, C0), C1)`; NFC
Commit: 71ef04d7cd6c0d6133ab11ca4cfceefe506a1acb
https://github.com/llvm/llvm-project/commit/71ef04d7cd6c0d6133ab11ca4cfceefe506a1acb
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-or.ll
Log Message:
-----------
[InstCombine] fold `(icmp eq/ne (or disjoint x, C0), C1)` -> `(icmp eq/ne x, C0^C1)`
Proof: https://alive2.llvm.org/ce/z/m3xoo_
Closes #87734
Commit: 470aefb240dee7d791875284b9917bf641ca971a
https://github.com/llvm/llvm-project/commit/470aefb240dee7d791875284b9917bf641ca971a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
Log Message:
-----------
[Offload][NFC] Remove `omp_` prefix from offloading entries (#88071)
Summary:
These entires are generic for offloading with the new driver now. Having
the `omp` prefix was a historical artifact and is confusing when used
for CUDA. This patch just renames them for now, future patches will
rework the binary format to make it more common.
Commit: b79db396599f42d106b930d61e20c9d5146a6866
https://github.com/llvm/llvm-project/commit/b79db396599f42d106b930d61e20c9d5146a6866
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[mlir][linalg] Support `ParamType` in `vector_sizes` option of `VectorizeOp` transform (#87557)
Commit: b561fd37266753c645f073b7fabf7a75cf65d2ec
https://github.com/llvm/llvm-project/commit/b561fd37266753c645f073b7fabf7a75cf65d2ec
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/docs/Benchmarking.rst
Log Message:
-----------
[docs] Fix broken link in Benchmarking docs (#88117)
Fixes #58813
Commit: a332cfc986e431de11cdbf632b5769878e0d826b
https://github.com/llvm/llvm-project/commit/a332cfc986e431de11cdbf632b5769878e0d826b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/overlapping-contexts.ll
Log Message:
-----------
[MemProf] Perform cloning for each allocation separately (#87112)
Restructures the cloning slightly to perform all cloning for each
allocation separately. The prior algorithm would sometimes miss cloning
opportunities in cases where trimmed cold contexts partially overlapped
with longer contexts for different allocations.
Most of the change is isolated to the helpers that move edges to new or
existing clones, which now support moving a subset of context ids.
Commit: 4afcfd7498363e42c002ee33a6e925c2d2c7b45e
https://github.com/llvm/llvm-project/commit/4afcfd7498363e42c002ee33a6e925c2d2c7b45e
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M lld/ELF/DWARF.h
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Sort DWARF.h sections. NFC
to make it clear whether .debug_names should be added.
And include llvm/ADT/STLFunctionalExtras.h for IWYU.
Commit: eec41d2f8d81b546d7b97648cca6b2d656104bd3
https://github.com/llvm/llvm-project/commit/eec41d2f8d81b546d7b97648cca6b2d656104bd3
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
Revert "[Flang] [OpenMP] [Semantics] [MLIR] [Lowering] Add lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses on OMP TARGET directive." (#88198)
Reverts llvm/llvm-project#74187
Commit: f04452de1986e4e01296a80231efb212d6c84c42
https://github.com/llvm/llvm-project/commit/f04452de1986e4e01296a80231efb212d6c84c42
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
Log Message:
-----------
[InstallAPI] Tie lifetime of FE objects to DylibVerifier (#88189)
A few verification checks need to happen until all AST's have been
traversed, specifically for zippered framework checking. To keep source
location until that time valid, hold onto to references of
FrontendRecords + SourceManager.
Commit: 4a04fca9e2f936264bccba58081893c6703de7ec
https://github.com/llvm/llvm-project/commit/4a04fca9e2f936264bccba58081893c6703de7ec
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M compiler-rt/lib/asan/asan_thread.cpp
Log Message:
-----------
[compiler-rt][asan] Fix for flaky asan check (#88177)
This fixes https://github.com/llvm/llvm-project/issues/87324.
We haven't been able to come up with a minimal reproducer but we can
reliabely avoid this failure with the following fix. Prior to the
GetGlobalLowLevelAllocator change, the old LowLevelAllocator aquired a
lock associated with it preventing that specific allocator from being
accessed at the same time by many threads. With the
GetGlobalLowLevelAllocator change, I had accidentally replaced it but
not taken into account the lock, so we can have a data race if the
allocator is used at any point while a thread is being created. The
global allocator can be used for flag parsing or registering asan
globals.
Commit: 788be0d9fc6aeca548c90bac5ebe6990dd3c66ec
https://github.com/llvm/llvm-project/commit/788be0d9fc6aeca548c90bac5ebe6990dd3c66ec
Author: Brooks Davis <brooks at one-eyed-alien.net>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/fold-implementation.h
Log Message:
-----------
[flang] fix build on *BSD after 4762c6557d15 (#86204)
The HUGE definition collides with the HUGE macro from math.h. Unlike the
fix in 3149c934cb26 (#84478) (largely reverted in f95710c76519), add
another #undef HUGE since there is no practical way to make FreeBSD's
headers not define HUGE and still define XSI interfaces such as isascii
or strnlen.
Update comments above `#undef HUGE` instances to reflect the fact that
all major BSD versions (I checked DragonFly, FreeBSD, NetBSD, and
OpenBSD) leak the HUGE macro from math.h to various degrees.
Fixes #86038
Commit: 9170e3857521324c096240bf38877e0ffe1a402e
https://github.com/llvm/llvm-project/commit/9170e3857521324c096240bf38877e0ffe1a402e
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-09 (Tue, 09 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Operator.cpp
M llvm/test/Assembler/flags.ll
M llvm/test/Bitcode/flags.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
Log Message:
-----------
Add support for `nneg` flag with `uitofp`
As noted when #82404 was pushed (canonicalizing `sitofp` -> `uitofp`),
different signedness on fp casts can have dramatic performance
implications on different backends.
So, it makes to create a reliable means for the backend to pick its
cast signedness if either are correct.
Further, this allows us to start canonicalizing `sitofp`- > `uitofp`
which may easy middle end analysis.
Closes #86141
Commit: b4f0b3c89ddd77e1aa0c18c3b0e29cbb1de7a695
https://github.com/llvm/llvm-project/commit/b4f0b3c89ddd77e1aa0c18c3b0e29cbb1de7a695
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M .github/workflows/release-lit.yml
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/yaml-secondary-entry-discriminator.s
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/ignored-remove-result.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang/cmake/caches/Apple-stage2.cmake
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/JSONNodeDumper.h
A clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/InstallAPI/Context.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/Interp/Record.h
M clang/lib/AST/JSONNodeDumper.cpp
A clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
A clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/test/APINotes/retain-count-convention.m
M clang/test/APINotes/versioned.m
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/ms.cpp
A clang/test/AST/Interp/weak.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
A clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
A clang/test/C/C11/n1514.c
A clang/test/C/C99/n717.c
A clang/test/CXX/drs/dr392.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
A clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
A clang/test/CXX/drs/dr605.cpp
A clang/test/CXX/drs/dr650.cpp
A clang/test/CXX/drs/dr653.cpp
A clang/test/CXX/drs/dr658.cpp
A clang/test/CXX/drs/dr661.cpp
A clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/ClangScanDeps/Inputs/removed-args/cdb.json.template
R clang/test/ClangScanDeps/modules-extension.c
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/test/ClangScanDeps/removed-args.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
R clang/test/CodeGen/remote-traps.c
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
A clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
A clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/Driver/aarch64-fixed-x-register.c
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/cuda-external-tools.cu
M clang/test/Driver/fsanitize.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
A clang/test/Driver/version-build-config.test
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
M clang/test/Driver/zos-ld.c
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/ms-intrin.cpp
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h
A clang/test/InstallAPI/binary-attributes.test
M clang/test/InstallAPI/driver-invalid-options.test
M clang/test/InstallAPI/extra-exclude-headers.test
A clang/test/InstallAPI/forwarded-search-paths.test
A clang/test/InstallAPI/reexported-frameworks.test
A clang/test/InstallAPI/rpath.test
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/warning-flags.c
M clang/test/Modules/builtin-import.mm
M clang/test/Modules/import-textual-noguard.mm
M clang/test/Modules/import-textual.mm
A clang/test/Modules/multiple-import.m
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
A clang/test/OpenMP/thread_limit_amdgpu.c
A clang/test/PCH/cxx23-deducing-this-lambda.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Sema/tentative-array-decl.c
A clang/test/SemaCXX/PR86790.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-unused-but-set-variables-cpp.cpp
A clang/test/SemaHLSL/literal_suffixes.hlsl
A clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
A clang/test/SemaTemplate/alias-template-with-lambdas.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
A clang/test/SemaTemplate/instantiate-pure-virtual-function.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/tools/clang-installapi/CMakeLists.txt
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/scan-build/libexec/ccc-analyzer
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/Interp/CMakeLists.txt
A clang/unittests/AST/Interp/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/test/fuzzer/lit.cfg.py
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
M flang/CMakeLists.txt
A flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/docs/Extensions.md
M flang/docs/GettingStarted.md
A flang/docs/Real16MathSupport.md
M flang/docs/index.md
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Parser/parse-tree.h
A flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Decimal/big-radix-floating-point.h
M flang/lib/Decimal/binary-to-decimal.cpp
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-cuda.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/iso_fortran_env.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/edit-input.cpp
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/format.h
R flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/memory.cpp
M flang/runtime/namelist.cpp
M flang/runtime/tools.h
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/fopenmp.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Evaluate/folding32.f90
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/Intrinsics/maskl.f90
M flang/test/Lower/Intrinsics/maskr.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex.f90
A flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Parser/compiler-directives.f90
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf09.cuf
A flang/test/Semantics/cuf11.cuf
A flang/test/Semantics/intrinsics04.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/test/Semantics/resolve21.f90
M flang/test/Semantics/resolve29.f90
M flang/tools/f18/CMakeLists.txt
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/api.td
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/c23.rst
A libc/docs/ctype.rst
A libc/docs/fenv.rst
M libc/docs/index.rst
M libc/docs/math/index.rst
M libc/fuzzing/__support/CMakeLists.txt
M libc/fuzzing/__support/uint_fuzz.cpp
M libc/fuzzing/math/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
M libc/fuzzing/stdlib/CMakeLists.txt
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
A libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.h
A libc/hdr/math_macros.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/math-macros.h
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
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/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
R libc/src/__support/UInt.h
R libc/src/__support/UInt128.h
A libc/src/__support/big_int.h
M libc/src/__support/float_to_string.h
M libc/src/__support/hash.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
A libc/src/__support/uint128.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/feholdexcept.cpp
A libc/src/fenv/fesetexcept.cpp
A libc/src/fenv/fesetexcept.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log_range_reduction.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
A libc/src/math/generic/roundeven.cpp
A libc/src/math/generic/roundevenf.cpp
A libc/src/math/generic/roundevenf128.cpp
A libc/src/math/generic/roundevenl.cpp
A libc/src/math/roundeven.h
A libc/src/math/roundevenf.h
A libc/src/math/roundevenf128.h
A libc/src/math/roundevenl.h
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftello.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/test/CMakeLists.txt
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
A libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/high_precision_decimal_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_fp_test.h
R libc/test/src/__support/uint_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
M libc/test/src/math/RemQuoTest.h
A libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/explogxf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/ilogb_test.cpp
M libc/test/src/math/ilogbf_test.cpp
M libc/test/src/math/ilogbl_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
A libc/test/src/math/roundeven_test.cpp
A libc/test/src/math/roundevenf_test.cpp
A libc/test/src/math/roundevenl_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
A libc/test/src/math/smoke/RoundEvenTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.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/atan2f_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/cosf_test.cpp
M libc/test/src/math/smoke/coshf_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/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/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/nanf128_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
A libc/test/src/math/smoke/roundeven_test.cpp
A libc/test/src/math/smoke/roundevenf128_test.cpp
A libc/test/src/math/smoke/roundevenf_test.cpp
A libc/test/src/math/smoke/roundevenl_test.cpp
M libc/test/src/math/smoke/sincosf_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/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/sys/random/linux/CMakeLists.txt
M libc/test/utils/FPUtil/CMakeLists.txt
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
A libc/utils/docgen/ctype.json
A libc/utils/docgen/docgen.py
A libc/utils/docgen/fenv.json
M libclc/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/minmax.bench.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/formatter_floating_point.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/bind_back.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__memory/construct_at.h
M libcxx/include/__type_traits/desugars_to.h
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/libcxx.imp
M libcxx/include/locale
M libcxx/include/module.modulemap
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/version
M libcxx/modules/std/functional.inc
M libcxx/modules/std/locale.inc
M libcxx/src/random.cpp
M libcxx/src/tzdb.cpp
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
A libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/seekoff.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/base.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/void-specialization.pass.cpp
R libcxx/test/std/utilities/expected/expected.bad/what.noexcept.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/what.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/types.h
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.pass.cpp
M libcxx/test/support/test_macros.h
M libcxx/utils/CMakeLists.txt
M libcxx/utils/data/unicode/DerivedCoreProperties.txt
M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
M libcxx/utils/data/unicode/EastAsianWidth.txt
M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
M libcxx/utils/data/unicode/GraphemeBreakTest.txt
M libcxx/utils/data/unicode/emoji-data.txt
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_feature_test_macro_components.py
A libcxx/utils/generate_indic_conjunct_break_table.py
M lld/COFF/PDB.cpp
M lld/ELF/DWARF.h
M lld/ELF/SyntheticSections.h
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/test/COFF/undefined-symbol-cv.s
A lld/test/ELF/aarch64-reloc-implicit-addend.test
M lld/test/ELF/pack-dyn-relocs.s
M lld/wasm/Driver.cpp
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/bindings/interface/SBProcessDocstrings.i
M lldb/bindings/interface/SBQueueDocstrings.i
M lldb/bindings/interface/SBThreadDocstrings.i
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M lldb/cmake/caches/Apple-lldb-base.cmake
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/docs/Benchmarking.rst
M llvm/docs/CMake.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/LangRef.rst
M llvm/docs/NewPassManager.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ADT/ADL.h
M llvm/include/llvm/ADT/STLExtras.h
R llvm/include/llvm/Analysis/Interval.h
R llvm/include/llvm/Analysis/IntervalIterator.h
R llvm/include/llvm/Analysis/IntervalPartition.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/include/llvm/Option/OptParser.td
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/ToolOutputFile.h
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
A llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
R llvm/include/llvm/Transforms/Instrumentation/RemoveTrapsPass.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/Interval.cpp
R llvm/lib/Analysis/IntervalPartition.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Support/ToolOutputFile.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.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/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/M68k/M68kInstrArithmetic.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
A llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
R llvm/lib/Transforms/Instrumentation/RemoveTrapsPass.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.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/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
A llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
A llvm/test/Analysis/LoopAccessAnalysis/positive-dependence-distance-different-access-sizes.ll
M llvm/test/Assembler/atomic.ll
M llvm/test/Assembler/flags.ll
A llvm/test/Assembler/invalid-atomicrmw-scalable.ll
A llvm/test/Assembler/invalid-atomicrmw-xchg-fp-vector.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/test/Bitcode/flags.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
A llvm/test/CodeGen/AArch64/GlobalISel/atomic-anyextending-load-crash.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call-sret.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-const-infinite-loop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-to-lhs-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/constant-dbg-loc.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-store-metadata.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
A llvm/test/CodeGen/AArch64/atomicrmw-fadd-fp-vector.ll
M llvm/test/CodeGen/AArch64/elf-globals-static.ll
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/func-sanitizer.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
M llvm/test/CodeGen/AArch64/spillfill-sve.mir
A llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
M llvm/test/CodeGen/AArch64/tagged-globals-pic.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extractelement-crash.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
A llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/AMDGPU/optimize-exec-mask-pre-ra-non-empty-but-used-interval.mir
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking-wave32.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies-order-of-phi-incomings.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd-gfx12.mir
M llvm/test/CodeGen/AMDGPU/verify-vopd.mir
M llvm/test/CodeGen/AMDGPU/vopc_dpp.mir
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
M llvm/test/CodeGen/ARM/sadd_sat.ll
M llvm/test/CodeGen/ARM/select_const.ll
M llvm/test/CodeGen/ARM/wide-compares.ll
A llvm/test/CodeGen/M68k/Arith/unary.ll
M llvm/test/CodeGen/M68k/Atomics/rmw.ll
M llvm/test/CodeGen/PowerPC/ppcsoftops.ll
M llvm/test/CodeGen/PowerPC/rldimi.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/insertelement.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/shufflevector.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/compress-opt-branch.ll
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
A llvm/test/CodeGen/RISCV/prolog-epilogue.ll
M llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll
M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.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/combine-sats.ll
M llvm/test/CodeGen/RISCV/rvv/combine-splats.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.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-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.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-int-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-peephole-vmerge-vops.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-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.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-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.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-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfclass-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.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-vfmul-vp.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-vfnmsac-vp.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-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vitofp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vor-vp.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-vpmerge.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-vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vror.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vxor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-vp-fadd-and-vp-fmul.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/masked-store-int.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/narrow-shift-extend.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/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-vmerge-to-vmv.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vand-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.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/vfclass-vp.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/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/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac-vp.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/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmv.v.f.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/vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.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/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmarith-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmulh-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmulhu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmv-copy.mir
M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnsrl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vnsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-float.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-int.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i1.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i64.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-zfa.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmaccsu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwmaccu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-copy.mir
A llvm/test/CodeGen/RISCV/stack-offset.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
A llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
M llvm/test/CodeGen/Thumb/pr35836.ll
M llvm/test/CodeGen/Thumb/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
A llvm/test/CodeGen/X86/atomicrmw-fadd-fp-vector.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/bool-vector.ll
M llvm/test/CodeGen/X86/fsafdo_test1.ll
M llvm/test/CodeGen/X86/func-sanitizer.ll
M llvm/test/CodeGen/X86/i128-fpconv-win64-strict.ll
M llvm/test/CodeGen/X86/insertelement-var-index.ll
M llvm/test/CodeGen/X86/memset-minsize.ll
M llvm/test/CodeGen/X86/movmsk-cmp.ll
M llvm/test/CodeGen/X86/patchable-prologue.ll
M llvm/test/CodeGen/X86/pr45995.ll
M llvm/test/CodeGen/X86/pr63439.ll
M llvm/test/CodeGen/X86/pr64439.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/strict-fadd-combines.ll
M llvm/test/CodeGen/X86/strict-fsub-combines.ll
M llvm/test/CodeGen/X86/vec_cast.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll
M llvm/test/MC/AArch64/SVE/pfalse-diagnostics.s
M llvm/test/MC/Disassembler/M68k/arithmetic.txt
A llvm/test/MC/M68k/Arith/Classes/MxNOT.s
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rv32zimop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
M llvm/test/MC/RISCV/rvzimop-valid.s
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-fp-vector.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/HipStdPar/unsupported-thread-local-indirect-use.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
M llvm/test/Transforms/InstCombine/insertelement.ll
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
A llvm/test/Transforms/LoopLoadElim/non-const-distance.ll
A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
A llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/global_alias.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
A llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
A llvm/test/Transforms/MemProfContextDisambiguation/overlapping-contexts.ll
R llvm/test/Transforms/RemoveTraps/remove-traps.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/scalable-external-user.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-vecop-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
A llvm/test/Transforms/SLPVectorizer/X86/zext-incoming-for-neg-icmp.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
A llvm/test/Transforms/lower-builtin-allow-check.ll
R llvm/test/tools/llvm-objcopy/ELF/compress-sections-within-segment.s
R llvm/test/tools/llvm-objcopy/ELF/compress-sections.s
M llvm/test/tools/llvm-objcopy/ELF/decompress-sections.test
M llvm/test/tools/llvm-objdump/ELF/dynamic-malformed.test
A llvm/test/tools/llvm-profdata/memprof-merge-v0.test
M llvm/test/tools/llvm-ranlib/help-message.test
M llvm/test/tools/llvm-reduce/reduce-flags.ll
M llvm/tools/llvm-ar/llvm-ar.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/Interleave.cpp
M llvm/unittests/ADT/IteratorTest.cpp
M llvm/unittests/ADT/RangeAdapterTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
M llvm/unittests/Option/OptionMarshallingTest.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/OptParserEmitter.cpp
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/TextAPI/BinaryReader/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
A mlir/cmake/modules/MLIRCheckHardwareFeatures.cmake
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/DefiningDialects/_index.md
M mlir/docs/Dialects/ArmSME.md
M mlir/docs/Dialects/Linalg/_index.md
M mlir/docs/Dialects/Transform.md
M mlir/docs/LangRef.md
M mlir/docs/Rationale/SideEffectsAndSpeculation.md
M mlir/docs/TargetLLVMIR.md
M mlir/docs/Tutorials/Toy/Ch-4.md
M mlir/docs/Tutorials/transform/Ch4.md
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
A mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.h
M mlir/include/mlir/Dialect/Vector/Transforms/Passes.td
M mlir/include/mlir/IR/AffineExprVisitor.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/include/mlir/TableGen/Class.h
M mlir/include/mlir/Target/LLVMIR/LLVMImportInterface.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
A mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
R mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
M mlir/lib/Dialect/Utils/StructuredOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.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/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Arith/invalid.mlir
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
A mlir/test/Dialect/Arith/vscale_constants.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/type-consistency.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Vector/linearize.mlir
A mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
M mlir/test/IR/affine-walk.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
A mlir/test/Target/LLVMIR/Import/test.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
A mlir/test/Target/LLVMIR/omptarget-target-inside-task.mlir
M mlir/test/Target/LLVMIR/omptarget-teams-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
A mlir/test/Target/LLVMIR/openmp-data-target-device.mlir
A mlir/test/Target/LLVMIR/openmp-task-target-device.mlir
M mlir/test/lib/Dialect/Test/CMakeLists.txt
A mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-operand.td
M mlir/test/mlir-tblgen/op-properties.td
M mlir/test/mlir-tblgen/op-result.td
M mlir/test/python/dialects/transform_structured_ext.py
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-translate/mlir-translate.cpp
M openmp/runtime/src/CMakeLists.txt
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
A utils/bazel/llvm-project-overlay/compiler-rt/lib/orc/tests/unit/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/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/3eb49e43b822...b4f0b3c89ddd
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