[all-commits] [llvm/llvm-project] 019948: [LoongArch][NFC] Pre-commit tests for sign-extensi...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Tue Dec 24 11:49:18 PST 2024
Branch: refs/heads/users/alexey-bataev/spr/slpinitial-non-power-of-2-but-still-whole-register-for-remaining-nodes
Home: https://github.com/llvm/llvm-project
Commit: 019948647ebdb9f4d5cfce5a8f4afe9d4eafb14e
https://github.com/llvm/llvm-project/commit/019948647ebdb9f4d5cfce5a8f4afe9d4eafb14e
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for sign-extension removal with vectors
Commit: b2b1eec2b249698337d90a77c000340f0248c9cd
https://github.com/llvm/llvm-project/commit/b2b1eec2b249698337d90a77c000340f0248c9cd
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/SemaOpenACC/data-construct-ast.cpp
M clang/test/SemaOpenACC/data-construct-async-clause.c
A clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] enable 'copyin' clause sema for 'data'/'enter data'
stop reporting 'copyin' as not implemented on a data/enter data
construct, and enforce sema rules.
Commit: 1da0730ba5994537119ed61205a599cb3929c43a
https://github.com/llvm/llvm-project/commit/1da0730ba5994537119ed61205a599cb3929c43a
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/SemaOpenACC/data-construct-ast.cpp
M clang/test/SemaOpenACC/data-construct-async-clause.c
A clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] enable 'copyout' clause sema for data constructs
Same as the previous few, this just enables copyout for data constructs
and ensures we have sufficient test coverage.
Commit: fcb1591b46f12b8908a8cdb252611708820102f8
https://github.com/llvm/llvm-project/commit/fcb1591b46f12b8908a8cdb252611708820102f8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/IR/Region.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/IR/TypeRange.cpp
M mlir/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Migrate away from PointerUnion::{is,get} (NFC) (#119802)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 331f3cc94b3c66eebf5ec462a8f1ee0d7704dd26
https://github.com/llvm/llvm-project/commit/331f3cc94b3c66eebf5ec462a8f1ee0d7704dd26
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
A clang/test/SemaOpenACC/data-construct-present-ast.cpp
A clang/test/SemaOpenACC/data-construct-present-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] enable 'present' clause for 'data' construct
No additional sema is required once again, so this patch adds testing
and enables the clause.
Commit: 5225f1b4355e4ad9fb0939fded88dc6189be29fd
https://github.com/llvm/llvm-project/commit/5225f1b4355e4ad9fb0939fded88dc6189be29fd
Author: Tibor Dusnoki <tdusnoki at inf.u-szeged.hu>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
A bolt/test/merge-fdata-bat-no-lbr.test
A bolt/test/merge-fdata-lbr-mode.test
A bolt/test/merge-fdata-mixed-bat-no-lbr.test
A bolt/test/merge-fdata-mixed-mode.test
A bolt/test/merge-fdata-no-lbr-mode.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][merge-fdata] Fix basic sample profile aggregation without LBR info (#118481)
When a basic sample profile is gathered without LBR info, the generated
profile contains a "no-lbr" tag in the first line of the fdata file.
This PR fixes merge-fdata to recognize and save this tag to the output
file.
Commit: 754499c1e9410d51a4c41e71388c304de61366a0
https://github.com/llvm/llvm-project/commit/754499c1e9410d51a4c41e71388c304de61366a0
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
A clang/test/SemaOpenACC/data-construct-deviceptr-ast.cpp
A clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] Enable 'deviceptr' clause sema on data construct
Another simple implementation, as it uses the same work as the previous
implementation, just enabling it for this construct.
Commit: ce25bd20dc56cef651170f1ee5820758dee415a2
https://github.com/llvm/llvm-project/commit/ce25bd20dc56cef651170f1ee5820758dee415a2
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
Log Message:
-----------
[OpenACC] Fixup test to be more consistent
Commit: 4a6586140211cc9aed02d9177dba0c01622139f4
https://github.com/llvm/llvm-project/commit/4a6586140211cc9aed02d9177dba0c01622139f4
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
M llvm/test/Instrumentation/RealtimeSanitizer/rtsan.ll
Log Message:
-----------
[rtsan][llvm] Remove function pass, only support module pass (#119739)
Most of the other sanitizers are now only module level passes. This
moves all functionality into the module pass, and removes the function
pass.
Commit: fb02c33605bd988e9c6bb3a18cd7f0c3b1f20d5c
https://github.com/llvm/llvm-project/commit/fb02c33605bd988e9c6bb3a18cd7f0c3b1f20d5c
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
Log Message:
-----------
[lldb][AIX] XCOFF clang-format and other minor changes (#119892)
Added some clang-format and other minor changes, Ref:
https://github.com/llvm/llvm-project/pull/116338#discussion_r1884069848
Review Request: @DavidSpickett
Commit: c9070cce09e1aef1c4bf1cb8c0000294b533dcd7
https://github.com/llvm/llvm-project/commit/c9070cce09e1aef1c4bf1cb8c0000294b533dcd7
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/TableGen/MixedCasedMnemonic.td
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Allow empty terminator in SequenceToOffsetTable (#119751)
Some clients do not want to emit a terminator after each sub-sequence
(they have other means of determining the length of sub-sequences).
This moves `Term` argument from `emit` method to the constructor and
makes it optional. It couldn't be made optional while still on the
`emit` method because if the terminator wasn't specified, it has to be
taken into account in `layout` method as well.
The fact that `layout` method was called is now recorded in a dedicated
member variable, `IsLaidOut`. `Entries != 0` can no longer be used to
reliably check if `layout` method was called because it may be zero for
a different reason: the terminator wasn't specified and all added
sequences (if any) were empty.
This reduces the size of `*LaneMaskLists` and `*SubRegIdxLists` a bit
and resolves the removed TODO.
Commit: c57a8f5b3fa7a7524346595cdc1ddd5eec4a41ae
https://github.com/llvm/llvm-project/commit/c57a8f5b3fa7a7524346595cdc1ddd5eec4a41ae
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Remove redundant `Fortran::` from namespaces, NFC
Apply clang-format after the changes.
Commit: 7db20a026b71797975f277a406b604def1da6219
https://github.com/llvm/llvm-project/commit/7db20a026b71797975f277a406b604def1da6219
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] update vop1 mc test with update script (#119778)
This is a NFC change. Update gfx11/gfx12 vop1 test file with the latest
update_mc_test_script.py.
Changing the runline of gfx12_asm_vop1.s since llvm.cfg cannot be read
by the update script.
This is also preparing for the up-coming true16 change.
Commit: 939c94bbb4731aa1c7dda47b0e4497a82ae6f46a
https://github.com/llvm/llvm-project/commit/939c94bbb4731aa1c7dda47b0e4497a82ae6f46a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container to LLVM 19.1.5 (#119809)
Bump the CI container version to the latest release.
Commit: 0d9fc1743378c73012828698122c46dc580d29eb
https://github.com/llvm/llvm-project/commit/0d9fc1743378c73012828698122c46dc580d29eb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
[GISel] Remove unused DataLayout operand from getApproximateEVTForLLT (#119833)
Commit: 3fcc302af34f648fb7a56557b6a504fcbf49a115
https://github.com/llvm/llvm-project/commit/3fcc302af34f648fb7a56557b6a504fcbf49a115
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Expression/UserExpression.cpp
A lldb/test/Shell/Expr/TestExecProgress.test
Log Message:
-----------
[lldb] Add a progress event for executing an expression (#119757)
Expressions can take arbitrary amounts of time to run, so IDEs might
want to be informed about the fact that an expression is currently being
executed.
rdar://141253078
Commit: 003a721c1c9e3a99d6d0c1a6755443b260235537
https://github.com/llvm/llvm-project/commit/003a721c1c9e3a99d6d0c1a6755443b260235537
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/TypeName.h
Log Message:
-----------
[NFC] Don't recompute type name (#119631)
This change uses a local static variable to cache the computed
`StringRef` containing the type's name.
I found that `RelWithDebInfo` builds of MLIR were spending a relatively
large amount of time in `StringRef::find` and I tracked it down to
`getTypeName` which utilizes `StringRef` methods that are defined in a
separate translation unit. This is especially impactful on perf because
`getTypeName` is supposed to be used for debug logging. See an example
here:
https://github.com/llvm/llvm-project/blob/4b825c7417f72ee88ee3e4316d0c01ed463f1241/mlir/include/mlir/IR/Types.h#L294-L300
Commit: 6d69d18437adc79ada8fbc852b3ffb4d797cebb4
https://github.com/llvm/llvm-project/commit/6d69d18437adc79ada8fbc852b3ffb4d797cebb4
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
A clang/test/SemaOpenACC/data-construct-attach-ast.cpp
A clang/test/SemaOpenACC/data-construct-attach-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
Log Message:
-----------
[OpenACC] enable 'attach' clause sema for 'data' and 'enter data'
This is very similar to deviceptr, and is the same implementation as for
combined/compute constructs, so this just enables that, and adds tests.
Commit: bc627a46a858ab1abf7a72a524ef1059b27cfa37
https://github.com/llvm/llvm-project/commit/bc627a46a858ab1abf7a72a524ef1059b27cfa37
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc][NFC] Rename CHECK prefix for YAML
We plan to introduce checks for other backends, like markdown.
Reviewers: PeterChou1, petrhosek
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/119810
Commit: b8569528865afec30b91f41cb2e670adea8f95bd
https://github.com/llvm/llvm-project/commit/b8569528865afec30b91f41cb2e670adea8f95bd
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc][NFC] Make test resilient to line changes (#119811)
This just reorganizes the test code, so its easy to use @LINE directives
in the test, and avoid needing to update all the line numbers when
making unrelated changes.
Commit: 7d764db9bed1659cfcb2ab18e1d966388c1b5041
https://github.com/llvm/llvm-project/commit/7d764db9bed1659cfcb2ab18e1d966388c1b5041
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc][NFC] Avoid unnecessary operations in the template test (#119812)
Commit: 5747ad4392954ebb0046e6397f32256f3cd6fd1e
https://github.com/llvm/llvm-project/commit/5747ad4392954ebb0046e6397f32256f3cd6fd1e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Test docs action on workflow changes (#119627)
This patch makes the check docs build workflow run testing on all of the
docs builds when the workflow is changed. This is intended to catch
issues like those that were not caught premerge when adding in the
functionality to download the built docs.
Commit: 52e25912f875dfddef212ec9152ed86057d5d618
https://github.com/llvm/llvm-project/commit/52e25912f875dfddef212ec9152ed86057d5d618
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] Add tests for Markdown output with C++ templates
Reviewers: PeterChou1, petrhosek
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/119813
Commit: e113a72562e8a7e4493a1de0da01776945d0db74
https://github.com/llvm/llvm-project/commit/e113a72562e8a7e4493a1de0da01776945d0db74
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] Precommit test case for functions with templated parameters and return
To address #67549 we need a test case that will show up in the markdown
output for functions.
Reviewers: PeterChou1, petrhosek
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/119814
Commit: 229d78de31467f623e33716a30cb0c6d285d7683
https://github.com/llvm/llvm-project/commit/229d78de31467f623e33716a30cb0c6d285d7683
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] Use QualName in Markdown output
QualName will provide the more useful typename when the type is
templated.
Fixes #67549
Reviewers: petrhosek, PeterChou1
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/119815
Commit: a44915a8e55fae93da17f9ae2ca26f745e1f6f7d
https://github.com/llvm/llvm-project/commit/a44915a8e55fae93da17f9ae2ca26f745e1f6f7d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
A .github/workflows/build-ci-container-windows.yml
A .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[Github] Add a windows CI container (#118206)
This patch adds a windows CI container mostly based off of the existing
container used for Buildkite
(https://github.com/google/llvm-premerge-checks/blob/a687e33c37fbdcf67b52805c8cf3a8ed145e3243/containers/buildkite-windows/Dockerfile#L1).
This is intended to be a starting point as we transition to Github
Actions with the eventual plan being to build a custom windows toolchain
similar to what we do on Linux.
Commit: da439d3af47b6004cfed1482b84713fad4b43206
https://github.com/llvm/llvm-project/commit/da439d3af47b6004cfed1482b84713fad4b43206
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Refactor getEntryCost and isReverseOrder usage. (#119680)
Users should check whether an input is empty before using
isReverseOrder.
Commit: 27d09e683f59707e82be0500930fbab1c82a29b4
https://github.com/llvm/llvm-project/commit/27d09e683f59707e82be0500930fbab1c82a29b4
Author: vporpo <vporpodas at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Instruction.h
Log Message:
-----------
[SandboxIR] Make some instruction constructors private (#119901)
This patch changes the visibility of the constructors of CatchSwitchInst
ResumeInst and SwitchInst to private instead of public. This is similar
to all other Sandbox IR instructions. The constructor is private to
force the user go through the Context create* API.
The issue was exposed by:
https://github.com/llvm/llvm-project/pull/119824
Commit: f01b62ad4881e61dc5d84e1faa984917ac43453c
https://github.com/llvm/llvm-project/commit/f01b62ad4881e61dc5d84e1faa984917ac43453c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
Log Message:
-----------
[GlobalISel] Fix warnings
This patch fixes:
llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp:167:21: error:
unused variable 'DL' [-Werror,-Wunused-variable]
llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp:320:15: error: unused
variable 'DL' [-Werror,-Wunused-variable]
Commit: 668d9688ac8aa97d9156cecabd25bf2a8e82bc9d
https://github.com/llvm/llvm-project/commit/668d9688ac8aa97d9156cecabd25bf2a8e82bc9d
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
A llvm/test/MC/RISCV/xqcilsm-invalid.s
A llvm/test/MC/RISCV/xqcilsm-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcilsm (Load Store Multiple) extension (#119823)
This extension adds 6 instructions that can do multi-word load/store.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
Commit: 003eb5e80d8c970c2ae7fcbaaebd52b32a61648d
https://github.com/llvm/llvm-project/commit/003eb5e80d8c970c2ae7fcbaaebd52b32a61648d
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-finalize-ast.cpp
A clang/test/SemaOpenACC/data-construct-finalize-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'finalize' clause sema
This is a very simple clause as far as sema is concerned. It is only
valid on 'exit data', and doesn't have any rules involving it, so it is
simply applied and passed onto the MLIR.
Commit: 5cac0eb4b4156ed7e2dae2a73af04484cf330ddb
https://github.com/llvm/llvm-project/commit/5cac0eb4b4156ed7e2dae2a73af04484cf330ddb
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/TypeName.h
Log Message:
-----------
[Support] Fix getTypeNameImpl on msvc (#119910)
Updates `Key` to reflect the new name of the function enclosing
`__FUNCSIG__`.
Commit: 3b3394baec18d77e8d5b984882c82f7b3a59f981
https://github.com/llvm/llvm-project/commit/3b3394baec18d77e8d5b984882c82f7b3a59f981
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
Log Message:
-----------
[RISCV] Use Log2SEW=0 for VMNAND/VMSET created for riscv_vmsge(u) intrinsics. (#119767)
These instructions should always be created with Log2SEW=0 and an LMUL
based on SEW=8. This is used by the vsetvli pass to know these
instructions only care about the ratio and not the specific value.
Looks like I fixed riscv_vmsge(u)_mask intrinsics years ago, but forgot
the unmasked intrinsics.
I'm working on an enhancement to our MachineVerifier checks that will
require VMNAND and VMSET to have Log2SEW=0.
Commit: d1f51c67fde6f77b78f78901fb78e3589430a299
https://github.com/llvm/llvm-project/commit/d1f51c67fde6f77b78f78901fb78e3589430a299
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen] Add TreePatternNode::children and use it in for loops (NFC) (#119877)
Commit: 9474e09459189fbed30f329a669f9c14979c5367
https://github.com/llvm/llvm-project/commit/9474e09459189fbed30f329a669f9c14979c5367
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__hash_table
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/construct_at.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
A libcxx/include/__new/align_val_t.h
A libcxx/include/__new/allocate.h
A libcxx/include/__new/destroying_delete_t.h
A libcxx/include/__new/exceptions.h
A libcxx/include/__new/global_new_delete.h
A libcxx/include/__new/interference_size.h
A libcxx/include/__new/launder.h
A libcxx/include/__new/new_handler.h
A libcxx/include/__new/nothrow_t.h
A libcxx/include/__new/placement_new_delete.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/array
M libcxx/include/charconv
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/list
M libcxx/include/module.modulemap
M libcxx/include/new
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.types.verify.cpp
M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp
M libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp
Log Message:
-----------
[libc++] Granularize the <new> header (#119270)
This disentangles the code which previously had a mix of many #ifdefs, a
non-versioned namespace and a versioned namespace. It also makes it
clearer which parts of <new> are implemented on Windows by including <new.h>.
Commit: 2135babe28b038c99d77f15c39b3f7e498fc6694
https://github.com/llvm/llvm-project/commit/2135babe28b038c99d77f15c39b3f7e498fc6694
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libcxx/utils/libcxx/test/format.py
Log Message:
-----------
[libc++] Save benchmark results in a json file (#119761)
When running a benchmark, also save the benchmark results in a JSON
file. That is cheap to do and useful to compare benchmark results
between different runs.
Commit: 64da33a58923e60a5c7854c1a13e14f16d01b1f0
https://github.com/llvm/llvm-project/commit/64da33a58923e60a5c7854c1a13e14f16d01b1f0
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
A lld/test/ELF/randomize-section-padding.test
Log Message:
-----------
ELF: Introduce --randomize-section-padding option.
The --randomize-section-padding option randomly inserts padding between
input sections using the given seed. It is intended to be used in A/B
experiments to determine the average effect of a change on program
performance, while controlling for effects such as false sharing in
the cache which may introduce measurement bias. For more details,
see the RFC:
https://discourse.llvm.org/t/rfc-lld-feature-for-controlling-for-code-size-dependent-measurement-bias/83334
Reviewers: smithp35, MaskRay
Reviewed By: MaskRay, smithp35
Pull Request: https://github.com/llvm/llvm-project/pull/117653
Commit: 52e9f2c52cd1d0ffa922761458abc35cd90057ea
https://github.com/llvm/llvm-project/commit/52e9f2c52cd1d0ffa922761458abc35cd90057ea
Author: Djordje Todorovic <56676939+djtodoro at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add MIPS P8700 processor (#119882)
The P8700 is a high-performance processor from MIPS designed to meet the
demands of modern workloads, offering exceptional scalability and
efficiency. It builds on MIPS's established architectural strengths
while introducing enhancements that set it apart. For more details, you
can check out the official product page here:
https://mips.com/products/hardware/p8700/.
Scheduling model will be added in a separate commit/PR.
Commit: 8ab6912831277d87838518c5f775f79d14616860
https://github.com/llvm/llvm-project/commit/8ab6912831277d87838518c5f775f79d14616860
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
A clang/test/Interpreter/Inputs/vector
M clang/test/Interpreter/crash.cpp
Log Message:
-----------
[Clang] Interpreter test should not depend on system header (#119903)
https://github.com/llvm/llvm-project/commit/30ad53b92cec0cff9679d559edcc5b933312ba0c
introduced a new test that includes `<vector>` from the system include
path without honoring environment variables that may provide the path to
C++ standard library. This is not supported in some CI systems because
we don't always have the C++ library in the standard location.
The conventional way of doing includes in the test is through `Inputs`
directory and pass it as an include path.
The `vector` file included in this patch has been shortened, but I have
verified that it works with this test. i.e. the clang repl crashes on
this test in the same way if the fix in
https://github.com/llvm/llvm-project/pull/117475 is reverted.
Commit: 9f2dd085ae981740e2986a1b200ca2a7df44953d
https://github.com/llvm/llvm-project/commit/9f2dd085ae981740e2986a1b200ca2a7df44953d
Author: klensy <klensy at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
[mlir] fix copypaste typos in asserts (#119878)
This fixes few copypaste typos
I've also spotted weird `getNumRows() == getNumRows()`: looks like
leftover after refactoring
https://github.com/llvm/llvm-project/blob/ea8e328ae2bea9d9a7d556ef4d791fa116f7de18/mlir/lib/Analysis/Presburger/Simplex.cpp#L107-L111
Co-authored-by: klensy <nightouser at gmail.com>
Commit: e5ab6e960745bfda9204e696a0a99746075f3021
https://github.com/llvm/llvm-project/commit/e5ab6e960745bfda9204e696a0a99746075f3021
Author: lntue <lntue at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M libc/docs/talks.rst
Log Message:
-----------
[libc][doc] Add links to LLVM dev meeting talks related to LLVM libc. (#119918)
Commit: 0f776f1df9ec6345f298cc19c33dfea7f98289ec
https://github.com/llvm/llvm-project/commit/0f776f1df9ec6345f298cc19c33dfea7f98289ec
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
Log Message:
-----------
[rtsan][clang] NFC: Move rtsan init to addSanitizers (#119904)
Commit: 2244d2e75c50cdd4657ed6c488423790367e1347
https://github.com/llvm/llvm-project/commit/2244d2e75c50cdd4657ed6c488423790367e1347
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-if_present-ast.cpp
A clang/test/SemaOpenACC/data-construct-if_present-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'if_present' clause sema
The 'if_present' clause controls the replacement of addresses in the
var-list in current device memory. This clause can only go on
'host_device'. From a Sema perspective, there isn't anything to do
beyond add this to AST and pass it on.
Commit: 2eed88da6a100216bf542e0c16762d336791876b
https://github.com/llvm/llvm-project/commit/2eed88da6a100216bf542e0c16762d336791876b
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/fp8-sve-fmla.ll
Log Message:
-----------
[AArch64] Implement FP8 SVE intrinsics for fused multiply-add (#118126)
This patch adds the following intrinsics:
* 8-bit floating-point multiply-add long to half-precision (bottom).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalb[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat16_t svmlalb[_n_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long to half-precision (bottom,
indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalb_lane[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long to half-precision (top).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalt[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat16_t svmlalt[_n_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long to half-precision (top,
indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalt_lane[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision
(bottom bottom).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbb[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlallbb[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision
(bottom bottom, indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbb_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision
(bottom top).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbt[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlallbt[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision
(bottom top, indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbt_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
bottom).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltb[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlalltb[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
bottom, indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltb_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
top).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltt[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlalltt[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
top, indexed).
// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltt_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
uint64_t imm0_15, fpm_t fpm);
Commit: af5d3afff54e5af61f384a1e95020f0a0374caec
https://github.com/llvm/llvm-project/commit/af5d3afff54e5af61f384a1e95020f0a0374caec
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/opt-array-slice-assign.fir
Log Message:
-----------
[flang] Improve disjoint/identical slices recognition in opt-bufferization. (#119780)
The changes are needed to be able to optimize
'x(9,:)=SUM(x(1:8,:),DIM=1)'
without a temporary array. This pattern exists in exchange2.
The patch also fixes an existing problem in Flang with this test:
```
program main
integer :: a(10) = (/1,2,3,4,5,6,7,8,9,10/)
integer :: expected(10) = (/1,10,9,8,7,6,5,4,3,2/)
print *, 'INPUT: ', a
print *, 'EXPECTED: ', expected
call test(a, 10, 2, 10, 9)
print *, 'RESULT: ', a
contains
subroutine test(a, size, x, y, z)
integer :: x, y, z, size
integer :: a(:)
a(x:y:1) = a(z:x-1:-1) + 1
end subroutine test
end program main
```
Commit: a00946fc947d42e67394934bc78b84a37ecc2908
https://github.com/llvm/llvm-project/commit/a00946fc947d42e67394934bc78b84a37ecc2908
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
Log Message:
-----------
[flang] Simplify hlfir.sum total reductions. (#119482)
I am trying to switch to keeping the reduction value in a temporary
scalar location so that I can use hlfir::genLoopNest easily.
This also allows using omp.loop_nest with worksharing for OpenMP.
Commit: 2daadbdc5e3a6029092963a1c699675320745d70
https://github.com/llvm/llvm-project/commit/2daadbdc5e3a6029092963a1c699675320745d70
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
Log Message:
-----------
[AMDGPU][true16] [MC] Remove duplication in VOP1 test (#119905)
This is a NFC change. Remove duplicated test line in gfx11/gfx12 vop1
test file with the latest update_mc_test_script.py --unique option
This is also preparing for the up-coming true16 change
Commit: b560b87ba1d85a4262d24386eb7e9a8f7b8086f5
https://github.com/llvm/llvm-project/commit/b560b87ba1d85a4262d24386eb7e9a8f7b8086f5
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Clean up jump table handling in non-reloc mode. NFCI (#119614)
This change affects non-relocation mode only. Prior to having
CheckLargeFunctions pass, we could have emitted code for functions that
was discarded at the end due to size limitations. Since we didn't know
at the time of emission if the code would be discarded or not, we had to
emit jump tables in separate sections and handle them separately.
However, now we always run CheckLargeFunctions and make sure all emitted
code is used. Thus, we can get rid of the special jump table handling.
Commit: 82459ecf3ebbc697bdde265320d126773111ae0f
https://github.com/llvm/llvm-project/commit/82459ecf3ebbc697bdde265320d126773111ae0f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
Log Message:
-----------
[RISCV] Split OPERAND_SEW operand type for mask only instructions. (#119776)
Mask only instructions like vmand and vmsbf should always have 0 for
their Log2SEW operand. Non-mask instructions should only have
3, 4, 5, or 6 for their Log2SEW operand.
Split the operand type so we can verify these cases separately.
I had to fix the SEW for whole register move to vmv.v.v copy
optimization and update an mir test. The vmv.v.v change isn't
functional since we have already done vsetvli insertion before and
nothing else uses the field after copy expansion. I can split these
changes off if desired.
Commit: 5f72f2c8fd6cf59c9f2066c58559a9a9d2888a9a
https://github.com/llvm/llvm-project/commit/5f72f2c8fd6cf59c9f2066c58559a9a9d2888a9a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
AMDGPU: Remove large, negative AddedComplexity from minimum/maximum patterns (#119795)
Commit: c4a78b6fe32d72d5c9f3b4a4fa2be206675ccd05
https://github.com/llvm/llvm-project/commit/c4a78b6fe32d72d5c9f3b4a4fa2be206675ccd05
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
M llvm/test/Transforms/SimplifyCFG/hoisting-metadata.ll
Log Message:
-----------
[SimplifyCFG] Always allow hoisting if all instructions match. (#97158)
Generalize hoistCommonCodeFromSuccessors's `EqTermsOnly` to
`AllInstsEqOnly` and always allow hoisting if all instructions match.
In that case, all instructions can be hoisted and the
original branch will be replaced and selects for PHIs are added. This
allows preserving metadata in more cases, using the existing hoisting
logic, whereas previously FoldTwoEntryPHINode would drop the metadata.
https://llvm-compile-time-tracker.com/compare.php?from=716360367fbdabac2c374c19b8746f4de49a5599&to=986b2c47df516b31d998c055400e4f62aa76edc6&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/97158
Commit: e5e0f23ae8e97eb910cb8ae42373f354eee496c7
https://github.com/llvm/llvm-project/commit/e5e0f23ae8e97eb910cb8ae42373f354eee496c7
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
Log Message:
-----------
[nfc][ubsan-minimal] Refactor error reporting to use a single function (#119920)
This refactoring will allow to make this function weak later on so that
it could be overloaded by a client. See #119242.
Commit: 3273d0bb148795ead4d6e29177bd63346bb6362a
https://github.com/llvm/llvm-project/commit/3273d0bb148795ead4d6e29177bd63346bb6362a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/modfile55.cuf
Log Message:
-----------
[flang][cuda] Apply implicit data attribute only in device context (#119919)
Fix the condition so the implicit device data attribute is not applied
when the routine has `attribute(host)`
Commit: 3351b3bf8dcb9aebfa6f491fcbe5a00acbcc3291
https://github.com/llvm/llvm-project/commit/3351b3bf8dcb9aebfa6f491fcbe5a00acbcc3291
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-detach-ast.cpp
A clang/test/SemaOpenACC/data-construct-detach-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] implement 'detach' clause sema
This is another new clause specific to 'exit data' that takes a pointer
argument. This patch implements this the same way we do a few other
clauses (like attach) that have the same restrictions.
Commit: ab07c51534b904bab55bcaaf950823fc72719b11
https://github.com/llvm/llvm-project/commit/ab07c51534b904bab55bcaaf950823fc72719b11
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Don't use Frame::hash() (NFC) (#119828)
In these tests, we just want to add one instance of
IndexedMemProfRecord to MemProfData.Records and retrieve it from
MemProfReader. There is no particular reason to associate F1.hash()
with the IndexedMemProfRecord instance. A fake value suffices.
While I am at it, I'm switching to try_emplace so that I can move
FakeRecord.
Commit: cd093c2e1bac35dd2c6b914d0b64ce56683cb50a
https://github.com/llvm/llvm-project/commit/cd093c2e1bac35dd2c6b914d0b64ce56683cb50a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
Log Message:
-----------
[memprof] Make InstrProfwriter::addMemProfRecord and its friends private (NFC) (#119831)
This patch makes the following functions private:
- InstrProfWriter::addMemProfRecord
- InstrProfWriter::addMemProfFrame
- InstrProfWriter::addMemProfCallStack
These days, we add MemProf profile to the writer context via
addMemProfData. We no longer add individual items.
Commit: 5528388e3664c6d7d292f20a739f1bf1c8ef768d
https://github.com/llvm/llvm-project/commit/5528388e3664c6d7d292f20a739f1bf1c8ef768d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
A llvm/test/Transforms/EarlyCSE/pr119893.ll
Log Message:
-----------
EarlyCSE: fix CmpPredicate duplicate-hashing (#119902)
Strip hash_value() for CmpPredicate, as different callers have different
hashing use-cases. In this case, there is just one caller, namely
EarlyCSE, which calls hash_combine() on a CmpPredicate, which used to
call hash_combine() on a CmpInst::Predicate prior to 4a0d53a
(PatternMatch: migrate to CmpPredicate). This has uncovered a bug where
two icmp instructions differing in just the fact that one of them has
the samesign flag on it are hashed differently, leading to divergent
hashing, and a crash. Fix this crash by dropping samesign information on
icmp instructions before hashing them, preserving the former behavior.
Fixes #119893.
Commit: 537e0e1ff639ed4f8fa4dadbc84f4a6a12e1d20a
https://github.com/llvm/llvm-project/commit/537e0e1ff639ed4f8fa4dadbc84f4a6a12e1d20a
Author: Luke Quinn <quic_lquinn at quicinc.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zba.ll
Log Message:
-----------
[RISCV][GISel] Added GISelPredicateCodes to LeadingOnes*Mask (#119886)
Commit: 1345ee4232c90205f152154cfd557c54feb3853d
https://github.com/llvm/llvm-project/commit/1345ee4232c90205f152154cfd557c54feb3853d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/modfile55.cuf
Log Message:
-----------
[flang][cuda] Do not apply implicit data attribute on dummy arg with VALUE (#119927)
Dummy arguments with the VALUE attribute do not need the implicit data
attribute.
Commit: 71d2fa7988f4ce4647b6ed387cf5b51dafa11e4c
https://github.com/llvm/llvm-project/commit/71d2fa7988f4ce4647b6ed387cf5b51dafa11e4c
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
A compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
Log Message:
-----------
[ubsan-minimal] Switch to weak symbols for callbacks to allow overriding in client code (#119242)
Commit: ecdf0dac565f750376f65f93b5bfd8b08d143116
https://github.com/llvm/llvm-project/commit/ecdf0dac565f750376f65f93b5bfd8b08d143116
Author: Chris White <chriswhiteiodev at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] SDPatternMatch - Add m_ExtractElt and m_InsertElt matchers (#119430)
Resolves #118844
Commit: 9bf79308b893e8998e7efd752835636038c2db4f
https://github.com/llvm/llvm-project/commit/9bf79308b893e8998e7efd752835636038c2db4f
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
Log Message:
-----------
[mlir][Arith] Let integer range narrowing handle negative values (#119642)
Update integer range narrowing to handle negative values.
The previous restriction to only narrowing known-non-negative values
wasn't needed, as both the signed and unsigned ranges represent bounds
on the values of each variable in the program ... except that one might
be more accurate than the other. So, if either the signed or unsigned
interpretetation of the inputs and outputs allows for integer narrowing,
the narrowing is permitted.
This commit also updates the integer optimization rewrites to preserve
the stae of constant-like operations and those that are narrowed so that
rewrites of other operations don't lose that range information.
Commit: d0155789615c2272fbb304e34dc1df4d8d72f7cc
https://github.com/llvm/llvm-project/commit/d0155789615c2272fbb304e34dc1df4d8d72f7cc
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
A llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[llvm-gsymutil] Fix dumping of call sites for merged functions (#119759)
Currently, when dumping the contents of a GSYM there are three issues:
- Callsite information is not displayed for merged functions - this is
because of a bug in `CallSiteInfoLoader::buildFunctionMap` where when
enumerating through `Func.MergedFunctions` - we enumerate by value
instead of by reference.
- There is no variable indent for printing callsite info - meaning that
when printing callsites for merged functions, the indent will be
different than the other info of the merged function. To address this we
add configurable indent for printing callsite info
- Callsite info is printed right after merged function info. Meaning
that if the merged function also has call site information, the parent's
callsite info will appear right after the merged function's callsite
info - leading to confusion. To address this we print the callsite info
first, then the merged functions info.
This change addresses all the above 3 issues.
Example of old vs new:
<img width="1074" alt="image"
src="https://github.com/user-attachments/assets/d039ad69-fa79-4abb-9816-eda9cc2eda53"
/>
Commit: f22cff7675f7f64aa52204f4426f5047cc75fbb9
https://github.com/llvm/llvm-project/commit/f22cff7675f7f64aa52204f4426f5047cc75fbb9
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/test/API/functionalities/data-formatter/embedded-summary/TestEmbeddedTypeSummary.py
M lldb/test/API/functionalities/data-formatter/embedded-summary/main.c
Log Message:
-----------
[lldb] Support zero-padding in formatter sections (#119934)
Commit: d73ef9749e72e59d1d34275e89d4d2fffddd3e8c
https://github.com/llvm/llvm-project/commit/d73ef9749e72e59d1d34275e89d4d2fffddd3e8c
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
M lld/test/COFF/reloc-discarded.s
Log Message:
-----------
[lld/COFF] Demangle symbol name in discarded section relocation error message (#119726)
Commit: 22266bc958abdb1414832fa09a7a3b31166427a6
https://github.com/llvm/llvm-project/commit/22266bc958abdb1414832fa09a7a3b31166427a6
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .github/workflows/build-ci-container.yml
Log Message:
-----------
workflows/build-ci-container: Fix typos in variables (#119943)
This was preventing the containers from being pushed to the registry.
Commit: af20aff35ec37ead88903bc3e44f6a81c5c9ca4e
https://github.com/llvm/llvm-project/commit/af20aff35ec37ead88903bc3e44f6a81c5c9ca4e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
Log Message:
-----------
[Github] Fix windows container push (#119916)
The windows container push was not tested in the pull request and had a
couple of typos that prevented it from functioning. This patch fixes
that so we can actually push the container to GHCR.
Commit: a222d00c667f5582194ba7e50b870312e4b4427b
https://github.com/llvm/llvm-project/commit/a222d00c667f5582194ba7e50b870312e4b4427b
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld][WebAssembly] Introduce Ctx::arg
and forward it to LinkerDriver's ctor so that some uses of the global
`config` can be dropped. This is similar to how the ELF port
migrates away from the global `config`.
Pull Request: https://github.com/llvm/llvm-project/pull/119829
Commit: e821f642fdc75922b1a020447485acccf3e7fa92
https://github.com/llvm/llvm-project/commit/e821f642fdc75922b1a020447485acccf3e7fa92
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll
Log Message:
-----------
Revert "[AMDGPU][CodeGen] Do not backtrace invalid -regalloc param (#119687)"
Causes bot failure: https://lab.llvm.org/buildbot/#/builders/55/builds/4246/steps/11/logs/stdio
This reverts commit 7a648554f886fbc043c4f3f58ca88f6c4535f2cf.
Commit: 49c2207f21c0922aedb6c70471f8ea068977eb30
https://github.com/llvm/llvm-project/commit/49c2207f21c0922aedb6c70471f8ea068977eb30
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/shifts.cpp
Log Message:
-----------
[clang][bytecode] Fix some shift edge cases (#119895)
Around shifting negative values.
Commit: a6636ce4d124176856c3913d4bf6c3ceff1f5a1f
https://github.com/llvm/llvm-project/commit/a6636ce4d124176856c3913d4bf6c3ceff1f5a1f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/shifts.cpp
Log Message:
-----------
Revert "[clang][bytecode] Fix some shift edge cases (#119895)"
This reverts commit 49c2207f21c0922aedb6c70471f8ea068977eb30.
This breaks on big-endian, again:
https://lab.llvm.org/buildbot/#/builders/154/builds/9018
Commit: 2291e5aa45dc135a5f908032eb31d19ef3570114
https://github.com/llvm/llvm-project/commit/2291e5aa45dc135a5f908032eb31d19ef3570114
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/index.rst
Log Message:
-----------
[clang-tidy][doc] align the title style in clang-tidy/index.rst (#119938)
Uppercase each word in title and toctree
_Originally posted by @nicovank in
https://github.com/llvm/llvm-project/pull/119842#discussion_r1884559775_.
---------
Co-authored-by: Nicolas van Kempen <nvankemp at gmail.com>
Commit: ca79ff07d8ae7a0c2531bfdb1cb623e25e5bd486
https://github.com/llvm/llvm-project/commit/ca79ff07d8ae7a0c2531bfdb1cb623e25e5bd486
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2024-12-13 (Fri, 13 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARC.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/CSKY.cpp
M clang/lib/Basic/Targets/CSKY.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/Lanai.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/M68k.h
M clang/lib/Basic/Targets/MSP430.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/PNaCl.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/VE.cpp
M clang/lib/Basic/Targets/VE.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/XCore.cpp
M clang/lib/Basic/Targets/XCore.h
Log Message:
-----------
Revert "Switch builtin strings to use string tables" (#119638)
Reverts llvm/llvm-project#118734
There are currently some specific versions of MSVC that are miscompiling
this code (we think). We don't know why as all the other build bots and
at least some folks' local Windows builds work fine.
This is a candidate revert to help the relevant folks catch their
builders up and have time to debug the issue. However, the expectation
is to roll forward at some point with a workaround if at all possible.
Commit: 7c294eb78009ef252aafa269963f5496d1dedf6f
https://github.com/llvm/llvm-project/commit/7c294eb78009ef252aafa269963f5496d1dedf6f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] Simplify readMemprof (NFC) (#119930)
This patch essentially replaces:
std::pair<const std::vector<Frame> *, unsigned>
with:
ArrayRef<Frame>
This way, we can store and pass ArrayRef<Frame>, conceptually one
item, instead of the pointer and index.
The only problem is that we don't have an existing hash function for
ArrayRef<Frame>>, so we provide a custom one, namely
CallStackHash.
Commit: 74fb9928443ce3d176911615e6a0297f074736fe
https://github.com/llvm/llvm-project/commit/74fb9928443ce3d176911615e6a0297f074736fe
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[llvm-gsymutil] Disable test macho-gsym-merged-callsites-dsym (#119957)
The macho-gsym-merged-callsites-dsym is failing on some hosts.
Disabling for now while we come up with a fix.
Commit: 97c3c32372bb8478c53ab9469585c7c6e531cbd2
https://github.com/llvm/llvm-project/commit/97c3c32372bb8478c53ab9469585c7c6e531cbd2
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen][SystemZ] Correctly check the range of a leaf immediate (#119931)
The "Size >= 32" check probably dates back to when TableGen integers
were 32-bit. Delete it and simplify code by using `isInt`/`isUInt`.
Commit: 1911919682c863643787b30286bb67359c7932f4
https://github.com/llvm/llvm-project/commit/1911919682c863643787b30286bb67359c7932f4
Author: Pavel Kosov <kpdev42 at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/OHOS.cpp
Log Message:
-----------
Revert "[Driver][OHOS] Fix lld link issue for OHOS (#118192)"
This reverts commit bc28be0a428020ea803c94adb4df48ee4972e9f1.
Some issues were discovered with GN buildbot http://45.33.8.238/linux/155432/step_6.txt
Need to investigate it
Commit: cc54a0ce5674b740c2136d7bd2416ffeb4a230cf
https://github.com/llvm/llvm-project/commit/cc54a0ce5674b740c2136d7bd2416ffeb4a230cf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
M llvm/test/Transforms/VectorCombine/X86/load.ll
Log Message:
-----------
[VectorCombine] vectorizeLoadInsert - only fold when inserting into a poison vector (#119906)
We have corresponding poison tests in the "-inseltpoison.ll" sibling test files.
Fixes #119900
Commit: d6b133e5a7f143757736455a2acc7a06266e2c7d
https://github.com/llvm/llvm-project/commit/d6b133e5a7f143757736455a2acc7a06266e2c7d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port 6c4e70fcbbb6
Commit: b7e75a76449e80d8b6caa1f447d536ffa231783a
https://github.com/llvm/llvm-project/commit/b7e75a76449e80d8b6caa1f447d536ffa231783a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 9474e0945918
Commit: 0ae75eba678a9ab459a382818148ef06afe817b5
https://github.com/llvm/llvm-project/commit/0ae75eba678a9ab459a382818148ef06afe817b5
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Assert if stack grows downwards. (#119888)
Commit: 10f23d116baa221707d8831d3c34f38f511c408e
https://github.com/llvm/llvm-project/commit/10f23d116baa221707d8831d3c34f38f511c408e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] matchPMADDWD/matchPMADDWD_2 - update to use m_ExtractElt matchers. NFC.
Commit: 6157dbe48c21d900da1c7df11a8072a235f82001
https://github.com/llvm/llvm-project/commit/6157dbe48c21d900da1c7df11a8072a235f82001
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M libcxx/include/__utility/forward_like.h
M libcxx/include/variant
Log Message:
-----------
[libc++] Introduce __forward_as (#118168)
This allows forwarding an object as a specific type. This is usually
useful when using `deducing this` to avoid calling any functions in a
deriving class.
Commit: 1901da32a4c9318d860a8aa071912da700bfb923
https://github.com/llvm/llvm-project/commit/1901da32a4c9318d860a8aa071912da700bfb923
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Add a test to make sure all the type traits derived from bool_constant
Commit: bca11777bebaf3b61d25fd5874584066e80d57fa
https://github.com/llvm/llvm-project/commit/bca11777bebaf3b61d25fd5874584066e80d57fa
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
Log Message:
-----------
[nfc][mlir][scf]: Define scf.for lower/upper bounds can be also negative or zero (#117534)
Per the discussion here:
https://github.com/llvm/llvm-project/pull/116748#discussion_r1848680070 , this commit properly declare that lower and upper bounds can be also negative or zero.
Commit: c3276a96d909233b836e839a23a7ad510fae407a
https://github.com/llvm/llvm-project/commit/c3276a96d909233b836e839a23a7ad510fae407a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Disable deprecation warnings in derived_from_integral_constant.compile.pass.cpp
Commit: a999ab44be8994d39d2469c1b4d025c4e1131197
https://github.com/llvm/llvm-project/commit/a999ab44be8994d39d2469c1b4d025c4e1131197
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread safety analysis: Fix substitution for operator calls (#116487)
For operator calls that go to methods we need to substitute the first
parameter for "this" and the following parameters into the function
parameters, instead of substituting all of them into the parameters.
This revealed an issue about lambdas. An existing test accidentally
worked because the substitution bug was covered by a speciality of
lambdas: a CXXThisExpr in a lambda CXXMethodDecl does not refer to the
implicit this argument of the method, but to a captured "this" from the
context the lambda was created in. This can happen for operator calls,
where it worked due to the substitution bug (we treated the implicit
this argument incorrectly as parameter), and for regular calls (i.e.
obj.operator()(args) instead of obj(args)), where it didn't work.
The correct fix seems to be to clear the self-argument on a lambda call.
Lambdas can only capture "this" inside methods, and calls to the lambda
in that scope cannot substitute anything for "this".
Commit: 9ef73d6017584a5ea425f898754bb5d1e03536bb
https://github.com/llvm/llvm-project/commit/9ef73d6017584a5ea425f898754bb5d1e03536bb
Author: David Green <david.green at arm.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
Log Message:
-----------
[AArch64] Fix brackets warning in assert. NFC
Commit: c35108e24488af1db1914ec083439189e6a7fce6
https://github.com/llvm/llvm-project/commit/c35108e24488af1db1914ec083439189e6a7fce6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::get (NFC) (#119949)
Note that PointerUnion::get has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Commit: c0849218c43db152259a349aee130eda51057e4e
https://github.com/llvm/llvm-project/commit/c0849218c43db152259a349aee130eda51057e4e
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZOperators.td
Log Message:
-----------
[SystemZ] Use the same PatFrag for all "insert imm" fragments (NFC) (#119962)
Commit: 331c2dd8b482e441d8ccddc09f21a02cc9454786
https://github.com/llvm/llvm-project/commit/331c2dd8b482e441d8ccddc09f21a02cc9454786
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M bolt/lib/Core/DebugNames.cpp
A bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s
Log Message:
-----------
[BOLT][DWARF] Add support for DW_OP_GNU_push_tls_address to .debug_names (#119939)
Added support to BOLT for DW_OP_GNU_push_tls_address. So now
DW_TAG_variable with this OP in DW_AT_location will appear in debug
names acceleration table. Although not in the DWARF 5 spec it is similar
to DW_OP_form_tls_address. Without this support llvm-dwarfdump --verify
--debug-names will report errors.
Commit: 0032c151dcbdbf9cdd8982870c7611e6f08c504b
https://github.com/llvm/llvm-project/commit/0032c151dcbdbf9cdd8982870c7611e6f08c504b
Author: David Green <david.green at arm.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Optimize reloaded values in allocas that escape into readonly nocapture calls. (#116645)
Given an alloca that potentially has many uses in big complex code and
escapes into a call that is readonly+nocapture, we cannot easily split
up the alloca. There are several optimizations that will attempt to take
a value that is stored and a reload, and replace the load with the
original stored value. Instcombine has some simple heuristics, GVN can
sometimes do it, as can CSE in limited situations. They all suffer from
the same issue with complex code - they start from a load/store and need
to prove no-alias for all code between, which in complex cases might be
a lot to look through. Especially if the ptr is an alloca with many uses
that is over the normal escape capture limits.
The pass that does do well with allocas is SROA, as it has a complete
view of all of the uses. This patch adds a case to SROA where it can
detect allocas that are passed into calls that are no-capture readonly.
It can then optimize the reloaded values inside the alloca slice with
the stored value knowing that it is valid no matter the location of the
loads/stores from the no-escaping nature of the alloca.
Commit: e48916f615e0ad2b994b2b785d4fe1b8a98bc322
https://github.com/llvm/llvm-project/commit/e48916f615e0ad2b994b2b785d4fe1b8a98bc322
Author: pzhengqc <55604844+pzhengqc at users.noreply.github.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
A llvm/test/CodeGen/Thumb2/constant-islands-no-split.mir
Log Message:
-----------
[ARM][ConstantIslands] Correct MinNoSplitDisp calculation (#114590)
MinNoSplitDisp was first introduced in D16890 to handle cases where the
ConstantIslands pass fails to converge in the presence of big basic
blocks. However, the computation of the variable seems to be wrong as it
currently computes the offset immediately following UserBB. In other
words, it represents the distance from the beginning of the function to
the end of UserBB. The distance from the beginning of the function does
not seem to be a good indicator of how big the basic block is unless the
basic block is close to the beginning of the function. I think
MinNoSplitDisp should compute the distance between UserOffset and the
end of UserBB instead.
Commit: 9ddcaed3a64c2a187a0cfff4ba8f989c665ae1e5
https://github.com/llvm/llvm-project/commit/9ddcaed3a64c2a187a0cfff4ba8f989c665ae1e5
Author: Davide Italiano <davidino at meta.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
R clang/test/Interpreter/Inputs/vector
M clang/test/Interpreter/crash.cpp
Log Message:
-----------
Revert "[Clang] Interpreter test should not depend on system header (#119903)"
This reverts commit 8ab6912831277d87838518c5f775f79d14616860.
Commit: 61ab36a3e226df32855286dd31a2c3859800475d
https://github.com/llvm/llvm-project/commit/61ab36a3e226df32855286dd31a2c3859800475d
Author: Davide Italiano <davidino at meta.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
R clang/test/Interpreter/crash.cpp
Log Message:
-----------
Revert "[Clang-REPL] Fix crash during `__run_exit_handlers` with dynamic libraries. (#117475)"
This reverts commit 30ad53b92cec0cff9679d559edcc5b933312ba0c as it breaks
systems that don't have a systemwide libc++ or libstdc++ installed. It should
be rewritten to not invoke the system linker. In the meanwhile, reverting
to unblock the bots.
Commit: b5c5c2b26fd4bd0d0d237aaf77a01ca528810707
https://github.com/llvm/llvm-project/commit/b5c5c2b26fd4bd0d0d237aaf77a01ca528810707
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/lib/Analysis/DataFlow/ConstantPropagationAnalysis.cpp
M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
Log Message:
-----------
[DataFlow] Migrate away from PointerUnion::{is,get} (NFC) (#119950)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 2564f1e1991425cbbfcada52ebaa6191d36fdf53
https://github.com/llvm/llvm-project/commit/2564f1e1991425cbbfcada52ebaa6191d36fdf53
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
Log Message:
-----------
[VPlan] Simplify Not(Not(A)) -> A.
Follow-up simplification to 5fae408d3a4c073ee4.
Commit: aaadaee7b228d7010ff7076f5002ebb96b5e03dc
https://github.com/llvm/llvm-project/commit/aaadaee7b228d7010ff7076f5002ebb96b5e03dc
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
Log Message:
-----------
[clang-tidy] remove misuse of `getLocalOrGlobal` for non common used options (#119948)
[RFC](https://discourse.llvm.org/t/rfc-global-option-rules-for-clang-tidy/83647)
Commit: 99354f968f64659cbad5c82b0301d851ae54f057
https://github.com/llvm/llvm-project/commit/99354f968f64659cbad5c82b0301d851ae54f057
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
Log Message:
-----------
[clang][test] Fix SemaCXX/msvc-pragma-function-no-builtin-attr.cpp for x86 (#119986)
Fix test failure from #119719
84b0f0145887bbfe49fd4dc85490b14108a72cee
Closes #119979
Commit: d33bf2e9df578ff7e44fd22504d6ad5a122b7ee6
https://github.com/llvm/llvm-project/commit/d33bf2e9df578ff7e44fd22504d6ad5a122b7ee6
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M libcxxabi/test/test_demangle.pass.cpp
Log Message:
-----------
NFC: clang-format test_demangle.pass.cpp but keep test "lines"
Add clang-format on/off around test "lines"
Run clang-format without breaking string literals:
clang-format --style='{BasedOnStyle: llvm, BreakStringLiterals: false}'
-i test_demangle.pass.cpp
Add clang-format on/off on fp_literal_cases
Fixups: Split UNSUPPORTED to next line; xfail_cases trailing comma
Replace physical tab
Commit: e2dc0b9b1ec09de2b20387846cd2487362a58322
https://github.com/llvm/llvm-project/commit/e2dc0b9b1ec09de2b20387846cd2487362a58322
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[libc++] Add test_demangle.pass.cpp clang-format to .git-blame-ignore-revs
Commit: 8b02d809d284c8e10b38087431def52c86e3e9e6
https://github.com/llvm/llvm-project/commit/8b02d809d284c8e10b38087431def52c86e3e9e6
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/test/CodeGen/Mips/2008-07-16-SignExtInReg.ll
M llvm/test/CodeGen/Mips/beqzc.ll
M llvm/test/CodeGen/Mips/beqzc1.ll
M llvm/test/CodeGen/Mips/blockaddr.ll
M llvm/test/CodeGen/Mips/brsize3.ll
M llvm/test/CodeGen/Mips/brsize3a.ll
M llvm/test/CodeGen/Mips/ci2.ll
M llvm/test/CodeGen/Mips/const1.ll
M llvm/test/CodeGen/Mips/const4a.ll
M llvm/test/CodeGen/Mips/const6.ll
M llvm/test/CodeGen/Mips/const6a.ll
M llvm/test/CodeGen/Mips/ctlz.ll
M llvm/test/CodeGen/Mips/f16abs.ll
M llvm/test/CodeGen/Mips/fixdfsf.ll
M llvm/test/CodeGen/Mips/fp16instrinsmc.ll
M llvm/test/CodeGen/Mips/fp16mix.ll
M llvm/test/CodeGen/Mips/fpnotneeded.ll
M llvm/test/CodeGen/Mips/funnel-shift-rot.ll
M llvm/test/CodeGen/Mips/funnel-shift.ll
M llvm/test/CodeGen/Mips/helloworld.ll
M llvm/test/CodeGen/Mips/hf16call32.ll
M llvm/test/CodeGen/Mips/hf16call32_body.ll
M llvm/test/CodeGen/Mips/hf1_body.ll
M llvm/test/CodeGen/Mips/hfptrcall.ll
M llvm/test/CodeGen/Mips/i32k.ll
M llvm/test/CodeGen/Mips/l3mc.ll
M llvm/test/CodeGen/Mips/lcb2.ll
M llvm/test/CodeGen/Mips/lcb3c.ll
M llvm/test/CodeGen/Mips/lcb4a.ll
M llvm/test/CodeGen/Mips/lcb5.ll
M llvm/test/CodeGen/Mips/mbrsize4a.ll
M llvm/test/CodeGen/Mips/mips16-hf-attr-2.ll
M llvm/test/CodeGen/Mips/mips16-hf-attr.ll
M llvm/test/CodeGen/Mips/mips16_fpret.ll
M llvm/test/CodeGen/Mips/nomips16.ll
M llvm/test/CodeGen/Mips/powif64_16.ll
M llvm/test/CodeGen/Mips/rotate.ll
M llvm/test/CodeGen/Mips/s2rem.ll
M llvm/test/CodeGen/Mips/sel1c.ll
M llvm/test/CodeGen/Mips/sel2c.ll
M llvm/test/CodeGen/Mips/simplebr.ll
M llvm/test/CodeGen/Mips/small-section-reserve-gp.ll
M llvm/test/CodeGen/Mips/sr1.ll
M llvm/test/CodeGen/Mips/tail16.ll
M llvm/test/CodeGen/Mips/trap1.ll
Log Message:
-----------
[test] Remove redundant -march= in llc -mtriple=
Commit: 8c681a929b8684f5a4ad2ebd4e3e4f20036a9595
https://github.com/llvm/llvm-project/commit/8c681a929b8684f5a4ad2ebd4e3e4f20036a9595
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M clang/unittests/Format/FormatTestJS.cpp
Log Message:
-----------
[clang-format][NFC] Add a TypeScript test case
See #108530.
Commit: e04fde193bc2acbaf3ece851479fbd9928c1e280
https://github.com/llvm/llvm-project/commit/e04fde193bc2acbaf3ece851479fbd9928c1e280
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/EhFrame.cpp
M lld/MachO/ICF.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/MarkLive.cpp
M lld/MachO/ObjC.cpp
M lld/MachO/Relocations.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
Log Message:
-----------
[lld] Migrate away from PointerUnion::{is,get} (NFC) (#119993)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: fe9f2ac8e763d35bf7dea34063b18865ca26a781
https://github.com/llvm/llvm-project/commit/fe9f2ac8e763d35bf7dea34063b18865ca26a781
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M llvm/test/MC/ELF/relocation.s
A llvm/test/MC/X86/elf-reloc-got.s
A llvm/test/MC/X86/elf-reloc-size.s
A llvm/test/MC/X86/elf-reloc-tls.s
Log Message:
-----------
[test] Reorganize some R_X86_64_ tests
Commit: 97f43364cc8599bfc64f4f83fb81c7cd0242a1a4
https://github.com/llvm/llvm-project/commit/97f43364cc8599bfc64f4f83fb81c7cd0242a1a4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M bolt/test/merge-fdata-mixed-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-mode.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][NFC] Speedup merge-fdata (#119942)
Eliminate splitting the buffer into lines, and use `std::getline`
directly. Simplify no_lbr and boltedcollection handling as well.
Test Plan: For a large fdata file (200MB), fstream version is ~10%
faster.
Commit: 86526084044167b3c753d32ef8dbf79d57cba0c4
https://github.com/llvm/llvm-project/commit/86526084044167b3c753d32ef8dbf79d57cba0c4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-12-14 (Sat, 14 Dec 2024)
Changed paths:
M bolt/test/merge-fdata-lbr-mode.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT] Fix counts aggregation in merge-fdata (#119652)
merge-fdata used to consider misprediction count as part of "signature",
or the aggregation key. This prevented it from collapsing profile lines
with different misprediction counts, which resulted in duplicate
`(from, to)` pairs with different misprediction and execution counts.
Fix that by splitting out misprediction count and accumulating it
separately.
Test Plan: updated bolt/test/merge-fdata-lbr-mode.test
Commit: 4c8c1308479166d00b4e1d74ceee7cf0abfe6e72
https://github.com/llvm/llvm-project/commit/4c8c1308479166d00b4e1d74ceee7cf0abfe6e72
Author: David Green <david.green at arm.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64][GlobalISel] Scalarize i128 shufflevector instructions. (#119980)
This, like other operations, scalarizes shuffle vector operations with
types larger than 64bits. ImplicitDef and Freeze are also handled the
same way, to allow them to legalize. The legalization of
fewerElementsVectorShuffle is adjusted to handled scalarization.
Commit: eb1f9cced9e878362aeac18e120895995f759ee3
https://github.com/llvm/llvm-project/commit/eb1f9cced9e878362aeac18e120895995f759ee3
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M libunwind/include/__libunwind_config.h
Log Message:
-----------
[libunwind] Fix compilation for the x32 ABI. (#116608)
This would previously fail the static assertions in `UnwindCursor.hpp`
due to `UnwindCursor`'s size not matching `unw_cursor_t`'s size. As is
done for MIPS N32, this just declares the appropriate size in
`__libunwind_config.h`.
Commit: 6b493baec1ada4ef714197803926c37cd9c56e03
https://github.com/llvm/llvm-project/commit/6b493baec1ada4ef714197803926c37cd9c56e03
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/PDB.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
Log Message:
-----------
[LLD][COFF] Store reference to SymbolTable instead of COFFLinkerContext in InputFile (NFC) (#119296)
This change prepares for the introduction of separate hybrid namespaces.
Hybrid images will require two `SymbolTable` instances, making it
necessary to associate `InputFile` objects with the relevant one.
Commit: 916bae2d921705c8ce78a4ddec4503c61bc8220c
https://github.com/llvm/llvm-project/commit/916bae2d921705c8ce78a4ddec4503c61bc8220c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - refactor to make it easier to match icmp/fcmp patterns
NFC refactor to make it easier to also use the fold for icmp/fcmp patterns in a future patch - match the Shuffle with general Instruction operands and avoid explicit use of the BinaryOperator matches as much as possible for the general costing / fold.
Commit: 734a204fbd4b790048c57f79351ad8beeb1000ce
https://github.com/llvm/llvm-project/commit/734a204fbd4b790048c57f79351ad8beeb1000ce
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 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/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Manage VPWidenIntOrFPInduction debug location via recipe (NFC).
Properly set VPWidenIntOrFpInductionRecipe's debug location in the
recipe and use it, instead of using the debug location of the underlying
IR instruction.
Commit: e1271dd5a7ecf5cee59c8e2684b93501a1aab82d
https://github.com/llvm/llvm-project/commit/e1271dd5a7ecf5cee59c8e2684b93501a1aab82d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
Log Message:
-----------
[clangd] Index reserved symbols from `*intrin.h` system headers (#119735)
Summary:
`clangd` intentionally suppresses indexing symbols from system headers
as these are likely implementation details the user does not want.
Howver, there are plenty of system headers that provide extensions that
we want to index, such as vector intrinsic headers. This patch adds an
extra check for these commonly-named '*intrin.h' headers. This is not
fully inclusive for all symbols the user might want, but it's a good
start.
Fixes: https://github.com/llvm/llvm-project/issues/118684
---------
Co-authored-by: Nathan Ridge <zeratul976 at hotmail.com>
Commit: e85a9f5540f5399b20a32c8d87474e6fc906ad33
https://github.com/llvm/llvm-project/commit/e85a9f5540f5399b20a32c8d87474e6fc906ad33
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M libc/shared/rpc.h
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/server/rpc_server.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
libc: Prefix RPC Status code to avoid conflict in windows build (#119991)
Somehow conflict with define in wingdi.h.
Fix build failures:
[ 52%] Building CXX object
projects/offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/RPC.cpp.obj
In file included from
...llvm\offload\plugins-nextgen\common\src\RPC.cpp:16:
...\llvm\libc\shared\rpc.h(48,3): error: expected identifier
48 | ERROR = 0x1000,
| ^
c:\Program files (x86)\Windows
Kits\10\include\10.0.22000.0\um\wingdi.h(118,29): note: expanded from
macro 'ERROR'
118 | #define ERROR 0
| ^
...\llvm\offload\plugins-nextgen\common\src\RPC.cpp(75,17): error:
expected unqualified-id
75 | return rpc::ERROR;
| ^
c:\Program files (x86)\Windows
Kits\10\include\10.0.22000.0\um\wingdi.h(118,29): note: expanded from
macro 'ERROR'
118 | #define ERROR 0
| ^
2 errors generated.
Commit: 6c98f70b30408916de6ad5cb82081ca7d9b1c39e
https://github.com/llvm/llvm-project/commit/6c98f70b30408916de6ad5cb82081ca7d9b1c39e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
Log Message:
-----------
[LV] Add test with missing debug location for pointer IV in vector loop.
Commit: 2067e604a49d49ce054d61a0109ec12a724e3db2
https://github.com/llvm/llvm-project/commit/2067e604a49d49ce054d61a0109ec12a724e3db2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 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/preserve-dbg-loc-and-loop-metadata.ll
Log Message:
-----------
[VPlan] Manage VPWidenPointerInduction debug location via recipe.
Update VPWidenPointerInduction to manage its debug location via recipe.
This makes sure we emit a proper debug location for
VPWidenPointerInductionRecipes.
Commit: 49a5ad8e5714fd404210279303acc97b495d66d0
https://github.com/llvm/llvm-project/commit/49a5ad8e5714fd404210279303acc97b495d66d0
Author: Malte Dehling <mdehling at gmail.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/docs/Dialects/Transform.md
Log Message:
-----------
[mlir] Add DLTI transform ops section (#118153)
Adds missing _DLTI Transform Operations_ section to the transform
dialect documentation.
Co-authored-by: Malte Dehling <m.dehling at samsung.com>
Commit: b0746c68629c26567cd123d8f9b28e796ef26f47
https://github.com/llvm/llvm-project/commit/b0746c68629c26567cd123d8f9b28e796ef26f47
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
Log Message:
-----------
[mlir-tblgen] Migrate away from PointerUnion::{is,get} (NFC) (#119994)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: a22578d38c773b3969fc02f80ffd7042dc4ad3e3
https://github.com/llvm/llvm-project/commit/a22578d38c773b3969fc02f80ffd7042dc4ad3e3
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/transfer-samesign-facts.ll
Log Message:
-----------
ConstraintElim: teach fact-transfer about samesign (#115893)
When the samesign flag is present on an icmp, we can transfer all the
facts on the unsigned system to the signed system, and vice-versa: we do
this by specializing transferToOtherSystem when samesign is present.
Commit: 0a9810d32599e515236940ce15631cfa8586d403
https://github.com/llvm/llvm-project/commit/0a9810d32599e515236940ce15631cfa8586d403
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/SymbolTable.cpp
Log Message:
-----------
[LLD][COFF] Factor out LinkerDriver::setMachine (NFC) (#119297)
Commit: d3c485717979add739b90c82b7bc79a1e57f3cd2
https://github.com/llvm/llvm-project/commit/d3c485717979add739b90c82b7bc79a1e57f3cd2
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF] Store machine type in SymbolTable (NFC) (#119298)
This change prepares for hybrid ARM64X support, which requires two
`SymbolTable` instances: one for native symbols and one for EC symbols.
In such cases, `config.machine` will remain ARM64X, while the
`SymbolTable` instances will store ARM64 and ARM64EC machine types.
Commit: a8206e7b37929f4754806667680ffba0206eef95
https://github.com/llvm/llvm-project/commit/a8206e7b37929f4754806667680ffba0206eef95
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/SymbolTable.h
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
A lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)
On hybrid ARM64X targets, ARM64 and ARM64EC input files operate in
separate namespaces and cannot reference each other. This change
introduces separate `SymbolTable` instances and associates each
`InputFile` with the appropriate table to reflect this behavior.
Commit: 6a865b6d3d44e53adc9342fb2d80a604f5459707
https://github.com/llvm/llvm-project/commit/6a865b6d3d44e53adc9342fb2d80a604f5459707
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/hdrgen/yaml/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/cosf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/sinf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cosf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cosf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add cosf16 function (#118785)
Commit: 171056ff5778c40df916c5a4cea84ea6320b965f
https://github.com/llvm/llvm-project/commit/171056ff5778c40df916c5a4cea84ea6320b965f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/M68k/GlobalISel/legalize-add.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-and.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-mul.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-sub.mir
M llvm/test/CodeGen/M68k/GlobalISel/legalize-udiv.mir
M llvm/test/CodeGen/MSP430/2009-05-17-Rot.ll
M llvm/test/CodeGen/MSP430/2009-05-17-Shift.ll
M llvm/test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll
M llvm/test/CodeGen/MSP430/2009-10-10-OrImpDef.ll
M llvm/test/CodeGen/MSP430/2009-11-20-NewNode.ll
M llvm/test/CodeGen/MSP430/AddrMode-bis-rx.ll
M llvm/test/CodeGen/MSP430/AddrMode-bis-xr.ll
M llvm/test/CodeGen/MSP430/AddrMode-mov-rx.ll
M llvm/test/CodeGen/MSP430/AddrMode-mov-xr.ll
M llvm/test/CodeGen/MSP430/BranchSelector.ll
M llvm/test/CodeGen/MSP430/DbgValueOtherTargets.test
M llvm/test/CodeGen/MSP430/Inst16mi.ll
M llvm/test/CodeGen/MSP430/Inst16mm.ll
M llvm/test/CodeGen/MSP430/Inst16mr.ll
M llvm/test/CodeGen/MSP430/Inst16ri.ll
M llvm/test/CodeGen/MSP430/Inst16rm.ll
M llvm/test/CodeGen/MSP430/Inst16rr.ll
M llvm/test/CodeGen/MSP430/Inst8mi.ll
M llvm/test/CodeGen/MSP430/Inst8mm.ll
M llvm/test/CodeGen/MSP430/Inst8mr.ll
M llvm/test/CodeGen/MSP430/Inst8ri.ll
M llvm/test/CodeGen/MSP430/Inst8rm.ll
M llvm/test/CodeGen/MSP430/Inst8rr.ll
M llvm/test/CodeGen/MSP430/InstII.ll
M llvm/test/CodeGen/MSP430/bit.ll
M llvm/test/CodeGen/MSP430/flt_rounds.ll
M llvm/test/CodeGen/MSP430/indirectbr.ll
M llvm/test/CodeGen/MSP430/indirectbr2.ll
M llvm/test/CodeGen/MSP430/mult-alt-generic-msp430.ll
M llvm/test/CodeGen/MSP430/select-use-sr.ll
M llvm/test/CodeGen/MSP430/setcc.ll
M llvm/test/CodeGen/MSP430/spill-to-stack.ll
M llvm/test/CodeGen/MSP430/stacksave_restore.ll
M llvm/test/CodeGen/MSP430/umulo-16.ll
Log Message:
-----------
[M68k,MSP430,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
Commit: 2208c97c1bec2512d4e47b6223db6d95a7037956
https://github.com/llvm/llvm-project/commit/2208c97c1bec2512d4e47b6223db6d95a7037956
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/Hexagon/64bit_tstbit.ll
M llvm/test/CodeGen/Hexagon/Atomics.ll
M llvm/test/CodeGen/Hexagon/BranchPredict.ll
M llvm/test/CodeGen/Hexagon/Halide_vec_cast_trunc1.ll
M llvm/test/CodeGen/Hexagon/Halide_vec_cast_trunc2.ll
M llvm/test/CodeGen/Hexagon/M4_mpyri_addi_global.ll
M llvm/test/CodeGen/Hexagon/M4_mpyrr_addi_global.ll
M llvm/test/CodeGen/Hexagon/NVJumpCmp.ll
M llvm/test/CodeGen/Hexagon/P08214.ll
M llvm/test/CodeGen/Hexagon/PR33749.ll
M llvm/test/CodeGen/Hexagon/SUnit-boundary-prob.ll
M llvm/test/CodeGen/Hexagon/V60-VDblNew.ll
M llvm/test/CodeGen/Hexagon/abi-padding-2.ll
M llvm/test/CodeGen/Hexagon/abi-padding.ll
M llvm/test/CodeGen/Hexagon/abs.ll
M llvm/test/CodeGen/Hexagon/absaddr-store.ll
M llvm/test/CodeGen/Hexagon/absimm.ll
M llvm/test/CodeGen/Hexagon/add-use.ll
M llvm/test/CodeGen/Hexagon/add_int_double.ll
M llvm/test/CodeGen/Hexagon/add_mpi_RRR.ll
M llvm/test/CodeGen/Hexagon/addaddi.ll
M llvm/test/CodeGen/Hexagon/addasl-address.ll
M llvm/test/CodeGen/Hexagon/addh-sext-trunc.ll
M llvm/test/CodeGen/Hexagon/addh-shifted.ll
M llvm/test/CodeGen/Hexagon/addh.ll
M llvm/test/CodeGen/Hexagon/addr-calc-opt.ll
M llvm/test/CodeGen/Hexagon/addr-mode-opt.ll
M llvm/test/CodeGen/Hexagon/addrmode-align.ll
M llvm/test/CodeGen/Hexagon/addrmode-globoff.mir
M llvm/test/CodeGen/Hexagon/addrmode-immop.mir
M llvm/test/CodeGen/Hexagon/addrmode-indoff.ll
M llvm/test/CodeGen/Hexagon/addrmode-keepdeadphis.ll
M llvm/test/CodeGen/Hexagon/addrmode-keepdeadphis.mir
M llvm/test/CodeGen/Hexagon/addrmode-no-rdef.mir
M llvm/test/CodeGen/Hexagon/addrmode-offset.ll
M llvm/test/CodeGen/Hexagon/addrmode-opt-assert.mir
M llvm/test/CodeGen/Hexagon/addrmode-rr-to-io.mir
M llvm/test/CodeGen/Hexagon/addsubcarry.ll
M llvm/test/CodeGen/Hexagon/adjust-latency-stackST.ll
M llvm/test/CodeGen/Hexagon/aggr-antidep-tied.ll
M llvm/test/CodeGen/Hexagon/aggr-copy-order.ll
M llvm/test/CodeGen/Hexagon/aggr-licm.ll
M llvm/test/CodeGen/Hexagon/aggressive_licm.ll
M llvm/test/CodeGen/Hexagon/align_Os.ll
M llvm/test/CodeGen/Hexagon/align_test.ll
M llvm/test/CodeGen/Hexagon/alu64.ll
M llvm/test/CodeGen/Hexagon/always-ext.ll
M llvm/test/CodeGen/Hexagon/anti-dep-partial.mir
M llvm/test/CodeGen/Hexagon/args.ll
M llvm/test/CodeGen/Hexagon/ashift-left-right.ll
M llvm/test/CodeGen/Hexagon/asr-rnd.ll
M llvm/test/CodeGen/Hexagon/asr-rnd64.ll
M llvm/test/CodeGen/Hexagon/assert-postinc-ptr-not-value.ll
M llvm/test/CodeGen/Hexagon/atomic-opaque-basic.ll
M llvm/test/CodeGen/Hexagon/atomic-rmw-add.ll
M llvm/test/CodeGen/Hexagon/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/Hexagon/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/Hexagon/autohvx/abs.ll
M llvm/test/CodeGen/Hexagon/autohvx/addi-offset-opt-addr-mode.ll
M llvm/test/CodeGen/Hexagon/autohvx/addi-opt-predicated-def-bug.ll
M llvm/test/CodeGen/Hexagon/autohvx/align-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/align-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/align2-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/align2-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/arith-float.ll
M llvm/test/CodeGen/Hexagon/autohvx/arith.ll
M llvm/test/CodeGen/Hexagon/autohvx/bitcount-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/bitcount-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/bitwise-pred-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/bitwise-pred-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/bswap.ll
M llvm/test/CodeGen/Hexagon/autohvx/build-vector-float-type.ll
M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-type.ll
M llvm/test/CodeGen/Hexagon/autohvx/calling-conv.ll
M llvm/test/CodeGen/Hexagon/autohvx/concat-vectors-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/concat-vectors-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/contract-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/contract-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/conv-fp-fp.ll
M llvm/test/CodeGen/Hexagon/autohvx/conv-fp-int-ieee.ll
M llvm/test/CodeGen/Hexagon/autohvx/ctpop-split.ll
M llvm/test/CodeGen/Hexagon/autohvx/deal-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/deal-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/delta-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/delta-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/delta2-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/extract-element.ll
M llvm/test/CodeGen/Hexagon/autohvx/fp-to-int.ll
M llvm/test/CodeGen/Hexagon/autohvx/funnel-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/hfinsert.ll
M llvm/test/CodeGen/Hexagon/autohvx/hvx-idiom-empty-results.ll
M llvm/test/CodeGen/Hexagon/autohvx/int-to-fp.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-anyext-inreg.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-anyext-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-bitcast-vsplat.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-bitcast-vsplat2.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-bool-vector.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-build-undef.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-build-vector.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-multiple.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-vectors-bool.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-vectors.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat-bitcast.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat-imm.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-const-vector.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-expand-unaligned-loads-noindexed.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-expand-unaligned-loads.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-extractelt-illegal-type.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-concat-truncate.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-pred-bitcast.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-insert-subvector-v4i8.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-intrinsics.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-mstore-fp16.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-q-legalization-loop.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-q2v-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-qfalse.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-select-const.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-select-q.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-pair-fp.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-v256i1.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-sext-inreg.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shift-byte.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuff-single.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-gather.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-isdisel.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-no-perfect-completion.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-pack.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-split-masked.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-store-bitcast-v128i1.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-truncate-legal.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-truncate.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-undef-not-zero.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-vec-ext.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-vpackew.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-vsplat-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-memop.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-store.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-illegal-elem.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-op.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate.ll
M llvm/test/CodeGen/Hexagon/autohvx/logical-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/logical-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/lower-insert-elt.ll
M llvm/test/CodeGen/Hexagon/autohvx/masked-vmem-basic.ll
M llvm/test/CodeGen/Hexagon/autohvx/minmax-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/minmax-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/minmax-float.ll
M llvm/test/CodeGen/Hexagon/autohvx/mulh.ll
M llvm/test/CodeGen/Hexagon/autohvx/non-simple-hvx-type.ll
M llvm/test/CodeGen/Hexagon/autohvx/perfect-single.ll
M llvm/test/CodeGen/Hexagon/autohvx/pred-vmem-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/pred-vmem-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/qmul-add-over-32-bit.ll
M llvm/test/CodeGen/Hexagon/autohvx/qmul-chop.ll
M llvm/test/CodeGen/Hexagon/autohvx/qmul.ll
M llvm/test/CodeGen/Hexagon/autohvx/reg-sequence.ll
M llvm/test/CodeGen/Hexagon/autohvx/shift-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shift-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-combos-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-combos-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-perfect-inverted-pair.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuff-single.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuffle-expanding-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuffle-expanding-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuffle-half-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/shuffle-half-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/splat.ll
M llvm/test/CodeGen/Hexagon/autohvx/vdd0.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-addr.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-bad-move.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-bad-move3.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-base-type-mismatch.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-interleaved.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-only-phi-use.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-order.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-rescale-nonint.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-scalar-mask.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-store-mask.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-store.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-terminator.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-use-in-different-block.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-float.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-load-store-basic.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-predicate-typecast.ll
M llvm/test/CodeGen/Hexagon/autohvx/vext-128b.ll
M llvm/test/CodeGen/Hexagon/autohvx/vext-64b.ll
M llvm/test/CodeGen/Hexagon/autohvx/vmpy-parts.ll
M llvm/test/CodeGen/Hexagon/autohvx/vmux-order.ll
M llvm/test/CodeGen/Hexagon/autohvx/widen-ext.ll
M llvm/test/CodeGen/Hexagon/autohvx/widen-setcc.ll
M llvm/test/CodeGen/Hexagon/autohvx/widen-trunc.ll
M llvm/test/CodeGen/Hexagon/avoid-predspill-calleesaved.ll
M llvm/test/CodeGen/Hexagon/avoid-predspill.ll
M llvm/test/CodeGen/Hexagon/avoidVectorLowering.ll
M llvm/test/CodeGen/Hexagon/bank-conflict-load.mir
M llvm/test/CodeGen/Hexagon/bank-conflict.mir
M llvm/test/CodeGen/Hexagon/barrier-flag.ll
M llvm/test/CodeGen/Hexagon/base-offset-addr.ll
M llvm/test/CodeGen/Hexagon/base-offset-post.ll
M llvm/test/CodeGen/Hexagon/base-offset-stv4.ll
M llvm/test/CodeGen/Hexagon/bit-addr-align.mir
M llvm/test/CodeGen/Hexagon/bit-bitsplit-at.ll
M llvm/test/CodeGen/Hexagon/bit-bitsplit-regclass.ll
M llvm/test/CodeGen/Hexagon/bit-bitsplit-src.ll
M llvm/test/CodeGen/Hexagon/bit-bitsplit.ll
M llvm/test/CodeGen/Hexagon/bit-cmp0.mir
M llvm/test/CodeGen/Hexagon/bit-eval.ll
M llvm/test/CodeGen/Hexagon/bit-ext-sat.ll
M llvm/test/CodeGen/Hexagon/bit-extract-off.ll
M llvm/test/CodeGen/Hexagon/bit-extract.ll
M llvm/test/CodeGen/Hexagon/bit-extractu-half.ll
M llvm/test/CodeGen/Hexagon/bit-gen-rseq.ll
M llvm/test/CodeGen/Hexagon/bit-has.ll
M llvm/test/CodeGen/Hexagon/bit-loop-rc-mismatch.ll
M llvm/test/CodeGen/Hexagon/bit-loop.ll
M llvm/test/CodeGen/Hexagon/bit-phi.ll
M llvm/test/CodeGen/Hexagon/bit-rie.ll
M llvm/test/CodeGen/Hexagon/bit-skip-byval.ll
M llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir
M llvm/test/CodeGen/Hexagon/bit-validate-reg.ll
M llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll
M llvm/test/CodeGen/Hexagon/bitcast-i128-to-v128i1.ll
M llvm/test/CodeGen/Hexagon/bitconvert-vector.ll
M llvm/test/CodeGen/Hexagon/bitmanip.ll
M llvm/test/CodeGen/Hexagon/bkfir.ll
M llvm/test/CodeGen/Hexagon/block-addr.ll
M llvm/test/CodeGen/Hexagon/block-address.ll
M llvm/test/CodeGen/Hexagon/block-ranges-nodef.ll
M llvm/test/CodeGen/Hexagon/blockaddr-fpic.ll
M llvm/test/CodeGen/Hexagon/branch-folder-hoist-kills.mir
M llvm/test/CodeGen/Hexagon/branch-non-mbb.ll
M llvm/test/CodeGen/Hexagon/branchfolder-insert-impdef.mir
M llvm/test/CodeGen/Hexagon/branchfolder-keep-impdef.ll
M llvm/test/CodeGen/Hexagon/brcond-setne.ll
M llvm/test/CodeGen/Hexagon/brev_ld.ll
M llvm/test/CodeGen/Hexagon/brev_st.ll
M llvm/test/CodeGen/Hexagon/bss-local.ll
M llvm/test/CodeGen/Hexagon/bug-aa4463-ifconv-vecpred.ll
M llvm/test/CodeGen/Hexagon/bug-allocframe-size.ll
M llvm/test/CodeGen/Hexagon/bug-hcp-tied-kill.ll
M llvm/test/CodeGen/Hexagon/bug14859-iv-cleanup-lpad.ll
M llvm/test/CodeGen/Hexagon/bug14859-split-const-block-addr.ll
M llvm/test/CodeGen/Hexagon/bug17276.ll
M llvm/test/CodeGen/Hexagon/bug17386.ll
M llvm/test/CodeGen/Hexagon/bug18008.ll
M llvm/test/CodeGen/Hexagon/bug18491-optsize.ll
M llvm/test/CodeGen/Hexagon/bug19076.ll
M llvm/test/CodeGen/Hexagon/bug19119.ll
M llvm/test/CodeGen/Hexagon/bug19254-ifconv-vec.ll
M llvm/test/CodeGen/Hexagon/bug27085.ll
M llvm/test/CodeGen/Hexagon/bug31839.ll
M llvm/test/CodeGen/Hexagon/bug6757-endloop.ll
M llvm/test/CodeGen/Hexagon/bug9049.ll
M llvm/test/CodeGen/Hexagon/bug9963.ll
M llvm/test/CodeGen/Hexagon/bugAsmHWloop.ll
M llvm/test/CodeGen/Hexagon/build-vector-shuffle.ll
M llvm/test/CodeGen/Hexagon/build-vector-v4i8-zext.ll
M llvm/test/CodeGen/Hexagon/builtin-expect.ll
M llvm/test/CodeGen/Hexagon/builtin-prefetch-offset.ll
M llvm/test/CodeGen/Hexagon/builtin-prefetch.ll
M llvm/test/CodeGen/Hexagon/call-long1.ll
M llvm/test/CodeGen/Hexagon/call-ret-i1.ll
M llvm/test/CodeGen/Hexagon/call-v4.ll
M llvm/test/CodeGen/Hexagon/callR_noreturn.ll
M llvm/test/CodeGen/Hexagon/calling-conv-2.ll
M llvm/test/CodeGen/Hexagon/calling-conv.ll
M llvm/test/CodeGen/Hexagon/callr-dep-edge.ll
M llvm/test/CodeGen/Hexagon/cext-check.ll
M llvm/test/CodeGen/Hexagon/cext-ice.ll
M llvm/test/CodeGen/Hexagon/cext-opt-basic.mir
M llvm/test/CodeGen/Hexagon/cext-opt-block-addr.mir
M llvm/test/CodeGen/Hexagon/cext-opt-negative-fi.mir
M llvm/test/CodeGen/Hexagon/cext-opt-numops.mir
M llvm/test/CodeGen/Hexagon/cext-opt-range-assert.mir
M llvm/test/CodeGen/Hexagon/cext-opt-range-offset.mir
M llvm/test/CodeGen/Hexagon/cext-opt-shifted-range.mir
M llvm/test/CodeGen/Hexagon/cext-opt-stack-no-rr.mir
M llvm/test/CodeGen/Hexagon/cext-unnamed-global.mir
M llvm/test/CodeGen/Hexagon/cext-valid-packet1.ll
M llvm/test/CodeGen/Hexagon/cext-valid-packet2.ll
M llvm/test/CodeGen/Hexagon/cext.ll
M llvm/test/CodeGen/Hexagon/cexti16.ll
M llvm/test/CodeGen/Hexagon/cfgopt-fall-through.ll
M llvm/test/CodeGen/Hexagon/cfi-late-and-regpressure-init.ll
M llvm/test/CodeGen/Hexagon/cfi-late.ll
M llvm/test/CodeGen/Hexagon/cfi-offset.ll
M llvm/test/CodeGen/Hexagon/cfi_offset.ll
M llvm/test/CodeGen/Hexagon/cfi_offset2.ll
M llvm/test/CodeGen/Hexagon/check-dot-new.ll
M llvm/test/CodeGen/Hexagon/check-subregister-for-latency.ll
M llvm/test/CodeGen/Hexagon/checktabs.ll
M llvm/test/CodeGen/Hexagon/circ-load-isel.ll
M llvm/test/CodeGen/Hexagon/circ_ld.ll
M llvm/test/CodeGen/Hexagon/circ_ldd_bug.ll
M llvm/test/CodeGen/Hexagon/circ_ldw.ll
M llvm/test/CodeGen/Hexagon/circ_new.ll
M llvm/test/CodeGen/Hexagon/circ_pcr_assert.ll
M llvm/test/CodeGen/Hexagon/circ_st.ll
M llvm/test/CodeGen/Hexagon/clr_set_toggle.ll
M llvm/test/CodeGen/Hexagon/cmp-extend.ll
M llvm/test/CodeGen/Hexagon/cmp-promote.ll
M llvm/test/CodeGen/Hexagon/cmp-to-genreg.ll
M llvm/test/CodeGen/Hexagon/cmp-to-predreg.ll
M llvm/test/CodeGen/Hexagon/cmp_pred.ll
M llvm/test/CodeGen/Hexagon/cmp_pred2.ll
M llvm/test/CodeGen/Hexagon/cmp_pred_reg.ll
M llvm/test/CodeGen/Hexagon/cmpb-dec-imm.ll
M llvm/test/CodeGen/Hexagon/cmpb-eq.ll
M llvm/test/CodeGen/Hexagon/cmpb_gtu.ll
M llvm/test/CodeGen/Hexagon/cmpb_pred.ll
M llvm/test/CodeGen/Hexagon/cmpbeq.ll
M llvm/test/CodeGen/Hexagon/cmph-gtu.ll
M llvm/test/CodeGen/Hexagon/cmpy-round.ll
M llvm/test/CodeGen/Hexagon/coalesce_tfri.ll
M llvm/test/CodeGen/Hexagon/coalescing-hvx-across-calls.ll
M llvm/test/CodeGen/Hexagon/combine-imm-ext.ll
M llvm/test/CodeGen/Hexagon/combine-imm-ext2.ll
M llvm/test/CodeGen/Hexagon/combine.ll
M llvm/test/CodeGen/Hexagon/combine_ir.ll
M llvm/test/CodeGen/Hexagon/combine_lh.ll
M llvm/test/CodeGen/Hexagon/combiner-lts.ll
M llvm/test/CodeGen/Hexagon/common-gep-basic.ll
M llvm/test/CodeGen/Hexagon/common-gep-icm.ll
M llvm/test/CodeGen/Hexagon/common-gep-inbounds.ll
M llvm/test/CodeGen/Hexagon/common-global-addr.ll
M llvm/test/CodeGen/Hexagon/concat-vectors-legalize.ll
M llvm/test/CodeGen/Hexagon/const-combine.ll
M llvm/test/CodeGen/Hexagon/const-pool-tf.ll
M llvm/test/CodeGen/Hexagon/constant_compound.ll
M llvm/test/CodeGen/Hexagon/constext-call.ll
M llvm/test/CodeGen/Hexagon/constext-immstore.ll
M llvm/test/CodeGen/Hexagon/constext-replace.ll
M llvm/test/CodeGen/Hexagon/constp-andir-global.mir
M llvm/test/CodeGen/Hexagon/constp-clb.ll
M llvm/test/CodeGen/Hexagon/constp-combine-neg.ll
M llvm/test/CodeGen/Hexagon/constp-ctb.ll
M llvm/test/CodeGen/Hexagon/constp-extract.ll
M llvm/test/CodeGen/Hexagon/constp-rewrite-branches.ll
M llvm/test/CodeGen/Hexagon/constp-rseq.ll
M llvm/test/CodeGen/Hexagon/constp-vsplat.ll
M llvm/test/CodeGen/Hexagon/convert_const_i1_to_i8.ll
M llvm/test/CodeGen/Hexagon/convertdptoint.ll
M llvm/test/CodeGen/Hexagon/convertdptoll.ll
M llvm/test/CodeGen/Hexagon/convertsptoint.ll
M llvm/test/CodeGen/Hexagon/convertsptoll.ll
M llvm/test/CodeGen/Hexagon/copy-to-combine-const64.mir
M llvm/test/CodeGen/Hexagon/copy-to-combine-dbg.ll
M llvm/test/CodeGen/Hexagon/count_0s.ll
M llvm/test/CodeGen/Hexagon/countbits-basic.ll
M llvm/test/CodeGen/Hexagon/csr-func-usedef.ll
M llvm/test/CodeGen/Hexagon/csr_stub_calls_dwarf_frame_info.ll
M llvm/test/CodeGen/Hexagon/ctor.ll
M llvm/test/CodeGen/Hexagon/dadd.ll
M llvm/test/CodeGen/Hexagon/dag-combine-select-or0.ll
M llvm/test/CodeGen/Hexagon/dag-indexed.ll
M llvm/test/CodeGen/Hexagon/dccleana.ll
M llvm/test/CodeGen/Hexagon/dead-store-stack.ll
M llvm/test/CodeGen/Hexagon/dealloc-store.ll
M llvm/test/CodeGen/Hexagon/dealloc_return.ll
M llvm/test/CodeGen/Hexagon/debug-line_table_start.ll
M llvm/test/CodeGen/Hexagon/debug-prologue-loc.ll
M llvm/test/CodeGen/Hexagon/debug-prologue.ll
M llvm/test/CodeGen/Hexagon/def-undef-deps.ll
M llvm/test/CodeGen/Hexagon/default-align.ll
M llvm/test/CodeGen/Hexagon/deflate.ll
M llvm/test/CodeGen/Hexagon/df-min-max.ll
M llvm/test/CodeGen/Hexagon/dfp.ll
M llvm/test/CodeGen/Hexagon/dhry.ll
M llvm/test/CodeGen/Hexagon/dhry_proc8.ll
M llvm/test/CodeGen/Hexagon/dhry_stall.ll
M llvm/test/CodeGen/Hexagon/disable-const64.ll
M llvm/test/CodeGen/Hexagon/dmul.ll
M llvm/test/CodeGen/Hexagon/dont_rotate_pregs_at_O2.ll
M llvm/test/CodeGen/Hexagon/double.ll
M llvm/test/CodeGen/Hexagon/dsub.ll
M llvm/test/CodeGen/Hexagon/duplex-addi-global-imm.mir
M llvm/test/CodeGen/Hexagon/dwarf-discriminator.ll
M llvm/test/CodeGen/Hexagon/early-if-conv-lifetime.mir
M llvm/test/CodeGen/Hexagon/early-if-conversion-bug1.ll
M llvm/test/CodeGen/Hexagon/early-if-debug.mir
M llvm/test/CodeGen/Hexagon/early-if-low8.mir
M llvm/test/CodeGen/Hexagon/early-if-merge-loop.ll
M llvm/test/CodeGen/Hexagon/early-if-phi-i1.ll
M llvm/test/CodeGen/Hexagon/early-if-predicator.mir
M llvm/test/CodeGen/Hexagon/early-if-spare.ll
M llvm/test/CodeGen/Hexagon/early-if-vecpi.ll
M llvm/test/CodeGen/Hexagon/early-if-vecpred.ll
M llvm/test/CodeGen/Hexagon/early-if.ll
M llvm/test/CodeGen/Hexagon/eh_return-r30.ll
M llvm/test/CodeGen/Hexagon/eh_return.ll
M llvm/test/CodeGen/Hexagon/eh_save_restore.ll
M llvm/test/CodeGen/Hexagon/ehabi.ll
M llvm/test/CodeGen/Hexagon/eliminate-pred-spill.ll
M llvm/test/CodeGen/Hexagon/entryBB-isLoopHdr.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-basic.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-copy-lis.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-dead-bad.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-dead-pred.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-dead.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-def-undef.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-extend.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-imm.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-impuse.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-impuse2.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-phys-reg.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-pred-undef.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-pred-undef2.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-rm-reg.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-rm-segment.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-same-inputs.mir
M llvm/test/CodeGen/Hexagon/expand-condsets-undef2.ll
M llvm/test/CodeGen/Hexagon/expand-condsets-undefvni.ll
M llvm/test/CodeGen/Hexagon/expand-condsets.ll
M llvm/test/CodeGen/Hexagon/expand-copyw-undef.mir
M llvm/test/CodeGen/Hexagon/expand-vselect-kill.mir
M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef.ll
M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef2.ll
M llvm/test/CodeGen/Hexagon/expand-wselect.mir
M llvm/test/CodeGen/Hexagon/extload-combine.ll
M llvm/test/CodeGen/Hexagon/extract-basic.ll
M llvm/test/CodeGen/Hexagon/extract_0bits.ll
M llvm/test/CodeGen/Hexagon/extractu_0bits.ll
M llvm/test/CodeGen/Hexagon/fadd.ll
M llvm/test/CodeGen/Hexagon/fcmp.ll
M llvm/test/CodeGen/Hexagon/feature-compound.ll
M llvm/test/CodeGen/Hexagon/feature-memops.ll
M llvm/test/CodeGen/Hexagon/find-loop-instr.ll
M llvm/test/CodeGen/Hexagon/find-loop.ll
M llvm/test/CodeGen/Hexagon/fixed-spill-mutable.ll
M llvm/test/CodeGen/Hexagon/float-amode.ll
M llvm/test/CodeGen/Hexagon/float-bitcast.ll
M llvm/test/CodeGen/Hexagon/float-const64-G0.ll
M llvm/test/CodeGen/Hexagon/float-gen-cmpop.ll
M llvm/test/CodeGen/Hexagon/float.ll
M llvm/test/CodeGen/Hexagon/floatconvert-ieee-rnd-near.ll
M llvm/test/CodeGen/Hexagon/fltnvjump.ll
M llvm/test/CodeGen/Hexagon/fmadd.ll
M llvm/test/CodeGen/Hexagon/fminmax.ll
M llvm/test/CodeGen/Hexagon/fmul-v67.ll
M llvm/test/CodeGen/Hexagon/fmul.ll
M llvm/test/CodeGen/Hexagon/formal-args-i1.ll
M llvm/test/CodeGen/Hexagon/fp16.ll
M llvm/test/CodeGen/Hexagon/fp_latency.ll
M llvm/test/CodeGen/Hexagon/fpelim-basic.ll
M llvm/test/CodeGen/Hexagon/frame-offset-overflow.ll
M llvm/test/CodeGen/Hexagon/fsel.ll
M llvm/test/CodeGen/Hexagon/fsub.ll
M llvm/test/CodeGen/Hexagon/funnel-shift.ll
M llvm/test/CodeGen/Hexagon/fusedandshift.ll
M llvm/test/CodeGen/Hexagon/generate-const-buildvector32.ll
M llvm/test/CodeGen/Hexagon/getBlockAddress.ll
M llvm/test/CodeGen/Hexagon/global-const-gep.ll
M llvm/test/CodeGen/Hexagon/global-ctor-pcrel.ll
M llvm/test/CodeGen/Hexagon/global64bitbug.ll
M llvm/test/CodeGen/Hexagon/gp-plus-offset-load.ll
M llvm/test/CodeGen/Hexagon/gp-plus-offset-store.ll
M llvm/test/CodeGen/Hexagon/gp-rel.ll
M llvm/test/CodeGen/Hexagon/hasfp-crash1.ll
M llvm/test/CodeGen/Hexagon/hasfp-crash2.ll
M llvm/test/CodeGen/Hexagon/hello-world-v55.ll
M llvm/test/CodeGen/Hexagon/hello-world-v60.ll
M llvm/test/CodeGen/Hexagon/hexagon-cond-jumpr31.ll
M llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
M llvm/test/CodeGen/Hexagon/hexagon-tfr-add.ll
M llvm/test/CodeGen/Hexagon/hexagon-verify-implicit-use.ll
M llvm/test/CodeGen/Hexagon/hexagon_cfi_offset.ll
M llvm/test/CodeGen/Hexagon/hidden-relocation.ll
M llvm/test/CodeGen/Hexagon/honor-optsize.ll
M llvm/test/CodeGen/Hexagon/hrc-stack-coloring.ll
M llvm/test/CodeGen/Hexagon/hvx-bitcast-v64i1.ll
M llvm/test/CodeGen/Hexagon/hvx-byte-store-double.ll
M llvm/test/CodeGen/Hexagon/hvx-byte-store.ll
M llvm/test/CodeGen/Hexagon/hvx-concat-lower.ll
M llvm/test/CodeGen/Hexagon/hvx-dbl-dual-output.ll
M llvm/test/CodeGen/Hexagon/hvx-double-vzero.ll
M llvm/test/CodeGen/Hexagon/hvx-dual-output.ll
M llvm/test/CodeGen/Hexagon/hvx-isel-vselect-v256i16.ll
M llvm/test/CodeGen/Hexagon/hvx-nontemporal.ll
M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
M llvm/test/CodeGen/Hexagon/hvx-vzero.ll
M llvm/test/CodeGen/Hexagon/hwloop-cleanup.ll
M llvm/test/CodeGen/Hexagon/hwloop-const.ll
M llvm/test/CodeGen/Hexagon/hwloop-crit-edge.ll
M llvm/test/CodeGen/Hexagon/hwloop-dbg-register.mir
M llvm/test/CodeGen/Hexagon/hwloop-dbg.ll
M llvm/test/CodeGen/Hexagon/hwloop-ice.ll
M llvm/test/CodeGen/Hexagon/hwloop-le.ll
M llvm/test/CodeGen/Hexagon/hwloop-long.ll
M llvm/test/CodeGen/Hexagon/hwloop-loop1.ll
M llvm/test/CodeGen/Hexagon/hwloop-lt.ll
M llvm/test/CodeGen/Hexagon/hwloop-lt1.ll
M llvm/test/CodeGen/Hexagon/hwloop-missed.ll
M llvm/test/CodeGen/Hexagon/hwloop-ne.ll
M llvm/test/CodeGen/Hexagon/hwloop-noreturn-call.ll
M llvm/test/CodeGen/Hexagon/hwloop-ph-deadcode.ll
M llvm/test/CodeGen/Hexagon/hwloop-phi-subreg.ll
M llvm/test/CodeGen/Hexagon/hwloop-pos-ivbump1.ll
M llvm/test/CodeGen/Hexagon/hwloop-preh.ll
M llvm/test/CodeGen/Hexagon/hwloop-preheader.ll
M llvm/test/CodeGen/Hexagon/hwloop-range.ll
M llvm/test/CodeGen/Hexagon/hwloop-recursion.ll
M llvm/test/CodeGen/Hexagon/hwloop-redef-imm.mir
M llvm/test/CodeGen/Hexagon/hwloop-subreg.ll
M llvm/test/CodeGen/Hexagon/hwloop-swap.ll
M llvm/test/CodeGen/Hexagon/hwloop-with-return-call.ll
M llvm/test/CodeGen/Hexagon/hwloop-wrap.ll
M llvm/test/CodeGen/Hexagon/hwloop-wrap2.ll
M llvm/test/CodeGen/Hexagon/hwloop1.ll
M llvm/test/CodeGen/Hexagon/hwloop2.ll
M llvm/test/CodeGen/Hexagon/hwloop3.ll
M llvm/test/CodeGen/Hexagon/hwloop4.ll
M llvm/test/CodeGen/Hexagon/hwloop5.ll
M llvm/test/CodeGen/Hexagon/hx_V6_lo_hi.ll
M llvm/test/CodeGen/Hexagon/i128-bitop.ll
M llvm/test/CodeGen/Hexagon/i16_VarArg.ll
M llvm/test/CodeGen/Hexagon/i1_VarArg.ll
M llvm/test/CodeGen/Hexagon/i8_VarArg.ll
M llvm/test/CodeGen/Hexagon/idxload-with-zero-offset.ll
M llvm/test/CodeGen/Hexagon/ifcvt-common-kill.mir
M llvm/test/CodeGen/Hexagon/ifcvt-diamond-bad.ll
M llvm/test/CodeGen/Hexagon/ifcvt-diamond-bug-2016-08-26.ll
M llvm/test/CodeGen/Hexagon/ifcvt-diamond-ret.mir
M llvm/test/CodeGen/Hexagon/ifcvt-edge-weight.ll
M llvm/test/CodeGen/Hexagon/ifcvt-impuse-livein.mir
M llvm/test/CodeGen/Hexagon/ifcvt-live-subreg.mir
M llvm/test/CodeGen/Hexagon/ifcvt-simple-bprob.ll
M llvm/test/CodeGen/Hexagon/ignore-terminal-mbb.ll
M llvm/test/CodeGen/Hexagon/imm-range-check.ll
M llvm/test/CodeGen/Hexagon/indirect-br.ll
M llvm/test/CodeGen/Hexagon/initial-exec.ll
M llvm/test/CodeGen/Hexagon/inline-asm-a.ll
M llvm/test/CodeGen/Hexagon/inline-asm-bad-constraint.ll
M llvm/test/CodeGen/Hexagon/inline-asm-clobber-lr.ll
M llvm/test/CodeGen/Hexagon/inline-asm-error.ll
M llvm/test/CodeGen/Hexagon/inline-asm-hexagon.ll
M llvm/test/CodeGen/Hexagon/inline-asm-i1.ll
M llvm/test/CodeGen/Hexagon/inline-asm-qv.ll
M llvm/test/CodeGen/Hexagon/inline-asm-vecpred128.ll
M llvm/test/CodeGen/Hexagon/inline-division-space.ll
M llvm/test/CodeGen/Hexagon/inline-division.ll
M llvm/test/CodeGen/Hexagon/insert-basic.ll
M llvm/test/CodeGen/Hexagon/insert.ll
M llvm/test/CodeGen/Hexagon/insert4.ll
M llvm/test/CodeGen/Hexagon/instrprof-custom.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-alu.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-misc.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-permute.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-shift.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-vcmp.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy-acc-128B.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy-acc.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v66.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v67.ll
M llvm/test/CodeGen/Hexagon/intrinsics/alu32_alu.ll
M llvm/test/CodeGen/Hexagon/intrinsics/alu32_perm.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomic_load.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomic_store.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_addsub_native.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_bitwise_native.ll
M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_nand.ll
M llvm/test/CodeGen/Hexagon/intrinsics/byte-store-double.ll
M llvm/test/CodeGen/Hexagon/intrinsics/byte-store.ll
M llvm/test/CodeGen/Hexagon/intrinsics/cr.ll
M llvm/test/CodeGen/Hexagon/intrinsics/fence.ll
M llvm/test/CodeGen/Hexagon/intrinsics/llsc_bundling.ll
M llvm/test/CodeGen/Hexagon/intrinsics/system_user.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-gather-double.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-gather.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter-double.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter-gather.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter.ll
M llvm/test/CodeGen/Hexagon/intrinsics/v65.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_alu.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_bit.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_complex.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_fp.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_mpy.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_perm.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_pred.ll
M llvm/test/CodeGen/Hexagon/intrinsics/xtype_shift.ll
M llvm/test/CodeGen/Hexagon/invalid-dotnew-attempt.mir
M llvm/test/CodeGen/Hexagon/invalid-memrefs.ll
M llvm/test/CodeGen/Hexagon/is-legal-void.ll
M llvm/test/CodeGen/Hexagon/isel-bitcast-v1i8-i8.ll
M llvm/test/CodeGen/Hexagon/isel-bitcast-v8i1-i8.ll
M llvm/test/CodeGen/Hexagon/isel-bitcast-v8i8-v4i16.ll
M llvm/test/CodeGen/Hexagon/isel-buildvector-v2f16.ll
M llvm/test/CodeGen/Hexagon/isel-combine-half.ll
M llvm/test/CodeGen/Hexagon/isel-dcfetch-intrin-map.ll
M llvm/test/CodeGen/Hexagon/isel-exti1.ll
M llvm/test/CodeGen/Hexagon/isel-extload-i1.ll
M llvm/test/CodeGen/Hexagon/isel-extract-pred.ll
M llvm/test/CodeGen/Hexagon/isel-global-offset-alignment.ll
M llvm/test/CodeGen/Hexagon/isel-hvx-pred-bitcast-order.ll
M llvm/test/CodeGen/Hexagon/isel-i1arg-crash.ll
M llvm/test/CodeGen/Hexagon/isel-insert-pred.ll
M llvm/test/CodeGen/Hexagon/isel-memory-vNi1.ll
M llvm/test/CodeGen/Hexagon/isel-minmax-v64bit.ll
M llvm/test/CodeGen/Hexagon/isel-op-zext-i1.ll
M llvm/test/CodeGen/Hexagon/isel-prefer.ll
M llvm/test/CodeGen/Hexagon/isel-select-v4i8.ll
M llvm/test/CodeGen/Hexagon/isel-setcc-i1.ll
M llvm/test/CodeGen/Hexagon/isel-setcc-legalize-loop.ll
M llvm/test/CodeGen/Hexagon/isel-simplify-crash.ll
M llvm/test/CodeGen/Hexagon/isel-splat-vector-crash.ll
M llvm/test/CodeGen/Hexagon/isel-splat-vector-dag-crash.ll
M llvm/test/CodeGen/Hexagon/isel-splat-vector-neg-i8.ll
M llvm/test/CodeGen/Hexagon/isel-store-rr-i1.ll
M llvm/test/CodeGen/Hexagon/isel-uaddo-1-i64.ll
M llvm/test/CodeGen/Hexagon/isel-uaddo-1.ll
M llvm/test/CodeGen/Hexagon/isel-v3i16.ll
M llvm/test/CodeGen/Hexagon/isel-vacopy.ll
M llvm/test/CodeGen/Hexagon/isel-vlsr-v2i16.ll
M llvm/test/CodeGen/Hexagon/isel-vselect-v4i8.ll
M llvm/test/CodeGen/Hexagon/isel-zext-vNi1.ll
M llvm/test/CodeGen/Hexagon/isel/cmp-i1.ll
M llvm/test/CodeGen/Hexagon/isel/cmp-v2i1.ll
M llvm/test/CodeGen/Hexagon/isel/cmp-v4i1.ll
M llvm/test/CodeGen/Hexagon/isel/cmp-v8i1.ll
M llvm/test/CodeGen/Hexagon/isel/extload-i1.ll
M llvm/test/CodeGen/Hexagon/isel/logical.ll
M llvm/test/CodeGen/Hexagon/isel/mulh-scalar.ll
M llvm/test/CodeGen/Hexagon/isel/select-i1.ll
M llvm/test/CodeGen/Hexagon/isel/select-vec.ll
M llvm/test/CodeGen/Hexagon/isel/trunc-vNi1.ll
M llvm/test/CodeGen/Hexagon/jump-prob.ll
M llvm/test/CodeGen/Hexagon/jump-table-g0.ll
M llvm/test/CodeGen/Hexagon/jump-table-isel.ll
M llvm/test/CodeGen/Hexagon/large-number-of-preds.ll
M llvm/test/CodeGen/Hexagon/late-pred.ll
M llvm/test/CodeGen/Hexagon/late_instr.ll
M llvm/test/CodeGen/Hexagon/lcomm.ll
M llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
M llvm/test/CodeGen/Hexagon/livephysregs-add-pristines.mir
M llvm/test/CodeGen/Hexagon/livephysregs-lane-masks.mir
M llvm/test/CodeGen/Hexagon/livephysregs-lane-masks2.mir
M llvm/test/CodeGen/Hexagon/livephysregs-regmask-clobber.mir
M llvm/test/CodeGen/Hexagon/load-abs.ll
M llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
M llvm/test/CodeGen/Hexagon/load-widen.ll
M llvm/test/CodeGen/Hexagon/loadi1-G0.ll
M llvm/test/CodeGen/Hexagon/loadi1-v4-G0.ll
M llvm/test/CodeGen/Hexagon/loadi1-v4.ll
M llvm/test/CodeGen/Hexagon/loadi1.ll
M llvm/test/CodeGen/Hexagon/local-exec.ll
M llvm/test/CodeGen/Hexagon/loop-balign.ll
M llvm/test/CodeGen/Hexagon/loop-prefetch.ll
M llvm/test/CodeGen/Hexagon/loop-rotate-bug.ll
M llvm/test/CodeGen/Hexagon/loop-rotate-liveins.ll
M llvm/test/CodeGen/Hexagon/loop_align_count.ll
M llvm/test/CodeGen/Hexagon/loop_align_count.mir
M llvm/test/CodeGen/Hexagon/loop_correctness.ll
M llvm/test/CodeGen/Hexagon/lower-extract-subvector.ll
M llvm/test/CodeGen/Hexagon/lower-i1.ll
M llvm/test/CodeGen/Hexagon/lsr-post-inc-cross-use-offsets.ll
M llvm/test/CodeGen/Hexagon/lsr-postinc-nested-loop.ll
M llvm/test/CodeGen/Hexagon/machine-cp-clobbers.mir
M llvm/test/CodeGen/Hexagon/machine-sink-float-usr.mir
M llvm/test/CodeGen/Hexagon/machine-sink.ll
M llvm/test/CodeGen/Hexagon/macint.ll
M llvm/test/CodeGen/Hexagon/maddsubu.ll
M llvm/test/CodeGen/Hexagon/mapped_intrinsics.ll
M llvm/test/CodeGen/Hexagon/mask-instr.ll
M llvm/test/CodeGen/Hexagon/maxd.ll
M llvm/test/CodeGen/Hexagon/maxh.ll
M llvm/test/CodeGen/Hexagon/maxud.ll
M llvm/test/CodeGen/Hexagon/maxuw.ll
M llvm/test/CodeGen/Hexagon/maxw.ll
M llvm/test/CodeGen/Hexagon/mem-load-circ.ll
M llvm/test/CodeGen/Hexagon/mem-ops-sub.ll
M llvm/test/CodeGen/Hexagon/mem-ops-sub_01.ll
M llvm/test/CodeGen/Hexagon/mem-ops-sub_i16.ll
M llvm/test/CodeGen/Hexagon/mem-ops-sub_i16_01.ll
M llvm/test/CodeGen/Hexagon/memcmp.ll
M llvm/test/CodeGen/Hexagon/memcpy-likely-aligned.ll
M llvm/test/CodeGen/Hexagon/memcpy-memmove-inline.ll
M llvm/test/CodeGen/Hexagon/memop-bit18.ll
M llvm/test/CodeGen/Hexagon/memops-stack.ll
M llvm/test/CodeGen/Hexagon/memops.ll
M llvm/test/CodeGen/Hexagon/memops1.ll
M llvm/test/CodeGen/Hexagon/memops2.ll
M llvm/test/CodeGen/Hexagon/memops3.ll
M llvm/test/CodeGen/Hexagon/memops_global.ll
M llvm/test/CodeGen/Hexagon/memset-inline.ll
M llvm/test/CodeGen/Hexagon/mind.ll
M llvm/test/CodeGen/Hexagon/minu-zext-16.ll
M llvm/test/CodeGen/Hexagon/minu-zext-8.ll
M llvm/test/CodeGen/Hexagon/minud.ll
M llvm/test/CodeGen/Hexagon/minuw.ll
M llvm/test/CodeGen/Hexagon/minw.ll
M llvm/test/CodeGen/Hexagon/mipi-double-small.ll
M llvm/test/CodeGen/Hexagon/misaligned-access.ll
M llvm/test/CodeGen/Hexagon/misaligned-const-load.ll
M llvm/test/CodeGen/Hexagon/misaligned-const-store.ll
M llvm/test/CodeGen/Hexagon/misaligned_double_vector_store_not_fast.ll
M llvm/test/CodeGen/Hexagon/misched-top-rptracker-sync.ll
M llvm/test/CodeGen/Hexagon/mnaci_v66.ll
M llvm/test/CodeGen/Hexagon/mpy.ll
M llvm/test/CodeGen/Hexagon/mpysin-imm.ll
M llvm/test/CodeGen/Hexagon/mul64-sext.ll
M llvm/test/CodeGen/Hexagon/mul64.ll
M llvm/test/CodeGen/Hexagon/mulh.ll
M llvm/test/CodeGen/Hexagon/mulhs.ll
M llvm/test/CodeGen/Hexagon/multi-cycle.ll
M llvm/test/CodeGen/Hexagon/mux-kill1.mir
M llvm/test/CodeGen/Hexagon/mux-kill2.mir
M llvm/test/CodeGen/Hexagon/mux-kill3.mir
M llvm/test/CodeGen/Hexagon/mux-undef.ll
M llvm/test/CodeGen/Hexagon/muxii-bug.ll
M llvm/test/CodeGen/Hexagon/muxii-crash.ll
M llvm/test/CodeGen/Hexagon/namedreg.ll
M llvm/test/CodeGen/Hexagon/nbench1.ll
M llvm/test/CodeGen/Hexagon/neg.ll
M llvm/test/CodeGen/Hexagon/newify-crash.ll
M llvm/test/CodeGen/Hexagon/newvalueSameReg.ll
M llvm/test/CodeGen/Hexagon/newvaluejump-c4.mir
M llvm/test/CodeGen/Hexagon/newvaluejump-float.mir
M llvm/test/CodeGen/Hexagon/newvaluejump-kill.ll
M llvm/test/CodeGen/Hexagon/newvaluejump-kill2.mir
M llvm/test/CodeGen/Hexagon/newvaluejump-postinc.ll
M llvm/test/CodeGen/Hexagon/newvaluejump-solo.mir
M llvm/test/CodeGen/Hexagon/newvaluejump.ll
M llvm/test/CodeGen/Hexagon/newvaluejump2.ll
M llvm/test/CodeGen/Hexagon/newvaluejump3.ll
M llvm/test/CodeGen/Hexagon/newvaluestore.ll
M llvm/test/CodeGen/Hexagon/newvaluestore2.ll
M llvm/test/CodeGen/Hexagon/no-falign-function-for-size.ll
M llvm/test/CodeGen/Hexagon/no-packets-gather.ll
M llvm/test/CodeGen/Hexagon/no-packets.ll
M llvm/test/CodeGen/Hexagon/noFalignAfterCallAtO2.ll
M llvm/test/CodeGen/Hexagon/no_struct_element.ll
M llvm/test/CodeGen/Hexagon/noreturn-noepilog.ll
M llvm/test/CodeGen/Hexagon/noreturn-notail.ll
M llvm/test/CodeGen/Hexagon/not-op.ll
M llvm/test/CodeGen/Hexagon/notcheap.ll
M llvm/test/CodeGen/Hexagon/ntstbit.ll
M llvm/test/CodeGen/Hexagon/nv_store_vec.ll
M llvm/test/CodeGen/Hexagon/opt-addr-mode-subreg-use.ll
M llvm/test/CodeGen/Hexagon/opt-addr-mode.ll
M llvm/test/CodeGen/Hexagon/opt-fneg.ll
M llvm/test/CodeGen/Hexagon/opt-glob-addrs-000.ll
M llvm/test/CodeGen/Hexagon/opt-glob-addrs-001.ll
M llvm/test/CodeGen/Hexagon/opt-glob-addrs-003.ll
M llvm/test/CodeGen/Hexagon/opt-sext-intrinsics.ll
M llvm/test/CodeGen/Hexagon/opt-spill-volatile.ll
M llvm/test/CodeGen/Hexagon/optimize-mux.ll
M llvm/test/CodeGen/Hexagon/order-stack-object.ll
M llvm/test/CodeGen/Hexagon/packed-store.ll
M llvm/test/CodeGen/Hexagon/packetize-allocframe.ll
M llvm/test/CodeGen/Hexagon/packetize-call-r29.ll
M llvm/test/CodeGen/Hexagon/packetize-cfi-location.ll
M llvm/test/CodeGen/Hexagon/packetize-dccleana.mir
M llvm/test/CodeGen/Hexagon/packetize-debug-loc.mir
M llvm/test/CodeGen/Hexagon/packetize-frame-setup-destroy.mir
M llvm/test/CodeGen/Hexagon/packetize-impdef-1.ll
M llvm/test/CodeGen/Hexagon/packetize-impdef.ll
M llvm/test/CodeGen/Hexagon/packetize-l2fetch.ll
M llvm/test/CodeGen/Hexagon/packetize-load-store-aliasing.mir
M llvm/test/CodeGen/Hexagon/packetize-nvj-no-prune.mir
M llvm/test/CodeGen/Hexagon/packetize-nvstore.mir
M llvm/test/CodeGen/Hexagon/packetize-return-arg.ll
M llvm/test/CodeGen/Hexagon/packetize-tailcall-arg.ll
M llvm/test/CodeGen/Hexagon/packetize-update-offset.mir
M llvm/test/CodeGen/Hexagon/packetize-vgather-slot01.mir
M llvm/test/CodeGen/Hexagon/packetize-volatiles.ll
M llvm/test/CodeGen/Hexagon/packetize_cond_inst.ll
M llvm/test/CodeGen/Hexagon/packetizer-resources.ll
M llvm/test/CodeGen/Hexagon/partword-cmpxchg.ll
M llvm/test/CodeGen/Hexagon/peephole-kill-flags.ll
M llvm/test/CodeGen/Hexagon/peephole-move-phi.ll
M llvm/test/CodeGen/Hexagon/peephole-op-swap.ll
M llvm/test/CodeGen/Hexagon/phi-elim.ll
M llvm/test/CodeGen/Hexagon/pic-jumptables.ll
M llvm/test/CodeGen/Hexagon/pic-local.ll
M llvm/test/CodeGen/Hexagon/pipeliner/swp-phi-start.mir
M llvm/test/CodeGen/Hexagon/plt-rel.ll
M llvm/test/CodeGen/Hexagon/pmpyw_acc.ll
M llvm/test/CodeGen/Hexagon/post-inc-aa-metadata.ll
M llvm/test/CodeGen/Hexagon/post-ra-kill-update.mir
M llvm/test/CodeGen/Hexagon/postinc-aggr-dag-cycle.ll
M llvm/test/CodeGen/Hexagon/postinc-baseoffset.mir
M llvm/test/CodeGen/Hexagon/postinc-load.ll
M llvm/test/CodeGen/Hexagon/postinc-offset.ll
M llvm/test/CodeGen/Hexagon/postinc-order.ll
M llvm/test/CodeGen/Hexagon/postinc-store.ll
M llvm/test/CodeGen/Hexagon/postra-sink-subregs.mir
M llvm/test/CodeGen/Hexagon/pred-absolute-store.ll
M llvm/test/CodeGen/Hexagon/pred-gp.ll
M llvm/test/CodeGen/Hexagon/pred-instrs.ll
M llvm/test/CodeGen/Hexagon/pred-sched.ll
M llvm/test/CodeGen/Hexagon/pred-simp.ll
M llvm/test/CodeGen/Hexagon/pred-taken-jump.ll
M llvm/test/CodeGen/Hexagon/predicate-copy.ll
M llvm/test/CodeGen/Hexagon/predicate-logical.ll
M llvm/test/CodeGen/Hexagon/predicate-rcmp.ll
M llvm/test/CodeGen/Hexagon/predtfrs.ll
M llvm/test/CodeGen/Hexagon/prefetch-intr.ll
M llvm/test/CodeGen/Hexagon/prefetch-shuffler-ice.ll
M llvm/test/CodeGen/Hexagon/prob-types.ll
M llvm/test/CodeGen/Hexagon/prof-early-if.ll
M llvm/test/CodeGen/Hexagon/propagate-vcombine.ll
M llvm/test/CodeGen/Hexagon/ps_call_nr.ll
M llvm/test/CodeGen/Hexagon/rdf-copy-renamable-reserved.mir
M llvm/test/CodeGen/Hexagon/rdf-copy-undef.ll
M llvm/test/CodeGen/Hexagon/rdf-copy-undef2.ll
M llvm/test/CodeGen/Hexagon/rdf-copy.ll
M llvm/test/CodeGen/Hexagon/rdf-cover-use.ll
M llvm/test/CodeGen/Hexagon/rdf-dce-double-cover.mir
M llvm/test/CodeGen/Hexagon/rdf-dead-loop.ll
M llvm/test/CodeGen/Hexagon/rdf-def-mask.ll
M llvm/test/CodeGen/Hexagon/rdf-ehlabel-live.mir
M llvm/test/CodeGen/Hexagon/rdf-extra-livein.ll
M llvm/test/CodeGen/Hexagon/rdf-filter-defs.ll
M llvm/test/CodeGen/Hexagon/rdf-ignore-undef.ll
M llvm/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll
M llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll
M llvm/test/CodeGen/Hexagon/rdf-kill-last-op.ll
M llvm/test/CodeGen/Hexagon/rdf-multiple-phis-up.ll
M llvm/test/CodeGen/Hexagon/rdf-phi-shadows.ll
M llvm/test/CodeGen/Hexagon/rdf-phi-up.ll
M llvm/test/CodeGen/Hexagon/rdf-reset-kills.ll
M llvm/test/CodeGen/Hexagon/readcyclecounter.ll
M llvm/test/CodeGen/Hexagon/readsteadycounter.ll
M llvm/test/CodeGen/Hexagon/redundant-branching2.ll
M llvm/test/CodeGen/Hexagon/reg-by-name.ll
M llvm/test/CodeGen/Hexagon/reg-eq-cmp.ll
M llvm/test/CodeGen/Hexagon/reg-scav-imp-use-dbl-vec.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-2.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-3.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-4.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-5.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug.ll
M llvm/test/CodeGen/Hexagon/reg-scavenger-valid-slot.ll
M llvm/test/CodeGen/Hexagon/reg_seq.ll
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
M llvm/test/CodeGen/Hexagon/regalloc-block-overlap.ll
M llvm/test/CodeGen/Hexagon/regalloc-coal-extend-short-subrange.mir
M llvm/test/CodeGen/Hexagon/regalloc-coal-fullreg-undef.mir
M llvm/test/CodeGen/Hexagon/regalloc-liveout-undef.mir
M llvm/test/CodeGen/Hexagon/registerscav-missing-spill-slot.ll
M llvm/test/CodeGen/Hexagon/registerscavenger-fail1.ll
M llvm/test/CodeGen/Hexagon/regp-underflow.ll
M llvm/test/CodeGen/Hexagon/regscav-wrong-super-sub-regs.ll
M llvm/test/CodeGen/Hexagon/regscavenger_fail_hwloop.ll
M llvm/test/CodeGen/Hexagon/regscavengerbug.ll
M llvm/test/CodeGen/Hexagon/remove-endloop.ll
M llvm/test/CodeGen/Hexagon/remove_lsr.ll
M llvm/test/CodeGen/Hexagon/restore-single-reg.ll
M llvm/test/CodeGen/Hexagon/ret-struct-by-val.ll
M llvm/test/CodeGen/Hexagon/retval-redundant-copy.ll
M llvm/test/CodeGen/Hexagon/rotate-multi.ll
M llvm/test/CodeGen/Hexagon/rotate.ll
M llvm/test/CodeGen/Hexagon/rotl-i64.ll
M llvm/test/CodeGen/Hexagon/save-kill-csr.ll
M llvm/test/CodeGen/Hexagon/save-regs-thresh.ll
M llvm/test/CodeGen/Hexagon/sdata-array.ll
M llvm/test/CodeGen/Hexagon/sdata-basic.ll
M llvm/test/CodeGen/Hexagon/sdata-expand-const.ll
M llvm/test/CodeGen/Hexagon/sdata-explicit-section.ll
M llvm/test/CodeGen/Hexagon/sdata-load-size.ll
M llvm/test/CodeGen/Hexagon/sdata-opaque-type.ll
M llvm/test/CodeGen/Hexagon/sdata-stack-guard.ll
M llvm/test/CodeGen/Hexagon/sdiv-minsigned.ll
M llvm/test/CodeGen/Hexagon/sdr-global.mir
M llvm/test/CodeGen/Hexagon/sdr-nosplit1.ll
M llvm/test/CodeGen/Hexagon/sdr-reg-profit.ll
M llvm/test/CodeGen/Hexagon/sdr-shr32.ll
M llvm/test/CodeGen/Hexagon/section_7275.ll
M llvm/test/CodeGen/Hexagon/select-instr-align.ll
M llvm/test/CodeGen/Hexagon/select-vector-pred.ll
M llvm/test/CodeGen/Hexagon/setmemrefs.ll
M llvm/test/CodeGen/Hexagon/sf-min-max.ll
M llvm/test/CodeGen/Hexagon/sffms.ll
M llvm/test/CodeGen/Hexagon/sfmin_dce.ll
M llvm/test/CodeGen/Hexagon/sfmpyacc_scale.ll
M llvm/test/CodeGen/Hexagon/signed_immediates.ll
M llvm/test/CodeGen/Hexagon/signext-inreg.ll
M llvm/test/CodeGen/Hexagon/simpletailcall.ll
M llvm/test/CodeGen/Hexagon/simplify64bitops_7223.ll
M llvm/test/CodeGen/Hexagon/spill-vector-alignment.mir
M llvm/test/CodeGen/Hexagon/split-const32-const64.ll
M llvm/test/CodeGen/Hexagon/split-muxii.ll
M llvm/test/CodeGen/Hexagon/split-vecpred.ll
M llvm/test/CodeGen/Hexagon/stack-align-reset.ll
M llvm/test/CodeGen/Hexagon/stack-align1.ll
M llvm/test/CodeGen/Hexagon/stack-align2.ll
M llvm/test/CodeGen/Hexagon/stack-alloca1.ll
M llvm/test/CodeGen/Hexagon/stack-alloca2.ll
M llvm/test/CodeGen/Hexagon/stack-guard-acceptable-type.ll
M llvm/test/CodeGen/Hexagon/static.ll
M llvm/test/CodeGen/Hexagon/store-AbsSet.ll
M llvm/test/CodeGen/Hexagon/store-abs.ll
M llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll
M llvm/test/CodeGen/Hexagon/store-constant.ll
M llvm/test/CodeGen/Hexagon/store-imm-amode.ll
M llvm/test/CodeGen/Hexagon/store-imm-byte.ll
M llvm/test/CodeGen/Hexagon/store-imm-halword.ll
M llvm/test/CodeGen/Hexagon/store-imm-large-stack.ll
M llvm/test/CodeGen/Hexagon/store-imm-stack-object.ll
M llvm/test/CodeGen/Hexagon/store-imm-word.ll
M llvm/test/CodeGen/Hexagon/store-shift.ll
M llvm/test/CodeGen/Hexagon/store-vector-pred.ll
M llvm/test/CodeGen/Hexagon/store-widen-aliased-load.ll
M llvm/test/CodeGen/Hexagon/store-widen-negv.ll
M llvm/test/CodeGen/Hexagon/store-widen-negv2.ll
M llvm/test/CodeGen/Hexagon/store-widen-subreg.ll
M llvm/test/CodeGen/Hexagon/store-widen.ll
M llvm/test/CodeGen/Hexagon/store1.ll
M llvm/test/CodeGen/Hexagon/store_abs.ll
M llvm/test/CodeGen/Hexagon/storerd-io-over-rr.ll
M llvm/test/CodeGen/Hexagon/storerinewabs.ll
M llvm/test/CodeGen/Hexagon/struct-const.ll
M llvm/test/CodeGen/Hexagon/struct_args.ll
M llvm/test/CodeGen/Hexagon/struct_args_large.ll
M llvm/test/CodeGen/Hexagon/struct_copy.ll
M llvm/test/CodeGen/Hexagon/struct_copy_sched_r16.ll
M llvm/test/CodeGen/Hexagon/sub-add.ll
M llvm/test/CodeGen/Hexagon/subh-shifted.ll
M llvm/test/CodeGen/Hexagon/subh.ll
M llvm/test/CodeGen/Hexagon/subi-asl.ll
M llvm/test/CodeGen/Hexagon/swp-art-deps-rec.ll
M llvm/test/CodeGen/Hexagon/swp-bad-sched.ll
M llvm/test/CodeGen/Hexagon/swp-badorder.ll
M llvm/test/CodeGen/Hexagon/swp-carried-1.ll
M llvm/test/CodeGen/Hexagon/swp-chain-refs.ll
M llvm/test/CodeGen/Hexagon/swp-change-dep-cycle.ll
M llvm/test/CodeGen/Hexagon/swp-change-dep.ll
M llvm/test/CodeGen/Hexagon/swp-change-dep1.ll
M llvm/test/CodeGen/Hexagon/swp-change-deps.ll
M llvm/test/CodeGen/Hexagon/swp-check-offset.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc1.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc2.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc3.ll
M llvm/test/CodeGen/Hexagon/swp-conv3x3-nested.ll
M llvm/test/CodeGen/Hexagon/swp-copytophi-dag.ll
M llvm/test/CodeGen/Hexagon/swp-crash-iter.ll
M llvm/test/CodeGen/Hexagon/swp-cse-phi.ll
M llvm/test/CodeGen/Hexagon/swp-dag-phi.ll
M llvm/test/CodeGen/Hexagon/swp-dag-phi1.ll
M llvm/test/CodeGen/Hexagon/swp-dead-regseq.ll
M llvm/test/CodeGen/Hexagon/swp-dep-neg-offset.ll
M llvm/test/CodeGen/Hexagon/swp-disable-Os.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-numphis.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi10.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi12.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi13.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi2.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi4.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi5.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi6.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi7.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi8.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi9.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse-1.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse3.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-reuse4.ll
M llvm/test/CodeGen/Hexagon/swp-exit-fixup.ll
M llvm/test/CodeGen/Hexagon/swp-fix-last-use.ll
M llvm/test/CodeGen/Hexagon/swp-fix-last-use1.ll
M llvm/test/CodeGen/Hexagon/swp-intreglow8.ll
M llvm/test/CodeGen/Hexagon/swp-kernel-last-use.ll
M llvm/test/CodeGen/Hexagon/swp-kernel-phi1.ll
M llvm/test/CodeGen/Hexagon/swp-large-rec.ll
M llvm/test/CodeGen/Hexagon/swp-listen-loop3.ll
M llvm/test/CodeGen/Hexagon/swp-loop-carried-crash.ll
M llvm/test/CodeGen/Hexagon/swp-loop-carried-unknown.ll
M llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
M llvm/test/CodeGen/Hexagon/swp-loopval.ll
M llvm/test/CodeGen/Hexagon/swp-lots-deps.ll
M llvm/test/CodeGen/Hexagon/swp-matmul-bitext.ll
M llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
M llvm/test/CodeGen/Hexagon/swp-max.ll
M llvm/test/CodeGen/Hexagon/swp-maxstart.ll
M llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
M llvm/test/CodeGen/Hexagon/swp-more-phi.ll
M llvm/test/CodeGen/Hexagon/swp-multi-loops.ll
M llvm/test/CodeGen/Hexagon/swp-multi-phi-refs.ll
M llvm/test/CodeGen/Hexagon/swp-new-phi.ll
M llvm/test/CodeGen/Hexagon/swp-node-order.ll
M llvm/test/CodeGen/Hexagon/swp-order-carried.ll
M llvm/test/CodeGen/Hexagon/swp-order-copies.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps1.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps3.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps4.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps5.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps6.ll
M llvm/test/CodeGen/Hexagon/swp-order-deps7.ll
M llvm/test/CodeGen/Hexagon/swp-order-prec.ll
M llvm/test/CodeGen/Hexagon/swp-order.ll
M llvm/test/CodeGen/Hexagon/swp-order1.ll
M llvm/test/CodeGen/Hexagon/swp-phi-ch-offset.ll
M llvm/test/CodeGen/Hexagon/swp-phi-chains.ll
M llvm/test/CodeGen/Hexagon/swp-phi-def-use.ll
M llvm/test/CodeGen/Hexagon/swp-phi-dep.ll
M llvm/test/CodeGen/Hexagon/swp-phi-dep1.ll
M llvm/test/CodeGen/Hexagon/swp-phi-order.ll
M llvm/test/CodeGen/Hexagon/swp-phi-ref.ll
M llvm/test/CodeGen/Hexagon/swp-phi-ref1.ll
M llvm/test/CodeGen/Hexagon/swp-phi-start.ll
M llvm/test/CodeGen/Hexagon/swp-phi.ll
M llvm/test/CodeGen/Hexagon/swp-physreg.ll
M llvm/test/CodeGen/Hexagon/swp-pragma-disable-bug.ll
M llvm/test/CodeGen/Hexagon/swp-pragma-disable.ii
M llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval-reset.ii
M llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval.ii
M llvm/test/CodeGen/Hexagon/swp-prolog-phi.ll
M llvm/test/CodeGen/Hexagon/swp-prolog-phi4.ll
M llvm/test/CodeGen/Hexagon/swp-regseq.ll
M llvm/test/CodeGen/Hexagon/swp-remove-dep-ice.ll
M llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
M llvm/test/CodeGen/Hexagon/swp-rename.ll
M llvm/test/CodeGen/Hexagon/swp-replace-uses1.ll
M llvm/test/CodeGen/Hexagon/swp-resmii-1.ll
M llvm/test/CodeGen/Hexagon/swp-resmii.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-1.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-2.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-4.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-5.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi-6.ll
M llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
M llvm/test/CodeGen/Hexagon/swp-sigma.ll
M llvm/test/CodeGen/Hexagon/swp-stages.ll
M llvm/test/CodeGen/Hexagon/swp-stages3.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/swp-stages5.ll
M llvm/test/CodeGen/Hexagon/swp-subreg.ll
M llvm/test/CodeGen/Hexagon/swp-swap.ll
M llvm/test/CodeGen/Hexagon/swp-tfri.ll
M llvm/test/CodeGen/Hexagon/swp-vect-dotprod.ll
M llvm/test/CodeGen/Hexagon/swp-vmult.ll
M llvm/test/CodeGen/Hexagon/swp-vsum.ll
M llvm/test/CodeGen/Hexagon/swp-ws-dead-def.mir
M llvm/test/CodeGen/Hexagon/swp-ws-exp-dbg.mir
M llvm/test/CodeGen/Hexagon/swp-ws-exp.mir
M llvm/test/CodeGen/Hexagon/swp-ws-fail-0.mir
M llvm/test/CodeGen/Hexagon/swp-ws-fail-1.mir
M llvm/test/CodeGen/Hexagon/swp-ws-fail-2.mir
M llvm/test/CodeGen/Hexagon/swp-ws-fail-3.mir
M llvm/test/CodeGen/Hexagon/swp-ws-live-intervals.mir
M llvm/test/CodeGen/Hexagon/swp-ws-meta-instr.mir
M llvm/test/CodeGen/Hexagon/swp-ws-phi.mir
M llvm/test/CodeGen/Hexagon/swp-ws-pragma-initiation-interval-fail.mir
M llvm/test/CodeGen/Hexagon/swp-ws-resource-reserve.mir
M llvm/test/CodeGen/Hexagon/swp-ws-sqrt.mir
M llvm/test/CodeGen/Hexagon/swp-ws-stall-cycle.mir
M llvm/test/CodeGen/Hexagon/swp-ws-weak-dep.mir
M llvm/test/CodeGen/Hexagon/swp-ws-zero-cost.mir
M llvm/test/CodeGen/Hexagon/swp-xxh2.ll
M llvm/test/CodeGen/Hexagon/tail-call-mem-intrinsics.ll
M llvm/test/CodeGen/Hexagon/tail-call-trunc.ll
M llvm/test/CodeGen/Hexagon/tail-dup-subreg-abort.ll
M llvm/test/CodeGen/Hexagon/tail-dup-subreg-map.ll
M llvm/test/CodeGen/Hexagon/tailcall_fastcc_ccc.ll
M llvm/test/CodeGen/Hexagon/target-flag-ext.mir
M llvm/test/CodeGen/Hexagon/tc_duplex.ll
M llvm/test/CodeGen/Hexagon/tc_sched.ll
M llvm/test/CodeGen/Hexagon/tc_sched1.ll
M llvm/test/CodeGen/Hexagon/tcm-zext.ll
M llvm/test/CodeGen/Hexagon/testbits.ll
M llvm/test/CodeGen/Hexagon/tfr-cleanup.ll
M llvm/test/CodeGen/Hexagon/tfr-mux-nvj.ll
M llvm/test/CodeGen/Hexagon/tfr-to-combine.ll
M llvm/test/CodeGen/Hexagon/tied_oper.ll
M llvm/test/CodeGen/Hexagon/tiny_bkfir_artdeps.ll
M llvm/test/CodeGen/Hexagon/tiny_bkfir_loop_align.ll
M llvm/test/CodeGen/Hexagon/tinycore.ll
M llvm/test/CodeGen/Hexagon/tls_gd.ll
M llvm/test/CodeGen/Hexagon/tls_pic.ll
M llvm/test/CodeGen/Hexagon/trap-crash.ll
M llvm/test/CodeGen/Hexagon/trap-unreachable.ll
M llvm/test/CodeGen/Hexagon/trivialmemaliascheck.ll
M llvm/test/CodeGen/Hexagon/trunc-mpy.ll
M llvm/test/CodeGen/Hexagon/two-crash.ll
M llvm/test/CodeGen/Hexagon/twoaddressbug.ll
M llvm/test/CodeGen/Hexagon/undef-ret.ll
M llvm/test/CodeGen/Hexagon/undo-dag-shift.ll
M llvm/test/CodeGen/Hexagon/union-1.ll
M llvm/test/CodeGen/Hexagon/unordered-fcmp.ll
M llvm/test/CodeGen/Hexagon/unreachable-mbb-phi-subreg.mir
M llvm/test/CodeGen/Hexagon/upper-mpy.ll
M llvm/test/CodeGen/Hexagon/v5_insns.ll
M llvm/test/CodeGen/Hexagon/v6-haar-balign32.ll
M llvm/test/CodeGen/Hexagon/v6-inlasm1.ll
M llvm/test/CodeGen/Hexagon/v6-inlasm2.ll
M llvm/test/CodeGen/Hexagon/v6-inlasm3.ll
M llvm/test/CodeGen/Hexagon/v6-inlasm4.ll
M llvm/test/CodeGen/Hexagon/v6-shuffl.ll
M llvm/test/CodeGen/Hexagon/v6-spill1.ll
M llvm/test/CodeGen/Hexagon/v6-unaligned-spill.ll
M llvm/test/CodeGen/Hexagon/v6-vecpred-copy.ll
M llvm/test/CodeGen/Hexagon/v60-align.ll
M llvm/test/CodeGen/Hexagon/v60-cur.ll
M llvm/test/CodeGen/Hexagon/v60-haar-postinc.ll
M llvm/test/CodeGen/Hexagon/v60-halide-vcombinei8.ll
M llvm/test/CodeGen/Hexagon/v60-vec-128b-1.ll
M llvm/test/CodeGen/Hexagon/v60-vecpred-spill.ll
M llvm/test/CodeGen/Hexagon/v60-vsel1.ll
M llvm/test/CodeGen/Hexagon/v60-vsel2.ll
M llvm/test/CodeGen/Hexagon/v60Intrins.ll
M llvm/test/CodeGen/Hexagon/v60Vasr.ll
M llvm/test/CodeGen/Hexagon/v60_Q6_P_rol_PI.ll
M llvm/test/CodeGen/Hexagon/v60_sort16.ll
M llvm/test/CodeGen/Hexagon/v60rol-instrs.ll
M llvm/test/CodeGen/Hexagon/v60small.ll
M llvm/test/CodeGen/Hexagon/v62-CJAllSlots.ll
M llvm/test/CodeGen/Hexagon/v62-inlasm4.ll
M llvm/test/CodeGen/Hexagon/v6vassignp.ll
M llvm/test/CodeGen/Hexagon/v6vec-vmemcur-prob.mir
M llvm/test/CodeGen/Hexagon/v6vec-vmemu1.ll
M llvm/test/CodeGen/Hexagon/v6vec-vmemu2.ll
M llvm/test/CodeGen/Hexagon/v6vec-vprint.ll
M llvm/test/CodeGen/Hexagon/v6vec-vshuff.ll
M llvm/test/CodeGen/Hexagon/v6vec_inc1.ll
M llvm/test/CodeGen/Hexagon/v6vec_zero.ll
M llvm/test/CodeGen/Hexagon/v6vect-dbl-fail1.ll
M llvm/test/CodeGen/Hexagon/v6vect-dbl-spill.ll
M llvm/test/CodeGen/Hexagon/v6vect-dbl.ll
M llvm/test/CodeGen/Hexagon/v6vect-dh1.ll
M llvm/test/CodeGen/Hexagon/v6vect-locals1.ll
M llvm/test/CodeGen/Hexagon/v6vect-no-sideeffects.ll
M llvm/test/CodeGen/Hexagon/v6vect-pred2.ll
M llvm/test/CodeGen/Hexagon/v6vect-spill-kill.ll
M llvm/test/CodeGen/Hexagon/v6vect-vmem1.ll
M llvm/test/CodeGen/Hexagon/v6vect-vsplat.ll
M llvm/test/CodeGen/Hexagon/vacopy.ll
M llvm/test/CodeGen/Hexagon/vadd1.ll
M llvm/test/CodeGen/Hexagon/vaddh.ll
M llvm/test/CodeGen/Hexagon/validate-offset.ll
M llvm/test/CodeGen/Hexagon/vararg-deallocate-sp.ll
M llvm/test/CodeGen/Hexagon/vararg-formal.ll
M llvm/test/CodeGen/Hexagon/vararg-linux-abi.ll
M llvm/test/CodeGen/Hexagon/vararg.ll
M llvm/test/CodeGen/Hexagon/vararg_align_check.ll
M llvm/test/CodeGen/Hexagon/vararg_double_onstack.ll
M llvm/test/CodeGen/Hexagon/vararg_named.ll
M llvm/test/CodeGen/Hexagon/varargs-memv.ll
M llvm/test/CodeGen/Hexagon/vassign-to-combine.ll
M llvm/test/CodeGen/Hexagon/vcombine128_to_req_seq.ll
M llvm/test/CodeGen/Hexagon/vcombine_subreg.ll
M llvm/test/CodeGen/Hexagon/vcombine_to_req_seq.ll
M llvm/test/CodeGen/Hexagon/vdmpy-halide-test.ll
M llvm/test/CodeGen/Hexagon/vdotprod.ll
M llvm/test/CodeGen/Hexagon/vec-align.ll
M llvm/test/CodeGen/Hexagon/vec-call-full1.ll
M llvm/test/CodeGen/Hexagon/vec-pred-spill1.ll
M llvm/test/CodeGen/Hexagon/vec-vararg-align.ll
M llvm/test/CodeGen/Hexagon/vecPred2Vec.ll
M llvm/test/CodeGen/Hexagon/vect-any_extend.ll
M llvm/test/CodeGen/Hexagon/vect-dbl-post-inc.ll
M llvm/test/CodeGen/Hexagon/vect-downscale.ll
M llvm/test/CodeGen/Hexagon/vect-set_cc_v2i32.ll
M llvm/test/CodeGen/Hexagon/vect-vd0.ll
M llvm/test/CodeGen/Hexagon/vect-zero_extend.ll
M llvm/test/CodeGen/Hexagon/vect/bit4x8.ll
M llvm/test/CodeGen/Hexagon/vect/build-vect64.ll
M llvm/test/CodeGen/Hexagon/vect/extract-elt-vNi1.ll
M llvm/test/CodeGen/Hexagon/vect/extract-v4i1.ll
M llvm/test/CodeGen/Hexagon/vect/setcc-not.ll
M llvm/test/CodeGen/Hexagon/vect/setcc-v2i32.ll
M llvm/test/CodeGen/Hexagon/vect/setcc-v32.ll
M llvm/test/CodeGen/Hexagon/vect/shuff-32.ll
M llvm/test/CodeGen/Hexagon/vect/shuff-64.ll
M llvm/test/CodeGen/Hexagon/vect/vect-anyextend.ll
M llvm/test/CodeGen/Hexagon/vect/vect-apint-truncate.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bad-bitcast.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bitcast-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bitcast.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bool-basic-compile.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bool-isel-crash.ll
M llvm/test/CodeGen/Hexagon/vect/vect-cst-v4i32.ll
M llvm/test/CodeGen/Hexagon/vect/vect-cst-v4i8.ll
M llvm/test/CodeGen/Hexagon/vect/vect-cst.ll
M llvm/test/CodeGen/Hexagon/vect/vect-extract-i1-debug.ll
M llvm/test/CodeGen/Hexagon/vect/vect-extract-i1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-extract.ll
M llvm/test/CodeGen/Hexagon/vect/vect-fma.ll
M llvm/test/CodeGen/Hexagon/vect/vect-illegal-type.ll
M llvm/test/CodeGen/Hexagon/vect/vect-infloop.ll
M llvm/test/CodeGen/Hexagon/vect/vect-insert-extract-elt.ll
M llvm/test/CodeGen/Hexagon/vect/vect-load-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-load-v4i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-load.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v2i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v2i32.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v4i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v4i8.ll
M llvm/test/CodeGen/Hexagon/vect/vect-mul-v8i8.ll
M llvm/test/CodeGen/Hexagon/vect/vect-no-tfrs-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-no-tfrs.ll
M llvm/test/CodeGen/Hexagon/vect/vect-shift-imm.ll
M llvm/test/CodeGen/Hexagon/vect/vect-shifts.ll
M llvm/test/CodeGen/Hexagon/vect/vect-shuffle.ll
M llvm/test/CodeGen/Hexagon/vect/vect-splat.ll
M llvm/test/CodeGen/Hexagon/vect/vect-store-v2i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-truncate.ll
M llvm/test/CodeGen/Hexagon/vect/vect-v4i16.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddb-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddb.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddh-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddh.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaddw.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vaslw.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsplatb.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsplath.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubb-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubb.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubh-1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubh.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vsubw.ll
M llvm/test/CodeGen/Hexagon/vect/vect-xor.ll
M llvm/test/CodeGen/Hexagon/vect/vect-zeroextend.ll
M llvm/test/CodeGen/Hexagon/vect/vsplat-v8i8.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/CodeGen/Hexagon/vect_setcc.ll
M llvm/test/CodeGen/Hexagon/vect_setcc_v2i16.ll
M llvm/test/CodeGen/Hexagon/vector-align.ll
M llvm/test/CodeGen/Hexagon/vector-ext-load.ll
M llvm/test/CodeGen/Hexagon/vector-sint-to-fp.ll
M llvm/test/CodeGen/Hexagon/vector-zext-v4i8.ll
M llvm/test/CodeGen/Hexagon/verify-liveness-at-def.mir
M llvm/test/CodeGen/Hexagon/verify-sink-code.ll
M llvm/test/CodeGen/Hexagon/verify-undef.ll
M llvm/test/CodeGen/Hexagon/vextract-basic.mir
M llvm/test/CodeGen/Hexagon/vgather-opt-addr.ll
M llvm/test/CodeGen/Hexagon/vgather-packetize.mir
M llvm/test/CodeGen/Hexagon/vload-postinc-sel.ll
M llvm/test/CodeGen/Hexagon/vmemu-128.ll
M llvm/test/CodeGen/Hexagon/vmpa-halide-test.ll
M llvm/test/CodeGen/Hexagon/vpack_eo.ll
M llvm/test/CodeGen/Hexagon/vselect-pseudo.ll
M llvm/test/CodeGen/Hexagon/vsplat-ext.ll
M llvm/test/CodeGen/Hexagon/vsplat-isel.ll
M llvm/test/CodeGen/Hexagon/wcsrtomb.ll
M llvm/test/CodeGen/Hexagon/widen-alias.ll
M llvm/test/CodeGen/Hexagon/widen-not-load.ll
M llvm/test/CodeGen/Hexagon/widen-volatile.ll
M llvm/test/CodeGen/Hexagon/zextloadi1.ll
M llvm/test/CodeGen/MIR/Hexagon/addrmode-opt-nonreaching.mir
M llvm/test/CodeGen/MIR/Hexagon/parse-lane-masks.mir
M llvm/test/CodeGen/MIR/Hexagon/target-flags.mir
M llvm/test/MC/Hexagon/extended_relocations.ll
Log Message:
-----------
[Hexagon,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize $unknown-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: 5240e0b891fc4bf69d362199f70c94c28a7b9465
https://github.com/llvm/llvm-project/commit/5240e0b891fc4bf69d362199f70c94c28a7b9465
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/VE/Packed/vec_fneg.ll
M llvm/test/CodeGen/VE/Packed/vp_add.ll
M llvm/test/CodeGen/VE/Packed/vp_and.ll
M llvm/test/CodeGen/VE/Packed/vp_fadd.ll
M llvm/test/CodeGen/VE/Packed/vp_fdiv.ll
M llvm/test/CodeGen/VE/Packed/vp_fmul.ll
M llvm/test/CodeGen/VE/Packed/vp_fsub.ll
M llvm/test/CodeGen/VE/Packed/vp_mul.ll
M llvm/test/CodeGen/VE/Packed/vp_or.ll
M llvm/test/CodeGen/VE/Packed/vp_sdiv.ll
M llvm/test/CodeGen/VE/Packed/vp_shl.ll
M llvm/test/CodeGen/VE/Packed/vp_sra.ll
M llvm/test/CodeGen/VE/Packed/vp_srl.ll
M llvm/test/CodeGen/VE/Packed/vp_sub.ll
M llvm/test/CodeGen/VE/Packed/vp_udiv.ll
M llvm/test/CodeGen/VE/Packed/vp_xor.ll
M llvm/test/CodeGen/VE/Vector/expand_single_elem_build_vec.ll
M llvm/test/CodeGen/VE/Vector/feature_vpu.ll
M llvm/test/CodeGen/VE/Vector/vec_fma.ll
M llvm/test/CodeGen/VE/Vector/vec_fneg.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_add.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_and.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_or.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_smax.ll
M llvm/test/CodeGen/VE/Vector/vec_reduce_xor.ll
M llvm/test/CodeGen/VE/Vector/vec_select.ll
M llvm/test/CodeGen/VE/Vector/vp_add.ll
M llvm/test/CodeGen/VE/Vector/vp_and.ll
M llvm/test/CodeGen/VE/Vector/vp_ashr.ll
M llvm/test/CodeGen/VE/Vector/vp_fadd.ll
M llvm/test/CodeGen/VE/Vector/vp_fadd_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_fdiv.ll
M llvm/test/CodeGen/VE/Vector/vp_fdiv_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_fma.ll
M llvm/test/CodeGen/VE/Vector/vp_fma_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_fmul.ll
M llvm/test/CodeGen/VE/Vector/vp_fmul_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_fsub.ll
M llvm/test/CodeGen/VE/Vector/vp_fsub_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_lshr.ll
M llvm/test/CodeGen/VE/Vector/vp_merge.ll
M llvm/test/CodeGen/VE/Vector/vp_mul.ll
M llvm/test/CodeGen/VE/Vector/vp_or.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_add.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_and.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_or.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_smax.ll
M llvm/test/CodeGen/VE/Vector/vp_reduce_xor.ll
M llvm/test/CodeGen/VE/Vector/vp_sdiv.ll
M llvm/test/CodeGen/VE/Vector/vp_select.ll
M llvm/test/CodeGen/VE/Vector/vp_shl.ll
M llvm/test/CodeGen/VE/Vector/vp_sra.ll
M llvm/test/CodeGen/VE/Vector/vp_srem.ll
M llvm/test/CodeGen/VE/Vector/vp_srl.ll
M llvm/test/CodeGen/VE/Vector/vp_sub.ll
M llvm/test/CodeGen/VE/Vector/vp_udiv.ll
M llvm/test/CodeGen/VE/Vector/vp_urem.ll
M llvm/test/CodeGen/VE/Vector/vp_xor.ll
M llvm/test/CodeGen/VE/null-mctargetstreamer.ll
Log Message:
-----------
[VE,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize $ve-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: 9ef1d37ffb5f56a9b949a6307bbb16c2ea0130e3
https://github.com/llvm/llvm-project/commit/9ef1d37ffb5f56a9b949a6307bbb16c2ea0130e3
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AVR/PR31344.ll
M llvm/test/CodeGen/AVR/PR31345.ll
M llvm/test/CodeGen/AVR/PR37143.ll
M llvm/test/CodeGen/AVR/add.ll
M llvm/test/CodeGen/AVR/alloca.ll
M llvm/test/CodeGen/AVR/and.ll
M llvm/test/CodeGen/AVR/atomics/fence.ll
M llvm/test/CodeGen/AVR/atomics/load-store-16-unexpected-register-bug.ll
M llvm/test/CodeGen/AVR/atomics/load16.ll
M llvm/test/CodeGen/AVR/atomics/load32.ll
M llvm/test/CodeGen/AVR/atomics/load64.ll
M llvm/test/CodeGen/AVR/atomics/load8.ll
M llvm/test/CodeGen/AVR/atomics/store.ll
M llvm/test/CodeGen/AVR/atomics/store16.ll
M llvm/test/CodeGen/AVR/atomics/swap.ll
M llvm/test/CodeGen/AVR/avr-rust-issue-123.ll
M llvm/test/CodeGen/AVR/block-address-is-in-progmem-space.ll
M llvm/test/CodeGen/AVR/branch-relaxation-long.ll
M llvm/test/CodeGen/AVR/branch-relaxation.ll
M llvm/test/CodeGen/AVR/brind.ll
M llvm/test/CodeGen/AVR/calling-conv/c/call.ll
M llvm/test/CodeGen/AVR/calling-conv/c/call_aggr.ll
M llvm/test/CodeGen/AVR/calling-conv/c/return.ll
M llvm/test/CodeGen/AVR/calling-conv/c/return_aggr.ll
M llvm/test/CodeGen/AVR/clear-bss.ll
M llvm/test/CodeGen/AVR/cmp.ll
M llvm/test/CodeGen/AVR/copy-data-to-ram.ll
M llvm/test/CodeGen/AVR/ctlz.ll
M llvm/test/CodeGen/AVR/ctpop.ll
M llvm/test/CodeGen/AVR/cttz.ll
M llvm/test/CodeGen/AVR/directmem.ll
M llvm/test/CodeGen/AVR/div.ll
M llvm/test/CodeGen/AVR/dynalloca.ll
M llvm/test/CodeGen/AVR/eor.ll
M llvm/test/CodeGen/AVR/expand-integer-failure.ll
M llvm/test/CodeGen/AVR/features/avr25.ll
M llvm/test/CodeGen/AVR/features/xmega_io.ll
M llvm/test/CodeGen/AVR/frame.ll
M llvm/test/CodeGen/AVR/frmidx-iterator-bug.ll
M llvm/test/CodeGen/AVR/high-pressure-on-ptrregs.ll
M llvm/test/CodeGen/AVR/icall-func-pointer-correct-addr-space.ll
M llvm/test/CodeGen/AVR/impossible-reg-to-reg-copy.ll
M llvm/test/CodeGen/AVR/inline-asm/inline-asm.ll
M llvm/test/CodeGen/AVR/inline-asm/inline-asm2.ll
M llvm/test/CodeGen/AVR/integration/blink.ll
M llvm/test/CodeGen/AVR/interrupts.ll
M llvm/test/CodeGen/AVR/intrinsics/named-reg-alloc.ll
M llvm/test/CodeGen/AVR/intrinsics/named-reg-special.ll
M llvm/test/CodeGen/AVR/intrinsics/stacksave-restore.ll
M llvm/test/CodeGen/AVR/io.ll
M llvm/test/CodeGen/AVR/issue-cannot-select-bswap.ll
M llvm/test/CodeGen/AVR/issue-regalloc-stackframe-folding-earlyclobber.ll
M llvm/test/CodeGen/AVR/large-return-size.ll
M llvm/test/CodeGen/AVR/ldd-immediate-overflow.ll
M llvm/test/CodeGen/AVR/load.ll
M llvm/test/CodeGen/AVR/lower-formal-args-struct-return.ll
M llvm/test/CodeGen/AVR/lower-formal-arguments-assertion.ll
M llvm/test/CodeGen/AVR/no-clear-bss.ll
M llvm/test/CodeGen/AVR/no-copy-data.ll
M llvm/test/CodeGen/AVR/no-print-operand-twice.ll
M llvm/test/CodeGen/AVR/or.ll
M llvm/test/CodeGen/AVR/pre-schedule.ll
M llvm/test/CodeGen/AVR/progmem-extended.ll
M llvm/test/CodeGen/AVR/progmem.ll
M llvm/test/CodeGen/AVR/pseudo/LDDWRdYQ.mir
M llvm/test/CodeGen/AVR/rem.ll
M llvm/test/CodeGen/AVR/runtime-trig.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-112.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-37.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-95.ll
M llvm/test/CodeGen/AVR/rust-avr-bug-99.ll
M llvm/test/CodeGen/AVR/rust-bug-98167.ll
M llvm/test/CodeGen/AVR/select-must-add-unconditional-jump.ll
M llvm/test/CodeGen/AVR/sext.ll
M llvm/test/CodeGen/AVR/shift.ll
M llvm/test/CodeGen/AVR/sign-extension.ll
M llvm/test/CodeGen/AVR/smul-with-overflow.ll
M llvm/test/CodeGen/AVR/software-mul.ll
M llvm/test/CodeGen/AVR/std-immediate-overflow.ll
M llvm/test/CodeGen/AVR/std-ldd-immediate-overflow.ll
M llvm/test/CodeGen/AVR/stdwstk.ll
M llvm/test/CodeGen/AVR/store-undef.ll
M llvm/test/CodeGen/AVR/store.ll
M llvm/test/CodeGen/AVR/sub.ll
M llvm/test/CodeGen/AVR/trunc.ll
M llvm/test/CodeGen/AVR/umul-with-overflow.ll
M llvm/test/CodeGen/AVR/umul.with.overflow.i16-bug.ll
M llvm/test/CodeGen/AVR/unaligned-atomic-ops.ll
M llvm/test/CodeGen/AVR/varargs.ll
M llvm/test/CodeGen/AVR/xor.ll
M llvm/test/CodeGen/AVR/zeroreg.ll
M llvm/test/CodeGen/AVR/zext.ll
Log Message:
-----------
[AVR,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize avr-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: 728490257ecc09ada707a0390303bd3c61027a53
https://github.com/llvm/llvm-project/commit/728490257ecc09ada707a0390303bd3c61027a53
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll
M llvm/test/CodeGen/SPARC/2007-05-09-JumpTables.ll
M llvm/test/CodeGen/SPARC/2007-07-05-LiveIntervalAssert.ll
M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmMemoryOperand.ll
M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmRegOperand.ll
M llvm/test/CodeGen/SPARC/2009-08-28-PIC.ll
M llvm/test/CodeGen/SPARC/2009-08-28-WeakLinkage.ll
M llvm/test/CodeGen/SPARC/2011-01-11-CC.ll
M llvm/test/CodeGen/SPARC/2011-01-11-Call.ll
M llvm/test/CodeGen/SPARC/2011-01-11-FrameAddr.ll
M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
M llvm/test/CodeGen/SPARC/2011-01-21-ByValArgs.ll
M llvm/test/CodeGen/SPARC/2011-01-22-SRet.ll
M llvm/test/CodeGen/SPARC/2011-12-03-TailDuplication.ll
M llvm/test/CodeGen/SPARC/2013-05-17-CallFrame.ll
M llvm/test/CodeGen/SPARC/32abi.ll
M llvm/test/CodeGen/SPARC/64abi.ll
M llvm/test/CodeGen/SPARC/64atomics.ll
M llvm/test/CodeGen/SPARC/64bit.ll
M llvm/test/CodeGen/SPARC/64spill.ll
M llvm/test/CodeGen/SPARC/DbgValueOtherTargets.test
M llvm/test/CodeGen/SPARC/LeonCASAInstructionUT.ll
M llvm/test/CodeGen/SPARC/LeonDetectRoundChangePassUT.ll
M llvm/test/CodeGen/SPARC/LeonFixAllFDIVSQRTPassUT.ll
M llvm/test/CodeGen/SPARC/LeonInsertNOPLoadPassUT.ll
M llvm/test/CodeGen/SPARC/LeonItinerariesUT.ll
M llvm/test/CodeGen/SPARC/LeonSMACUMACInstructionUT.ll
M llvm/test/CodeGen/SPARC/alloca-align.ll
M llvm/test/CodeGen/SPARC/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/SPARC/atomics.ll
M llvm/test/CodeGen/SPARC/basictest.ll
M llvm/test/CodeGen/SPARC/cast-sret-func.ll
M llvm/test/CodeGen/SPARC/ctpop.ll
M llvm/test/CodeGen/SPARC/cttz.ll
M llvm/test/CodeGen/SPARC/data-align.ll
M llvm/test/CodeGen/SPARC/disable-fsmuld-fmuls.ll
M llvm/test/CodeGen/SPARC/float-constants.ll
M llvm/test/CodeGen/SPARC/float.ll
M llvm/test/CodeGen/SPARC/fp128.ll
M llvm/test/CodeGen/SPARC/inlineasm-bad.ll
M llvm/test/CodeGen/SPARC/inlineasm-v9.ll
M llvm/test/CodeGen/SPARC/inlineasm.ll
M llvm/test/CodeGen/SPARC/leafproc.ll
M llvm/test/CodeGen/SPARC/mult-alt-generic-sparc.ll
M llvm/test/CodeGen/SPARC/multiple-div.ll
M llvm/test/CodeGen/SPARC/parts.ll
M llvm/test/CodeGen/SPARC/private.ll
M llvm/test/CodeGen/SPARC/readcycle.ll
M llvm/test/CodeGen/SPARC/reg64.ll
M llvm/test/CodeGen/SPARC/register-clobber.ll
M llvm/test/CodeGen/SPARC/reserved-regs.ll
M llvm/test/CodeGen/SPARC/salvage-debug-isel.ll
M llvm/test/CodeGen/SPARC/select-mask.ll
M llvm/test/CodeGen/SPARC/setjmp.ll
M llvm/test/CodeGen/SPARC/soft-float.ll
M llvm/test/CodeGen/SPARC/soft-mul-div.ll
M llvm/test/CodeGen/SPARC/spill.ll
M llvm/test/CodeGen/SPARC/sret-secondary.ll
M llvm/test/CodeGen/SPARC/stack-align.ll
M llvm/test/CodeGen/SPARC/tn0009.mir
M llvm/test/CodeGen/SPARC/tn0010.mir
M llvm/test/CodeGen/SPARC/tn0012.mir
M llvm/test/CodeGen/SPARC/tn0013.mir
M llvm/test/CodeGen/SPARC/vector-call.ll
M llvm/test/CodeGen/SPARC/vector-extract-elt.ll
M llvm/test/CodeGen/SPARC/zerostructcall.ll
Log Message:
-----------
[Sparc,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize sparc*-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: f1987c74ee5637ec248675a9a7070654167a5260
https://github.com/llvm/llvm-project/commit/f1987c74ee5637ec248675a9a7070654167a5260
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/XCore/2008-11-17-Shl64.ll
M llvm/test/CodeGen/XCore/2009-01-08-Crash.ll
M llvm/test/CodeGen/XCore/2009-01-14-Remat-Crash.ll
M llvm/test/CodeGen/XCore/2009-03-27-v2f64-param.ll
M llvm/test/CodeGen/XCore/2009-07-15-store192.ll
M llvm/test/CodeGen/XCore/2010-02-25-LSR-Crash.ll
M llvm/test/CodeGen/XCore/2011-01-31-DAGCombineBug.ll
M llvm/test/CodeGen/XCore/2011-08-01-DynamicAllocBug.ll
M llvm/test/CodeGen/XCore/DbgValueOtherTargets.test
M llvm/test/CodeGen/XCore/addsub64.ll
M llvm/test/CodeGen/XCore/aliases.ll
M llvm/test/CodeGen/XCore/align.ll
M llvm/test/CodeGen/XCore/alignment.ll
M llvm/test/CodeGen/XCore/ashr.ll
M llvm/test/CodeGen/XCore/atomic.ll
M llvm/test/CodeGen/XCore/basictest.ll
M llvm/test/CodeGen/XCore/bigstructret.ll
M llvm/test/CodeGen/XCore/bitrev.ll
M llvm/test/CodeGen/XCore/byVal.ll
M llvm/test/CodeGen/XCore/call.ll
M llvm/test/CodeGen/XCore/constants.ll
M llvm/test/CodeGen/XCore/events.ll
M llvm/test/CodeGen/XCore/exception.ll
M llvm/test/CodeGen/XCore/fneg.ll
M llvm/test/CodeGen/XCore/getid.ll
M llvm/test/CodeGen/XCore/globals.ll
M llvm/test/CodeGen/XCore/indirectbr.ll
M llvm/test/CodeGen/XCore/inline-asm.ll
M llvm/test/CodeGen/XCore/inlineasm-output-template.ll
M llvm/test/CodeGen/XCore/ladd_lsub_combine.ll
M llvm/test/CodeGen/XCore/licm-ldwcp.ll
M llvm/test/CodeGen/XCore/linkage.ll
M llvm/test/CodeGen/XCore/llvm-intrinsics.ll
M llvm/test/CodeGen/XCore/load.ll
M llvm/test/CodeGen/XCore/memcpy.ll
M llvm/test/CodeGen/XCore/misc-intrinsics.ll
M llvm/test/CodeGen/XCore/mkmsk.ll
M llvm/test/CodeGen/XCore/mul64.ll
M llvm/test/CodeGen/XCore/offset_folding.ll
M llvm/test/CodeGen/XCore/private.ll
M llvm/test/CodeGen/XCore/ps-intrinsics.ll
M llvm/test/CodeGen/XCore/resources.ll
M llvm/test/CodeGen/XCore/resources_combine.ll
M llvm/test/CodeGen/XCore/section-name.ll
M llvm/test/CodeGen/XCore/sext.ll
M llvm/test/CodeGen/XCore/shedulingPreference.ll
M llvm/test/CodeGen/XCore/sr-intrinsics.ll
M llvm/test/CodeGen/XCore/store.ll
M llvm/test/CodeGen/XCore/switch.ll
M llvm/test/CodeGen/XCore/switch_long.ll
M llvm/test/CodeGen/XCore/tls.ll
M llvm/test/CodeGen/XCore/trampoline.ll
M llvm/test/CodeGen/XCore/trap.ll
M llvm/test/CodeGen/XCore/unaligned_load.ll
M llvm/test/CodeGen/XCore/unaligned_store.ll
M llvm/test/CodeGen/XCore/unaligned_store_combine.ll
M llvm/test/CodeGen/XCore/varargs.ll
M llvm/test/CodeGen/XCore/zext.ll
M llvm/test/CodeGen/XCore/zextfree.ll
Log Message:
-----------
[XCore,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize xcore-apple-darwin as ELF instead
of rejecting it outrightly.
Commit: b279f6b098d3849f7f1c1f539b108307d5f8ae2d
https://github.com/llvm/llvm-project/commit/b279f6b098d3849f7f1c1f539b108307d5f8ae2d
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/MIR/NVPTX/expected-floating-point-literal.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
M llvm/test/CodeGen/NVPTX/APIntLoadStore.ll
M llvm/test/CodeGen/NVPTX/APIntParam.ll
M llvm/test/CodeGen/NVPTX/APIntSextParam.ll
M llvm/test/CodeGen/NVPTX/APIntZextParam.ll
M llvm/test/CodeGen/NVPTX/access-non-generic.ll
M llvm/test/CodeGen/NVPTX/activemask.ll
M llvm/test/CodeGen/NVPTX/add-sub-128bit.ll
M llvm/test/CodeGen/NVPTX/addr-mode.ll
M llvm/test/CodeGen/NVPTX/addrspacecast-gvar.ll
M llvm/test/CodeGen/NVPTX/addrspacecast.ll
M llvm/test/CodeGen/NVPTX/aggr-param.ll
M llvm/test/CodeGen/NVPTX/aggregate-return.ll
M llvm/test/CodeGen/NVPTX/alias-errors.ll
M llvm/test/CodeGen/NVPTX/alias.ll
M llvm/test/CodeGen/NVPTX/annotations.ll
M llvm/test/CodeGen/NVPTX/anonymous-fn-param.ll
M llvm/test/CodeGen/NVPTX/arg-lowering.ll
M llvm/test/CodeGen/NVPTX/arithmetic-fp-sm20.ll
M llvm/test/CodeGen/NVPTX/arithmetic-int.ll
M llvm/test/CodeGen/NVPTX/async-copy.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
M llvm/test/CodeGen/NVPTX/atomics-sm60.ll
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/atomics-with-scope.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
M llvm/test/CodeGen/NVPTX/barrier.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/bfe.ll
M llvm/test/CodeGen/NVPTX/boolean-patterns.ll
M llvm/test/CodeGen/NVPTX/branch-fold.ll
M llvm/test/CodeGen/NVPTX/branch-fold.mir
M llvm/test/CodeGen/NVPTX/brkpt.ll
M llvm/test/CodeGen/NVPTX/bswap.ll
M llvm/test/CodeGen/NVPTX/bug17709.ll
M llvm/test/CodeGen/NVPTX/bug21465.ll
M llvm/test/CodeGen/NVPTX/bug22246.ll
M llvm/test/CodeGen/NVPTX/bug22322.ll
M llvm/test/CodeGen/NVPTX/bug26185-2.ll
M llvm/test/CodeGen/NVPTX/bug26185.ll
M llvm/test/CodeGen/NVPTX/bug52623.ll
M llvm/test/CodeGen/NVPTX/bypass-div.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
M llvm/test/CodeGen/NVPTX/callchain.ll
M llvm/test/CodeGen/NVPTX/calling-conv.ll
M llvm/test/CodeGen/NVPTX/calls-with-phi.ll
M llvm/test/CodeGen/NVPTX/cluster-dim.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
M llvm/test/CodeGen/NVPTX/common-linkage.ll
M llvm/test/CodeGen/NVPTX/compare-int.ll
M llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
M llvm/test/CodeGen/NVPTX/constant-vectors.ll
M llvm/test/CodeGen/NVPTX/convert-fp.ll
M llvm/test/CodeGen/NVPTX/convert-int-sm20.ll
M llvm/test/CodeGen/NVPTX/convert-sm80.ll
M llvm/test/CodeGen/NVPTX/convert-sm89.ll
M llvm/test/CodeGen/NVPTX/copysign.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-prefetch.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-reduce.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g.ll
M llvm/test/CodeGen/NVPTX/ctlz.ll
M llvm/test/CodeGen/NVPTX/ctpop.ll
M llvm/test/CodeGen/NVPTX/cttz.ll
M llvm/test/CodeGen/NVPTX/dag-cse.ll
M llvm/test/CodeGen/NVPTX/demote-vars.ll
M llvm/test/CodeGen/NVPTX/disable-opt.ll
M llvm/test/CodeGen/NVPTX/div-ri.ll
M llvm/test/CodeGen/NVPTX/div.ll
M llvm/test/CodeGen/NVPTX/divrem-combine.ll
M llvm/test/CodeGen/NVPTX/dot-product.ll
M llvm/test/CodeGen/NVPTX/dynamic-stackalloc-regression.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/elect.ll
M llvm/test/CodeGen/NVPTX/empty-type.ll
M llvm/test/CodeGen/NVPTX/envreg.ll
M llvm/test/CodeGen/NVPTX/extloadv.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16-ex2.ll
M llvm/test/CodeGen/NVPTX/fast-math.ll
M llvm/test/CodeGen/NVPTX/fcos-no-fast-math.ll
M llvm/test/CodeGen/NVPTX/fence-proxy-tensormap.ll
M llvm/test/CodeGen/NVPTX/fence-sm-90.ll
M llvm/test/CodeGen/NVPTX/fence.ll
M llvm/test/CodeGen/NVPTX/filetype-null.ll
M llvm/test/CodeGen/NVPTX/fma-assoc.ll
M llvm/test/CodeGen/NVPTX/fma-disable.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll
M llvm/test/CodeGen/NVPTX/fns.ll
M llvm/test/CodeGen/NVPTX/fp-contract.ll
M llvm/test/CodeGen/NVPTX/fp-literals.ll
M llvm/test/CodeGen/NVPTX/fp16.ll
M llvm/test/CodeGen/NVPTX/fsin-no-fast-math.ll
M llvm/test/CodeGen/NVPTX/function-align.ll
M llvm/test/CodeGen/NVPTX/funnel-shift-clamp.ll
M llvm/test/CodeGen/NVPTX/generic-to-nvvm.ll
M llvm/test/CodeGen/NVPTX/global-addrspace.ll
M llvm/test/CodeGen/NVPTX/global-ctor-empty.ll
M llvm/test/CodeGen/NVPTX/global-ctor.ll
M llvm/test/CodeGen/NVPTX/global-dtor.ll
M llvm/test/CodeGen/NVPTX/global-incomplete-init.ll
M llvm/test/CodeGen/NVPTX/global-ordering.ll
M llvm/test/CodeGen/NVPTX/global-visibility.ll
M llvm/test/CodeGen/NVPTX/globals_init.ll
M llvm/test/CodeGen/NVPTX/gvar-init.ll
M llvm/test/CodeGen/NVPTX/half.ll
M llvm/test/CodeGen/NVPTX/i1-array-global.ll
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/i1-global.ll
M llvm/test/CodeGen/NVPTX/i1-icmp.ll
M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i1-param.ll
M llvm/test/CodeGen/NVPTX/i128-global.ll
M llvm/test/CodeGen/NVPTX/i128-param.ll
M llvm/test/CodeGen/NVPTX/i128-retval.ll
M llvm/test/CodeGen/NVPTX/i128-struct.ll
M llvm/test/CodeGen/NVPTX/i8-param.ll
M llvm/test/CodeGen/NVPTX/idioms.ll
M llvm/test/CodeGen/NVPTX/imad.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
M llvm/test/CodeGen/NVPTX/inline-asm.ll
M llvm/test/CodeGen/NVPTX/inlineasm-output-template.ll
M llvm/test/CodeGen/NVPTX/intrinsic-old.ll
M llvm/test/CodeGen/NVPTX/intrinsics-sm90.ll
M llvm/test/CodeGen/NVPTX/intrinsics.ll
M llvm/test/CodeGen/NVPTX/isspacep.ll
M llvm/test/CodeGen/NVPTX/kernel-param-align.ll
M llvm/test/CodeGen/NVPTX/ld-addrspace.ll
M llvm/test/CodeGen/NVPTX/ld-generic.ll
M llvm/test/CodeGen/NVPTX/ld-st-addrrspace.py
M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
M llvm/test/CodeGen/NVPTX/ldparam-v4.ll
M llvm/test/CodeGen/NVPTX/ldu-i8.ll
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/ldu-reg-plus-offset.ll
M llvm/test/CodeGen/NVPTX/load-sext-i1.ll
M llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
M llvm/test/CodeGen/NVPTX/load-store-sm-90.ll
M llvm/test/CodeGen/NVPTX/load-store.ll
M llvm/test/CodeGen/NVPTX/load-with-non-coherent-cache.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
M llvm/test/CodeGen/NVPTX/lower-alloca.ll
M llvm/test/CodeGen/NVPTX/lower-kernel-ptr-arg.ll
M llvm/test/CodeGen/NVPTX/machine-sink.ll
M llvm/test/CodeGen/NVPTX/managed.ll
M llvm/test/CodeGen/NVPTX/match.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm53-ptx42.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-autoupgrade.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm86-ptx72-autoupgrade.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm86-ptx72.ll
M llvm/test/CodeGen/NVPTX/max-align.ll
M llvm/test/CodeGen/NVPTX/maxclusterrank.ll
M llvm/test/CodeGen/NVPTX/mbarrier.ll
M llvm/test/CodeGen/NVPTX/minmax-negative.ll
M llvm/test/CodeGen/NVPTX/misaligned-vector-ldst.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/mma-no-sink-after-laneid-check.ll
M llvm/test/CodeGen/NVPTX/module-inline-asm.ll
M llvm/test/CodeGen/NVPTX/mulwide.ll
M llvm/test/CodeGen/NVPTX/named-barriers.ll
M llvm/test/CodeGen/NVPTX/nanosleep.ll
M llvm/test/CodeGen/NVPTX/no-extra-parens.ll
M llvm/test/CodeGen/NVPTX/nofunc.ll
M llvm/test/CodeGen/NVPTX/noreturn.ll
M llvm/test/CodeGen/NVPTX/nounroll.ll
M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
M llvm/test/CodeGen/NVPTX/packed-aggr.ll
M llvm/test/CodeGen/NVPTX/param-align.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/pass-name.ll
M llvm/test/CodeGen/NVPTX/pow2_mask_cmp.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
M llvm/test/CodeGen/NVPTX/pr16278.ll
M llvm/test/CodeGen/NVPTX/pr17529.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure-ptx.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
M llvm/test/CodeGen/NVPTX/rcp-opt.ll
M llvm/test/CodeGen/NVPTX/read-global-variable-constant.ll
M llvm/test/CodeGen/NVPTX/redux-sync.ll
M llvm/test/CodeGen/NVPTX/refl1.ll
M llvm/test/CodeGen/NVPTX/reg-copy.ll
M llvm/test/CodeGen/NVPTX/reg-types.ll
M llvm/test/CodeGen/NVPTX/rotate_64.ll
M llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
M llvm/test/CodeGen/NVPTX/rsqrt.ll
M llvm/test/CodeGen/NVPTX/sched1.ll
M llvm/test/CodeGen/NVPTX/sched2.ll
M llvm/test/CodeGen/NVPTX/setmaxnreg.ll
M llvm/test/CodeGen/NVPTX/sext-in-reg.ll
M llvm/test/CodeGen/NVPTX/sext-params.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/shfl-p.ll
M llvm/test/CodeGen/NVPTX/shfl-sync-p.ll
M llvm/test/CodeGen/NVPTX/shfl-sync.ll
M llvm/test/CodeGen/NVPTX/shfl.ll
M llvm/test/CodeGen/NVPTX/shift-parts.ll
M llvm/test/CodeGen/NVPTX/short-ptr.ll
M llvm/test/CodeGen/NVPTX/shuffle-vec-undef-init.ll
M llvm/test/CodeGen/NVPTX/simple-call.ll
M llvm/test/CodeGen/NVPTX/sm-version.ll
M llvm/test/CodeGen/NVPTX/sqrt-approx.ll
M llvm/test/CodeGen/NVPTX/st-addrspace.ll
M llvm/test/CodeGen/NVPTX/st-generic.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/stacksaverestore.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
M llvm/test/CodeGen/NVPTX/surf-read-cuda.ll
M llvm/test/CodeGen/NVPTX/surf-write-cuda.ll
M llvm/test/CodeGen/NVPTX/symbol-naming.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/texsurf-queries.ll
M llvm/test/CodeGen/NVPTX/tid-range.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/unreachable.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/vec-param-load.ll
M llvm/test/CodeGen/NVPTX/vec8.ll
M llvm/test/CodeGen/NVPTX/vector-args.ll
M llvm/test/CodeGen/NVPTX/vector-call.ll
M llvm/test/CodeGen/NVPTX/vector-compare.ll
M llvm/test/CodeGen/NVPTX/vector-global.ll
M llvm/test/CodeGen/NVPTX/vector-loads.ll
M llvm/test/CodeGen/NVPTX/vector-returns.ll
M llvm/test/CodeGen/NVPTX/vector-select.ll
M llvm/test/CodeGen/NVPTX/vector-stores.ll
M llvm/test/CodeGen/NVPTX/vote.ll
M llvm/test/CodeGen/NVPTX/weak-global.ll
M llvm/test/CodeGen/NVPTX/weak-linkage.ll
M llvm/test/CodeGen/NVPTX/wmma-ptx60-sm70.py
M llvm/test/CodeGen/NVPTX/wmma-ptx61-sm70.py
M llvm/test/CodeGen/NVPTX/wmma-ptx63-sm72.py
M llvm/test/CodeGen/NVPTX/wmma-ptx63-sm75.py
M llvm/test/CodeGen/NVPTX/wmma-ptx64-sm70.py
M llvm/test/CodeGen/NVPTX/wmma-ptx65-sm75.py
M llvm/test/CodeGen/NVPTX/wmma-ptx71-sm80.py
M llvm/test/CodeGen/NVPTX/zeroext-32bit.ll
Log Message:
-----------
[NVPTX,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
nvptx{,64}-apple-darwin as ELF instead of rejecting it outrightly.
Commit: e64650d702f23674f5a7995a0bb6bd56a604b291
https://github.com/llvm/llvm-project/commit/e64650d702f23674f5a7995a0bb6bd56a604b291
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
Log Message:
-----------
[VPlan] Get types and step from VPWidenPointerInductionRecipe (NFC).
Use information directly from operands instead of going through
IVDescriptor.
Commit: 9afaf9c6c89efb22bccab39677e8dff47da91a00
https://github.com/llvm/llvm-project/commit/9afaf9c6c89efb22bccab39677e8dff47da91a00
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
M llvm/test/CodeGen/AMDGPU/bitreverse-inline-immediates.ll
M llvm/test/CodeGen/AMDGPU/invalid-inline-asm-constraint-crash.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.prng.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/load-store-opt-addc0.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards-mfma-scale.gfx950.mir
M llvm/test/CodeGen/AMDGPU/mmra.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir
Log Message:
-----------
[AMDGPU,test] Change llc -march= to -mtriple=
Follow-up to 806761a7629df268c8aed49657aeccffa6bca449
Commit: c5037db4acd95790a0ca5061c8fa79c5c291607e
https://github.com/llvm/llvm-project/commit/c5037db4acd95790a0ca5061c8fa79c5c291607e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/BPF/32-bit-subreg-alu.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-cond-select.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-load-store.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-1.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-2.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-3.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-peephole.ll
M llvm/test/CodeGen/BPF/32-bit-subreg-zext.ll
M llvm/test/CodeGen/BPF/BTF/array-1d-char.ll
M llvm/test/CodeGen/BPF/BTF/array-1d-int.ll
M llvm/test/CodeGen/BPF/BTF/array-2d-int.ll
M llvm/test/CodeGen/BPF/BTF/array-size-0.ll
M llvm/test/CodeGen/BPF/BTF/array-typedef.ll
M llvm/test/CodeGen/BPF/BTF/atomics.ll
M llvm/test/CodeGen/BPF/BTF/char-no-debuginfo.ll
M llvm/test/CodeGen/BPF/BTF/char.ll
M llvm/test/CodeGen/BPF/BTF/double.ll
M llvm/test/CodeGen/BPF/BTF/empty-btf.ll
M llvm/test/CodeGen/BPF/BTF/enum-basic.ll
M llvm/test/CodeGen/BPF/BTF/extern-builtin.ll
M llvm/test/CodeGen/BPF/BTF/extern-func-arg.ll
M llvm/test/CodeGen/BPF/BTF/extern-func-ptr.ll
M llvm/test/CodeGen/BPF/BTF/extern-global-var.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak-section.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func2.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-section.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-struct-weak.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-struct.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-weak-section.ll
M llvm/test/CodeGen/BPF/BTF/filename.ll
M llvm/test/CodeGen/BPF/BTF/float.ll
M llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll
M llvm/test/CodeGen/BPF/BTF/func-non-void.ll
M llvm/test/CodeGen/BPF/BTF/func-source.ll
M llvm/test/CodeGen/BPF/BTF/func-typedef.ll
M llvm/test/CodeGen/BPF/BTF/func-unused-arg.ll
M llvm/test/CodeGen/BPF/BTF/func-void.ll
M llvm/test/CodeGen/BPF/BTF/fwd-no-define.ll
M llvm/test/CodeGen/BPF/BTF/fwd-with-define.ll
M llvm/test/CodeGen/BPF/BTF/global-var-bss-and-data.ll
M llvm/test/CodeGen/BPF/BTF/global-var-inited.ll
M llvm/test/CodeGen/BPF/BTF/global-var-sec-readonly.ll
M llvm/test/CodeGen/BPF/BTF/global-var-sec.ll
M llvm/test/CodeGen/BPF/BTF/incomplete-debuginfo.ll
M llvm/test/CodeGen/BPF/BTF/int.ll
M llvm/test/CodeGen/BPF/BTF/local-var-readonly-1.ll
M llvm/test/CodeGen/BPF/BTF/local-var-readonly-2.ll
M llvm/test/CodeGen/BPF/BTF/local-var.ll
M llvm/test/CodeGen/BPF/BTF/longlong.ll
M llvm/test/CodeGen/BPF/BTF/map-def-2.ll
M llvm/test/CodeGen/BPF/BTF/map-def-3.ll
M llvm/test/CodeGen/BPF/BTF/map-def.ll
M llvm/test/CodeGen/BPF/BTF/pruning-const.ll
M llvm/test/CodeGen/BPF/BTF/pruning-dup-ptr-struct.ll
M llvm/test/CodeGen/BPF/BTF/pruning-multi-derived-type.ll
M llvm/test/CodeGen/BPF/BTF/pruning-typedef.ll
M llvm/test/CodeGen/BPF/BTF/ptr-const-void.ll
M llvm/test/CodeGen/BPF/BTF/ptr-func-1.ll
M llvm/test/CodeGen/BPF/BTF/ptr-func-2.ll
M llvm/test/CodeGen/BPF/BTF/ptr-func-3.ll
M llvm/test/CodeGen/BPF/BTF/ptr-int.ll
M llvm/test/CodeGen/BPF/BTF/ptr-prune-type.ll
M llvm/test/CodeGen/BPF/BTF/ptr-void.ll
M llvm/test/CodeGen/BPF/BTF/ptr-volatile-const-void.ll
M llvm/test/CodeGen/BPF/BTF/ptr-volatile-void.ll
M llvm/test/CodeGen/BPF/BTF/restrict-ptr.ll
M llvm/test/CodeGen/BPF/BTF/short.ll
M llvm/test/CodeGen/BPF/BTF/static-func.ll
M llvm/test/CodeGen/BPF/BTF/static-var-derived-type.ll
M llvm/test/CodeGen/BPF/BTF/static-var-inited-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-inited.ll
M llvm/test/CodeGen/BPF/BTF/static-var-readonly-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-readonly.ll
M llvm/test/CodeGen/BPF/BTF/static-var-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-zerolen-array.ll
M llvm/test/CodeGen/BPF/BTF/static-var.ll
M llvm/test/CodeGen/BPF/BTF/struct-anon-2.ll
M llvm/test/CodeGen/BPF/BTF/struct-anon.ll
M llvm/test/CodeGen/BPF/BTF/struct-basic.ll
M llvm/test/CodeGen/BPF/BTF/struct-bitfield-typedef.ll
M llvm/test/CodeGen/BPF/BTF/struct-enum.ll
M llvm/test/CodeGen/BPF/BTF/tag-1.ll
M llvm/test/CodeGen/BPF/BTF/tag-2.ll
M llvm/test/CodeGen/BPF/BTF/tag-extern-func.ll
M llvm/test/CodeGen/BPF/BTF/tag-typedef.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-fwd.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-resolved.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-var.ll
M llvm/test/CodeGen/BPF/BTF/uchar.ll
M llvm/test/CodeGen/BPF/BTF/uint.ll
M llvm/test/CodeGen/BPF/BTF/ulonglong.ll
M llvm/test/CodeGen/BPF/BTF/union-array-typedef.ll
M llvm/test/CodeGen/BPF/BTF/ushort.ll
M llvm/test/CodeGen/BPF/BTF/weak-global-2.ll
M llvm/test/CodeGen/BPF/BTF/weak-global-3.ll
M llvm/test/CodeGen/BPF/BTF/weak-global.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-st-imm.ll
M llvm/test/CodeGen/BPF/CORE/simplifypatable-nullptr.ll
M llvm/test/CodeGen/BPF/addr-space-cast.ll
M llvm/test/CodeGen/BPF/addr-space-globals.ll
M llvm/test/CodeGen/BPF/addr-space-globals2.ll
M llvm/test/CodeGen/BPF/alu8.ll
M llvm/test/CodeGen/BPF/atomics.ll
M llvm/test/CodeGen/BPF/atomics_2.ll
M llvm/test/CodeGen/BPF/atomics_mem_order_v1.ll
M llvm/test/CodeGen/BPF/atomics_mem_order_v3.ll
M llvm/test/CodeGen/BPF/atomics_sub64_relaxed_v1.ll
M llvm/test/CodeGen/BPF/basictest.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-1.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-2.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-3.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-4.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-5.ll
M llvm/test/CodeGen/BPF/bpf-fastcall-regmask-1.ll
M llvm/test/CodeGen/BPF/bswap.ll
M llvm/test/CodeGen/BPF/byval.ll
M llvm/test/CodeGen/BPF/callx.ll
M llvm/test/CodeGen/BPF/cc_args.ll
M llvm/test/CodeGen/BPF/cc_args_be.ll
M llvm/test/CodeGen/BPF/cc_ret.ll
M llvm/test/CodeGen/BPF/cmp.ll
M llvm/test/CodeGen/BPF/cttz-ctlz.ll
M llvm/test/CodeGen/BPF/dwarfdump.ll
M llvm/test/CodeGen/BPF/ex1.ll
M llvm/test/CodeGen/BPF/fi_ri.ll
M llvm/test/CodeGen/BPF/gotol.ll
M llvm/test/CodeGen/BPF/i128.ll
M llvm/test/CodeGen/BPF/inline_asm.ll
M llvm/test/CodeGen/BPF/inlineasm-wreg.ll
M llvm/test/CodeGen/BPF/intrinsics.ll
M llvm/test/CodeGen/BPF/is_trunc_free.ll
M llvm/test/CodeGen/BPF/is_zext_free.ll
M llvm/test/CodeGen/BPF/ldsx.ll
M llvm/test/CodeGen/BPF/load.ll
M llvm/test/CodeGen/BPF/loops.ll
M llvm/test/CodeGen/BPF/many_args1.ll
M llvm/test/CodeGen/BPF/many_args2.ll
M llvm/test/CodeGen/BPF/mem_offset.ll
M llvm/test/CodeGen/BPF/mem_offset_be.ll
M llvm/test/CodeGen/BPF/memcmp.ll
M llvm/test/CodeGen/BPF/memcpy-expand-in-order.ll
M llvm/test/CodeGen/BPF/movsx.ll
M llvm/test/CodeGen/BPF/no-merge-attr.ll
M llvm/test/CodeGen/BPF/optnone-1.ll
M llvm/test/CodeGen/BPF/optnone-2.ll
M llvm/test/CodeGen/BPF/remove_truncate_1.ll
M llvm/test/CodeGen/BPF/remove_truncate_2.ll
M llvm/test/CodeGen/BPF/remove_truncate_3.ll
M llvm/test/CodeGen/BPF/remove_truncate_4.ll
M llvm/test/CodeGen/BPF/remove_truncate_5.ll
M llvm/test/CodeGen/BPF/remove_truncate_6.ll
M llvm/test/CodeGen/BPF/remove_truncate_7.ll
M llvm/test/CodeGen/BPF/remove_truncate_8.ll
M llvm/test/CodeGen/BPF/remove_truncate_9.ll
M llvm/test/CodeGen/BPF/rodata_1.ll
M llvm/test/CodeGen/BPF/rodata_2.ll
M llvm/test/CodeGen/BPF/rodata_3.ll
M llvm/test/CodeGen/BPF/rodata_4.ll
M llvm/test/CodeGen/BPF/rodata_5.ll
M llvm/test/CodeGen/BPF/rodata_6.ll
M llvm/test/CodeGen/BPF/rodata_7.ll
M llvm/test/CodeGen/BPF/sdiv_smod.ll
M llvm/test/CodeGen/BPF/sdiv_to_mul.ll
M llvm/test/CodeGen/BPF/select_ri.ll
M llvm/test/CodeGen/BPF/selectiondag-bug.ll
M llvm/test/CodeGen/BPF/setcc.ll
M llvm/test/CodeGen/BPF/shifts.ll
M llvm/test/CodeGen/BPF/sockex2.ll
M llvm/test/CodeGen/BPF/spill-alu32.ll
M llvm/test/CodeGen/BPF/store_imm.ll
M llvm/test/CodeGen/BPF/struct-arg.ll
M llvm/test/CodeGen/BPF/struct_ret1.ll
M llvm/test/CodeGen/BPF/struct_ret2.ll
M llvm/test/CodeGen/BPF/undef.ll
M llvm/test/CodeGen/BPF/vararg1.ll
M llvm/test/CodeGen/BPF/warn-call.ll
M llvm/test/CodeGen/BPF/warn-stack.ll
M llvm/test/CodeGen/BPF/xadd.ll
M llvm/test/CodeGen/BPF/xadd_legal.ll
M llvm/test/CodeGen/BPF/xaddd_v1.ll
Log Message:
-----------
[BPF,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
bpf*-apple-darwin as ELF instead of rejecting it outrightly.
Commit: 50046221b8e913ec6506eb96ce4c0cd267a5cc99
https://github.com/llvm/llvm-project/commit/50046221b8e913ec6506eb96ce4c0cd267a5cc99
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
Log Message:
-----------
Revert "[Driver] Cache SanitizerArgs (NFC) (#119442)"
This reverts commit bae383ba6b53b0d8257c83f99ceecdd751d0a378.
Prerequisite to reverting #119071.
Commit: 1464b8ec8a675fd11dc7280db1c56aac03771b0a
https://github.com/llvm/llvm-project/commit/1464b8ec8a675fd11dc7280db1c56aac03771b0a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
R compiler-rt/test/msan/Linux/dn_expand.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/b64.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp
Log Message:
-----------
Revert "Move interceptors for libresolv functions to MSan (#119071)"
This reverts commit f5f965058a5f9b835382f96bd4041bc7e608ece0.
Breaks a test on some bots, see
https://github.com/llvm/llvm-project/pull/119071#issuecomment-2544000926
Commit: 40a4cbb0f200e5e0bafbd58d55c2da6daab9515d
https://github.com/llvm/llvm-project/commit/40a4cbb0f200e5e0bafbd58d55c2da6daab9515d
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/MIR/X86/basic-block-liveins.mir
M llvm/test/CodeGen/MIR/X86/basic-block-not-at-start-of-line-error.mir
M llvm/test/CodeGen/MIR/X86/block-address-operands.mir
M llvm/test/CodeGen/MIR/X86/callee-saved-info.mir
M llvm/test/CodeGen/MIR/X86/cfi-def-cfa-offset.mir
M llvm/test/CodeGen/MIR/X86/cfi-def-cfa-register.mir
M llvm/test/CodeGen/MIR/X86/cfi-offset.mir
M llvm/test/CodeGen/MIR/X86/constant-pool-item-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/constant-pool.mir
M llvm/test/CodeGen/MIR/X86/constant-value-error.mir
M llvm/test/CodeGen/MIR/X86/copyIRflags.mir
M llvm/test/CodeGen/MIR/X86/dead-register-flag.mir
M llvm/test/CodeGen/MIR/X86/def-register-already-tied-error.mir
M llvm/test/CodeGen/MIR/X86/duplicate-memory-operand-flag.mir
M llvm/test/CodeGen/MIR/X86/duplicate-register-flag-error.mir
M llvm/test/CodeGen/MIR/X86/early-clobber-register-flag.mir
M llvm/test/CodeGen/MIR/X86/exception-function-state.mir
M llvm/test/CodeGen/MIR/X86/expected-align-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-alignment-after-align-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-basic-block-at-start-of-body.mir
M llvm/test/CodeGen/MIR/X86/expected-block-reference-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-comma-after-cfi-register.mir
M llvm/test/CodeGen/MIR/X86/expected-comma-after-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-different-implicit-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-different-implicit-register-flag.mir
M llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-global-value-after-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/expected-integer-after-offset-sign.mir
M llvm/test/CodeGen/MIR/X86/expected-integer-after-tied-def.mir
M llvm/test/CodeGen/MIR/X86/expected-integer-in-successor-weight.mir
M llvm/test/CodeGen/MIR/X86/expected-load-or-store-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-machine-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-after-debug-location.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-after-exclaim.mir
M llvm/test/CodeGen/MIR/X86/expected-metadata-node-in-stack-object.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-in-allocation-hint.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-in-callee-saved-register.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-in-functions-livein.mir
M llvm/test/CodeGen/MIR/X86/expected-named-register-livein.mir
M llvm/test/CodeGen/MIR/X86/expected-newline-at-end-of-list.mir
M llvm/test/CodeGen/MIR/X86/expected-number-after-bb.mir
M llvm/test/CodeGen/MIR/X86/expected-offset-after-cfi-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-pointer-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-positive-alignment-after-align.mir
M llvm/test/CodeGen/MIR/X86/expected-power-of-2-after-align.mir
M llvm/test/CodeGen/MIR/X86/expected-register-after-cfi-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-register-after-flags.mir
M llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation.mir
M llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation2.mir
M llvm/test/CodeGen/MIR/X86/expected-stack-object-function-context.mir
M llvm/test/CodeGen/MIR/X86/expected-stack-object.mir
M llvm/test/CodeGen/MIR/X86/expected-subregister-after-colon.mir
M llvm/test/CodeGen/MIR/X86/expected-target-flag-name.mir
M llvm/test/CodeGen/MIR/X86/expected-tied-def-after-lparen.mir
M llvm/test/CodeGen/MIR/X86/expected-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/expected-virtual-register-in-functions-livein.mir
M llvm/test/CodeGen/MIR/X86/external-symbol-operands.mir
M llvm/test/CodeGen/MIR/X86/fastmath.mir
M llvm/test/CodeGen/MIR/X86/frame-info-save-restore-points.mir
M llvm/test/CodeGen/MIR/X86/frame-info-stack-references.mir
M llvm/test/CodeGen/MIR/X86/frame-setup-instruction-flag.mir
M llvm/test/CodeGen/MIR/X86/function-liveins.mir
M llvm/test/CodeGen/MIR/X86/generic-instr-type.mir
M llvm/test/CodeGen/MIR/X86/global-value-operands.mir
M llvm/test/CodeGen/MIR/X86/immediate-operands.mir
M llvm/test/CodeGen/MIR/X86/implicit-register-flag.mir
M llvm/test/CodeGen/MIR/X86/inline-asm-registers.mir
M llvm/test/CodeGen/MIR/X86/instr-cfi-type.mir
M llvm/test/CodeGen/MIR/X86/instr-heap-alloc-operands.mir
M llvm/test/CodeGen/MIR/X86/instr-pcsections.mir
M llvm/test/CodeGen/MIR/X86/instr-symbols-and-mcsymbol-operands.mir
M llvm/test/CodeGen/MIR/X86/instructions-debug-location.mir
M llvm/test/CodeGen/MIR/X86/invalid-constant-pool-item.mir
M llvm/test/CodeGen/MIR/X86/invalid-metadata-node-type.mir
M llvm/test/CodeGen/MIR/X86/invalid-target-flag-name.mir
M llvm/test/CodeGen/MIR/X86/invalid-tied-def-index-error.mir
M llvm/test/CodeGen/MIR/X86/jump-table-info.mir
M llvm/test/CodeGen/MIR/X86/jump-table-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/killed-register-flag.mir
M llvm/test/CodeGen/MIR/X86/large-cfi-offset-number-error.mir
M llvm/test/CodeGen/MIR/X86/large-immediate-operand-error.mir
M llvm/test/CodeGen/MIR/X86/large-index-number-error.mir
M llvm/test/CodeGen/MIR/X86/large-offset-number-error.mir
M llvm/test/CodeGen/MIR/X86/large-size-in-memory-operand-error.mir
M llvm/test/CodeGen/MIR/X86/liveout-register-mask.mir
M llvm/test/CodeGen/MIR/X86/load-with-max-alignment.mir
M llvm/test/CodeGen/MIR/X86/machine-basic-block-operands.mir
M llvm/test/CodeGen/MIR/X86/machine-instructions.mir
M llvm/test/CodeGen/MIR/X86/machine-verifier-address.mir
M llvm/test/CodeGen/MIR/X86/machine-verifier.mir
M llvm/test/CodeGen/MIR/X86/memory-operands.mir
M llvm/test/CodeGen/MIR/X86/metadata-operands.mir
M llvm/test/CodeGen/MIR/X86/mircanon-flags.mir
M llvm/test/CodeGen/MIR/X86/missing-closing-quote.mir
M llvm/test/CodeGen/MIR/X86/missing-comma.mir
M llvm/test/CodeGen/MIR/X86/missing-implicit-operand.mir
M llvm/test/CodeGen/MIR/X86/named-registers.mir
M llvm/test/CodeGen/MIR/X86/newline-handling.mir
M llvm/test/CodeGen/MIR/X86/null-register-operands.mir
M llvm/test/CodeGen/MIR/X86/register-mask-operands.mir
M llvm/test/CodeGen/MIR/X86/register-operand-class-invalid0.mir
M llvm/test/CodeGen/MIR/X86/register-operand-class-invalid1.mir
M llvm/test/CodeGen/MIR/X86/register-operand-class.mir
M llvm/test/CodeGen/MIR/X86/register-operands-target-flag-error.mir
M llvm/test/CodeGen/MIR/X86/renamable-register-flag.mir
M llvm/test/CodeGen/MIR/X86/simple-register-allocation-hints.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-object-aliased.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-object-immutable.mir
M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir
M llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir
M llvm/test/CodeGen/MIR/X86/stack-object-invalid-name.mir
M llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir
M llvm/test/CodeGen/MIR/X86/stack-object-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/stack-objects.mir
M llvm/test/CodeGen/MIR/X86/standalone-register-error.mir
M llvm/test/CodeGen/MIR/X86/subreg-on-physreg.mir
M llvm/test/CodeGen/MIR/X86/subregister-index-operands.mir
M llvm/test/CodeGen/MIR/X86/subregister-operands.mir
M llvm/test/CodeGen/MIR/X86/successor-basic-blocks-weights.mir
M llvm/test/CodeGen/MIR/X86/successor-basic-blocks.mir
M llvm/test/CodeGen/MIR/X86/tied-def-operand-invalid.mir
M llvm/test/CodeGen/MIR/X86/tied-physical-regs-match.mir
M llvm/test/CodeGen/MIR/X86/undef-register-flag.mir
M llvm/test/CodeGen/MIR/X86/undefined-fixed-stack-object.mir
M llvm/test/CodeGen/MIR/X86/undefined-global-value.mir
M llvm/test/CodeGen/MIR/X86/undefined-ir-block-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/undefined-ir-block-slot-in-blockaddress.mir
M llvm/test/CodeGen/MIR/X86/undefined-jump-table-id.mir
M llvm/test/CodeGen/MIR/X86/undefined-named-global-value.mir
M llvm/test/CodeGen/MIR/X86/undefined-register-class.mir
M llvm/test/CodeGen/MIR/X86/undefined-stack-object.mir
M llvm/test/CodeGen/MIR/X86/undefined-value-in-memory-operand.mir
M llvm/test/CodeGen/MIR/X86/undefined-virtual-register.mir
M llvm/test/CodeGen/MIR/X86/unexpected-type-phys.mir
M llvm/test/CodeGen/MIR/X86/unknown-instruction.mir
M llvm/test/CodeGen/MIR/X86/unknown-machine-basic-block.mir
M llvm/test/CodeGen/MIR/X86/unknown-metadata-keyword.mir
M llvm/test/CodeGen/MIR/X86/unknown-metadata-node.mir
M llvm/test/CodeGen/MIR/X86/unknown-named-machine-basic-block.mir
M llvm/test/CodeGen/MIR/X86/unknown-register.mir
M llvm/test/CodeGen/MIR/X86/unknown-subregister-index-op.mir
M llvm/test/CodeGen/MIR/X86/unknown-subregister-index.mir
M llvm/test/CodeGen/MIR/X86/unrecognized-character.mir
M llvm/test/CodeGen/MIR/X86/variable-sized-stack-object-size-error.mir
M llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir
M llvm/test/CodeGen/MIR/X86/virtual-register-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/virtual-registers.mir
M llvm/test/DebugInfo/MIR/InstrRef/instr-ref-roundtrip.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_illegal_locs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_recover_clobbers.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_stackslot_subregs.mir
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_subreg_substitutions.mir
M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-tracking.mir
M llvm/test/DebugInfo/MIR/InstrRef/no-duplicates.mir
M llvm/test/DebugInfo/MIR/InstrRef/no-metainstrs.mir
M llvm/test/DebugInfo/MIR/InstrRef/out-of-scope-blocks.mir
M llvm/test/DebugInfo/MIR/InstrRef/pretty-print.mir
M llvm/test/DebugInfo/MIR/InstrRef/single-assign-propagation.mir
M llvm/test/DebugInfo/MIR/InstrRef/substitusions-roundtrip.mir
M llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-restore.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues-ignores-metaInstructions.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_load_in_loop.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_early_clobber.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_terminated.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_clobbered.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_many_loop_heads.mir
M llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir
M llvm/test/DebugInfo/MIR/X86/no-cfi-loc.mir
Log Message:
-----------
[MIR,test] Change llc -march=x86-64 to -mtriple=x86_64
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS).
Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as these MIR tests do not
utilize object file format specific detail, but it's good to change
these tests to neighbor files that use -mtriple=x86_64
Commit: e339f0a9daf2e61bd24414c99e49e0170c9a486e
https://github.com/llvm/llvm-project/commit/e339f0a9daf2e61bd24414c99e49e0170c9a486e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
M llvm/test/DebugInfo/MIR/X86/backup-entry-values-usage.mir
M llvm/test/DebugInfo/MIR/X86/complex-entryvalue.mir
M llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
M llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param2.mir
M llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
M llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir
M llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs2.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-3preds.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values-spill.mir
M llvm/test/DebugInfo/MIR/X86/live-debug-values.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues-limit.mir
M llvm/test/DebugInfo/MIR/X86/piece-entryval.mir
M llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
M llvm/test/DebugInfo/MIR/X86/remove-entry-value-from-loop.mir
Log Message:
-----------
[test] Remove redundant -march=x86-64 when target triple is specified in IR
Commit: 6e8718c3e32225c579a3a974be003c7f38c32a05
https://github.com/llvm/llvm-project/commit/6e8718c3e32225c579a3a974be003c7f38c32a05
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/ARC/addrmode.ll
M llvm/test/CodeGen/ARC/alu.ll
M llvm/test/CodeGen/ARC/brcc.ll
M llvm/test/CodeGen/ARC/call.ll
M llvm/test/CodeGen/ARC/intrinsics.ll
M llvm/test/CodeGen/ARC/ldst.ll
Log Message:
-----------
[ARC,test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.
Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
arc-apple-darwin as ELF instead of rejecting it outrightly.
Commit: 133352feb30605ec51b15f77826ed3a2fbf8db56
https://github.com/llvm/llvm-project/commit/133352feb30605ec51b15f77826ed3a2fbf8db56
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/stack-tagging-ex-2.ll
M llvm/test/CodeGen/Hexagon/autohvx/float-cost.ll
M llvm/test/CodeGen/Hexagon/autohvx/interleave.ll
M llvm/test/CodeGen/Hexagon/autohvx/maximize-bandwidth.ll
M llvm/test/CodeGen/Hexagon/bug15515-shuffle.ll
M llvm/test/CodeGen/Hexagon/const-pool-tf.ll
M llvm/test/CodeGen/Hexagon/glob-align-volatile.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-infinite-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-long-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-mod.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
M llvm/test/CodeGen/Hexagon/vcombine_zero_diff_ptrs.ll
M llvm/test/CodeGen/Lanai/delay_filler.ll
M llvm/test/CodeGen/Lanai/lowering-128.ll
M llvm/test/CodeGen/NVPTX/surf-read.ll
M llvm/test/CodeGen/NVPTX/surf-write.ll
M llvm/test/CodeGen/NVPTX/tex-read.ll
M llvm/test/CodeGen/PowerPC/ppc64le-aggregates.ll
M llvm/test/CodeGen/Thumb2/bug-subw.ll
M llvm/test/DebugInfo/NVPTX/debug-ptx-symbols.ll
M llvm/test/DebugInfo/X86/instr-ref-flag.ll
M llvm/test/DebugInfo/X86/no-entry-values-with-O0.ll
M llvm/test/DebugInfo/X86/single-dbg_value.ll
M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/propagate-invariance-metadata.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/reassociate-geps-and-slsr.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/speculative-slsr.ll
Log Message:
-----------
[test] Remove redundant -march= when target triple is specified in IR
Commit: 43045051d4114f2490bf0e6b01a7969d5c27ee04
https://github.com/llvm/llvm-project/commit/43045051d4114f2490bf0e6b01a7969d5c27ee04
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Modernize VPWidenIntOrFpInductionRecipe printing (NFC).
Modernize VPWidenIntOrFpInductionRecipe printing by including the result
VPValue and all operand VPValues, similar to VPScalarIVStepsRecipe and
VPDerivedIVRecipe.
Commit: 8d550aa0f027eb2cf32850f3905dc1db22317587
https://github.com/llvm/llvm-project/commit/8d550aa0f027eb2cf32850f3905dc1db22317587
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll
Log Message:
-----------
[test] Replace -march=x86 -mcpu=i386 with -mtriple
Commit: cd12922235f14a78eeed25fabf364950d02cb786
https://github.com/llvm/llvm-project/commit/cd12922235f14a78eeed25fabf364950d02cb786
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/scalarize.ll
M llvm/test/CodeGen/MIR/X86/fixed-stack-memory-operands.mir
M llvm/test/CodeGen/MIR/X86/fixed-stack-object-redefinition-error.mir
M llvm/test/CodeGen/MIR/X86/fixed-stack-objects.mir
M llvm/test/CodeGen/MIR/X86/stack-object-operands.mir
M llvm/test/CodeGen/X86/2006-10-02-BoolRetCrash.ll
M llvm/test/MachineVerifier/test_copy_physregs_x86.mir
M llvm/test/MachineVerifier/verify-regops.mir
M llvm/test/Transforms/NaryReassociate/NVPTX/nary-slsr.ll
Log Message:
-----------
[test] Change llc -march= to -mtriple=
Similar to 806761a7629df268c8aed49657aeccffa6bca449
-march= is error-prone when running on a host whose OS is different.
Commit: 7168de5ca7a09b929006bd0fb5c3d9510c0ba058
https://github.com/llvm/llvm-project/commit/7168de5ca7a09b929006bd0fb5c3d9510c0ba058
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/SymbolTable.h
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
R lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
Revert "[LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)"
This reverts commit a8206e7b37929f4754806667680ffba0206eef95 due to sanitizer failures.
Commit: e86910337f98e57f5b9253f7d80d5b916eb1d97e
https://github.com/llvm/llvm-project/commit/e86910337f98e57f5b9253f7d80d5b916eb1d97e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Add a fallback for checking lambda captures (#119800)
Commit: 938cdd60d4938e32a7f4f1620e3d9c11aabc4af5
https://github.com/llvm/llvm-project/commit/938cdd60d4938e32a7f4f1620e3d9c11aabc4af5
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Transform/Transforms/CheckUses.cpp
M mlir/test/Dialect/Transform/check-use-after-free.mlir
Log Message:
-----------
correctly check uses of pattern descriptor transform ops (#118791)
In the transform dialect use-after-free chcker pass, account for pattern
descriptor operations that intentionally have no declared side effects.
They are not destroying any handles.
Closes #118761.
Commit: 1c352e66e7bac03a654cbd4c13c3bec6ed346048
https://github.com/llvm/llvm-project/commit/1c352e66e7bac03a654cbd4c13c3bec6ed346048
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/test-interpreter.mlir
Log Message:
-----------
make transform.split_handle accept any handle kind (#118752)
It can now split value and parameter handles in addition to operation
handles. This is a generally useful functionality.
Commit: d072ca1a496cc3f4ad0adf6f7d43f76406a704d6
https://github.com/llvm/llvm-project/commit/d072ca1a496cc3f4ad0adf6f7d43f76406a704d6
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/lib/Dialect/Func/Extensions/InlinerExtension.cpp
M mlir/test/Transforms/inlining.mlir
Log Message:
-----------
[mlir] add noinline attribute to func.func/call (#119970)
This allows for inlining to be somewhat controlled by the user instead
of always inlining everything. External heuristics may be used to place
`no_inline` attributes on invidiual calls or functions to prevent
inlining.
Commit: 8345a95a404cb490918201274da877b8ca2edf51
https://github.com/llvm/llvm-project/commit/8345a95a404cb490918201274da877b8ca2edf51
Author: William Moses <gh at wsmoses.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
Log Message:
-----------
MLIR-C: Add accessor for LLVM array type (#119998)
Commit: 646ad49eacea19cfd656145cd41ae5ef99029a97
https://github.com/llvm/llvm-project/commit/646ad49eacea19cfd656145cd41ae5ef99029a97
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Avoid some SymbolStringPtr copies.
Commit: 8daf4f16fa08b5d876e98108721dd1743a360326
https://github.com/llvm/llvm-project/commit/8daf4f16fa08b5d876e98108721dd1743a360326
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
A compiler-rt/lib/orc/sysv_reenter.x86-64.S
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
Log Message:
-----------
[ORC][ORC-RT] Add ORC-RT based lazy compilation support for x86-64.
Adds support for the ORC-RT based lazy compilation scheme that was introduced
in 570ecdcf8b4.
Commit: f86f4574bbab9cb8c998f9e6560c68696c45f90f
https://github.com/llvm/llvm-project/commit/f86f4574bbab9cb8c998f9e6560c68696c45f90f
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M bolt/test/X86/linux-static-keys.s
Log Message:
-----------
[BOLT][Linux] Fix static keys test case (#119771)
The key address in the static keys jump table was incorrectly encoded as
an absolute value instead of PC-relative causing incorrect
interpretation of the "likely" property of the key.
Commit: ca60ee2b8c57034175f590f0aff5978a066569a0
https://github.com/llvm/llvm-project/commit/ca60ee2b8c57034175f590f0aff5978a066569a0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/test_abd_su.mir
Log Message:
-----------
[GISel] Remove unnecessary MachineVerifier checks for G_ABDS/G_ABDU. (#120014)
These are declared to use a single type index for all operands in
GenericOpcodes.td and the verifier knows how to check that all operands
with the same type index match.
Commit: 73eecb70c2abb1c6149647ec213cb9312c398569
https://github.com/llvm/llvm-project/commit/73eecb70c2abb1c6149647ec213cb9312c398569
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Don't use std::optional with pointers (NFC) (#120026)
Pointers already have a well-defined null value.
Commit: bb18e49edb2c4bbb7dd70ee0b5946598822a4e2a
https://github.com/llvm/llvm-project/commit/bb18e49edb2c4bbb7dd70ee0b5946598822a4e2a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-anyregcc-crash.ll
M llvm/test/CodeGen/AMDGPU/illegal-eviction-assert.mir
M llvm/test/CodeGen/AMDGPU/issue48473.mir
A llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
A llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.ll
M llvm/test/CodeGen/PowerPC/ppc64-anyregcc-crash.ll
M llvm/test/CodeGen/X86/anyregcc-crash.ll
Log Message:
-----------
RegAlloc: Use DiagnosticInfo to report register allocation failures (#119492)
Improve the non-fatal cases to use DiagnosticInfo, which will now
provide a location. The allocators attempt to report different errors
if it happens to see inline assembly is involved (this detection is
quite unreliable) using srcloc instead of dbgloc. For now, leave this
behavior unchanged. I think reporting the full location and context
function would be more useful.
Commit: 61f99a1c75e9dc84b70d6f2a660e99c1ac182e5b
https://github.com/llvm/llvm-project/commit/61f99a1c75e9dc84b70d6f2a660e99c1ac182e5b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocBase.h
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/test/CodeGen/AMDGPU/alloc-all-regs-reserved-in-class.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
M llvm/test/CodeGen/AMDGPU/regalloc-illegal-eviction-assert.ll
Log Message:
-----------
RegAlloc: Do not fatal error if there are no registers in the alloc order (#119640)
Try to use DiagnosticInfo if every register in the class is reserved
by forcing assignment to a reserved register. Also reduces the number
of redundant errors emitted, particularly with fast.
This is still broken in the case of undef uses. There are additional
complications in greedy and fast, so leave it for a separate fix.
Commit: 818bffcb1c454da8ec778327bde3d974dfe44550
https://github.com/llvm/llvm-project/commit/818bffcb1c454da8ec778327bde3d974dfe44550
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
Log Message:
-----------
RegAlloc: Fix failure on undef use when all registers are reserved (#119647)
Greedy and fast would hit different assertions on undef uses if all
registers in a class were reserved.
Commit: 58cd17d960462c63c3a964efe539ae15774a6c66
https://github.com/llvm/llvm-project/commit/58cd17d960462c63c3a964efe539ae15774a6c66
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
Log Message:
-----------
[ORC] Add comments to ResourceManager to clarify locking rules.
Commit: 4914b188998deb50402405567d5a98186bf0a155
https://github.com/llvm/llvm-project/commit/4914b188998deb50402405567d5a98186bf0a155
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
Log Message:
-----------
[ORC] Fix / add comments for LazyObjectLinkingLayer. NFC.
Also remove some redundant namespace qualification.
Commit: f8ad6e0cdae3cbc1618b19c3c7b41021070c0e94
https://github.com/llvm/llvm-project/commit/f8ad6e0cdae3cbc1618b19c3c7b41021070c0e94
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Get MachineInstr from MachineOperand in getOperandInfo. NFC (#119838)
IICU MI should be MO's parent, so just use MachineOperand::getParent().
Commit: 4746395bd75bc234dfd026bad672613b99e87e7a
https://github.com/llvm/llvm-project/commit/4746395bd75bc234dfd026bad672613b99e87e7a
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
Log Message:
-----------
[VPlan] Omit zero add in VPWidenIntOrFpInductionRecipe (#119668)
I'm not sure if getStepVector was used for other things in the past
where StartIdx was non-zero, but nowadays VPWidenIntOrFpInductionRecipe
is the only user of it, and just passes zero to it. I presume
InstCombine was already catching this so hopefully removing this won't
affect codegen.
Commit: 9571d2023bee35f7c0e60a931ce5a4074d034635
https://github.com/llvm/llvm-project/commit/9571d2023bee35f7c0e60a931ce5a4074d034635
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add tune info for postra scheduling direction (#115864)
The results differ on different platforms so it is really hard to
determine a common default value.
Tune info for postra scheduling direction is added and CPUs can
set their own preferable postra scheduling direction.
Commit: de1a423c2356d2040cab74e657ed024bf9ce8517
https://github.com/llvm/llvm-project/commit/de1a423c2356d2040cab74e657ed024bf9ce8517
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-threeway-cmp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-threeway-cmp-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/scmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/ucmp.ll
Log Message:
-----------
[GISel][RISCV][AArch64] Support legalizing G_SCMP/G_UCMP to sub(isgt,islt). (#119265)
Convert the LLT to EVT and call
TargetLowering::shouldExpandCmpUsingSelects to determine if we should do
this.
We don't have a getSetccResultType, so I'm boolean extending the
compares to the result type and using that. If the compares legalize to
the same type, these extends will get removed. Unfortunately, if the
compares legalize to a different type, we end up with truncates or
extends that might not be optimally placed.
Commit: e4fb30205f1df5156328b234ff2a2866b7035fef
https://github.com/llvm/llvm-project/commit/e4fb30205f1df5156328b234ff2a2866b7035fef
Author: hev <wangrui at loongson.cn>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
Log Message:
-----------
[LoongArch] Adds support for vectors in OptWInstrs (#118935)
Commit: f420d26e9dd7ff6aed435f86e7d6768501a29741
https://github.com/llvm/llvm-project/commit/f420d26e9dd7ff6aed435f86e7d6768501a29741
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
[ORC] Make ObjectLinkingLayerJITLinkContext a private nested class.
This class is an implementation detail, so doesn't need a publicly accessible
name.
Commit: 9ba7e2da009d7128c81e16f5a8e60c9abcb0e83d
https://github.com/llvm/llvm-project/commit/9ba7e2da009d7128c81e16f5a8e60c9abcb0e83d
Author: David Green <david.green at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zext.mir
Log Message:
-----------
[GlobalISel] Use replaceRegOrBuildCopy when legalizer-combining s/zext(undef) (#119850)
Similar to #119721, this helps remove some of the COPYs created by the
CSE builder.
Commit: b446c208a5f0e2ad7193cc23e70642d207db4d13
https://github.com/llvm/llvm-project/commit/b446c208a5f0e2ad7193cc23e70642d207db4d13
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-image-function-signatures.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
Log Message:
-----------
AMDGPU: Verify function type matches when matching libcalls (#119043)
Previously this would recognize a call to a mangled ldexp(float, float)
as a candidate to replace with the intrinsic. We need to verify the second
parameter is in fact an integer.
Fixes: SWDEV-501389
Commit: 1100d6a995fe392b3885b8d2bd5afed2bd57e80c
https://github.com/llvm/llvm-project/commit/1100d6a995fe392b3885b8d2bd5afed2bd57e80c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/test/CodeGenOpenCL/opencl_types.cl
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-image-function-signatures.ll
Log Message:
-----------
AMDGPU: Fix libcall recognition of image array types (#119832)
Add tests with get_image_width as a sample for all of the non-extension
image types. The transform doesn't do anything, but this runs through
all the mangled libfunc parsing and shows it does not crash. It would
probably be smarter to check for exact match of the types, rather than
checking the prefix.
Commit: 6dc24f6a2fcf0a199e007dc127ca5a4901a3a24e
https://github.com/llvm/llvm-project/commit/6dc24f6a2fcf0a199e007dc127ca5a4901a3a24e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/test_uscmp.mir
Log Message:
-----------
[GISel] Improve MachineVerifier for G_SCMP/UCMP. (#120017)
-Ensure destination type is at least 2 bits.
-Remove unnecessary check that both sources are the same type. The
verifier already handles this generically.
Commit: 8476ba71f20a6c260c8b55822ce02db45f8252be
https://github.com/llvm/llvm-project/commit/8476ba71f20a6c260c8b55822ce02db45f8252be
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/test/Transforms/PGOProfile/memprof_match_hot_cold_new_calls.ll
Log Message:
-----------
[memprof] YAMLify one test (NFC) (#119955)
This patch replaces the raw binary profile with a YAML profile.
I've trimmed the profile by removing all MemProfRecords except the one
for _Z3foov.
This patch demonstrates that we can see !memprof generated even with a
YAML profile.
Commit: 62cd735db36c1ba41ba627c8336dfa643ff703af
https://github.com/llvm/llvm-project/commit/62cd735db36c1ba41ba627c8336dfa643ff703af
Author: Yuhao Gu <49391101+yhgu2000 at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
Log Message:
-----------
[docs] remove some out-of-date content in LLVM Programmer's Manual. (#119565)
Remove the part about implicit conversion from an iterator to a pointer.
This part of the manual was written 14 years ago, in:
https://github.com/llvm/llvm-project/commit/37027c30ec526afe3bb571df6f8701bf0d322f22
There do exist a type casting operator in `ilist` then:
https://github.com/llvm/llvm-project/blob/37027c30ec526afe3bb571df6f8701bf0d322f22/llvm/include/llvm/ADT/ilist.h#L192-L194
But it has been remove since 2016:
https://github.com/llvm/llvm-project/commit/f197b1f78f854d8513ef617b8cfc61860f7b4b84
So I think it makes sense to remove this part to avoid mislead new
contributors.
Commit: 115872902b9b056d42e24273f93a2be7c93d2f54
https://github.com/llvm/llvm-project/commit/115872902b9b056d42e24273f93a2be7c93d2f54
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-fcmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-fcmp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/ucmp.ll
Log Message:
-----------
[GISel][RISCV] Use isSExtCheaperThanZExt when widening G_ICMP. (#120032)
Sign extending i32->i64 is more efficient than zero extend for RV64.
Commit: 54dac27c57d05d3f5c33bd4ec878bcb0a9c7cb71
https://github.com/llvm/llvm-project/commit/54dac27c57d05d3f5c33bd4ec878bcb0a9c7cb71
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-15 (Sun, 15 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
Log Message:
-----------
[GISel][RISCV] Use isSExtCheaperThanZExt when widening G_UMAX/G_UMIN. (#120041)
Similar to what we do for unsigned comparisons after #120032.
Commit: f65a21a4ecc2e712c700c59842b6b9a1d2a9a060
https://github.com/llvm/llvm-project/commit/f65a21a4ecc2e712c700c59842b6b9a1d2a9a060
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/ptrauth-module-flags.c
M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
M llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/TargetLoweringObjectFile.cpp
A llvm/test/CodeGen/AArch64/ptrauth-sign-personality.ll
Log Message:
-----------
[PAC][ELF][AArch64] Support signed personality function pointer (#119361)
Re-apply #113148 after revert in #119331
If function pointer signing is enabled, sign personality function
pointer stored in `.DW.ref.__gxx_personality_v0` section with IA key,
0x7EAD = `ptrauth_string_discriminator("personality")` constant
discriminator and address diversity enabled.
Commit: a3db5910b434d746c9c0585a092100ff7abcd1a0
https://github.com/llvm/llvm-project/commit/a3db5910b434d746c9c0585a092100ff7abcd1a0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocBase.cpp
Log Message:
-----------
RegAllocBase: Avoid using temporary DiagnosticInfo (#120046)
Commit: 003fb2aeb49dc7440cab7e009bd264f8f42fc8dc
https://github.com/llvm/llvm-project/commit/003fb2aeb49dc7440cab7e009bd264f8f42fc8dc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/sub-nsw.ll
Log Message:
-----------
[ConstraintElim] Decompose `sub nsw` (#118219)
Closes https://github.com/llvm/llvm-project/issues/118211.
Commit: b4c1f0cc492f1597397dcf0b06b816fa0a2135f1
https://github.com/llvm/llvm-project/commit/b4c1f0cc492f1597397dcf0b06b816fa0a2135f1
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
[lldb][test] Prefer gmake to make and warn for potentially non-GNU make (#119573)
System make on FreeBSD is missing some GNU make features so out of the
box you get a lot of:
```
make: "<...>/Makefile.rules" line 569: Invalid line type
```
To solve this, you can install gmake which is a port of GNU make.
However because we prefer 'make', gmake won't be used unless you set
LLDB_TEST_MAKE.
To fix that, prefer 'gmake'. Also check (as best we can) that the make
we found is GNU make. This won't be perfect but it's better than the
cryptic error shown above.
```
-- Found make: /usr/bin/make
CMake Warning at /home/ec2-user/llvm-project/lldb/test/API/CMakeLists.txt:63 (message):
'make' tool /usr/bin/make may not be GNU make compatible. Some tests may
fail to build. Provide a GNU compatible 'make' tool by setting
LLDB_TEST_MAKE.
```
When a make isn't found at all, the warning message will show the names
we tried:
```
-- Did not find one of: gmake make
CMake Warning at /home/ec2-user/llvm-project/lldb/test/API/CMakeLists.txt:69 (message):
Many LLDB API tests require a 'make' tool. Please provide it in Path or
pass via LLDB_TEST_MAKE.
```
Commit: a35db2880a488b62a16f269972ad885fd58033f7
https://github.com/llvm/llvm-project/commit/a35db2880a488b62a16f269972ad885fd58033f7
Author: David Green <david.green at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
M llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
Log Message:
-----------
[NFC] Remove some unnecessary semicolons
All inside LLVM_DEBUG, some of which have been cleaned up by adding block
scopes to allow them to format more nicely.
Commit: a24645463bd8a758005f4e5fdcd78971f87e3ba1
https://github.com/llvm/llvm-project/commit/a24645463bd8a758005f4e5fdcd78971f87e3ba1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Only upload test results if buildkite-agent is present (#119954)
This patch modifies the monolithic shell scrips to only run if the
buildkite-agent application is present. This allows for running the
scripts to completion outside of buildkite (eg inside of a GHA
pipeline).
Commit: 2503a6659621e27e6b4c5946c3acff7a5b9dadca
https://github.com/llvm/llvm-project/commit/2503a6659621e27e6b4c5946c3acff7a5b9dadca
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/shifts.cpp
Log Message:
-----------
Reapply "[clang][bytecode] Fix some shift edge cases (#119895)"
This reverts commit a6636ce4d124176856c3913d4bf6c3ceff1f5a1f.
This original commit failed on hosts with signed wchar_t. Care for
this in the test.
Commit: 92a4f4dda5796049b6dbeb5ed89384380bff97d9
https://github.com/llvm/llvm-project/commit/92a4f4dda5796049b6dbeb5ed89384380bff97d9
Author: Vadim D. <vvd170501 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StdSymbolMap.inc
Log Message:
-----------
[Tooling/Inclusion] Update std symbol mapping (#118174)
This adds new symbols to the generated mapping and removes special
mappings for missing symbols introduced in #113612, as these symbols are
now included in the generated mapping.
Commit: e0fb3acd8a0b2a9340b9b2ae370c84c98f1a5cc2
https://github.com/llvm/llvm-project/commit/e0fb3acd8a0b2a9340b9b2ae370c84c98f1a5cc2
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
Log Message:
-----------
[compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)
Support platform-specific mangling to avoid the compiler emitting a call
to a function that is mangled differently than the definition in the
runtime library.
Commit: ace87ec04cd588e5fbe393c3b642bd759a7abadb
https://github.com/llvm/llvm-project/commit/ace87ec04cd588e5fbe393c3b642bd759a7abadb
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
Log Message:
-----------
[AMDGPU][AMDGPURegBankInfo] Map S_BUFFER_LOAD_XXX to its corresponding BUFFER_LOAD_XXX (#117574)
In one test code generation diverged between GISEL and DAG
For example, this intrinsic
> %ld = call i8 @llvm.amdgcn.s.buffer.load.u8(<4 x i32> %src, i32
%offset, i32 0)
would be lowered into these two cases:
* `buffer_load_u8 v2, v2, s[0:3], null offen`
* `buffer_load_b32 v2, v2, s[0:3], null offen`
This patch fixes this issue.
Commit: 978de2d6664a74864471d62244700c216fdc6741
https://github.com/llvm/llvm-project/commit/978de2d6664a74864471d62244700c216fdc6741
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_float_controls2/exec_mode_float_control_empty.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_float_controls2/exec_mode_float_control_intel.ll
M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-arithmetic.ll
Log Message:
-----------
[SPIR-V] Add saturation and float rounding mode decorations, a subset of arithmetic constrained floating-point intrinsics, and SPV_INTEL_float_controls2 extension (#119862)
This PR adds the following features:
* saturation and float rounding mode decorations,
* arithmetic constrained floating-point intrinsics (strict_fadd,
strict_fsub, strict_fmul, strict_fdiv, strict_frem, strict_fma and
strict_fldexp),
* and SPV_INTEL_float_controls2 extension,
* using recent improvements of emit-intrinsics step, this PR also
simplifies pre- and post-legalizer steps and improves instruction
selection.
Commit: 95e509a98993e84ef987accb2ed7109c3810281e
https://github.com/llvm/llvm-project/commit/95e509a98993e84ef987accb2ed7109c3810281e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Add VPWidenInduction recipe as common base class (NFC). (#120008)
This helps to simplify some existing code and new code
(https://github.com/llvm/llvm-project/pull/112145)
PR: https://github.com/llvm/llvm-project/pull/120008
Commit: aff3e68d6f10dd3087c29a09865683b9d35a362e
https://github.com/llvm/llvm-project/commit/aff3e68d6f10dd3087c29a09865683b9d35a362e
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/MC/TargetRegistry.cpp
M llvm/test/tools/llc/invalid-target.ll
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[LLVM][tools] Remove unnecessary newline from error message (#120037)
The previous missing a newline:
```shell
$ llc --mattr=help
llc: error: unable to get target for 'unknown', see --version and --triple.$
```
Commit: 3b17d041dd775e033cca499f2a25548c8c22bb86
https://github.com/llvm/llvm-project/commit/3b17d041dd775e033cca499f2a25548c8c22bb86
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-load-store-strict-align.ll
A llvm/test/CodeGen/AArch64/sve-unaligned-load-store-strict-align.ll
Log Message:
-----------
[AArch64][SVE] Don't require 16-byte aligned SVE loads/stores with +strict-align (#119732)
Instead, allow any alignment >= the element size (in bytes). This is all
that is needed for (predicated) vector loads even if unaligned accesses
are disabled.
See:
https://developer.arm.com/documentation/ddi0602/2024-09/Shared-Pseudocode/aarch64-functions-memory?lang=en#impl-aarch64.Mem.read.3
Specifically:
```
// Check alignment on size of element accessed, not overall access size.
constant integer alignment = if accdesc.ispair then size DIV 2 else size;
```
The `size` passed to `Mem` by SVE load/store instructions is the element
size.
Commit: 9455ea740d8ef91f73e0c7d4e1fc04a705d37ad8
https://github.com/llvm/llvm-project/commit/9455ea740d8ef91f73e0c7d4e1fc04a705d37ad8
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
A llvm/test/MC/ARM/idiv-2op.s
M llvm/test/MC/ARM/idiv.s
Log Message:
-----------
[ARM][Thumb2] Allow 2-operand variants of `[us]div` (#119976)
Fixes #119963
Commit: e31c70d9fa9ba4e61ecf0b34fbc6da2785e60eb6
https://github.com/llvm/llvm-project/commit/e31c70d9fa9ba4e61ecf0b34fbc6da2785e60eb6
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Add immediate range checks for more MTE instructions (#119216)
This would have turned the bug fixed in #117146 from a miscompilation
into an assertion failure.
Commit: 0dbdc23e78ac1f34a5b563f2db73f9ca64714fac
https://github.com/llvm/llvm-project/commit/0dbdc23e78ac1f34a5b563f2db73f9ca64714fac
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/Progress.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Add ability to rate-limit progress reports (#119377)
For high-frequency multithreaded progress reports, the contention of
taking the progress mutex and the overhead of generating event can
significantly slow down the operation whose progress we are reporting.
This patch adds an (optional) capability to rate-limit them. It's
optional because this approach has one drawback: if the progress
reporting has a pattern where it generates a burst of activity and then
blocks (without reporting anything) for a large amount of time, it can
appear as if less progress was made that it actually was (because we
only reported the first event from the burst and dropped the other
ones).
I've also made a small refactor of the Progress class to better
distinguish between const (don't need protection), atomic (are used on
the hot path) and other (need mutex protection) members.
Commit: 6414d6174198689f00ff325e667fff9eb1c0d9de
https://github.com/llvm/llvm-project/commit/6414d6174198689f00ff325e667fff9eb1c0d9de
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/unittests/Analysis/Presburger/CMakeLists.txt
M mlir/unittests/Bytecode/CMakeLists.txt
M mlir/unittests/Conversion/PDLToPDLInterp/CMakeLists.txt
M mlir/unittests/Debug/CMakeLists.txt
M mlir/unittests/Dialect/AMDGPU/CMakeLists.txt
M mlir/unittests/Dialect/ArmSME/CMakeLists.txt
M mlir/unittests/Dialect/CMakeLists.txt
M mlir/unittests/Dialect/Index/CMakeLists.txt
M mlir/unittests/Dialect/LLVMIR/CMakeLists.txt
M mlir/unittests/Dialect/MemRef/CMakeLists.txt
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
M mlir/unittests/Dialect/Polynomial/CMakeLists.txt
M mlir/unittests/Dialect/SCF/CMakeLists.txt
M mlir/unittests/Dialect/SPIRV/CMakeLists.txt
M mlir/unittests/Dialect/SparseTensor/CMakeLists.txt
M mlir/unittests/Dialect/Transform/CMakeLists.txt
M mlir/unittests/Dialect/Utils/CMakeLists.txt
M mlir/unittests/ExecutionEngine/CMakeLists.txt
M mlir/unittests/IR/CMakeLists.txt
M mlir/unittests/Interfaces/CMakeLists.txt
M mlir/unittests/Parser/CMakeLists.txt
M mlir/unittests/Pass/CMakeLists.txt
M mlir/unittests/Rewrite/CMakeLists.txt
M mlir/unittests/Support/CMakeLists.txt
M mlir/unittests/Target/LLVM/CMakeLists.txt
M mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
M mlir/unittests/Transforms/CMakeLists.txt
Log Message:
-----------
[mlir] Use mlir_target_link_libraries for unit tests (#119858)
This is a followup to https://github.com/llvm/llvm-project/pull/119408,
which switches unit test binaries to also use
mlir_target_link_libraries() where necessary. This allows them to link
against against the MLIR dylib.
Commit: 3ad2399148953837622d78d18ae9fd0db6ad0557
https://github.com/llvm/llvm-project/commit/3ad2399148953837622d78d18ae9fd0db6ad0557
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/ARM/dagcombine-ld-op-st.ll
M llvm/test/CodeGen/X86/apx/or.ll
M llvm/test/CodeGen/X86/illegal-bitfield-loadstore.ll
M llvm/test/CodeGen/X86/pr35763.ll
M llvm/test/CodeGen/X86/store_op_load_fold.ll
Log Message:
-----------
[DAGCombiner] Refactor and improve ReduceLoadOpStoreWidth (#119564)
This patch make a couple of improvements to ReduceLoadOpStoreWidth.
When determining the minimum size of "NewBW" we now take byte boundaries
into account. If we for example touch bits 6-10 we shouldn't accept
NewBW=8, because we would fail later when detecting that we can't access
bits from two different bytes in memory using a single load. Instead we
make sure to align LSB/MSB according to byte size boundaries up front
before searching for a viable "NewBW".
In the past we only tried to find a "ShAmt" that was a multiple of
"NewBW", but now we use a sliding window technique to scan for a viable
"ShAmt" that is a multiple of the byte size. This can help out finding
more opportunities for optimization (specially if the original type
isn't byte sized, and for big-endian targets when the original
load/store is aligned on the most significant bit).
Commit: 02328e0465c256293950542f1a85eb55bcbc9d45
https://github.com/llvm/llvm-project/commit/02328e0465c256293950542f1a85eb55bcbc9d45
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Constants.cpp
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/fabs-fneg-fold.ll
M llvm/test/Transforms/InstCombine/fadd.ll
M llvm/test/Transforms/InstCombine/fdiv.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fneg.ll
Log Message:
-----------
[LLVM][ConstantFold] Remove remaining uses of ConstantInt/FP::get(LLVMContext... (#119912)
This extends the constant folds to support vector ConstantInt/FP.
Commit: d280a9c5e22662fd24708245add50b152ab10fc8
https://github.com/llvm/llvm-project/commit/d280a9c5e22662fd24708245add50b152ab10fc8
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
A llvm/test/CodeGen/RISCV/features-info.ll
Log Message:
-----------
[NFC] [RISCV] Refactor class RISCVExtension (#120040)
I think typo can be avoided by reducing the number of times we re-enter
the extension name.
Commit: 2df48fa78b496a2d276aa848598634bb2aad6857
https://github.com/llvm/llvm-project/commit/2df48fa78b496a2d276aa848598634bb2aad6857
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M bolt/include/bolt/Passes/ADRRelaxationPass.h
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT][AArch64] Enable function print after ADRRelaxation (#119869)
Introduce `--print-adr-relaxation` to print after ADR Relaxation pass.
Commit: 03847f19f2e462a339e1afa1093f253ec8a23765
https://github.com/llvm/llvm-project/commit/03847f19f2e462a339e1afa1093f253ec8a23765
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
A llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/R600Subtarget.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/Mips/CMakeLists.txt
A llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
A llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/NVPTX/CMakeLists.txt
A llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
A llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/PowerPC/CMakeLists.txt
A llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
A llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
M llvm/lib/Target/RISCV/CMakeLists.txt
A llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
A llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.h
Log Message:
-----------
[SelectionDAG] Add empty implementation of SelectionDAGInfo to some targets (#119968)
#119969 adds a couple of new methods to this class, which will need to
be overridden by these targets.
Part of #119709.
Pull Request: https://github.com/llvm/llvm-project/pull/119968
Commit: 671095b452365826b1ccb65483d6ae890a2a81f7
https://github.com/llvm/llvm-project/commit/671095b452365826b1ccb65483d6ae890a2a81f7
Author: Nicholas <45984215+liusy58 at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M bolt/lib/Passes/LongJmp.cpp
A bolt/test/AArch64/long-jmp-one-stub.s
Log Message:
-----------
[BOLT][AArch64] Check Last Element Instead of Returning `nullptr` in `lookupStubFromGroup` (#114015)
The current implementation of `lookupStubFromGroup` is incorrect. The
function is intended to find and return the closest stub using
`lower_bound`, which identifies the first element in a sorted range that
is not less than a specified value. However, if such an element is not
found within `Candidates` and the list is not empty, the function
returns `nullptr`. Instead, it should check whether the last element
satisfies the condition.
Commit: 38b3d87bd384a469a6618ec6a971352cb4f813ba
https://github.com/llvm/llvm-project/commit/38b3d87bd384a469a6618ec6a971352cb4f813ba
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules4.cpp
A clang/test/Modules/friend-inline-function-body.cpp
Log Message:
-----------
[C++20][Modules] Load function body from the module that gives canonical decl (#111992)
Summary:
Fix crash from reproducer provided in
https://github.com/llvm/llvm-project/pull/109167#issuecomment-2405289565
Also fix issues with merged inline friend functions merged during deserialization.
Test Plan: check-clang
Commit: 90968794e26709957d49dd660e4e453235d393e8
https://github.com/llvm/llvm-project/commit/90968794e26709957d49dd660e4e453235d393e8
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Add missing feature USERMSR to DiamondRapids (#120061)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: dd6f6a096a59892ce1f9c454461aa5ed4c2aa971
https://github.com/llvm/llvm-project/commit/dd6f6a096a59892ce1f9c454461aa5ed4c2aa971
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Handle builtin_wmemcmp (#120070)
Commit: 24238aacd9e67072f2bd7bebe4c41b52c7881e65
https://github.com/llvm/llvm-project/commit/24238aacd9e67072f2bd7bebe4c41b52c7881e65
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/PowerPC/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 03847f19f2e4
Commit: 8dd27d4569555c181a92f2c3914d3ea16aa1a741
https://github.com/llvm/llvm-project/commit/8dd27d4569555c181a92f2c3914d3ea16aa1a741
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine] Add test coverage for shuffle(cmp,cmp) fold patterns
Commit: 7d25bcef0937e454bb2d3cf3b4ed615257951120
https://github.com/llvm/llvm-project/commit/7d25bcef0937e454bb2d3cf3b4ed615257951120
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Recursively replace condition with constant in select arms (#120011)
This patch is proposed to reduce the number of selects with undefs
introduced by https://github.com/llvm/llvm-project/pull/119884.
Commit: ef4b597015db0e558f3a75f2f75d471a1cabe0b6
https://github.com/llvm/llvm-project/commit/ef4b597015db0e558f3a75f2f75d471a1cabe0b6
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fdot.ll
Log Message:
-----------
[AArch64] Add intrinsics for SME FP8 FDOT single and multi instructions (#119845)
Add support for the following SME 8 bit floating-point dot-product intrinsics:
```
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svdot[_single]_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot[_single]_za16[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za16[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svdot[_single]_za32[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot[_single]_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za32[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svdot_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
```
These intrinsics are extracted from:
https://github.com/ARM-software/acle/pull/323/
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>
Commit: 93fab6e362a3124af76c6e82f90ca1385aea6d1f
https://github.com/llvm/llvm-project/commit/93fab6e362a3124af76c6e82f90ca1385aea6d1f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll
Log Message:
-----------
[NVPTX] fix nvcl-param-align test triple
for b279f6b098d3849f7f1c1f539b108307d5f8ae2d
Commit: d866005f6928a2a97e67866bedb26139d8cc27d9
https://github.com/llvm/llvm-project/commit/d866005f6928a2a97e67866bedb26139d8cc27d9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-unexpected-types.ll
Log Message:
-----------
AMDGPU: Do not assert on unhandled types when demangling libcalls (#120068)
Commit: 3c3094b60d3587b1db8ef35b3bf54e73ac5894d9
https://github.com/llvm/llvm-project/commit/3c3094b60d3587b1db8ef35b3bf54e73ac5894d9
Author: macurtis-amd <macurtis at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Parser/parsing.cpp
M flang/test/Preprocessing/pp132.f90
Log Message:
-----------
[flang] Ensure directive sentinels are in cols 1-5 in pp output (#119406)
Preprocessor output is intended to be valid fixed form.
Commit: 8380bafaed84cb5799feef70bf34387d6f15acff
https://github.com/llvm/llvm-project/commit/8380bafaed84cb5799feef70bf34387d6f15acff
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fvdot.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fvdot.ll
Log Message:
-----------
[AArch64] Add intrinsics for SME FP8 FVDOT, FVDOTB and FVDOTT intrinsics (#119922)
Add support for the following SME 8 bit floating-point dot-product
intrinsics:
```
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svvdot_lane_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svvdott_lane_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svvdotb_lane_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
```
---------
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>
Commit: 1ab81f8e7f77110c4a752dd7d2cc39fb5148760c
https://github.com/llvm/llvm-project/commit/1ab81f8e7f77110c4a752dd7d2cc39fb5148760c
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-delete-ast.cpp
A clang/test/SemaOpenACC/data-construct-delete-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'delete' AST/Sema for 'exit data' construct
'delete' is another clause that has very little compile-time
implication, but needs a full AST that takes a var list. This patch
ipmlements it fully, plus adds sufficient test coverage.
Commit: 65e00315c92f53895c1d88912de8838d7790c3f0
https://github.com/llvm/llvm-project/commit/65e00315c92f53895c1d88912de8838d7790c3f0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
Log Message:
-----------
[flang][cuda] Adapt TargetRewrite to support gpu.launch_func (#119933)
Commit: 6a4750d227420cad8406d0ee1ea9d8ce05cca10f
https://github.com/llvm/llvm-project/commit/6a4750d227420cad8406d0ee1ea9d8ce05cca10f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Fix crash when folding tensor.dim(tensor.collapse()) on out-of-bound dim (#119941)
Addresses one of the cases described in #119866
Commit: cedc9bf94a6c40561c4ecb292126352d49c9129b
https://github.com/llvm/llvm-project/commit/cedc9bf94a6c40561c4ecb292126352d49c9129b
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add MIPSP8700 RISCVProcFamilyEnum (#120073)
Commit: 9cb68b4ddad84f8c1f3a96ca3304d9916f3ee7da
https://github.com/llvm/llvm-project/commit/9cb68b4ddad84f8c1f3a96ca3304d9916f3ee7da
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/shared/rpc.h
M libc/shared/rpc_util.h
Log Message:
-----------
[libc] Make the RPC headers work when included from CUDA or HIP (#120016)
Summary:
In order for this to work with CUDA we need to declare functions as
__host__ and __device__ while also making sure we only call the GPU
functions during the CUDA / HIP compile stage.
Commit: 6d1a51303edd33faab34732a77a874f3eb74dbfd
https://github.com/llvm/llvm-project/commit/6d1a51303edd33faab34732a77a874f3eb74dbfd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/using.rst
Log Message:
-----------
[libc][Docs] Update `libc` documentation for RPC and others (#120018)
Summary:
A few of these were out of date, update them now that the C library
interface into RPC was deleted.
Commit: b3d392af5b2706d46fea086579ffdf1dda5c648b
https://github.com/llvm/llvm-project/commit/b3d392af5b2706d46fea086579ffdf1dda5c648b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/mlir-tblgen/op-format.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][tblgen] Fix bug around parsing optional prop-dict keys (#120045)
The printer for prop-dict would elide properties that had their default
value, such as optional properties that were not present. The parser
would similarly not raise an error if such a key was missing. However,
after not raising an error, the parser would attempt to convert the null
attribute to a property anyway, causing failures.
This commit fixes the issue and adds tests.
Commit: 5c5f66937fa7fbc6721ba2203b0874966640a05f
https://github.com/llvm/llvm-project/commit/5c5f66937fa7fbc6721ba2203b0874966640a05f
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add ISAInfoTest tests for a few XQCI extensions (#120060)
Missed out adding rv32 only support test checks for a few of the
extensions.
Commit: 76f258920d3baf32be297f60bee5b8520f195c25
https://github.com/llvm/llvm-project/commit/76f258920d3baf32be297f60bee5b8520f195c25
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
[MLGO] Do not include urgent LRs in max cascade calculation (#120052)
A previous PR introduced a threshold where we would mask out a LR that
had been evicted a certain number of times to combat pathological
compile time cases with a somewhat adversarial model. However, this
patch did not take into account urgent LRs which led to compilation
failures when greedy would expect us to provide an eviction and we could
not due to the newly introduced logic.
Commit: 35d4f20098538a0d2ac6b870eeae2b0ead7d2982
https://github.com/llvm/llvm-project/commit/35d4f20098538a0d2ac6b870eeae2b0ead7d2982
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[CMake] Use correct exports file for MLIR tools (#120079)
llvm_add_tool() currently does not respect the passed project and puts
all tools into LLVMExports.cmake. This means that we end up with
binaries like mlir-opt in LLVMExports.cmake instead of
MLIRTargets.cmake, where they should be.
Adjust llvm_add_tool() to take the project into account.
Commit: 4104906a2336aa03361537d93bb58033c59592da
https://github.com/llvm/llvm-project/commit/4104906a2336aa03361537d93bb58033c59592da
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
R libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Revert new test for integral_constant that breaks CI
This commit reverts c3276a96d9 and 1901da32, which added a test to
ensure that type traits are derived from integral_constant. While that
is a fine test to add, the commit didn't go through a PR and as a result
it looks like some of our CI has been broken by it.
This should be an uncontroversial change, but let's re-land it via a PR
to get our usual CI coverage.
Commit: 39c9dda1aa593bb129c7a2ef7724c212255a58d6
https://github.com/llvm/llvm-project/commit/39c9dda1aa593bb129c7a2ef7724c212255a58d6
Author: David Green <david.green at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
Log Message:
-----------
[AArch64] Move SME_ZA_LDR and SME_ZA_STR into FIRST_TARGET_MEMORY_OPCODE. NFCI (#120091)
These opcodes are currently in the "strictfp" section. They should
either be in "memory", or moved into the generic ocodes.
Note that isTargetMemoryOpcode/FIRST_TARGET_MEMORY_OPCODE doesn't seem
to be used for anything at the moment.
Commit: 9f63940a65a85b34a947e4947d14a50da9f753c0
https://github.com/llvm/llvm-project/commit/9f63940a65a85b34a947e4947d14a50da9f753c0
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
Log Message:
-----------
[AArch64] Handle ANY_EXTEND in BuildShuffleExtendCombine (#118308)
Handle ANY_EXTEND when combining a buildvector/shuffle of extended
operands, as we can safely ignore ANY_EXTENDS when checking if all signs
of the other extends are matching.
Commit: c53901405a309a414cb731c4b22f32eafccbbd2a
https://github.com/llvm/llvm-project/commit/c53901405a309a414cb731c4b22f32eafccbbd2a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect bitwidth for the node, previously identified as non-shrinkable
Commit: 7bfcf93527782f1ebf83880f35e981665308d89c
https://github.com/llvm/llvm-project/commit/7bfcf93527782f1ebf83880f35e981665308d89c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
Log Message:
-----------
[SCEV] Use Step and Start to check if SCEVWrapPredicate is implied. (#118184)
A SCEVWrapPredicate A implies B, if
* they have the same flag,
* both steps are positive and
* B's start and step are ULE/SLE (for NSUW/NSSW) than A's.
See https://alive2.llvm.org/ce/z/n2T4ss (first pair with known constants
as strides, second pair with variable strides).
Note that this is limited to steps of the same size, due to NSUW having
slightly different semantics than regular NUW. We should be able to
remove this restriction for NSSW (which matches NSW) in the future.
PR: https://github.com/llvm/llvm-project/pull/118184
Commit: d576021853fd64c10fd746389a9b263cf10c5295
https://github.com/llvm/llvm-project/commit/d576021853fd64c10fd746389a9b263cf10c5295
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
Log Message:
-----------
[lldb] Disable TestIOHandlerResizeNoEditline.py for Windows hosts (#120025)
See #120021 for details.
Commit: f239922cdc15c68266abb94b4b58ed46aa2572b4
https://github.com/llvm/llvm-project/commit/f239922cdc15c68266abb94b4b58ed46aa2572b4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
Log Message:
-----------
[flang] Enable hlfir.sum inlining by default. (#119937)
There is already a LIT test for hlfir.sum inlining that uses
the engineering option. I would like to keep the option
for short period of time to be able to revert
in case of performance regressions that I was not able to see.
Commit: 2402bccc805614069efb0a47e1ef43349ea7ba1e
https://github.com/llvm/llvm-project/commit/2402bccc805614069efb0a47e1ef43349ea7ba1e
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics.fir
Log Message:
-----------
[flang] Turn SimplifyHLFIRIntrinsics into a greedy rewriter. (#119946)
This is almost an NFC, except that folding changed ordering
of some operations.
Commit: d1a7225076218ce224cd29c74259b715b393dc9d
https://github.com/llvm/llvm-project/commit/d1a7225076218ce224cd29c74259b715b393dc9d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
Log Message:
-----------
[SLP]Check if the node must keep its original bitwidth
Need to check if during previous analysis the node has requested to keep
its original bitwidth to avoid incorrect codegen.
Fixes #120076
Commit: 3cbc73f71eef599e678197e445e11a98f8f61689
https://github.com/llvm/llvm-project/commit/3cbc73f71eef599e678197e445e11a98f8f61689
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
Log Message:
-----------
[MLIR][Arith] Add CeilFloorDivExpandOpsPatterns to conversion to LLVM (Reland) (#118839)
When running `convert-to-llvm`, `ceildiv` and `floordiv` ops, which do not
have direct llvm conversion pattern, would not get lowered to llvm
dialect. This patch adds CeilFloorDivExpandOpsPatterns to both
`convert-to-llvm` and `arith-to-llvm` (deprecated) lowering those ops to
lower level arith ops which can be lowered to llvm using LLVM
conversion.
Reland of https://github.com/llvm/llvm-project/pull/117305 after
buildbot failures.
See:
https://lab.llvm.org/buildbot/#/builders/80/builds/7168
https://lab.llvm.org/buildbot/#/builders/130/builds/7036
https://lab.llvm.org/buildbot/#/builders/138/builds/7290
Added dependence to ArithTransforms in ArithToLLVM. In previous
discussion, it has been suggested to move the
CeilFloorDivExpandOpsPatterns to ArithUtils but I think linking
ArithTransforms makes more sense as otherwise :
* ArithToLLVM needs a new dependency to ArithUtils
* ArithUtils needs new dependency to ArithTransforms or move the
patterns as well which will create more dependencies
* It creates lots of code motion which makes it hard to review.
Commit: 290f38cd1a9fa7b1a91ddb25632807ecb5308dc7
https://github.com/llvm/llvm-project/commit/290f38cd1a9fa7b1a91ddb25632807ecb5308dc7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
Log Message:
-----------
IR: fix getSwappedCmpPredicate() return type (#120097)
The change 51a895a (IR: introduce struct with CmpInst::Predicate and
samesign) missed a change to ICmpInst::getSwappedCmpPredicate(), which
intends to return a CmpPredicate, but returns a Predicate instead. Fix
this.
Commit: 0954c67d7ae412af9f8da5149565d9af837ac575
https://github.com/llvm/llvm-project/commit/0954c67d7ae412af9f8da5149565d9af837ac575
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/pr120093.ll
Log Message:
-----------
[DAG] visitFREEZE - only fold integer types to an all ones constant
ISD::isBuildVectorAllOnes can peek through bitcasts, so this can match against FP NAN (ish) data (e.g. double (bitcast i64 -1)) under certain circumstances - bail if the type isn't an integer and let bitcast folding handle it first.
Fixes #120093
Commit: b21fa18b44dd73284bd1c6551b8046c94f84f9f3
https://github.com/llvm/llvm-project/commit/b21fa18b44dd73284bd1c6551b8046c94f84f9f3
Author: Vedant Paranjape <22630228+VedantParanjape at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopVersioning.cpp
A llvm/test/Transforms/LoopVersioning/crash-36998.ll
Log Message:
-----------
[LoopVersioning] Add a check to see if the input loop is in LCSSA form (#116443)
Loop Optimizations expect the input loop to be in LCSSA form. But it
seems that LoopVersioning doesn't have any check to see if the loop is
actually in LCSSA form. As a result, if we give it a loop which is not
in LCSSA form but still correct semantically, the resulting
transformation fails to pass through verifier pass with the following
error.
Instruction does not dominate all uses!
%inc = add nsw i16 undef, 1
store i16 %inc, ptr @c, align 1
As the loop is not in LCSSA form, LoopVersioning's transformations leads
to invalid IR! As some instructions do not dominate all their uses.
This patch checks if a loop is in LCSSA form, if not it will call
formLCSSARecursively on the loop before passing it to LoopVersioning.
Fixes: #36998
Commit: f75c84674cd8ea3b45b6c711d627144efcf582f5
https://github.com/llvm/llvm-project/commit/f75c84674cd8ea3b45b6c711d627144efcf582f5
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/has_unique_object_representations.h
M libc/test/src/__support/CPP/type_traits_test.cpp
Log Message:
-----------
[libc] fix atomic and apply an explicit check on unique object representations (#119715)
Commit: 9919295cfd05222159246d7448ec42392e98fbf2
https://github.com/llvm/llvm-project/commit/9919295cfd05222159246d7448ec42392e98fbf2
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/test/Dialect/GPU/module-to-binary-nvvm.mlir
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp
Log Message:
-----------
[mlir][gpu] Adding ELF section option to the gpu-module-to-binary pass (#119440)
This is a follow-up of #117246.
I thought then it would be easy to edit a DictionaryAttr but it turns
out that these attributes are immutable and need to be passed during the
construction of the gpu.binary Op.
The first commit was using the NVVMTargetAttr to pass the information.
After feedback from @fabianmcg, this PR now passes the information
through a new option of the gpu-module-to-binary pass.
Please add reviewers, as you see fit.
Commit: 8217c2eaef2f93427735a45c45c7fd91178e2ed8
https://github.com/llvm/llvm-project/commit/8217c2eaef2f93427735a45c45c7fd91178e2ed8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - extend to handle icmp/fcmp ops as well (#120075)
Extend binary instructions matching to match compare instructions + predicate as well.
Commit: de401599b10f51258260ea7f1f493d52d22a9d24
https://github.com/llvm/llvm-project/commit/de401599b10f51258260ea7f1f493d52d22a9d24
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
Log Message:
-----------
[HLSL] Add RWBuffer::Load(Index) (#117018)
This method is the same as `operator[]`, except that it returns a value
instead of a reference.
Commit: 11d2911ef117aef2afb136339f0c24f8eee10c32
https://github.com/llvm/llvm-project/commit/11d2911ef117aef2afb136339f0c24f8eee10c32
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Fix warnings
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const unsigned
long' and 'const int' [-Werror,-Wsign-compare]
Commit: fbb14dd97702db242a31e1b36ca8a3554a73c212
https://github.com/llvm/llvm-project/commit/fbb14dd97702db242a31e1b36ca8a3554a73c212
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-ast.cpp
M clang/test/SemaOpenACC/data-construct-async-clause.c
M clang/test/SemaOpenACC/data-construct-attach-clause.c
M clang/test/SemaOpenACC/data-construct-detach-clause.c
M clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
M clang/test/SemaOpenACC/data-construct-finalize-clause.c
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct-if_present-ast.cpp
M clang/test/SemaOpenACC/data-construct-if_present-clause.c
M clang/test/SemaOpenACC/data-construct-present-clause.c
A clang/test/SemaOpenACC/data-construct-use_device-ast.cpp
A clang/test/SemaOpenACC/data-construct-use_device-clause.c
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'use_device' clause AST/Sema
This is a clause that is only valid on 'host_data' constructs, and
identifies variables which it should use the current device address.
>From a Sema perspective, the only thing novel here is mild changes to
how ActOnVar works for this clause, else this is very much like the rest
of the 'var-list' clauses.
Commit: 4032ce3413d0230b0ccba1203536f9cb35e5c3b5
https://github.com/llvm/llvm-project/commit/4032ce3413d0230b0ccba1203536f9cb35e5c3b5
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
Log Message:
-----------
Revert "[compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)"
This reverts commit e0fb3acd8a0b2a9340b9b2ae370c84c98f1a5cc2.
Commit: 4f279a570110e3d688356a327637c57071f4b13b
https://github.com/llvm/llvm-project/commit/4f279a570110e3d688356a327637c57071f4b13b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
Log Message:
-----------
[Linalg] Migrate away from PointerUnion::{is,get} (NFC) (#120043)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 1dac0cd41f1d04ca66d74c49322ddd93332954f8
https://github.com/llvm/llvm-project/commit/1dac0cd41f1d04ca66d74c49322ddd93332954f8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Use ListSeparator (NFC) (#120047)
ListSeparator from StringExtras.h is essentially the same as
FieldSeparator being removed in this patch. ListSeparator returns the
empty string on the first use via "operator StringRef()". It returns
", " on subsequent uses.
Commit: 31272e4f83f24fee1bf37ebc8ea7dd4d082edea8
https://github.com/llvm/llvm-project/commit/31272e4f83f24fee1bf37ebc8ea7dd4d082edea8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
Log Message:
-----------
[libc++] Update locale grouping tests (#119463)
Fixes #119047
Commit: ef31141ebded71eeb32f7714d924d427a4315540
https://github.com/llvm/llvm-project/commit/ef31141ebded71eeb32f7714d924d427a4315540
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
A clang/test/Driver/unknown-arg-drivermodes.test
Log Message:
-----------
[clang-cl][flang][dxc] Fix opts exposed to clang-cl/dxc by mistake (#118640)
When these options were enabled for flang the visibility was also
extended to clang-cl and dxc. This was due to a
misunderstanding of the default value for `Visibility`.
Commit: 0a7e0486673f829406a9bcb4b49be20dbd9c5e45
https://github.com/llvm/llvm-project/commit/0a7e0486673f829406a9bcb4b49be20dbd9c5e45
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s
Log Message:
-----------
[BOLT][DWARF][NFC] Minimize dwarf5-debug-names-gnu-push-tls-address.s (#120103)
Removed unnecessary parts from the .text section.
Commit: 7bf3137c39a61283ebcb58793e830f8b768b74e7
https://github.com/llvm/llvm-project/commit/7bf3137c39a61283ebcb58793e830f8b768b74e7
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/fake_heap.s
M libc/src/__support/CMakeLists.txt
A libc/src/__support/freelist_heap.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/baremetal/CMakeLists.txt
A libc/src/stdlib/baremetal/aligned_alloc.cpp
A libc/src/stdlib/baremetal/calloc.cpp
A libc/src/stdlib/baremetal/free.cpp
A libc/src/stdlib/baremetal/malloc.cpp
A libc/src/stdlib/baremetal/realloc.cpp
R libc/src/stdlib/freelist_malloc.cpp
M libc/test/src/__support/CMakeLists.txt
R libc/test/src/__support/freelist_malloc_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
Log Message:
-----------
[libc] Breakup freelist_malloc into separate files (#119806)
This better matches the structure we use for the rest of libc.
Commit: d7f3775977875a8208e494bab822b9cdef991822
https://github.com/llvm/llvm-project/commit/d7f3775977875a8208e494bab822b9cdef991822
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - fold extract_subvector(pshufd(v,i)) -> pshufd(extract_subvector(v,i))
Attempt to avoid unnecessary wide PSHUFD or VPERMILIPS/D instructions by pre-extracting the subvector source if thats its only use.
Commit: 89e530a27c04f1c45a8c9b5cb97099b4b9d2b048
https://github.com/llvm/llvm-project/commit/89e530a27c04f1c45a8c9b5cb97099b4b9d2b048
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2.ll
Log Message:
-----------
[CostModel[X86] Update shuffle non-pow-2 tests to not analyse shuffle(undef,undef)
Avoid shuffle patterns that can be folded away.
Commit: 9ee454a57c061e47223e079cdc64d315580367ed
https://github.com/llvm/llvm-project/commit/9ee454a57c061e47223e079cdc64d315580367ed
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
Log Message:
-----------
[lldb] Fix RST table formatting
Commit: 750cb896caee7132cde69bdb5b5acab6210fad59
https://github.com/llvm/llvm-project/commit/750cb896caee7132cde69bdb5b5acab6210fad59
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/docs/index.rst
Log Message:
-----------
[libc][docs] Refresh landing page (#120122)
- Replace section on ABI Compatibility with a rephrased warning at the
top of
the page.
- Add links to the Note.
- Update C and POSIX standards.
- Inline link to fuzzing.
Commit: 696d120d091f086532165f938000d86ace7c9ea0
https://github.com/llvm/llvm-project/commit/696d120d091f086532165f938000d86ace7c9ea0
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
Log Message:
-----------
[NVPTX] Pattern match texture/surface intrinsics (NFCI) (#119982)
Pull Request: https://github.com/llvm/llvm-project/pull/119982
Commit: 3dfc1d9b0bc41eaf63e551ca357b44a71636b152
https://github.com/llvm/llvm-project/commit/3dfc1d9b0bc41eaf63e551ca357b44a71636b152
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Host/Editline.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/test/API/functionalities/completion/TestCompletion.py
M lldb/test/API/terminal/TestEditlineCompletions.py
M lldb/tools/driver/Driver.cpp
M lldb/tools/driver/Driver.h
Log Message:
-----------
[lldb] Use the terminal height for paging editline completions (#119914)
Currently, we arbitrarily paginate editline completions to 40 elements.
On large terminals, that leaves some real-estate unused. On small
terminals, it's pretty annoying to not see the first completions. We can
address both issues by using the terminal height for pagination.
This builds on the improvements of #116456.
Commit: b95dfa3920f71c42ef2991f42a95903cc1202c55
https://github.com/llvm/llvm-project/commit/b95dfa3920f71c42ef2991f42a95903cc1202c55
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir
M mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir
Log Message:
-----------
[mlir][spirv] Fix LowerABIAttributesPass to generate EntryPoints for SPV1.4 (#118994)
- Extend the SPIRV::LowerABIAttributesPass to detect when the target env
is using SPIR-V ver >= 1.4, and in this case add all the functions'
interface storage variables to the spirv.EntryPoint calls, as required
by the spec of OpEntryPoint:
"_Before version 1.4, the interface’s storage classes are limited to the
Input and Output storage classes. Starting with version 1.4, the
interface’s storage classes are all storage classes used in declaring
all global variables referenced by the entry point’s call tree_."
- Fix: generate the replacement ops (spirv.AddressOf and .AccessChain)
in the order in which the associated variable appears in the function
signature
Signed-off-by: Fabrizio Indirli <Fabrizio.Indirli at arm.com>
Commit: 89d5272841f7825920ccd911f86b4e8aeb95fb49
https://github.com/llvm/llvm-project/commit/89d5272841f7825920ccd911f86b4e8aeb95fb49
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove getPreheader(). (NFC)
The preheader is now the entry block, connected to the vector.ph.
Clean up after https://github.com/llvm/llvm-project/pull/114292.
Commit: bfc2dbe02e00f0023c0a2d58b53cdbd1f4139f02
https://github.com/llvm/llvm-project/commit/bfc2dbe02e00f0023c0a2d58b53cdbd1f4139f02
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
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/AST/ast-print-openacc-data-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/combined-construct-if-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct-async-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct-default-clause.c
M clang/test/SemaOpenACC/data-construct-delete-clause.c
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-no_create-clause.c
M clang/test/SemaOpenACC/data-construct-use_device-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
Log Message:
-----------
[OpenACC] Implement data construct 'at least 1 of ... clauses' rule
All 4 of the 'data' constructs have a requirement that at least 1 of a
small list of clauses must appear on the construct. This patch
implements that restriction, and updates all of the tests it takes to
do so.
Commit: f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d
https://github.com/llvm/llvm-project/commit/f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/test/CodeGen/NVPTX/surf-read-cuda.ll
M llvm/test/CodeGen/NVPTX/surf-tex.py
M llvm/test/CodeGen/NVPTX/surf-write-cuda.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/texsurf-queries.ll
Log Message:
-----------
[NVPTX] Aggressively try to replace image handles with references (#119730)
Even in cases where handles are supported, references are still
preferable for performance. This is because, a ref uses one
less register and can avoid the handle creating code associated with
taking the address of a tex/surf/sampler.
Commit: 8f151f0f559c4881a0d206124c64226a82d44a79
https://github.com/llvm/llvm-project/commit/8f151f0f559c4881a0d206124c64226a82d44a79
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/tools/driver/Driver.cpp
M lldb/tools/driver/Driver.h
Log Message:
-----------
[lldb] Unify window resizing logic in command line driver
Unify the logic for window resizing in the command line driver. This was
prompted by the Windows bot not knowing about the ws_col field.
Commit: 1751914a5229104c51fbea7c91e455650c370908
https://github.com/llvm/llvm-project/commit/1751914a5229104c51fbea7c91e455650c370908
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Add some additional system packages (#119988)
This patch adds some additional system packages to the CI container.
These are necessary for use in the new premerge workflows. The size
increase is not super small, but should be manageable with the size
increase being about 100MB.
Commit: f8656204d7ce2fd97c15ffa134212e0e3dc5f662
https://github.com/llvm/llvm-project/commit/f8656204d7ce2fd97c15ffa134212e0e3dc5f662
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-program-global.cuf
Log Message:
-----------
[flang][cuda] Do not lower device target in porgram as global (#120126)
As it was done in #102512, do not create global for arrays declared in
program unit with cuda data attribute.
Commit: 1be4a67454b02dae4df2368af31b5f655736d829
https://github.com/llvm/llvm-project/commit/1be4a67454b02dae4df2368af31b5f655736d829
Author: QuietMisdreavus <QuietMisdreavus at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/objc_external_category.m
Log Message:
-----------
[ExtractAPI] reorder the module names in extension symbol graph file names (#119925)
Resolves rdar://140298287
ExtractAPI's support for printing Objective-C category extensions from
other modules emits symbol graphs with an
`ExtendedModule at HostModule.symbols.json`. However, this is backwards
from existing symbol graph practices, causing issues when these symbol
graphs are consumed alongside symbol graphs generated with other tools
like Swift. This PR flips the naming scheme to be in line with existing
symbol graph tooling.
Commit: 58da789e72c3d26c9dac1b29884f5ce62b8150b1
https://github.com/llvm/llvm-project/commit/58da789e72c3d26c9dac1b29884f5ce62b8150b1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
Log Message:
-----------
[mlir][linalg] Fix and Refactor DecomposeOuterUnitDimsUnPackOpPattern (#119379)
Commit: b558c6b288c469959fbb2827bfbaba57a79932cb
https://github.com/llvm/llvm-project/commit/b558c6b288c469959fbb2827bfbaba57a79932cb
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][nfc] Update vectorize-tensor-extract.mlir (4/N) (#119697)
Commit: 9f1c8b13f1f81f79ec3beeca4c0b14c7dd3a76ca
https://github.com/llvm/llvm-project/commit/9f1c8b13f1f81f79ec3beeca4c0b14c7dd3a76ca
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-scalable-inner-tile.mlir
Log Message:
-----------
[mlir][tensor][SVE] Add e2e test for tensor.pack targeting SVE (#119692)
Commit: 1297933f35b4948b4d281259627a72094c407a75
https://github.com/llvm/llvm-project/commit/1297933f35b4948b4d281259627a72094c407a75
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
Log Message:
-----------
[CodeGen] Disable ran-out-of-registers-error* tests (#120142)
Two tests are failing on the buildbot in stage2/asan with a stack
use-after-scope:
https://lab.llvm.org/buildbot/#/builders/52/builds/4533 (first failure
here; contains https://github.com/llvm/llvm-project/pull/119492 and
https://github.com/llvm/llvm-project/pull/119640)
...
https://lab.llvm.org/buildbot/#/builders/52/builds/4550
This patch disables the tests for now, to allow the bots to return to
green (instead of reverting the patch series).
Commit: df0b34cbeb822c81fec43390663659bea97dd2ae
https://github.com/llvm/llvm-project/commit/df0b34cbeb822c81fec43390663659bea97dd2ae
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
Log Message:
-----------
[OpenACC/NFC] Fix 'trailing objects' CRTP.
A previous patch mistakenly set the CRTP object for the trailing objects
incorrectly. This patch fixes those. This wasn't noticed in testing,
since these types have the same layout.
Commit: f9120dc2a60aedcab5ce99e40b6a2bd3849f0bb9
https://github.com/llvm/llvm-project/commit/f9120dc2a60aedcab5ce99e40b6a2bd3849f0bb9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Make sure vector trip count is ready for prepareToExecute (NFC)
Split off from https://github.com/llvm/llvm-project/pull/112145. This
ensures that getOrCreateVectorTripCount creates the trip count as needed
when induction resume value creation is moved to VPlan and no longer
creates the vector trip count early.
Commit: a9237b1a1083c7c6c4778e8a586d329bc41a6adc
https://github.com/llvm/llvm-project/commit/a9237b1a1083c7c6c4778e8a586d329bc41a6adc
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Extract CloneFunctionMetadataInto from CloneFunctionInto (#118623)
Summary:
The new API expects the caller to populate the VMap. We need it this way
for a subsequent change around coroutine cloning.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: 0b442bc51631552ab8a249485dd81b5c83cf5a5d
https://github.com/llvm/llvm-project/commit/0b442bc51631552ab8a249485dd81b5c83cf5a5d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
Log Message:
-----------
[flang][NFC] Added debug output to opt-bufferization pass. (#119936)
Commit: 3769fcb3e78eba5f3e34d1c2dfa994625edb005a
https://github.com/llvm/llvm-project/commit/3769fcb3e78eba5f3e34d1c2dfa994625edb005a
Author: vporpo <vporpodas at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp
Log Message:
-----------
[SandboxVec][Interval] Implement Interval::notifyMoveInstr() (#119471)
This patch implements the notifier for Instruction intervals. It updates
the interval's top/bottom.
Commit: b86a22aa3915c5ed7f802ebad7578c0906bdd8a9
https://github.com/llvm/llvm-project/commit/b86a22aa3915c5ed7f802ebad7578c0906bdd8a9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Default to non-root user in linux CI container (#119987)
This patch sets the default user in the linux CI container to a non-root
user, which enables properly testing a couple of features, particularly
in libcxx.
Commit: 2fe296965930932be9b7b155bf8c10a0f81c58cf
https://github.com/llvm/llvm-project/commit/2fe296965930932be9b7b155bf8c10a0f81c58cf
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGenTypes/LowLevelType.h
M llvm/lib/CodeGenTypes/LowLevelType.cpp
Log Message:
-----------
[CodeGen] Simplify LLT bitfields. NFC. (#120074)
- Put the element size field in the same place for all non-pointer
types.
- Put the element size and address space fields in the same place for
all pointer types.
- Put the number of elements and scalable fields in the same place for
all vector types.
This simplifies initialization and accessor methods isScalable,
getElementCount, getScalarSizeInBits and getAddressSpace.
Commit: 51a0919412cf1868de689e03024c6f761a1b8b0a
https://github.com/llvm/llvm-project/commit/51a0919412cf1868de689e03024c6f761a1b8b0a
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libc/fuzzing/__support/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
Log Message:
-----------
[libc] Exclude FreeListHeap test and fuzzer on GPU (#120137)
FreeListHeap uses the _end symbol which conflicts with the _end symbol
defined by GPU start.cpp files so for now we exclude the test and the
fuzzer on GPU.
Commit: 484a2819de1bbee5aec5fabb942c7ebb77d29bc0
https://github.com/llvm/llvm-project/commit/484a2819de1bbee5aec5fabb942c7ebb77d29bc0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A .github/workflows/premerge.yaml
Log Message:
-----------
[CI][Github] Add linux premerge workflow (#119635)
This patch adds a Github Actions workflow for Linux premerge. This
currently just calls into the existing CI scripts as a starting point.
Commit: 67ae944bfa97db737e2600ca0bcc2f35fc6cef9e
https://github.com/llvm/llvm-project/commit/67ae944bfa97db737e2600ca0bcc2f35fc6cef9e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Check for use of host array in device context (#119756)
Now that variables have implicit attribute, we can check for illegal use
of module host variable in device context.
Commit: 38099d0608342ddff0737a048ca5fa325c4b0749
https://github.com/llvm/llvm-project/commit/38099d0608342ddff0737a048ca5fa325c4b0749
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
Log Message:
-----------
[AArch64] Implement intrinsics for SME FP8 FMLAL/FMLALL (Indexed) (#118549)
This patch implements the following intrinsics:
Multi-vector 8-bit floating-point multiply-add long.
``` c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmla_lane_za16[_mf8]_vg2x1_fpm(uint32_t slice, svmfloat8_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svmla_lane_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svmla_lane_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, uint64_t imm_idx
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmla_lane_za32[_mf8]_vg4x1_fpm(uint32_t slice, svmfloat8_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm)__arm_streaming __arm_inout("za");
void svmla_lane_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm)__arm_streaming __arm_inout("za");
void svmla_lane_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, uint64_t imm_idx,
fpm_t fpm)__arm_streaming __arm_inout("za");
```
In accordance with: https://github.com/ARM-software/acle/pull/323
Commit: 8402a0fab09a2c3a1b5c2e23e2ababcb575709d7
https://github.com/llvm/llvm-project/commit/8402a0fab09a2c3a1b5c2e23e2ababcb575709d7
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Extract CloneFunctionBodyInto from CloneFunctionInto (#118624)
Summary:
This and previously extracted `CloneFunction*Into` functions will be used in later diffs.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: 8c163237573df097a99b65a83280757d1b39062c
https://github.com/llvm/llvm-project/commit/8c163237573df097a99b65a83280757d1b39062c
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
Log Message:
-----------
[OpenACC/NFC] Make 'trailing objects' use private inheritence.
I noticed this while working on something else, these are supposed to be
privately inherited.
Commit: 084309a0ef781b45f5d124732ba20be89b61b6de
https://github.com/llvm/llvm-project/commit/084309a0ef781b45f5d124732ba20be89b61b6de
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/win32.h
M libcxx/include/__locale_dir/locale_guard.h
A libcxx/include/__locale_dir/support/windows.h
M libcxx/include/module.modulemap
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/src/support/win32/support.cpp
Log Message:
-----------
[libc++] Refactor the Windows and MinGW implementation of the locale base API (#115752)
This patch reimplements the locale base support for Windows flavors in a
way that is more modules-friendly and without defining non-internal
names.
Since this changes the name of some types and entry points in the built
library, this is effectively an ABI break on Windows (which is
acceptable after checking with the Windows/libc++ maintainers).
Commit: 46bbd2c80eb8673ef54decc6d3d55350e3126f50
https://github.com/llvm/llvm-project/commit/46bbd2c80eb8673ef54decc6d3d55350e3126f50
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 084309a0ef78
Commit: 482237e884dde4a7887c6ac3609437c7186b5124
https://github.com/llvm/llvm-project/commit/482237e884dde4a7887c6ac3609437c7186b5124
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DirectX] Get resource information via TargetExtType (#119772)
Instead of storing an auxilliary structure with the information from the
DXIL resource target extension types duplicated, access the information
that we can via the type itself.
This also means we need to handle some of the target extension types we
haven't fully defined yet, like Texture and CBuffer. For now we make an
educated guess to what those should look like based on llvm/wg-hlsl#76,
and we can update them fairly easily when we've defined them more
thoroughly.
First part of #118400
Commit: a8456c9a2fb36f7c3a69eaa296c3f5d23ec52fe5
https://github.com/llvm/llvm-project/commit/a8456c9a2fb36f7c3a69eaa296c3f5d23ec52fe5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Enable new premerge workflow postcommit
This patch enables the new premerge workflow postcommit so that we can start
testing it at a reasonable scale with minimal disruption.
Commit: 13449c3de45111d21a1a7dc4df8be1c29bff6447
https://github.com/llvm/llvm-project/commit/13449c3de45111d21a1a7dc4df8be1c29bff6447
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A libc/docs/arch_support.rst
M libc/docs/index.rst
A libc/docs/platform_support.rst
Log Message:
-----------
[libc][docs] split up platform and arch support (#120125)
Creates a new toctree "Support" under which we have distinct links to arch,
platform, and compiler support.
* Moved "Platform Support" from index landing page to new doc.
* Created explicit "Architecture Support". Requested in https://github.com/llvm/llvm-project/issues/118964#issuecomment-2531503046.
* Moved "Compiler Support" from Status toctree to new Support toctree.
---------
Co-authored-by: Carlo Cabrera <github at carlo.cab>
Commit: 0f6d93f8d5c99f137c05be23fe2cc161154d73df
https://github.com/llvm/llvm-project/commit/0f6d93f8d5c99f137c05be23fe2cc161154d73df
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add test showing bug in epilogue vectorization of selects.
This is causing mis-compiles when in SPEC2017 on AArch64 after
b3cba9be41bfa8.
Commit: 0e528ac404e13ed2d952a2d83aaf8383293c851e
https://github.com/llvm/llvm-project/commit/0e528ac404e13ed2d952a2d83aaf8383293c851e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[VPlan] Use start value operand for FindLastIV reduction phis.
Update VPReductionPHIRecipe::execute to use the start value from the
start value operand of the recipe. This is needed to make sure we resume
from the correct value during epilogue vectorization.
At the moment, the start value is set to the sentinel value in
adjustRecipesForReductions, as the original start value needs to be used
when creating ResumePhi recipes.
Fixes a mis-compile introduced by b3cba9be41bfa8 in SPEC2017 on AArch64.
Commit: dda1d1674755e0e68789e01ed8698ea91b0b54b0
https://github.com/llvm/llvm-project/commit/dda1d1674755e0e68789e01ed8698ea91b0b54b0
Author: norx1991 <yifei.xu at utexas.edu>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel
Fix issue introduced by https://github.com/llvm/llvm-project/pull/118839.
Commit: 41a6e9cfd693c8570d48e73c5649d83ee6376b6d
https://github.com/llvm/llvm-project/commit/41a6e9cfd693c8570d48e73c5649d83ee6376b6d
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/WaveActiveAllTrue.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAllTrue.ll
Log Message:
-----------
[HLSL] Implement `WaveActiveAllTrue` Intrinsic (#117245)
Resolves https://github.com/llvm/llvm-project/issues/99161
- [x] Implement `WaveActiveAllTrue` clang builtin,
- [x] Link `WaveActiveAllTrue` clang builtin with `hlsl_intrinsics.h`
- [x] Add sema checks for `WaveActiveAllTrue` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `WaveActiveAllTrue` to `EmitHLSLBuiltinExpr` in
`CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl`
- [x] Create the `int_dx_WaveActiveAllTrue` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_WaveActiveAllTrue` to `114`
in `DXIL.td`
- [x] Create the `WaveActiveAllTrue.ll` and
`WaveActiveAllTrue_errors.ll` tests in `llvm/test/CodeGen/DirectX/`
- [x] Create the `int_spv_WaveActiveAllTrue` intrinsic in
`IntrinsicsSPIRV.td`
- [x] In SPIRVInstructionSelector.cpp create the `WaveActiveAllTrue`
lowering and map it to `int_spv_WaveActiveAllTrue` in
`SPIRVInstructionSelector::selectIntrinsic`.
- [x] Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAllTrue.ll`
Commit: 72e8b9aeaa3f584f223bc59924812df69a09a48b
https://github.com/llvm/llvm-project/commit/72e8b9aeaa3f584f223bc59924812df69a09a48b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/include/mlir/Target/LLVM/ModuleToObject.h
M mlir/include/mlir/Target/LLVM/NVVM/Utils.h
M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
M mlir/unittests/Target/LLVM/CMakeLists.txt
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
[MLIR] Add a BlobAttr interface for attribute to wrap arbitrary content and use it as linkLibs for ModuleToObject (#120116)
This change allows to expose through an interface attributes wrapping
content as external resources, and the usage inside the ModuleToObject
show how we will be able to provide runtime libraries without relying on
the filesystem.
Commit: 6e58e99a07facd73547f7fa1a6f8c0719d8af30d
https://github.com/llvm/llvm-project/commit/6e58e99a07facd73547f7fa1a6f8c0719d8af30d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/docs/MatrixTypes.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
M clang/test/SemaCXX/matrix-type.cpp
Log Message:
-----------
[Clang] [Sema] Reject non-power-of-2 `_BitInt` matrix element types (#117487)
Essentially, this makes this ill-formed:
```c++
using mat4 = _BitInt(12) [[clang::matrix_type(3, 3)]];
```
This matches preexisting behaviour for vector types (e.g.
`ext_vector_type`), and given that LLVM IR intrinsics for matrices also
take vector types, it seems like a sensible thing to do.
This is currently especially problematic since we sometimes lower matrix
types to LLVM array types instead, and while e.g. `[4 x i32]` and `<4 x
i32>` *probably* have the same similar memory layout (though I don’t
think it’s sound to rely on that either, see #117486), `[4 x i12]` and
`<4 x i12>` definitely don’t.
Commit: a1766699c66e7b9f8094256f98de57ba79099e94
https://github.com/llvm/llvm-project/commit/a1766699c66e7b9f8094256f98de57ba79099e94
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in CGBuiltin.cpp (NFC)
/llvm-project/clang/lib/CodeGen/CGBuiltin.cpp:19441:17:
error: unused variable 'Ty' [-Werror,-Wunused-variable]
llvm::Type *Ty = Op->getType();
^
1 error generated.
Commit: f0878995c217d6c6f808532fcfa106a7c680ce5a
https://github.com/llvm/llvm-project/commit/f0878995c217d6c6f808532fcfa106a7c680ce5a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Fix concurrency groups for premerge
According to https://docs.github.com/en/rest/using-the-rest-api/github-event-types?apiVersion=2022-11-28,
When we look at the push event payload, github.event.push.head is a string
containing the SHA. This is currently causing new commits on main to cancel
the premerge pipeline of older commits.
Commit: bf700c39d1c9f88387bfe2ec4567567397200ea3
https://github.com/llvm/llvm-project/commit/bf700c39d1c9f88387bfe2ec4567567397200ea3
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Analysis/MemoryProfileInfo.cpp
Log Message:
-----------
[MemProf] Remove dead code (NFC) (#120156)
Remove unused collection of context size information that was likely
leftover from debugging / testing.
Commit: fba3e069b4ed38b16754d5e45837bfec9d5a372a
https://github.com/llvm/llvm-project/commit/fba3e069b4ed38b16754d5e45837bfec9d5a372a
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove overlapping VPInstruction::mayWriteToMemory. NFCI (#120039)
VPInstruction has a definition of mayWriteToMemory, which seems to only
be used by VPlanSLP. However VPInstructions are already handled in
VPRecipeBase::mayWriteToMemory, and everywhere else seems to use this
definition. I think these should be the same for all intents and
purposes. The VPRecipeBase definition is more conservative but returns
true for stores/calls/invokes/SLPStores.
Commit: 5e1f87e849d1f94f3e8baf190be20219edf44584
https://github.com/llvm/llvm-project/commit/5e1f87e849d1f94f3e8baf190be20219edf44584
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Correctly allocate memory for descriptor load (#120164)
CodeGen will allocate memory for a new descriptor on descriptor loads.
CUDA Fortran local descriptor are allocated in managed memory by the
runtime. The newly allocated storage for cuda descriptor must also be
allocated through the runtime.
Commit: ad64946549e377e5cfdcfe84081149b7aa17c4d6
https://github.com/llvm/llvm-project/commit/ad64946549e377e5cfdcfe84081149b7aa17c4d6
Author: Koakuma <koachan at protonmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/test/MC/Sparc/sparc-ctrl-instructions.s
Log Message:
-----------
[SPARC][IAS] Add support for `call dest, imm` form (#119078)
This follows GCC behavior of allowing a trailing immediate, that is
ignored by the assembler.
Commit: 2806705c4bf69cbb1a8e482104efb9429bb50683
https://github.com/llvm/llvm-project/commit/2806705c4bf69cbb1a8e482104efb9429bb50683
Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/Import/nvvmir.ll
Log Message:
-----------
[MLIR][NVVM] Enable import of nvvm.barrier0 (#119965)
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: e2a94a97bdf26198ab254d61ee4be23a140dab2d
https://github.com/llvm/llvm-project/commit/e2a94a97bdf26198ab254d61ee4be23a140dab2d
Author: Yifei Xu <yifei.xu at utexas.edu>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel
Fix bazel build after https://github.com/llvm/llvm-project/pull/120116
Commit: c6ff809ae9acbc90455dc8b58b2dae84a13366cf
https://github.com/llvm/llvm-project/commit/c6ff809ae9acbc90455dc8b58b2dae84a13366cf
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-mc.rst
A llvm/test/MC/Disassembler/X86/hex-bytes.txt
M llvm/tools/llvm-mc/Disassembler.cpp
M llvm/tools/llvm-mc/Disassembler.h
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llvm-mc] Add --hex to disassemble hex bytes
`--disassemble`/`--cdis` parses input bytes as decimal, 0bbin, 0ooct, or
0xhex. While the hexadecimal digit form is most commonly used, requiring
a 0x prefix for each byte (`0x48 0x29 0xc3`) is cumbersome.
Tools like xxd -p and rz-asm use a plain hex dump form without the 0x
prefix or space separator. This patch adds --hex to disassemble such hex
bytes with optional whitespace.
```
% rz-asm -a x86 -b 64 -d 4829c34829c4
sub rbx, rax
sub rsp, rax
% llvm-mc -triple=x86_64 --cdis --hex --output-asm-variant=1 <<< 4829c34829c4
.text
sub rbx, rax
sub rsp, rax
```
Pull Request: https://github.com/llvm/llvm-project/pull/119992
Commit: 056cd12284f72105a3e2338f901882e43a90c8b2
https://github.com/llvm/llvm-project/commit/056cd12284f72105a3e2338f901882e43a90c8b2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/functions.cpp
Log Message:
-----------
[clang][bytecode] Don't check returned pointers for liveness (#120107)
We're supposed to let them through and then later diagnose reading from
them, but returning dead pointers is fine.
Commit: e2cabd715bb6e8c81fe7437e74ccf78e4db5edf7
https://github.com/llvm/llvm-project/commit/e2cabd715bb6e8c81fe7437e74ccf78e4db5edf7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
RegAllocGreedy: Fix comment typo
Commit: eb5c21108fca4c871987faef581158811954c916
https://github.com/llvm/llvm-project/commit/eb5c21108fca4c871987faef581158811954c916
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
A clang/test/SemaCXX/matrix-types-pseudo-destructor.cpp
Log Message:
-----------
[Clang] [Sema] Support matrix types in pseudo-destructor expressions (#117483)
We already support vector types, and since matrix element types have to
be scalar types, there should be no problem w/ just enabling this.
This now also allows matrix types to be stored in STL containers.
Commit: 3c357a49d61e4c81a1ac016502ee504521bc8dda
https://github.com/llvm/llvm-project/commit/3c357a49d61e4c81a1ac016502ee504521bc8dda
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Passes/IdenticalCodeFolding.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/icf-safe-icp.test
A bolt/test/X86/icf-safe-process-rela-data.test
A bolt/test/X86/icf-safe-test1-no-relocs.test
A bolt/test/X86/icf-safe-test1.test
A bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
Log Message:
-----------
[BOLT] Add support for safe-icf (#116275)
Identical Code Folding (ICF) folds functions that are identical into one
function, and updates symbol addresses to the new address. This reduces
the size of a binary, but can lead to problems. For example when
function pointers are compared. This can be done either explicitly in
the code or generated IR by optimization passes like Indirect Call
Promotion (ICP). After ICF what used to be two different addresses
become the same address. This can lead to a different code path being
taken.
This is where safe ICF comes in. Linker (LLD) does it using address
significant section generated by clang. If symbol is in it, or an object
doesn't have this section symbols are not folded.
BOLT does not have the information regarding which objects do not have
this section, so can't re-use this mechanism.
This implementation scans code section and conservatively marks
functions symbols as unsafe. It treats symbols as unsafe if they are
used in non-control flow instruction. It also scans through the data
relocation sections and does the same for relocations that reference a
function symbol. The latter handles the case when function pointer is
stored in a local or global variable, etc. If a relocation address
points within a vtable these symbols are skipped.
Commit: 5e727e8bed5c57cbc804a2453bba1c2379084f27
https://github.com/llvm/llvm-project/commit/5e727e8bed5c57cbc804a2453bba1c2379084f27
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/StackMaps.cpp
A llvm/test/CodeGen/X86/stackmap-undef-operand-anyregcc.mir
M llvm/test/CodeGen/X86/statepoint-fixup-undef.mir
Log Message:
-----------
[Statepoint] Treat undef operands less specially (#119682)
This reverts commit f7443905af1e06eaacda1e437fff8d54dc89c487.
This is to avoid an assertion if an undef operand appears in a
stackmap. This is important to avoid hitting verifier errors
when register allocation starts adding undefs in error scenarios.
Rather than trying to treat undef operands as special, leave them
alone and avoid producing an invalid spill. It would a bit more
precise to produce a spill of an undef register here, but that's not
exposed through the storeRegToStackSlot API.
https://reviews.llvm.org/D122605
This was an alternative to https://reviews.llvm.org/D122582
Commit: 8387cbd0f9056fdf4e3886652e50fe4d94aaad7c
https://github.com/llvm/llvm-project/commit/8387cbd0f9056fdf4e3886652e50fe4d94aaad7c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-spill-partially-undef.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr-partially-undef.mir
M llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
Log Message:
-----------
AMDGPU: Delete spills of undef values (#119684)
AMDGPU: Delete spills of undef values
It would be a bit more logical to preserve the undef and do the normal
expansion, but this is less work. This avoids verifier errors in a
future patch which starts deleting liveness from registers after
allocation failures which results in spills of undef values.
https://reviews.llvm.org/D122607
Move where undef sgpr spills are deleted
Commit: e83afbe793071727533d822bcc29f547dfab2905
https://github.com/llvm/llvm-project/commit/e83afbe793071727533d822bcc29f547dfab2905
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
Log Message:
-----------
[ELF] Remove unneeded sec->file check
Commit: b3d2548d5b04ed3b7aaedfd22e62da40875c0f31
https://github.com/llvm/llvm-project/commit/b3d2548d5b04ed3b7aaedfd22e62da40875c0f31
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
A llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLayer.h
A llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/LinkGraphLayer.cpp
A llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
[ORC] Introduce LinkGraphLayer interface and LinkGraphLinkingLayer. (#120182)
Introduces a new layer interface, LinkGraphLayer, that can be used to
add LinkGraphs to an ExecutionSession.
This patch moves most of ObjectLinkingLayer's functionality into a new
LinkGraphLinkingLayer which should (in the future) be able to be used
without linking libObject. ObjectLinkingLayer now inherits from
LinkGraphLinkingLayer and just handles conversion of object files to
LinkGraphs, which are then handed down to LinkGraphLinkingLayer to be
linked.
Commit: a5d00ae9d18bdc8f7076ae2d44949b4f134e585e
https://github.com/llvm/llvm-project/commit/a5d00ae9d18bdc8f7076ae2d44949b4f134e585e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port b3d2548d5b04
Commit: 4a7673ddf2377784c1c7f11edcfa3ddb54e702a0
https://github.com/llvm/llvm-project/commit/4a7673ddf2377784c1c7f11edcfa3ddb54e702a0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Fix premerge concurrency cancellation
This should actually fix the problem as I validated that github.sha returns an
actual value by running a workflow in a test repo. I'm not sure why the
existing value doesn't work, but it returns nothing.
Commit: f515d7aa720142dfbb72f52e9d0106ba33e1fe69
https://github.com/llvm/llvm-project/commit/f515d7aa720142dfbb72f52e9d0106ba33e1fe69
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/tools/scan-build/bin/scan-build
Log Message:
-----------
[Static analysis] Encodes a filename before inserting it into a URL. (#120123)
This fixes a bug where report links generated from files such as
StylePrimitiveNumericTypes+Conversions.h in WebKit result in an error.
Co-authored-by: Brianna Fan <bfan2 at apple.com>
Commit: 417d2d7ce694acfa09a7d950cf1c5c41796eb313
https://github.com/llvm/llvm-project/commit/417d2d7ce694acfa09a7d950cf1c5c41796eb313
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
A lld/test/ELF/aarch64-got-relocations-pauth.s
Log Message:
-----------
[PAC][lld][AArch64][ELF] Support signed GOT (#113815)
Depends on #113811
Support `R_AARCH64_AUTH_ADR_GOT_PAGE`, `R_AARCH64_AUTH_GOT_LO12_NC` and
`R_AARCH64_AUTH_GOT_ADD_LO12_NC` GOT-generating relocations. For preemptible
symbols, dynamic relocation `R_AARCH64_AUTH_GLOB_DAT` is emitted. Otherwise,
we unconditionally emit `R_AARCH64_AUTH_RELATIVE` dynamic relocation since
pointers in signed GOT needs to be signed during dynamic link time.
Commit: a56ca3a4e4f9ee8a7ce231cf7b162c4688524fdf
https://github.com/llvm/llvm-project/commit/a56ca3a4e4f9ee8a7ce231cf7b162c4688524fdf
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/AArch64/armv8.6a-amvs.s
M llvm/test/MC/Disassembler/AArch64/armv8r-sysreg.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-occmo.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-pcdphint.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-srmask.txt
M llvm/test/MC/Disassembler/Mips/eva/valid_R6-eva.txt
M llvm/test/MC/Disassembler/Mips/eva/valid_preR6-eva.txt
M llvm/test/MC/Disassembler/Mips/mips1/valid-mips1-el.txt
M llvm/test/MC/Disassembler/Mips/mips1/valid-mips1.txt
M llvm/test/MC/Disassembler/Mips/mips2/valid-mips2-el.txt
M llvm/test/MC/Disassembler/Mips/mips2/valid-mips2.txt
M llvm/test/MC/Disassembler/Mips/mips3/valid-mips3-el.txt
M llvm/test/MC/Disassembler/Mips/mips3/valid-mips3.txt
M llvm/test/MC/Disassembler/Mips/mips4/valid-mips4-el.txt
M llvm/test/MC/Disassembler/Mips/mips4/valid-mips4.txt
M llvm/test/MC/Disassembler/Mips/mips64r2/valid-mips64r2-el.txt
M llvm/test/MC/Disassembler/Mips/mips64r2/valid-mips64r2.txt
M llvm/test/MC/Disassembler/Mips/mips64r3/valid-mips64r3-el.txt
M llvm/test/MC/Disassembler/Mips/mips64r3/valid-mips64r3.txt
M llvm/test/MC/Disassembler/Mips/mips64r5/valid-mips64r5-el.txt
M llvm/test/MC/Disassembler/Mips/mips64r5/valid-mips64r5.txt
M llvm/test/MC/Disassembler/RISCV/colored.txt
M llvm/test/MC/Disassembler/WebAssembly/wasm-error.txt
M llvm/test/MC/Disassembler/WebAssembly/wasm.txt
Log Message:
-----------
[test] Don't test initial ".text" in llvm-mc --disassemble output
This kludge will go away after #120185.
Commit: 6db1b2035bbef5ec477a1e645e249ebf7b29688c
https://github.com/llvm/llvm-project/commit/6db1b2035bbef5ec477a1e645e249ebf7b29688c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M clang/tools/scan-build/bin/scan-build
Log Message:
-----------
Revert "[Static analysis] Encodes a filename before inserting it into a URL." (#120195)
Reverts llvm/llvm-project#120123
Broke some tests.
Commit: 495bd4c255a0eb0e5b4fef5240eddc5fded1911b
https://github.com/llvm/llvm-project/commit/495bd4c255a0eb0e5b4fef5240eddc5fded1911b
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/test/MC/Disassembler/AArch64/colored.txt
M llvm/test/MC/Disassembler/ARM/arm-trustzone.txt
M llvm/test/tools/llvm-mc/line_end_with_space.test
M llvm/tools/llvm-mc/Disassembler.cpp
Log Message:
-----------
[llvm-mc] Don't print initial .text for disassembler
```
% echo 90 | llvm-mc -triple=x86_64 --disassemble --hex
.text
nop
```
The initial `.text` kludge is due `initSection`, which is actually only
needed by AIX XCOFF for its `getCurrentSectionOnly()` use in
MCAsmStreamer::emitInstruction (https://reviews.llvm.org/D95518). Adjust
MCAsmStreamer::emitInstruction to not trigger failures on
```
echo 7c4303a6 | llvm-mc --cdis --hex --triple=powerpc-aix-ibm-xcoff
```
Pull Request: https://github.com/llvm/llvm-project/pull/120185
Commit: 43ede4689892a716fc9ec1c9ae4096621f3b0f57
https://github.com/llvm/llvm-project/commit/43ede4689892a716fc9ec1c9ae4096621f3b0f57
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
Log Message:
-----------
[RISCV][GISel] Add legalization for more fp128 libcalls.
Commit: 300deebf41d2da96701fe29c0faa8025b7efa120
https://github.com/llvm/llvm-project/commit/300deebf41d2da96701fe29c0faa8025b7efa120
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
Log Message:
-----------
[ORC] Make LazyReexportsManager implement ResourceManager.
This ensures that the reexports mappings are cleared when the resource tracker
associated with each mapping is removed.
Commit: bfe8a21bad7e90629fb079217929a79e7377d8b3
https://github.com/llvm/llvm-project/commit/bfe8a21bad7e90629fb079217929a79e7377d8b3
Author: Brendan Sweeney <brs at eecs.berkeley.edu>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZalasr.td
M llvm/test/CodeGen/RISCV/atomic-load-store.ll
Log Message:
-----------
[RISCV][ISEL] Lowering to load-acquire/store-release for RISCV Zalasr (#82914)
Lowering to load-acquire/store-release for RISCV Zalasr.
Currently uses the psABI lowerings for WMO load-acquire/store-release
(which are identical to A.7). These are incompatable with the A.6
lowerings currently used by LLVM. This should be OK for now since Zalasr
is behind the enable experimental extensions flag, but needs to be fixed
before it is removed from that.
For TSO, it uses the standard Ztso mappings except for lowering seq_cst
loads/store to load-acquire/store-release, I had Andrea review that.
Commit: 58cfa39861bfbb6605df1480a3068ea7fc737d4d
https://github.com/llvm/llvm-project/commit/58cfa39861bfbb6605df1480a3068ea7fc737d4d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Remove legacy VPlan() constructors (NFC).
The constructors were retained to reduce the diff during transition.
Remove them now.
Commit: 514580b43898921cc95659de47b383bd2c9b4b12
https://github.com/llvm/llvm-project/commit/514580b43898921cc95659de47b383bd2c9b4b12
Author: Florian Mayer <fmayer at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/test/CodeGen/memtag-globals.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64.h
R llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/unittests/IR/VerifierTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[MTE] Apply alignment / size in AsmPrinter rather than IR (#111918)
This makes sure no optimizations are applied that assume the
bigger alignment or size, which could be incorrect if we link
together with non-instrumented code.
Commit: fbdbb13d5ba9e7a2bd6c544d290f913490da858f
https://github.com/llvm/llvm-project/commit/fbdbb13d5ba9e7a2bd6c544d290f913490da858f
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Eliminate DISubprogram set from BuildDebugInfoMDMap (#118625)
Summary:
Previously, we'd add all SPs distinct from the cloned one into a set.
Then when cloning a local scope we'd check if it's from one of those
'distinct' SPs by checking if it's in the set. We don't need to do that.
We can just check against the cloned SP directly and drop the set.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: df2356b47548ad69c2ded12e5ad7657be51aca42
https://github.com/llvm/llvm-project/commit/df2356b47548ad69c2ded12e5ad7657be51aca42
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[X86] getShuffleCost - ensure we treat constant folded shuffles as free
Commit: 3508d8f6ddd65e27486fad70cdce47adebafc364
https://github.com/llvm/llvm-project/commit/3508d8f6ddd65e27486fad70cdce47adebafc364
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
Log Message:
-----------
RegAllocFast: Avoid using temporary DiagnosticInfo (#120184)
This reverts commit 1297933f35b4948b4d281259627a72094c407a75.
Commit: 2a7ed2c1aaf5c84280d947eea56daaf302eb83d1
https://github.com/llvm/llvm-project/commit/2a7ed2c1aaf5c84280d947eea56daaf302eb83d1
Author: David Green <david.green at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Protect against calling the alloca ptr
In case we are calling the alloca ptr directly, check that the Use is a normal
operand to the call. Fortran is a funny language.
Commit: 9c89b40f183b6900d364e3496fd955f0c17fe27e
https://github.com/llvm/llvm-project/commit/9c89b40f183b6900d364e3496fd955f0c17fe27e
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
Log Message:
-----------
[AArch64] Implement intrinsics for FMLAL/FMLALL (single) (#119568)
Multi-vector 8-bit floating-point multiply-add long (single)
```c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmla[_single]_za16[_mf8]_vg2x1_fpm(uint32_t slice, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
void svmla[_single]_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
void svmla[_single]_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmla[_single]_za32[_mf8]_vg4x1_fpm(uint32_t slice, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
void svmla[_single]_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
void svmla[_single]_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
```
In accordance with https://github.com/ARM-software/acle/pull/323.
Co-authored-by: Momchil Velikov momchil.velikov at arm.com
Commit: e5a6f1c7793408adfe299c8fa5f4a53e236076b5
https://github.com/llvm/llvm-project/commit/e5a6f1c7793408adfe299c8fa5f4a53e236076b5
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
Log Message:
-----------
[NFC][webkit.UncountedLambdaCapturesChecker] Remove unnecessary check (#120069)
CXXMD is checked for null, but it can't be null inside of a visitor's
method. Found by a static analyzer tool.
Commit: 75b2d786734cd3fc0825fc6e20a3925d16993205
https://github.com/llvm/llvm-project/commit/75b2d786734cd3fc0825fc6e20a3925d16993205
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[GitHub] Add Xtensa backend labeler. (#120133)
Add patterns to label Xtensa backend related changes automatically.
Commit: 7c135e17fbb7178466eafce9826c896518907637
https://github.com/llvm/llvm-project/commit/7c135e17fbb7178466eafce9826c896518907637
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/select-equivalence-fp.ll
Log Message:
-----------
[InstSimplify] Treat float binop with identity as refining (#120098)
If x is NaN, then fmul (x, 1) may produce a different NaN value.
Our float semantics explicitly permit folding fmul (x, 1) to x, but we
can't do this when we're replacing a select input, as selects are
supposed to preserve the exact bitwise value.
Fixes
https://github.com/llvm/llvm-project/pull/115152#issuecomment-2545773114.
Commit: a1f5fe8c851ba6a0070e4cab9e7436e962677ac6
https://github.com/llvm/llvm-project/commit/a1f5fe8c851ba6a0070e4cab9e7436e962677ac6
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
Log Message:
-----------
[NVPTX] Optimize v2x16 BUILD_VECTORs to PRMT (#116675)
When two 16-bit values are combined into a v2x16 vector, and those
values are truncated come from 32-bit values, a PRMT instruction can
save registers by selecting bytes directly from the original 32-bit
values. We do this during a post-legalize DAG combine, as these
opportunities are typically only exposed after the BUILD_VECTOR's
operands have been legalized.
Additionally, if the 32-bit values are right-shifted, we can fold in the
shift by selecting higher bytes with PRMT. Only logical right-shifts by
16 are supported (for now) since those are the only situations seen in
practice. Right shifts by 16 often come up during the legalization of
EXTRACT_VECTOR_ELT.
This idea was brought up in a PR comment by @Artem-B.
Commit: 8cd8b5079b3c8debc1fa0b7b2287a00d7d385819
https://github.com/llvm/llvm-project/commit/8cd8b5079b3c8debc1fa0b7b2287a00d7d385819
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-xfer-to-llvm.mlir
Log Message:
-----------
[mlir][Vector] Move mask materialization patterns to greedy rewrite (#119973)
The mask materialization patterns during `VectorToLLVM` are rewrite
patterns. They should run as part of the greedy pattern rewrite and not
the dialect conversion. (Rewrite patterns and conversion patterns are
not generally compatible.)
The current combination of rewrite patterns and conversion patterns
triggered an edge case when merging the 1:1 and 1:N dialect conversions.
Commit: 59890c13343af9e308281b3c76bac425087f4f8a
https://github.com/llvm/llvm-project/commit/59890c13343af9e308281b3c76bac425087f4f8a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__functional/function.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/ranges_construct_at.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory/unique_temporary_buffer.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__pstl/handle_exception.h
M libcxx/include/__utility/no_destroy.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/exception
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/optional
M libcxx/include/stdexcept
M libcxx/include/unordered_map
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxxabi/src/cxa_default_handlers.cpp
Log Message:
-----------
[libc++] Granularize <new> includes (#119964)
Commit: 0693b9e9ccdec5f09a3080b1bec73f5004a8dfa3
https://github.com/llvm/llvm-project/commit/0693b9e9ccdec5f09a3080b1bec73f5004a8dfa3
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/test/Conversion/GPUCommon/lower-vector.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][Vector] Clean up `populateVectorToLLVMConversionPatterns` (#119975)
Clean up `populateVectorToLLVMConversionPatterns` so that it populates
only conversion patterns. All rewrite patterns that do not lower to LLVM
should be populated into a separate greedy pattern rewrite.
The current combination of rewrite patterns and conversion patterns
triggered an edge case when merging the 1:1 and 1:N dialect conversions.
Depends on #119973.
Commit: 10b12e6e07b4a2e6ff558b4a3066431bd704abfe
https://github.com/llvm/llvm-project/commit/10b12e6e07b4a2e6ff558b4a3066431bd704abfe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/lib/CodeGen/LiveVariables.cpp
Log Message:
-----------
LiveVariables: Use Register (#120204)
Commit: f7988a338ddb53b03e7cb89d839616925bd0ade1
https://github.com/llvm/llvm-project/commit/f7988a338ddb53b03e7cb89d839616925bd0ade1
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
A llvm/test/CodeGen/AMDGPU/remove-not-short-exec-branch-on-unconditional-jump.mir
Log Message:
-----------
[AMDGPU][SIPreEmitPeephole] Fix mustRetainExeczBranch (#120121)
Do not remove S_CBRANCH_EXECZ if one of the following blocks contains an
unconditional branch to a block other than the one immediately following
it. This can cause unwanted behavior like infinite loops.
Commit: a7dafea384a519342b2fbe210ed101c1e67f3be7
https://github.com/llvm/llvm-project/commit/a7dafea384a519342b2fbe210ed101c1e67f3be7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/sincos-stack-slots.ll
M llvm/test/CodeGen/PowerPC/f128-arith.ll
M llvm/test/CodeGen/RISCV/llvm.frexp.ll
M llvm/test/CodeGen/X86/llvm.frexp.ll
A llvm/test/CodeGen/X86/llvm.sincos.ll
M llvm/test/CodeGen/X86/sincos-stack-args.ll
Log Message:
-----------
[SDAG] Allow folding stack slots into sincos/frexp in more cases (#118117)
This adds a new helper `canFoldStoreIntoLibCallOutputPointers()` to
check that it is safe to fold a store into a node that will expand to a
library call that takes output pointers. This requires checking for two
(independent) properties:
1. The store is not within a CALLSEQ_START..CALLSEQ_END pair
* If it is, the expansion would lead to nested call sequences (which is
invalid)
2. The node does not appear as a predecessor to the store
* If it does, attempting to merge the store into the call would result
in a cycle in the DAG
These two properties are checked as part of the same traversal in
`canFoldStoreIntoLibCallOutputPointers()`
Commit: bdf727065b581c45b68a81090272f497f1ce5485
https://github.com/llvm/llvm-project/commit/bdf727065b581c45b68a81090272f497f1ce5485
Author: wanglei <wanglei at loongson.cn>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M offload/CMakeLists.txt
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/dynamic_ffi/ffi.h
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Add support for loongarch64 to host plugin
This adds support for the loongarch64 architecture to the offload host
plugin.
Similar to #115773
To fix some test issues, I've had to add the LoongArch64 target to:
- CompilerInvocation::ParseLangArgs
- linkDevice in ClangLinuxWrapper.cpp
- OMPContext::OMPContext (to set the device_kind_cpu trait)
Reviewed By: jhuber6
Pull Request: https://github.com/llvm/llvm-project/pull/120173
Commit: 37e48e4a7360a6faf1b157e843160d9e65223890
https://github.com/llvm/llvm-project/commit/37e48e4a7360a6faf1b157e843160d9e65223890
Author: aurelien35 <aurelien35 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
A llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
A llvm/unittests/DebugInfo/LogicalView/Inputs/test-codeview-msvc.lib
Log Message:
-----------
Fix crash due to un-checked error in LVReaderHandler::handleArchive method (#118951)
[llvm-debuginfo-analyzer] Fix crash due to un-checked error in LVReaderHandler::handleArchive
method.
- Added README describing how to generated the binary files used for the test.
- A follow up patch to add extra ASSERT_NE
Committed on behalf of @aurelien35
Commit: b07e7b76c5d532a611cf19ae083a94d44bfe0c5d
https://github.com/llvm/llvm-project/commit/b07e7b76c5d532a611cf19ae083a94d44bfe0c5d
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/CMakeLists.txt
M compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M flang/CMakeLists.txt
M libc/CMakeLists.txt
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/tools/llvm-config/CMakeLists.txt
M polly/cmake/polly_macros.cmake
Log Message:
-----------
[cmake] Drop `AddFileDependencies` and `CMakeParseArguments` (#120002)
Theses modules are deprecated and have trivial implementations in modern
cmake.
Commit: 24c2744a189eef9dfd39789df4983e4ffd219197
https://github.com/llvm/llvm-project/commit/24c2744a189eef9dfd39789df4983e4ffd219197
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[ORC] Fix LazyReexports resource key management.
Multiple reentry points may be associated with a single key.
Commit: 449af81f922cdb7a1f24b4c1e989f30848e1d762
https://github.com/llvm/llvm-project/commit/449af81f922cdb7a1f24b4c1e989f30848e1d762
Author: AdUhTkJm <30948580+AdUhTkJm at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/test/Sema/asm.c
Log Message:
-----------
[Clang] Fix crash for incompatible types in inline assembly (#119098)
Fixed issue #118892.
Commit: 908e30658ddf634f7c929f0c7e78dd40405c795a
https://github.com/llvm/llvm-project/commit/908e30658ddf634f7c929f0c7e78dd40405c795a
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
Log Message:
-----------
[AArch64] Implement intrinsics for FP8 SME FMLAL/FMLALL (multi) (#119546)
This patch implements the following intrinsics:
Multi-vector 8-bit floating-point multiply-add long (multiple vectors).
``` c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmla_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn, svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svmla_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn, svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmla_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn, svmfloat8x2_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
void svmla_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn, svmfloat8x4_t zm,
fpm_t fpm) __arm_streaming __arm_inout("za");
```
In accordance with https://github.com/ARM-software/acle/pull/323
Commit: 1b8099040e9a919794eba3854486d46fa9018b94
https://github.com/llvm/llvm-project/commit/1b8099040e9a919794eba3854486d46fa9018b94
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
Log Message:
-----------
Reland "[compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)"
Avoid issues caused by `.subsections_via_symbols` directive, by using
numbered labels instead of named labels for the branch locations.
This reverts commit 4032ce3413d0230b0ccba1203536f9cb35e5c3b5.
Commit: c1f5937eb4bf4002b8205873189f900364868fd5
https://github.com/llvm/llvm-project/commit/c1f5937eb4bf4002b8205873189f900364868fd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
Log Message:
-----------
[SelectOpt] Support BinOps with SExt operands. (#115879)
Building on top of https://github.com/llvm/llvm-project/pull/115489
extend support for binops with SExt operand.
PR: https://github.com/llvm/llvm-project/pull/115879
Commit: 8ea9576d94ec6b15a2a3ba181af15d136283bde4
https://github.com/llvm/llvm-project/commit/8ea9576d94ec6b15a2a3ba181af15d136283bde4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Add initial matchers for SCEV expressions. (NFC) (#119390)
This patch adds initial matchers for unary and binary SCEV expressions
and specializes it for SExt, ZExt and binary add expressions.
Also adds matchers for SCEVConstant and SCEVUnknown.
This patch only converts a few instances to use the new matchers to make
sure everything builds as expected for now.
The goal of the matchers is to hopefully make it slightly easier to
write code matching SCEV patterns.
Depends on https://github.com/llvm/llvm-project/pull/119389
PR: https://github.com/llvm/llvm-project/pull/119390
Commit: 56fd46edb38e4bab7e48c668683ba72709beb64f
https://github.com/llvm/llvm-project/commit/56fd46edb38e4bab7e48c668683ba72709beb64f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Remove a bitcast nullptr_t special case (#120188)
We still need to check the input pointer, so let this go through
BitCastPrim.
Commit: 52b07d971c89ab8fbcc497f22c43931b488256ea
https://github.com/llvm/llvm-project/commit/52b07d971c89ab8fbcc497f22c43931b488256ea
Author: Nathan Gauër <brioche at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
A clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
Log Message:
-----------
[HLSL] Fix call convention mismatch for ctor/dtor (#118651)
Before this patch, there was a calling-convention mismatch between the
constructors and the actual call emitted for the entrypoint wrapper.
Such mismatch causes the InstCombine pass to replace this call with an
`unreachable`, breaking the whole function.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 794cd814ee0260c094b98e453c89faf5a1a1df01
https://github.com/llvm/llvm-project/commit/794cd814ee0260c094b98e453c89faf5a1a1df01
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
[lldb][DWARFASTParserClang][ObjC] Remove workaround for old ObjC DWARF (#120218)
With all the recent versions of Clang that I tested, ObjC forward
declarations like
```
@class ForwardObjcClass;
```
don't emit the kind of DWARF that this workaround was put in place for.
Also, zero-sized structures are valid in C (and thus Objective-C), so
this workaround makes things confusing to reason about when mixing the
two languages.
This workaround has been in place for at least a decade, and given that
recent compilers don't produce this anymore, we think it's a good time
to remove it.
Commit: 34c4f6f9375ba8193327f2706d05b90e363a33d1
https://github.com/llvm/llvm-project/commit/34c4f6f9375ba8193327f2706d05b90e363a33d1
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][bazel] port 0693b9e9ccdec5f09a3080b1bec73f5004a8dfa3
Commit: 1157187496afbbb203b8ec7aa320769ec6eed8c4
https://github.com/llvm/llvm-project/commit/1157187496afbbb203b8ec7aa320769ec6eed8c4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
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/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reduction-known-first-value.ll
Log Message:
-----------
[VPlan] Propagate all GEP flags (#119899)
Store GEPNoWrapFlags instead of only InBounds and propagate them.
Commit: e0a79eeca27b894bca6aa3f5dfdd8f1ac6644381
https://github.com/llvm/llvm-project/commit/e0a79eeca27b894bca6aa3f5dfdd8f1ac6644381
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py
M lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py
M lldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/unittests/SymbolFile/DWARF/DWARFUnitTest.cpp
Log Message:
-----------
[lldb] Remove references to llvm-gcc (#120225)
The `llvm-gcc` front-end has been EOL'd at least since 2011 (based on
some `git` archeology). And Clang/LLVM has been removing references to
it ever since.
This patch removes the remaining references to it from LLDB. One benefit
of this is that it will allow us to remove the code checking for
`DW_AT_decl_file_attributes_are_invalid` and
`Supports_DW_AT_APPLE_objc_complete_type`.
Commit: f1763888bb96c9c4069d8d069083371965561111
https://github.com/llvm/llvm-project/commit/f1763888bb96c9c4069d8d069083371965561111
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
Log Message:
-----------
[lldb][DWARF] Remove obsolete calls to Supports_DW_AT_APPLE_objc_complete_type and DW_AT_decl_file_attributes_are_invalid (#120226)
Depends on https://github.com/llvm/llvm-project/pull/120225
With `llvm-gcc` support being removed from LLDB, these APIs
are now trivial and can be removed too.
Commit: fbbf1bed746c335b970aee7bd135676e534ffa05
https://github.com/llvm/llvm-project/commit/fbbf1bed746c335b970aee7bd135676e534ffa05
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
Log Message:
-----------
[HLSL][NFC] Fix static analyzer concerns (#120090)
Class BuiltinTypeMethodBuilder has a user-defined destructor so likely
compiler generated special functions may behave incorrectly. Delete
explicitly copy constructor and copy assignment operator to avoid
potential errors.
Commit: b4c1ded7d54858972c27250f4b6b882e74da1444
https://github.com/llvm/llvm-project/commit/b4c1ded7d54858972c27250f4b6b882e74da1444
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/OpenMP/amdgpu_threadprivate.cpp
Log Message:
-----------
[clang] Recover necessary AddrSpaceCast (#119246)
A necessary AddrSpaceCast was wrongfully deleted in
5c91b2886f6bf400b60ca7839069839ac3980f8f . Recover the AddrSpaceCast.
This fixes #86791 .
Commit: 2072ec1ff957cb08a054e5ce7a1e916232d3bc6b
https://github.com/llvm/llvm-project/commit/2072ec1ff957cb08a054e5ce7a1e916232d3bc6b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/utils/merge-json.py
Log Message:
-----------
[LLVM] Remove warning print when merging fails
Summary:
This message is only confusing and shouldn't have been added in the
first place.
Commit: f6f4744176c8838a55fabd6f978ac08c3612aabc
https://github.com/llvm/llvm-project/commit/f6f4744176c8838a55fabd6f978ac08c3612aabc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/utils/gpu/server/CMakeLists.txt
Log Message:
-----------
[libc] Install RPC server to `shared/rpc.h` (#120170)
Summary:
This installs the shared header to the users installation. I couldn't
decide if this should be a standalone thing or use the existing support
in `include/` mostly because this is completely separate from hdrgen
stuff and it's C++.
Commit: a487b792e2dabcec02c63d19e32958572a257408
https://github.com/llvm/llvm-project/commit/a487b792e2dabcec02c63d19e32958572a257408
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
A llvm/include/llvm/Transforms/Instrumentation/TypeSanitizer.h
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Instrumentation/TypeSanitizer/access-with-offset.ll
A llvm/test/Instrumentation/TypeSanitizer/alloca-only.ll
A llvm/test/Instrumentation/TypeSanitizer/alloca.ll
A llvm/test/Instrumentation/TypeSanitizer/anon.ll
A llvm/test/Instrumentation/TypeSanitizer/basic-nosan.ll
A llvm/test/Instrumentation/TypeSanitizer/basic.ll
A llvm/test/Instrumentation/TypeSanitizer/byval.ll
A llvm/test/Instrumentation/TypeSanitizer/globals.ll
A llvm/test/Instrumentation/TypeSanitizer/invalid-metadata.ll
A llvm/test/Instrumentation/TypeSanitizer/memintrinsics.ll
A llvm/test/Instrumentation/TypeSanitizer/nosanitize.ll
A llvm/test/Instrumentation/TypeSanitizer/sanitize-no-tbaa.ll
A llvm/test/Instrumentation/TypeSanitizer/swifterror.ll
M llvm/unittests/Analysis/AliasSetTrackerTest.cpp
Log Message:
-----------
[TySan] Add initial Type Sanitizer (LLVM) (#76259)
This patch introduces the LLVM components of a type sanitizer: a
sanitizer for type-based aliasing violations.
It is based on Hal Finkel's https://reviews.llvm.org/D32198.
C/C++ have type-based aliasing rules, and LLVM's optimizer can exploit
these given TBAA metadata added by Clang. Roughly, a pointer of given
type cannot be used to access an object of a different type (with, of
course, certain exceptions). Unfortunately, there's a lot of code in the
wild that violates these rules (e.g. for type punning), and such code
often must be built with -fno-strict-aliasing. Performance is often
sacrificed as a result. Part of the problem is the difficulty of finding
TBAA violations. Hopefully, this sanitizer will help.
For each TBAA type-access descriptor, encoded in LLVM's IR using
metadata, the corresponding instrumentation pass generates descriptor
tables. Thus, for each type (and access descriptor), we have a unique
pointer representation. Excepting anonymous-namespace types, these
tables are comdat, so the pointer values should be unique across the
program. The descriptors refer to other descriptors to form a type
aliasing tree (just like LLVM's TBAA metadata does). The instrumentation
handles the "fast path" (where the types match exactly and no
partial-overlaps are detected), and defers to the runtime to handle all
of the more-complicated cases. The runtime, of course, is also
responsible for reporting errors when those are detected.
The runtime uses essentially the same shadow memory region as tsan, and
we use 8 bytes of shadow memory, the size of the pointer to the type
descriptor, for every byte of accessed data in the program. The value 0
is used to represent an unknown type. The value -1 is used to represent
an interior byte (a byte that is part of a type, but not the first
byte). The instrumentation first checks for an exact match between the
type of the current access and the type for that address recorded in the
shadow memory. If it matches, it then checks the shadow for the
remainder of the bytes in the type to make sure that they're all -1. If
not, we call the runtime. If the exact match fails, we next check if the
value is 0 (i.e. unknown). If it is, then we check the shadow for the
remainder of the byes in the type (to make sure they're all 0). If
they're not, we call the runtime. We then set the shadow for the access
address and set the shadow for the remaining bytes in the type to -1
(i.e. marking them as interior bytes). If the type indicated by the
shadow memory for the access address is neither an exact match nor 0, we
call the runtime.
The instrumentation pass inserts calls to the memset intrinsic to set
the memory updated by memset, memcpy, and memmove, as well as
allocas/byval (and for lifetime.start/end) to reset the shadow memory to
reflect that the type is now unknown. The runtime intercepts memset,
memcpy, etc. to perform the same function for the library calls.
The runtime essentially repeats these checks, but uses the full TBAA
algorithm, just as the compiler does, to determine when two types are
permitted to alias. In a situation where access overlap has occurred and
aliasing is not permitted, an error is generated.
Clang's TBAA representation currently has a problem representing unions,
as demonstrated by the one XFAIL'd test in the runtime patch. We'll
update the TBAA representation to fix this, and at the same time, update
the sanitizer.
When the sanitizer is active, we disable actually using the TBAA
metadata for AA. This way we're less likely to use TBAA to remove memory
accesses that we'd like to verify.
As a note, this implementation does not use the compressed shadow-memory
scheme discussed previously
(http://lists.llvm.org/pipermail/llvm-dev/2017-April/111766.html). That
scheme would not handle the struct-path (i.e. structure offset)
information that our TBAA represents. I expect we'll want to further
work on compressing the shadow-memory representation, but I think it
makes sense to do that as follow-up work.
It goes together with the corresponding clang changes
(https://github.com/llvm/llvm-project/pull/76260) and compiler-rt
changes (https://github.com/llvm/llvm-project/pull/76261)
PR: https://github.com/llvm/llvm-project/pull/76259
Commit: e6ced4da4499007a366ada31cfb07e0b4fbf2393
https://github.com/llvm/llvm-project/commit/e6ced4da4499007a366ada31cfb07e0b4fbf2393
Author: Ivan G. <dreamos82 at yahoo.it>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/docs/ELF/large_sections.rst
Log Message:
-----------
Typo fix in large_sections.rst (#120101)
Remove duplicate word.
Commit: 70c5887958623dee20273ec04999b69fe3e470da
https://github.com/llvm/llvm-project/commit/70c5887958623dee20273ec04999b69fe3e470da
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[gn build] Port a487b792e2da
Commit: 17b3dd03a05dfa938aacd57027189271a62e2fda
https://github.com/llvm/llvm-project/commit/17b3dd03a05dfa938aacd57027189271a62e2fda
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/surf-write.ll
Log Message:
-----------
[NVPTX][test] fix CodeGen/NVPTX/surf-write.ll
ptxas needs a proper triplet
for 133352feb30605ec51b15f77826ed3a2fbf8db56
Commit: ce4ac994529eb33a67b0f450fd6fe847918247e1
https://github.com/llvm/llvm-project/commit/ce4ac994529eb33a67b0f450fd6fe847918247e1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libcxx/include/module.modulemap
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/wchar.h
M libcxx/test/libcxx/clang_modules_include.gen.py
Log Message:
-----------
[libc++] Remove explicit mentions of __need_FOO macros (#119025)
This change has a long history. It was first attempted naively in
https://reviews.llvm.org/D131425, which didn't work because we broke the
ability for code to include e.g. <stdio.h> multiple times and get
different definitions based on the pre-defined macros.
However, in #86843 we managed to simplify <stddef.h> by including the
underlying system header outside of any include guards, which worked.
This patch applies the same simplification we did to <stddef.h> to the
other headers that currently mention __need_FOO macros explicitly.
Commit: cf4375d107e8055e52ff43f66b65092b075d8442
https://github.com/llvm/llvm-project/commit/cf4375d107e8055e52ff43f66b65092b075d8442
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Extract common function for determining MI's regclass (#120135)
Add some comments that hopefully clarify a few things.
This was supposed to be NFC, but there is a difference in the inferred
register class for EXTRACT_SUBREG.
Pull Request: https://github.com/llvm/llvm-project/pull/120135
Commit: c135f6ffe2542bdde5a2a3e1d6515a6fc7031967
https://github.com/llvm/llvm-project/commit/c135f6ffe2542bdde5a2a3e1d6515a6fc7031967
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
A clang/test/CodeGen/sanitize-type-attr.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[TySan] Add initial Type Sanitizer support to Clang) (#76260)
This patch introduces the Clang components of type sanitizer: a
sanitizer for type-based aliasing violations.
It is based on Hal Finkel's https://reviews.llvm.org/D32198.
The Clang changes are mostly formulaic, the one specific change being
that when the TBAA sanitizer is enabled, TBAA is always generated, even
at -O0.
It goes together with the corresponding LLVM changes
(https://github.com/llvm/llvm-project/pull/76259) and compiler-rt
changes (https://github.com/llvm/llvm-project/pull/76261)
PR: https://github.com/llvm/llvm-project/pull/76260
Commit: d8a0709b1090350a7fe3604d8ab78c7d62f10698
https://github.com/llvm/llvm-project/commit/d8a0709b1090350a7fe3604d8ab78c7d62f10698
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libcxx/utils/ci/Dockerfile
Log Message:
-----------
[libc++] Bump the version of CMake built in the CI Docker image (#120240)
This will allow using the $<LINK_LIBRARY> generator expression in some
of our configurations. We should separately pursue officially bumping
the minimum CMake version across all LLVM so we can use this feature
more widely.
Commit: 6a7d6c5f69dda254ec92f982985fd10fa51c63ef
https://github.com/llvm/llvm-project/commit/6a7d6c5f69dda254ec92f982985fd10fa51c63ef
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/lib/Target/LLVM/CMakeLists.txt
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
[MLIR] Add a MLIR_NVVM_EMBED_LIBDEVICE CMake option that embeds libdevice in the binary (#120238)
This removes a runtime dependency on the CUDA Toolkit path, instead of
looking up the filesystem we use a version of libdevice embedded in the
binary at build time.
Commit: f539e00c702b4e5732d76e093c2d909fd8702683
https://github.com/llvm/llvm-project/commit/f539e00c702b4e5732d76e093c2d909fd8702683
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/docs/PassManagement.md
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/AsmPrinter.cpp
A mlir/test/IR/print-use-nameloc-as-prefix.mlir
Log Message:
-----------
[mlir] add option to print SSA IDs using `NameLoc`s as prefixes (#119996)
This PR adds an `AsmPrinter` option `-mlir-use-nameloc-as-prefix` which
uses trailing `NameLoc`s, if the source IR provides them, as prefixes
when printing SSA IDs.
Commit: 146240ef1c0f25259ef30d9d14c124e574764a01
https://github.com/llvm/llvm-project/commit/146240ef1c0f25259ef30d9d14c124e574764a01
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
Log Message:
-----------
Fix MSVC " 32-bit shift implicitly converted to 64 bits" warnings. NFC.
Commit: 57c161a6479fb70a31553e2f9bc1efa46262aa92
https://github.com/llvm/llvm-project/commit/57c161a6479fb70a31553e2f9bc1efa46262aa92
Author: Gedare Bloom <gedare at rtems.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTestJS.cpp
Log Message:
-----------
[clang-format] Detect nesting in template strings (#119989)
The helper to check if a token is in a template string scans too far
backward. It should stop if a different scope is found.
Fixes #107571
Commit: 62bd10f7d18ca6f544286767cae2c9026d493888
https://github.com/llvm/llvm-project/commit/62bd10f7d18ca6f544286767cae2c9026d493888
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
[libcxx] Use alias for detecting overriden function (#114961)
This mechanism is preferable in environments like embedded since it
doesn't require special handling of the custom section.
Commit: edf9439e00971b55bae19e40ef6a8e132645a56a
https://github.com/llvm/llvm-project/commit/edf9439e00971b55bae19e40ef6a8e132645a56a
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M libcxx/src/chrono.cpp
M libcxx/src/filesystem/filesystem_clock.cpp
Log Message:
-----------
[libcxx] Support for using timespec_get (#117362)
clock_gettime is a POSIX API that may not be available on platforms like
baremetal; timespec_get is the C11 equivalent. This change adds support
for using timespec_get instead of clock_gettime to improve compatibility
with non-POSIX platforms. For now, this is only enabled with LLVM libc
which implemented timespec_get in #116102, but in the future this can be
expanded to other platforms.
Related to #84879.
Commit: 7ab8dd7c31c9a595b183aa857bb3536be01f350d
https://github.com/llvm/llvm-project/commit/7ab8dd7c31c9a595b183aa857bb3536be01f350d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerShift - pull out repeated getVectorNumElements calls. NFC. (#120241)
Commit: 34a44b20888479cf934014e3aa85c563725df69a
https://github.com/llvm/llvm-project/commit/34a44b20888479cf934014e3aa85c563725df69a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/test/COFF/linkrepro.test
Log Message:
-----------
[lld/COFF] Handle -start-lib / -end-lib better in /reproduce: output (#119752)
Previously, we'd collect all input files in Driver::filePaths, and then
write filePaths after all other flags in
createResponseFile(). This meant that `-start-lib foo.obj -end-lib`
would be written as `-start-lib -end-lib foo.obj`, changing semantics.
Instead, remove Driver::filePaths, and handle things that fed into it
directly:
* OPT_INPUT is now handled in the same way as other flags, so that we
now get `-start-lib foo.obj -end-lib` in response.txt as desired. Add a
test for -start-lib / -end-lib and /reproduce:.
* OPT_wholearchive_file needs explicit handling now -- but before, this
was buggy as well: We'd put the flag without a rewritten path in
response.txt, but also the rewritten input file without wholearchive
semantics via filePaths. So this commit makes --whole-archive work with
/reproduce: too, and adds test coverage.
* /defaultlib:foo is now written as /defaultlib:foo into response.txt,
instead of writing the resolved path previously. While response.txt
looks slightly differently, both should have the same semantics, and
this should be mostly a no-op. (It does require updating a test.)
* /defaultlib: from .drectve sections are no longer recorded in
response.txt. This seems like a progression -- in the non-repro case
they come from .obj files, so they should come (only) from there in the
repro case too. This adds test coverage for this case.
Makes createResponseFile() look more like the versions in the ELF and
MachO ports too.
Commit: 9fc54c0e8049553a30c17a3698445d58800916c9
https://github.com/llvm/llvm-project/commit/9fc54c0e8049553a30c17a3698445d58800916c9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/Modules/ExtDebugInfo.m
M clang/test/Modules/ModuleDebugInfo.m
A lldb/test/Shell/SymbolFile/DWARF/objc-gmodules-class-extension.test
Log Message:
-----------
[clang][DebugInfo][gmodules] Set runtimeLang on ObjC forward declarations (#120154)
In Objective-C, forward declarations are currently represented as:
```
DW_TAG_structure_type
DW_AT_name ("Foo")
DW_AT_declaration (true)
DW_AT_APPLE_runtime_class (DW_LANG_ObjC)
```
However, when compiling with `-gmodules`, when a class definition is
turned into a forward declaration within a `DW_TAG_module`, the DIE for
the forward declaration looks as follows:
```
DW_TAG_structure_type
DW_AT_name ("Foo")
DW_AT_declaration (true)
```
Note the absence of `DW_AT_APPLE_runtime_class`. With recent changes in
LLDB, not being able to differentiate between C++ and Objective-C
forward declarations has become problematic (see attached test-case and
explanation in https://github.com/llvm/llvm-project/pull/119860).
Commit: 8bb1bdf919c76ec047fd5c646fa210837e88cc75
https://github.com/llvm/llvm-project/commit/8bb1bdf919c76ec047fd5c646fa210837e88cc75
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix warnings
This patch fixes:
llvm/lib/Target/X86/X86ISelLowering.cpp:30127:23: error: comparison
of integers of different signs: 'int' and 'unsigned int'
[-Werror,-Wsign-compare]
llvm/lib/Target/X86/X86ISelLowering.cpp:30205:35: error: comparison
of integers of different signs: 'int' and 'unsigned int'
[-Werror,-Wsign-compare]
llvm/lib/Target/X86/X86ISelLowering.cpp:30453:23: error: comparison
of integers of different signs: 'int' and 'unsigned int'
[-Werror,-Wsign-compare]
Commit: 558de0e1f993f413a9c8b93d969b28b651c6e437
https://github.com/llvm/llvm-project/commit/558de0e1f993f413a9c8b93d969b28b651c6e437
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
[llvm-gsymutil] Add option to load callsites from DWARF (#119913)
This change adds support for loading gSYM callsite information from
DWARF. Previously the only support was for loading callsites info from
YAML.
For testing, we add a pass where `macho-gsym-merged-callsites-dsym`
loads callsite info from DWARF rather than YAML.
Commit: 525c818f08e097cd123839b8d96a543e2c9da26e
https://github.com/llvm/llvm-project/commit/525c818f08e097cd123839b8d96a543e2c9da26e
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port 6a7d6c5f69dda254ec92f982985fd10fa51c63ef
Commit: 9d33874936d83b8ddf5d028d313d810214f00f20
https://github.com/llvm/llvm-project/commit/9d33874936d83b8ddf5d028d313d810214f00f20
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
A flang/test/Driver/frealloc-lhs.f90
A flang/test/Lower/reallocate-lhs.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Support -f[no-]realloc-lhs. (#120165)
-frealloc-lhs is the default.
If -fno-realloc-lhs is specified, then an allocatable on the left
side of an intrinsic assignment is not implicitly (re)allocated
to conform with the right hand side. Fortran runtime will issue
an error if there is a mismatch in shape/type/allocation-status.
Commit: fbbbd65b2573dc92c3c2272ce57da29cf8227a35
https://github.com/llvm/llvm-project/commit/fbbbd65b2573dc92c3c2272ce57da29cf8227a35
Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[MLIR] correct return type of parse() functions (#120180)
The `parseX()` functions that are defined to support `custom<X>` in
`assemblyFormat` should return `ParseResult` rather than
`LogicalResult`. The `ParseResult` type is necessary due to tablegen
generating code that expects this type within an Op `parseX()` function.
Commit: 345a35259ccfdc5031bc4c4bdb0f47959fa75806
https://github.com/llvm/llvm-project/commit/345a35259ccfdc5031bc4c4bdb0f47959fa75806
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
A llvm/test/CodeGen/RISCV/rvv/vl-opt-user-scalar-def.mir
Log Message:
-----------
[RISCV][VLOPT] Avoid crash when user produces scalar def (#120255)
I found this crash when trying to enable the VLOptimizer pass. We need
this patch before we can enable by default. The old assert was not
checking that USE and DEF were vector registers. The correct condition
is guarded at the callsite of tryReduceVL.
Commit: 30916b6942371fc314f3ce1bfa4042cae3e6ff28
https://github.com/llvm/llvm-project/commit/30916b6942371fc314f3ce1bfa4042cae3e6ff28
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
Log Message:
-----------
[MemRef] Migrate away from PointerUnion::{is,get} (NFC) (#120202)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: e8a6563768579e6f555b2d9192f2c2a0cb27534a
https://github.com/llvm/llvm-project/commit/e8a6563768579e6f555b2d9192f2c2a0cb27534a
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
Fix-forward 'RegAllocFast: Avoid using temporary DiagnosticInfo #120184' (#120268)
There was a buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/24/builds/3329/steps/11/logs/stdio):
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll:9:10:
error: CHECK: expected string not found in input
; CHECK: error: <unknown>:0:0: no registers from class available to
allocate in function 'no_registers_from_class_available_to_allocate'
2: ==75198==ERROR: AddressSanitizer: stack-use-after-scope on address
0xfa23f9f1c270 at pc 0xb2660dda9340 bp 0xfffffe8ab340 sp 0xfffffe8ab338
caused by https://github.com/llvm/llvm-project/pull/120184, which made a
partial fix but also renabled the tests. This patch attempts to fix
forward by applying the same fix to the error message highlighted in the
buildbot.
Commit: a57f4c7009cd5eacc64cc78a1788c87318218d79
https://github.com/llvm/llvm-project/commit/a57f4c7009cd5eacc64cc78a1788c87318218d79
Author: lntue <lntue at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/fp_div_impl.inc
M compiler-rt/test/builtins/Unit/divdf3_test.c
M compiler-rt/test/builtins/Unit/divsf3_test.c
M compiler-rt/test/builtins/Unit/divtf3_test.c
Log Message:
-----------
[compiler-rt] Fix a bug in fp_div_impl when an intermediate result is out of expected range. (#119449)
Before this fix, `1.0L / (1.0L - 0x1.0p-113L)` will return `2 * (1 +
eps(1))`.
Commit: 90c7600f25b54f9b977a571e9c4f067e15d48316
https://github.com/llvm/llvm-project/commit/90c7600f25b54f9b977a571e9c4f067e15d48316
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add exit (#120251)
PR adds `exit` instruction to nvvm dialect.
Commit: 904849f2973eb8ab517f8a805cf8a747924220ef
https://github.com/llvm/llvm-project/commit/904849f2973eb8ab517f8a805cf8a747924220ef
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for more instructions in vl-opt-op-info.mir (#119416)
Specifically, some more where EMUL=LMUL and EEW=SEW.
Commit: 5287299f8809ae927a0acafb179c4b37ce9ff21d
https://github.com/llvm/llvm-project/commit/5287299f8809ae927a0acafb179c4b37ce9ff21d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - prefer same cost fold if it reduces instruction count (#120216)
We don't fold "shuffle (binop), (binop)" -> "binop (shuffle), (shuffle)" if the old/new costs are equal, but we can relax this if either new shuffle will constant fold as it will reduce instruction count.
Commit: 8bbbcaddbb0f4d39b8da3c5c90eb8627a1cab1ee
https://github.com/llvm/llvm-project/commit/8bbbcaddbb0f4d39b8da3c5c90eb8627a1cab1ee
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_max_f16/v_min_f16 in true16 (#119291)
This is a NFC change. Update mc test for v_max/min_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: 2a922903bf5d5b0012c1f8f2a5396d44cfff4630
https://github.com/llvm/llvm-project/commit/2a922903bf5d5b0012c1f8f2a5396d44cfff4630
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
Log Message:
-----------
[X86] vector-shift tests - regenerate VPTERNLOG comments
Commit: f9a9173b6ca065441d8432f268fb4eeae5e8abb6
https://github.com/llvm/llvm-project/commit/f9a9173b6ca065441d8432f268fb4eeae5e8abb6
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_mul_f16 in true16 (#119314)
This is a NFC change. Update mc test for v_mul_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: 659dbb632980552b39918e726b8bb35371f6e61a
https://github.com/llvm/llvm-project/commit/659dbb632980552b39918e726b8bb35371f6e61a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
Log Message:
-----------
[RISCV] Remove unnecessary patterns from RISCVInstrInfoA.td. NFC
Looks like they got left behind in the Zalasr patch after I removed
i32 patterns for RV64.
Commit: 9c8214ff31d7d515b1789cd6cbc21c9663be53df
https://github.com/llvm/llvm-project/commit/9c8214ff31d7d515b1789cd6cbc21c9663be53df
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/LTO.cpp
Log Message:
-----------
[LLD][COFF] Create COFFObjectFile instance when constructing ObjFile (NFC) (#120144)
This change moves the creation of COFFObjectFile to the construction of
ObjFile, instead of delaying it until parsing.
Commit: b26f534980b6c10e74bfbebe4a1296ef5e9b1486
https://github.com/llvm/llvm-project/commit/b26f534980b6c10e74bfbebe4a1296ef5e9b1486
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_and/or/xor_b16 in true16 (#119489)
This is a NFC change. Update mc test for v_and/or/xor_b16 in true16
format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: 1c16807d0dd740ace0f21ed29d1381a0078f745e
https://github.com/llvm/llvm-project/commit/1c16807d0dd740ace0f21ed29d1381a0078f745e
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[LLVM] Add Intel vendor in Triple (#120250)
We plan to make use of this in SPIR-V-based OpenMP offloading, for which
there is already an initial patch in review.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 4c5ddc9ed4992e3c5147441cd7057724618f30da
https://github.com/llvm/llvm-project/commit/4c5ddc9ed4992e3c5147441cd7057724618f30da
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/docs/conf.py
M llvm/docs/requirements.txt
Log Message:
-----------
[libc][docs] add redirect for math/index.html (#120274)
commit a9aff440d9dd ("[libc][docs] reorganize documentation (#118836)")
moved https://libc.llvm.org/math/index.html to
https://libc.llvm.org/headers/math/index.html which makes links from
various slide decks stale.
There's an extension for sphinx that can generate redirects. Add a dependency
on that, then use it to create a redirect so that those older links still work.
I was able to install this sphinx extension via:
$ sudo apt install python3-sphinx-reredirects
We may need to install this on whatever server generates the llvm
documentation.
Commit: 7477b61b2416ca130bd3ed9bbc96988e5de17623
https://github.com/llvm/llvm-project/commit/7477b61b2416ca130bd3ed9bbc96988e5de17623
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/ssize_t.h
A libc/hdr/types/uid_t.h
M libc/hdr/unistd_macros.h
A libc/hdr/unistd_overlay.h
M libc/src/unistd/dup.h
M libc/src/unistd/dup2.h
M libc/src/unistd/dup3.h
M libc/src/unistd/fork.h
M libc/src/unistd/ftruncate.h
M libc/src/unistd/getcwd.h
M libc/src/unistd/geteuid.h
M libc/src/unistd/getopt.h
M libc/src/unistd/getpid.h
M libc/src/unistd/getppid.h
M libc/src/unistd/getuid.h
M libc/src/unistd/isatty.h
M libc/src/unistd/link.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/lseek.h
M libc/src/unistd/pread.h
M libc/src/unistd/pwrite.h
M libc/src/unistd/read.h
M libc/src/unistd/readlink.h
M libc/src/unistd/readlinkat.h
M libc/src/unistd/swab.h
M libc/src/unistd/symlink.h
M libc/src/unistd/symlinkat.h
M libc/src/unistd/syscall.h
M libc/src/unistd/sysconf.h
M libc/src/unistd/truncate.h
M libc/src/unistd/write.h
M libc/test/src/sys/mman/linux/remap_file_pages_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add unistd overlay (#119312)
Reverts the revert #119295 of #118882 by expanding #118882 with
additional fixes which made CI unhappy.
Commit: 5d4e4b35030cd103884b89a184ae02a6e8871388
https://github.com/llvm/llvm-project/commit/5d4e4b35030cd103884b89a184ae02a6e8871388
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerShift - use getConstant directly to create vector splat constants. NFC.
Commit: 641fbf1524338c86c952ebb1ec8d2b497ada3cef
https://github.com/llvm/llvm-project/commit/641fbf1524338c86c952ebb1ec8d2b497ada3cef
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/runtime/CMakeLists.txt
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
A compiler-rt/lib/tysan/CMakeLists.txt
A compiler-rt/lib/tysan/lit.cfg
A compiler-rt/lib/tysan/lit.site.cfg.in
A compiler-rt/lib/tysan/tysan.cpp
A compiler-rt/lib/tysan/tysan.h
A compiler-rt/lib/tysan/tysan.syms.extra
A compiler-rt/lib/tysan/tysan_flags.inc
A compiler-rt/lib/tysan/tysan_interceptors.cpp
A compiler-rt/lib/tysan/tysan_platform.h
A compiler-rt/test/tysan/CMakeLists.txt
A compiler-rt/test/tysan/anon-ns.cpp
A compiler-rt/test/tysan/anon-same-struct.c
A compiler-rt/test/tysan/anon-struct.c
A compiler-rt/test/tysan/basic.c
A compiler-rt/test/tysan/char-memcpy.c
A compiler-rt/test/tysan/constexpr-subobject.cpp
A compiler-rt/test/tysan/global.c
A compiler-rt/test/tysan/int-long.c
A compiler-rt/test/tysan/lit.cfg.py
A compiler-rt/test/tysan/lit.site.cfg.py.in
A compiler-rt/test/tysan/ptr-float.c
A compiler-rt/test/tysan/struct-offset-multiple-compilation-units.cpp
A compiler-rt/test/tysan/struct-offset.c
A compiler-rt/test/tysan/struct.c
A compiler-rt/test/tysan/union-wr-wr.c
A compiler-rt/test/tysan/violation-pr45282.c
A compiler-rt/test/tysan/violation-pr47137.c
A compiler-rt/test/tysan/violation-pr51837.c
A compiler-rt/test/tysan/violation-pr62544.c
A compiler-rt/test/tysan/violation-pr62828.cpp
A compiler-rt/test/tysan/violation-pr68655.cpp
A compiler-rt/test/tysan/violation-pr86685.c
Log Message:
-----------
[TySan] Add initial Type Sanitizer runtime (#76261)
This patch introduces the runtime components for type sanitizer: a
sanitizer for type-based aliasing violations.
It is based on Hal Finkel's https://reviews.llvm.org/D32197.
C/C++ have type-based aliasing rules, and LLVM's optimizer can exploit
these given TBAA metadata added by Clang. Roughly, a pointer of given
type cannot be used to access an object of a different type (with, of
course, certain exceptions). Unfortunately, there's a lot of code in the
wild that violates these rules (e.g. for type punning), and such code
often must be built with -fno-strict-aliasing. Performance is often
sacrificed as a result. Part of the problem is the difficulty of finding
TBAA violations. Hopefully, this sanitizer will help.
For each TBAA type-access descriptor, encoded in LLVM's IR using
metadata, the corresponding instrumentation pass generates descriptor
tables. Thus, for each type (and access descriptor), we have a unique
pointer representation. Excepting anonymous-namespace types, these
tables are comdat, so the pointer values should be unique across the
program. The descriptors refer to other descriptors to form a type
aliasing tree (just like LLVM's TBAA metadata does). The instrumentation
handles the "fast path" (where the types match exactly and no
partial-overlaps are detected), and defers to the runtime to handle all
of the more-complicated cases. The runtime, of course, is also
responsible for reporting errors when those are detected.
The runtime uses essentially the same shadow memory region as tsan, and
we use 8 bytes of shadow memory, the size of the pointer to the type
descriptor, for every byte of accessed data in the program. The value 0
is used to represent an unknown type. The value -1 is used to represent
an interior byte (a byte that is part of a type, but not the first
byte). The instrumentation first checks for an exact match between the
type of the current access and the type for that address recorded in the
shadow memory. If it matches, it then checks the shadow for the
remainder of the bytes in the type to make sure that they're all -1. If
not, we call the runtime. If the exact match fails, we next check if the
value is 0 (i.e. unknown). If it is, then we check the shadow for the
remainder of the byes in the type (to make sure they're all 0). If
they're not, we call the runtime. We then set the shadow for the access
address and set the shadow for the remaining bytes in the type to -1
(i.e. marking them as interior bytes). If the type indicated by the
shadow memory for the access address is neither an exact match nor 0, we
call the runtime.
The instrumentation pass inserts calls to the memset intrinsic to set
the memory updated by memset, memcpy, and memmove, as well as
allocas/byval (and for lifetime.start/end) to reset the shadow memory to
reflect that the type is now unknown. The runtime intercepts memset,
memcpy, etc. to perform the same function for the library calls.
The runtime essentially repeats these checks, but uses the full TBAA
algorithm, just as the compiler does, to determine when two types are
permitted to alias. In a situation where access overlap has occurred and
aliasing is not permitted, an error is generated.
As a note, this implementation does not use the compressed shadow-memory
scheme discussed previously
(http://lists.llvm.org/pipermail/llvm-dev/2017-April/111766.html). That
scheme would not handle the struct-path (i.e. structure offset)
information that our TBAA represents. I expect we'll want to further
work on compressing the shadow-memory representation, but I think it
makes sense to do that as follow-up work.
This includes build fixes for Linux from Mingjie Xu.
Depends on #76260 (Clang support), #76259 (LLVM support)
PR: https://github.com/llvm/llvm-project/pull/76261
Commit: 4c2a46f5fe2eaa41f851ff4ca37dcc8794312542
https://github.com/llvm/llvm-project/commit/4c2a46f5fe2eaa41f851ff4ca37dcc8794312542
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
R lld/test/COFF/Inputs/start-lib1.ll
R lld/test/COFF/Inputs/start-lib2.ll
M lld/test/COFF/start-lib.ll
Log Message:
-----------
[lld/COFF] Make test/COFF/start-lib.ll use split-file
The two input files were only used by this one test, so put them inline.
No behavior change.
Commit: de2acda3dfafc1fb81b1eba1a326272f704e62e6
https://github.com/llvm/llvm-project/commit/de2acda3dfafc1fb81b1eba1a326272f704e62e6
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] support more VOP3 inst in true16/fake16 format (#113603)
Support true16 and fake16 format for more VOP3 instructions in MC
This patch updates the true16 and fake16 vop_profile for the following
instructions and update the asm/dasm tests:
v_mad_u16
v_mad_i16
v_med3_f16
v_med3_i16
v_med3_u16
v_max3_f16
v_max3_i16
v_max3_u16
v_min3_f16
v_min3_i16
v_min3_u16
v_med3_num_f16
Commit: ad32576cffc88bf7c359a528afbed7c2ae7ddb2d
https://github.com/llvm/llvm-project/commit/ad32576cffc88bf7c359a528afbed7c2ae7ddb2d
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
M llvm/test/tools/llvm-dwarfdump/X86/verify_parent_zero_length.yaml
M llvm/test/tools/llvm-dwarfutil/ELF/X86/verify.test
Log Message:
-----------
[DWARFVerifier] Allow overlapping ranges for ICF-merged functions (#117952)
This patch modifies the DWARF verifier to handle a valid case where two
or more functions have identical address ranges due to being merged by
ICF (Identical Code Folding). Previously, the verifier would incorrectly
report these as errors, but functions merged via ICF (such as when using
LLD's --keep-icf-stabs option) can legitimately share the same address
range.
A new test case has been added to verify this behavior using YAML-based
DWARF data that simulates two DW_TAG_subprogram entries with identical
address ranges. The test ensures that the verifier correctly identifies
this as a valid case and doesn't emit any errors, while still
maintaining the existing verification for truly invalid overlapping
ranges in other scenarios. Before this change, the newly added test case
would have failed, with `llvm-dwarfdump` marking the overlapping address
ranges in the DWARF as an error.
We also modify the existing tests `llvm-dwarfutil/ELF/X86/verify.test` and
`llvm/test/tools/llvm-dwarfdump/X86/verify_parent_zero_length.yaml`
which rely on the existence of the error that we're trying to
suppress. We slightly change one offset so that the ranges don't
perfectly overlap and an error is still generated.
Commit: 56cb55429199435a78f6e836f52cf41577406e90
https://github.com/llvm/llvm-project/commit/56cb55429199435a78f6e836f52cf41577406e90
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
Log Message:
-----------
[NFC] Updating Debug Info generation for 'this' (#119445)
This is PR is updating the debug info generation for `this`. This is
required to fix the generation of debug information for HLSL RWBuffer
type. This was required from another PR:
https://github.com/llvm/llvm-project/pull/119041/files
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: 83643ddf2f53d269f2350510c11a02704b333393
https://github.com/llvm/llvm-project/commit/83643ddf2f53d269f2350510c11a02704b333393
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lldb/include/lldb/Expression/DWARFExpression.h
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb] Improve error reporting in GetLocation_DW_OP_addr (#120162)
Instead of simply raising an error flag, use an llvm::Expected to
propagate a meaningful error to the caller, who can report it.
rdar://139705570
Commit: e5521fae944c1f3f6905ce5902819a5c9be7f802
https://github.com/llvm/llvm-project/commit/e5521fae944c1f3f6905ce5902819a5c9be7f802
Author: Malte Dehling <mdehling at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
[mlir-tblgen] Fix bug in emitEnumDoc (#118131)
Fixes a crash (assertion failure) in `mlir-tblgen -emit-enum-doc` caused
by calling `EnumAttr()` for the wrong type of `Record *`: `EnumAttr`
rather than `EnumAttrInfo` as asserted.
Compare the corresponding line in `emitDialectDoc()`:
https://github.com/llvm/llvm-project/blob/0ad6be1927f89cef09aa5d0fb244873f687997c9/mlir/tools/mlir-tblgen/OpDocGen.cpp#L532
Co-authored-by: Malte Dehling <m.dehling at samsung.com>
Commit: ec636cf3c5048039bd3c52b1ebdb66dabcd273fe
https://github.com/llvm/llvm-project/commit/ec636cf3c5048039bd3c52b1ebdb66dabcd273fe
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-split/target-specific-split.ll
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[llvm-split][nfc] Harmonize help and error message (#120062)
Somme error / help message refer to options with a single dash while
help refer to options with a double dash.
Commit: c9a5a6d18bd71b203798b9188f565bdf173ad91b
https://github.com/llvm/llvm-project/commit/c9a5a6d18bd71b203798b9188f565bdf173ad91b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/InputFiles.h
Log Message:
-----------
[lld/COFF] Remove unused InputFile::LazyObjectKind
Its use was removed in d496abbe2a037. No behavior change.
Commit: 0e11e194167ff4e4959f0b908b9de5d3f5f801f5
https://github.com/llvm/llvm-project/commit/0e11e194167ff4e4959f0b908b9de5d3f5f801f5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
Log Message:
-----------
[SLP][NFC]Remove undef and update tests
Commit: b2c363e2616dc6ac6ee76c223d84ec512e118d5d
https://github.com/llvm/llvm-project/commit/b2c363e2616dc6ac6ee76c223d84ec512e118d5d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/generic11.f90
Log Message:
-----------
[flang] Fix generic resolution with actual/dummy procedure incompatib… (#120105)
…ility
We generally allow any legal procedure pointer target as an actual
argument for association with a dummy procedure, since many actual
procedures are underspecified EXTERNALs. But for proper generic
resolution, it is necessary to disallow incompatible functions with
explicit result types.
Fixes https://github.com/llvm/llvm-project/issues/119151.
Commit: a957cedea9657addbe8b860852cc98306aa437e7
https://github.com/llvm/llvm-project/commit/a957cedea9657addbe8b860852cc98306aa437e7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/expr-parsers.cpp
M flang/lib/Parser/type-parsers.h
A flang/test/Parser/lit-substr-data.f90
Log Message:
-----------
[flang] Handle substring in data statement constant (#120130)
The case of a constant substring wasn't handled in the parser for data
statement constants.
Fixes https://github.com/llvm/llvm-project/issues/119005.
Commit: 0b91d77bf4e4ff65ebeed90acd141018d9889e0f
https://github.com/llvm/llvm-project/commit/0b91d77bf4e4ff65ebeed90acd141018d9889e0f
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/include/__llvm-libc-common.h
Log Message:
-----------
[libc] Use __attribute__((__nothrow__)) for __NOEXCEPT in C (#114653)
Consistent with glibc headers, where `noexcept` is used in C++
(or `throw()` in older C++ which llvm-libc doesn't support) in
the public function declarations, `__attribute__((__nothrow__))` is
used in C for compilers that support it.
Commit: 16ef239520d7bca2002346fe2b4003947ad21ecc
https://github.com/llvm/llvm-project/commit/16ef239520d7bca2002346fe2b4003947ad21ecc
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.h
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
A lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)
Commit: e8ce6c4e69745b1b2cd6f7479c48fbae44622cb3
https://github.com/llvm/llvm-project/commit/e8ce6c4e69745b1b2cd6f7479c48fbae44622cb3
Author: Philipp van Kempen <phvankempen at googlemail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Fix typo in CV_SH_rr_inc pattern (#120246)
This typo in
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td#L701:L701
caused a compiler crash in 'RISC-V Assembly Printer' because
CV_SH_ri_inc was selected, leading to `getImmOpValue` being called for a
register operand.
This bug did not affect the Assembler output and therefore does not
trigger any existing unit tests, but is visible by examining the final
MIR function.
Commit: c98e79d85663d6a5a5fcd6475b662a750fcf4b8e
https://github.com/llvm/llvm-project/commit/c98e79d85663d6a5a5fcd6475b662a750fcf4b8e
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/complex.rst
M libc/hdrgen/yaml/complex.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/complex_type.h
M libc/src/complex/CMakeLists.txt
M libc/src/complex/conjf128.h
M libc/src/complex/conjf16.h
A libc/src/complex/cproj.h
A libc/src/complex/cprojf.h
A libc/src/complex/cprojf128.h
A libc/src/complex/cprojf16.h
A libc/src/complex/cprojl.h
M libc/src/complex/generic/CMakeLists.txt
M libc/src/complex/generic/conj.cpp
M libc/src/complex/generic/conjf.cpp
M libc/src/complex/generic/conjf128.cpp
M libc/src/complex/generic/conjf16.cpp
M libc/src/complex/generic/conjl.cpp
A libc/src/complex/generic/cproj.cpp
A libc/src/complex/generic/cprojf.cpp
A libc/src/complex/generic/cprojf128.cpp
A libc/src/complex/generic/cprojf16.cpp
A libc/src/complex/generic/cprojl.cpp
M libc/test/src/complex/CMakeLists.txt
A libc/test/src/complex/CprojTest.h
A libc/test/src/complex/cproj_test.cpp
A libc/test/src/complex/cprojf128_test.cpp
A libc/test/src/complex/cprojf16_test.cpp
A libc/test/src/complex/cprojf_test.cpp
A libc/test/src/complex/cprojl_test.cpp
Log Message:
-----------
[libc][complex] Implement different flavors of the `cproj` function (#119722)
Refer section 7.3.9.5 of ISO/IEC 9899:2023
Commit: 2a0091fb4abb5f89198d7e9c039da01921e2b7ee
https://github.com/llvm/llvm-project/commit/2a0091fb4abb5f89198d7e9c039da01921e2b7ee
Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/test/Format/lit.local.cfg
Log Message:
-----------
[AIX] fix unsupported diff flag on AIX (-strip-trailing-cr) (#120276)
https://github.com/llvm/llvm-project/pull/119666 adds the
`-strip-trailing-cr` flag to diff which is not supported on AIX switch
to use the python implementation of diff instead
Commit: 4ad0fdd1631eeae432714c03ede01a10dc00025d
https://github.com/llvm/llvm-project/commit/4ad0fdd1631eeae432714c03ede01a10dc00025d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/pr56319-vector-exit-cond-optimization-epilogue-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-3.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr37248.ll
M llvm/test/Transforms/LoopVectorize/pr45259.ll
M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
M llvm/test/Transforms/LoopVectorize/pr50686.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
Log Message:
-----------
[VPlan] Remove reverse() of predecessors from VPInstruction::generate.
This was originally done to reduce the diff for the change. Remove it
and update the remaining tests. NFC modulo reordering of incoming
values.
Clean up after https://github.com/llvm/llvm-project/pull/114292.
Commit: 984cb791db347689c4df222e85069ac58929d5ed
https://github.com/llvm/llvm-project/commit/984cb791db347689c4df222e85069ac58929d5ed
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
[RISCV] Use vmv.v.x to materialize masks in deinterleave2 lowering (#118500)
This is a follow up to 2af2634 to use vmv.v.x of i8 constants instead of
the prior vid/vand/vmsne sequence. The advantage of the vmv.v.x sequence
is that it's always m1 (so cheaper at high LMUL), and can be
rematerialized by the register allocator if needed to locally reduce
register pressure.
Commit: d7d0e740cc170d471e080fd5bb09633870272073
https://github.com/llvm/llvm-project/commit/d7d0e740cc170d471e080fd5bb09633870272073
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/test/Transforms/PGOProfile/memprof_loop_unroll.ll
Log Message:
-----------
[MemProf] Refactor single alloc type handling and use in more cases (#120290)
Emit message when we have aliased contexts that are conservatively
hinted not cold. This is not a change in behavior, just in message when
the -memprof-report-hinted-sizes flag is enabled.
Commit: bbeafe4b94bb3db89b579d8a6fd914cc96b0af06
https://github.com/llvm/llvm-project/commit/bbeafe4b94bb3db89b579d8a6fd914cc96b0af06
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Apply implict data attribute to local arrays (#120293)
Add the implicit data attribute to local arrays that don't have one.
This simplifies the host array detection in semantic.
Commit: 48c20e7106bb15398b55a13d0a2ec74cb51d055e
https://github.com/llvm/llvm-project/commit/48c20e7106bb15398b55a13d0a2ec74cb51d055e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Do not optimize VL when isVectorOpUsedAsScalarOp (#120291)
This does not have tests, so we will remove this for now and add it back
later with tests.
Commit: 7f2fb8061e97ff21caa04b9c44cac2f599202232
https://github.com/llvm/llvm-project/commit/7f2fb8061e97ff21caa04b9c44cac2f599202232
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Don't use Frame::hash or hashCallStacks in unit test (#119984)
This patch checks the result of YAML parsing at the level of
MemProfRecord instead of IndexedMemProfRecord, thereby avoiding use of
Frame::hash and hashCallStacks. This makes sense because we
ultimately care about consumers like MemProfiler.cpp obtaining
MemProfRecord correctly; IndexedMemProfData and hash values are just
intermediaries.
Once this patch lands, we call Frame::hash and hashCallStacks only
when adding Frames or call stacks to their respective data structures.
In other words, the hash functions are pretty much business internal
to IndexedMemProfRecord.
Commit: b0fbddde381616d1f0e82899b0fc8c3cf7072c4d
https://github.com/llvm/llvm-project/commit/b0fbddde381616d1f0e82899b0fc8c3cf7072c4d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M offload/DeviceRTL/src/Misc.cpp
Log Message:
-----------
[OpenMP] Only put `retain` for NVPTX so it can be optimized out for AMD
Summary:
This is a hack that only NVPTX needs.
Commit: 169c32eb49fa9b559d388b9b8f4374ff9e1be9be
https://github.com/llvm/llvm-project/commit/169c32eb49fa9b559d388b9b8f4374ff9e1be9be
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.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-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-vp.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV][VLOPT] Enable the RISCVVLOptimizer by default (#119461)
Now that we have testing of all instructions in the isSupportedInstr
switch, and better coverage of getOperandInfo, I think it is a good time
to enable this by default.
Commit: cde996c31d6fb6ae1bbbc79aa71dff2b7fc0a8ae
https://github.com/llvm/llvm-project/commit/cde996c31d6fb6ae1bbbc79aa71dff2b7fc0a8ae
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M lld/COFF/SymbolTable.cpp
Log Message:
-----------
[lld/COFF] Remove needless indirection
`symtab.ctx.symtab` is just `symtab`. Looks like #119296 added
this using a global find-and-replace.
This was the only instance of `symtab.ctx.symtab` in lld/.
No behavior change.
Commit: 1d06157b9ea4bc76eff0ae670e8d3411eaaa6e42
https://github.com/llvm/llvm-project/commit/1d06157b9ea4bc76eff0ae670e8d3411eaaa6e42
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/test/include/stdbit_stub.h
Log Message:
-----------
[libc] fix -Wgcc-compat (#120303)
I don't quite recall why I added those in the first place. These tests build
without diagnostics for both clang and GCC with this fix.
Fixes: #114653
Commit: 958de20b30e73d898cf538435da5bab42ffd4987
https://github.com/llvm/llvm-project/commit/958de20b30e73d898cf538435da5bab42ffd4987
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/src/__support/time/gpu/time_utils.h
M libc/src/time/gpu/nanosleep.cpp
M libc/src/time/gpu/timespec_get.cpp
Log Message:
-----------
[libc] Enable 'timespec_get' for the GPU build (#120304)
Summary:
Currently fails to build libc++ because this is missing.
Commit: eb59fe8d04a594da4ac0cdba2bb2ca828adcf833
https://github.com/llvm/llvm-project/commit/eb59fe8d04a594da4ac0cdba2bb2ca828adcf833
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove redundant assignment in VPReductionPHIRecipe (NFC)
Suggested post-commit for 0e528ac404e13ed2d952a2d83aaf8383293c851e.
Commit: 97b7bace67c4fb7d62892f5bc6d7614a65d0fb3e
https://github.com/llvm/llvm-project/commit/97b7bace67c4fb7d62892f5bc6d7614a65d0fb3e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow host array with PARAMETER attribute in device context (#120298)
Host arrays are normally not allowed in device context unless they have
a `PARAMETER` attribute. This patch update the check so no error is
emitted.
Commit: 15c61a208ffdd0bfe6add667cf9e56df1fdbf16e
https://github.com/llvm/llvm-project/commit/15c61a208ffdd0bfe6add667cf9e56df1fdbf16e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Do not consider SHARED array as host array (#120306)
Update the current `FindHostArray` to not return shared array as host
array.
Commit: 9f231a85004fad080980e80ef881c81d1d5bb60e
https://github.com/llvm/llvm-project/commit/9f231a85004fad080980e80ef881c81d1d5bb60e
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
Log Message:
-----------
[NVPTX] Prefer ValueType when defining DAG patterns (NFC) (#120161)
Replace uses of register class in dag patterns with value types. These
types are much more concise and in cases where a single register class
maps to multiple types, they avoid the need for both.
Commit: 7153a21916fa985dfba604c0edf04a8d3c44b389
https://github.com/llvm/llvm-project/commit/7153a21916fa985dfba604c0edf04a8d3c44b389
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/docs/requirements-hashed.txt
Log Message:
-----------
[libc][docs] update sphinx requirement hashes (#120315)
Link: #120274
Commit: 65d2177ae1d7b891a5bd939aa30f922ceae57da9
https://github.com/llvm/llvm-project/commit/65d2177ae1d7b891a5bd939aa30f922ceae57da9
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DXIL] Simplify MDBuilder in resource unit tests. NFC (#120275)
Commit: c03fc929ffc1ee5439bf547e5f0bf5319c818982
https://github.com/llvm/llvm-project/commit/c03fc929ffc1ee5439bf547e5f0bf5319c818982
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/vector_reduce_add.ll
Log Message:
-----------
[DirectX] Add support for vector_reduce_add (#117646)
Use of `vector_reduce_add` will make it easier to write more intrinsics
in `hlsl_intrinsics.h`.
Commit: 09f449263e6e9b0e7ba9f972f73734b08575b172
https://github.com/llvm/llvm-project/commit/09f449263e6e9b0e7ba9f972f73734b08575b172
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Check for register where immediate should be in RISCVInstrInfo::verifyInstruction. (#120286)
The generic verifier will do this if the operand type is
OPERAND_IMMEDIATE, but we use our own custom operand types. Immediate
operands are still allowed to be globals, constant pools, blockaddress,
etc. so we can't check !isImm().
Commit: bb4007e56274d70ed3a8367eb245bec7d80b9fac
https://github.com/llvm/llvm-project/commit/bb4007e56274d70ed3a8367eb245bec7d80b9fac
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
Log Message:
-----------
[DWARFVerifier] Disable failing test llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h (#120322)
Disabling and forward fixing later.
Commit: 8a62104f642e469e62aa839cc25c31adf2fa5805
https://github.com/llvm/llvm-project/commit/8a62104f642e469e62aa839cc25c31adf2fa5805
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Use hashed dependencies in docs job (#120319)
This patch forces the docs test build job to use the hashed dpendencies
file rather than the normal requirements.txt. This ensures that we get
the exact transitive closure specified rather than whatever the
dependency solver feels like it should use in the CI job.
Commit: 932d9c13faa3de1deca3874d3b864901aa5ec9a5
https://github.com/llvm/llvm-project/commit/932d9c13faa3de1deca3874d3b864901aa5ec9a5
Author: Drew Kersnar <dakersnar at me.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
A llvm/test/CodeGen/NVPTX/load-store-scalars.ll
A llvm/test/CodeGen/NVPTX/load-store-vectors.ll
R llvm/test/CodeGen/NVPTX/load-store.ll
M llvm/test/CodeGen/NVPTX/shuffle-vec-undef-init.ll
M llvm/test/CodeGen/NVPTX/vector-stores.ll
Log Message:
-----------
[NVPTX] Generalize and extend upsizing when lowering 8/16-bit-element vector loads/stores (#119622)
This addresses the following issue I opened:
https://github.com/llvm/llvm-project/issues/118851.
This change generalizes the Type Legalization mechanism that currently
handles `v8[i/f/bf]16` upsizing to include loads _and_ stores of `v8i8`
+ `v16i8`, allowing all of the mentioned vectors to be lowered to ptx as
vectors of `b32`. This extension also allows us to remove the DagCombine
that only handled exactly `load v16i8`, thus centralizing all the
upsizing logic into one place.
Test changes include adding v8i8, v16i8, and v8i16 cases to
load-store.ll, and updating the CHECKs for other tests to match the
improved codegen.
Commit: f3a8f879795fcc515f86793c18b366c8ece1a8db
https://github.com/llvm/llvm-project/commit/f3a8f879795fcc515f86793c18b366c8ece1a8db
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Remove extra ';' outside of a function (NFC)
/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp:224:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
1 error generated.
Commit: a15e7b11da701a5810cc8cd67b393021b0f2ef0c
https://github.com/llvm/llvm-project/commit/a15e7b11da701a5810cc8cd67b393021b0f2ef0c
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Add option to hint allocations at a given cold byte percentage (#120301)
Optionally unconditionally hint allocations as cold or not cold during
the matching step if the percentage of bytes allocated is at least that
of the given threshold.
Commit: f8d9f8ed9524ef01aeedca7833001efabc6cd223
https://github.com/llvm/llvm-project/commit/f8d9f8ed9524ef01aeedca7833001efabc6cd223
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
A clang-tools-extra/test/clang-doc/builtin_types.cpp
Log Message:
-----------
[clang-doc] Add test for functions with builtin return types (#120318)
This is a precommit test for #120308, since we lack non-template
functions that use builtin types.
Commit: 01d7a187a4a80afc77300641ab5a86b271e8343f
https://github.com/llvm/llvm-project/commit/01d7a187a4a80afc77300641ab5a86b271e8343f
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/CMakeLists.txt
Log Message:
-----------
[llvm] Add missing dependency of libLLVMCodeGen on vt_gen
```
llvm-project/llvm/include/llvm/CodeGenTypes/MachineValueType.h:43:10: fatal error: 'llvm/CodeGen/GenVT.inc' file not found
43 | #include "llvm/CodeGen/GenVT.inc"
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
rdar://141643651
Commit: 9d11aa175b74cde774554c71e9d3aaa0fa67f530
https://github.com/llvm/llvm-project/commit/9d11aa175b74cde774554c71e9d3aaa0fa67f530
Author: Drew Kersnar <dkersnar at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
Log Message:
-----------
[NVPTX] Remove extra semicolon (#120336)
Fix bug in this change:
https://github.com/llvm/llvm-project/pull/119622#issuecomment-2549896245
Commit: c48d45e6a3bcc03ecc233499c6ba9d04e07ec68a
https://github.com/llvm/llvm-project/commit/c48d45e6a3bcc03ecc233499c6ba9d04e07ec68a
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
Log Message:
-----------
[sanitizer] Refactor -f(no-)?sanitize-recover parsing (#119819)
This moves the -f(no-)?sanitize-recover parsing into a generic
parseSanitizerArgs function, and then applies it to parse
-f(no-)?sanitize-recover and -f(no-)?sanitize-trap.
N.B. parseSanitizeTrapArgs does *not* remove non-TrappingSupported
arguments. This maintains the legacy behavior of '-fsanitize=undefined
-fsanitize-trap=undefined' (clang/test/Driver/fsanitize.c), which is
that vptr is not enabled at all (not even in recover mode) in order to
avoid the need for a ubsan runtime.
Commit: d7fe2cf8a2854f05812b87faf3ce0da296fc5fe1
https://github.com/llvm/llvm-project/commit/d7fe2cf8a2854f05812b87faf3ce0da296fc5fe1
Author: tianleliu <tianle.l.liu at intel.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/minmax-fold.ll
Log Message:
-----------
[InstCombine] Widen Sel width after Cmp to generate Max/Min intrinsics. (#118932)
When Sel(Cmp) are in different integer type,
From: (K and N mean width, K < N; a and b are src operands.)
bN = Ext(bK)
cond = Cmp(aN, bN)
aK = Trunc aN
retK = Sel(cond, aK, bK)
To:
bN = Ext(bK)
cond = Cmp(aN, bN)
retN = Sel(cond, aN, bN)
retK = Trunc retN
Though Sel's operands width becomes larger, the benefit
of making type width in Sel the same as Cmp, is for combing
to max/min intrinsics, and also better performance for SIMD
instructions.
References of correctness: https://alive2.llvm.org/ce/z/Y4Kegm
https://alive2.llvm.org/ce/z/qFtjtR
Reference of generated code comparision:
https://gcc.godbolt.org/z/o97svGvYM
https://gcc.godbolt.org/z/59Ynj91ov
Commit: 81333cfc5224de3bbfcba5b7306d5910fb332804
https://github.com/llvm/llvm-project/commit/81333cfc5224de3bbfcba5b7306d5910fb332804
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Relax host array check for cuda constant (#120333)
Array with CONSTANT attribute declared in module spec part are device
arrays and should not trigger the host array check.
Commit: 5c5a769cc0ccc6634a09273289e6d79da109c842
https://github.com/llvm/llvm-project/commit/5c5a769cc0ccc6634a09273289e6d79da109c842
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] update VOP1 dasm test with latest script (#120281)
This is a NFC. Update VOP1 dasm test with latest update script
Commit: fb33268d2f7888f8e083dfa01e81d145748e9ad0
https://github.com/llvm/llvm-project/commit/fb33268d2f7888f8e083dfa01e81d145748e9ad0
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector-shuffle.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for VID and VIOTA (#120331)
We already cover vid in `llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir`
so no need to add tests for that instruction.
Commit: b24caf3d2b91ad8b2b29d70fb69fce3c5347b9f4
https://github.com/llvm/llvm-project/commit/b24caf3d2b91ad8b2b29d70fb69fce3c5347b9f4
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
A llvm/test/TableGen/initialized.td
Log Message:
-----------
[llvm][TableGen] Add a !initialized predicate to allow testing for ? (#117964)
There are cases (like in an upcoming patch to MLIR's `Property` class)
where the ? value is a useful null value. However, existing predicates
make ti difficult to test if the value in a record one is operating is ?
or not.
This commit adds the !initialized predicate, which is 1 on concrete,
non-? values and 0 on ?.
---------
Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>
Commit: 4a7f60d328dda709601e19678025f47f2e0a865b
https://github.com/llvm/llvm-project/commit/4a7f60d328dda709601e19678025f47f2e0a865b
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
Log Message:
-----------
[VPlan] Handle VPWidenCastRecipe without underlying value in EVL transform (#120194)
This fixes a crash that shows up when building SPEC CPU 2017 with EVL
tail folding on RISC-V.
A VPWidenCastRecipe doesn't always have an underlying value, and in the
case of this crash this happens whenever a widened cast is created via
truncateToMinimalBitwidths.
Fix this by just using the opcode stored in the recipe itself.
I think a similar issue exists with VPWidenIntrinsicRecipe and how it's
widened, but I haven't run into any crashes with it just yet.
Commit: c2a879ecaa71cdff35b10bd656f6781e808bdec8
https://github.com/llvm/llvm-project/commit/c2a879ecaa71cdff35b10bd656f6781e808bdec8
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
Log Message:
-----------
[VPlan] Fix VPTypeAnalysis cache clobbering in EVL transform (#120252)
When building SPEC CPU 2017 with RISC-V and EVL tail folding, this
assertion in VPTypeAnalysis would trigger during the transformation to
EVL recipes:
https://github.com/llvm/llvm-project/blob/d8a0709b1090350a7fe3604d8ab78c7d62f10698/llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp#L135-L142
It was caused by this recipe:
```
WIDEN ir<%shr> = vp.or ir<%add33>, ir<0>, vp<%6>
```
Having its type inferred as i16, when ir<%add33> and ir<0> had inferred
types of i32 somehow.
The cause of this turned out to be because the VPTypeAnalysis cache was
getting clobbered: In this transform we were erasing recipes but keeping
around the same mapping from VPValue* to Type*. In the meantime, new
recipes would be created which would have the same address as the old
value. They would then incorrectly get the old erased VPValue*'s cached
type:
```
--- before ---
0x600001ec5030: WIDEN ir<%mul21.neg> = vp.mul vp<%11>, ir<0>, vp<%6>
0x600001ec5450: <badref> <- some value that was erased
--- after ---
0x600001ec5030: WIDEN ir<%mul21.neg> = vp.mul vp<%11>, ir<0>, vp<%6>
0x600001ec5450: WIDEN ir<%shr> = vp.or ir<%add33>, ir<0>, vp<%6> <- a new value that happens to have the same address
```
This fixes this by deferring the erasing of recipes till after the
transformation.
The test case might be a bit flakey since it just happens to have the
right conditions to recreate this. I tried to add an assert in
inferScalarType that every VPValue in the cache was valid, but couldn't
find a way of telling if a VPValue had been erased.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 6d34cfac53b993a6cdf3d6669e017eac3a2296c8
https://github.com/llvm/llvm-project/commit/6d34cfac53b993a6cdf3d6669e017eac3a2296c8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/tautological-pointer-comparison.c
Log Message:
-----------
[Sema] Diagnose tautological bounds checks (#120222)
This diagnoses comparisons like `ptr + unsigned_index < ptr` and `ptr +
unsigned_index >= ptr`, which are always false/true because addition of
a pointer and an unsigned index cannot wrap (or the behavior is
undefined).
This warning is intended to help find broken bounds checks (which must
be implemented in terms of uintptr_t instead).
Fixes https://github.com/llvm/llvm-project/issues/120214.
Commit: f8b497ef611ba622970aae26d5e7afc13e92a3d4
https://github.com/llvm/llvm-project/commit/f8b497ef611ba622970aae26d5e7afc13e92a3d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt] Work around a warning from -Wgnu-anonymous-struct (#120314)
This patch works around:
compiler-rt/lib/tysan/../sanitizer_common/sanitizer_platform_limits_posix.h:604:3:
error: anonymous structs are a GNU extension
[-Werror,-Wgnu-anonymous-struct]
Commit: b1f4a0201ae679c431654ee156191bb11b8d483a
https://github.com/llvm/llvm-project/commit/b1f4a0201ae679c431654ee156191bb11b8d483a
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
Log Message:
-----------
[LV] Update failing test with middle block. NFC
Commit: c189b2a1ece2804829350700bec568398550c49d
https://github.com/llvm/llvm-project/commit/c189b2a1ece2804829350700bec568398550c49d
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
Log Message:
-----------
[DiagnosticInfo] Fix the default DiagnosticSeverity (#120342)
After
https://github.com/llvm/llvm-project/commit/ea632e1b34e1
the API call to LLVMContext->emitError(I, Errorstr) default to warning
instead of error.
This cause problems as the API mentioned it is "prefixed with error:".
Commit: 1a70420ff3b972b3d9bbc1c4d1e98bfa12bfb73a
https://github.com/llvm/llvm-project/commit/1a70420ff3b972b3d9bbc1c4d1e98bfa12bfb73a
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/Pass/PassOptions.h
M mlir/lib/Pass/PassRegistry.cpp
M mlir/test/Pass/pipeline-options-parsing.mlir
Log Message:
-----------
[mlir] Attempt to resolve edge cases in PassPipeline textual format (#118877)
This commit makes the following changes:
1. Previously certain pipeline options could cause the options parser to
get stuck in an an infinite loop. An example is:
```
mlir-opt %s -verify-each=false
-pass-pipeline='builtin.module(func.func(test-options-super-pass{list={list=1,2},{list=3,4}}))''
```
In this example, the 'list' option of the `test-options-super-pass`
is itself a pass options specification (this capability was added in
https://github.com/llvm/llvm-project/issues/101118).
However, while the textual format allows `ListOption<int>` to be given
as `list=1,2,3`, it did not allow the same format for
`ListOption<T>` when T is a subclass of `PassOptions` without extra
enclosing `{....}`. Lack of enclosing `{...}` would cause the infinite
looping in the parser.
This change resolves the parser bug and also allows omitting the
outer `{...}` for `ListOption`-of-options.
2. Previously, if you specified a default list value for your
`ListOption`, e.g. `ListOption<int> opt{*this, "list",
llvm::cl::list_init({1,2,3})}`,
it would be impossible to override that default value of `{1,2,3}` with
an *empty* list on the command line, since `my-pass{list=}` was not
allowed.
This was not allowed because of ambiguous handling of lists-of-strings
(no literal marker is currently required).
This change makes it explicit in the ListOption construction that we
would like to treat all ListOption as having a default value of "empty"
unless otherwise specified (e.g. using `llvm::list_init`).
It removes the requirement that lists are not printed if empty. Instead,
lists are not printed if they do not have their default value.
It is now clarified that the textual format
`my-pass{string-list=""}` or `my-pass{string-list={}}`
is interpreted as "empty list". This makes it imposssible to specify
that ListOption `string-list` should be a size-1 list containing the
empty string. However, `my-pass{string-list={"",""}}` *does* specify
a size-2 list containing the empty string. This behavior seems
preferable
to allow for overriding non-empty defaults as described above.
Commit: db09014a0747931026e31f40c4f541d110a5298c
https://github.com/llvm/llvm-project/commit/db09014a0747931026e31f40c4f541d110a5298c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A flang/include/flang/Lower/DirectivesCommon.h
M flang/lib/Lower/Bridge.cpp
R flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
A offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
A offload/test/offloading/fortran/implicit-record-field-mapping.f90
Log Message:
-----------
[flang][OpenMP] Implicitly map allocatable record fields (#117867)
This is a starting PR to implicitly map allocatable record fields.
This PR contains the following changes:
1. Re-purposes some of the utils used in `Lower/OpenMP.cpp` so that
these utils work on the `mlir::Value` level rather than the
`semantics::Symbol` level. This takes one step towards to enabling
MLIR passes to more easily do some lowering themselves (e.g. creating
`omp.map.bounds` ops for implicitely caputured data like this PR
does).
2. Adds support for implicitely capturing and mapping allocatable fields
in record types.
There is quite some distant to still cover to have full support for
this. I added a number of todos to guide further development.
Co-authored-by: Andrew Gozillon <andrew.gozillon at amd.com>
Co-authored-by: Andrew Gozillon <andrew.gozillon at amd.com>
Commit: 644643a4ee931ce24c27702851a93160cf0f1248
https://github.com/llvm/llvm-project/commit/644643a4ee931ce24c27702851a93160cf0f1248
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[mlir] Add `Operation::dumpPrettyPrinted` (#120117)
- [x] Add `Operation::dumpPrettyPrinted` to get more readable print
during debugging when the IR may not be able to pass verify yet.
Commit: a61eeaa7486178a6887e0efc843559d8a35bf4af
https://github.com/llvm/llvm-project/commit/a61eeaa7486178a6887e0efc843559d8a35bf4af
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
M llvm/test/CodeGen/RISCV/rvv/pr63459.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
Log Message:
-----------
[RISCV][VLOPT] Add vector indexed loads and stores to getOperandInfo (#119748)
Use `MO.getOperandNo() == 0` instead of `IsMODef` so naming is clear for the store, since the store should treat its operand 0 like that even though it is not a def.The load should treat its operand 0 def in the same way.
Commit: 6fbfbd7c88612b7f2ddf2815d72e0e35c48ed5a6
https://github.com/llvm/llvm-project/commit/6fbfbd7c88612b7f2ddf2815d72e0e35c48ed5a6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/docs/RISCV/RISCVVectorExtension.rst
Log Message:
-----------
[RISCV] Add some additional notes about mask pseudo instructions to RISCVVectorExtension.rst. NFC (#120337)
Commit: 9fa517208fbf4d007694d5f2ba754356a40467e2
https://github.com/llvm/llvm-project/commit/9fa517208fbf4d007694d5f2ba754356a40467e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
Log Message:
-----------
[RISCV] Use inheritance to simplify usage of the UnsupportedSched* multiclasses. NFC (#120329)
Split UnsupportedSchedZfhmin from UnsupportedSchedZfh.
UnsupportedSchedZfhmin inherits from UnsupportedSchedZfh and should be
used when no F16 is supported. UnsupportedSchedZfh can be used direclty
for CPUs that support Zfhmin but not Zfh.
Make UnsupportedSchedF inherit from both UnsupportedSchedD and
UnsupportedSchedZfhmin so that CPUs with no FP only need to include
UnsupportedSchedF. This required some minor refactorings to
RISCVSchedSyntacoreSCR345.td. I've also switched to inheritance instead of
using defm.
Commit: efc36715006b0a918bc8c6d7cdde0e843eb9f5c2
https://github.com/llvm/llvm-project/commit/efc36715006b0a918bc8c6d7cdde0e843eb9f5c2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/MC/X86/avx512gfni-att.s
M llvm/test/MC/X86/avx512vl_gfni-att.s
Log Message:
-----------
[X86] Correct the cdisp8 encoding for VGF2P8AFFINEINVQB and VGF2P8AFFINEQB. (#120340)
These instructions use a 64-bit broadcast size so the element size for
CD8 should be 64.
Commit: dc936f3c199374056d3aaf3a0434b9efd807fc6c
https://github.com/llvm/llvm-project/commit/dc936f3c199374056d3aaf3a0434b9efd807fc6c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
R flang/include/flang/Lower/DirectivesCommon.h
M flang/lib/Lower/Bridge.cpp
A flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
R flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
R offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
R offload/test/offloading/fortran/implicit-record-field-mapping.f90
Log Message:
-----------
Revert "[flang][OpenMP] Implicitly map allocatable record fields (#117867)" (#120360)
Commit: 55e87a79b9c3e0cb80503a4b6eec0fab404b2966
https://github.com/llvm/llvm-project/commit/55e87a79b9c3e0cb80503a4b6eec0fab404b2966
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
A llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[BoundsChecking] Add parameters to pass (#119894)
This check is a part of UBSAN, but does not support
verbose output like other UBSAN checks.
This is a step to fix that.
Commit: 4c6e13f64462872196fcb4828e68093c6db1af00
https://github.com/llvm/llvm-project/commit/4c6e13f64462872196fcb4828e68093c6db1af00
Author: David Truby <david.truby at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] Add cmake error if building with clang-cl and MSVC 17.12 (#120114)
Commit: 67c55b1ffc0b09cac66d8b18ada1e876d9312173
https://github.com/llvm/llvm-project/commit/67c55b1ffc0b09cac66d8b18ada1e876d9312173
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/AMDGPU/group-image-instructions.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Log Message:
-----------
[AMDGPU] Make max dwords of memory cluster configurable (#119342)
We find it helpful to increase the value for graphics workload. Make it
configurable so we can experiment with a different value.
Commit: 1ef5b987a464611a60e873650726b5e02fda0feb
https://github.com/llvm/llvm-project/commit/1ef5b987a464611a60e873650726b5e02fda0feb
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/test/ELF/aarch64-got-relocations-pauth.s
Log Message:
-----------
[PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (#113816)
Depends on #114525
Support `R_AARCH64_AUTH_GOT_ADR_PREL_LO21` and `R_AARCH64_AUTH_GOT_LD_PREL19`
GOT-generating relocations. A corresponding `RE_AARCH64_AUTH_GOT_PC` member
of `RelExpr` is added, which is an AUTH-specific variant of `R_GOT_PC`.
Commit: 99c2e3b78210a345afb1b5121f12b0e7bf923543
https://github.com/llvm/llvm-project/commit/99c2e3b78210a345afb1b5121f12b0e7bf923543
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
Log Message:
-----------
[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas (#120063)
For #119822
Commit: b6ad231666fa8be41e2f357f53072238fdb4059e
https://github.com/llvm/llvm-project/commit/b6ad231666fa8be41e2f357f53072238fdb4059e
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
Log Message:
-----------
[MachineSink] Use `RegisterClassInfo::getRegPressureSetLimit` (#119830)
`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.
It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.
Separate from https://github.com/llvm/llvm-project/pull/118787
Commit: d6e8ab1fa6a7a08d77c4c663ee494449b4b88bcd
https://github.com/llvm/llvm-project/commit/d6e8ab1fa6a7a08d77c4c663ee494449b4b88bcd
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
Log Message:
-----------
Revert "[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas" (#120369)
Reverts llvm/llvm-project#120063 due to build-bot failures
Commit: 1235a93fae60bed5814e918dd8608097d9302a59
https://github.com/llvm/llvm-project/commit/1235a93fae60bed5814e918dd8608097d9302a59
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Use `RegisterClassInfo::getRegPressureSetLimit` (#119827)
`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.
It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.
Thus we should use `RegisterClassInfo::getRegPressureSetLimit` and
remove replicated code.
Separate from https://github.com/llvm/llvm-project/pull/118787
Commit: d9f3fae2fbabe0046bfb5888a71cf878830fddc1
https://github.com/llvm/llvm-project/commit/d9f3fae2fbabe0046bfb5888a71cf878830fddc1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
Log Message:
-----------
[RISCV] Add NoStdExtZfa predicates to BuildPairF64Pseudo and SplitF64Pseudo.
The makes the priority of the Zfa patterns of the pseudos explicit.
Previously the priority only worked because instructions with
usesCustomInserter=1 have lower priority.
Commit: 3666de9c8e3bfd3a3b604e0e434341ec49cb3a6d
https://github.com/llvm/llvm-project/commit/3666de9c8e3bfd3a3b604e0e434341ec49cb3a6d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/IR/LLVMContext.cpp
Log Message:
-----------
LLVMContext: Cleanup registration of known bundle IDs (#120359)
Commit: 44aa476aa1468adbbbca79cc77cfb5905f5fd3d6
https://github.com/llvm/llvm-project/commit/44aa476aa1468adbbbca79cc77cfb5905f5fd3d6
Author: David Truby <david.truby at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/Target.cpp
A flang/test/Fir/struct-passing-aarch64-byval.fir
Log Message:
-----------
[flang] AArch64 ABI for BIND(C) VALUE parameters (#118305)
This patch adds handling for derived type VALUE parameters in BIND(C)
functions for AArch64.
Commit: b7a8d9584c787b95ddf6931e915fb643b28f91e1
https://github.com/llvm/llvm-project/commit/b7a8d9584c787b95ddf6931e915fb643b28f91e1
Author: hanbeom <kese111 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
Log Message:
-----------
[VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different (#115209)
insertelt DestVec, (fneg (extractelt SrcVec, Index)), Index
-> shuffle DestVec, (shuffle (fneg SrcVec), poison, SrcMask), Mask
Original combining left the combine between vectors of different lengths as a TODO.
Commit: e532241b021cd48bad303721757c1194bc844775
https://github.com/llvm/llvm-project/commit/e532241b021cd48bad303721757c1194bc844775
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A flang/include/flang/Lower/DirectivesCommon.h
M flang/lib/Lower/Bridge.cpp
R flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
A offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
A offload/test/offloading/fortran/implicit-record-field-mapping.f90
Log Message:
-----------
Re-apply (#117867): [flang][OpenMP] Implicitly map allocatable record fields (#120374)
This re-applies #117867 with a small fix that hopefully prevents build
bot failures. The fix is avoiding `dyn_cast` for the result of
`getOperation()`. Instead we can assign the result to `mlir::ModuleOp`
directly since the type of the operation is known statically (`OpT` in
`OperationPass`).
Commit: d9703501b037b012b887ceade77f6a7c392d0524
https://github.com/llvm/llvm-project/commit/d9703501b037b012b887ceade77f6a7c392d0524
Author: Florian Mayer <fmayer at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[MTE] [NFC] use vector to collect globals to tag (#120283)
The same pattern caused test failures in the HWASan pass, so is brittle.
Let's go for the easier approach.
Commit: ccb66bff3ccbaade2d2bc62985939866edb4f1f7
https://github.com/llvm/llvm-project/commit/ccb66bff3ccbaade2d2bc62985939866edb4f1f7
Author: Peter Smith <peter.smith at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[DOCS] Rename LLVM Security Group to LLVM Security Response Group. (#116986)
Rename LLVM Security Group to LLVM Security Response Group. Take the
opportunity to canonicalise security group and Security Group to LLVM
Security Response Group.
At the 2024-11-19 LLVM Security Group meeting [1] we discussed that in
practice the LLVM Security Group was performing an incident response
role, but it was not proactively adding additional testing, fuzzing and
hardening. We do not want projects that use LLVM to see the LLVM
Security Group as guaranteeing security for LLVM.
We decided that it would be useful to rename the group to LLVM Security
Response Group as that reflects the work that it is doing.
There may be a case for a proactive security group with a different
remit, but this is out of scope of this commit.
[1]
https://discourse.llvm.org/t/llvm-security-group-public-sync-ups/62735/32
Commit: 0e324b3f953d62527690b1cb44d95fcb3ec0512c
https://github.com/llvm/llvm-project/commit/0e324b3f953d62527690b1cb44d95fcb3ec0512c
Author: Peter Smith <peter.smith at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[DOCS] Remove bullet point on improving security over time. (#116980)
Remove the 6th bullet point "Strive to improve security over time, for
example by adding additional testing, fuzzing and hardening after fixing
issues."
At the security group meeting on 2024-11-19 we discussed the role the
security group was performing in practice. We are in effect acting as a
security response group, dealing with issues raised via the process
given in the LLVM Security group page. We are not proactively adding
additional testing fuzzing and hardening. While this could be considered
an aspirational goal, it may give the implication that the LLVM Security
Group is handling or at worst guaranteeing security for the LLVM project
when in practice it is not.
Meeting notes:
https://discourse.llvm.org/t/llvm-security-group-public-sync-ups/62735/32
Commit: 3bcfa1a579e7ab2c7a5051d897c572da05d83fd6
https://github.com/llvm/llvm-project/commit/3bcfa1a579e7ab2c7a5051d897c572da05d83fd6
Author: Nathan Gauër <brioche at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[Github] Add LLVM Premerge Checks to the watchlist (#120230)
LLVM Premerge Checks is running on the new GCP cluster. Tracking its
metrics will allow us to determine the stability of the presubmit and
make sure the new infra is working as intended.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 3ed2a81358e11a582eb5cc3edf711447767036e6
https://github.com/llvm/llvm-project/commit/3ed2a81358e11a582eb5cc3edf711447767036e6
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[SPIR-V] Fix issue #120078 and simplifies parsing of floating point decoration tips in demangled function name (#120128)
This PR fixes https://github.com/llvm/llvm-project/issues/120078 and
improves/simplifies parsing of demangled function name that aims to
detect a tip for floating point decorations. The latter improvement
fixes also a complaint from `LLVM_USE_SANITIZER=Address`.
Commit: 96bb281b636a30f5896c48035cca55807f105a56
https://github.com/llvm/llvm-project/commit/96bb281b636a30f5896c48035cca55807f105a56
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
Log Message:
-----------
[AArch64] Prevent unnecessary truncation in bool vector reduce code generation (#120096)
Prevent unnecessarily truncating results of 128 bit wide vector
comparisons to 64 bit wide vector values in boolean vector reduce
operations.
Commit: 13107cb09441dfeab24fcbcae9f4d3ba4cfc2703
https://github.com/llvm/llvm-project/commit/13107cb09441dfeab24fcbcae9f4d3ba4cfc2703
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
A llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
Log Message:
-----------
[LoopVectorize] Enable more early exit vectorisation tests (#117008)
PR #112138 introduced initial support for dispatching to
multiple exit blocks via split middle blocks. This patch
fixes a few issues so that we can enable more tests to use
the new enable-early-exit-vectorization flag. Fixes are:
1. The code to bail out for any loop live-out values happens
too late. This is because collectUsersInExitBlocks ignores
induction variables, which get dealt with in fixupIVUsers.
I've moved the check much earlier in processLoop by looking
for outside users of loop-defined values.
2. We shouldn't yet be interleaving when vectorising loops
with uncountable early exits, since we've not added support
for this yet.
3. Similarly, we also shouldn't be creating vector epilogues.
4. Similarly, we shouldn't enable tail-folding.
5. The existing implementation doesn't yet support loops
that require scalar epilogues, although I plan to add that
as part of PR #88385.
6. The new split middle blocks weren't being added to the
parent loop.
Commit: 1d4453a6711394b368995c0f761015c1f6d27250
https://github.com/llvm/llvm-project/commit/1d4453a6711394b368995c0f761015c1f6d27250
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
A flang/test/HLFIR/order_assignments/forall-issue120190.fir
Log Message:
-----------
[flang][HLFIR] fix FORALL issue 120190 (#120236)
Fix #120190.
The hlfir.forall lowering code was not properly checking for forall
index reference in mask value computation before trying to hoist it: it
was only looking at the ops directly nested in the hlfir.forall_mask
region, but not the operation indirectly nested. This caused triggered
bogus hoisting in #120190 leading to undefined behavior (reference to
uinitialized data). The added regression test would die at compile time
with a dominance error.
Fix this by doing a deep walk of the region operation instead. Also
clean-up the region cloning to use without_terminator.
Commit: 5fc8062f5d9b0c62bdb3c817182d7275d27f7527
https://github.com/llvm/llvm-project/commit/5fc8062f5d9b0c62bdb3c817182d7275d27f7527
Author: Elizaveta Noskova <159026035+enoskova-sc at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[llvm][RISCV] Set ScalableVector stack id in proper place (#117862)
Without this patch ScalableVector frame index property is used before
assignment. More precisely, let's take a look at
RISCVFrameLowering::assignCalleeSavedSpillSlots. In this function we
divide callee saved registers on scalar and vector ones, based on
ScalableVector property of their frame indexes:
```
...
const auto &UnmanagedCSI = getUnmanagedCSI(*MF, CSI);
const auto &RVVCSI = getRVVCalleeSavedInfo(*MF, CSI);
...
```
But we assign ScalableVector property several lines below:
```
...
auto storeRegToStackSlot = [&](decltype(UnmanagedCSI) CSInfo) {
for (auto &CS : CSInfo) {
// Insert the spill to the stack frame.
Register Reg = CS.getReg();
const TargetRegisterClass *RC = TRI->getMinimalPhysRegClass(Reg);
TII.storeRegToStackSlot(MBB, MI, Reg, !MBB.isLiveIn(Reg),
CS.getFrameIdx(), RC, TRI, Register());
}
};
storeRegToStackSlot(UnmanagedCSI);
...
```
Due to it, list of RVV callee saved registers will always be empty.
Currently this problem doesn't appear, but if you slightly change the
code and, for example, put some instructions between scalar and vector
spills, the resulting code will be ill formed.
Commit: 3e02038948abf60d5c9a600f0a08a2dd9223982a
https://github.com/llvm/llvm-project/commit/3e02038948abf60d5c9a600f0a08a2dd9223982a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
Log Message:
-----------
[LV] Fixup check lines after 13107cb09441.
Commit: 66bdbfbaa08fa3d8e64a7fe136a8fb717f5cdbb7
https://github.com/llvm/llvm-project/commit/66bdbfbaa08fa3d8e64a7fe136a8fb717f5cdbb7
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M lldb/source/Host/posix/MainLoopPosix.cpp
Log Message:
-----------
[lldb][NFC] clang-format MainLoopPosix.cpp
Since AIX support is about to change this.
Commit: db93ef14aef9c572e02bc842762bc4d0278148f9
https://github.com/llvm/llvm-project/commit/db93ef14aef9c572e02bc842762bc4d0278148f9
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Expr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/ms-property.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2813: Class member access with prvalues (#120223)
This is a rebase of #95112 with my own feedback apply as @MitalAshok has
been inactive for a while.
It's fairly important this makes clang 20 as it is a blocker for #107451
---
[CWG2813](https://cplusplus.github.io/CWG/issues/2813.html)
prvalue.member_fn(expression-list) now will not materialize a temporary
for prvalue if member_fn is an explicit object member function, and
prvalue will bind directly to the object parameter.
The E1 in E1.static_member is now a discarded-value expression, so if E1
was a call to a [[nodiscard]] function, there will now be a warning.
This also affects C++98 with [[gnu::warn_unused_result]] functions.
This should not affect C where TemporaryMaterializationConversion is a
no-op.
Closes #100314
Fixes #100341
---------
Co-authored-by: Mital Ashok <mital at mitalashok.co.uk>
Commit: 16c02df8caae7b03fef4bc56759c342e7ff42d8b
https://github.com/llvm/llvm-project/commit/16c02df8caae7b03fef4bc56759c342e7ff42d8b
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[lldb] Add lldb/source/Host/posix/MainLoopPosix.cpp to git blame ignores
Commit: 1ee740a79620aa680f68d873d6a7b5cfa1df7b19
https://github.com/llvm/llvm-project/commit/1ee740a79620aa680f68d873d6a7b5cfa1df7b19
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
A llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/VFABIDemangler.cpp
A llvm/lib/IR/VectorTypeUtils.cpp
M llvm/unittests/IR/CMakeLists.txt
M llvm/unittests/IR/VFABIDemanglerTest.cpp
A llvm/unittests/IR/VectorTypeUtilsTest.cpp
Log Message:
-----------
[VFABI] Add support for vector functions that return struct types (#119000)
This patch updates the `VFABIDemangler` to support vector functions that
return struct types. For example, a vector variant of `sincos` that
returns a vector of sine values and a vector of cosine values within a
struct.
This patch also adds some helpers for vectorizing types (including
struct types). Some of these are used in the `VFABIDemangler`, and
others will be used in subsequent patches, so this patch simply adds
tests for them.
Commit: 0b4ee8d4ee4be78e90fd7c4dc4a8f05e6b1a091e
https://github.com/llvm/llvm-project/commit/0b4ee8d4ee4be78e90fd7c4dc4a8f05e6b1a091e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-bugfix-26264.ll
M llvm/test/CodeGen/X86/avx512-masked-memop-64-32.ll
M llvm/test/CodeGen/X86/pr33349.ll
M llvm/test/CodeGen/X86/pr34177.ll
M llvm/test/CodeGen/X86/vec_smulo.ll
M llvm/test/CodeGen/X86/vec_umulo.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
Log Message:
-----------
[X86] combineKSHIFT - fold kshiftr(kshiftr/extract_subvector(X,C1),C2) --> kshiftr(X,C1+C2) (#115528)
Merge serial KSHIFTR nodes, possibly separated by EXTRACT_SUBVECTOR, to allow mask instructions to be computed in parallel.
Commit: 31239540b09bf5315b3a795160cf47d4c4edcd4e
https://github.com/llvm/llvm-project/commit/31239540b09bf5315b3a795160cf47d4c4edcd4e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 1ee740a79620
Commit: 7e49ada9a3c0f8228c79de7f65d3255916087bb0
https://github.com/llvm/llvm-project/commit/7e49ada9a3c0f8228c79de7f65d3255916087bb0
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github/CODEOWNERS] Add yota9 as BOLT reviewer
Commit: f8d270474c14c6705c77971494505dbe4b6d55ae
https://github.com/llvm/llvm-project/commit/f8d270474c14c6705c77971494505dbe4b6d55ae
Author: Vladi Krapp <vladi.krapp at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/ARM/lob-unroll.ll
Log Message:
-----------
[ARM] Reduce loop unroll when low overhead branching is available (#120065)
For processors with low overhead branching (LOB), runtime unrolling the
innermost loop is often detrimental to performance. In these cases the
loop remainder gets unrolled into a series of compare-and-jump blocks,
which in deeply nested loops get executed multiple times, negating the
benefits of LOB.
This is particularly noticable when the loop trip count of the innermost
loop varies within the outer loop, such as in the case of triangular
matrix decompositions.
In these cases we will prefer to not unroll the innermost loop, with the
intention for it to be executed as a low overhead loop.
Commit: b3eede5e1fa7ab742b86e9be22db7bccd2505b8a
https://github.com/llvm/llvm-project/commit/b3eede5e1fa7ab742b86e9be22db7bccd2505b8a
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
Log Message:
-----------
Add support for single reductions in ComplexDeinterleavingPass (#112875)
The Complex Deinterleaving pass assumes that all values emitted will
result in complex numbers, this patch aims to remove that assumption and
adds support for emitting just the real or imaginary components, not
both.
Commit: 9daf10ff8f29ba3a88a105aaa9d2379c21b77d35
https://github.com/llvm/llvm-project/commit/9daf10ff8f29ba3a88a105aaa9d2379c21b77d35
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/CXX/temp/temp.res/p4.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
Log Message:
-----------
Reland [Clang] skip default argument instantiation for non-defining friend declarations to meet [dcl.fct.default] p4 (#115487)
This fixes a crash when instantiating default arguments for templated
friend function declarations which lack a definition.
There are implementation limits which prevents us from finding the
pattern for such functions, and this causes difficulties
setting up the instantiation scope for the function parameters.
This patch skips instantiating the default argument in these cases,
which causes a minor regression in error recovery, but otherwise avoids
the crash.
The previous attempt #113777 accidentally skipped all default argument
constructions, causing some regressions. This patch resolves that by
moving the guard to InstantiateDefaultArgument() where the handling of
templates takes place.
Fixes https://github.com/llvm/llvm-project/issues/113324
Commit: 414c462a839edbcbed217b8d695e71f2ede7f952
https://github.com/llvm/llvm-project/commit/414c462a839edbcbed217b8d695e71f2ede7f952
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
Log Message:
-----------
[AMDGPU] Modify Dyn Alloca test to account for Machine-Verifier bug (#120393)
Machine-Verifier crashes in kernel functions,
but fails gracefully in device functions.
This is due to the buffer resource descriptor selected
during G-ISEL, before the fallback path.
Device functions use `$sgpr0_sgpr1_sgpr2_sgpr3`.
while Kernel functions select `$private_rsrc_reg`
where machine-verifier complains:
`$private_rsrc_reg is not a SReg_128 register.`
Modifying test case to capture both behaviors, this is related to
https://github.com/llvm/llvm-project/pull/120063
Commit: 222dd235ffc39b3695a3c002593097bec216a8fa
https://github.com/llvm/llvm-project/commit/222dd235ffc39b3695a3c002593097bec216a8fa
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-const-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-static-cast-downcast.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
Log Message:
-----------
[clang-tidy] use local config (#120004)
follow up patch for #119948.
Commit: 41c1992a16997229469aa08bc195919e96d18211
https://github.com/llvm/llvm-project/commit/41c1992a16997229469aa08bc195919e96d18211
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll
Log Message:
-----------
[NVPTX] fix nvcl-param-align.ll
fix for f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d
Commit: 7384d8bc18535286a24b4422f6661109d127e8fd
https://github.com/llvm/llvm-project/commit/7384d8bc18535286a24b4422f6661109d127e8fd
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
Log Message:
-----------
SourceCoverageViewHTML.cpp: Reformat JS
Commit: 5a5838fba37153adb7885c897131dda09227eb2d
https://github.com/llvm/llvm-project/commit/5a5838fba37153adb7885c897131dda09227eb2d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
Log Message:
-----------
Introduce CounterMappingRegion::isBranch(). NFC.
Commit: a9df1f6cb0dcdd808abc25f7fa1555e9e0ec6a9f
https://github.com/llvm/llvm-project/commit/a9df1f6cb0dcdd808abc25f7fa1555e9e0ec6a9f
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
Log Message:
-----------
llvm-cov: Refactor SourceCoverageView::renderBranchView().
NFC except for calculating `Total`. I've replaced
`(uint64_t)+(uint64_t)` with `(double)+(double)`.
This is still inexact with large numbers `(1LL << 53)` but will be expected to prevent possible overflow.
Commit: 95eb49a0905568a13c840b7866ce5d9c47e022f0
https://github.com/llvm/llvm-project/commit/95eb49a0905568a13c840b7866ce5d9c47e022f0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
Log Message:
-----------
[SCEV] Bail out on mixed int/pointer in SCEVWrapPredicate::implies.
Fixes a crash when trying to extend the pointer start value to a narrow
integer type after b6c29fdffd65.
Commit: 9826201093f047164733982492e25151b28404df
https://github.com/llvm/llvm-project/commit/9826201093f047164733982492e25151b28404df
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/IR/LLVMContext.cpp
Log Message:
-----------
LLVMContext: rem constexpr to unblock build w/ gcc (#120402)
Address issues observed in buildbots with older GCC versions:
https://lab.llvm.org/buildbot/#/builders/140/builds/13302
Commit: dd8e1adbf22f9b84e9fc5ed65530df55a3c3b693
https://github.com/llvm/llvm-project/commit/dd8e1adbf22f9b84e9fc5ed65530df55a3c3b693
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vec_shift6.ll
M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
Log Message:
-----------
[X86] LowerShift - track the number and location of constant shift elements. (#120270)
We have several vector shift lowering strategies that have to analyse
the distribution of non-uniform constant vector shift amounts, at the
moment there is very little sharing of data between these analysis.
This patch creates a SmallDenseMap of the different LEGAL constant shift
amounts used, with a mask of which elements they are used in. So far
I've only updated the shuffle(immshift(x,c1),immshift(x,c2)) lowering
pattern to use it for clarity, there's several more that can be done in
followups. Its hoped that the proposed patch #117980 can be simplified
after this patch as well.
vec_shift6.ll - the existing shuffle(immshift(x,c1),immshift(x,c2))
lowering bails on out of range shift amounts, while this patch now skips
them and treats them as UNDEF - this means we manage to fold more cases
that before would have to lower to a SHL->MUL pattern, including some
legalized cases.
Commit: 1941f341722178390f71e07502e08a2250a704c7
https://github.com/llvm/llvm-project/commit/1941f341722178390f71e07502e08a2250a704c7
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ctpop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Import more "multi-level" patterns (#120332)
Previously, if the destination DAG has an untyped leaf, we would import
the pattern only if that leaf is defined by the *top-level* source DAG.
This is an unnecessary restriction.
Here is an example of such pattern:
```
def : Pat<(add (mul v8i16:$vA, v8i16:$vB), v8i16:$vC),
(VMLADDUHM $vA, $vB, $vC)>;
```
Previously, it failed to import because `add` doesn't define neither
`$vA` nor `$vB`.
This change reduces the number of skipped patterns as follows:
```
AArch64: 8695 -> 8548 (-147)
AMDGPU: 11333 -> 11240 (-93)
ARM: 4297 -> 4278 (-1)
PowerPC: 3955 -> 3010 (-945)
```
Other GISel-enabled targets are unaffected.
Commit: 3146911eb0eee821535444aa207a4ec5020c9c6a
https://github.com/llvm/llvm-project/commit/3146911eb0eee821535444aa207a4ec5020c9c6a
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
Log Message:
-----------
[LLVM][AsmPrinter] Add vector ConstantInt/FP support to emitGlobalConstantImpl. (#120077)
The fixes a failure path for fixed length vector globals when
ConstantInt/FP is used to represent splats instead of
ConstantDataVector.
Commit: bc3eee11ea6f771bf007c4921a34c1dfee040471
https://github.com/llvm/llvm-project/commit/bc3eee11ea6f771bf007c4921a34c1dfee040471
Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#89047)
This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
* mattr - new option to pass a list of enabled target features
Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>
---------
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Commit: f270c9a7d0add028bcb80df5a3d73b85b0ebe7f4
https://github.com/llvm/llvm-project/commit/f270c9a7d0add028bcb80df5a3d73b85b0ebe7f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
Log Message:
-----------
[X86] urem-seteq-illegal-types.ll - regenerate VPTERNLOG comment
Commit: 2fa4b502d1910b8f134e01274d3898a265b0c88b
https://github.com/llvm/llvm-project/commit/2fa4b502d1910b8f134e01274d3898a265b0c88b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
Log Message:
-----------
Fix unused variable warning. NFC.
Commit: bf62ea40eee82794abc8ed767c150d6c8d0c0b0a
https://github.com/llvm/llvm-project/commit/bf62ea40eee82794abc8ed767c150d6c8d0c0b0a
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
R llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
R llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
Revert "[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#89047)"
This reverts commit bc3eee11ea6f771bf007c4921a34c1dfee040471.
These tests are failing because of no `REQUIRES`.
Commit: c6967efe780d6cc5d70fc8cadbd227353b6768f1
https://github.com/llvm/llvm-project/commit/c6967efe780d6cc5d70fc8cadbd227353b6768f1
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
A llvm/test/MC/Disassembler/Xtensa/code_density.txt
A llvm/test/MC/Disassembler/Xtensa/lit.local.cfg
M llvm/test/MC/Xtensa/Relocations/fixups.s
M llvm/test/MC/Xtensa/Relocations/relocations.s
A llvm/test/MC/Xtensa/code_density-invalid.s
A llvm/test/MC/Xtensa/code_density.s
Log Message:
-----------
[Xtensa] Implement Code Density Option. (#119639)
The Code Density option adds 16-bit encoding for frequently used
instructions.
Commit: 6f68010f9123aae9f6f105d7a11af22458518ad7
https://github.com/llvm/llvm-project/commit/6f68010f9123aae9f6f105d7a11af22458518ad7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/icmp-logical.ll
Log Message:
-----------
[InstCombine] Drop samesign flags in `foldLogOpOfMaskedICmps_NotAllZeros_BMask_Mixed` (#120373)
Counterexamples: https://alive2.llvm.org/ce/z/6Ks8Qz
Closes https://github.com/llvm/llvm-project/issues/120361.
Commit: 0c6860622c249ae7adc784c66a8d0b1335a9e7df
https://github.com/llvm/llvm-project/commit/0c6860622c249ae7adc784c66a8d0b1335a9e7df
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
M lldb/test/Shell/ObjectFile/XCOFF/basic-info.yaml
Log Message:
-----------
[lldb][AIX] Header Parsing for XCOFF Object File in AIX (#116338)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added XCOFF Object File Header Parsing for AIX.
Details about XCOFF file format on AIX:
[XCOFF](https://www.ibm.com/docs/en/aix/7.3?topic=formats-xcoff-object-file-format)
Commit: 0446990cc7af4e2b794660a98214edb401d6c50a
https://github.com/llvm/llvm-project/commit/0446990cc7af4e2b794660a98214edb401d6c50a
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
Log Message:
-----------
Reapply "[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas" (#120410)
This reapplies commit https://github.com/llvm/llvm-project/pull/120063.
A machine-verifier bug was causing a crash in the previous commit.
This has been addressed in
https://github.com/llvm/llvm-project/pull/120393.
Commit: 6da676ad35863ecea004ffa4059297a5c86dc6b2
https://github.com/llvm/llvm-project/commit/6da676ad35863ecea004ffa4059297a5c86dc6b2
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx950_asm_read_tr.s
M llvm/test/MC/AMDGPU/gfx950_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx950_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx950_invalid_encoding.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_ds_read_tr.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_xdlops.txt
Log Message:
-----------
[AMDGPU] Use -triple instead of -arch in MC tests
Commit: e7303fe80a0bea124422219356c1c9e845110a77
https://github.com/llvm/llvm-project/commit/e7303fe80a0bea124422219356c1c9e845110a77
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/extract_symbols.py
Log Message:
-----------
[Python] Use raw string literals for regexes (#120401)
Previously these backslashes were not followed by a valid escape
sequence character so were treated as literal backslashes, which was the
intended behaviour of the code. However python as of 3.12 has started
warning about these, so we should use raw string literals for regexes so
that backslashes are always interpreted literally. I've done this for
every regex in this file for consistency, including the ones which do
not contain backslashes.
Commit: 4b56345895729fda3bc3c094bc3f237ba3a49686
https://github.com/llvm/llvm-project/commit/4b56345895729fda3bc3c094bc3f237ba3a49686
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
Log Message:
-----------
[mlir][SCF] Unify tileUsingFor and tileReductionUsingFor implementation (#120115)
This patch unifies the tiling implementation for tileUsingFor and
tileReductionUsingFor. This is done by passing an addition option to
SCFTilingOptions, allowing it to set how reduction dimensions should be
tiled. Currently, there are 3 different options for reduction tiling:
FullReduction (old tileUsingFor), PartialReductionOuterReduction (old
tileReductionUsingFor) and PartialReductionOuterParallel
(linalg::tileReductionUsingForall, this isn't implemented in this
patch).
The patch makes tileReductionUsingFor use the tileUsingFor
implementation with the new reduction tiling options.
There are no test changes because the implementation was doing almost
the exactly same thing. This was also tested in IREE (which uses both
these APIs heavily) and there were no test changes.
Commit: fbc18b85d6ce5ab6489a2b08f9b38d446fe9d6f6
https://github.com/llvm/llvm-project/commit/fbc18b85d6ce5ab6489a2b08f9b38d446fe9d6f6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
Log Message:
-----------
Revert "[VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different" (#120422)
Reverts llvm/llvm-project#115209 - investigating a reported regression
Commit: 0e8d022ffe008dd7afffa5140c4d87ce3d77902d
https://github.com/llvm/llvm-project/commit/0e8d022ffe008dd7afffa5140c4d87ce3d77902d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
Log Message:
-----------
[VPlan] Handle exit phis with multiple operands in addUsersInExitBlocks. (#120260)
Currently the addUsersInExitBlocks incorrectly assumes exit phis only
have a single operand, which may not be the case for loops with early
exits when they share a common exit block.
Also further relax the assertion in fixupIVUsers to allow exit values if
they come from theloop latch/middle.block.
PR: https://github.com/llvm/llvm-project/pull/120260
Commit: 6f0e9c4a5611d21cbcac4bb4f16dc90674838e1e
https://github.com/llvm/llvm-project/commit/6f0e9c4a5611d21cbcac4bb4f16dc90674838e1e
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/target_map_names.cpp
M clang/test/OpenMP/target_map_names_attr.cpp
M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP][Clang] Migrate OpenMP UserDefinedMapper from Clang to OMPIRBuilder (#110001)
This patch migrates the OpenMP UserDefinedMapper codegen from Clang to
the OpenMPIRBuilder. I will be adding further patches in the near future
so that OpenMP dialect in MLIR can make use of these.
Commit: fc97d2e68b03bc2979395e84b645e5b3ba35aecd
https://github.com/llvm/llvm-project/commit/fc97d2e68b03bc2979395e84b645e5b3ba35aecd
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/Extensions.md
A flang/docs/Unsigned.md
M flang/docs/index.md
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/fold.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/Evaluate/type.h
M flang/include/flang/ISO_Fortran_binding.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Semantics/expression.h
M flang/lib/Common/Fortran-features.cpp
M flang/lib/Common/default-kinds.cpp
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/Mangler.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/type-parsers.h
M flang/lib/Semantics/check-arithmeticif.cpp
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/module/iso_fortran_env_impl.f90
M flang/runtime/Float128Math/random.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/dot-product.cpp
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/extrema.cpp
M flang/runtime/findloc.cpp
M flang/runtime/io-api-minimal.cpp
M flang/runtime/matmul.cpp
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/random-templates.h
M flang/runtime/random.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/reduction.cpp
M flang/runtime/sum.cpp
M flang/runtime/tools.h
M flang/runtime/type-code.cpp
M flang/runtime/type-info.cpp
A flang/test/Evaluate/fold-unsigned.f90
M flang/test/Lower/Intrinsics/shifta.f90
M flang/test/Lower/allocatable-polymorphic.f90
A flang/test/Lower/unsigned-ops.f90
M flang/test/Semantics/complex01.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo08.f90
A flang/test/Semantics/unsigned-errors.f90
M flang/unittests/Evaluate/real.cpp
Log Message:
-----------
[flang] Add UNSIGNED (#113504)
Implement the UNSIGNED extension type and operations under control of a
language feature flag (-funsigned).
This is nearly identical to the UNSIGNED feature that has been available
in Sun Fortran for years, and now implemented in GNU Fortran for
gfortran 15, and proposed for ISO standardization in J3/24-116.txt.
See the new documentation for details; but in short, this is C's
unsigned type, with guaranteed modular arithmetic for +, -, and *, and
the related transformational intrinsic functions SUM & al.
Commit: 76714be5fd4ace66dd9e19ce706c2e2149dd5716
https://github.com/llvm/llvm-project/commit/76714be5fd4ace66dd9e19ce706c2e2149dd5716
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
R llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
Log Message:
-----------
Revert "Add support for single reductions in ComplexDeinterleavingPass (#112875)"
This reverts commit b3eede5e1fa7ab742b86e9be22db7bccd2505b8a.
This has been breaking most AArch64 stage2 builds for 4+ hours,
reverting to get the bots back to green.
https://lab.llvm.org/buildbot/#/builders/41/builds/4172
https://lab.llvm.org/buildbot/#/builders/4/builds/4281
https://lab.llvm.org/buildbot/#/builders/199/builds/263
https://lab.llvm.org/buildbot/#/builders/198/builds/334
https://lab.llvm.org/buildbot/#/builders/143/builds/4276
https://lab.llvm.org/buildbot/#/builders/17/builds/4725
Commit: 6993d32c77a78ac0e6eee0e4bffd714a455e776b
https://github.com/llvm/llvm-project/commit/6993d32c77a78ac0e6eee0e4bffd714a455e776b
Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
A llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120419)
This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
* mattr - new option to pass a list of enabled target features
Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>
---------
Co-authored-by: Anastasiya Chernikova <anastasiya.chernikova at syntacore.com>
Commit: aadf606d9046c16b86f17ed0d2778749922bac2e
https://github.com/llvm/llvm-project/commit/aadf606d9046c16b86f17ed0d2778749922bac2e
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
Fix #110001 build error.
Commit: d3750412aa37ac982ef65bde84fed9bdff763996
https://github.com/llvm/llvm-project/commit/d3750412aa37ac982ef65bde84fed9bdff763996
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/GlobalISel/select-intrinsic-x86-flags-read-u32.mir
M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
M llvm/test/TableGen/GlobalISelEmitterRegSequence.td
M llvm/test/TableGen/GlobalISelEmitterSubreg.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Improve dead register handling (#120426)
A dead implicit def wasn't marked as dead if it is also an implicit use.
The new approach should also be more straightforward and simplifies
future changes for supporting optional defs and physical register defs.
Pull Request: https://github.com/llvm/llvm-project/pull/120426
Commit: 3eca15cbb9888a992749ddd24f0fb666dad733bf
https://github.com/llvm/llvm-project/commit/3eca15cbb9888a992749ddd24f0fb666dad733bf
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.h
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DirectX] Split resource info into type and binding info. NFC (#119773)
This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immutable and
populated lazily so that it can be used earlier in the pipeline without
needing to carefully maintain the invariants of the binding analysis.
Fixes #118400
Commit: 49fd2dde21655f95309abb17ad1d3392afe4985f
https://github.com/llvm/llvm-project/commit/49fd2dde21655f95309abb17ad1d3392afe4985f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/lower-vec-shift.ll
M llvm/test/CodeGen/X86/vec_shift6.ll
M llvm/test/CodeGen/X86/widen_arith-4.ll
Log Message:
-----------
[X86] LowerShift - don't prematurely lower to x86 vector shift imm instructions (#120282)
When splitting 2 unique amount shifts to shuffle(shift(x,c1),shift(x,c2)), don't use getTargetVShiftByConstNode directly to lower, use generic shifts to ensure we make use of any further canonicalization: shl(X,1) to add(X,X) etc. - this can have notably better throughput on some x86 targets.
Noticed on #120270
Commit: 72e58e00c27c7f4dd9502c719ddd13dcfef33e85
https://github.com/llvm/llvm-project/commit/72e58e00c27c7f4dd9502c719ddd13dcfef33e85
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Lexer/cxx-features.cpp
Log Message:
-----------
[Clang] Set `__cpp_explicit_this_parameter` (#107451)
There are not a lot of outstanding known issues
with deducing this (besides #95112), so it
seems reasonable to claim full support.
Fixes #82780
Commit: 2b932bc111c0d96db7044b0a854d7ad763710df2
https://github.com/llvm/llvm-project/commit/2b932bc111c0d96db7044b0a854d7ad763710df2
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/test/clang-doc/builtin_types.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
Log Message:
-----------
[clang-doc] Use LangOpts when printing types (#120308)
The implementation in the clang-doc serializer failed to take in the
LangOpts from the declaration. As a result, we'd do things like print
`_Bool` instead of `bool`, even in C++ code.
Fixes #62970
Commit: 5717a99d8de458a0d74a8167c8d7aa751c1e4008
https://github.com/llvm/llvm-project/commit/5717a99d8de458a0d74a8167c8d7aa751c1e4008
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
R llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Reland 2de78815604e9027efd93cac27c517bf732587d2 (#119650) (#120454)
[NFC] Move DroppedVariableStats to its own file and redesign it to be
extensible. (#115563)
Move DroppedVariableStats code to its own file and change the class to
have an extensible design so that we can use it to add dropped
statistics to MIR passes and the instruction selector.
Commit: d2413d44136f4f7cdb35c3a52ce6adbeb230f1e1
https://github.com/llvm/llvm-project/commit/d2413d44136f4f7cdb35c3a52ce6adbeb230f1e1
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M libc/docs/headers/stdio.rst
A libc/utils/docgen/stdio.yaml
Log Message:
-----------
[libc][docs] convert stdio.h to docgen (#120334)
Add info from n3220 and POSIX.1-2024.
Commit: 21de514872fc80424fbfd159485d71978b973c73
https://github.com/llvm/llvm-project/commit/21de514872fc80424fbfd159485d71978b973c73
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang][NFC] static assert intrinsic table is sorted (#120399)
This invariant is used below when searching for intrinsic
implementation. Currently, if the map is not sorted, the compiler will
just silently assume there is no such implementation.
Commit: 0fca76d576da6b26379b9754178263685b077610
https://github.com/llvm/llvm-project/commit/0fca76d576da6b26379b9754178263685b077610
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/lib/Target/DirectX/DXILResourceAccess.cpp
A llvm/lib/Target/DirectX/DXILResourceAccess.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Introduce the DXILResourceAccess pass (#116726)
This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.
Fixes #114848.
Commit: 79e859e049c77b5190a54fc1ecf1d262e3ef9f11
https://github.com/llvm/llvm-project/commit/79e859e049c77b5190a54fc1ecf1d262e3ef9f11
Author: Max <xpy66swsry at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A lld/Common/BPSectionOrdererBase.cpp
M lld/Common/CMakeLists.txt
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.h
M lld/MachO/CMakeLists.txt
A lld/include/lld/Common/BPSectionOrdererBase.h
Log Message:
-----------
[lld] Move BPSectionOrderer from MachO to Common for reuse in ELF (#117514)
Add lld/Common/BPSectionOrdererBase from MachO for reuse in ELF
Commit: 0e2466f62491a2623e61a81f17e4c0f2c15cb8ba
https://github.com/llvm/llvm-project/commit/0e2466f62491a2623e61a81f17e4c0f2c15cb8ba
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
A llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DirectX] Create symbols for resource handles (#119775)
We need to create symbols with "the original shape of resource and
element type" to put in the resource metadata in order to generate valid
DXIL.
Note that DXC generally doesn't emit an actual symbol outside of library
shaders (it emits an undef of a pointer to the type), but since we have
to deal with opaque pointers we would need a way to smuggle the type
through to match that. Instead, we simply emit symbols for now.
Fixed #116849
Commit: 08849083a797b03c93487d177f6019d709d44d93
https://github.com/llvm/llvm-project/commit/08849083a797b03c93487d177f6019d709d44d93
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
R llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
R llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
R llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
R llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
Revert "[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120419)"
This reverts commit 6993d32c77a78ac0e6eee0e4bffd714a455e776b.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/51/builds/7908)
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/tools/llvm-exegesis/lib/RISCV -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Target/RISCV -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -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 -O3 -DNDEBUG -std=c++17 -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o -MF tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o.d -o tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp:139:
/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV/RISCVGenAsmMatcher.inc:239:19: error: unused function 'MatchRegisterName' [-Werror,-Wunused-function]
239 | static MCRegister MatchRegisterName(StringRef Name) {
| ^~~~~~~~~~~~~~~~~
/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV/RISCVGenAsmMatcher.inc:568:19: error: unused function 'MatchRegisterAltName' [-Werror,-Wunused-function]
568 | static MCRegister MatchRegisterAltName(StringRef Name) {
| ^~~~~~~~~~~~~~~~~~~~
Commit: 5270e63cdc8f744003608fcc40f4549339e6b517
https://github.com/llvm/llvm-project/commit/5270e63cdc8f744003608fcc40f4549339e6b517
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_ldexp_f16 in true16 (#119313)
This is a NFC change. Update mc test for v_ldexp_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: c3241a9a4de3ef71a82f9434f84fa7437fe43f9a
https://github.com/llvm/llvm-project/commit/c3241a9a4de3ef71a82f9434f84fa7437fe43f9a
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_subrev_f16 in true16 (#119315)
This is a NFC change. Update mc test for v_subrev_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: 23a239267e8a1d20ed10d3545feaf2a2bb70b085
https://github.com/llvm/llvm-project/commit/23a239267e8a1d20ed10d3545feaf2a2bb70b085
Author: Alexander Kornienko <alexfh at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/union-tbaa1.c
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/load-cmp.ll
M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/stpcpy-1.ll
M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/strlen-4.ll
M llvm/test/Transforms/InstCombine/strncat-2.ll
M llvm/test/Transforms/InstCombine/strnlen-3.ll
M llvm/test/Transforms/InstCombine/strnlen-4.ll
M llvm/test/Transforms/InstCombine/strnlen-5.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstCombine/wcslen-3.ll
M llvm/test/Transforms/InstCombine/wcslen-5.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
M llvm/test/Transforms/LoopVectorize/non-const-n.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
Log Message:
-----------
Revert "[InstCombine] Infer nuw for gep inbounds from base of object" (#120460)
Reverts llvm/llvm-project#119225 due to the lack of sanitizer support,
large potential of breaking code containing latent UB, non-trivial
localization and investigation, and what seems to be a bad interaction
with msan (a test is in the works).
Related discussions:
https://github.com/llvm/llvm-project/pull/119225#issuecomment-2551904822
https://github.com/llvm/llvm-project/pull/118472#issuecomment-2549986255
Commit: 0987fcce18becc6980ddf61dd6c2af494c4ddf63
https://github.com/llvm/llvm-project/commit/0987fcce18becc6980ddf61dd6c2af494c4ddf63
Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
Log Message:
-----------
[NFC] update gfx12 vop test to use sed instead of grep (#120458)
changes from https://github.com/llvm/llvm-project/pull/119778 breaks the
AIX clang ppc64 bot:
https://lab.llvm.org/buildbot/#/builders/64/builds/1714 as `grep -o` is
not supported on AIX and is not POSIX compatible as per:
https://www.unix.com/man-page/posix/1p/grep/
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: e6a63513a22e17c193a4912ee6bc23a636d25bcf
https://github.com/llvm/llvm-project/commit/e6a63513a22e17c193a4912ee6bc23a636d25bcf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
Log Message:
-----------
[PhaseOrdering] Update test for #120460
Commit: c6f753b9a0910cdbb6bee77af1e5a54cf2e168fa
https://github.com/llvm/llvm-project/commit/c6f753b9a0910cdbb6bee77af1e5a54cf2e168fa
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_pack_b32_f16 (#119630)
Support true16 format for v_pack_b32_f16 in MC.
Since we are replacing v_alignbit_b32 to
`v_pack_b32_f16_t16/v_pack_b32_f16_fake16` in Post-GFX11, have to update
the CodeGen pattern for `v_pack_b32_f16_fake16 `to get CodeGen test
passing. There is no pattern modified/created, but just replacing the
`v_pack_b32_f16` with fake16 format.
Some of the true16 CodeGen test are impacted since `v_pack_b32_f16`
selection are removed in Post-GFX11 while `v_pack_b32_f16_t16` are not
yet supported. The CodeGen patch for `v_pack_b32_f16_t16` will be done
is the following patch.
Commit: 1a87f07465d76c87ace25623c67faf9596bbbf56
https://github.com/llvm/llvm-project/commit/1a87f07465d76c87ace25623c67faf9596bbbf56
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
Log Message:
-----------
[clang] Change initialization of a vector from undef to poison [NFC] (#120446)
It is fully initialized with insertelements.
Commit: 9af5de320b77d3757ea2b7e3d85c67f88dfbabb5
https://github.com/llvm/llvm-project/commit/9af5de320b77d3757ea2b7e3d85c67f88dfbabb5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/test/hwasan/TestCases/sizes.cpp
Log Message:
-----------
[driver] Fix sanitizer libc++ runtime linking (#120370)
1. -f[no-]sanitize-link-c++-runtime suppose to
override defauld behavior implied from `CCCIsCXX`
2. Take into account -nostdlib++ (unblocks #108357)
3. Fix typo hasFlag vs hasArg.
Commit: 402a3b8293205ee4485e9eb85ee187fb643755db
https://github.com/llvm/llvm-project/commit/402a3b8293205ee4485e9eb85ee187fb643755db
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 5717a99d8de4
Commit: a710880b1ee1faa8a3b882e29797a07b1775b275
https://github.com/llvm/llvm-project/commit/a710880b1ee1faa8a3b882e29797a07b1775b275
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/lld/Common/BUILD.gn
Log Message:
-----------
[gn build] Port 79e859e049c7
Commit: d57230c72e7c1398c52b1676809224b633fa289d
https://github.com/llvm/llvm-project/commit/d57230c72e7c1398c52b1676809224b633fa289d
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx90a.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir
M llvm/test/MC/AMDGPU/dl-insts.s
M llvm/test/MC/AMDGPU/gfx1030_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3p_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_err.s
A llvm/test/MC/AMDGPU/gfx908_err.s
M llvm/test/MC/AMDGPU/gfx90a_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx908-dl-insts.txt
Log Message:
-----------
[AMDGPU][MC] Disallow op_sel in some VOP3P dot instructions (#100485)
In v_dot4 and v_dot8 instructions with 4- or 8-bit packed data (e.g.,
v_dot4_u32_u8, v_dot8_u32_u4), the op_sel modifier should not be
allowed.
Commit: 6e41483b8430ee3c4c3076b0a24537492ed19386
https://github.com/llvm/llvm-project/commit/6e41483b8430ee3c4c3076b0a24537492ed19386
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[MemRef] Migrate away from PointerUnion::{is,get} (NFC) (#120382)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 6fb967ec9e13216ee1b4fc15764e0b3df9e5683f
https://github.com/llvm/llvm-project/commit/6fb967ec9e13216ee1b4fc15764e0b3df9e5683f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Move Frame::hash and hashCallStack to IndexedMemProfData (NFC) (#120365)
Now that IndexedMemProfData::{addFrame,addCallStack} are the only
callers of Frame::hash and hashCallStack, respectively, this patch
moves those functions into IndexedMemProfData and makes them private.
With this patch, we can obtain FrameId and CallStackId only through
addFrame and addCallStack, respectively.
Commit: bfd05102d817fce38938ce864f89ad90ef0b6cda
https://github.com/llvm/llvm-project/commit/bfd05102d817fce38938ce864f89ad90ef0b6cda
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/CreateHandle.ll
M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Lower ops after translating metadata (#120157)
Move the DXILOpLoweringPass after DXILTranslateMetadata, and add asserts
in DXILShaderFlags to ensure it isn't scheduled after op lowering. This
will allow us to rely on DirectX intrinsics in the shader flags analysis
rather than having to recover information from lowered operations.
Fixes #120119.
Commit: 41bd35b58bb482fd466aa4b13aa44a810ad6470f
https://github.com/llvm/llvm-project/commit/41bd35b58bb482fd466aa4b13aa44a810ad6470f
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
A mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Pass.h
R mlir/lib/Bindings/Python/PybindUtils.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/python/CMakeLists.txt
M mlir/python/requirements.txt
M mlir/test/python/ir/symbol_table.py
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir python] Port Python core code to nanobind. (#118583)
Why? https://nanobind.readthedocs.io/en/latest/why.html says it better
than I can, but my primary motivation for this change is to improve MLIR
IR construction time from JAX.
For a complicated Google-internal LLM model in JAX, this change improves
the MLIR
lowering time by around 5s (out of around 30s), which is a significant
speedup for simply switching binding frameworks.
To a large extent, this is a mechanical change, for instance changing
`pybind11::`
to `nanobind::`.
Notes:
* this PR needs Nanobind 2.4.0, because it needs a bug fix
(https://github.com/wjakob/nanobind/pull/806) that landed in that
release.
* this PR does not port the in-tree dialect extension modules. They can
be ported in a future PR.
* I removed the py::sibling() annotations from def_static and def_class
in `PybindAdapters.h`. These ask pybind11 to try to form an overload
with an existing method, but it's not possible to form mixed
pybind11/nanobind overloads this ways and the parent class is now
defined in nanobind. Better solutions may be possible here.
* nanobind does not contain an exact equivalent of pybind11's buffer
protocol support. It was not hard to add a nanobind implementation of a
similar API.
* nanobind is pickier about casting to std::vector<bool>, expecting that
the input is a sequence of bool types, not truthy values. In a couple of
places I added code to support truthy values during casting.
* nanobind distinguishes bytes (`nb::bytes`) from strings (e.g.,
`std::string`). This required nb::bytes overloads in a few places.
Commit: 6e8b3a3e0cad614954fc387df22d59d941f081c3
https://github.com/llvm/llvm-project/commit/6e8b3a3e0cad614954fc387df22d59d941f081c3
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
R mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Pass.h
A mlir/lib/Bindings/Python/PybindUtils.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/python/CMakeLists.txt
M mlir/python/requirements.txt
M mlir/test/python/ir/symbol_table.py
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Revert "[mlir python] Port Python core code to nanobind. (#118583)"
This reverts commit 41bd35b58bb482fd466aa4b13aa44a810ad6470f.
Breakage detected, rolling back.
Commit: 9f3a6114807b66738585af060012927bd0f05b88
https://github.com/llvm/llvm-project/commit/9f3a6114807b66738585af060012927bd0f05b88
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/runtime/findloc.cpp
Log Message:
-----------
[flang] Don't needlessly instantiate distinct UNSIGNED cases for FINDLOC (#120471)
The FINDLOC runtime doesn't need to distinguish between INTEGER and
UNSIGNED data, so use the code for INTEGER also for UNSIGNED.
Commit: cb0effc0e61d5a0b2f952d9aa9d97f1652beabac
https://github.com/llvm/llvm-project/commit/cb0effc0e61d5a0b2f952d9aa9d97f1652beabac
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Using nvvm intrinsics for the syncthread and threadfence families of calls (#120020)
Commit: 6910aec097125317d33ade727d09db837be58d5f
https://github.com/llvm/llvm-project/commit/6910aec097125317d33ade727d09db837be58d5f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Don't use VPlan ctor taking trip count in most unit tests (NFC).
Update tests to use constructor not passing a trip count VPValue. The
tests don't need that and are simpler as a result.
Commit: b905bcc5090cde734e8b7bbceae13bd5a606cc14
https://github.com/llvm/llvm-project/commit/b905bcc5090cde734e8b7bbceae13bd5a606cc14
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M libcxx/include/__algorithm/adjacent_find.h
M libcxx/include/__algorithm/binary_search.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/find_first_of.h
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/is_heap.h
M libcxx/include/__algorithm/is_permutation.h
M libcxx/include/__algorithm/is_sorted.h
M libcxx/include/__algorithm/is_sorted_until.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/make_projected.h
M libcxx/include/__algorithm/merge.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__bit_reference
M libcxx/include/__hash_table
M libcxx/include/__split_buffer
M libcxx/include/__tree
Log Message:
-----------
[libc++] Remove some unused includes (#120219)
Commit: 9b3d85f0f43a9337223f8d69bbe71d5b4f41fd33
https://github.com/llvm/llvm-project/commit/9b3d85f0f43a9337223f8d69bbe71d5b4f41fd33
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
A llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
Log Message:
-----------
[DirectX] TypedUAVLoadAdditionalFormats shader flag (#120477)
Set the TypedUAVLoadAddtionalFormats flag if the shader contains a load
from a multicomponent UAV.
Fixes #114557
Commit: f03bf8c45f430c4fbf9f3a60c67bf2e69459d7a5
https://github.com/llvm/llvm-project/commit/f03bf8c45f430c4fbf9f3a60c67bf2e69459d7a5
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't change breaking before CtorInitializerColon (#119522)
Don't change breaking before CtorInitializerColon with `ColumnLimit: 0`.
Fixes #119519.
Commit: b1b60d4c1db723ca9deca899f0c055b4f0e0ddc3
https://github.com/llvm/llvm-project/commit/b1b60d4c1db723ca9deca899f0c055b4f0e0ddc3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating arrows after init braces (#119958)
Fixes #59066.
Commit: 2916352936097a35cdcaaf38a9097465adbf8cf5
https://github.com/llvm/llvm-project/commit/2916352936097a35cdcaaf38a9097465adbf8cf5
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
M llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
M llvm/test/Transforms/MemProfContextDisambiguation/fix_clone_checking.ll
Log Message:
-----------
[MemProf] Skip unmatched callers when cloning (#120455)
Don't unnecessarily clone for a caller that wasn't matched to a call
instruction.
This necessitated updated a couple of tests that were either
unnecessarily cloning or unnecessarily processing an allocation and
hinting it not cold.
Commit: 00840fbb51789278a40a4a2f83ebce04a32f0dde
https://github.com/llvm/llvm-project/commit/00840fbb51789278a40a4a2f83ebce04a32f0dde
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
Log Message:
-----------
[MemProf] Add quotes around FileCheck pattern (#120481)
Some bots are failing with 2916352936097a35cdcaaf38a9097465adbf8cf5,
likely due to the escapes in the FileCheck pattern. Add extra quotes to
try to fix this.
E.g. https://lab.llvm.org/buildbot/#/builders/46/builds/9442
Commit: 6ea8b4cebd322fe604efa96b943abf6ad419414c
https://github.com/llvm/llvm-project/commit/6ea8b4cebd322fe604efa96b943abf6ad419414c
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Support/Unix/Threading.inc
Log Message:
-----------
[llvm][Support] Use __NR_gettid on Linux for compat with older glibc (#120007)
Commit: 6457aee5b7da6bb6d7f556d14f42a6763b42e060
https://github.com/llvm/llvm-project/commit/6457aee5b7da6bb6d7f556d14f42a6763b42e060
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
A llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
A llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
M llvm/test/CodeGen/DirectX/scalar-load.ll
Log Message:
-----------
[DirectX] Bug fix for Data Scalarization crash (#118426)
Two bugs here. First calling `Inst->getFunction()` has undefined
behavior if the instruction is not tracked to a function. I suspect the
`replaceAllUsesWith` was leaving the GEPs in a weird ghost parent
situation. I switched up the visitor to be able to `eraseFromParent` as
part of visiting and then everything started working.
The second bug was in `DXILFlattenArrays.cpp`. I was unaware that you
can have multidimensional arrays of `zeroinitializer`, and `undef` so
fixed up the initializer to handle these two cases.
fixes #117273
Commit: 08aa95638713a37407367e0e158df6fb82509725
https://github.com/llvm/llvm-project/commit/08aa95638713a37407367e0e158df6fb82509725
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis-empty-tensor-elimination.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
Log Message:
-----------
[mlir][bufferization]-Replace only one use in TensorEmptyElimination (#118958)
In many cases the emptyTensorElimination can not transform or eliminate
the empty tensor which is being inserted into the
`SubsetInsertionOpInterface`.
Two major reasons for that:
1- Failing when trying to find a legal/suitable insertion point for the
`subsetExtract` which is about to replace the empty tensor. However, we
may try to handle this issue by moving the needed values which
responsible on building the `subsetExtract` nearby the empty tensor
(which is about to be eliminated). Thus increasing the probability to
find a legal insertion point.
2-The EmptyTensorElimination transform replaces the tensor.empty's uses
all at once in one apply, rather than replacing only the specific use
which was visited in the use-def chain (when traversing from the
tensor.insert_slice). This scenario of replacing all the uses of the
tensor.empty may lead into additional read effects after bufferization
of the specific subset extract/subview which should not be the case.
Both cases may result in many copies in the coming bufferization which
can not be canonicalized.
The first case can be noticed when having a `tensor.empty` followed by
`SubsetInsertionOpInterface` (or in simple words `tensor.insert_slice`),
which have been lowered from `tensor/tosa.concat`.
The second case can be noticed when having a `tensor.empty`, with many
uses and leading to applying the transformation only once, since the
whole uses have been replaced at once.
The first commit in the PR only adds the lit tests for the cases shown
above (NFC), to emphasize how the transform works, in the coming MRs
will upload a slight changes to handle these case.
The second commit in this PR, we want to replace only the specific use
which was visited in the `use-def` chain (when traversing from the
`tensor.insert_slice`'s source).
Commit: 5ca3794e82bd4d96e5aa32821bed033e40f51814
https://github.com/llvm/llvm-project/commit/5ca3794e82bd4d96e5aa32821bed033e40f51814
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Move initial VPlan block creation to constructor. (NFC)
This sets up the initial blocks needed to initialize a VPlan directly
in the constructor. This will allow tracking of all created blocks
directly in VPlan, simplifying block deletion.
Commit: d8399d5dd6a5a7025621eddd97fc0fa1f494bad8
https://github.com/llvm/llvm-project/commit/d8399d5dd6a5a7025621eddd97fc0fa1f494bad8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/Constraints.td
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/TableGen/Property.h
M mlir/lib/TableGen/Predicate.cpp
M mlir/lib/TableGen/Property.cpp
A mlir/test/IR/test-op-property-predicates.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
A mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/test/mlir-tblgen/op-properties.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Add predicates to tablegen-defined properties (#120176)
Give the properties from tablegen a `predicate` field that holds the
predicate that the property needs to satisfy, if one exists, and hook
that field up to verifier generation.
Commit: ac8a9f8fffb605514056f53f12f1fba94ee933e9
https://github.com/llvm/llvm-project/commit/ac8a9f8fffb605514056f53f12f1fba94ee933e9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Transforms/PGOProfile/memprof-undrift.test
Log Message:
-----------
[memprof] Undrift MemProfRecord (#120138)
This patch undrifts source locations in MemProfRecord before readMemprof
starts the matching process.
The thoery of operation is as follows:
1. Collect the lists of direct calls, one from the IR and the other
from the profile.
2. Compute the correspondence (called undrift map in the patch)
between the two lists with longestCommonSequence.
3. Apply the undrift map just before readMemprof consumes
MemProfRecord.
The new function gated by a flag that is off by default.
Commit: e7a4d78ad328d02bf515b2fa4af8b2c188a6a636
https://github.com/llvm/llvm-project/commit/e7a4d78ad328d02bf515b2fa4af8b2c188a6a636
Author: DianQK <dianqk at dianqk.net>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/slp-deleted-inst.ll
Log Message:
-----------
[SLP] Check if instructions exist after vectorization (#120434)
Fixes #120433.
Commit: 8272b6bd6146aab973ff7018ad642b99fde00904
https://github.com/llvm/llvm-project/commit/8272b6bd6146aab973ff7018ad642b99fde00904
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
M mlir/unittests/IR/AffineExprTest.cpp
Log Message:
-----------
[mlir][IR] Fix bug in AffineExpr simplifier `lhs % rhs` where `lhs = lhs floordiv rhs` (#119245)
Fixes an issue where the `SimpleAffineExprFlattener` would simplify
`lhs % rhs` to just `-(lhs floordiv rhs)` instead of
`lhs - (lhs floordiv rhs)`
if `lhs` happened to be equal to `lhs floordiv rhs`.
The reported failure case was
`(d0, d1) -> (((d1 - (d1 + 2)) floordiv 8) % 8)`
from https://github.com/llvm/llvm-project/issues/114654.
Note that many paths that simplify AffineMaps (e.g. the AffineApplyOp
folder and canonicalization) would not observe this bug because of
of slightly different paths taken by the code. Slightly different
grouping of the terms could also result in avoiding the bug.
Resolves https://github.com/llvm/llvm-project/issues/114654.
Commit: 26f5d1ee9c37e2a6d50898a5bf2d3b9171060ba0
https://github.com/llvm/llvm-project/commit/26f5d1ee9c37e2a6d50898a5bf2d3b9171060ba0
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/APINotes/APINotesReader.cpp
Log Message:
-----------
[APINotes] Avoid assertion failure with expensive checks (#120487)
Found assertion failures when using EXPENSIVE_CHECKS and running lit
tests for APINotes:
Assertion `left.first != right.first && "two entries for the same
version"' failed.
It seems like std::is_sorted is verifying that the comparison function
is reflective (comp(a,a)=false) when using expensive checks. So we would
get callbacks to the lambda used for comparison, even for vectors with a
single element in APINotesReader::VersionedInfo<T>::VersionedInfo, with
"left" and "right" being the same object. Therefore the assert checking
that we never found equal values would fail.
Fix makes sure that we skip the check for equal values when "left" and
"right" is the same object.
Commit: 8e8692a542037056b332f4a3b5f12441267b76eb
https://github.com/llvm/llvm-project/commit/8e8692a542037056b332f4a3b5f12441267b76eb
Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
A llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120467)
This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
* mattr - new option to pass a list of enabled target features
Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>
Original pr: #89047
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: dc0ea0f945269387fa3a9db65cc907840903f245
https://github.com/llvm/llvm-project/commit/dc0ea0f945269387fa3a9db65cc907840903f245
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cvt_pknorm_i16/u16_f16 (#119605)
Support true16 format for v_cvt_pknorm_i16/u16_f16 in MC.
Commit: e10b12e6564c4da7d03fe1616e894ad162167663
https://github.com/llvm/llvm-project/commit/e10b12e6564c4da7d03fe1616e894ad162167663
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_div_fixup_f16 (#119613)
Support true16 format for v_div_fixup_f16 in MC.
Commit: e0526b0780f56eede09b05a859a93626ecdc6e4d
https://github.com/llvm/llvm-project/commit/e0526b0780f56eede09b05a859a93626ecdc6e4d
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_minmax/maxmin_f16 (#119586)
Support true16 format for v_minmax/maxmin_f16 in MC.
Since we are replacing `v_minmax/maxmin_f16` to `v_minmax/maxmin_f16_t16
/ v_minmax/maxmin_f16_fake16` in Post-GFX11, have to update the CodeGen
pattern for `v_minmax/maxmin_f16` to get CodeGen test passing.
Commit: e34cc7c99375c43e1698c78ec9150fa40c88d486
https://github.com/llvm/llvm-project/commit/e34cc7c99375c43e1698c78ec9150fa40c88d486
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTNodeTraverser.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/Basic/StmtNodes.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTBitCodes.h
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/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/unimplemented-construct.c
A clang/test/SemaOpenACC/wait-construct-ast.cpp
A clang/test/SemaOpenACC/wait-construct.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Implement 'wait' construct
The arguments to this are the same as for the 'wait' clause, so this
reuses all of that infrastructure. So all this has to do is support a
pair of clauses that are already implemented (if and async), plus create
an AST node. This patch does so, and adds proper testing.
Commit: 0fd7c49a770da936b704ea9b2162a85377b1e374
https://github.com/llvm/llvm-project/commit/0fd7c49a770da936b704ea9b2162a85377b1e374
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
A compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
Log Message:
-----------
[ubsan] Add runtime test for -fsanitize=local-bounds (#120038)
Commit: 7eaf4708098c216bf432fc7e0bc79c3771e793a4
https://github.com/llvm/llvm-project/commit/7eaf4708098c216bf432fc7e0bc79c3771e793a4
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120464)
'-mllvm -ubsan-unique-traps'
(https://github.com/llvm/llvm-project/pull/65972) applies to all UBSan
checks. This patch introduces -fsanitize-merge (defaults to on,
maintaining the status quo behavior) and -fno-sanitize-merge (equivalent
to '-mllvm -ubsan-unique-traps'), with the option to selectively
applying non-merged handlers to a subset of UBSan checks (e.g.,
-fno-sanitize-merge=bool,enum).
N.B. we do not use "trap" in the argument name since
https://github.com/llvm/llvm-project/pull/119302 has generalized
-ubsan-unique-traps to work for non-trap modes (min-rt and regular rt).
This patch does not remove the -ubsan-unique-traps flag; that will
override -f(no-)sanitize-merge.
Commit: ef955908302b6a6170e9775d89a94846fde12ebf
https://github.com/llvm/llvm-project/commit/ef955908302b6a6170e9775d89a94846fde12ebf
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/switch.cpp
M clang/test/CoverageMapping/switchmacro.c
Log Message:
-----------
[Coverage] Resurrect Branch:FalseCnt in SwitchStmt that was pruned in #112694 (#120418)
I missed that FalseCnt for each Case was used to calculate percentage in
the SwitchStmt. At the moment I resurrect them.
In `!HasDefaultCase`, the pair of Counters shall be `[CaseCountSum,
FalseCnt]`. (Reversal of before #112694)
I think it can be considered as the False count on SwitchStmt.
FalseCnt shall be folded (same as current impl) in the coming
SingleByteCoverage changes, since percentage would not make sense.
Commit: e6980796585940bffd8c9e95052761c1a32c1dfe
https://github.com/llvm/llvm-project/commit/e6980796585940bffd8c9e95052761c1a32c1dfe
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/branch-macros.cpp
Log Message:
-----------
Allow `CoverageMapping::getCoverageForFile()` to show Branches also outside functions (#120416)
Fixes #119952
Commit: 2691b964150c77a9e6967423383ad14a7693095e
https://github.com/llvm/llvm-project/commit/2691b964150c77a9e6967423383ad14a7693095e
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/Driver/fsanitize.c
Log Message:
-----------
Revert "[ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120464)"
This reverts commit 7eaf4708098c216bf432fc7e0bc79c3771e793a4.
Reason: buildbot breakage (e.g.,
https://lab.llvm.org/buildbot/#/builders/144/builds/14299/steps/6/logs/FAIL__Clang__ubsan-trap-debugloc_c)
Commit: f334db92be168876b618db72dc93078ce23ffa89
https://github.com/llvm/llvm-project/commit/f334db92be168876b618db72dc93078ce23ffa89
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
A llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
A llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
Log Message:
-----------
[llvm][CodeGen] Intrinsic `llvm.powi.*` code gen for vector arguments (#118242)
Scalarize vector FPOWI instead of promoting the type. This allows the
scalar FPOWIs to be visited and converted to libcalls before promoting
the type.
FIXME: This should be done in LegalizeVectorOps/LegalizeDAG, but call
lowering needs the unpromoted EVT.
Without this patch, in some backends, such as RISCV64 and LoongArch64,
the i32 type is illegal and will be promoted. This causes exponent type
check to fail when ISD::FPOWI node generates a libcall.
Fix https://github.com/llvm/llvm-project/issues/118079
Commit: 60a2f32cf5ce75c9a2511d7fc2b0f24699605912
https://github.com/llvm/llvm-project/commit/60a2f32cf5ce75c9a2511d7fc2b0f24699605912
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/test/hwasan/TestCases/sizes.cpp
Log Message:
-----------
Revert "[driver] Fix sanitizer libc++ runtime linking (#120370)"
This reverts commit 9af5de320b77d3757ea2b7e3d85c67f88dfbabb5.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/24/builds/3394/steps/10/logs/stdio)
"Unexpectedly Passed Tests (1):
llvm-libc++-shared.cfg.in :: libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp"
Commit: ffff7bb582a39c5444ce1e43fd272a35cb87498d
https://github.com/llvm/llvm-project/commit/ffff7bb582a39c5444ce1e43fd272a35cb87498d
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ubsan-trap-debugloc.c
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/Driver/fsanitize.c
Log Message:
-----------
Reapply "[ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120…464)" (#120511)
This reverts commit 2691b964150c77a9e6967423383ad14a7693095e. This
reapply fixes the buildbot breakage of the original patch, by updating
clang/test/CodeGen/ubsan-trap-debugloc.c to specify -fsanitize-merge
(the default, which is merge, is applied by the driver but not
clang_cc1).
This reapply also expands clang/test/CodeGen/ubsan-trap-merge.c.
----
Original commit message:
'-mllvm -ubsan-unique-traps'
(https://github.com/llvm/llvm-project/pull/65972) applies to all UBSan
checks. This patch introduces -fsanitize-merge (defaults to on,
maintaining the status quo behavior) and -fno-sanitize-merge (equivalent
to '-mllvm -ubsan-unique-traps'), with the option to selectively
applying non-merged handlers to a subset of UBSan checks (e.g.,
-fno-sanitize-merge=bool,enum).
N.B. we do not use "trap" in the argument name since
https://github.com/llvm/llvm-project/pull/119302 has generalized
-ubsan-unique-traps to work for non-trap modes (min-rt and regular rt).
This patch does not remove the -ubsan-unique-traps flag; that will
override -f(no-)sanitize-merge.
Commit: 4530273d7ce8615d2773bbdffce8e2d2fa9dceee
https://github.com/llvm/llvm-project/commit/4530273d7ce8615d2773bbdffce8e2d2fa9dceee
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Allocate descriptor in managed memory when emboxing device memory (#120485)
When emboxing memory that comes from CUFMemAlloc, we need to allocate
the descriptor in manage memory as it might be passed to a kernel.
Commit: 89b34ec9ccb93bff5064227ac2424cc1bdf73b8d
https://github.com/llvm/llvm-project/commit/89b34ec9ccb93bff5064227ac2424cc1bdf73b8d
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/targets_with_exegesis.gni
A llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/RISCV/BUILD.gn
Log Message:
-----------
[gn] port 8e8692a5420370 (RISCV support for llvm-exegesis)
Commit: b56d1ec6cb8b5cb3ff46cba39a1049ecf3831afb
https://github.com/llvm/llvm-project/commit/b56d1ec6cb8b5cb3ff46cba39a1049ecf3831afb
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
A mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Pass.h
R mlir/lib/Bindings/Python/PybindUtils.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/python/CMakeLists.txt
M mlir/python/requirements.txt
M mlir/test/python/ir/symbol_table.py
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir python] Port Python core code to nanobind. (#120473)
Relands #118583, with a fix for Python 3.8 compatibility. It was not
possible to set the buffer protocol accessers via slots in Python 3.8.
Why? https://nanobind.readthedocs.io/en/latest/why.html says it better
than I can, but my primary motivation for this change is to improve MLIR
IR construction time from JAX.
For a complicated Google-internal LLM model in JAX, this change improves
the MLIR
lowering time by around 5s (out of around 30s), which is a significant
speedup for simply switching binding frameworks.
To a large extent, this is a mechanical change, for instance changing
`pybind11::` to `nanobind::`.
Notes:
* this PR needs Nanobind 2.4.0, because it needs a bug fix
(https://github.com/wjakob/nanobind/pull/806) that landed in that
release.
* this PR does not port the in-tree dialect extension modules. They can
be ported in a future PR.
* I removed the py::sibling() annotations from def_static and def_class
in `PybindAdapters.h`. These ask pybind11 to try to form an overload
with an existing method, but it's not possible to form mixed
pybind11/nanobind overloads this ways and the parent class is now
defined in nanobind. Better solutions may be possible here.
* nanobind does not contain an exact equivalent of pybind11's buffer
protocol support. It was not hard to add a nanobind implementation of a
similar API.
* nanobind is pickier about casting to std::vector<bool>, expecting that
the input is a sequence of bool types, not truthy values. In a couple of
places I added code to support truthy values during casting.
* nanobind distinguishes bytes (`nb::bytes`) from strings (e.g.,
`std::string`). This required nb::bytes overloads in a few places.
Commit: dc72ec808d97a83fe9d3c1889302067cbee24c91
https://github.com/llvm/llvm-project/commit/dc72ec808d97a83fe9d3c1889302067cbee24c91
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
Log Message:
-----------
[RISCV] Custom legalize vp.merge for mask vectors. (#120479)
The default legalization uses vmslt with a vector of XLen to compute a
mask. This doesn't work if the type isn't legal. For fixed vectors it
will scalarize. For scalable vectors it crashes the compiler.
This patch uses an alternate strategy that promotes the i1 vector to an
i8 vector and does the merge. I don't claim this to be the best
lowering. I wrote it quickly almost 3 years ago when a crash was
reported in our downstream.
Fixes #120405.
Commit: f0dcf3240dffe3767c7f3a2e2da5b92ae9fd1bef
https://github.com/llvm/llvm-project/commit/f0dcf3240dffe3767c7f3a2e2da5b92ae9fd1bef
Author: Nathan Chancellor <nathan at kernel.org>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/tautological-pointer-comparison.c
Log Message:
-----------
[Sema] Fix tautological bounds check warning with -fwrapv (#120480)
The tautological bounds check warning added in #120222 does not take
into account whether signed integer overflow is well defined or not,
which could result in a developer removing a bounds check that may not
actually be always false because of different overflow semantics.
```c
int check(const int* foo, unsigned int idx)
{
return foo + idx < foo;
}
```
```
$ clang -O2 -c test.c
test.c:3:19: warning: pointer comparison always evaluates to false [-Wtautological-compare]
3 | return foo + idx < foo;
| ^
1 warning generated.
# Bounds check is eliminated without -fwrapv, warning was correct
$ llvm-objdump -dr test.o
...
0000000000000000 <check>:
0: 31 c0 xorl %eax, %eax
2: c3 retq
```
```
$ clang -O2 -fwrapv -c test.c
test.c:3:19: warning: pointer comparison always evaluates to false [-Wtautological-compare]
3 | return foo + idx < foo;
| ^
1 warning generated.
# Bounds check remains, warning was wrong
$ llvm-objdump -dr test.o
0000000000000000 <check>:
0: 89 f0 movl %esi, %eax
2: 48 8d 0c 87 leaq (%rdi,%rax,4), %rcx
6: 31 c0 xorl %eax, %eax
8: 48 39 f9 cmpq %rdi, %rcx
b: 0f 92 c0 setb %al
e: c3 retq
```
Commit: 1cc926b8b6976ac4a5a411eae564cfde2df1ef9d
https://github.com/llvm/llvm-project/commit/1cc926b8b6976ac4a5a411eae564cfde2df1ef9d
Author: Pavel Samolysov <samolisov at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/ScopedHashTableTest.cpp
Log Message:
-----------
[ADT] Add a unittest for the ScopedHashTable class (#120183)
The ScopedHashTable class is particularly used to develop string tables
for parsers and code convertors. For instance, the MLIRGen class from the
toy example for MLIR actively uses this class to define scopes for
declared variables. To demonstrate common use cases for the
ScopedHashTable class as well as to check its behavior in different
situations, the unittest has been added.
Signed-off-by: Pavel Samolysov <samolisov at gmail.com>
Commit: 76275c0c41739a30939afd1709174861a587a823
https://github.com/llvm/llvm-project/commit/76275c0c41739a30939afd1709174861a587a823
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
Log Message:
-----------
[gn build] Port 1cc926b8b697
Commit: fe2685303b215182b1acc5b6fb8be30c24bd6e8e
https://github.com/llvm/llvm-project/commit/fe2685303b215182b1acc5b6fb8be30c24bd6e8e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a crash caused by commit f03bf8c45f43
Commit: c94ce0cca25229cd0e38560ad6e56a1a2f9a0c8b
https://github.com/llvm/llvm-project/commit/c94ce0cca25229cd0e38560ad6e56a1a2f9a0c8b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/unittests/ADT/ScopedHashTableTest.cpp
Log Message:
-----------
[ADT] Fix warnings
This patch fixes warnings of the form:
llvm/unittests/ADT/ScopedHashTableTest.cpp:41:20: error:
'ScopedHashTableScope' may not intend to support class template
argument deduction [-Werror,-Wctad-maybe-unsupported]
Commit: 104ad9258a0f93a969bf7a85ebc0c7d9c533edf1
https://github.com/llvm/llvm-project/commit/104ad9258a0f93a969bf7a85ebc0c7d9c533edf1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[SelectionDAG] Rename SDNode::uses() to users(). (#120499)
This function is most often used in range based loops or algorithms
where the iterator is implicitly dereferenced. The dereference returns
an SDNode * of the user rather than SDUse * so users() is a better name.
I've long beeen annoyed that we can't write a range based loop over
SDUse when we need getOperandNo. I plan to rename use_iterator to
user_iterator and add a use_iterator that returns SDUse& on dereference.
This will make it more like IR.
Commit: 2302142f2318ba9624b847cd8c1a7e2d255be5c5
https://github.com/llvm/llvm-project/commit/2302142f2318ba9624b847cd8c1a7e2d255be5c5
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/docs/Coroutines.rst
Log Message:
-----------
[Coroutines][Docs] Add a discussion on the handling of certain parameter attribs (#117183)
ByVal arguments and Swifterror require special handling in the coroutine
passes. The goal of this section is to provide a description of how
these parameter attributes are handled.
Commit: 2c782ab2718758bd106ad5939adf7cfb6cd9d1e9
https://github.com/llvm/llvm-project/commit/2c782ab2718758bd106ad5939adf7cfb6cd9d1e9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
A llvm/test/CodeGen/RISCV/machine-pipeliner.ll
Log Message:
-----------
[RISCV] Add software pipeliner support (#117546)
This patch adds basic support of `MachinePipeliner` and disable
it by default.
The functionality should be OK and all llvm-test-suite tests have
passed.
Commit: 5c55f9664f7e2f9fe29589a97bc5818d6b8d3c9c
https://github.com/llvm/llvm-project/commit/5c55f9664f7e2f9fe29589a97bc5818d6b8d3c9c
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/test/SemaTemplate/pack-deduction.cpp
Log Message:
-----------
[Clang] Don't assume unexpanded PackExpansions' size when expanding packs (#120380)
CheckParameterPacksForExpansion() previously assumed that template
arguments don't include PackExpansion types when attempting another pack
expansion (i.e. when NumExpansions is present). However, this assumption
doesn't hold for type aliases, whose substitution might involve
unexpanded packs. This can lead to incorrect diagnostics during
substitution because the pack size is not yet determined.
To address this, this patch calculates the minimum pack size (ignoring
unexpanded PackExpansionTypes) and compares it to the previously
expanded size. If the minimum pack size is smaller, then there's still a
chance for future substitution to expand it to a correct size, so we
don't diagnose it too eagerly.
Fixes #61415
Fixes #32252
Fixes #17042
Commit: 4ca4287da472c045f1587b1e8c7bd2ba8ef2e5c0
https://github.com/llvm/llvm-project/commit/4ca4287da472c045f1587b1e8c7bd2ba8ef2e5c0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAG] Replace findGlueUse in SelectionDAGISel with SDNode::getGluedUser. NFC (#120512)
Commit: bd261ecc5aeefd62150cb5f04e4a4f0cb7a12e1c
https://github.com/llvm/llvm-project/commit/bd261ecc5aeefd62150cb5f04e4a4f0cb7a12e1c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[SelectionDAG] Add SDNode::user_begin() and use it in some places (#120509)
Most of these are just places that want the first user and aren't
iterating over the whole list.
While there I changed some use_size() == 1 to hasOneUse() which
is more efficient.
This is part of an effort to rename use_iterator to user_iterator
and provide a use_iterator that dereferences to SDUse&. This patch
helps reduce the diff on later patches.
Commit: 296c29483e4000963a08fc51828df948d47e945a
https://github.com/llvm/llvm-project/commit/296c29483e4000963a08fc51828df948d47e945a
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/test/tools/llvm-mca/RISCV/SiFive7/reductions.s
R llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-store.s
R llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
R llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-integer-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-lmul-instruments.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-sew-instruments.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/disable-im.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/fractional-lmul-data.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-at-start.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-middle.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-region.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-straddles-region.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-lmul-instruments.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-sew-instruments.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/no-vsetvli-to-start.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/reductions.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/riscv-lmul-instrument-no-data-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/riscv-sew-instrument-no-data-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-at-start.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-middle.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-region.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-straddles-region.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-store.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-x0.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-instrument-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-lmul-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-sew-is-err.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vector-integer-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vle-vse.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-instrument.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-sew-instrument.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-instrument.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-sew-instrument.s
R llvm/test/tools/llvm-mca/RISCV/different-lmul-instruments.s
R llvm/test/tools/llvm-mca/RISCV/different-sew-instruments.s
R llvm/test/tools/llvm-mca/RISCV/disable-im.s
R llvm/test/tools/llvm-mca/RISCV/fractional-lmul-data.s
R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-at-start.s
R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-middle.s
R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-region.s
R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-straddles-region.s
R llvm/test/tools/llvm-mca/RISCV/multiple-same-lmul-instruments.s
R llvm/test/tools/llvm-mca/RISCV/multiple-same-sew-instruments.s
R llvm/test/tools/llvm-mca/RISCV/needs-sew-but-only-lmul.s
R llvm/test/tools/llvm-mca/RISCV/no-vsetvli-to-start.s
R llvm/test/tools/llvm-mca/RISCV/riscv-lmul-instrument-no-data-is-err.s
R llvm/test/tools/llvm-mca/RISCV/riscv-sew-instrument-no-data-is-err.s
R llvm/test/tools/llvm-mca/RISCV/sew-instrument-at-start.s
R llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-middle.s
R llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-region.s
R llvm/test/tools/llvm-mca/RISCV/sew-instrument-straddles-region.s
R llvm/test/tools/llvm-mca/RISCV/unknown-instrument-is-err.s
R llvm/test/tools/llvm-mca/RISCV/unknown-lmul-is-err.s
R llvm/test/tools/llvm-mca/RISCV/unknown-sew-is-err.s
R llvm/test/tools/llvm-mca/RISCV/vle-vse.s
R llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-instrument.s
R llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-sew-instrument.s
R llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-instrument.s
R llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-sew-instrument.s
Log Message:
-----------
[RISCV][MCA] Move sifive-x280 tests to directory SiFiveX280 (#120522)
Commit: a3bf87357da3bae1a35c7a855988287b1fc7ca2f
https://github.com/llvm/llvm-project/commit/a3bf87357da3bae1a35c7a855988287b1fc7ca2f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/test/MC/ELF/noexec.s
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llvm-mc] --no-exec-stack: replace initSection with switchSection. NFC
AsmParser will call initSection unless -n is specified.
It is not good to call initSection twice.
Commit: e389492d6a00e1c49a034e13343098541ebd03c6
https://github.com/llvm/llvm-project/commit/e389492d6a00e1c49a034e13343098541ebd03c6
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
A llvm/include/llvm/Analysis/DroppedVariableStats.h
R llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
Log Message:
-----------
[NFC] Move DroppedVariableStats code to Analysis (#120502)
This is done because the CodeGen library and Passes library both link
against Analysis, to avoid adding a dependency between CodeGen and
Passes if we want to extend the DroppedVariableStats code for MIR stats
as well, as seen in https://github.com/llvm/llvm-project/pull/120501
Commit: 2c3126247873f126be3218425f1d053aa6d5e8e8
https://github.com/llvm/llvm-project/commit/2c3126247873f126be3218425f1d053aa6d5e8e8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port e389492d6a00
Commit: 16bc44a71266e8855dddffa932f82ad184450ba0
https://github.com/llvm/llvm-project/commit/16bc44a71266e8855dddffa932f82ad184450ba0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update BPF maintainer (#120429)
Nowadays yonghong-song and eddyz87 are more involved with LLVM
BPF development than 4ast, so update the maintainer list to reflect
this.
Commit: 70f326c4bcb4f45744ff93c12a963ffad28136ef
https://github.com/llvm/llvm-project/commit/70f326c4bcb4f45744ff93c12a963ffad28136ef
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Move Bigcheese to inactive maintainer for Windows object tools (#120425)
Bigcheese isn't actively working on Windows support in object tools
anymore, so move him to the inactive maintainer list. I'm also not
aware of anyone else who is actively involved in this area currently,
so I'm dropping the category entirely for now.
Commit: 881447fe443788f556fbf5462384ee5677d5d7ef
https://github.com/llvm/llvm-project/commit/881447fe443788f556fbf5462384ee5677d5d7ef
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update maintainers for binary utilities (#120428)
We currently list jakehehrlich as the maintainer for llvm-objcopy /
ObjCopy, but he hasn't been involved with LLVM for more than 5 years.
Convert the llvm-object category into a broader binary utilities
category and add jh7370 and MaskRay as the new maintainers.
Commit: 223c7648468cd4f649a578d3f9cbc27a63523192
https://github.com/llvm/llvm-project/commit/223c7648468cd4f649a578d3f9cbc27a63523192
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DroppedVariableStats.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/DroppedVariableStats.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/MIR/CMakeLists.txt
A llvm/unittests/MIR/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Add a pass to collect dropped var stats for MIR (#120501)
Reland "Add a pass to collect dropped var stats for MIR" (#117044)
I am trying to reland https://github.com/llvm/llvm-project/pull/115566
I also moved the DroppedVariableStats code to the Analysis lib
This is part of a stack of patches with
https://github.com/llvm/llvm-project/pull/120502 being the first one in
the stack
Commit: 16d952898f2b41e768f7f2bfd867e48a5b7ef976
https://github.com/llvm/llvm-project/commit/16d952898f2b41e768f7f2bfd867e48a5b7ef976
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DroppedVariableStats.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/DroppedVariableStats.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/MIR/CMakeLists.txt
R llvm/unittests/MIR/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Revert "Add a pass to collect dropped var stats for MIR (#120501)"
This reverts commit 223c7648468cd4f649a578d3f9cbc27a63523192.
Reverted due to vuildbot failure:
flang-aarch64-libcxx
Linking CXX shared library lib/libLLVMAnalysis.so.20.0git
FAILED: lib/libLLVMAnalysis.so.20.0git
Commit: 0f9257b9abab72afdc210412a21c628f2df1a1f0
https://github.com/llvm/llvm-project/commit/0f9257b9abab72afdc210412a21c628f2df1a1f0
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
A llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s
Log Message:
-----------
[RISCV] Add scheduling model for mips p8700 CPU (#119885)
Depends on #119882.
Commit: 023fb258b0a8f81b4eb80a8a1c8e1c48a71873de
https://github.com/llvm/llvm-project/commit/023fb258b0a8f81b4eb80a8a1c8e1c48a71873de
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update ADT/Support maintainers (#120423)
Nominate dwblaikie and kuhar as new maintainers for ADT/Support,
replacing chandlerc.
Commit: 9fa109a5088bff9e8eabf6d67d0650fbd3db27cb
https://github.com/llvm/llvm-project/commit/9fa109a5088bff9e8eabf6d67d0650fbd3db27cb
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
R llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
R llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s
Log Message:
-----------
Revert "[RISCV] Add scheduling model for mips p8700 CPU" (#120537)
Reverts llvm/llvm-project#119885
llvm-project/llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td:20:5:
error: Processor does not define resources for WriteFCvtF32ToF16
def MIPSP8700Model : SchedMachineModel {
Commit: e4351f27cdaa6ca80312b6fca5c160d78acd9bb4
https://github.com/llvm/llvm-project/commit/e4351f27cdaa6ca80312b6fca5c160d78acd9bb4
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[TOSA] Don't run validation pass on non TOSA operations (#120205)
This commit ensures the validation pass is not run on operations from
other dialects. In doing so, operations from other dialects that, for
example, use types not supported by TOSA don't result in an error.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: beea5acc5e7d17a29e48f5dc627019e4db510e23
https://github.com/llvm/llvm-project/commit/beea5acc5e7d17a29e48f5dc627019e4db510e23
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Reapply "[driver] Fix sanitizer libc++ runtime linking (#120370)" (#120538)
Reland without item 2 from #120370 to avoid breaking libc++ tests.
This reverts commit 60a2f32cf5ce75c9a2511d7fc2b0f24699605912.
Commit: 9fc2fadbfcb34df5f72bdaed28a7874bf584eed7
https://github.com/llvm/llvm-project/commit/9fc2fadbfcb34df5f72bdaed28a7874bf584eed7
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/atomic-test-and-set.c
M clang/test/Sema/atomic-ops.c
Log Message:
-----------
[Clang] Re-write codegen for atomic_test_and_set and atomic_clear (#120449)
Re-write the sema and codegen for the atomic_test_and_set and
atomic_clear builtin functions to go via AtomicExpr, like the other
atomic builtins do. This simplifies the code, because AtomicExpr already
handles things like generating code for to dynamically select the memory
ordering, which was duplicated for these builtins. This also fixes a few
crash bugs, one when passing an integer to the pointer argument, and one
when using an array.
This also adds diagnostics for the memory orderings which are not valid
for atomic_clear according to
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html, which
were missing before.
Fixes #111293.
Commit: 2210da3b823ccf21fc634c858827c9f12c864b51
https://github.com/llvm/llvm-project/commit/2210da3b823ccf21fc634c858827c9f12c864b51
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
Log Message:
-----------
[lldb][AIX] clang-format changes for ProcessLauncherPosixFork.cpp (#120459)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added clang-format changes for ProcessLauncherPosixFork.cpp which will
be followed by ptrace changes in:
- https://github.com/llvm/llvm-project/pull/120390
Commit: 9829598933a0b79117891dd733fde5374e59f064
https://github.com/llvm/llvm-project/commit/9829598933a0b79117891dd733fde5374e59f064
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
Log Message:
-----------
[AArch64][SME2] Extend getRegAllocationHints for ZPRStridedOrContiguousReg (#119865)
ZPR2StridedOrContiguous loads used by a FORM_TRANSPOSED_REG_TUPLE
pseudo should attempt to assign a strided register to avoid unnecessary
copies, even though this may overlap with the list of SVE callee-saved registers.
Commit: 3c661cf03a2b1f669710a93bf73b15c831171888
https://github.com/llvm/llvm-project/commit/3c661cf03a2b1f669710a93bf73b15c831171888
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/test/MC/AArch64/arm64-elf-relocs.s
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
[PAC][MC][ELF][AArch64] Support signed TLSDESC (#120010)
Support the following relocations and assembly operators:
- `R_AARCH64_AUTH_TLSDESC_ADR_PAGE21` (`:tlsdesc_auth:` for `adrp`)
- `R_AARCH64_AUTH_TLSDESC_LD64_LO12` (`:tlsdesc_auth_lo12:` for `ldr`)
- `R_AARCH64_AUTH_TLSDESC_ADD_LO12` (`:tlsdesc_auth_lo12:` for `add`)
Commit: 431975b630d475920dfba4f38ac501d521427b34
https://github.com/llvm/llvm-project/commit/431975b630d475920dfba4f38ac501d521427b34
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerShift - directly initialize SmallVector with build vector operands. NFC.
Don't push_back the operands separately.
Commit: 976f877388cec5c8976ebe404e6ee68ff7bd5906
https://github.com/llvm/llvm-project/commit/976f877388cec5c8976ebe404e6ee68ff7bd5906
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] ExtendToType - directly initialize SmallVector with build vector operands. NFC.
Don't push_back the operands separately.
Commit: c616fdc8d0d6598679f667c351b458cb1cf8101b
https://github.com/llvm/llvm-project/commit/c616fdc8d0d6598679f667c351b458cb1cf8101b
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Pass user search paths to linker before implict ones (#119875)
Responsibility for setting up implicit library search paths was recently
transferred to the PS5 driver (llvm#109796). Prior to this, SIE private
patches in lld performed this function. During the transition, I failed
to maintain the order in which implicit and user-supplied search paths
were supplied/considered. This change ensures user-supplied search paths
appear before any implicit ones on the link line.
SIE tracker: TOOLCHAIN-17490
Commit: 10d84a86e54cfd0dcd3412e415edeb36b3f622c3
https://github.com/llvm/llvm-project/commit/10d84a86e54cfd0dcd3412e415edeb36b3f622c3
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
Log Message:
-----------
[bazel] port 79e859e049c77b5190a54fc1ecf1d262e3ef9f11
Commit: cffe22a93726a64e6a205b5dcd1c306a62488412
https://github.com/llvm/llvm-project/commit/cffe22a93726a64e6a205b5dcd1c306a62488412
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/include/llvm/Analysis/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Analysis/CMakeLists.txt
R llvm/lib/Analysis/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/DroppedVariableStats.cpp
Log Message:
-----------
Revert "[NFC] Move DroppedVariableStats code to Analysis (#120502)"
that introduces a circular dependency of analysis -> codegen -> target
This reverts commit e389492d6a00e1c49a034e13343098541ebd03c6.
Commit: a3bb2d675f2cf0409b681273719b5e064a2c137f
https://github.com/llvm/llvm-project/commit/a3bb2d675f2cf0409b681273719b5e064a2c137f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port cffe22a93726
Commit: c18fda02e1c5dd68ce65b8505d3976f0d5714d52
https://github.com/llvm/llvm-project/commit/c18fda02e1c5dd68ce65b8505d3976f0d5714d52
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
Log Message:
-----------
[LoopVectorize] Use new single string variant of reportVectorizationFailure (#120414)
Commit: eaf482f01252a0276a6b422dabe810a1abc7e168
https://github.com/llvm/llvm-project/commit/eaf482f01252a0276a6b422dabe810a1abc7e168
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
Log Message:
-----------
[AArch64] Tweak truncate costs for some scalable vector types (#119542)
== We were previously returning an invalid cost when truncating
anything to <vscale x 2 x i1>, which is incorrect since we can
generate perfectly good code for this.
== The costs for truncating legal or unpacked types to predicates
seemed overly optimistic. For example, when truncating
<vscale x 8 x i16> to <vscale x 8 x i1> we typically do
something like
and z0.h, z0.h, #0x1
cmpne p0.h, p0/z, z0.h, #0
I guess it might depend upon whether the input value is
generated in the same block or not and if we can avoid the
inreg zero-extend. However, it feels safe to take the more
conservative cost here.
== The costs for some truncates such as
trunc <vscale x 2 x i32> %a to <vscale x 2 x i16>
were 1, whereas in actual fact they are free and no instructions
are required.
== Also, for this
trunc <vscale x 8 x i32> %a to <vscale x 8 x i16>
it's just a single uzp1 instruction so I reduced the cost to 1.
In general, I've added costs for all cases where the destination
type is legal or unpacked. One unfortunate side effect of this
is the costs for some fixed-width truncates when using SVE now
look too optimistic.
Commit: e020f460275aab9053d9e090d0b777b40da14a81
https://github.com/llvm/llvm-project/commit/e020f460275aab9053d9e090d0b777b40da14a81
Author: David Green <david.green at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
A llvm/test/CodeGen/Thumb2/bf16-instructions.ll
Log Message:
-----------
[ARM] Fix BF16 lowering with FullFP16
This adds test coverage for bf16 instructions, making sure that lowering bf16
works with and without +fullfp16.
Commit: ecdc5289afec1af98640b6375a52aaf448fe7388
https://github.com/llvm/llvm-project/commit/ecdc5289afec1af98640b6375a52aaf448fe7388
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/builtin-assume-aligned-downgrade.c
M clang/test/Sema/builtin-assume-aligned.c
Log Message:
-----------
[Clang] Fix crash in __builtin_assume_aligned (#114217)
The CodeGen for __builtin_assume_aligned assumes that the first argument
is a pointer, so crashes if the int-conversion error is downgraded or
disabled. Emit a non-downgradable error if the argument is not a
pointer, like we currently do for __builtin_launder.
Fixes #110914.
Commit: 30f386cb4d43d0bd8f57c49f68f71defd7dcf968
https://github.com/llvm/llvm-project/commit/30f386cb4d43d0bd8f57c49f68f71defd7dcf968
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/bfcvtnt-diagnostics.s
M llvm/test/MC/AArch64/SVE/bfcvtnt.s
Log Message:
-----------
[AArch64] Fixup destructive floating-point precision conversions (#118788)
This patch changes the zeroing forms of `FCVTXNT`, `FCVTNT`, and
`BFCVTNT` such that their destination operand is also listed as a dag
input. These narrowing down-conversions leave the even elements of the
destination vector unchanged, regardless of the predicate type.
This patch also makes the merging form of `BFCVTNT` non-movprfx'able.
- `FCVTXNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/FCVTXNT--Floating-point-down-convert--rounding-to-odd--top--predicated--?lang=en)
- `FCVTNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/FCVTNT--predicated---Floating-point-down-convert-and-narrow--top--predicated--?lang=en)
- `BFCVTNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/BFCVTNT--Floating-point-down-convert-and-narrow-to-BFloat16--top--predicated--?lang=en)
Commit: 5a3f1acad7e8ce0e8cb90165794dce71f4b80bcd
https://github.com/llvm/llvm-project/commit/5a3f1acad7e8ce0e8cb90165794dce71f4b80bcd
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[LLParser] Remove redundant code (NFC) (#120478)
Commit: 5fb8d70e5f1c5d26bfa6ca9034863c10f3d8669d
https://github.com/llvm/llvm-project/commit/5fb8d70e5f1c5d26bfa6ca9034863c10f3d8669d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
ARM: Handle vldrh and vstrh in stack access hooks (#120527)
Commit: 056e5eccaf440e9127990f9fba1e5cacac399a14
https://github.com/llvm/llvm-project/commit/056e5eccaf440e9127990f9fba1e5cacac399a14
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU] Remove unneeded use of !dag. NFC. (#120546)
Commit: b41240be6b9e58687011b2bd1b942c6625cbb5ad
https://github.com/llvm/llvm-project/commit/b41240be6b9e58687011b2bd1b942c6625cbb5ad
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
Log Message:
-----------
[analyzer][NFC] Introduce APSIntPtr, a safe wrapper of APSInt (1/4) (#120435)
One could create dangling APSInt references in various ways in the past, that were sometimes assumed to be persisted in the BasicValueFactor.
One should always use BasicValueFactory to create persistent APSInts, that could be used by ConcreteInts or SymIntExprs and similar long-living objects.
If one used a temporary or local variables for this, these would dangle.
To enforce the contract of the analyzer BasicValueFactory and the uses of APSInts, let's have a dedicated strong-type for this.
The idea is that APSIntPtr is always owned by the BasicValueFactory, and that is the only component that can construct it.
These PRs are all NFC - besides fixing dangling APSInt references.
Commit: 060d62b48aeb5080ffcae1dc56e41a06c6f56701
https://github.com/llvm/llvm-project/commit/060d62b48aeb5080ffcae1dc56e41a06c6f56701
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
[LoopVectorizer] Add support for partial reductions (#92418)
Following on from https://github.com/llvm/llvm-project/pull/94499, this
patch adds support to the Loop Vectorizer to emit the partial reduction
intrinsics where they may be beneficial for the target.
---------
Co-authored-by: Samuel Tebbs <samuel.tebbs at arm.com>
Commit: d0d5101f9959013e42f6f07d79d0fe638aaa0aa3
https://github.com/llvm/llvm-project/commit/d0d5101f9959013e42f6f07d79d0fe638aaa0aa3
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
Log Message:
-----------
[analyzer][NFC] Migrate nonloc::ConcreteInt to use APSIntPtr (2/4) (#120436)
Commit: 13e20bcb98e57831d46162b9ba42a78d85e8283d
https://github.com/llvm/llvm-project/commit/13e20bcb98e57831d46162b9ba42a78d85e8283d
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
Log Message:
-----------
[analyzer][NFC] Migrate loc::ConcreteInt to use APSIntPtr (3/4) (#120437)
Commit: 23377890d022eb1fa9cb42eba5c4f72a1f8ac38d
https://github.com/llvm/llvm-project/commit/23377890d022eb1fa9cb42eba5c4f72a1f8ac38d
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
Log Message:
-----------
[analyzer][NFC] Migrate {SymInt,IntSym}Expr to use APSIntPtr (4/4) (#120438)
Commit: eace8269d9aeb67013d273735ec1be1002a6fac1
https://github.com/llvm/llvm-project/commit/eace8269d9aeb67013d273735ec1be1002a6fac1
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
[clang] NFC, simplify the shouldLifetimeExtendThroughPath.
Commit: 6586c676b42aa9c7e78f9b1d419767a02793a70f
https://github.com/llvm/llvm-project/commit/6586c676b42aa9c7e78f9b1d419767a02793a70f
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/Sema/attr-target-version.c
M clang/test/SemaCXX/attr-target-version.cpp
Log Message:
-----------
[FMV][AArch64] Emit mangled default version if explicitly specified. (#120022)
Currently we need at least one more version other than the default to
trigger FMV. However we would like a header file declaration
__attribute__((target_version("default"))) void f(void);
to guarantee that there will be f.default
Commit: eb812d28f542bf0de54c157a7391e446739570cc
https://github.com/llvm/llvm-project/commit/eb812d28f542bf0de54c157a7391e446739570cc
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
Log Message:
-----------
[X86] Put R20/R21/R28/R29 later in GR64 list (#120510)
Because these registers require an extra byte to encode in certain
memory form. Putting them later in the list will reduce code size when
EGPR is enabled. And align the same order in GR8, GR16 and GR32 lists.
Example:
movq (%r20), %r11 # encoding: [0xd5,0x1c,0x8b,0x1c,0x24]
movq (%r22), %r11 # encoding: [0xd5,0x1c,0x8b,0x1e]
Commit: 89da344e5879e5347b5057520d5230e40ae24831
https://github.com/llvm/llvm-project/commit/89da344e5879e5347b5057520d5230e40ae24831
Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/Analysis/CFG.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
A clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/out-of-bounds-new.cpp
Log Message:
-----------
[analyzer] Handle [[assume(cond)]] as __builtin_assume(cond) (#116462)
Resolves #100762
Gist of the change:
1. All the symbol analysis, constraint manager and expression parsing
logic was already present, but the previous code didn't "visit" the
expressions within `assume()` by parsing those expressions, all of the
code "just works" by evaluating the SVals, and hence leaning on the same
logic that makes the code with `__builtin_assume` work
2. "Ignore" an expression from adding in CFG if it has side-effects (
similar to CGStmt.cpp (todo add link))
3. Add additional test case for ternary operator handling and modify
CFG.cpp's VisitGuardedExpr code for `continue`-ing if the `ProgramPoint`
is a `StmtPoint`
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 9bb1d0369c064d50c5f0f7ed6313289c8a42d14f
https://github.com/llvm/llvm-project/commit/9bb1d0369c064d50c5f0f7ed6313289c8a42d14f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/reduction.ll
Log Message:
-----------
[X86] getShuffleCost - when splitting shuffles, if a whole vector source is just copied we should treat this as free. (#120561)
If the shuffle split results in referencing a single legalised whole vector (i.e. no permutation), then this can be treated as free.
We already do something similar for broadcasts / whole subvector insertion + extraction - its purely an issue for register allocation.
Commit: ca98a3d9bbc254cbb7f028866a7d2077b7994ee8
https://github.com/llvm/llvm-project/commit/ca98a3d9bbc254cbb7f028866a7d2077b7994ee8
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-to-int.ll
A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
Log Message:
-----------
[AArch64][SVE] Use SVE for scalar FP converts in streaming[-compatible] functions (1/n) (#118505)
In streaming[-compatible] functions, use SVE for scalar FP conversions
to/from integer types. This can help avoid moves between FPRs and GRPs,
which could be costly.
This patch also updates definitions of SCVTF_ZPmZ_StoD and
UCVTF_ZPmZ_StoD to disallow lowering to them from ISD nodes, as doing so
requires creating a [U|S]INT_TO_FP_MERGE_PASSTHRU node with inconsistent
types.
Follow up to #112213.
Note: This PR does not include support for f64 <-> i32 conversions (like
#112564), which needs a bit more work to support.
Commit: 32220601247896f508ccfde614f5ba6afc85b27d
https://github.com/llvm/llvm-project/commit/32220601247896f508ccfde614f5ba6afc85b27d
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
A llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s
Log Message:
-----------
Reland "[RISCV] Add scheduling model for mips p8700 CPU" (#120550)
This patch introduces a scheduling model for the MIPS p8700, an
out-of-order
RISC-V processor. The model includes pipelines for the following units:
- 2 Integer Arithmetic/Logical Units (ALU and AL2)
- Multiply/Divide Unit (MDU)
- Branch Unit (CTI)
- Load/Store Unit (LSU)
- Short Floating-Point Pipe (FPUS)
- Long Floating-Point Pipe (FPUL)
For additional details, refer to the official product page:
https://mips.com/products/hardware/p8700/.
Also adds `UnsupportedSchedZfhmin` to handle cases like
`WriteFCvtF16ToF32` that
previously caused build failures.
Commit: db84ae3a68173fc561acb79adb6c557cb73ad938
https://github.com/llvm/llvm-project/commit/db84ae3a68173fc561acb79adb6c557cb73ad938
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[Clang][AArch64] Add signed index/offset variants of sve2p1 qword stores (#120549)
This patch adds signed offset/index variants to the SVE2p1 quadword
store intrinsics, in accordance with
https://github.com/ARM-software/acle/pull/359.
Commit: eba7690d2b94ebe7fcf3e8ceecd4486f328de035
https://github.com/llvm/llvm-project/commit/eba7690d2b94ebe7fcf3e8ceecd4486f328de035
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/include/lldb/Host/HostGetOpt.h
M lldb/include/lldb/Host/common/GetOptInc.h
Log Message:
-----------
[lldb][AIX] GetOpt support in AIX (#120574)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Adding changes for minimal build for lldb binary on AIX.
getopt.h is missing in AIX, so instead relying on LLDB's getopt
functions.
Commit: 0745add7f458e0a65e048f8c74933bdb48ae97d9
https://github.com/llvm/llvm-project/commit/0745add7f458e0a65e048f8c74933bdb48ae97d9
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
Log Message:
-----------
[mlir][GPU] Do not strip location info when lowering to NVVM (#120432)
This is needed for a subsequent commit that reads location information
when lowering `gpu.assert`.
Commit: 9469fd24b9a377947ed7726aee671a6095d44e44
https://github.com/llvm/llvm-project/commit/9469fd24b9a377947ed7726aee671a6095d44e44
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
Log Message:
-----------
[Clang][AArch64] Remove const from base pointers in sve2p1 stores (#120551)
This patch removes the const qualifier from the base pointer argument of
`svst1wq`/`svst1wq_vnum` and `svst1dq`/`svst1dq_vnum`, in accordance
with https://github.com/ARM-software/acle/pull/359.
Commit: 94837c8b5761d20310947be5d2e1e568f67e8c0c
https://github.com/llvm/llvm-project/commit/94837c8b5761d20310947be5d2e1e568f67e8c0c
Author: Tim Creech <timothy.m.creech at intel.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
Add llvm-profgen to the list of toolchain tools (#120106)
This tool is used for SPGO and is invoked directly by users as described
in the Clang User's Manual[^1].
This change will include llvm-profgen in installations configured with
LLVM_INSTALL_TOOLCHAIN_ONLY, such as those provided by LLVM's executable
Windows installers. This is useful now that LLVM can perform SPGO on
Windows.
[^1]:
https://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers
Commit: 6f8afafd308d37d9abc4af0801dd5a4451c13718
https://github.com/llvm/llvm-project/commit/6f8afafd308d37d9abc4af0801dd5a4451c13718
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
A llvm/test/Transforms/InstCombine/select-with-extreme-eq-cond.ll
Log Message:
-----------
[InstCombine] Fold `A == MIN_INT ? B != MIN_INT : A < B` to `A < B` (#120177)
This PR folds:
`A == MIN_INT ? B != MIN_INT : A < B` to `A < B`
`A == MAX_INT ? B != MAX_INT : A > B` to `A > B`
Proof: https://alive2.llvm.org/ce/z/bR6E2s
This helps in optimizing comparison of optional unsigned non-zero types
in https://github.com/rust-lang/rust/issues/49892.
Rust compiler's current output: https://rust.godbolt.org/z/9fxfq3Gn8
Commit: 1f2d934525833c4aae5f0436fd99551c776fd246
https://github.com/llvm/llvm-project/commit/1f2d934525833c4aae5f0436fd99551c776fd246
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Support pointers in __builtin_mem{move,cpy} (#120560)
Unfortunately, that means we can't use the __builtin_bit_cast
implementation for this.
Commit: a161e73fcc957860afe1ff603d3ed77ea0311cc3
https://github.com/llvm/llvm-project/commit/a161e73fcc957860afe1ff603d3ed77ea0311cc3
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
Log Message:
-----------
[AMDGPU] Remove unnecessary casts to GCNSubtarget
Commit: 310e79875752886a7713911e2a1ec14bc75bd4b3
https://github.com/llvm/llvm-project/commit/310e79875752886a7713911e2a1ec14bc75bd4b3
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/chain-different-as.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
M llvm/test/CodeGen/NVPTX/demote-vars.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
M llvm/test/CodeGen/NVPTX/reg-types.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/vector-returns.ll
Log Message:
-----------
[NVPTX] Avoid introducing unnecessary ProxyRegs and Movs in ISel (#120486)
Avoid introducing `ProxyReg` and `MOV` nodes during ISel when lowering
`bitconvert` or similar operations. These nodes are all erased by a
later pass but not introducing them in the first place is simpler and
likely saves compile time.
Also remove redundant `MOV` instruction definitions.
Commit: b0a4b5b35ab1951d0a4fa95ff58d96e902aa8b1e
https://github.com/llvm/llvm-project/commit/b0a4b5b35ab1951d0a4fa95ff58d96e902aa8b1e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120532)
Commit: d56edc14d8f7e6f0a43f488ef8c2457e1c0cad91
https://github.com/llvm/llvm-project/commit/d56edc14d8f7e6f0a43f488ef8c2457e1c0cad91
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++] Bump the Docker image used in the CI (#120248)
This switches to using a slightly newer CMake version in our CI.
Commit: cc246d4a29a0ece8470d2baa1f98245446051fe3
https://github.com/llvm/llvm-project/commit/cc246d4a29a0ece8470d2baa1f98245446051fe3
Author: Abhay Kanhere <abhay at kanhere.net>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Transforms/HotColdSplit/outline-inner-region-stacktoocomplex.ll
Log Message:
-----------
[Transforms][CodeExtraction] bug fix regions with stackrestore (#118564)
Ensure code extraction for outlining to a function does not create a function with stacksave of caller to restore stack (e.g. tail call).
Commit: 4039a79de71bd969ef5bf944fd9f46430338ff7e
https://github.com/llvm/llvm-project/commit/4039a79de71bd969ef5bf944fd9f46430338ff7e
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A libcxx/test/std/containers/sequences/vector.bool/assign_iter_iter.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_iter_iter.pass.cpp
Log Message:
-----------
[libc++][test] Improve tests for assign in std::vector and vector<bool> (#119163)
This PR enhances the test coverage for std::vector::assign by adding new
tests for several important test cases that were previously missing, as
shown in the following table:
| test cases | forward_iterator | input_iterator |
|-----------------------------------|------------------|----------------|
| new_size > capacity() | Yes | Yes |
| size() < new_size <= capacity() | No | No |
| new_size <= size() | No | No |
Similarly, no tests have previously covered `assign(InputIterator, InputIterator)`
and `assign(size_type, const value_type&)` for `vector<bool>`.
With this patch applied, all missing tests are covered.
Commit: 2b6713d3b87d6e0bf562cf10ef620a12328c4106
https://github.com/llvm/llvm-project/commit/2b6713d3b87d6e0bf562cf10ef620a12328c4106
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/test/COFF/start-lib.ll
Log Message:
-----------
[lld/coff] Fix assert on /start-lib foo.obj /end-lib during eager loads (#120292)
If foo.obj is eagerly loaded (due to a prior undef referencing one if
its symbols) and has more than one symbol, we used to assert:
SymbolTable::addLazyObject() for the first symbol would set `lazy` to
false and load all symbols from the file, but the outer
ObjFile::parseLazy() loop would continue to run and call addLazyObject()
for the second symbol, which would assert.
Instead, just stop adding lazy symbols if the file got loaded for real
while adding a symbol.
(The ELF port has a similar early exit in `ObjFile<ELFT>::parseLazy()`.)
Commit: b05071de89e9c26ef8b3f7ab2ff6a56241b54ea8
https://github.com/llvm/llvm-project/commit/b05071de89e9c26ef8b3f7ab2ff6a56241b54ea8
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A lld/test/ELF/Inputs/eager.s
A lld/test/ELF/lto/Inputs/eager.ll
M lld/test/ELF/lto/start-lib.ll
M lld/test/ELF/start-lib.s
Log Message:
-----------
[lld/ELF] Add tests for start-lib / end-lib with eager loads (#120294)
Contains tests for the scenarios fixed in lld/COFF in #120292. They pass
without code changes, but I didn't see existing tests for this.
Commit: f8bcd93224283291534d75a61cc7e5d8fbf0d311
https://github.com/llvm/llvm-project/commit/f8bcd93224283291534d75a61cc7e5d8fbf0d311
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/start-lib.ll
Log Message:
-----------
[lld/COFF] Fix -start-lib / -end-lib after reviews.llvm.org/D116434 (#120452)
That change forgot to set `lazy` to false before calling `addFile()` in
`forceLazy()` which caused `addFile()` to parse the file we want to
force a load for to be added as a lazy object again instead of adding
the file to `ctx.objFileInstances`.
This is caught by a pretty simple test (included).
Commit: e6b24955455d74ee748d1e9986d67de6d40ed22e
https://github.com/llvm/llvm-project/commit/e6b24955455d74ee748d1e9986d67de6d40ed22e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG] Split SDNode::use_iterator into user_iterator and use_iterator. (#120531)
SDNode::use_iterator now returns an SDUse& when dereferenced.
SDNode::user_iterator returns SDNode*. SDNode::use_begin/use_end/uses
work on use_iterator. SDNode::user_begin/user_end/users work on
user_iterator.
We can now write range based for loops using SDUse& and SDNode::uses().
I've converted many of these in this patch. I didn't update loops that
have additional variables updated in their for statement.
Some loops use SDNode::use_iterator::getOperandNo() which also prevents
using range based for loops. I plan to move this into SDUse in a follow
up patch.
Commit: fafdf97047b1d9622ffbb59919d2422e062882f2
https://github.com/llvm/llvm-project/commit/fafdf97047b1d9622ffbb59919d2422e062882f2
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libcxx/include/__vector/vector_bool.h
A libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp
Log Message:
-----------
[libc++] Simplify vector<bool>::flip() and add new tests (#119607)
This PR simplifies the internal bitwise logic of the `flip()` function
for `vector<bool>`, and creates new tests to validate the changes.
Commit: 145ddf7ede28d9131a65b7f86ad07736a824ee21
https://github.com/llvm/llvm-project/commit/145ddf7ede28d9131a65b7f86ad07736a824ee21
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
Log Message:
-----------
[M68k] Fix build after splitting SDNode::use_iterator.
Commit: 527595f92789f9701a4b91ab32b792034352f78d
https://github.com/llvm/llvm-project/commit/527595f92789f9701a4b91ab32b792034352f78d
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp
Log Message:
-----------
[lldb][Mach-O] Initialize cputype/cpusubtype in test corefiles (#120518)
TestFirmwareCorefiles.py has a helper utility,
create-empty-corefile.cpp, which creates corefiles with different
metadata to specify the binary that should be loaded. It normally uses
an actual binary's UUID for the metadata, and it uses the binary's
cputype/cpusubtype for the corefile's mach header.
There is one test where it creates a corefile with metadata for a UUID
that cannot be found -- it is given no binary -- and in that case, the
cputype/cpusubtype it sets in the core file mach header was
uninitialized data. Through luck, on Darwin systems, the uninitialized
data typically matched a CPU_TYPE from machine.h and the test would
work. But when the value doens't match one of thoes defines, lldb would
reject the corefile entirely, and the test would fail. This has been an
infrequent failure on the CI bots for a while and I couldn't ever repo
it. There's a recent configuration where it was happening every time and
I was able to track it down.
rdar://141727563
Commit: 2b9abf0db2d106c7208b4372e662ef5df869e6f1
https://github.com/llvm/llvm-project/commit/2b9abf0db2d106c7208b4372e662ef5df869e6f1
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/Analysis/CFG.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
R clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/out-of-bounds-new.cpp
Log Message:
-----------
Revert "[analyzer] Handle [[assume(cond)]] as __builtin_assume(cond) (#116462)"
This reverts commit 89da344e5879e5347b5057520d5230e40ae24831.
Reason: buildbot breakages e.g., https://lab.llvm.org/buildbot/#/builders/55/builds/4556 (for which the reverted patch is the only code change)
Commit: f139bde8d85e4f7666f2fd739b61894fa58f2f18
https://github.com/llvm/llvm-project/commit/f139bde8d85e4f7666f2fd739b61894fa58f2f18
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG] Move SDNode::use_iterator::getOperandNo to SDUse. (#120536)
This allows us to write more range based for loops because we no
longer need the iterator. It also matches IR's Use class.
Commit: 4044886c7c6f75a6d7d0205f8a33d9f404f7832f
https://github.com/llvm/llvm-project/commit/4044886c7c6f75a6d7d0205f8a33d9f404f7832f
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
Log Message:
-----------
Revert "[AMDGPU][True16][MC] true16 for v_minmax/maxmin_f16 (#119586)" (#120594)
This reverts commit e0526b0780f56eede09b05a859a93626ecdc6e4d.
The `v_minmax/maxmin_f16`(GFX11) needs to be updated to t16 with
`v_minmax/maxmin_num_f16`(GFX12) together since they share the same
codegen pattern. Revert the old patch and resubmit
Commit: c2dd61279764c9e525b73d37dae58ed77b773b1d
https://github.com/llvm/llvm-project/commit/c2dd61279764c9e525b73d37dae58ed77b773b1d
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/test/COFF/thin-archive.s
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/Options.td
Log Message:
-----------
[llvm-lib] Add /llvmlibindex:no to disable writing an index (#120596)
This can be used with /llvmlibthin to create thin archives without an
index, which is a prerequisite for porting
https://reviews.llvm.org/D117284 to lld-link.
Creating files like this is already possible with `llvm-ar rcS`, so this
doesn't add additional problems.
Commit: 434819c35f4e0168248a30677077fe7c8c8ab29c
https://github.com/llvm/llvm-project/commit/434819c35f4e0168248a30677077fe7c8c8ab29c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
Log Message:
-----------
[PhaseOrdering][X86] Add test coverage for #34072
Add tests for horizontal add patterns with missing/undemanded elements - which typically prevents folding to the (add (shuffle a, b),(shuffle a, b)) optimal pattern
Commit: 01b96385fd8760d1fc79c35d1f980c9b64d03599
https://github.com/llvm/llvm-project/commit/01b96385fd8760d1fc79c35d1f980c9b64d03599
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV][test] Add zbb-logic-neg-imm.ll
Commit: 254ba78495100d9f20c4fa9802395f11c6d3cef1
https://github.com/llvm/llvm-project/commit/254ba78495100d9f20c4fa9802395f11c6d3cef1
Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
Log Message:
-----------
[GenericDomTree][NFC] Remove unnecessary `const_cast`s (#97638)
Commit: 46e782300765eeac8026377bf30d5f08888c2b25
https://github.com/llvm/llvm-project/commit/46e782300765eeac8026377bf30d5f08888c2b25
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
A lldb/test/API/macosx/sme-registers/Makefile
A lldb/test/API/macosx/sme-registers/TestSMERegistersDarwin.py
A lldb/test/API/macosx/sme-registers/main.c
M lldb/tools/debugserver/source/DNBDefs.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h
A lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb][debugserver] Read/write SME registers on arm64 (#119171)
**Note:** The register reading and writing depends on new register
flavor support in thread_get_state/thread_set_state in the kernel, which
will be first available in macOS 15.4.
The Apple M4 line of cores includes the Scalable Matrix Extension (SME)
feature. The M4s do not implement Scalable Vector Extension (SVE),
although the processor is in Streaming SVE Mode when the SME is being
used. The most obvious side effects of being in SSVE Mode are that (on
the M4 cores) NEON instructions cannot be used, and watchpoints may get
false positives, the address comparisons are done at a lowered
granularity.
When SSVE mode is enabled, the kernel will provide the Streaming Vector
Length register, which is a maximum of 64 bytes with the M4. Also
provided are SVCR (with bits indicating if SSVE mode and SME mode are
enabled), TPIDR2, SVL. Then the SVE registers Z0..31 (SVL bytes long),
P0..15 (SVL/8 bytes), the ZA matrix register (SVL*SVL bytes), and the M4
supports SME2, so the ZT0 register (64 bytes).
When SSVE/SME are disabled, none of these registers are provided by the
kernel - reads and writes of them will fail.
Unlike Linux, lldb cannot modify the SVL through a thread_set_state
call, or change the processor state's SSVE/SME status. There is also no
way for a process to request a lowered SVL size today, so the work that
David did to handle VL/SVL changing while stepping through a process is
not an issue on Darwin today. But debugserver should be providing
everything necessary so we can reuse all of David's work on resizing the
register contexts in lldb if it happens in the future. debugbserver
sends svl, svcr, and tpidr2 in the expedited registers when a thread
stops, if SSVE|SME mode are enabled (if the kernel allows it to read the
ARM_SME_STATE register set).
While the maximum SVL is 64 bytes on M4, the AArch64 maximum possible
SVL is 256; this would give us a 64k ZA register. If debugserver sized
all of its register contexts assuming the largest possible SVL, we could
easily use 2MB more memory for the register contexts of all threads in a
process -- and on iOS et al, processes must run within a small memory
allotment and this would push us over that.
Much of the work in debugserver was changing the arm64 register context
from being a static compile-time array of register sets, to being
initialized at runtime if debugserver is running on a machine with SME.
The ZA is only created to the machine's actual maximum SVL. The size of
the 32 SVE Z registers is less significant so I am statically allocating
those to the architecturally largest possible SVL value today.
Also, debugserver includes information about registers that share the
same part of the register file. e.g. S0 and D0 are the lower parts of
the NEON 128-bit V0 register. And when running on an SME machine, v0 is
the lower 128 bits of the SVE Z0 register. So the register maps used
when defining the VFP registers must differ depending on the
capabilities of the cpu at runtime.
I also changed register reading in debugserver, where formerly when
debugserver was asked to read a register, and the thread_get_state read
of that register failed, it would return all zero's. This is necessary
when constructing a `g` packet that gets all registers - because there
is no separation between register bytes, the offsets are fixed. But when
we are asking for a single register (e.g. Z0) when not in SSVE/SME mode,
this should return an error.
This does mean that when you're running on an SME capabable machine, but
not in SME mode, and do `register read -a`, lldb will report that 48 SVE
registers were unavailable and 5 SME registers were unavailable. But
that's only when `-a` is used.
The register reading and writing depends on new register flavor support
in thread_get_state/thread_set_state in the kernel, which is not yet in
a release. The test case I wrote is skipped on current OSes. I pilfered
the SME register setup from some of David's existing SME test files;
there were a few Linux specific details in those tests that they weren't
easy to reuse on Darwin.
rdar://121608074
Commit: a03343daa6e7a44531e06c8897d6c6d4a46cd430
https://github.com/llvm/llvm-project/commit/a03343daa6e7a44531e06c8897d6c6d4a46cd430
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.exe
R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.memprofraw
M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
M llvm/test/Transforms/PGOProfile/memprof_missing_leaf.ll
Log Message:
-----------
[memprof] YAMLify the profile for memprof_missing_leaf.ll (NFC) (#120488)
This patch converts the profile for memprof_missing_leaf.ll to the
recently introduced YAML-based text format.
Commit: e504ece6c15fa5b347a4d8ff7e6fc98ee109660e
https://github.com/llvm/llvm-project/commit/e504ece6c15fa5b347a4d8ff7e6fc98ee109660e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
Log Message:
-----------
[LLVMIR] Migrate away from PointerUnion::{is,get} (NFC) (#120530)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 37100505664a4c451eb530bc899de204adb80a13
https://github.com/llvm/llvm-project/commit/37100505664a4c451eb530bc899de204adb80a13
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Set CommonVL as the largest of the users (#120349)
Prior to this patch, we required that all users had the same VL in order
to optimize. But as the FIXME said, we can use the largest VL to
optimize, as long as we can determine what the largest is. This patch
implements the FIXME.
Commit: 28865769440756138a88a9c8e8b72b1f5d8db715
https://github.com/llvm/llvm-project/commit/28865769440756138a88a9c8e8b72b1f5d8db715
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] clang-format MemProf-related files (NFC) (#120504)
Commit: 21684e38ee65c89d1d0b399c938a83fba5e5c04e
https://github.com/llvm/llvm-project/commit/21684e38ee65c89d1d0b399c938a83fba5e5c04e
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT][Linux] Refactor reading of PC-relative addresses. NFCI (#120491)
Fix evaluation order problem identified in
https://github.com/llvm/llvm-project/pull/119088.
Commit: b71c44b9be17dc6295eb733d685b38e797f3c846
https://github.com/llvm/llvm-project/commit/b71c44b9be17dc6295eb733d685b38e797f3c846
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
Log Message:
-----------
[scudo] Add the record of number of attempted page release (#120497)
This also removes the `RangesReleased` which doesn't give much insight
to whether we should adjust the heuristic of doing page release.
Commit: 1808255a44e67446715cb6b16df49c6cec41b0b4
https://github.com/llvm/llvm-project/commit/1808255a44e67446715cb6b16df49c6cec41b0b4
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
Log Message:
-----------
[DWARFVerifier] Fix and enable broken test llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml (#120330)
Fixing broken test - calling `sed` in a cross-platform compatible way.
Verified to pass on Mac (which uses BSD sed).
Commit: 395a369056e1a9b55015b81a8667f39f1f48457f
https://github.com/llvm/llvm-project/commit/395a369056e1a9b55015b81a8667f39f1f48457f
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
Log Message:
-----------
[Xtensa] Fix build after splitting SDNode::use_iterator
Same as: 145ddf7ede28d9131a65b7f86ad07736a824ee21
Commit: 98c97d4a19412a76f7279003af6cb219dea1f0c3
https://github.com/llvm/llvm-project/commit/98c97d4a19412a76f7279003af6cb219dea1f0c3
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
[WebKit checkers] Recognize adoptRef as a safe function (#119846)
adoptRef in WebKit constructs Ref/RefPtr so treat it as such in
isCtorOfRefCounted. Also removed the support for makeRef and makeRefPtr
as they don't exist any more.
Commit: aa07f922103ebe8e78c8da4c754b43af3c129f3e
https://github.com/llvm/llvm-project/commit/aa07f922103ebe8e78c8da4c754b43af3c129f3e
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/CodeGen/DirectX/BufferLoad.ll
M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
M llvm/test/CodeGen/DirectX/BufferStore.ll
M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll
M llvm/test/CodeGen/DirectX/CreateHandle.ll
M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
M llvm/test/CodeGen/DirectX/bufferUpdateCounter.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
Log Message:
-----------
[DirectX][SPIRV] Consistent names for HLSL resource intrinsics (#120466)
Rename HLSL resource-related intrinsics to be consistent with the naming
conventions discussed in [wg-hlsl:0014].
This is an entirely mechanical change, consisting of the following
commands and automated formatting.
```sh
git grep -l handle.fromBinding | xargs perl -pi -e \
's/(dx|spv)(.)handle.fromBinding/$1$2resource$2handlefrombinding/g'
git grep -l typedBufferLoad_checkbit | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferLoad_checkbit/$1$2resource$2loadchecked$2typedbuffer/g'
git grep -l typedBufferLoad | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferLoad/$1$2resource$2load$2typedbuffer/g'
git grep -l typedBufferStore | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferStore/$1$2resource$2store$2typedbuffer/g'
git grep -l bufferUpdateCounter | xargs perl -pi -e \
's/(dx|spv)(.)bufferUpdateCounter/$1$2resource$2updatecounter/g'
git grep -l cast_handle | xargs perl -pi -e \
's/(dx|spv)(.)cast.handle/$1$2resource$2casthandle/g'
```
[wg-hlsl:0014]: https://github.com/llvm/wg-hlsl/blob/main/proposals/0014-consistent-naming-for-dx-intrinsics.md
Commit: d3508ccd1512c57094ec7b321d147aa72c9fbc7e
https://github.com/llvm/llvm-project/commit/d3508ccd1512c57094ec7b321d147aa72c9fbc7e
Author: Konstantina Mitropoulou <44334539+kmitropoulou at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
A llvm/test/CodeGen/AMDGPU/uniform_branch_with_floating_point_cond.ll
Log Message:
-----------
[AMDGPU] Emit S_CBRANCH_SCC for floating-point conditions. (#120588)
- **[AMDGPU] Add new test.**
- **[AMDGPU] Emit S_CBRANCH_SCC for floating-point conditions.**
---------
Co-authored-by: Konstantina Mitropoulou <KonstantinaMitropoulou at amd.com>
Commit: b5d02786be31f45ca5919b3b73e99d8958330f78
https://github.com/llvm/llvm-project/commit/b5d02786be31f45ca5919b3b73e99d8958330f78
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
Revert "[WebKit checkers] Recognize adoptRef as a safe function" (#120626)
Reverts llvm/llvm-project#119846. Introduced a failing test.
Commit: 45c01e8a33bbb1790ea16577e47b1e6a34fa1548
https://github.com/llvm/llvm-project/commit/45c01e8a33bbb1790ea16577e47b1e6a34fa1548
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[NFC][TargetTransformInfo][VectorUtils] Consolidate `isVectorIntrinsic...` api (#117635)
- update `VectorUtils:isVectorIntrinsicWithScalarOpAtArg` to use TTI for
all uses, to allow specifiction of target specific intrinsics
- add TTI to the `isVectorIntrinsicWithStructReturnOverloadAtField` api
- update TTI api to provide `isTargetIntrinsicWith...` functions and
consistently name them
- move `isTriviallyScalarizable` to VectorUtils
- update all uses of the api and provide the TTI parameter
Resolves #117030
Commit: e3b571e632855386908c5cea310f5056d31d6df8
https://github.com/llvm/llvm-project/commit/e3b571e632855386908c5cea310f5056d31d6df8
Author: Niels Dekker <N.Dekker at lumc.nl>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
Log Message:
-----------
[clang-tidy][NFC] Sync ContainerSizeEmptyCheck with container-size-empty doc (#118459)
Brought the class documentation in sync with the user documentation at
container-size-empty.rst:
https://github.com/llvm/llvm-project/blob/bfb26202e05ee2932b4368b5fca607df01e8247f/clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst#L7-L14
Commit: 10d054e95413f0e98e4aeed9dbd4605f6f03b3fa
https://github.com/llvm/llvm-project/commit/10d054e95413f0e98e4aeed9dbd4605f6f03b3fa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Introduce IndexedCallstackIdConveter (NFC) (#120540)
This patch introduces IndexedCallstackIdConveter as a convenience
wrapper around FrameIdConverter and CallStackIdConverter just for
tests.
With the new wrapper, we get to replace idioms like:
FrameIdConverter<decltype(MemProfData.Frames)> FrameIdConv(
MemProfData.Frames);
CallStackIdConverter<decltype(MemProfData.CallStacks)> CSIdConv(
MemProfData.CallStacks, FrameIdConv);
with:
IndexedCallstackIdConveter CSIdConv(MemProfData);
Unfortunately, this exact pattern occurs in tests only; the
combinations of the frame ID converter and call stack ID converter are
diverse in production code.
Commit: 4bbdb018a6cb564783cfb9c65ca82b81c6006bb6
https://github.com/llvm/llvm-project/commit/4bbdb018a6cb564783cfb9c65ca82b81c6006bb6
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang-c/Index.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/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Serialization/ASTBitCodes.h
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/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-print-openacc-init-construct.cpp
A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/SemaOpenACC/combined-construct-async-clause.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenACC/init-construct-ast.cpp
A clang/test/SemaOpenACC/init-construct.cpp
A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
A clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/wait-construct.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Implement 'init' and 'shutdown' constructs
These two constructs are very simple and similar, and only support 3
different clauses, two of which are already implemented. This patch
adds AST nodes for both constructs, and leaves the device_num clause
unimplemented, but enables the other two.
Commit: bdf255530821201c9febf9fdb42b91082656dc94
https://github.com/llvm/llvm-project/commit/bdf255530821201c9febf9fdb42b91082656dc94
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'device_num' clause sema for 'init'/'shutdown'
This is a very simple sema implementation, and just required AST node
plus the existing diagnostics. This patch adds tests and adds the AST
node required, plus enables it for 'init' and 'shutdown' (only!)
Commit: 1fcb6a9754a8db057e18f629cb90011b638901e7
https://github.com/llvm/llvm-project/commit/1fcb6a9754a8db057e18f629cb90011b638901e7
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/Runtime/Derived.h
M flang/include/flang/Runtime/derived-api.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/runtime/derived-api.cpp
M flang/runtime/derived.cpp
M flang/runtime/derived.h
A flang/test/Lower/OpenMP/derived-type-allocatable.f90
Log Message:
-----------
[flang][OpenMP] Initialize allocatable members of derived types (#120295)
Allocatable members of privatized derived types must be allocated,
with the same bounds as the original object, whenever that member
is also allocated in it, but Flang was not performing such
initialization.
The `Initialize` runtime function can't perform this task unless
its signature is changed to receive an additional parameter, the
original object, that is needed to find out which allocatable
members, with their bounds, must also be allocated in the clone.
As `Initialize` is used not only for privatization, sometimes this
other object won't even exist, so this new parameter would need
to be optional.
Because of this, it seemed better to add a new runtime function:
`InitializeClone`.
To avoid unnecessary calls, lowering inserts a call to it only for
privatized items that are derived types with allocatable members.
Fixes https://github.com/llvm/llvm-project/issues/114888
Fixes https://github.com/llvm/llvm-project/issues/114889
Commit: 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2
https://github.com/llvm/llvm-project/commit/4797437463e63ee289a1ff1904cfb7b2fe6cb4c2
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
Log Message:
-----------
[clang][NFC] Increase NumStmtBits by 1 as we are approaching the limit (#120341)
We have already hit the limit of NumStmtBits downstream after
010d0115fc8e3834fc6f747f0841f3b1e467c4da, which adds 4 new StmtNodes.
Commit: 6e7312bda60249c25e2ae9078d9f70bc2a65838c
https://github.com/llvm/llvm-project/commit/6e7312bda60249c25e2ae9078d9f70bc2a65838c
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV] Select and/or/xor with certain constants to Zbb ANDN/ORN/XNOR (#120221)
(and X, (C<<12|0xfff)) -> (ANDN X, ~C<<12)
(or X, (C<<12|0xfff)) -> (ORN X, ~C<<12)
(xor X, (C<<12|0xfff)) -> (XNOR X, ~C<<12)
Emits better code, typically by avoiding an `ADDI HI, -1` instruction.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 7009b0699343a7eb87e77d8e13f7c70a02ebed5f
https://github.com/llvm/llvm-project/commit/7009b0699343a7eb87e77d8e13f7c70a02ebed5f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow STOP in device context (#120625)
STOP statement is allowed in device procedure
Commit: cb8a90b7d17f851dec9c1c2d429622909aa5b605
https://github.com/llvm/llvm-project/commit/cb8a90b7d17f851dec9c1c2d429622909aa5b605
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/bounds-checking.c
M clang/test/CodeGen/ubsan-trap-merge.c
Log Message:
-----------
[ubsan] Remove -ubsan-unique-traps (replace with -fno-sanitize-merge) (#120613)
-fno-sanitize-merge (introduced in
https://github.com/llvm/llvm-project/pull/120511) duplicates the
functionality of -ubsan-unique-traps but also allows individual checks
to be specified e.g.,
* "-fno-sanitize-merge" without arguments is equivalent to
-ubsan-unique-traps
* "-fno-sanitize-merge=bool,enum" will apply it only to those two checks
Additionally, the naming is more consistent with the rest of the
-fsanitize- family.
This patch therefore removes -ubsan-unique-traps. This breaks backwards
compatibility; we hope that this is acceptable since '-mllvm
-ubsan-unique-traps' was an experimental flag.
This patch also adds negative test examples to bounds-checking.c, and
strengthens the NOOPTARRAY assertion to prevent spurious matches.
"-bounds-checking-unique-traps" is unaffected by this patch.
Commit: 8dfae0c462e9558df77c83c97d89b4b83ed1baff
https://github.com/llvm/llvm-project/commit/8dfae0c462e9558df77c83c97d89b4b83ed1baff
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
Revert "[libcxx] Use alias for detecting overriden function (#114961)"
This reverts commit 62bd10f7d18ca6f544286767cae2c9026d493888.
Breaks building with -flto=thin, see
https://github.com/llvm/llvm-project/pull/114961#issuecomment-2555754056
Commit: 5b5b241edf78bd8e34ccf1ce352e86e571a32b4c
https://github.com/llvm/llvm-project/commit/5b5b241edf78bd8e34ccf1ce352e86e571a32b4c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120619)
Commit: 34e0f9cd36e9d4eb7fd153f536c811ec668be458
https://github.com/llvm/llvm-project/commit/34e0f9cd36e9d4eb7fd153f536c811ec668be458
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
R libcxx/include/__locale_dir/locale_guard.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/module.modulemap
M libcxx/src/iostream.cpp
M libcxx/src/support/win32/locale_win32.cpp
Log Message:
-----------
[libc++] Remove the need for `uselocale()` (#120158)
Instead of requiring `uselocale()` as part of the base locale API,
define __locale_guard in the few places that need it directly, without
making __locale_guard part of the base API.
In practice, most mainstream platforms never used __locale_guard, so
they also didn't need to define uselocale(), and after this patch they
actually don't define it anymore.
Commit: c2830b218017dd9e2fca843e81baec1d71306b07
https://github.com/llvm/llvm-project/commit/c2830b218017dd9e2fca843e81baec1d71306b07
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
Log Message:
-----------
[AMDGPU][True16][MC] added fake16 for gfx12 alias MC test (#120624)
This is a NFC.
Duplicate gfx12_asm_vop3_alias.s file to true16/fake16 version and
update `real-true16` flag on it.
This is preparing the upcoming changes for true16
Commit: 0a94ee694fbe1a17c5a948fbe86b881527f81343
https://github.com/llvm/llvm-project/commit/0a94ee694fbe1a17c5a948fbe86b881527f81343
Author: Michael Jones <michaelrj at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libc/docs/dev/index.rst
M libc/docs/full_host_build.rst
Log Message:
-----------
[libc] update host build docs (#120147)
Update the host build docs to better reflect the current recommended
process.
Commit: f000c053bfa6f86f5ffac9e1177e6c88f18ae1bd
https://github.com/llvm/llvm-project/commit/f000c053bfa6f86f5ffac9e1177e6c88f18ae1bd
Author: David Green <david.green at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add test coverage to shuffleToIdentity for fp casts. NFC
Commit: 4c3e13ebca560cd2377dfeb0c7b9186bd6c96ae1
https://github.com/llvm/llvm-project/commit/4c3e13ebca560cd2377dfeb0c7b9186bd6c96ae1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 34e0f9cd36e9
Commit: 9e322c56f7b3637377855c59b9665d5b299cba7b
https://github.com/llvm/llvm-project/commit/9e322c56f7b3637377855c59b9665d5b299cba7b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/SanitizerMetadata.cpp
A clang/test/CodeGen/sanitize-type-globals.cpp
Log Message:
-----------
[TySan] Don't report globals with external storage. (#120565)
Globals with external storage should have been initialized where they
are defined.
Fixes https://github.com/llvm/llvm-project/issues/120448
PR: https://github.com/llvm/llvm-project/pull/120565
Commit: d33a2c58112bdd74225b0ff4f07acc49bed7e6ea
https://github.com/llvm/llvm-project/commit/d33a2c58112bdd74225b0ff4f07acc49bed7e6ea
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/test/CodeGen/bounds-checking.c
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
Log Message:
-----------
[BoundsSan] Update BoundsChecking.cpp to use no-merge attribute where applicable (#120620)
https://github.com/llvm/llvm-project/pull/65972 introduced
-ubsan-unique-traps and -bounds-checking-unique-traps, which attach the
function size to the ubsantrap intrinsic.
https://github.com/llvm/llvm-project/pull/117651 changed
ubsan-unique-traps to use nomerge instead of the function size, but did
not update -bounds-checking-unique-traps. This patch adds nomerge to
bounds-checking-unique-traps.
Commit: 5f096fd2216001296b809002ee474ee6d7f06e0e
https://github.com/llvm/llvm-project/commit/5f096fd2216001296b809002ee474ee6d7f06e0e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Revert "[LoopVectorizer] Add support for partial reductions (#92418)"
This reverts commit 060d62b48aeb5080ffcae1dc56e41a06c6f56701.
It looks like this is triggering an assertion when build llvm-test-suite
on ARM64 macOS.
Reproducer from MultiSource/Benchmarks/Ptrdist/bc/number.c
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "arm64-apple-macosx15.0.0"
define void @test(i64 %idx.neg, i8 %0) #0 {
entry:
br label %while.body
while.body: ; preds = %while.body, %entry
%n1ptr.0.idx131 = phi i64 [ %n1ptr.0.add, %while.body ], [ %idx.neg, %entry ]
%n2ptr.0.idx130 = phi i64 [ %n2ptr.0.add, %while.body ], [ 0, %entry ]
%sum.1129 = phi i64 [ %add99, %while.body ], [ 0, %entry ]
%n1ptr.0.add = add i64 %n1ptr.0.idx131, 1
%conv = sext i8 %0 to i64
%n2ptr.0.add = add i64 %n2ptr.0.idx130, 1
%1 = load i8, ptr null, align 1
%conv97 = sext i8 %1 to i64
%mul = mul i64 %conv97, %conv
%add99 = add i64 %mul, %sum.1129
%cmp94 = icmp ugt i64 %n1ptr.0.idx131, 0
%cmp95 = icmp ne i64 %n2ptr.0.idx130, -1
%2 = and i1 %cmp94, %cmp95
br i1 %2, label %while.body, label %while.end.loopexit
while.end.loopexit: ; preds = %while.body
%add99.lcssa = phi i64 [ %add99, %while.body ]
ret void
}
attributes #0 = { "target-cpu"="apple-m1" }
> opt -p loop-vectorize
Assertion failed: ((VF.isScalar() || V->getType()->isVectorTy()) && "scalar values must be stored as (0, 0)"), function set, file VPlan.h, line 284.
Commit: 0517772b4ac20c5d3a0de0d4703354a179833248
https://github.com/llvm/llvm-project/commit/0517772b4ac20c5d3a0de0d4703354a179833248
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/include/llvm/Transforms/Instrumentation/PoisonChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
R llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
R llvm/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
R llvm/test/Instrumentation/PoisonChecking/ub-checks.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
Delete unused PoisonChecking utility pass
This was introduced ~5yrs ago (by me), and has never really gotten
any adoption. By now, it's significantly out of sync with new/changed
poison propoagation rules. The idea is still reasonable, but the
imagined use case is largely covered by alive2 these days anyways.
Commit: 6a01ac7d06df875206f746fc982f58c161249285
https://github.com/llvm/llvm-project/commit/6a01ac7d06df875206f746fc982f58c161249285
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
Log Message:
-----------
[HLSL] Add concepts for Structured buffers (#119643)
This PR adds concept validation to structured buffers, in the same way
that it was done for typed buffers (like RWBuffer) in
https://github.com/llvm/llvm-project/pull/116413.
This PR should also be responsible for introducing rejection of 0 size
elements for structured buffers.
Fixes https://github.com/llvm/llvm-project/issues/117406
Commit: af5a65685964e064704b46947ab0102d41caa785
https://github.com/llvm/llvm-project/commit/af5a65685964e064704b46947ab0102d41caa785
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/InstIterator.h
Log Message:
-----------
[IR] Remove unused method InstIterator::atEnd (#120611)
Commit: 6f983f88537415952ec528c42f89f1d5b620fe68
https://github.com/llvm/llvm-project/commit/6f983f88537415952ec528c42f89f1d5b620fe68
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Set the default C++ library to libc++ on OpenBSD (#107694)
Commit: bcd32ef0ba6b33a4aa3a5d0a96526f86634035da
https://github.com/llvm/llvm-project/commit/bcd32ef0ba6b33a4aa3a5d0a96526f86634035da
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
Log Message:
-----------
[Driver][FreeBSD][NFC] Remove some code duplication (#120652)
Commit: 3d297514e2c3f10b3fd8fcf0e5b1c745dfe644cf
https://github.com/llvm/llvm-project/commit/3d297514e2c3f10b3fd8fcf0e5b1c745dfe644cf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[BoundsChecking] Add support for runtime handlers (#120513)
This is a step forward to have reporting consistent with other UBSAN
checks.
Runtime and clang parts are here #120515.
Commit: b13592219c421820b7d774dfe360f9f2d9bd94f6
https://github.com/llvm/llvm-project/commit/b13592219c421820b7d774dfe360f9f2d9bd94f6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/Contributing.rst
M llvm/docs/GitHub.rst
Log Message:
-----------
[Doc] Add a section on CI to the GitHub documentation (#85376)
See
https://discourse.llvm.org/t/rfc-add-a-warning-when-bypassing-the-premerge-testing/77610
for context.
Commit: 44201679c6ec597a8624b38ff8f056c5a8dab901
https://github.com/llvm/llvm-project/commit/44201679c6ec597a8624b38ff8f056c5a8dab901
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
A llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
Log Message:
-----------
AMDGPU: Fix mishandling of search for constantexpr addrspacecasts (#120346)
Commit: c2aee5062087f193cb5756f378c248c7d91b7245
https://github.com/llvm/llvm-project/commit/c2aee5062087f193cb5756f378c248c7d91b7245
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/bounds-checking.c
M compiler-rt/lib/ubsan/ubsan_checks.inc
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/ubsan/ubsan_interface.inc
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
Log Message:
-----------
[ubsan] Runtime and driver support for local-bounds (#120515)
Implements ``-f[no-]sanitize-trap=local-bounds``,
and ``-f[no-]sanitize-recover=local-bounds``.
LLVM part is here #120513.
Commit: 52574b5f40606b8319952e45d0c407675d9ee0fa
https://github.com/llvm/llvm-project/commit/52574b5f40606b8319952e45d0c407675d9ee0fa
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/openbsd-phdr.s
Log Message:
-----------
[ELF] Add support for PT_OPENBSD_NOBTCFI (#120005)
Commit: cc7d0841cc27b709f83a4194f45914c00a69a9ea
https://github.com/llvm/llvm-project/commit/cc7d0841cc27b709f83a4194f45914c00a69a9ea
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][Sema] Enable the kprintf format attribute (#100669)
Commit: eb1b9fca9ca66d051179d8d2f35edb4624118b26
https://github.com/llvm/llvm-project/commit/eb1b9fca9ca66d051179d8d2f35edb4624118b26
Author: wanglei <wanglei at loongson.cn>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Utility/LoongArch_DWARF_Registers.h
Log Message:
-----------
[lldb][LoongArch] Fix the incorrect floating-point register dwarf number
According to the documentation described at
https://github.com/loongson/la-abi-specs/blob/release/ladwarf.adoc, the
dwarf numbers for floating-point registers range from 32 to 63.
An incorrect dwarf number will prevent the register values from being
properly restored during unwinding.
This test reflects this problem:
```
loongson at linux:~$ cat test.c
void foo() {
asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
}
int main() {
asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
foo();
return 0;
}
loongson at linux:~$ clang -g test.c -o test
```
Without this patch:
```
loongson at linux:~$ ./_build/bin/lldb ./t
(lldb) target create "./t"
Current executable set to
'/home/loongson/llvm-project/_build_lldb/t' (loongarch64).
(lldb) b foo
Breakpoint 1: where = t`foo + 20 at test.c:4:1, address =
0x0000000000000714
(lldb) r
Process 2455626 launched: '/home/loongson/llvm-project/_build_lldb/t' (loongarch64)
Process 2455626 stopped
* thread #1, name = 't', stop reason = breakpoint 1.1
frame #0: 0x0000555555554714 t`foo at test.c:4:1
1 #include <stdio.h>
2
3 void foo() {
-> 4 asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
(lldb) si
Process 2455626 stopped
* thread #1, name = 't', stop reason = instruction step into
frame #0: 0x0000555555554718 t`foo at test.c:4:1
1 #include <stdio.h>
2
3 void foo() {
-> 4 asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
(lldb) f 1
frame #1: 0x0000555555554768 t`main at test.c:8:1
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
-> 8 foo();
9 return 0;
10 }
(lldb) register read -a
General Purpose Registers:
r1 = 0x0000555555554768 t`main + 40 at test.c:8:1
r3 = 0x00007ffffffef780
r22 = 0x00007ffffffef7b0
r23 = 0x00007ffffffef918
r24 = 0x0000000000000001
r25 = 0x0000000000000000
r26 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
r27 = 0x0000555555554740 t`main at test.c:6
r28 = 0x00007ffffffef928
r29 = 0x00007ffff7febc88 ld-linux-loongarch-lp64d.so.1`_rtld_global_ro
r30 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
pc = 0x0000555555554768 t`main + 40 at test.c:8:1
33 registers were unavailable.
Floating Point Registers:
f13 = 0x00007ffffffef780 !!!!! wrong register
f24 = 0xffffffffffffffff
f25 = 0xffffffffffffffff
f26 = 0x0000555555554768 t`main + 40 at test.c:8:1
f27 = 0xffffffffffffffff
f28 = 0xffffffffffffffff
f29 = 0xffffffffffffffff
f30 = 0xffffffffffffffff
f31 = 0xffffffffffffffff
32 registers were unavailable.
```
With this patch:
```
The previous operations are the same.
(lldb) register read -a
General Purpose Registers:
r1 = 0x0000555555554768 t`main + 40 at test.c:8:1
r3 = 0x00007ffffffef780
r22 = 0x00007ffffffef7b0
r23 = 0x00007ffffffef918
r24 = 0x0000000000000001
r25 = 0x0000000000000000
r26 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
r27 = 0x0000555555554740 t`main at test.c:6
r28 = 0x00007ffffffef928
r29 = 0x00007ffff7febc88 ld-linux-loongarch-lp64d.so.1`_rtld_global_ro
r30 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
pc = 0x0000555555554768 t`main + 40 at test.c:8:1
33 registers were unavailable.
Floating Point Registers:
f24 = 0xffffffffffffffff
f25 = 0xffffffffffffffff
f26 = 0x00007ffffffef780
f27 = 0xffffffffffffffff
f28 = 0xffffffffffffffff
f29 = 0xffffffffffffffff
f30 = 0xffffffffffffffff
f31 = 0xffffffffffffffff
33 registers were unavailable.
```
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/120391
Commit: ee7ca0dddafb609090ad1789570c099d95c0afb6
https://github.com/llvm/llvm-project/commit/ee7ca0dddafb609090ad1789570c099d95c0afb6
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperArtifacts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
Log Message:
-----------
Make CombinerHelper methods const (#119529)
There are a number of backends (specifically AArch64, AMDGPU, Mips, and
RISCV) which contain a “TODO: make CombinerHelper methods const”
comment. This PR does just that and makes all of the CombinerHelper
methods const, removes the TODO comments and makes the associated
instances const. This change makes some sense because the CombinerHelper
class simply modifies the state of _other_ objects to which it holds
pointers or references.
Note that AMDGPU contains an identical comment for an instance of
AMDGPUCombinerHelper (a subclass of CombinerHelper). I deliberately
haven’t modified the methods of that class in order to limit the scope
of the change. I’m happy to do so either now or as a follow-up.
Commit: d3c4637cbbd5f0a84811abe195098ce714a2cc32
https://github.com/llvm/llvm-project/commit/d3c4637cbbd5f0a84811abe195098ce714a2cc32
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
[WebKit checkers] Recognize adoptRef as a safe function (#120629)
adoptRef in WebKit constructs Ref/RefPtr so treat it as such in
isCtorOfRefCounted.
Also removed the support for makeRef and makeRefPtr as they don't exist
any more.
Commit: 4307198d51487cc16f98eebb2113caf4a1905914
https://github.com/llvm/llvm-project/commit/4307198d51487cc16f98eebb2113caf4a1905914
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DroppedVariableStats.h
R llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
Log Message:
-----------
Move DroppedVariableStats to CodeGen lib (#120650)
To get Dropped variable statistics for MIR, we need to move the base
class DroppedVariableStats code to the CodeGen library because we cannot
have CodeGen link against Passes.
Also moved the code for the virtual functions to the header because
clang/lib/CodeGen doesn't link against llvm/lib/CodeGen however it does
link against Passes which contains the `class StandardInstrumentations`
code but not the definition for the virtual functions leading to the
error about not finding vtable for `class DroppedVariableStatsIR`
Commit: a71f9e6986b80fa90c453219795a1369b8ea7b6e
https://github.com/llvm/llvm-project/commit/a71f9e6986b80fa90c453219795a1369b8ea7b6e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Detect protectedThis pattern. (#120528)
In WebKit, we often capture this as Ref or RefPtr in addition to this
itself so that the object lives as long as a capturing lambda stays
alive.
Detect this pattern and treat it as safe. This PR also makes the check
for a lambda being passed as a function argument more robust by handling
CXXBindTemporaryExpr, CXXConstructExpr, and DeclRefExpr referring to the
lambda.
Commit: 7666c40c09410e0fea4c4e08ce71fe10b05f588a
https://github.com/llvm/llvm-project/commit/7666c40c09410e0fea4c4e08ce71fe10b05f588a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 4307198d5148
Commit: 4e3c0bb7f7b3f4df702d787853d31c53d626fe4c
https://github.com/llvm/llvm-project/commit/4e3c0bb7f7b3f4df702d787853d31c53d626fe4c
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-cov/Inputs/showProjectSummary.test
M llvm/test/tools/llvm-cov/showProjectSummary.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
Log Message:
-----------
llvm-cov: Introduce `-show-created-time` to suppress timestamps (#120417)
This shouldn't affect anything since `-show-created-time=true` by
default.
Timestamps sometimes prevent reproducible build.
Commit: e93d226664d7012d1bb017f0cda24ad1b75f37fc
https://github.com/llvm/llvm-project/commit/e93d226664d7012d1bb017f0cda24ad1b75f37fc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
A flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
Log Message:
-----------
[flang][cuda] Update CompilerGeneratedNames pass to work on gpu module (#120660)
- Update `CompilerGeneratedNames` so it can perform renaming in
gpu.module
- Update Codegen so it look in the correct module for the type
descriptor.
Commit: f421a7a6ee9938fd4cb940639e516757d7ad1a80
https://github.com/llvm/llvm-project/commit/f421a7a6ee9938fd4cb940639e516757d7ad1a80
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
[ARM] Use `RegisterClassInfo::getRegPressureSetLimit` (#120377)
`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.
It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.
Separate from https://github.com/llvm/llvm-project/pull/118787
Commit: 91e392b2836f25bf5641f0ca7ec2f64018c2193b
https://github.com/llvm/llvm-project/commit/91e392b2836f25bf5641f0ca7ec2f64018c2193b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
Log Message:
-----------
[ubsan] Fix test on Windows
Commit: 08db696c87fb68cc896f742202665440cee53f8c
https://github.com/llvm/llvm-project/commit/08db696c87fb68cc896f742202665440cee53f8c
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
Log Message:
-----------
[AMDGPU][True16][MC] V_MED3_I/U16_fake16 CodeGen pattern (#120600)
In this patch https://github.com/llvm/llvm-project/pull/113603 replace
`V_MED3_I/U16` to `V_MED3_I/U16_fake16` for Post-GFX11, but it miss to
update the CodeGen pattern. This patch update and corrert the CodeGen
pattern
Commit: e7e622f153126582670d2d07034e97e1b780a464
https://github.com/llvm/llvm-project/commit/e7e622f153126582670d2d07034e97e1b780a464
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/include/llvm/CodeGen/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/DroppedVariableStats.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
Log Message:
-----------
Revert "Move DroppedVariableStats to CodeGen lib (#120650)"
This reverts commit 4307198d51487cc16f98eebb2113caf4a1905914.
Broke bot ppc64le-clang-multistage-test:
undefined reference to
`llvm::DroppedVariableStats::populateVarIDSetAndInlinedMap in
In function `llvm::DroppedVariableStatsIR::visitEveryInstruction
Commit: 16e42235f153eaa2c3abd2e203a771db4e709607
https://github.com/llvm/llvm-project/commit/16e42235f153eaa2c3abd2e203a771db4e709607
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port e7e622f15312
Commit: ebb5f1a4e5f2f150c60302a9374b3ae1b66e2028
https://github.com/llvm/llvm-project/commit/ebb5f1a4e5f2f150c60302a9374b3ae1b66e2028
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/select-fp-anyext-crash.ll
Log Message:
-----------
[AArch64][GlobalISel] Fix crash when selecting an anyextending FP load.
We split anyext FP loads back into a regular load + extend, but when we do that
we need to ensure that some state about the instruction is updated to correctly
reflect the new reality.
rdar://141660282
Commit: a73ca291547cf4f5822a3029dd56315354557517
https://github.com/llvm/llvm-project/commit/a73ca291547cf4f5822a3029dd56315354557517
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
A compiler-rt/lib/sanitizer_common/sanitizer_contiguous_container.cpp
Log Message:
-----------
[compiler-rt] Add weak defs for .*contiguous_container.* functions (#120376)
Fix #120278
Commit: c7606710f93cf0ab655a5bcbbf873954051ba109
https://github.com/llvm/llvm-project/commit/c7606710f93cf0ab655a5bcbbf873954051ba109
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] Update base addr of dyn alloca considering GrowingUp stack (#119822)
Currently, compiler calculates the base address of
dynamic sized stack object (alloca) as follows:
1. `NewSP = Align(CurrSP + Size)`
_where_ `Size = # of elements * wave size * alloca type`
2. `BaseAddr = NewSP`
3. The alignment is computed as: `AlignedAddr = Addr & ~(Alignment - 1)`
4. Return the `BaseAddr`
This makes sense when stack is grows downwards.
AMDGPU stack grows upwards, the base address
needs to be aligned first and SP bump by required size later:
1. `BaseAddr = Align(CurrSP)`
2. `NewSP = BaseAddr + Size`
3. `AlignedAddr = (Addr + (Alignment - 1)) & ~(Alignment - 1)`
4. and returns the `BaseAddr`.
Commit: ecd59f802f9436c766d85ccde13a9f2b863dc5a6
https://github.com/llvm/llvm-project/commit/ecd59f802f9436c766d85ccde13a9f2b863dc5a6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Use SmallVectorImpl& to avoid repeating SmallVector size. NFC
Commit: e30308196901873a926b6c17304d022eb91fc585
https://github.com/llvm/llvm-project/commit/e30308196901873a926b6c17304d022eb91fc585
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
Log Message:
-----------
[X86] Remove redundant initialize*Pass in ctor
Commit: 59c7d6f965af9f1e05f8447c50fde8bbde346361
https://github.com/llvm/llvm-project/commit/59c7d6f965af9f1e05f8447c50fde8bbde346361
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/Xtensa/code_density.txt
Log Message:
-----------
[Xtensa,test] Remove failing RUN line from #119639
Commit: 93743ee566694d2fcafa3243c03330e86bf9c806
https://github.com/llvm/llvm-project/commit/93743ee566694d2fcafa3243c03330e86bf9c806
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
R clang/test/CodeGen/atomic-test-and-set.c
M clang/test/Sema/atomic-ops.c
Log Message:
-----------
Revert "[Clang] Re-write codegen for atomic_test_and_set and atomic_clear (#120449)"
This reverts commit 9fc2fadbfcb34df5f72bdaed28a7874bf584eed7.
See https://github.com/llvm/llvm-project/pull/120449#issuecomment-2556089016
Commit: a6d26c56ff066c8e8f92f4ca169fcf40ae0db537
https://github.com/llvm/llvm-project/commit/a6d26c56ff066c8e8f92f4ca169fcf40ae0db537
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Fix dangling false positives for conditional operators. (#120233)
When analyzing a dangling gsl pointer, we currently filter out all field
access `MemberExpr` to avoid common false positives (`string_view sv =
Temp().sv`), However, this filter only applies to direct MemberExpr
instances, leaving the conditional operator as an escaping example
(`GSLPointer pointer(Cond ? Owner().ptr : GSLPointer());`).
This patch extends the MemberExpr logic to handle the conditional
operator. The heuristic is intentionally simple, which may result in
some false negatives. However, it effectively covers common cases like
`std::string_view sv = cond ? "123" : std::string();`, which is a
reasonable trade-off.
Fixes https://github.com/llvm/llvm-project/issues/120206
Commit: a16cb7ebea796f8c8f7a2ca8d01cc7f6db99e07a
https://github.com/llvm/llvm-project/commit/a16cb7ebea796f8c8f7a2ca8d01cc7f6db99e07a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update Sparc maintainer (#120430)
Currently vegovin is listed as the maintainer of the Sparc backend,
however they haven't been involved with LLVM for about 10 years already.
Nominate koachan as the new Sparc maintainer.
Commit: 4096dd60668c9e9e402a486a28984bfa082fe48f
https://github.com/llvm/llvm-project/commit/4096dd60668c9e9e402a486a28984bfa082fe48f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update LTO maintainer (#120575)
Update the LTO maintainer from pcc to teresajohnson.
Commit: 4111841f88eeca184e833e3643c5bf1dca6f7014
https://github.com/llvm/llvm-project/commit/4111841f88eeca184e833e3643c5bf1dca6f7014
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/relax.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-jal.s
Log Message:
-----------
[BOLT] Correctly print preferred disassembly for annotated instructions (#120564)
This patch makes sure that `BinaryContext::printInstruction` prints the
preferred disassembly. Preferred disassembly only gets printed when
there are no annotations on the MCInst. Therefore, this patch
temporarily removes the annotations before printing it.
A few examples of before and after on AArch64 instructions are as
follows:
```
BEFORE AFTER
(preferred disassembly)
ret x30 ret
orr x30, xzr, x0 mov x30, x0
hint #29 autiasp
hint #12 autia1716
```
Clearly, the preferred disassembly is easier for developers to read, and
is the disassembly that tools should be printing.
This patch is motivated as part of future work on the
llvm-bolt-binary-analysis tool, making sure that the reports it prints
do use preferred disassembly.
This patch was cherry-picked from
https://github.com/kbeyls/llvm-project/tree/bolt-gadget-scanner-prototype.
In this current patch, this only affects existing RISCV test cases.
This patch also does improve test cases in future patches that will
introduce a binary analysis for llvm-bolt-binary-analysis that checks
for correct application of pac-ret (pointer authentication on return
addresses).
Commit: 44726489988a27c3cbd2f94188a2363e2080e045
https://github.com/llvm/llvm-project/commit/44726489988a27c3cbd2f94188a2363e2080e045
Author: David Green <david.green at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
Log Message:
-----------
[ARM] Expand bf16 expanding/rounding fp loads/stores
As with other fp types, these should be expanded to prevent nodes that are
illegal for Arm.
Commit: 701f2409befa7d44aea0c31494ac0d3a5d18415e
https://github.com/llvm/llvm-project/commit/701f2409befa7d44aea0c31494ac0d3a5d18415e
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Transforms/scf-if-utils.mlir
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
Log Message:
-----------
[mlir] fix crash when scf utils work on llvm.func (#120688)
fixed https://github.com/llvm/llvm-project/issues/119378
Commit: 53d080c5b5dfbb46eb81d189736864f5b6196492
https://github.com/llvm/llvm-project/commit/53d080c5b5dfbb46eb81d189736864f5b6196492
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
M mlir/test/python/execution_engine.py
M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
Log Message:
-----------
[mlir][Arith] Remove `arith-to-llvm` from `func-to-llvm` (#120548)
Do not run `arith-to-llvm` as part of `func-to-llvm`. This commit partly
fixes #70982.
Also simplify the pass pipeline for two math dialect integration tests.
Note for LLVM integration: If you see failures, add `arith-to-llvm` to your pass pipeline.
Commit: d0b7633d7ad566579bfb794f95cce9aef294c92b
https://github.com/llvm/llvm-project/commit/d0b7633d7ad566579bfb794f95cce9aef294c92b
Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/PatternRewriter.md
M mlir/docs/SymbolsAndSymbolTables.md
M mlir/include/mlir/IR/DialectImplementation.h
M mlir/include/mlir/IR/OpBase.td
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
Log Message:
-----------
[mlir] [doc] fix typos in documentation (#120179)
This PR fixes typos within documentation in various files.
Most changes are trivial. The one interesting change is the
documentation for `custom<X>` in `assemblyFormat` that used the wrong
return type. The return type from the `parseX` function should be
`ParseResult` rather than `LogicalResult`. The `ParseResult` type is
necessary due to tablegen generating code like the following within an
Op `parse()` function:
```
auto odsResult = parseInferredArrayType(parser, elementsTypes, elementsOperands, resultRawTypes[0]);
if (odsResult) return ::mlir::failure();
```
This will fail to compile if `parseInferredArrayType()` returns
`LogicalResult`. See also `parsePrettyLLVMType()` in LLVMTypes.h,
`parseSingleBlockRegion()` in IRDL.cpp, `parseDynamicIndexList()` in
ViewLikeInterface.cpp, etc.
Commit: d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1
https://github.com/llvm/llvm-project/commit/d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/Fast-ISel/br1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/icmpbr1.ll
M llvm/test/CodeGen/Mips/addressing-mode.ll
M llvm/test/CodeGen/Mips/atomic-min-max-64.ll
M llvm/test/CodeGen/Mips/atomic-min-max.ll
M llvm/test/CodeGen/Mips/brconeq.ll
M llvm/test/CodeGen/Mips/brconeqk.ll
M llvm/test/CodeGen/Mips/brconeqz.ll
M llvm/test/CodeGen/Mips/brconge.ll
M llvm/test/CodeGen/Mips/brcongt.ll
M llvm/test/CodeGen/Mips/brconle.ll
M llvm/test/CodeGen/Mips/brconlt.ll
M llvm/test/CodeGen/Mips/brconne.ll
M llvm/test/CodeGen/Mips/brconnek.ll
M llvm/test/CodeGen/Mips/brconnez.ll
M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
M llvm/test/CodeGen/Mips/cfi_offset.ll
M llvm/test/CodeGen/Mips/dins.ll
M llvm/test/CodeGen/Mips/dsp-r1.ll
M llvm/test/CodeGen/Mips/eh-return32.ll
M llvm/test/CodeGen/Mips/eh-return64.ll
M llvm/test/CodeGen/Mips/emit-big-cst.ll
M llvm/test/CodeGen/Mips/ex2.ll
M llvm/test/CodeGen/Mips/fpbr.ll
M llvm/test/CodeGen/Mips/frame-address.ll
M llvm/test/CodeGen/Mips/jumptable_labels.ll
M llvm/test/CodeGen/Mips/llvm-ir/add.ll
M llvm/test/CodeGen/Mips/llvm-ir/indirectbr.ll
M llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
M llvm/test/CodeGen/Mips/mips64directive.ll
M llvm/test/CodeGen/Mips/msa/2r.ll
M llvm/test/CodeGen/Mips/msa/2r_vector_scalar.ll
M llvm/test/CodeGen/Mips/msa/2rf.ll
M llvm/test/CodeGen/Mips/msa/2rf_exup.ll
M llvm/test/CodeGen/Mips/msa/2rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/2rf_fq.ll
M llvm/test/CodeGen/Mips/msa/2rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/2rf_tq.ll
M llvm/test/CodeGen/Mips/msa/3r-a.ll
M llvm/test/CodeGen/Mips/msa/3r-b.ll
M llvm/test/CodeGen/Mips/msa/3r-c.ll
M llvm/test/CodeGen/Mips/msa/3r-d.ll
M llvm/test/CodeGen/Mips/msa/3r-i.ll
M llvm/test/CodeGen/Mips/msa/3r-m.ll
M llvm/test/CodeGen/Mips/msa/3r-p.ll
M llvm/test/CodeGen/Mips/msa/3r-s.ll
M llvm/test/CodeGen/Mips/msa/3r-v.ll
M llvm/test/CodeGen/Mips/msa/3r_4r.ll
M llvm/test/CodeGen/Mips/msa/3r_4r_widen.ll
M llvm/test/CodeGen/Mips/msa/3r_splat.ll
M llvm/test/CodeGen/Mips/msa/3rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf_q.ll
M llvm/test/CodeGen/Mips/msa/3rf_exdo.ll
M llvm/test/CodeGen/Mips/msa/3rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/3rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/3rf_q.ll
M llvm/test/CodeGen/Mips/msa/arithmetic_float.ll
M llvm/test/CodeGen/Mips/msa/bit.ll
M llvm/test/CodeGen/Mips/msa/bitcast.ll
M llvm/test/CodeGen/Mips/msa/compare.ll
M llvm/test/CodeGen/Mips/msa/compare_float.ll
M llvm/test/CodeGen/Mips/msa/elm_copy.ll
M llvm/test/CodeGen/Mips/msa/elm_cxcmsa.ll
M llvm/test/CodeGen/Mips/msa/elm_insv.ll
M llvm/test/CodeGen/Mips/msa/elm_move.ll
M llvm/test/CodeGen/Mips/msa/elm_shift_slide.ll
M llvm/test/CodeGen/Mips/msa/endian.ll
M llvm/test/CodeGen/Mips/msa/frameindex.ll
M llvm/test/CodeGen/Mips/msa/i10.ll
M llvm/test/CodeGen/Mips/msa/i5-a.ll
M llvm/test/CodeGen/Mips/msa/i5-c.ll
M llvm/test/CodeGen/Mips/msa/i5-m.ll
M llvm/test/CodeGen/Mips/msa/i5_ld_st.ll
M llvm/test/CodeGen/Mips/msa/i8.ll
M llvm/test/CodeGen/Mips/msa/remat-ldi.ll
M llvm/test/CodeGen/Mips/msa/shift-dagcombine.ll
M llvm/test/CodeGen/Mips/msa/shift_constant_pool.ll
M llvm/test/CodeGen/Mips/msa/special.ll
M llvm/test/CodeGen/Mips/msa/spill.ll
M llvm/test/CodeGen/Mips/msa/vec.ll
M llvm/test/CodeGen/Mips/msa/vecs10.ll
M llvm/test/CodeGen/Mips/octeon.ll
M llvm/test/CodeGen/Mips/prevent-hoisting.ll
M llvm/test/CodeGen/Mips/selTBteqzCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezSlti.ll
M llvm/test/CodeGen/Mips/seleq.ll
M llvm/test/CodeGen/Mips/seleqk.ll
M llvm/test/CodeGen/Mips/selgek.ll
M llvm/test/CodeGen/Mips/selgt.ll
M llvm/test/CodeGen/Mips/selle.ll
M llvm/test/CodeGen/Mips/selltk.ll
M llvm/test/CodeGen/Mips/selne.ll
M llvm/test/CodeGen/Mips/selnek.ll
M llvm/test/CodeGen/Mips/selpat.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/DebugInfo/Mips/tls.ll
A llvm/test/MC/Mips/coff-basic.ll
A llvm/test/MC/Mips/coff-relocs.ll
Log Message:
-----------
[MC][Mips] Add MipsWinCOFFObjectWriter/MipsWinCOFFStreamer (#114611)
llc is now able to create MIPS COFF files for simple cases.
Commit: fe85c71a7b556b3cef1528399b123538e6b3dd4b
https://github.com/llvm/llvm-project/commit/fe85c71a7b556b3cef1528399b123538e6b3dd4b
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] port 53d080c5b5dfbb46eb81d189736864f5b6196492
Commit: 81e63f9e0c4b86ca1a00be7aeeffb1519a74226e
https://github.com/llvm/llvm-project/commit/81e63f9e0c4b86ca1a00be7aeeffb1519a74226e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types (#120599)
processShuffleMasks can now correctly handle 2 src shuffles, so we can use the existing SK_PermuteSingleSrc splitting cost logic to handle SK_PermuteTwoSrc as well and correctly recognise the number of active subvectors per legalised shuffle.
Commit: e10cb443a1ba30cd1368907df246e968b7508278
https://github.com/llvm/llvm-project/commit/e10cb443a1ba30cd1368907df246e968b7508278
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
R compiler-rt/lib/sanitizer_common/sanitizer_contiguous_container.cpp
Log Message:
-----------
Revert "[compiler-rt] Add weak defs for .*contiguous_container.* functions (#120376)"
This reverts commit a73ca291547cf4f5822a3029dd56315354557517.
Commit: 69ebac7ad6ae1db9bb19cf3a19ea978af6034ca3
https://github.com/llvm/llvm-project/commit/69ebac7ad6ae1db9bb19cf3a19ea978af6034ca3
Author: Hans Wennborg <hans at hanshq.net>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[win/asan] Don't intercept memset etc. in ntdll (#120397)
When ntdll was added to the list of of "interesting DLLs" list (in
d58230b9dcb3b312a2da8f874daa0cc8dc27da9b), the intention was not to
intercept the "mini CRT" functions it exports. OverrideFunction would
only intercept the *first* function it found when searching the list of
DLLs, and ntdll was put last in that list.
However, after 42cdfbcf3e92466754c175cb0e1e237e9f66749e,
OverrideFunction intercepts *all* matching functions in those DLLs. As
a side-effect, the runtime would now intercept functions like memset
etc. also in ntdll.
This causes a problem when ntdll-internal functions like
RtlDispatchException call the intercepted memset, which tries to
inspect uncommitted shadow memory, raising an exception, and getting
stuck in that loop until the stack overflows.
Since we never intended to intercept ntdll's memset etc., the simplest
fix seems to be to actively ignore ntdll when intercepting those
functions.
Fixes #114793
Commit: b03a09e74fa38eceddbc314c4f896a935224f453
https://github.com/llvm/llvm-project/commit/b03a09e74fa38eceddbc314c4f896a935224f453
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
M mlir/test/Integration/Dialect/ControlFlow/assert.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/test-vp-intrinsic.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/load-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/Integration/Dialect/MemRef/reinterpret-cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
M mlir/test/Integration/GPU/CUDA/async.mlir
M mlir/test/python/integration/dialects/linalg/opsrun.py
Log Message:
-----------
[mlir] Fix integration tests after #120548 (#120706)
This should have been part of #120548.
Commit: 091448e3c17bc8e7812dd7b571c852576d648977
https://github.com/llvm/llvm-project/commit/091448e3c17bc8e7812dd7b571c852576d648977
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
Revert "[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types" (#120707)
Reverts llvm/llvm-project#120599 - some recent tests are currently failing
Commit: 2405c5fb3ed49b928bb2816ace7b67c8979cd9d7
https://github.com/llvm/llvm-project/commit/2405c5fb3ed49b928bb2816ace7b67c8979cd9d7
Author: wenzhoumei <wenzhoumei7 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
[llvm-readelf] Update outdated URL (#120498)
This updates a comment pointing to the list of registered machine
architectures in the ELF gABI as the URL in the old comment is no longer
valid.
Commit: 0b5b09b67c572867d88bbf5b41bcc5e722ec653a
https://github.com/llvm/llvm-project/commit/0b5b09b67c572867d88bbf5b41bcc5e722ec653a
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Passes/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStatsIR.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
A llvm/lib/Passes/DroppedVariableStatsIR.cpp
M llvm/unittests/IR/CMakeLists.txt
Log Message:
-----------
[NFC] Move DroppedVariableStats to its own file (#120711)
Move DroppedVariableStats code to its own file and change the class to
have an extensible design so that we can use it to add dropped
statistics to MIR passes and the instruction selector.
Also moved class DroppedVariableStatsIR to its own file.
Reland 2de78815604e9027efd93cac27c517bf732587d2
Commit: 2fa2c2197ddbf2f06c78b6d271782a8762b13b57
https://github.com/llvm/llvm-project/commit/2fa2c2197ddbf2f06c78b6d271782a8762b13b57
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/MemTagSanitizer.rst
Log Message:
-----------
[llvm][docs] MemTagSanitizer is only supported on AArch64 Android (#120545)
```
$ ./bin/clang /tmp/test.c -o /tmp/test.o -target aarch64-linux -march=armv8+memtag -fsanitize=memtag-stack
clang: error: unsupported option '-fsanitize=memtag*' for target 'aarch64-unknown-linux'
```
But this works:
```
$ ./bin/clang /tmp/test.c -o /tmp/test.o --target=aarch64-linux-android -march=armv8+memtag -fsanitize=memtag-stack
```
Due to this check in Clang:
https://github.com/llvm/llvm-project/blob/2210da3b823ccf21fc634c858827c9f12c864b51/clang/lib/Driver/ToolChains/CommonArgs.cpp#L1651
Likely because the required notes and dynamic loader support only exist
for Android.
You can get around this, sort of, by not linking the file. However this
means you have to provide your own way of loading it, so it doesn't
change the statement that this feature is Android only.
https://github.com/llvm/llvm-project/issues/64692 also confirms that the
intent is to only support Android at this time.
And while I'm here, suggest an additive set of flags that can also be
used.
Commit: d66f653c8db90d0c643f8f2740bbdc01bf647f18
https://github.com/llvm/llvm-project/commit/d66f653c8db90d0c643f8f2740bbdc01bf647f18
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Skip reserved registers when computing register pressure (#120694)
We used to skip fixed registers, but fixed registers are not enough
because there are some runtime unusable registers like registers
reserved by `-ffixed-xxx` options.
Here we change to use reserved registers so that the estimated
pressure is more accurate.
Commit: 1e18815fdc13bb1f8b0b87acd8abf62b5cf70d53
https://github.com/llvm/llvm-project/commit/1e18815fdc13bb1f8b0b87acd8abf62b5cf70d53
Author: Chenhui Huang <huangchenhui.yellow at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[MLIR] fix shape.broadcast canonicalize with all empty shape operands (#118941)
Example: all the operands of `shape.broadcast` are empty tensors.
```
func.func @all_empty(%arg0: tensor<f32>) -> tensor<0xindex> {
%1 = shape.shape_of %arg0 : tensor<f32> -> tensor<0xindex>
%2 = shape.const_shape [] : tensor<0xindex>
%3 = shape.broadcast %1, %2, %1 : tensor<0xindex>, tensor<0xindex>, tensor<0xindex> -> tensor<0xindex>
return %3 : tensor<0xindex>
}
```
One can reproduce crash when canonicalize with *down-top* order, cmd
like this:
`mlir-opt -split-input-file -allow-unregistered-dialect
-canonicalize="test-convergence top-down=0" %s`
The root cause is when all operands are empty tensor,
`RemoveEmptyShapeOperandsPattern` would filter out all operands.
Co-authored-by: Kai Sasaki <lewuathe at gmail.com>
Commit: 611401c11594871aa5c7692cd17a7f12b6fbe660
https://github.com/llvm/llvm-project/commit/611401c11594871aa5c7692cd17a7f12b6fbe660
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types (#120599)
processShuffleMasks can now correctly handle 2 src shuffles, so we can use the existing SK_PermuteSingleSrc splitting cost logic to handle SK_PermuteTwoSrc as well and correctly recognise the number of active subvectors per legalised shuffle.
Commit: ff93ca7d6c487108a65d3ad15c3392235fd9c190
https://github.com/llvm/llvm-project/commit/ff93ca7d6c487108a65d3ad15c3392235fd9c190
Author: hanbeom <kese111 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
Log Message:
-----------
[VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different (#120461)
insertelt DestVec, (fneg (extractelt SrcVec, Index)), Index
-> shuffle DestVec, (shuffle (fneg SrcVec), poison, SrcMask), Mask
Original combining left the combine between vectors of different lengths as a TODO. this commit do that. (see
#[https://github.com/llvm/llvm-project/commit/baab4aa1ba5f68634b4936375e19c8686b1b474a])
Commit: 708e1437ff82181dc42f7b43f95428bfd0a9e8ff
https://github.com/llvm/llvm-project/commit/708e1437ff82181dc42f7b43f95428bfd0a9e8ff
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 0b5b09b67c57
Commit: 42bc7bf40a13227110a95079b108615a85cddd7d
https://github.com/llvm/llvm-project/commit/42bc7bf40a13227110a95079b108615a85cddd7d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port d8a5fae6913a
Commit: 919aead1db64b2f1444842bc75a3af7836238671
https://github.com/llvm/llvm-project/commit/919aead1db64b2f1444842bc75a3af7836238671
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/task.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang OpenMP] Add LLVM translation support for UNTIED in Task (#115283)
Implementation details:
The UNTIED clause is recognized by setting the flag=0 for the default
case or performing logical OR to flag if other clauses are specified,
and this flag is passed as an argument to the `__kmpc_omp_task_alloc`
runtime call.
Commit: c2bd5c25b3634e55089d34afe922aa38eee743e2
https://github.com/llvm/llvm-project/commit/c2bd5c25b3634e55089d34afe922aa38eee743e2
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
A llvm/test/CodeGen/AArch64/neon-ins-trunc-elt.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
Log Message:
-----------
[AArch64] Avoid GPR trip when moving truncated i32 vector elements (#114541)
This patch implements a DAG combine whereby
```
a: v2i64 = ...
b: i64 = extract_vector_elt a, Constant:i64<n>
c: i32 = truncate b
```
Becomes
```
a: v2i64 = ...
b: v4i32 = AArch64ISD::NVCAST a
c: i32 = extract_vector_elt c, Constant:i64<2n>
```
The primary goal of this work is to enable the use of [INS
(element)](https://developer.arm.com/documentation/ddi0602/2024-09/SIMD-FP-Instructions/INS--element---Insert-vector-element-from-another-vector-element-?lang=en)
when moving a truncated i32 element between vectors. This combine
canonicalises the structure of the DAG for all legal instances of the
pattern above (by removing the explicit `trunc` operator in this
specific case), allowing us to take advantage of existing ISEL patterns
for this behavior.
Commit: cf0bc8d0321a55f3f166131ec3fe45cdef7d5e3c
https://github.com/llvm/llvm-project/commit/cf0bc8d0321a55f3f166131ec3fe45cdef7d5e3c
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
Log Message:
-----------
[lldb][AIX] Adding AIX version of ptrace64 (#120390)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Adding changes for minimal build for lldb binary on AIX. ptrace64 is
needed to debug 64-bit AIX debuggee, and its format is different than
the traditional ptrace on other platforms: [AIX
ptrace](https://www.ibm.com/docs/en/aix/7.3?topic=p-ptrace-ptracex-ptrace64-subroutine)
Commit: 6fd267d79b9bf3739c59662a7c09d78a6e09c94f
https://github.com/llvm/llvm-project/commit/6fd267d79b9bf3739c59662a7c09d78a6e09c94f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Log Message:
-----------
[lldb][DWARFASTParserClang][NFC] Remove unused parameter to CompleteRecordType (#120456)
Became unused since the recent
https://github.com/llvm/llvm-project/pull/110648
Commit: 84f0098ad103897112d3052fffbb244cd9db4815
https://github.com/llvm/llvm-project/commit/84f0098ad103897112d3052fffbb244cd9db4815
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port b03a09e74fa38eceddbc314c4f896a935224f453
Commit: 9a1837f9b0d3c74cd35fd1af5f7587f31391ba82
https://github.com/llvm/llvm-project/commit/9a1837f9b0d3c74cd35fd1af5f7587f31391ba82
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/tools/driver/CMakeLists.txt
Log Message:
-----------
[lldb][AIX] Introducing _ALL_SOURCE macro into driver CMakeLists (#120607)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Adding changes for minimal build for lldb binary on AIX:
The `struct winsize` needed by `lldb/tools/driver/Driver.cpp` is only
recognised in AIX under the AIX specific `_ALL_SOURCE` macro, hence its
enablement is required here.
Commit: 385b144c9477de6a4598bd08ce4f2883aeb236b9
https://github.com/llvm/llvm-project/commit/385b144c9477de6a4598bd08ce4f2883aeb236b9
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/posix/HostInfoPosix.h
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/posix/HostInfoPosix.cpp
Log Message:
-----------
[lldb][Linux] Moving generic APIs from HostInfoLinux to HostInfoPosix (#119694)
This change is related merging some of the APIs in HostInfoLinux into
HostInfoPosix.
Here is the reference PR comment:
https://github.com/llvm/llvm-project/pull/117906#discussion_r1865427495,
https://github.com/llvm/llvm-project/pull/117906#discussion_r1861616945
Commit: 8dc23efbe6c584c06d6472c6f1b679b5ca861b07
https://github.com/llvm/llvm-project/commit/8dc23efbe6c584c06d6472c6f1b679b5ca861b07
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[NFC][AArch64][SVE] Rename variables in partial reduction lowering functions (#120589)
Commit: d7ddc976d544528fe7f16882f5bec66c3b2a7884
https://github.com/llvm/llvm-project/commit/d7ddc976d544528fe7f16882f5bec66c3b2a7884
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Remove unused private field MF
Commit: 000febd0290698728abd9e23da6b27969c529177
https://github.com/llvm/llvm-project/commit/000febd0290698728abd9e23da6b27969c529177
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A lldb/test/Shell/Expr/TestObjCHiddenIvars.test
Log Message:
-----------
[lldb][test] Add test-coverage for DW_AT_APPLE_objc_complete_type parsing (#120279)
When given a DIE for an Objective-C interface (which doesn't have a
`DW_AT_APPLE_objc_complete_type`), the `DWARFASTParserClang` will try to
find the DIE which corresponds to the implementation to complete the
interface DIE. The code is here:
https://github.com/llvm/llvm-project/blob/d2e7ee77d33e8b3be3b1d4e9bc5bc4c60b62b554/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp#L1718-L1738
However, this was currently not exercised in our test-suite (removing
the code above didn't fail any LLDB test).
This patch adds a test which exercises this codepath (it will fail if we
don't fetch the implementation DIE in the `DWARFASTParserClang`).
Something that's not currently clear to me is why `frame var *f`
succeeds even without the `DW_AT_APPLE_objc_complete_type`
infrastructure. If it's using the ObjC runtime, we should make `expr` do
the same, in which case we can remove this code from
`DWARFASTParserClang`.
Commit: e4db3f0d97681a10a76e71465f1379801cd45f54
https://github.com/llvm/llvm-project/commit/e4db3f0d97681a10a76e71465f1379801cd45f54
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-phi.ll
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-range.ll
M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
Log Message:
-----------
[llvm] Bail out when meeting pointer with negative offset in approximated mode instead of … (#120424)
…generating empty location
Fix the regression detected by
https://github.com/llvm/llvm-test-suite/pull/188
Commit: 451a80ccc034799151d3a82c15e320cdde5a2e04
https://github.com/llvm/llvm-project/commit/451a80ccc034799151d3a82c15e320cdde5a2e04
Author: Martin Storsjö <martin at martin.st>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/TestSuiteGuide.md
Log Message:
-----------
[docs] Mention ffmpeg and dav1d in llvm-test-suite (#120570)
Since https://github.com/llvm/llvm-test-suite/pull/182 and
https://github.com/llvm/llvm-test-suite/pull/188, these projects can now
be added as external projects within llvm-test-suite.
Commit: cf7b3f8d827abba49930202e51702714349c716d
https://github.com/llvm/llvm-project/commit/cf7b3f8d827abba49930202e51702714349c716d
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/SemaCXX/vector-bool.cpp
Log Message:
-----------
Fix double-quotes in diagnostic when attempting to access a ext_vector of bools (#118186)
Fixes #116932
- Remove the quotation marks in the diagnostic message for
err_ext_vector_component_name_illegal
- Pass in the quotation marks directly when reporting an illegal vector
component name inside `CheckExtVectorComponent`
- Add an offset to the `OpLoc` passed into `S.Diag` so the error message
arrow points directly to the offending illegal component rather than to
the '.' at the start of the component identifier.
- Modify the `vector-bool.cpp` element-wise access test case so it
(correctly) now only expects a single set of quotes.
Commit: eb6c4197d5263ed2e086925b2b2f032a19442d2b
https://github.com/llvm/llvm-project/commit/eb6c4197d5263ed2e086925b2b2f032a19442d2b
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
A mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
R mlir/test/Conversion/ControlFlowToLLVM/invalid.mlir
A mlir/test/Conversion/ControlFlowToLLVM/switch.mlir
M mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
M mlir/test/Conversion/FuncToLLVM/func-memref.mlir
M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-one-shot-bufferize.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
M mlir/test/mlir-cpu-runner/async-error.mlir
M mlir/test/mlir-cpu-runner/async-group.mlir
M mlir/test/mlir-cpu-runner/async-value.mlir
M mlir/test/mlir-cpu-runner/async.mlir
M mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
M mlir/test/mlir-cpu-runner/copy.mlir
M mlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
M mlir/test/mlir-cpu-runner/memref-reshape.mlir
M mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
M mlir/test/mlir-cpu-runner/unranked-memref.mlir
M mlir/test/mlir-cpu-runner/utils.mlir
M mlir/test/python/execution_engine.py
M mlir/test/python/integration/dialects/linalg/opsrun.py
M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
Log Message:
-----------
[mlir][CF] Split `cf-to-llvm` from `func-to-llvm` (#120580)
Do not run `cf-to-llvm` as part of `func-to-llvm`. This commit fixes
https://github.com/llvm/llvm-project/issues/70982.
This commit changes the way how `func.func` ops are lowered to LLVM.
Previously, the signature of the entire region (i.e., entry block and
all other blocks in the `func.func` op) was converted as part of the
`func.func` lowering pattern.
Now, only the entry block is converted. The remaining block signatures
are converted together with `cf.br` and `cf.cond_br` as part of
`cf-to-llvm`. All unstructured control flow is not converted as part of
a single pass (`cf-to-llvm`). `func-to-llvm` no longer deals with
unstructured control flow.
Also add more test cases for control flow dialect ops.
Note: This PR is in preparation of #120431, which adds an additional
GPU-specific lowering for `cf.assert`. This was a problem because
`cf.assert` used to be converted as part of `func-to-llvm`.
Note for LLVM integration: If you see failures, add
`-convert-cf-to-llvm` to your pass pipeline.
Commit: 1738b75b615497b880d5a9e4a1b769e9ff001d23
https://github.com/llvm/llvm-project/commit/1738b75b615497b880d5a9e4a1b769e9ff001d23
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update InstCombine maintainers (#120408)
> See [developer
policy](https://llvm.org/docs/DeveloperPolicy.html#maintainers) for
context on the maintainers terminology.
We currently list @majnemer as the maintainer for InstCombine. While
David does still occasionally contribute in this area, most of the
contributions/reviews come from other people nowadays.
I'd like to propose @dtcxzyw and myself as the new maintainers for this
area. I've also expanded it to include InstSimplify and ValueTracking,
and these tend to all go together.
Commit: e11d49cbf5a210ea312f891d9dff6b4bf6433d57
https://github.com/llvm/llvm-project/commit/e11d49cbf5a210ea312f891d9dff6b4bf6433d57
Author: Alexey Moksyakov <yavtuk at yandex.ru>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Adds tls relocations support (#117465)
Co-authored-by: yavtuk <yavtuk at ya.ru>
Commit: 0dc086a787a49d7514f713d0ee0b709fc28bb702
https://github.com/llvm/llvm-project/commit/0dc086a787a49d7514f713d0ee0b709fc28bb702
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/async.mlir
Log Message:
-----------
[mlir] Fix integration tests after #120580 (#120729)
This commit should have been part of #120580.
Commit: 4eba40c604c75b5c5561ffd6e009dbbb5a4f0b4b
https://github.com/llvm/llvm-project/commit/4eba40c604c75b5c5561ffd6e009dbbb5a4f0b4b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstraintSystem.cpp
Log Message:
-----------
[ConstraintElim] Remove dead code. NFC. (#118983)
`R2` should be always greater than `R1` here because both `R1` and `R2` are not modified inside the loop.
Commit: a9034d0b7ff3b0bf90239f6b46ada7f3490b6904
https://github.com/llvm/llvm-project/commit/a9034d0b7ff3b0bf90239f6b46ada7f3490b6904
Author: Jonas Toth <development at jonas-toth.eu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
Log Message:
-----------
[clang-tidy][docs] improve documentation on cppcoreguidelines-narrowing-conversions (#111510) (#118209)
This PR improves the docs for this check to include an example of hidden
narrowing conversions from the integer promotion rules in arithmetic.
Commit: c5434804eeea643f0420bc5fd83dd4977731f4d2
https://github.com/llvm/llvm-project/commit/c5434804eeea643f0420bc5fd83dd4977731f4d2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: 5f0db7c11264fa235d73730b2b93a31407dfbef3
https://github.com/llvm/llvm-project/commit/5f0db7c11264fa235d73730b2b93a31407dfbef3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VECTORCOMBINE on <FUNCTION_NAME>" title debug message to help finding vectorcombine stages in the debug log
Commit: 42873e0cf107045b76d0fc221cdb838cdb0766bf
https://github.com/llvm/llvm-project/commit/42873e0cf107045b76d0fc221cdb838cdb0766bf
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] port eb6c4197d5263ed2e086925b2b2f032a19442d2b
Commit: 54309b1c2f7a9acdb91ae1735cf4eb0877eadfc0
https://github.com/llvm/llvm-project/commit/54309b1c2f7a9acdb91ae1735cf4eb0877eadfc0
Author: Jan Voung <jvoung at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[clang][dataflow] Add matchers for smart pointer accessors to be cached (#120102)
This is part 1 of caching for smart pointer accessors, building on top
of the CachedConstAccessorsLattice, which caches "normal" accessors.
Smart pointer accessors are a bit different in that they may:
- have aliases to access the same underlying data (but potentially
returning slightly different types like `&` vs `*`). Within a
"checked" sequence users may mix uses of the different aliases and the
check should apply to any of the spellings.
- may have non-const overloads in addition to the const version, where
the non-const doesn't actually modify the container
Part 2 will follow and add transfer functions utilities. It will also
add a user UncheckedOptionalAccessModel. We'd seen false positives when
nesting StatusOr<optional<T>> and optional<StatusOr<T>>, etc. which this
can help address.
Commit: 54665f5252695922dd000f311f82af717f1df0c6
https://github.com/llvm/llvm-project/commit/54665f5252695922dd000f311f82af717f1df0c6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[gn build] Port 54309b1c2f7a
Commit: fa9cef50b1afc203b6b653396f9e775862c26e68
https://github.com/llvm/llvm-project/commit/fa9cef50b1afc203b6b653396f9e775862c26e68
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/SimplifyCFG/preserve-llvm-loop-metadata.ll
Log Message:
-----------
Only guard loop metadata that has non-debug info in it (#118825)
This PR is motivated by a mismatch we discovered between compilation
results with vs. without `-g3`. We noticed this when compiling SPEC2017
testcases. The specific instance we saw is fixed in this PR by modifying
a guard (see below), but it is likely similar instances exist elsewhere
in the codebase.
The specific case fixed in this PR manifests itself in the `SimplifyCFG`
pass doing different things depending on whether DebugInfo is generated
or not. At the end of this comment, there is reduced example code that
shows the behavior in question.
The differing behavior has two root causes:
1. Commit https://github.com/llvm/llvm-project/commit/c07e19b adds loop
metadata including debug locations to loops that otherwise would not
have loop metadata
2. Commit https://github.com/llvm/llvm-project/commit/ac28efa6c100 adds
a guard to a simplification action in `SImplifyCFG` that prevents it
from simplifying away loop metadata
So, the change in 2. does not consider that when compiling with debug
symbols, loops that otherwise would not have metadata that needs
preserving, now have debug locations in their loop metadata. Thus, with
`-g3`, `SimplifyCFG` behaves differently than without it.
The larger issue is that while debug info is not supposed to influence
the final compilation result, commits like 1. blur the line between what
is and is not debug info, and not all optimization passes account for
this.
This PR does not address that and rather just modifies this particular
guard in order to restore equivalent behavior between debug and
non-debug builds in this one instance.
---
Here is a reduced version of a file from `f526.blender_r` that showcases
the behavior in question:
```C
struct LinkNode;
typedef struct LinkNode {
struct LinkNode *next;
void *link;
} LinkNode;
void do_projectpaint_thread_ph_v_state() {
int *ps = do_projectpaint_thread_ph_v_state;
LinkNode *node;
while (do_projectpaint_thread_ph_v_state)
for (node = ps; node; node = node->next)
;
}
```
Compiling this with and without DebugInfo, and then disassembling the
results, leads to different outcomes (tested on SystemZ and X86). The
reason for this is that the `SimplifyCFG` pass does different things in
either case.
Commit: 9e333872199b1e3bf488d71e222ff4b6f0370347
https://github.com/llvm/llvm-project/commit/9e333872199b1e3bf488d71e222ff4b6f0370347
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
Log Message:
-----------
[clang analyzer]consume `llvm::Error` (#120597)
`llvm::Error` must be consumed, otherwise it will cause trap during destructor
Commit: acfd26a93be3fb70013560f3fb894eb9086e7e32
https://github.com/llvm/llvm-project/commit/acfd26a93be3fb70013560f3fb894eb9086e7e32
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
Log Message:
-----------
[SCEV] Fix exit condition for recursive loop guard collection (#120442)
When assumptions are present `Terms.size()` does not actually count the
number of conditions collected from dominating branches; introduce a
separate counter.
Fixes https://github.com/llvm/llvm-project/issues/120237
Commit: 2d5dc5c208532833e2ce55d7e1ce29063d91bbe3
https://github.com/llvm/llvm-project/commit/2d5dc5c208532833e2ce55d7e1ce29063d91bbe3
Author: Jan Voung <jvoung at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
Log Message:
-----------
[clang][dataflow] Fix a missing break from a switch case -Wimplicit-fallthrough (#120739)
Missed when changing code in
https://github.com/llvm/llvm-project/pull/120102
Commit: b87a5fb9fd8d50c911ac95f6854389d287542010
https://github.com/llvm/llvm-project/commit/b87a5fb9fd8d50c911ac95f6854389d287542010
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VC: Visiting" debug message to help the log show the instruction folding order.
Commit: 70eac255b8c09244c7a9af7599fbe27d886010e9
https://github.com/llvm/llvm-project/commit/70eac255b8c09244c7a9af7599fbe27d886010e9
Author: David Green <david.green at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add fp cast handling for shuffletoidentity (#120641)
This fixes some regressions from recent changes to vector combine in
#120216. It allows shuffleToIdentity to look through fp casts as other
casts, and makes sure mismatching vector types in splats and casts do
not block the transform, as only the lanes should matter.
Commit: 5845298f9439796a3a2f15dfce8250e322ddce4a
https://github.com/llvm/llvm-project/commit/5845298f9439796a3a2f15dfce8250e322ddce4a
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll
Log Message:
-----------
[LoopVectorize] Teach some X86 cost model tests to use new vplan costs (#120738)
I've only fixed up the tests where I was able to use a simple sed script
to replace the text. Even after this patch lands, there are still over
50 tests that need updating in X86/CostModel!
Commit: 953b07febca46036b2311b5998244fe07b61544f
https://github.com/llvm/llvm-project/commit/953b07febca46036b2311b5998244fe07b61544f
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir] AMDGPUToROCDL: RawBufferOpLowering fixes (#120642)
1. We can use `getNumElements()` only for memrefs with trivial layout.
2. Buffer ops expecting sizes in i32 but descriptor values can be either
i32 or i64, add appropriate casts. This implementation is not ideal as
it can overflow, but it's still better than generating broken IR.
Commit: 56ffcd4e01851d6a8c171e2a813828f720ed1538
https://github.com/llvm/llvm-project/commit/56ffcd4e01851d6a8c171e2a813828f720ed1538
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/sve.mlir
Log Message:
-----------
[mlir] Fix integration tests after #120580 (part 2) (#120751)
This commit should have been part of #120580.
Commit: 8177bf5022c6dfc48d236082fa02076feedd60df
https://github.com/llvm/llvm-project/commit/8177bf5022c6dfc48d236082fa02076feedd60df
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/simple-types-mem.ll
Log Message:
-----------
[Hexagon] Only handle simple types memory accesses (#120654)
The code was asserting because allowsMemoryAccess() was called with
Extended Value Type INVALID_SIMPLE_VALUE_TYPE in
HexagonISelLowering.cpp.
Fixes https://github.com/llvm/llvm-project/issues/118881
Commit: 811f2a652b6232f203e51a17d553e268fae3a29c
https://github.com/llvm/llvm-project/commit/811f2a652b6232f203e51a17d553e268fae3a29c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
Log Message:
-----------
[Compiler-rt] Add AArch64 routines for __arm_agnostic("sme_za_state") (#120059)
The specification of these routines can be found here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#sme-support-routines
Commit: 8c0090030bf89df7e0dbe5827a83d52627b2c87f
https://github.com/llvm/llvm-project/commit/8c0090030bf89df7e0dbe5827a83d52627b2c87f
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
A llvm/docs/llvm_telemetry_design.png
A llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
A llvm/lib/Telemetry/CMakeLists.txt
A llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
A llvm/unittests/Telemetry/CMakeLists.txt
A llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
[llvm]Add a simple Telemetry framework (#102323)
Objective:
- Provide a common framework in LLVM for collecting various usage
metrics
- Characteristics:
- Extensible and configurable by:
- tools in LLVM that want to use it
- vendors in their downstream codebase
- tools users (as allowed by vendor)
Background:
The framework was originally proposed only for LLDB, but there were
quite a few requests to move it to llvm/lib given telemetry
is a common use case in a lot of tools, not just LLDB.
See more details on the design and discussions here on the RFC:
https://discourse.llvm.org/t/rfc-lldb-telemetry-metrics/64588/20?u=oontvoo
---------
Co-authored-by: Alina Sbirlea <alina.g.simion at gmail.com>
Co-authored-by: James Henderson <James.Henderson at sony.com>
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 2e1128d50e6174e857833cfde72f29f61a4a7b56
https://github.com/llvm/llvm-project/commit/2e1128d50e6174e857833cfde72f29f61a4a7b56
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Remove some unnecessary !casts
Commit: 412e1af19a248fd5650e6828695c78454a9195fb
https://github.com/llvm/llvm-project/commit/412e1af19a248fd5650e6828695c78454a9195fb
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
R llvm/test/CodeGen/AArch64/whilewr.ll
Log Message:
-----------
Revert "[AArch64] Lower alias mask to a whilewr" (#120261)
Reverts llvm/llvm-project#100769
A bug in the lowering (the subtraction should be reversed) was found
after merging and it will all be replaced by #117007 anyway.
Commit: 09dfc5713d7e2342bea4c8447d1ed76c85eb8225
https://github.com/llvm/llvm-project/commit/09dfc5713d7e2342bea4c8447d1ed76c85eb8225
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AlgebraicSimplification.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M mlir/docs/PatternRewriter.md
M mlir/examples/standalone/lib/Standalone/StandalonePasses.cpp
M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorToAllocTensor.cpp
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/lib/Dialect/Math/Transforms/UpliftToFMA.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SPIRV/Transforms/CanonicalizeGLPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
M mlir/lib/Dialect/Shape/Transforms/RemoveShapeConstraints.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/test/Transforms/test-operation-folder.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/test/lib/Conversion/VectorToSPIRV/TestVectorReductionToSPIRVDotProd.cpp
M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
M mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
M mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgDecomposeOps.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgRankReduceContractionOps.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Linalg/TestPadFusion.cpp
M mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
M mlir/test/lib/Dialect/MemRef/TestComposeSubView.cpp
M mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
M mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Test/TestTraits.cpp
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
M mlir/test/lib/Tools/PDLL/TestPDLL.cpp
M mlir/test/lib/Transforms/TestCommutativityUtils.cpp
M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
Log Message:
-----------
[mlir] Enable decoupling two kinds of greedy behavior. (#104649)
The greedy rewriter is used in many different flows and it has a lot of
convenience (work list management, debugging actions, tracing, etc). But
it combines two kinds of greedy behavior 1) how ops are matched, 2)
folding wherever it can.
These are independent forms of greedy and leads to inefficiency. E.g.,
cases where one need to create different phases in lowering and is
required to applying patterns in specific order split across different
passes. Using the driver one ends up needlessly retrying folding/having
multiple rounds of folding attempts, where one final run would have
sufficed.
Of course folks can locally avoid this behavior by just building their
own, but this is also a common requested feature that folks keep on
working around locally in suboptimal ways.
For downstream users, there should be no behavioral change. Updating
from the deprecated should just be a find and replace (e.g., `find ./
-type f -exec sed -i
's|applyPatternsAndFoldGreedily|applyPatternsGreedily|g' {} \;` variety)
as the API arguments hasn't changed between the two.
Commit: 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3
https://github.com/llvm/llvm-project/commit/2ec6174bef4bc9ef3d5cedbffd7169017c9669c3
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
R llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
R llvm/docs/llvm_telemetry_design.png
R llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
R llvm/lib/Telemetry/CMakeLists.txt
R llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
R llvm/unittests/Telemetry/CMakeLists.txt
R llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
Revert "[llvm]Add a simple Telemetry framework" (#120769)
Reverts llvm/llvm-project#102323
Reason: broke CI
Commit: 7739380643718bc912bc05b969e4be525a85c0d2
https://github.com/llvm/llvm-project/commit/7739380643718bc912bc05b969e4be525a85c0d2
Author: Yifei Xu <yifei.xu at utexas.edu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/mlir-cpu-runner/X86Vector/math-polynomial-approx-avx2.mlir
Log Message:
-----------
Fix integration tests after #120580 (math-polynomial-approx-avx2)
Commit: 6780ab371ff8ce5e2b08b5fddd75a8296d3debdd
https://github.com/llvm/llvm-project/commit/6780ab371ff8ce5e2b08b5fddd75a8296d3debdd
Author: Santanu Das <quic_santdas at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
A llvm/test/CodeGen/Hexagon/addrspacecast-crash.ll
Log Message:
-----------
[Hexagon] Add support for addrspacecast lowering (#119195)
This patch adds support for addrspacecast lowering. At the moment, there
are no separate address spaces for Hexagon target, hence this
instruction is treated as a noop.
Commit: 952c8d305459d3f1218d1ce12c7f20b6a10ba046
https://github.com/llvm/llvm-project/commit/952c8d305459d3f1218d1ce12c7f20b6a10ba046
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] Enable FEAT_SVE2p1 by default for Armv9.4-A and later (#120753)
The ArmARM says:
```
"In an Armv9.4 implementation, if FEAT_SVE2 is implemented,
FEAT_SVE2p1 is implemented."
```
Since FEAT_SVE2 is already enabled for Armv9.0-A and later, then
FEAT_SVE2p1 should also be enabled by default.
Commit: adfef2a753d9a543ec818a445b2c6d05899cdf3d
https://github.com/llvm/llvm-project/commit/adfef2a753d9a543ec818a445b2c6d05899cdf3d
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] ppoll interception. (#120366)
Commit: f39ecb7b2846af1c113ec50bc4e1f204d18e7d90
https://github.com/llvm/llvm-project/commit/f39ecb7b2846af1c113ec50bc4e1f204d18e7d90
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler][rtsan] stream based on memory buffer interception. (#120672)
Commit: 0550c3292b2277399c2ab700cfcbc43e8477826f
https://github.com/llvm/llvm-project/commit/0550c3292b2277399c2ab700cfcbc43e8477826f
Author: Alan <ahulambda at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/test/Bindings/OCaml/core.ml
Log Message:
-----------
[OCaml] Add bindings for x86_amx, token, and metadata types (#120638)
Commit: 14180185026b8ed793cc7dfd037620e5150ccc35
https://github.com/llvm/llvm-project/commit/14180185026b8ed793cc7dfd037620e5150ccc35
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/Parser.cpp
A clang/test/Parser/objc-coloncolon.m
A clang/test/Parser/objcxx-coloncolon.mm
Log Message:
-----------
[clang][ObjectiveC] Fix Parsing the `::` Optional Scope Specifier (#119908)
The parser hangs when processing types/variables prefixed by `::` as an
optional scope specifier. For example,
```
- (instancetype)init:(::A *) foo;
```
The parser should not hang, and it should emit an error. This PR
implements the error check.
rdar://140885078
Commit: e3157d3f0dc69102013d966345c441f565b2459a
https://github.com/llvm/llvm-project/commit/e3157d3f0dc69102013d966345c441f565b2459a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldBitcastShuffle - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: 82b5bda42c00179fcf101e3ab2c591bda94ada9a
https://github.com/llvm/llvm-project/commit/82b5bda42c00179fcf101e3ab2c591bda94ada9a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VC: Erasing" debug message to help the log show when dead WorkList instructions are erased.
Commit: 5bb650345d83669434713146aaa431c1f7ad43d6
https://github.com/llvm/llvm-project/commit/5bb650345d83669434713146aaa431c1f7ad43d6
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/lib/CodeGen/BackendUtil.cpp
M clang/test/CodeGen/bounds-checking.c
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/many-trap.ll
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/Instrumentation/BoundsChecking/simple-32.ll
M llvm/test/Instrumentation/BoundsChecking/simple.ll
M llvm/test/Instrumentation/BoundsChecking/ubsan-unique-traps.ll
Log Message:
-----------
Remove -bounds-checking-unique-traps (replace with -fno-sanitize-merge=local-bounds) (#120682)
#120613 removed -ubsan-unique-traps and replaced it with
-fno-sanitize-merge (introduced in #120511), which allows fine-grained
control of which UBSan checks to prevent merging. This analogous patch
removes -bound-checking-unique-traps, and allows it to be controlled via
-fno-sanitize-merge=local-bounds.
Most of this patch is simply plumbing through the compiler flags into
the bounds checking pass.
Note: this patch subtly changes -fsanitize-merge (the default) to also
include -fsanitize-merge=local-bounds. This is different from the
previous behavior, where -fsanitize-merge (or the old
-ubsan-unique-traps) did not affect local-bounds (requiring the separate
-bounds-checking-unique-traps). However, we argue that the new behavior
is more intuitive.
Removing -bounds-checking-unique-traps and merging its functionality
into -fsanitize-merge breaks backwards compatibility; we hope that this
is acceptable since '-mllvm -bounds-checking-unique-traps' was an
experimental flag.
Commit: 5e22597aa01d719b7fed79c45cdf240ed196bd68
https://github.com/llvm/llvm-project/commit/5e22597aa01d719b7fed79c45cdf240ed196bd68
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/neon-diagnostics.s
Log Message:
-----------
[AArch64] Verify consecutive vector registers in tbl, tbx (#120262)
Table lookup instructions expect the vectors that define the table
itself to be consecutive (wraparound allowed).
Relevant documentation:
https://developer.arm.com/documentation/100069/0606/SIMD-Vector-Instructions/TBL--vector-
Commit: 3bf91ad2a9c75dd045961e45fdd830fd7b7a5455
https://github.com/llvm/llvm-project/commit/3bf91ad2a9c75dd045961e45fdd830fd7b7a5455
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Add a pass to collect dropped var stats for MIR (#120780)
This patch uses the DroppedVariableStats class to add dropped variable
statistics for MIR passes.
Reland 1c082c9cd12efaa67a32c5da89a328c458ed51c5
Commit: 5162fde6ee6565d39511e451c04865e7b53bcdcc
https://github.com/llvm/llvm-project/commit/5162fde6ee6565d39511e451c04865e7b53bcdcc
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Fix a nullptr deference. (#120702)
Added a nullptr check.
Commit: 9901906035c2be776674b25a3357b37a7dbbac68
https://github.com/llvm/llvm-project/commit/9901906035c2be776674b25a3357b37a7dbbac68
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp:535:13: error:
'applyPatternsAndFoldGreedily' is deprecated: Use
applyPatternsGreedily() instead [-Werror,-Wdeprecated-declarations]
Commit: 0575815b70b486240ace728a33f756cea8fe58fa
https://github.com/llvm/llvm-project/commit/0575815b70b486240ace728a33f756cea8fe58fa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120681)
Commit: 89cb528f076dc6246ca2883054be5f6237473c83
https://github.com/llvm/llvm-project/commit/89cb528f076dc6246ca2883054be5f6237473c83
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 3bf91ad2a9c7
Commit: 3e13acfbf4c93067d5ee5dc1f6e0c6e0fef9297f
https://github.com/llvm/llvm-project/commit/3e13acfbf4c93067d5ee5dc1f6e0c6e0fef9297f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
Log Message:
-----------
[flang][cuda] Make default.nonTbpDefinedIoTable compiler generated (#120686)
`default.nonTbpDefinedIoTable` is a special global defined for IO that
doesn't follow the mangling scheme and is then not handle correctly in
the `CompilerGeneratedNames` pass. Update how it is generated with
doGenerated so it can be handle without special handling.
Also do not generate comdat in gpu module as the current code is not
handling nested module correctly.
Commit: fecf1397e32a89a928ebeeab07bfc7e38a318827
https://github.com/llvm/llvm-project/commit/fecf1397e32a89a928ebeeab07bfc7e38a318827
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
Log Message:
-----------
[Tensor] Migrate away from PointerUnion::{is,get} (NFC) (#120679)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 21a6dbd400ffd68abe36161576d81d0646f1122d
https://github.com/llvm/llvm-project/commit/21a6dbd400ffd68abe36161576d81d0646f1122d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Report undefined EC symbols on ARM64X (#120311)
Commit: 399c3a78a2577c6fc68bba7f301901a0e66e87ed
https://github.com/llvm/llvm-project/commit/399c3a78a2577c6fc68bba7f301901a0e66e87ed
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
Log Message:
-----------
[clang][NFC] Fix the static assertion in 4797437 (#120643)
In the previous commit 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2, I used
`llvm::isInt<NumStmtBits>(StmtClass::LAST##Class)` to test if
`StmtClass` is strictly bounded by the an unsigned integer of
'NumStmtBits'. That is incorrect as `llvm::isInt` tests for signed
integers. This commit fixes it.
(rdar://141555357)
Commit: 1b12ad124ec9eb83ca7d1511b12e1dc3e1c5e06a
https://github.com/llvm/llvm-project/commit/1b12ad124ec9eb83ca7d1511b12e1dc3e1c5e06a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Value.h
Log Message:
-----------
[IR] Correct Value::use_iterator::value_type. (#120609)
operator* for this iterator returns Use& so I think the value_type
should be Use not Use*.
Noticed while comparing with SDNode::use_iterator.
Commit: d2b8acc10464e1f0f6e043f1a92cefc2f3b9d30f
https://github.com/llvm/llvm-project/commit/d2b8acc10464e1f0f6e043f1a92cefc2f3b9d30f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
Log Message:
-----------
[RISCV] Swap the order of SEWGreaterThanOrEqualAndLessThan64 and SEWGreaterThanOrEqual. (#120649)
SEWGreaterThanOrEqualAndLessThan64 is a stricter constraint so it should
have a higher value than SEWGreaterThanOrEqual.
Found by our random test generator.
Commit: c7451ffcb94a1fe53b703e9fc3204bf6cda610a9
https://github.com/llvm/llvm-project/commit/c7451ffcb94a1fe53b703e9fc3204bf6cda610a9
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Supporting hinting mostly-cold allocations after cloning (#120633)
Optionally unconditionally hint allocations as cold or not cold during
the cloning step if the percentage of bytes allocated is at least that
of the given threshold. This is similar to PR120301 which supports this
during matching, but enables the same behavior during cloning, to reduce
the false positives that can be addressed by cloning at the cost of
carrying the additional size metadata/summary.
Commit: 6ab8401f53deddbd79f930ba2bec2f824c9567e3
https://github.com/llvm/llvm-project/commit/6ab8401f53deddbd79f930ba2bec2f824c9567e3
Author: Luke Quinn <quic_lquinn at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
Log Message:
-----------
[RISCV][GISel] Port AddiPair optimization (#120463)
Check if (add r, imm) can be optimized to (ADDI (ADDI r, imm0), imm1),
in which imm = imm0 + imml and both imm0 and imm1 are simm12. We make
imm0 as large as possible and imm1 as small as possible so that we might
be able to use c.addi for the small immediate.
Commit: 0c629206b0b3e1ddd64104a56c7a573a55e8944a
https://github.com/llvm/llvm-project/commit/0c629206b0b3e1ddd64104a56c7a573a55e8944a
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
undef reviewer: tweak the regex so it doesn't warn about #undef
Commit: 8b37c1c71bf66274251db35b742f8f4013be2f52
https://github.com/llvm/llvm-project/commit/8b37c1c71bf66274251db35b742f8f4013be2f52
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsHexagon.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonSchedule.td
A llvm/lib/Target/Hexagon/HexagonScheduleV75.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/MC/Hexagon/arch-support.s
A llvm/test/MC/Hexagon/v75_arch.s
Log Message:
-----------
[Hexagon] Add V75 support to compiler and assembler (#120773)
This patch introduces support for the Hexagon V75 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics.
Commit: 8ae8a905855ca1b07a72059d8225ab1f9cae65dc
https://github.com/llvm/llvm-project/commit/8ae8a905855ca1b07a72059d8225ab1f9cae65dc
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
A clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
A clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] floating-point, pointer, and function types (#120484)
Upstream ClangIR support for `void` type, floating-point types, pointer
types, and function types.
Floating-point support is missing the IBM double-double format, because
that hasn't been implemented in the incubator project yet.
Pointer types do not yet support address spaces.
Function type support includes only the return type and the parameter
types. The many other properties and attributes of function types will
be upstreamed later.
Commit: 3f89279609526270894f26317f7c3ccf04e0f16f
https://github.com/llvm/llvm-project/commit/3f89279609526270894f26317f7c3ccf04e0f16f
Author: Srinivasa R <srinivasar at nvidia.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/wgmma-sm90a-fence.ll
Log Message:
-----------
[NVPTX] Add intrinsics for wgmma.fence PTX instructions (#120523)
This PR adds NVVM intrinsics and NVPTX codegen for:
-
[wgmma.fence.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-fence)
-
[wgmma.commit_group.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-commit-group)
-
[wgmma.wait_group.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-wait-group)
Commit: e934a39e01b9eedd8091cc1505be3a4ad5cad12b
https://github.com/llvm/llvm-project/commit/e934a39e01b9eedd8091cc1505be3a4ad5cad12b
Author: Petr Penzin <ppenzin at tenstorrent.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fp.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fx.s
Log Message:
-----------
[RISC-V] Base scheduling model for tt-ascalon-d8 (#120160)
First part of tt-ascalon-d8 scheduling model, only containing scalar
ops. Scheduling for vector instructions will be added in a follow-up
patch.
---------
Co-authored-by: Anton Blanchard <antonb at tenstorrent.com>
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Commit: bc8fa9c4439c7fd51d95845006f7d650c037c5ec
https://github.com/llvm/llvm-project/commit/bc8fa9c4439c7fd51d95845006f7d650c037c5ec
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
R llvm/test/Transforms/InstCombine/printf-addrspace.ll
Log Message:
-----------
Revert "SimplifyLibCalls: Use default globals address space when building new global strings. (#118729)" (#119616)
This reverts commit cfa582e8aaa791b52110791f5e6504121aaf62bf.
Commit: ef42e9c59aae112031d6ccbbc560d559730507c8
https://github.com/llvm/llvm-project/commit/ef42e9c59aae112031d6ccbbc560d559730507c8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
R libcxx/test/benchmarks/allocation.bench.cpp
Log Message:
-----------
[libc++] Remove allocation.bench.cpp (#120767)
That benchmark isn't really useful, since it doesn't benchmark anything
from libc++ (besides `operator new`). The implementation of the
benchmark also has serious problems like the fact that it allocates an
unknown amount of memory without deallocating it.
Commit: 131acb07d814fabcc969dcaa63f4f352cd529267
https://github.com/llvm/llvm-project/commit/131acb07d814fabcc969dcaa63f4f352cd529267
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/Stmt.cpp
Log Message:
-----------
[clang][NFC] Move static assert on StmtClass bounds from header to source
A follow-up change to PR #120341 & #120643. Address @nikic's concern:
https://github.com/llvm/llvm-project/pull/120341#discussion_r1893822845
Commit: df8efbdbbfcde53b0f9f4f8ceb16b50eecd6e6d3
https://github.com/llvm/llvm-project/commit/df8efbdbbfcde53b0f9f4f8ceb16b50eecd6e6d3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Remove existing predicates implied by newly added ones. (#118185)
When adding a new predicate to a union predicate, some of the existing
predicates may be implied by the new predicate. Remove any existing
predicates that are already implied by the new predicate.
Depends on https://github.com/llvm/llvm-project/pull/118184 to show the
main benefit.
PR: https://github.com/llvm/llvm-project/pull/118185
Commit: 7a4b3b4927bd92e8494dca9dffaf5aeeca4658ba
https://github.com/llvm/llvm-project/commit/7a4b3b4927bd92e8494dca9dffaf5aeeca4658ba
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
Log Message:
-----------
[HLSL] Add Load(int) method on structured buffers (#120663)
Adds `T Load(int)` method on `StructuredBuffer`, `RWStructuredBuffer`
and `RasterizerOrderedStructuredBuffer`.
Uses the existing `addLoadMethods` in HLSLExternalSemalSource so most of
this change is just tests.
Fixes #112977
Commit: d8e10d13d7e31cb1695eb65f02696e682ec97097
https://github.com/llvm/llvm-project/commit/d8e10d13d7e31cb1695eb65f02696e682ec97097
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan] Fix-forward TEST(TestRtsanInterceptors, PpollDiesWhenRealtime)
Buildbot breakage:
home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp:1090:19: error: missing field 'tv_nsec' initializer [-Werror,-Wmissing-field-initializers]
1090 | timespec ts = {0};
introduced by https://github.com/llvm/llvm-project/pull/120366/files
Commit: d9cc37fea7b02954079ca59e8f7f28cffacc7e9e
https://github.com/llvm/llvm-project/commit/d9cc37fea7b02954079ca59e8f7f28cffacc7e9e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/Utility/DiagnosticsRendering.h
M lldb/include/lldb/Utility/Status.h
M lldb/source/API/SBError.cpp
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Utility/DiagnosticsRendering.cpp
M lldb/source/Utility/Status.cpp
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
Log Message:
-----------
[lldb] Expose structured errors in SBError (#120784)
Building on top of previous work that exposed expression diagnostics via
SBCommandReturnObject, this patch generalizes the support to expose any
SBError as machine-readable structured data. One use-case of this is to
allow IDEs to better visualize expression diagnostics.
rdar://139997604
Commit: 8fce5d96a75d8c6b018e54fd4005bda01c377b56
https://github.com/llvm/llvm-project/commit/8fce5d96a75d8c6b018e54fd4005bda01c377b56
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Update changed test after df8efbdbb.
Test needed updating due to changes on main since branch was tested.
Commit: f82bb3d496d6b8b932ce34497ba7970b519915f6
https://github.com/llvm/llvm-project/commit/f82bb3d496d6b8b932ce34497ba7970b519915f6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Update changed test after df8efbdbb (take 2).
Test needed updating due to changes on main since branch was tested.
Commit: 81831ef3e7804b9637aff119c1adde661d10fb78
https://github.com/llvm/llvm-project/commit/81831ef3e7804b9637aff119c1adde661d10fb78
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Correctly allocate descriptor in managed memory when reboxing (#120795)
Reboxing might create a new in memory descriptor. If this one was
allocate with managed memory, allocate the new one in managed memory as
well.
Commit: e650ac1654c011bd0bdabd72f2c7b8ceefa9f709
https://github.com/llvm/llvm-project/commit/e650ac1654c011bd0bdabd72f2c7b8ceefa9f709
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix typo in CUFAllocDescriptor (#120797)
Missing `r` in the function name.
Commit: 994457f81ffd95531eff07e08a0fea42397b80d2
https://github.com/llvm/llvm-project/commit/994457f81ffd95531eff07e08a0fea42397b80d2
Author: Chris White <chriswhiteiodev at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/test/Driver/cl-options.c
A clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/unknown-arg-drivermodes.test
Log Message:
-----------
[Clang-CL][DXC] Expose -fdiagnostic-color= to clang-cl and clang-dxc (#120644)
Exposing `-fdiagnostic-color=` to clang-cl and clang-dxc.
`-fcolor-diagnostics` and `-fno-color-diagnostics` are already allowed
in both of these and `-fdiagnostics-color=` allows one additional value,
`auto`.
I've added the tests for clang-cl to `cl-options.c` as per the comments
in the issue linked below. I couldn't finding a suitable existing file
to add the clang-dxc tests to so I've created a new one.
Resolves #119184
Commit: 78ab77199118414aad8632d990bf73aca3d16ff8
https://github.com/llvm/llvm-project/commit/78ab77199118414aad8632d990bf73aca3d16ff8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][NFC]Add more test for shuffles with exact vlen, NFC
Commit: 415cfaf339dc4383acd44248584bcc6376213c8d
https://github.com/llvm/llvm-project/commit/415cfaf339dc4383acd44248584bcc6376213c8d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix type in CUFFreeDescriptor (#120799)
Commit: c1e7e4500c6e3b921f5e0cda8ba8d8d66e086db6
https://github.com/llvm/llvm-project/commit/c1e7e4500c6e3b921f5e0cda8ba8d8d66e086db6
Author: Malek Ben Slimane <malek.ben.slimane at sap.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
Log Message:
-----------
Thread Safety Analysis: Support passing scoped locks between functions with appropriate annotations (#110523)
This is helpful when multiple functions operate on the same
capabilities, but we still want to use scoped lockable types for
readability and exception safety.
- Introduce support for thread safety annotations on function parameters
marked with the 'scoped_lockable' attribute.
- Add semantic checks for annotated function parameters, ensuring
correct usage.
- Enhance the analysis to recognize and handle parameters annotated for
thread safety, extending the scope of analysis to track these across
function boundries.
- Verify that the underlying mutexes of function arguments match the
expectations set by the annotations.
Limitation: This does not work when the attribute arguments are class
members, because attributes on function parameters are parsed
differently from attributes on functions.
Commit: e5de2a2df4f983e1db83deaaa1d21457c922404f
https://github.com/llvm/llvm-project/commit/e5de2a2df4f983e1db83deaaa1d21457c922404f
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
Log Message:
-----------
[clang-tidy][NFC] extract options verify to separately function (#120768)
Commit: adf0c817f3eb0afc2c9ccc64c806acc7d6c14cd8
https://github.com/llvm/llvm-project/commit/adf0c817f3eb0afc2c9ccc64c806acc7d6c14cd8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
Log Message:
-----------
[memprof] Undrift MemProf profile even when some frames are missing (#120500)
This patch makes the MemProf undrifting process a little more lenient.
Consider an inlined call hierarchy:
foo -> bar -> ::new
If bar tail-calls ::new, the profile appears to indicate that foo
directly calls ::new. This is a problem because the perceived call
hierarchy in the profile looks different from what we can obtain from
the inline stack in the IR.
Recall that undrifting works by constructing and comparing a list of
direct calls from the profile and that from the IR. This patch
modifies the construction of the latter. Specifically, if foo calls
bar in the IR, but bar is missing the profile, we pretend that foo
directly calls some heap allocation function. We apply this
transformation only in the inline stack leading to some heap
allocation function.
Commit: 96839a47209c202b60c4164a2acc34bd755f6308
https://github.com/llvm/llvm-project/commit/96839a47209c202b60c4164a2acc34bd755f6308
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[llvm-gsymutil] Ensure stable ordering of merged functions (#120796)
Previously, the test
`llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml`
[was disabled](https://github.com/llvm/llvm-project/pull/119957/files)
due to failing on Linux.
The issue is that the merged functions appear in a different order in
the final produced `gSYM`.
To ensure deterministic ordering of merged functions, we change the
sorting of functions to use the `stable_sort` algorithm. Before merged
functions, this was not an issue as the address is used as a comparator
in the sorting algorithm so there was no chance of two functions testing
as identical according to the comparator.
Confirmed that test now passes locally with
`-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON`.
Commit: 6ecedb05b0d320543968843159b1b29233b03fc7
https://github.com/llvm/llvm-project/commit/6ecedb05b0d320543968843159b1b29233b03fc7
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/FModTest.h
Log Message:
-----------
[libc] Make a couple of math smoke tests more robust. (#120808)
Make sure to clear out all FE_ALL_EXCEPT bits both before and after
invoking function under test -- otherwise the very first check for the
exception bits in the unit test may fail due to bits set prior to test
invocation.
Commit: 44514316bd5ef656076b6baaf6bccb298d98f0ea
https://github.com/llvm/llvm-project/commit/44514316bd5ef656076b6baaf6bccb298d98f0ea
Author: Sergey Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Delete unused `Src` arguments (NFC) (#120445)
The last uses were removed in #120332 and #120426.
When emitting renderers, we shouldn't look at the source DAG at all. The
required information is provided by the destination DAG and by the
instructions referenced in that DAG. Sometimes, we do want to know if a
result was referenced in the source DAG; this can be checked by calling
`RuleMatcher::hasOperand`. Any other use of the source DAG when emitting
renderers is likely an error.
Pull Request: https://github.com/llvm/llvm-project/pull/120445
Commit: 3bbd53ce97059718994cd17f3fd404654e9198cb
https://github.com/llvm/llvm-project/commit/3bbd53ce97059718994cd17f3fd404654e9198cb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/config/gpu/headers.txt
R libc/hdrgen/yaml/gpu/rpc.yaml
M libc/include/CMakeLists.txt
R libc/include/gpu/rpc.h.def
M libc/src/__support/RPC/CMakeLists.txt
Log Message:
-----------
[libc] Remove old RPC host call extension for GPU (#120800)
Summary:
This was originally a hacked together function that served to just
implement some features for OpenMP. That has been moved into OpenMP
itself now that we have exported RPC properly. This can now be deleted.
Commit: a7cd660bd7351f95e538286b23d38224bc8a9bb4
https://github.com/llvm/llvm-project/commit/a7cd660bd7351f95e538286b23d38224bc8a9bb4
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter-optional-def.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Learn to import patterns with optional defs (#120470)
The number of skipped patterns reduces for ARM from 4278 to 4257.
This is the only in-tree target that makes use of OptionalDefOperand.
Pull Request: https://github.com/llvm/llvm-project/pull/120470
Commit: 9ae92d70561bcc95a7f818920238e764253d9758
https://github.com/llvm/llvm-project/commit/9ae92d70561bcc95a7f818920238e764253d9758
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.h
Log Message:
-----------
[SelectionDAG] Virtualize isTargetStrictFPOpcode / isTargetMemoryOpcode (#119969)
With this change, targets are no longer required to put memory / strict-fp opcodes after special
`ISD::FIRST_TARGET_MEMORY_OPCODE`/`ISD::FIRST_TARGET_STRICTFP_OPCODE` markers.
This will also allow autogenerating `isTargetMemoryOpcode`/`isTargetStrictFPOpcode (#119709).
Pull Request: https://github.com/llvm/llvm-project/pull/119969
Commit: d328d410613963359c4044292cfca99388d01023
https://github.com/llvm/llvm-project/commit/d328d410613963359c4044292cfca99388d01023
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
R llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Revert "Add a pass to collect dropped var stats for MIR (#120780)"
This reverts commit 3bf91ad2a9c75dd045961e45fdd830fd7b7a5455.
(llvmorg-20-init-16123-g3bf91ad2a9c7)
`llvm/CodeGen` should not depend on `llvm/Passes`.
Commit: 559f0809cc69f0ee55fa56fac1758f43863f2650
https://github.com/llvm/llvm-project/commit/559f0809cc69f0ee55fa56fac1758f43863f2650
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port d328d4106139
Commit: 5cd427477218d8bdb659c6c53a7758f741c3990a
https://github.com/llvm/llvm-project/commit/5cd427477218d8bdb659c6c53a7758f741c3990a
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
A mlir/include/mlir/Bindings/Python/Nanobind.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/lib/Bindings/Python/AsyncPasses.cpp
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/ExecutionEngineModule.cpp
M mlir/lib/Bindings/Python/GPUPasses.cpp
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/LinalgPasses.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/RegisterEverything.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/SparseTensorPasses.cpp
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
M mlir/test/python/dialects/sparse_tensor/dialect.py
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir python] Port in-tree dialects to nanobind. (#119924)
This is a companion to #118583, although it can be landed independently
because since #117922 dialects do not have to use the same Python
binding framework as the Python core code.
This PR ports all of the in-tree dialect and pass extensions to
nanobind, with the exception of those that remain for testing pybind11
support.
This PR also:
* removes CollectDiagnosticsToStringScope from NanobindAdaptors.h. This
was overlooked in a previous PR and it is duplicated in Diagnostics.h.
---------
Co-authored-by: Jacques Pienaar <jpienaar at google.com>
Commit: cbf931e16f6d1ebe4c8a2f32315f21615a934f32
https://github.com/llvm/llvm-project/commit/cbf931e16f6d1ebe4c8a2f32315f21615a934f32
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
Log Message:
-----------
[TableGen][GlobalISel] Add GINodeEquiv for sdivrem/udivrem (#120819)
These nodes are not currently used in DAG patterns. Their GlobalISel
equivalents are primarily useful for testing TableGen backend, as they
produce two results. (There doesn't seem to be other such nodes.)
Commit: 665d79f2e967a5eee6fff93685e45f50cf24cab2
https://github.com/llvm/llvm-project/commit/665d79f2e967a5eee6fff93685e45f50cf24cab2
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
Log Message:
-----------
[AArch64][GlobalISel] Implement G_ICMP support for oversize pointer vectors.
Commit: 7a38445ee2ac89fe240479d052373df23561ab57
https://github.com/llvm/llvm-project/commit/7a38445ee2ac89fe240479d052373df23561ab57
Author: vporpo <vporpodas at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Register move instr callback (#120146)
This patch implements the move instruction notifier for the DAG.
Whenever an instruction moves the notifier will maintain the DAG.
Commit: f06756f50e1f70664adc25a41ccabf5b018a504a
https://github.com/llvm/llvm-project/commit/f06756f50e1f70664adc25a41ccabf5b018a504a
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
Log Message:
-----------
Store sysreg names in-line with their descriptors. (#119157)
This wastes some disk space, because we have to size the arrays for
the maximum possible length. However, it eliminates dynamic relocations
from the SysRegsList arrays.
Commit: e138f7831e62054d3971f716273fbe174176deca
https://github.com/llvm/llvm-project/commit/e138f7831e62054d3971f716273fbe174176deca
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Remove unnecessary 'let BaseInstr' from Xsfvcp pseudoinstructions. NFC
These are identical to the RISCVVPseudo base class.
Commit: 95c5386ddb8a530b43533c82b5dbfc18e81a7235
https://github.com/llvm/llvm-project/commit/95c5386ddb8a530b43533c82b5dbfc18e81a7235
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
Log Message:
-----------
[RISCV][NFCI] Rationalize Immediate Definitions (#120718)
Commit: c361fd5a7a8d646e11ee51acf4ba6de5f5e1297c
https://github.com/llvm/llvm-project/commit/c361fd5a7a8d646e11ee51acf4ba6de5f5e1297c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32c-only-valid.s
M llvm/test/MC/RISCV/rv32i-only-valid.s
A llvm/test/MC/RISCV/rv32zcibop-valid-rv32.s
Log Message:
-----------
[RISCV] Fix More RV32 Signed Immediates (#120658)
Commit: b9a2658a3e8bd13b0f9e7a8a440832a95b377216
https://github.com/llvm/llvm-project/commit/b9a2658a3e8bd13b0f9e7a8a440832a95b377216
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
M libcxx/include/CMakeLists.txt
R libcxx/include/__cxx03/CMakeLists.txt
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/compiler.h
A libcxx/include/__cxx03/__configuration/config_site_shim.h
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__configuration/platform.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/climits
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/module.modulemap
M libcxx/include/__cxx03/version
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/cassert
M libcxx/include/ccomplex
M libcxx/include/cctype
M libcxx/include/cerrno
M libcxx/include/cfenv
M libcxx/include/cfloat
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cinttypes
M libcxx/include/ciso646
M libcxx/include/climits
M libcxx/include/clocale
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/complex.h
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/csetjmp
M libcxx/include/csignal
M libcxx/include/cstdalign
M libcxx/include/cstdarg
M libcxx/include/cstdbool
M libcxx/include/cstddef
M libcxx/include/cstdint
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctgmath
M libcxx/include/ctime
M libcxx/include/ctype.h
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/cwctype
M libcxx/include/deque
M libcxx/include/errno.h
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/fenv.h
M libcxx/include/filesystem
M libcxx/include/flat_map
M libcxx/include/float.h
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/inttypes.h
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/iostream
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdatomic.h
M libcxx/include/stdbool.h
M libcxx/include/stddef.h
M libcxx/include/stdexcept
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string.h
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/syncstream
M libcxx/include/system_error
M libcxx/include/tgmath.h
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/uchar.h
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/include/wchar.h
M libcxx/include/wctype.h
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
M libcxx/test/libcxx/assertions/modes/none.pass.cpp
M libcxx/test/libcxx/assertions/single_expression.pass.cpp
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
M libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/lint/lint_cmakelists.sh.py
M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
M libcxx/test/libcxx/selftest/test_macros.pass.cpp
M libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
M libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
M libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/libcxx/utilities/no_destroy.pass.cpp
M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
M libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
M libcxx/test/support/test_macros.h
M libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
Log Message:
-----------
[libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)
This patch implements the forwarding to frozen C++03 headers as
discussed in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In the
RFC, we initially proposed selecting the right headers from the Clang
driver, however consensus seemed to steer towards handling this in the
library itself. This patch implements that direction.
At a high level, the changes basically amount to making each public
header look like this:
```
// inside <vector>
#ifdef _LIBCPP_CXX03_LANG
# include <__cxx03/vector>
#else
// normal <vector> content
#endif
```
In most cases, public headers are simple umbrella headers so there isn't
much code in the #else branch. In other cases, the #else branch contains
the actual implementation of the header.
Commit: f77152d9a44b49ee38b15085034bbfe22b4b3992
https://github.com/llvm/llvm-project/commit/f77152d9a44b49ee38b15085034bbfe22b4b3992
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
Log Message:
-----------
[clang-tidy] use specified type verbatim in modernize-use-using fix (#113837)
Previously, the implementation used the printed type, which contains
expanded
macro arguments, deletes comments, and removes function argument names
from the alias declaration. Instead, this check can be more surgical and
use the
actual written type verbatim.
Fixes #33760
Fixes #37846
Fixes #41685
Fixes #83568
Fixes #95716
Fixes #97009
Commit: 93c2577020fe70087f99f48f7ce1fd62178455c3
https://github.com/llvm/llvm-project/commit/93c2577020fe70087f99f48f7ce1fd62178455c3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port b9a2658a3e8b
Commit: bb86c5dd4d32c42183ed27a1ff7b34b1201215c4
https://github.com/llvm/llvm-project/commit/bb86c5dd4d32c42183ed27a1ff7b34b1201215c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use inferScalarType in VPInstruction::ResumePhi codegen (NFC).
Use VPlan-based type analysis to retrieve type of phi node. Also adds
missing type inference for ResumePhi and ComputeReductionResult opcodes.
Commit: 1e146dfb4fc82229c17ba5a7da847d87de214351
https://github.com/llvm/llvm-project/commit/1e146dfb4fc82229c17ba5a7da847d87de214351
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::{is,get} (NFC) (#120829)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm moving the definitions of several functions to SemaConcept.cpp
because llvm::cast requires the full definitions of
NormalizedConstraintPair, which is used like so:
using CompoundConstraint = llvm::PointerIntPair<NormalizedConstraintPair
*, 1,
CompoundConstraintKind>;
Commit: 129f1001c3b1b5200de43917d53c0efbdf08f11f
https://github.com/llvm/llvm-project/commit/129f1001c3b1b5200de43917d53c0efbdf08f11f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[Dialect] Migrate away from PointerUnion::{is,get} (NFC) (#120818)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: e072cffe3b639e8c433138b10ff68dc577497cf8
https://github.com/llvm/llvm-project/commit/e072cffe3b639e8c433138b10ff68dc577497cf8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Add immop_oneuse PatLeaf. Use it to replace some PatLeafs with ImmLeaf/IntImmLeaf. NFC (#120804)
If we needed a one use check of a constant, we used a PatLeaf instead of
an IntLeaf or IntImmLeaf so we could add the one use check.
Unfortunately, this required the custom code to be duplicated for GISel
too.
Instead we can use a PatLeaf that does the one use check and defers to
an IntLeaf or IntImmLeaf for the immediate check. This allows GISel to
automically import the IntLeaf/IntImmLeaf part and we only need the
custom GISel predicate in the immop_oneuse PatLeaf.
Commit: f7ba2bdf863b589140cb97a3fafb2f4688532456
https://github.com/llvm/llvm-project/commit/f7ba2bdf863b589140cb97a3fafb2f4688532456
Author: GrumpyPigSkin <130710602+GrumpyPigSkin at users.noreply.github.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
A llvm/test/Other/debugcounter-slsr.ll
Log Message:
-----------
[LLVM][SLSR] Add a debug counter (#119981)
Added debug counter and test for SLSR.
Fixes: https://github.com/llvm/llvm-project/issues/119770
Commit: fd784726db70a5155594c32ee839b8807fafd87d
https://github.com/llvm/llvm-project/commit/fd784726db70a5155594c32ee839b8807fafd87d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
Log Message:
-----------
[libc++] Rewrite minmax_element benchmark
The benchmark currently uses makeCartesianProductBenchmark, which
doesn't make a ton of sense, since minmax_element always goes through
every element one by one. The runtime doesn't depend on the values
of the elements.
Fixes #120758
Commit: 9b496deb90381f352a2bceb8794a0c7881a63bd5
https://github.com/llvm/llvm-project/commit/9b496deb90381f352a2bceb8794a0c7881a63bd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Set and use debug location for VPPredInstPHIRecipe.
Update the recipe it always set its debug location and use it during IR
generation.
Commit: bc23ef3feba9f1c0ca55bc12754017712252b64d
https://github.com/llvm/llvm-project/commit/bc23ef3feba9f1c0ca55bc12754017712252b64d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
Log Message:
-----------
[LV] Add test showing incorrect debug location for scalar casts.
Commit: 3b8faee6c6f44343c3f9de76c40ff305f72dfcd6
https://github.com/llvm/llvm-project/commit/3b8faee6c6f44343c3f9de76c40ff305f72dfcd6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__functional/function.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_destructor.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/type_list.h
M libcxx/include/__type_traits/unwrap_ref.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/move.h
M libcxx/include/tuple
Log Message:
-----------
[libc++] Switch _LIBCPP_NODEBUG to [[gnu::nodebug]] (#120720)
This makes the placement of the attribute more consistent. This also
avoids clang dropping the attribute silently (see #120722).
Commit: 9b0c8ef37a344769e90d769dbeb0060afb260483
https://github.com/llvm/llvm-project/commit/9b0c8ef37a344769e90d769dbeb0060afb260483
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__fwd/memory_resource.h
Log Message:
-----------
[libc++] Don't declare pmr::polymorphic_allocator before C++17 (#120850)
Fixes #120790
Commit: 3fa5b52714b3dadbc5fddfc4ae1e7c423a652962
https://github.com/llvm/llvm-project/commit/3fa5b52714b3dadbc5fddfc4ae1e7c423a652962
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCFragment.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSPIRVStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Decrease direct access to getContents()
to make it easier to store fragment contents out-of-line. Loosely based
on Alexis Engelke's prototype.
Commit: 40acaa394fa235796c2d98de87380887c59d5448
https://github.com/llvm/llvm-project/commit/40acaa394fa235796c2d98de87380887c59d5448
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix a crash in `QualifierAlignment: Right` (#120821)
Fixes #120793.
Commit: c9df8da659acde9445e1de5259d34ccf96948b44
https://github.com/llvm/llvm-project/commit/c9df8da659acde9445e1de5259d34ccf96948b44
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Serialization/MultiOnDiskHashTable.h
Log Message:
-----------
[Serialization] Migrate away from PointerUnion::get (NFC) (#120844)
Note that PointerUnion::get has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 9192367ad1af30c59d5b7adc0a099bd7e524e5dd
https://github.com/llvm/llvm-project/commit/9192367ad1af30c59d5b7adc0a099bd7e524e5dd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M mlir/lib/Interfaces/CallInterfaces.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
Log Message:
-----------
[Interfaces] Migrate away from PointerUnion::{is,get} (NFC) (#120845)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 530fe60bf8e94702541c581e7bc54a6031cd6f1e
https://github.com/llvm/llvm-project/commit/530fe60bf8e94702541c581e7bc54a6031cd6f1e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[IR] Avoid repeated hash lookups (NFC) (#120848)
Commit: dce2245ba49fad419e551b0143f41431ec8e7f03
https://github.com/llvm/llvm-project/commit/dce2245ba49fad419e551b0143f41431ec8e7f03
Author: Prabhuk <prabhukr at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/UEFI.h
M clang/lib/Lex/InitHeaderSearch.cpp
Log Message:
-----------
[clang][driver] Cleanup UEFI toolchain driver (#111473)
Updating UEFI header includes to not include system include directories,
adding includes from compiler resource directory and minor cleanups.
Commit: 037da010228436ef8f49399f1f0cf008c8428af8
https://github.com/llvm/llvm-project/commit/037da010228436ef8f49399f1f0cf008c8428af8
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
Log Message:
-----------
[libc++] Mark P0175R1 as 'Nothing To Do'
The paper is purely editorial.
Fixes #99941
Commit: b41d50aaa93125b640823cf147740368f5bcc8aa
https://github.com/llvm/llvm-project/commit/b41d50aaa93125b640823cf147740368f5bcc8aa
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
Log Message:
-----------
[libc++][NFC] Name `unique_ptr` function arguments `__ptr` and `__deleter`
This makes the code a bit more readable and users will see `ptr` and
`deleter` instead of `p` and `d` when using an IDE that shows the
argument names.
Commit: 86fa35ce7e9730e9a3840a77c4a14f175167d524
https://github.com/llvm/llvm-project/commit/86fa35ce7e9730e9a3840a77c4a14f175167d524
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
Log Message:
-----------
[LV][VPlan] Use opcode to retrieve the VPID of the CallRecipe, rather than underlying instruction (#120816)
This patch may cause the flags in the CallRecipe to be lost after EVL
transformation, and it has been addressed in the patch: #119847
Commit: 21e6f16517b9b9255729665806f5c0b395854146
https://github.com/llvm/llvm-project/commit/21e6f16517b9b9255729665806f5c0b395854146
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
Log Message:
-----------
[libc++] Mark N4089 as complete
The paper has been implemented since at least LLVM 5, maybe earlier.
Commit: 49ecd665fcc311f7cd61e81d3f7a112cd287e292
https://github.com/llvm/llvm-project/commit/49ecd665fcc311f7cd61e81d3f7a112cd287e292
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[AArch64][GlobalISel] Legalize unhandled G_BITREVERSE by lowering.
This fixes fallbacks on <4 x s16> types.
Commit: 6c42d0d7df55f28084e41b482dd7c25d4e7bcd10
https://github.com/llvm/llvm-project/commit/6c42d0d7df55f28084e41b482dd7c25d4e7bcd10
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCCodeView.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
Log Message:
-----------
[MC,CodeView] Postpone MCDataFragment creation to finish time
`StrTabFragment` created due to `.cv_stringtable` is not placed directly
into a section. This requires a funky ~CodeViewContext and does not fit
well with the future that moves MCFragment storage out-of-line.
Commit: 2cf3d059176d7d92a096c32b15946a101d037c59
https://github.com/llvm/llvm-project/commit/2cf3d059176d7d92a096c32b15946a101d037c59
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
Log Message:
-----------
[MC] Simplify WasmObjectWriter
and make it fit well with the future when MCFragment content is
out-of-line.
Commit: 90726652c930d9f286bad291ec11bccb2fb6b39a
https://github.com/llvm/llvm-project/commit/90726652c930d9f286bad291ec11bccb2fb6b39a
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/CoverageViewOptions.h
Log Message:
-----------
Reformat
Commit: cac6777ca14e162eb6e97e20da266802846ab953
https://github.com/llvm/llvm-project/commit/cac6777ca14e162eb6e97e20da266802846ab953
Author: 天音あめ <i at amane-a.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Format/MacroExpander.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
Log Message:
-----------
[clang-format] Fix crashes when the macro expansion is empty (#119428)
An empty expansion should be valid, like `echo 'A()' | clang-format
--style='{Macros: [A(x)=x]}'`.
Fixes #119258.
Commit: 3bb0c73ab50121f518c8d66154283cfd50d6d31a
https://github.com/llvm/llvm-project/commit/3bb0c73ab50121f518c8d66154283cfd50d6d31a
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/bitreverse.ll
Log Message:
-----------
[AArch64][GlobalISel] Add more test coverage for bitreverse.
The IR tests show there's some missing optimizations to form rbit.
Commit: 7b86fbbab74a6301d99017364b5369b98bdd7985
https://github.com/llvm/llvm-project/commit/7b86fbbab74a6301d99017364b5369b98bdd7985
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Remove redundant MCSection::empty check. NFC
The section cannot be empty due to allocInitialFragment.
Commit: acb7dfaa017dc11106bf97de4e8bf72d47ff54a8
https://github.com/llvm/llvm-project/commit/acb7dfaa017dc11106bf97de4e8bf72d47ff54a8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/if.cpp
Log Message:
-----------
[clang][bytecode] Create local scopes for if then/else statements (#120852)
In case those aren't compound statements.
Commit: 47bdbb31f7ca8ed5a81eca378f2de48cb8b28cf0
https://github.com/llvm/llvm-project/commit/47bdbb31f7ca8ed5a81eca378f2de48cb8b28cf0
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
Log Message:
-----------
Remove unused MCSection::empty
CurFragList->Head should be non-null, so empty() is not useful.
Commit: c1931241b088164bc96345f9dffae024affd3f56
https://github.com/llvm/llvm-project/commit/c1931241b088164bc96345f9dffae024affd3f56
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCFragment.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
Log Message:
-----------
[MC] Remove fixup_begin/fixup_end
Commit: 9423961f259f49007dc9cdea7344094a6fdf1afb
https://github.com/llvm/llvm-project/commit/9423961f259f49007dc9cdea7344094a6fdf1afb
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/ELF/nobits-non-zero-value.s
Log Message:
-----------
[MC] Test the "cannot have fixups" error
Commit: b68a952ae1c06b78790eab758574d992159e33b8
https://github.com/llvm/llvm-project/commit/b68a952ae1c06b78790eab758574d992159e33b8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc] Migrate away from PointerUnion::{is,get} (NFC) (#120872)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Commit: b0e43f815ac69eaab503984a187d8099b5c4b707
https://github.com/llvm/llvm-project/commit/b0e43f815ac69eaab503984a187d8099b5c4b707
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120873)
Commit: e1833e3a7e9de126d0a71d439bb862a8e20a5e4f
https://github.com/llvm/llvm-project/commit/e1833e3a7e9de126d0a71d439bb862a8e20a5e4f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Simplify redundant VPDerivedIVRecipe (NFC).
Split DerivedIV simplification off from
https://github.com/llvm/llvm-project/pull/112145 and use to remove the
need for extra checks in createScalarIVSteps. Required an extra
simplification run after IV transforms.
Commit: 1b9805c14dbaa3af39cf3d9e5a88d3b150c69dc8
https://github.com/llvm/llvm-project/commit/1b9805c14dbaa3af39cf3d9e5a88d3b150c69dc8
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Move PT_OPENBSD_NOBTCFI check to readConfigs() (#120678)
Commit: e8f1902cca2aeaa23db6080fe33fbc67ed203350
https://github.com/llvm/llvm-project/commit/e8f1902cca2aeaa23db6080fe33fbc67ed203350
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Add a test to make sure the type traits derive from integral_constant (#120732)
Commit: 6261599245e5c8ab4b72bf24d4f95e1a5d7a04db
https://github.com/llvm/llvm-project/commit/6261599245e5c8ab4b72bf24d4f95e1a5d7a04db
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
Log Message:
-----------
[libc++] Mark P0270R3 as Nothing To Do
The paper is fixing a wording bug, so there's nothing to do for
implementations.
Commit: d486b768238c84b3fea8cb35aaceab1ae5204f92
https://github.com/llvm/llvm-project/commit/d486b768238c84b3fea8cb35aaceab1ae5204f92
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
Log Message:
-----------
[AArch64] Unroll some loops with early-continues on Apple Silicon. (#118499)
Try to runtime-unroll loops with early-continues depending on
loop-varying loads; this helps with branch-prediction for the
early-continues and can significantly improve performance
for such loops
Builds on top of https://github.com/llvm/llvm-project/pull/118317.
PR: https://github.com/llvm/llvm-project/pull/118499.
Commit: a0f0a69b625748b97e40195c8d81b3746d30f985
https://github.com/llvm/llvm-project/commit/a0f0a69b625748b97e40195c8d81b3746d30f985
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M lld/MachO/SymbolTable.cpp
Log Message:
-----------
[lld][MachO] Fix symbol insertion in `transplantSymbolsAtOffset` (#120737)
The existing comparison does not insert symbols in the intended place.
Closes #120559.
---------
Co-authored-by: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Commit: b2d7312d52f299a2f854c673796ad1a699e0d79f
https://github.com/llvm/llvm-project/commit/b2d7312d52f299a2f854c673796ad1a699e0d79f
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Add const to some member functions & reformat (NFC) (#120899)
Add const to `import*Renderer` member functions and recursively to
functions called from them.
I didn't do that for `import*Matcher` functions because they mutate
class variables.
Commit: a4f5e90e319e8bf36ed421a0445218ff17d4de03
https://github.com/llvm/llvm-project/commit/a4f5e90e319e8bf36ed421a0445218ff17d4de03
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
Log Message:
-----------
[clang-tidy][NFC][doc] mention some range algorithms do not work for `vector<bool>` in C++20 (#120774)
Commit: f96337e04e0290426c72637325424a8be8e8de5d
https://github.com/llvm/llvm-project/commit/f96337e04e0290426c72637325424a8be8e8de5d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldConcatOfBoolMasks - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: db2307d2d7f650aa8f0d9ba727abfe83a32bc3bf
https://github.com/llvm/llvm-project/commit/db2307d2d7f650aa8f0d9ba727abfe83a32bc3bf
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
Log Message:
-----------
[LV] Add tests with dereferenceable assumptions.
Add a number of tests with dereferenceable assumptions and different
alignment info.
Commit: bf873aa3ecef93c8dc8eb792da9e73ceff120492
https://github.com/llvm/llvm-project/commit/bf873aa3ecef93c8dc8eb792da9e73ceff120492
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldShuffleToIdentity - add debug message for match
Helps with debugging to show to that the fold found the match.
Commit: eaf67e062c09c30afd05afd8417787cd6760d9a7
https://github.com/llvm/llvm-project/commit/eaf67e062c09c30afd05afd8417787cd6760d9a7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr120906.ll
Log Message:
-----------
[X86] IsNOT - don't fold not(pcmpgt(C1, C2)) -> pcmpgt(C2, C1 - 1)
Interferes with constant folding of the pcmpgt node.
Yes another example where topological node sorting would have helped us.
Fixes #120906
Commit: c5492e3c65e40cdcab9771b692f9ad437c65aa04
https://github.com/llvm/llvm-project/commit/c5492e3c65e40cdcab9771b692f9ad437c65aa04
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A libcxx/test/benchmarks/locale/num_get.bench.cpp
Log Message:
-----------
[libc++] Add a benchmark for std::num_get
Commit: 392651a7ec250b82cecabbe9c765c3e5d5677d75
https://github.com/llvm/llvm-project/commit/392651a7ec250b82cecabbe9c765c3e5d5677d75
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
Log Message:
-----------
[flang] Migrate away from PointerUnion::{is,get} (NFC) (#120880)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: d32509928ba6b4c78b02b8a8499dce056ae6fe52
https://github.com/llvm/llvm-project/commit/d32509928ba6b4c78b02b8a8499dce056ae6fe52
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Rewrite an isel pattern to make it more amenable to GISel. NFC
The result pattern created an i1 constant and then used
ImmSubFromXLen SDNodeXForm on it. GISel cannot handle this construct
the same way as SelectionDAG. The GISel equivalent of the SDNodeXForm
expects a G_CONSTANT, but the emitter can't create that.
Work aound this by splitting the pattern into RV32 and RV64 versions
and hard coding the constant.
Additional changes are needed to import the pattern for GISel so
there's no test.
Commit: b84218526d364cb9fda23bfca164d25a7b03a641
https://github.com/llvm/llvm-project/commit/b84218526d364cb9fda23bfca164d25a7b03a641
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/test/benchmarks/locale/num_get.bench.cpp
Log Message:
-----------
[libc++] Mark num_get.bench.cpp as unsupported in C++03
Commit: 8a51471d839d9ba8ea015ddd4c761d5c8946f881
https://github.com/llvm/llvm-project/commit/8a51471d839d9ba8ea015ddd4c761d5c8946f881
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV][VPlan] Extract the implementation of transform Recipe to EVLRecipe into a small function. NFC (#119510)
Commit: 34d55df73b4b4662847210cef6f3f4a1c368b1a1
https://github.com/llvm/llvm-project/commit/34d55df73b4b4662847210cef6f3f4a1c368b1a1
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M compiler-rt/lib/tysan/tysan_interceptors.cpp
Log Message:
-----------
[tysan] Replace HandleEarlyAlloc with DlsymAlloc (#120563)
Commit: dd577c05ad0d382b444da01b6a1f56f8c2c15e07
https://github.com/llvm/llvm-project/commit/dd577c05ad0d382b444da01b6a1f56f8c2c15e07
Author: c8ef <c8ef at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/constant_builtins_vector.cpp
Log Message:
-----------
[clang] constexpr built-in reduce min/max function. (#120866)
Part of #51787.
This patch adds constexpr support for the built-in reduce min/max
function.
Commit: b1fab4f8491ae2c46ae77bcc21281296edfd458a
https://github.com/llvm/llvm-project/commit/b1fab4f8491ae2c46ae77bcc21281296edfd458a
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV][VPlan] Initialize the variable 'VPID' of the createEVLRecipe (#120926)
Resolve the compilation error caused by the merge issue: #119510
Commit: 642c75bfc81577158d27139f04f6617befa5286c
https://github.com/llvm/llvm-project/commit/642c75bfc81577158d27139f04f6617befa5286c
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[ORC] Make LazyReexportManager::KeyToReentryAddrs plural, use vector::insert.
Cleanup to recent LazyReexportManager changes: KeyToReentryAddr now maps to
multiple addrs, so make its name plural. Use vector insert rather than a for
loop.
NFC.
Commit: 98be16f20f3f0e2ca6f3cf34fe9da25822c21c2d
https://github.com/llvm/llvm-project/commit/98be16f20f3f0e2ca6f3cf34fe9da25822c21c2d
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
Log Message:
-----------
[JITLink][COFF] Use regular external symbol resolution for __ImageBase.
This fixes a concurrency bug in the COFF_x86_64 backend: lookupAsync was used
to find __ImageBase without blocking to wait for the result.
Rather than adding promises / futures, this patch just adds an external
__ImageBase symbol if needed. This is the canonical JITLink solution for
resolving external symbols, and is simpler and more concurrency friendly than
using promises / futures with lookupAsync.
Commit: 21a1dbb50320889ee0e116237c924ee1af3c3dd3
https://github.com/llvm/llvm-project/commit/21a1dbb50320889ee0e116237c924ee1af3c3dd3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[mlir][NFC] Fix format of comments for `foldHook` (#118453)
Commit: 2b3aff8f92f8713c27791997df3ad5f2a8b51301
https://github.com/llvm/llvm-project/commit/2b3aff8f92f8713c27791997df3ad5f2a8b51301
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
Log Message:
-----------
[ORC] Don't notify condition variable when condition is not met.
Avoids waking threads when the condition to proceed won't be met. NFC.
Commit: edca1d9bad2a6f7c208e21f312d35ede33632ac1
https://github.com/llvm/llvm-project/commit/edca1d9bad2a6f7c208e21f312d35ede33632ac1
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Use concurrent linking by default.
Adds a -threads option to llvm-jitlink. By default llvm-jitlink will now use a
DynamicThreadPoolTaskDispatcher with the number of materialization threads set
to whatever is returned by std::hardware_concurrency(). This brings the default
in-place linking behavior in line with the concurrent linking that is used for
-oop-executor and -oop-executor-connect mode.
In-place linking on the main thread can be forced by passing -threads=0.
Commit: 4f7ff6bb38c8952a24b5cbae07031d78e359e573
https://github.com/llvm/llvm-project/commit/4f7ff6bb38c8952a24b5cbae07031d78e359e573
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AArch64/armv8.3a-complex.s
M llvm/test/MC/AArch64/armv8.3a-complex_nofp16.s
M llvm/test/MC/AArch64/armv8.3a-pauth.s
M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
M llvm/test/MC/AArch64/armv8.4a-flagm.s
M llvm/test/MC/AArch64/armv8.6a-amvs.s
M llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
M llvm/test/MC/ARM/directive-object_arch-3.s
M llvm/test/MC/ARM/inst-directive-emit.s
M llvm/test/MC/Mips/dsp/valid.s
M llvm/test/MC/Mips/dspr2/valid.s
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/macro-ld-sd.s
M llvm/test/MC/Mips/macro-seq.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/RISCV/compress-debug-info.s
M llvm/test/MC/RISCV/custom_reloc.s
M llvm/test/MC/SystemZ/asm-match.s
M llvm/test/MC/SystemZ/gnu-attributes.s
M llvm/test/MC/WebAssembly/assembler-binary.ll
M llvm/test/MC/WebAssembly/basic-assembly.s
M llvm/test/MC/WebAssembly/stack-ptr-mclower.ll
Log Message:
-----------
[MC] Clean up tests that implicit .text MCAsmStreamer
Commit: 85a7989770136c8bcecffff960862045fbdb2161
https://github.com/llvm/llvm-project/commit/85a7989770136c8bcecffff960862045fbdb2161
Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MIPS: Adding a check for JAL argument in PIC mode to prevent crashing on getExpr (#120356)
Only an Expr is supported by JAL.
Let's check it before getExpr.
https://github.com/llvm/llvm-project/issues/80535
---------
Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>
Commit: 34531cff638a23f411324d010b3dacc1e9599cfb
https://github.com/llvm/llvm-project/commit/34531cff638a23f411324d010b3dacc1e9599cfb
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Revert "[llvm-jitlink] Use concurrent linking by default."
This reverts commit edca1d9bad2 while I investigate bot failures,
e.g. https://lab.llvm.org/buildbot/#/builders/137/builds/10791.
Commit: 8daba2c13dc3f4856d064f57a2a56dcf4ea1d7b3
https://github.com/llvm/llvm-project/commit/8daba2c13dc3f4856d064f57a2a56dcf4ea1d7b3
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/initializes.ll
Log Message:
-----------
Skip negative length while inferring initializes attr (#120874)
Bail out negative length while inferring initializes attr. Otherwise it
causes an assertion error:
`Attribute 'initializes' does not support unordered ranges`
Commit: 688acb13b1d1eb751c83466935ab12f2b8047930
https://github.com/llvm/llvm-project/commit/688acb13b1d1eb751c83466935ab12f2b8047930
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/hsa-exp.s
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
M llvm/test/MC/AMDGPU/hsa-tg-split.s
M llvm/test/MC/AMDGPU/hsa-v4.s
M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
M llvm/test/MC/AMDGPU/user-sgpr-count.s
Log Message:
-----------
[MC] Clean up tests that depend on implicit .text in MCAsmStreamer
AMDGPUTargetAsmStreamer::EmitDirectiveAMDGCNTarget called by
onBeginOfFile emits .amdgcn_target, which will not be before
.text when we change the .text parser to actually print .text .
The current .text is from initSections.
Commit: 8db73270e06a7925411870afa3953dafe997a35e
https://github.com/llvm/llvm-project/commit/8db73270e06a7925411870afa3953dafe997a35e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AsmParser/exprs-invalid.s
M llvm/test/MC/GOFF/ppa1.ll
M llvm/test/MC/XCOFF/inlineasm.s
Log Message:
-----------
[MC] Clean up tests that depend on implicit .text in MCAsmStreamer
Commit: 2e3003211fea12aa492fa6ecc4a26f4fb1e7c8b9
https://github.com/llvm/llvm-project/commit/2e3003211fea12aa492fa6ecc4a26f4fb1e7c8b9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[TRI][RISCV] Add methods to get common register class of two registers (#118435)
Here we add two methods `getCommonMinimalPhysRegClass` and a LLT
version `getCommonMinimalPhysRegClassLLT`, which return the most
sub register class of the right type that contains these two input
registers.
We don't overload the `getMinimalPhysRegClass` as there will be
ambiguities.
We use it to simplify some code in RISC-V target.
Commit: 5712e293fb317b50166766ba86b969eb13fcd069
https://github.com/llvm/llvm-project/commit/5712e293fb317b50166766ba86b969eb13fcd069
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/commandline-metadata.ll
M llvm/test/CodeGen/AVR/sections.ll
M llvm/test/CodeGen/Hexagon/switch-lut-explicit-section.ll
M llvm/test/CodeGen/Hexagon/switch-lut-function-section.ll
M llvm/test/CodeGen/X86/GC/ocaml-gc.ll
M llvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
M llvm/test/CodeGen/X86/elf-unique-sections-by-flags.ll
M llvm/test/CodeGen/Xtensa/simple.ll
Log Message:
-----------
[CodeGen] Clean up tests that depend on implicit .text in MCAsmStreamer
Commit: 158a60051d2d41bc255224ccb57d076efb75822e
https://github.com/llvm/llvm-project/commit/158a60051d2d41bc255224ccb57d076efb75822e
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Wait for reachable files to link before running checks.
ORC dependence tracking is fine-grained (i.e. per-symbol), however when running
-check mode we want to wait for all links triggered by the entry point lookup
to complete, regardless of whether the code / data in them is actually
reachable from the entry point. This simplifies test-cases, since authors don't
need to reason about per-symbol dependencies to know that additional files will
be linked (if referenced transitively in any way from the test-case).
The new Session::waitForFilesLinkedFromEntryPointFile utility does _not_ wait
for lazily linked (-lazy) files.
This will be used to fix buildbot errors caused by edca1d9bad2.
Commit: 7b23f413d1f76532825e470b523e971818d453ca
https://github.com/llvm/llvm-project/commit/7b23f413d1f76532825e470b523e971818d453ca
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/test/CodeGen/PowerPC/check-cpu.ll
M llvm/test/CodeGen/X86/coff-alias-type.ll
M llvm/test/DebugInfo/ARM/header.ll
M llvm/test/DebugInfo/X86/header.ll
M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
M llvm/test/MC/ELF/section.s
M llvm/test/MC/Hexagon/hexagon_attributes.s
Log Message:
-----------
MCAsmStreamer: Omit initial ".text"
llvm-mc --assemble prints an initial `.text` from `initSections`.
This is weird for quick assembly tasks that do not specify `.text`.
Omit the .text by moving section directive printing from `changeSection`
to `switchSection`. switchSectionNoPrint now correctly calls the
`changeSection` hook (needed by MachO).
The initial directives of clang -S are now reordered. On ELF targets, we
get `.file "a.c"; .text` instead of `.text; .file "a.c"`.
If there is no function, `.text` will be omitted.
Commit: 6285c46e164bcb9cbc66bc91c03f41dbbeff69e5
https://github.com/llvm/llvm-project/commit/6285c46e164bcb9cbc66bc91c03f41dbbeff69e5
Author: Peng Xie <helianthus547 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/memory_resource.cpp
Log Message:
-----------
[libc++] Refactor some code in monotonic_buffer_resource (#117271)
1. remove unused __default_buffer_alignment
2. two __try_allocate_from_chunk are same, put it together
This patch refactor some code in monotonic_buffer_resource.
Commit: 21996bd69c15cb1e5127f76254dfcda019ee432a
https://github.com/llvm/llvm-project/commit/21996bd69c15cb1e5127f76254dfcda019ee432a
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
Log Message:
-----------
[AMDGPU] Remove amdgpu-no-heap-ptr and amdgpu-no-lds-kernel-id attributes from lowered kernels in amdgpu-sw-lower-lds pass (#120887)
'amdgpu-sw-lower-lds' pass internally calls '__asan_malloc_impl' for
heap memory allocation.
Pass also uses 'amdgcn_lds_kernel_id' for non-kernel lds accesses
lowering.
This patch removes 'amdgpu-no-heap-ptr' and 'amdgpu-no-lds-kernel-id'
from all kernels lowered by the pass.
Commit: 4b35dd57b88a59b169c3471cbc398113d3bf98e8
https://github.com/llvm/llvm-project/commit/4b35dd57b88a59b169c3471cbc398113d3bf98e8
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/pr120277.cppm
Log Message:
-----------
[Serialization] Try to clean up PendingUndeducedFunctionDecls when
PendingUndeducedFunctionDecls is not empty
Close https://github.com/llvm/llvm-project/issues/120277
This turns out to be a simple oversight initially. See the analysis in
https://github.com/llvm/llvm-project/commit/ba1e84fb8f45e102f40f409fcfe9b420fbf9fb70
for the wider background.
Commit: aca7a70cdada8aa13c7f4e24c431bfe47218a3fa
https://github.com/llvm/llvm-project/commit/aca7a70cdada8aa13c7f4e24c431bfe47218a3fa
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
Log Message:
-----------
[lldb] Fix bad method call in `TestExprDiagnostics.py` (#120901)
Fixes
Traceback (most recent call last):
File
"/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 1770, in test_method
return attrvalue(self)
^^^^^^^^^^^^^^^
File
"/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py",
line 255, in test_command_expr_sbdata
self.assertEquals(error.GetType(), lldb.eErrorTypeExpression)
^^^^^^^^^^^^^^^^^
AttributeError: 'ExprDiagnosticsTestCase' object has no attribute
'assertEquals'. Did you mean: 'assertEqual'?
`assertEqual` is a method inherited from `unittest.TestCase`.
See #120784 and
https://github.com/llvm/llvm-project/pull/120784#issuecomment-2557871308
Commit: bda7aadfcd0596675c8b4b381f178f3d8f854f20
https://github.com/llvm/llvm-project/commit/bda7aadfcd0596675c8b4b381f178f3d8f854f20
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/test/TableGen/GlobalISelEmitter-frameindex.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Fix importing frameindex node (#120921)
The existing test case is not representative. Even though TableGen
doesn't complain, the code generated from it is invalid and fails
verification with the message "Use not jointly dominated by defs.".
There is no way to magically transform `frameindex` to `tframeindex`
as it happens for some other leaf nodes. `frameindex` can only be
selected by custom C++ code or by using an `SDNodeXForm`.
This patch makes the test representative one and fixes the handling of
`G_FRAME_INDEX`, which shouldn't have set the operand's name.
It also fixes the type of the result of `G_FRAME_INDEX` in order to get
the correct type check (`GIM_CheckPointerToAny` instead of
`GIM_CheckType` with a scalar LLT argument).
Commit: 24fc8f01a40310e91838ab742b4940369786ba90
https://github.com/llvm/llvm-project/commit/24fc8f01a40310e91838ab742b4940369786ba90
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
Log Message:
-----------
[llvm][OpenMP][NFC] Cleanup AtomicInfo (#119199)
This PR refactors functionality from
llvm/include/llvm/Frontend/Atomic/Atomic.h into
llvm/lib/llvm/Frontend/Atomic/Atomic.cpp.
Commit: 657c5bf807e17ccab3f5b283824c7e6bb7a74707
https://github.com/llvm/llvm-project/commit/657c5bf807e17ccab3f5b283824c7e6bb7a74707
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/HLFIR/opt-variable-assign-omp.fir
Log Message:
-----------
[flang][AliasAnalysis] don't crash on load from blockarg (#120760)
Values can have no defining operation when the value is a blockarg. I
wrote this as a test for hlfir bufferization rather than alias analysis
because I couldn't find a way to add the test.ptr attribute to a block
argument.
Commit: 113177f98b9d7ac6edfa833d55ad6ad6fd4a0cbf
https://github.com/llvm/llvm-project/commit/113177f98b9d7ac6edfa833d55ad6ad6fd4a0cbf
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
Log Message:
-----------
[X86][AVX10.2] Fix wrong mask bits in cvtpbf8_ph intrinsics (#120927)
Found during review #120766
Commit: f70ab7d909d6861c7eec5ab40679bde16ab826c6
https://github.com/llvm/llvm-project/commit/f70ab7d909d6861c7eec5ab40679bde16ab826c6
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
Log Message:
-----------
[AArch64] Fix argument passing for SVE tuples (#118961)
The fix for passing Pure Scalable Types
(https://github.com/llvm/llvm-project/pull/112747) was incomplete,
it didn't handle correctly tuples of SVE vectors (e.g. `sveboolx2_t`,
`svfloat32x4_t`, etc).
These types are Pure Scalable Types and should be passed either entirely
in vector registers
or indirectly in memory, not split.
Commit: 2d6d723a85c2d007b0359c206d66cd2e5a9f00e1
https://github.com/llvm/llvm-project/commit/2d6d723a85c2d007b0359c206d66cd2e5a9f00e1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sopc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/mesa3d.ll
A llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
A llvm/test/CodeGen/AMDGPU/swizzle.bit.extract.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
Log Message:
-----------
[AMDGPU] Add some more GFX12 test coverage (#120581)
Commit: 6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
https://github.com/llvm/llvm-project/commit/6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Simplify handling of renamed GFX12 image atomics. NFC. (#120776)
Commit: 630b7f36731d9ddfdd1f1e17b7862dded902f02f
https://github.com/llvm/llvm-project/commit/630b7f36731d9ddfdd1f1e17b7862dded902f02f
Author: Cabbaken <cabbaken at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-objdump/XCOFFDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[llvm-objdump] Remove some unneeded headers. (#120541)
Co-authored-by: qiuruoyu <qiuruoyu at xiaomi.com>
Commit: ce393beddfb810204ac0618c2fe365d4d21f5c32
https://github.com/llvm/llvm-project/commit/ce393beddfb810204ac0618c2fe365d4d21f5c32
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Pattern-match frameindex (#120917)
Commit: ac5029499561a8f76e71325ffb5c59d92ff84709
https://github.com/llvm/llvm-project/commit/ac5029499561a8f76e71325ffb5c59d92ff84709
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
R lldb/test/Shell/Expr/TestObjCHiddenIvars.test
Log Message:
-----------
Revert "[lldb][test] Add test-coverage for DW_AT_APPLE_objc_complete_type parsing (#120279)"
This reverts commit 000febd0290698728abd9e23da6b27969c529177.
This is failing on the macOS public buildbots. It's unclear
to me why (I can't reproduce the failure on my local M1 machine).
I suspect the test might be relying on some non-deterministic
linker properties (such as order of entries in the debug-map
or something like that). The failure is as follows:
```
CHECK-NEXT: expected string not found in input
^
<stdin>:25:7: note: scanning from here
y = 2
^
<stdin>:27:4: note: possible intended match here
(lldb) exit
^
Input file: <stdin>
Check file: /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/Shell/Expr/TestObjCHiddenIvars.test
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
20: (lldb) expression *f
21: (Foo) $0 = {
22: NSObject = {
23: isa = Foo
24: }
25: y = 2
next:21'0 X error: no match found
26: }
next:21'0 ~~
27: (lldb) exit
next:21'0 ~~~~~~~~~~~~
next:21'1 ? possible intended match
>>>>>>
```
Commit: 944b6f8523677abb7f98556869d290f926d2dc62
https://github.com/llvm/llvm-project/commit/944b6f8523677abb7f98556869d290f926d2dc62
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][NFC] Fix typo in ReleaseNotes
Commit: 28d14904c00b74154b8dfa71d5b062a7e590c44c
https://github.com/llvm/llvm-project/commit/28d14904c00b74154b8dfa71d5b062a7e590c44c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/Makefile
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/TestTypedefToOuterFwd.py
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.cpp
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.h
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/main.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF] Share GetDIEToType between SymbolFiles of a SymbolFileDWARFDebugMap (#120569)
The problem here manifests as follows:
1. We are stopped in main.o, so the first `ParseTypeFromDWARF` on
`FooImpl<char>` gets called on `main.o`'s SymbolFile. This adds a
mapping from *declaration die* -> `TypeSP` into `main.o`'s
`GetDIEToType` map.
2. We then `CompleteType(FooImpl<char>)`. Depending on the order of
entries in the debug-map, this might call `CompleteType` on `lib.o`'s
SymbolFile. In which case, `GetDIEToType().lookup(decl_die)` will return
a `nullptr`. This is already a bit iffy because some of the surrounding
code assumes we don't call `CompleteTypeFromDWARF` with a `nullptr`
`Type*`. E.g., `CompleteEnumType` blindly dereferences it (though enums
will never encounter this because their definition is fetched in
ParseEnum, unlike for structures).
3. While in `CompleteTypeFromDWARF`, we call `ParseTypeFromDWARF` again.
This will parse the member function `FooImpl::Create` and its return
type which is a typedef to `FooImpl*`. But now we're inside `lib.o`'s
SymbolFile, so we call it on the definition DIE. In step (2) we just
inserted a `nullptr` into `GetDIEToType` for the definition DIE, so we
trivially return a `nullptr` from `ParseTypeFromDWARF`. Instead of
reporting back this parse failure to the user LLDB trucks on and marks
`FooImpl::Ref` to be `void*`.
This test-case will trigger an assert in `TypeSystemClang::VerifyDecl`
even if we just `frame var` (but only in debug-builds). In release
builds where this function is a no-op, we'll create an incorrect Clang
AST node for the `Ref` typedef.
The proposed fix here is to share the `GetDIEToType` map between
SymbolFiles if a debug-map exists.
**Alternatives considered**
* Check the `GetDIEToType` map of the `SymbolFile` that the declaration
DIE belongs to. The assumption here being that if we called
`ParseTypeFromDWARF` on a declaration, the `GetDIEToType` map that the
result was inserted into was the one on that DIE's SymbolFile. This was
the first version of this patch, but that felt like a weaker version
sharing the map. It complicates the code in `CompleteType` and is less
consistent with the other bookkeeping structures we already share
between SymbolFiles
* Return from `SymbolFileDWARF::CompleteType` if there is no type in the
current `GetDIEToType`. Then `SymbolFileDWARFDebugMap::CompleteType`
could continue to the next `SymbolFile` which does own the type. But
that didn't quite work because we remove the
`GetForwardCompilerTypeToDie` entry in `SymbolFile::CompleteType`, which
`SymbolFileDWARFDebugMap::CompleteType` relies upon for iterating
Commit: c660b281b60085cbe40d73d692badd43d7708d20
https://github.com/llvm/llvm-project/commit/c660b281b60085cbe40d73d692badd43d7708d20
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF] Ignore Declaration when searching through UniqueDWARFASTTypeList in C++ (#120809)
This addresses an issue encountered when investigating
https://github.com/llvm/llvm-project/pull/120569.
In `ParseTypeFromDWARF`, we insert the parsed type into
`UniqueDWARFASTTypeMap` using the typename and `Declaration` obtained
with `GetUniqueTypeNameAndDeclaration`. For C++
`GetUniqueTypeNameAndDeclaration` will zero the `Declaration` info
(presumably because forward declaration may not have it, and for C++,
ODR means we can rely on fully qualified typenames for uniqueing). When
we then called `CompleteType`, we would first `MapDeclDIEToDefDIE`,
updating the `UniqueDWARFASTType` we inserted previously with the
`Declaration` of the definition DIE (without zeroing it). We would then
call into `ParseTypeFromDWARF` for the same type again, and search the
`UniqueDWARFASTTypeMap`. But we do the search using a zeroed declaration
we get from `GetUniqueTypeNameAndDeclaration`.
This particular example was fixed by
https://github.com/llvm/llvm-project/pull/120569 but this still feels a
little inconsistent. I'm not entirely sure we can get into that
situation after that patch anymore. So the only test-case I could come
up with was the unit-test which calls `MapDeclDIEToDefDIE` directly.
Commit: 3cc311ab8674eab6b9101cdf3823b55ea23d6535
https://github.com/llvm/llvm-project/commit/3cc311ab8674eab6b9101cdf3823b55ea23d6535
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: No target mat. for 1:N replacement (#117513)
During a 1:N replacement (`applySignatureConversion` or
`replaceOpWithMultiple`), the dialect conversion driver used to insert
two materializations:
* Argument materialization: convert N replacement values to 1 SSA value
of the original type `S`.
* Target materialization: convert original type to legalized type `T`.
The target materialization is unnecessary. Subsequent patterns receive
the replacement values via their adaptors. These patterns have their own
type converter. When they see a replacement value of type `S`, they will
automatically insert a target materialization to type `T`. There is no
reason to do this already during the 1:N replacement. (The functionality
used to be duplicated in `remapValues` and `insertNTo1Materialization`.)
Special case: If a subsequent pattern does not have a type converter, it
does *not* insert any target materializations. That's because the
absence of a type converter indicates that the pattern does not care
about type legality. Therefore, it is correct to pass an SSA value of
type `S` (or any other type) to the pattern.
Note: Most patterns in `TestPatterns.cpp` run without a type converter.
To make sure that the tests still behave the same, some of these
patterns now have a type converter.
This commit is in preparation of adding 1:N support to the conversion
value mapping. Before making any further changes to the mapping
infrastructure, I'd like to make sure that the code base around it (that
uses the mapping) is robust.
Commit: a35640f29e82dffbe87fb75af9b50c6e1312b455
https://github.com/llvm/llvm-project/commit/a35640f29e82dffbe87fb75af9b50c6e1312b455
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
Log Message:
-----------
[AArch64] Extend vecreduce to udot/sdot transformation to support usdot (#120094)
Commit: 5f98dd5dd5517b711bbb77655865a35904653820
https://github.com/llvm/llvm-project/commit/5f98dd5dd5517b711bbb77655865a35904653820
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Update Wgmma.fence Ops to use intrinsics (#120956)
This PR updates the WgmmaFenceAlignedOp, WgmmaGroupSyncAlignedOp, and
WgmmaWaitGroupSyncOp Ops in the NVVM Dialect to lower to the
corresponding intrinsics instead of inline-ptx.
The existing test under Conversion/NVVMToLLVM is updated to check for
the new patterns and separate tests are added under Target/LLVMIR to
verify the lowered intrinsics.
Commit: 92f439c4b7f234583e52e529858365c1bf072879
https://github.com/llvm/llvm-project/commit/92f439c4b7f234583e52e529858365c1bf072879
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (#120794)
Commit: 24eb1566e09080658d16649a0d3bb4f9565131c3
https://github.com/llvm/llvm-project/commit/24eb1566e09080658d16649a0d3bb4f9565131c3
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/Frontend/Atomic/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
Log Message:
-----------
[gn] port 24fc8f01a403 (and aec87a2143c01)
Commit: 11676da80874787a47856da87911234837c53f06
https://github.com/llvm/llvm-project/commit/11676da80874787a47856da87911234837c53f06
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Normalize debug messages for newTreeEntry. (#119514)
A debug message should follow after newTreeEntry.
Make ExtractValueInst and ExtractElementInst use setOperand directly.
Commit: df31fd8a3648a487aaec31bef059187b0d316d1f
https://github.com/llvm/llvm-project/commit/df31fd8a3648a487aaec31bef059187b0d316d1f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
Log Message:
-----------
[mlir] Fix use-after-return in #117513 (#120968)
Fix a use-after-return in #117513. Free-standing lambdas should not be
defined inside of the `LLVMTypeConverter` constructor because they go
out of scope.
Commit: c28a7c1efd89d3dbee5f7212313f836855dd08fd
https://github.com/llvm/llvm-project/commit/c28a7c1efd89d3dbee5f7212313f836855dd08fd
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/runtime/exceptions.cpp
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
Log Message:
-----------
[flang] Modifications to ieee_support_halting (#120747)
The F23 standard requires that a call to intrinsic module procedure
ieee_support_halting be foldable to a constant at compile time in some
contexts. See for example F23 Clause 10.1.11 [Specification expression]
list item (13), Clause 1.1.12 [Constant expression] list item (11), and
references to specification and constant expressions elsewhere, such as
constraints C1012, C853, and C704.
Some Arm processors allow a user to control processor behavior when an
arithmetic exception is signaled, and some Arm processors do not have
this capability. An Arm executable will run on either type of processor,
so it is effectively unknown at compile time whether or not this support
will be available at runtime. This in conflict with the standard
requirement.
This patch addresses this conflict by implementing ieee_support_halting
calls on Arm processors to check if this capability is present at
runtime. A call to ieee_support_halting in a constant context, such as
in the specification part of a program unit, will generate a compile
time "cannot be computed as a constant value" error. The expectation is
that such calls are unlikely to appear in production code.
Code generation for other processors will continue to generate a compile
time constant result for ieee_support_halting calls.
Commit: fb1dbe24f2ecd0c0915caba8a6321dc57018dc50
https://github.com/llvm/llvm-project/commit/fb1dbe24f2ecd0c0915caba8a6321dc57018dc50
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
Log Message:
-----------
[mlir] Remove extra ';' outside of a function (NFC)
/llvm-project/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:51:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
/llvm-project/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:97:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
2 errors generated.
Commit: adb849e79f144e132b169268a2784202d24e80ca
https://github.com/llvm/llvm-project/commit/adb849e79f144e132b169268a2784202d24e80ca
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
R llvm/test/MC/RISCV/rv32c-valid.s
R llvm/test/MC/RISCV/rv32d-valid.s
R llvm/test/MC/RISCV/rv32e-invalid.s
R llvm/test/MC/RISCV/rv32e-valid.s
R llvm/test/MC/RISCV/rv32f-valid.s
R llvm/test/MC/RISCV/rv32i-valid.s
R llvm/test/MC/RISCV/rv32ih-aliases-valid.s
R llvm/test/MC/RISCV/rv32ih-valid.s
R llvm/test/MC/RISCV/rv32m-valid.s
R llvm/test/MC/RISCV/rv32xtheadbs-valid.s
R llvm/test/MC/RISCV/rv32zaamo-valid.s
R llvm/test/MC/RISCV/rv32zacas-valid.s
R llvm/test/MC/RISCV/rv32zalasr-valid.s
R llvm/test/MC/RISCV/rv32zalrsc-valid.s
R llvm/test/MC/RISCV/rv32zba-valid.s
R llvm/test/MC/RISCV/rv32zbb-valid.s
R llvm/test/MC/RISCV/rv32zbc-valid.s
R llvm/test/MC/RISCV/rv32zbkb-valid.s
R llvm/test/MC/RISCV/rv32zbkc-valid.s
R llvm/test/MC/RISCV/rv32zbkx-valid.s
R llvm/test/MC/RISCV/rv32zbs-valid.s
R llvm/test/MC/RISCV/rv32zcb-invalid.s
R llvm/test/MC/RISCV/rv32zcb-valid.s
R llvm/test/MC/RISCV/rv32zcmt-invalid.s
R llvm/test/MC/RISCV/rv32zcmt-valid.s
R llvm/test/MC/RISCV/rv32zdinx-valid.s
R llvm/test/MC/RISCV/rv32zfbfmin-invalid.s
R llvm/test/MC/RISCV/rv32zfbfmin-valid.s
R llvm/test/MC/RISCV/rv32zfh-valid.s
R llvm/test/MC/RISCV/rv32zfhmin-invalid.s
R llvm/test/MC/RISCV/rv32zfhmin-valid.s
R llvm/test/MC/RISCV/rv32zfinx-valid.s
R llvm/test/MC/RISCV/rv32zhinx-valid.s
R llvm/test/MC/RISCV/rv32zhinxmin-valid.s
R llvm/test/MC/RISCV/rv32zicbom-invalid.s
R llvm/test/MC/RISCV/rv32zicbom-valid.s
R llvm/test/MC/RISCV/rv32zicbop-invalid.s
R llvm/test/MC/RISCV/rv32zicbop-valid.s
R llvm/test/MC/RISCV/rv32zicboz-invalid.s
R llvm/test/MC/RISCV/rv32zicboz-valid.s
R llvm/test/MC/RISCV/rv32zicond-invalid.s
R llvm/test/MC/RISCV/rv32zicond-valid.s
R llvm/test/MC/RISCV/rv32zihintntl-invalid.s
R llvm/test/MC/RISCV/rv32zihintntl-valid.s
R llvm/test/MC/RISCV/rv32zihintntlc-invalid.s
R llvm/test/MC/RISCV/rv32zihintntlc-valid.s
R llvm/test/MC/RISCV/rv32zihintpause-valid.s
R llvm/test/MC/RISCV/rv32zknh-valid.s
R llvm/test/MC/RISCV/rv32zksed-valid.s
R llvm/test/MC/RISCV/rv32zksh-valid.s
A llvm/test/MC/RISCV/rvc-valid.s
A llvm/test/MC/RISCV/rvd-valid.s
A llvm/test/MC/RISCV/rve-invalid.s
A llvm/test/MC/RISCV/rve-valid.s
A llvm/test/MC/RISCV/rvf-valid.s
A llvm/test/MC/RISCV/rvi-valid.s
A llvm/test/MC/RISCV/rvih-aliases-valid.s
A llvm/test/MC/RISCV/rvih-valid.s
A llvm/test/MC/RISCV/rvm-valid.s
A llvm/test/MC/RISCV/rvxtheadbs-valid.s
A llvm/test/MC/RISCV/rvzaamo-valid.s
A llvm/test/MC/RISCV/rvzacas-valid.s
A llvm/test/MC/RISCV/rvzalasr-valid.s
A llvm/test/MC/RISCV/rvzalrsc-valid.s
A llvm/test/MC/RISCV/rvzba-valid.s
A llvm/test/MC/RISCV/rvzbb-valid.s
A llvm/test/MC/RISCV/rvzbc-valid.s
A llvm/test/MC/RISCV/rvzbkb-valid.s
A llvm/test/MC/RISCV/rvzbkc-valid.s
A llvm/test/MC/RISCV/rvzbkx-valid.s
A llvm/test/MC/RISCV/rvzbs-valid.s
A llvm/test/MC/RISCV/rvzcb-invalid.s
A llvm/test/MC/RISCV/rvzcb-valid.s
A llvm/test/MC/RISCV/rvzcmt-invalid.s
A llvm/test/MC/RISCV/rvzcmt-valid.s
A llvm/test/MC/RISCV/rvzdinx-valid.s
A llvm/test/MC/RISCV/rvzfbfmin-invalid.s
A llvm/test/MC/RISCV/rvzfbfmin-valid.s
A llvm/test/MC/RISCV/rvzfh-valid.s
A llvm/test/MC/RISCV/rvzfhmin-invalid.s
A llvm/test/MC/RISCV/rvzfhmin-valid.s
A llvm/test/MC/RISCV/rvzfinx-valid.s
A llvm/test/MC/RISCV/rvzhinx-valid.s
A llvm/test/MC/RISCV/rvzhinxmin-valid.s
A llvm/test/MC/RISCV/rvzicbom-invalid.s
A llvm/test/MC/RISCV/rvzicbom-valid.s
A llvm/test/MC/RISCV/rvzicbop-invalid.s
A llvm/test/MC/RISCV/rvzicbop-valid.s
A llvm/test/MC/RISCV/rvzicboz-invalid.s
A llvm/test/MC/RISCV/rvzicboz-valid.s
A llvm/test/MC/RISCV/rvzicond-invalid.s
A llvm/test/MC/RISCV/rvzicond-valid.s
A llvm/test/MC/RISCV/rvzihintntl-invalid.s
A llvm/test/MC/RISCV/rvzihintntl-valid.s
A llvm/test/MC/RISCV/rvzihintntlc-invalid.s
A llvm/test/MC/RISCV/rvzihintntlc-valid.s
A llvm/test/MC/RISCV/rvzihintpause-valid.s
A llvm/test/MC/RISCV/rvzknh-valid.s
A llvm/test/MC/RISCV/rvzksed-valid.s
A llvm/test/MC/RISCV/rvzksh-valid.s
Log Message:
-----------
[RISCV][NFCI] Rename rv32+rv64 testcases (#120717)
All these testcases were called `rv32<something>.s`, but had equivalent
RUN lines for both riscv32 and riscv64. This made it hard to add tests
which are only valid on one of riscv32 or riscv64.
This change makes the tests follow a naming convention:
- `rv32*.s` means a test for riscv32-specific behaviour
- `rv64*.s` means a test for riscv64-specific behaviour
- `rv*.s` (without 64 or 32) means a test for both base architectures -
the majority of tests/behaviour.
This should make it easier to add and name extension-specific tests
which do depend on the base architecture.
Commit: 29c89d7265329c530a6a2cb0307218004cc2ba53
https://github.com/llvm/llvm-project/commit/29c89d7265329c530a6a2cb0307218004cc2ba53
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfShuffles - fold "shuffle (shuffle x, y, m1), (shuffle y, x, m2)" -> "shuffle x, y, m3" (#120959)
foldShuffleOfShuffles currently only folds unary shuffles to ensure we don't end up with a merged shuffle with more than 2 sources, but this prevented cases where both shuffles were sharing sources.
This patch generalizes the merge process to find up to 2 sources as it merges with the inner shuffles, it also moves the undef/poison handling stages into the merge loop as well.
Fixes #120764
Commit: 723aeaf336c3e6b09b74fc704b49b8a85ed91605
https://github.com/llvm/llvm-project/commit/723aeaf336c3e6b09b74fc704b49b8a85ed91605
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fixup for #119199, FrontendAtomic
Commit: d039ac3955f0809f880f2e22896c5814d724dd80
https://github.com/llvm/llvm-project/commit/d039ac3955f0809f880f2e22896c5814d724dd80
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/wchar.h
Log Message:
-----------
[libcxx] Remove the second inclusion of the system header (#120946)
This was introduced in #119025 and not only seems unnecessary, it broke
the build with older versions of glibc.
Commit: 902e62cf15229a4ef32d12cd4ee083e3a58c447b
https://github.com/llvm/llvm-project/commit/902e62cf15229a4ef32d12cd4ee083e3a58c447b
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/wchar.h
Log Message:
-----------
[libcxx] Fix the #endif comments (#120949)
The order of comments is swapped.
Commit: b85ddba421fa3bd078d6af7295d9f2bab6e4185c
https://github.com/llvm/llvm-project/commit/b85ddba421fa3bd078d6af7295d9f2bab6e4185c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
Log Message:
-----------
[AArch64] NFC: Fix inlining tests for SME ZA state.
By adding inline-asm to test, we now actually test the code-path they're
meant to test.
Commit: e3f8c229f5710b52d18300b561925e556407ebee
https://github.com/llvm/llvm-project/commit/e3f8c229f5710b52d18300b561925e556407ebee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - inserting into a poison base vector can be modelled as a single src shuffle
We already canonicalized an undef base vector to the RHS to improve further folding, this extends this to improve the shuffle cost estimate of the single src shuffle
Commit: 711419e3025678511e3d26c4c30d757f9029d598
https://github.com/llvm/llvm-project/commit/711419e3025678511e3d26c4c30d757f9029d598
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/test/Transforms/loop-versioning.fir
Log Message:
-----------
[flang] Enable loop-versioning for slices. (#120344)
Loops resulting from array expressions like array(:,i)
may be versioned for the unit stride of the innermost dimension,
when the initial array is an assumed-shape array (which are contiguous
in many Fortran programs).
This speeds up facerec for about 12% due to further vectorization
of the innermost loop produced for the total SUM reduction.
Commit: dcb7f44cd6419325b62ff5fbbd971bb0dd0b32b1
https://github.com/llvm/llvm-project/commit/dcb7f44cd6419325b62ff5fbbd971bb0dd0b32b1
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] Modifications to ieee_support_halting (#120976)
The F23 standard requires that a call to intrinsic module procedure
ieee_support_halting be foldable to a constant at compile time in some
contexts. See for example F23 Clause 10.1.11 [Specification expression]
list item (13), Clause 1.1.12 [Constant expression] list item (11), and
references to specification and constant expressions elsewhere, such as
constraints C1012, C853, and C704.
Some Arm processors allow a user to control processor behavior when an
arithmetic exception is signaled, and some Arm processors do not have
this capability. An Arm executable will run on either type of processor,
so it is effectively unknown at compile time whether or not this support
will be available at runtime. This is in conflict with the standard
requirement.
This patch addresses this conflict by implementing ieee_support_halting
calls on Arm processors to check if this capability is present at
runtime. A call to ieee_support_halting in a constant context, such as
in the specification part of a program unit, will generate a compile
time "cannot be computed as a constant value" error. The expectation is
that such calls are unlikely to appear in production code.
Code generation for other processors will continue to generate a compile
time constant result for ieee_support_halting calls.
Commit: b8952d4b1b0c73bf39d6440ad3166a088ced563f
https://github.com/llvm/llvm-project/commit/b8952d4b1b0c73bf39d6440ad3166a088ced563f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][CG]Use processShuffleMasks for per-register shuffles
Patch adds usage of processShuffleMasks in in codegen
in lowerShuffleViaVRegSplitting. This function is already used for X86
shuffles estimations and in DAGTypeLegalizer::SplitVecRes_VECTOR_SHUFFLE
functions, unifies the code.
Reviewers: preames, topperc, lukel97, wangpc-pp
Reviewed By: wangpc-pp
Pull Request: https://github.com/llvm/llvm-project/pull/120803
Commit: 99dddef340e566e9d303010f1219f7d7d6d37a11
https://github.com/llvm/llvm-project/commit/99dddef340e566e9d303010f1219f7d7d6d37a11
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[Clang][Sema] Process warnings conditionally (#120591)
There are a few functions that emit warnings related to positional
arguments in format strings. These functions use `getLocationOfByte()`
which has O(n) complexity and may lead to silent hang of compilation in
some cases. But such warnings is not widely used and actually don't emit
if user didn't pass the appropriate `-W...` flag, so if the flag is not
passed dont make the call to `EmitFormatDiagnostic` for such diags.
Fix #120462
Commit: d36836de0183b9b1939cc679d153e3b313e55c76
https://github.com/llvm/llvm-project/commit/d36836de0183b9b1939cc679d153e3b313e55c76
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Create descriptor in managed memory when emboxing fir.box_addr value (#120980)
Commit: d8e792931226b15d9d2424ecd24ccfe13adc2367
https://github.com/llvm/llvm-project/commit/d8e792931226b15d9d2424ecd24ccfe13adc2367
Author: Pranav Kant <prka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Fix -Werror,-Wundefined-bool-conversion after #117513 (#120985)
Commit: 2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
https://github.com/llvm/llvm-project/commit/2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
M llvm/test/Verifier/sme-attributes.ll
Log Message:
-----------
[AArch64] SME implementation for agnostic-ZA functions (#120150)
This implements the lowering of calls from agnostic-ZA functions to
non-agnostic-ZA functions, using the ABI routines
`__arm_sme_state_size`, `__arm_sme_save` and `__arm_sme_restore`.
This implements the proposal described in the following PRs:
* https://github.com/ARM-software/acle/pull/336
* https://github.com/ARM-software/abi-aa/pull/264
Commit: c2b89fc9e45d325282b8eb6536f6145282dc3fdf
https://github.com/llvm/llvm-project/commit/c2b89fc9e45d325282b8eb6536f6145282dc3fdf
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsHexagon.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Headers/hvx_hexagon_protos.h
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonSchedule.td
M llvm/lib/Target/Hexagon/HexagonScheduleV75.td
A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/MC/Hexagon/arch-support.s
A llvm/test/MC/Hexagon/v79_arch.s
Log Message:
-----------
[Hexagon] Add V79 support to compiler and assembler (#120983)
This patch introduces support for the Hexagon V79 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics. It also adds missing Hexagon v73
builtins to clang.
Commit: c7a777322dd8cc171cea9bbc8dbad14277b3587a
https://github.com/llvm/llvm-project/commit/c7a777322dd8cc171cea9bbc8dbad14277b3587a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Replace else-if dyn_cast with cast (NFC).
The recipes handled here are either VPWidenIntrinsic or VPWidenCast, so
replace the else-if dyn_cast with a single else + cast.
Commit: 4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
https://github.com/llvm/llvm-project/commit/4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[NFC][Driver] Simplify linking of ubsan_standalone_cxx (#120938)
Refactoring before linking it only with CFI diag or VPTR.
Almost NFC as `requiresMinimalRuntime() && needsCfiDiagRt()` changed,
but it was unsupported before anyway.
Commit: 5b74fb75d90ef6620741af45f146cefacbd9ecef
https://github.com/llvm/llvm-project/commit/5b74fb75d90ef6620741af45f146cefacbd9ecef
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/allocatable.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/descriptor.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733 (#120997)
Device runtime build have been fixed. Attempt to re-land these patches
that have been approved before.
https://github.com/llvm/llvm-project/pull/118713
https://github.com/llvm/llvm-project/pull/118733
Commit: a60050cf1966eb8d46253c8da13df52ac8b9ec33
https://github.com/llvm/llvm-project/commit/a60050cf1966eb8d46253c8da13df52ac8b9ec33
Author: Hongren Zheng <i at zenithal.me>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[mlir][dataflow] Allow re-run all analyses in DataFlowSolver (#120881)
In downstream (check https://github.com/google/heir/pull/1228,
especially [this
commit](https://github.com/ZenithalHourlyRate/heir/commit/fbf0b2733f1f60e852c757602afac65a4364e30c);
also check https://github.com/google/heir/pull/1154) we often need to
re-run the analysis during the transformation pass as IR get changed
based on the analysis result and analysis continuously get invalidated.
There are solutions to it like `getOrCreateState` for newly created
`Value` (`AnchorT`), but warning is that the new state does not
propagate! This is quite unexpected as user of analysis would expect it
to propagate. We downstream used to use `solver->propagateIfChanged` but
that turned out to be not working, see detailed writeup in
https://github.com/google/heir/issues/1153.
Just call `initializeAndRun` repeatedly also does not solve the problem
as `analysisStates` is not cleared and the monotonicity of
`AnalysisState` will make the analysis invalid as `join` will not work
as expected (the first join is no longer `join(uninitialized, init
value)`, instead it becomes `join(higher value, init value)`.
To correctly re-run the analysis, either a new `DataFlowSolver` is
created, or we can just clear the `analysisState`.
Commit: 927a70daf31b1610627f346b0dc140eda72144b9
https://github.com/llvm/llvm-project/commit/927a70daf31b1610627f346b0dc140eda72144b9
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/task.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
Revert "[Flang OpenMP] Add LLVM translation support for UNTIED in Task (#115283)"
This reverts commit 919aead1db64b2f1444842bc75a3af7836238671.
It breaks following LLVM bots:
https://lab.llvm.org/buildbot/#/builders/199
https://lab.llvm.org/buildbot/#/builders/143
https://lab.llvm.org/buildbot/#/builders/17
Commit: fbdf652d970322a00f61333f1ca10facb72f0cbb
https://github.com/llvm/llvm-project/commit/fbdf652d970322a00f61333f1ca10facb72f0cbb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][COST]Add several test with known vlen, NFC
Commit: ba373096e8ac83a7136fc44bc4e71a7bc53417a6
https://github.com/llvm/llvm-project/commit/ba373096e8ac83a7136fc44bc4e71a7bc53417a6
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/yaml2obj/ELF/note-section.yaml
Log Message:
-----------
[ObjectYAML][ELF] Report incorrect offset to generate notes (#118741)
All notes in the note section must be correctly aligned, including the
first. The tool should refuse to generate notes if the section offset is
incorrect in this respect.
Commit: 1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
https://github.com/llvm/llvm-project/commit/1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/test/CoverageMapping/single-byte-counters.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.c
A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-templates.cpp
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
A llvm/test/tools/llvm-cov/Inputs/yaml.makefile
M llvm/test/tools/llvm-cov/branch-c-general.test
R llvm/test/tools/llvm-cov/branch-logical-mixed.cpp
A llvm/test/tools/llvm-cov/branch-logical-mixed.test
R llvm/test/tools/llvm-cov/branch-macros.cpp
A llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/branch-noShowBranch.test
R llvm/test/tools/llvm-cov/branch-showBranchPercentage.c
A llvm/test/tools/llvm-cov/branch-showBranchPercentage.test
R llvm/test/tools/llvm-cov/branch-templates.cpp
A llvm/test/tools/llvm-cov/branch-templates.test
R llvm/test/tools/llvm-cov/showLineExecutionCounts.cpp
A llvm/test/tools/llvm-cov/showLineExecutionCounts.test
R llvm/test/tools/llvm-cov/threads.c
A llvm/test/tools/llvm-cov/threads.test
Log Message:
-----------
Introduce SingleByteCoverage tests (w/yaml2obj) (#113114)
Restructure some tests to split into `%.test` and Inputs/%.c*`.
Add test actions with `yaml2obj` for single byte coverage. `FileCheck`
lines are:
- Relax to accept both counter values and single values `1`. A few line
counting are greater than `1` due to `llvm-profdata merge`. They will be
fixed by #110972.
- Suppress matching with `--check-prefixes=CHECK,BRCOV`, since the
current implementation of single byte doesn't emit any branch coverages.
They will be integrated to `CHECK` finally.
- Some tests are not unified but use dedicated `CHECK` lines for single
byte, since old format is different (esp. "partial fold"). They will be
unified when `Inputs` will be regenerated.
Introduce llvm/test/tools/llvm-cov/Inputs/yaml.makefile for convenience.
`%-single.yaml` and `%-single.proftext` are generated by it. It could be
used to regenerate other files.
https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
Commit: 378e1793379c9c63a4265ecf55c47308410ed25d
https://github.com/llvm/llvm-project/commit/378e1793379c9c63a4265ecf55c47308410ed25d
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/IR/Properties.td
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/test/mlir-tblgen/op-properties.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][Properties] Shorten "Property" to "Prop" in most places (#120368)
Since the property system isn't currently in heavy use, it's probably
the right time to fix a choice I made when expanding ODS property
support.
Specifically, most of the property subclasses, like OptionalProperty or
IntProperty, wrote out the word "Property" in full. The corresponding
classes in the Attribute hierarchy uses the short-form "Attr" in those
cases, as in OptionalAttr or DefaultValuedAttr.
This commit changes all those uses of "Property" to "Prop" in order to
prevent excessively verbose tablegen files that needlessly repeat the
full name of a core concept that can be abbreviated.
So, this commit renames all the FooProperty classes to FooProp, and
keeps the existing names as alias with a Deprecated<> on them to warn
people.
In addition, this commit updates the documentation around properties to
mention the constraint support.
Commit: 5db5dd7689b39c1c50f229f22e9d23b5475d51e1
https://github.com/llvm/llvm-project/commit/5db5dd7689b39c1c50f229f22e9d23b5475d51e1
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
Log Message:
-----------
[mlir][NFC] Document predicate field on properties (#120975)
Commit: ac586fd204e92b76b1ee255342ba26a45a29a1d9
https://github.com/llvm/llvm-project/commit/ac586fd204e92b76b1ee255342ba26a45a29a1d9
Author: Prabhuk <prabhukr at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.h
A clang/test/Driver/uefi-defines.c
M clang/test/Preprocessor/init.c
Log Message:
-----------
[clang] Introduce a new UEFI target predefine. (#111719)
Add a `__UEFI__` predefine for UEFI target.
Co-authored-by: RossComputerGuy
Commit: dbae7176a6ecf558dc5e92016cdda387c9d74d66
https://github.com/llvm/llvm-project/commit/dbae7176a6ecf558dc5e92016cdda387c9d74d66
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
A llvm/docs/llvm_telemetry_design.png
A llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
A llvm/lib/Telemetry/CMakeLists.txt
A llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
A llvm/unittests/Telemetry/CMakeLists.txt
A llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
Reapply "[llvm]Add a simple Telemetry framework" (#120769) (#121003)
This reverts commit 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3.
New changes:
- Use explicit overloads of write(<int types>)
- Fix link error due to missing dependency (lib/Support)
- Updated tests and docs
Commit: 275a27703ec9100a4984d1d0a366d50d3dc887ea
https://github.com/llvm/llvm-project/commit/275a27703ec9100a4984d1d0a366d50d3dc887ea
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
M llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
Log Message:
-----------
[Coverage][Single] Round Counters to boolean after evaluation (#110972)
Rounding in merging segments has been done after #75425.
Depends on: #113114
Commit: 93d4b1f7a72f366c1ea91b2d65991266053be8d9
https://github.com/llvm/llvm-project/commit/93d4b1f7a72f366c1ea91b2d65991266053be8d9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)
Reapplies commit edca1d9bad2 which was reverted in 34531cff638 while I
investigated bot failures, (e.g.
https://lab.llvm.org/buildbot/#/builders/137/builds/10791).
Commit 158a60051d2 should address the -check failures on the bots, which
were caused by checks running earlier under the concurrent linking
scheme before all files referenced by the checks had been fully linked.
This patch also fixes the -threads option failure by renaming the option
to -num-threads to avoid clashing with the ThreadCount cl::opt variable
defined in ThinLTOCodeGenerator.cpp.
Commit: 9ab5474e560292d15cb53ed94d248d7e5f54787d
https://github.com/llvm/llvm-project/commit/9ab5474e560292d15cb53ed94d248d7e5f54787d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Rename `ToVectorTy` to `toVectorTy` (NFC) (#120404)
This is for consistency with other helpers (and also follows the LLVM
naming conventions).
Commit: 9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
https://github.com/llvm/llvm-project/commit/9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
Log Message:
-----------
[Telemetry] Add missing virtual destructors (#121015)
Fixes warnings after #121003.
Commit: 030829a7e53fad0eab9b87b5dd49427e9fb13303
https://github.com/llvm/llvm-project/commit/030829a7e53fad0eab9b87b5dd49427e9fb13303
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
Log Message:
-----------
[SLP]Drop samesign flag if the vector node has reduced bitwidth
If the operands of the icmp instructions has reduced bitwidth after
MinBitwidth analysis, need to drop samesign flag to preserve correctness
of the transformation.
Fixes #120823
Commit: 0d6a584f69f07cfb900cdf6c83a10e872a5861f9
https://github.com/llvm/llvm-project/commit/0d6a584f69f07cfb900cdf6c83a10e872a5861f9
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Add an abstract layer to manipulate Data Dependenc… (#109918)
…e Graph
In MachinePipeliner, a DAG class is used to represent the Data
Dependence Graph. Data Dependence Graph generally contains cycles, so
it's not appropriate to use DAG classes. In fact, some "hacks" are used
to express back-edges in the current implementation. This patch adds a
new class to provide a better interface for manipulating dependencies.
Our approach is as follows:
- To build the graph, we use the ScheduleDAGInstrs class as it is,
because it has powerful functions and the current implementation depends
heavily on it.
- After the graph construction is finished (i.e., during scheduling), we
use the new class DataDependenceGraph to manipulate the dependencies.
Since we don't change the dependencies during scheduling, the new class
only provides functions to read them. Also, this patch is just a
refactoring, i.e., scheduling results should not change with or without
this patch.
Commit: 7d166fa38470a23f3134a3793b9236b2a5c68fcf
https://github.com/llvm/llvm-project/commit/7d166fa38470a23f3134a3793b9236b2a5c68fcf
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/runtime/CUDA/kernel.cpp
Log Message:
-----------
[flang][cuda] Correct the number of blocks when setting the grid to `*` (#121000)
We set the `gridX` argument of `_FortranACUFLaunchKernel` to `-1` when
`*` is passed to the grid parameter. We store it in one of `dim3`
members. However, `dim3` members are unsigned, so positive-value checks
we use later, such as `gridDim.x > 0`, are invalid. This PR utilizes the
original gird-size arguments to compute the number of blocks.
Commit: 2c95e60df53ba1a5765b3fad9e8ddaff70f21994
https://github.com/llvm/llvm-project/commit/2c95e60df53ba1a5765b3fad9e8ddaff70f21994
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
TelemetryTest.cpp: Suppress a warning in #121003 [-Wunused-private-field]
Commit: 7ec139ad4bc09857ab2b93926feef0d110071668
https://github.com/llvm/llvm-project/commit/7ec139ad4bc09857ab2b93926feef0d110071668
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
Revert "Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)"
Caused random failures.
This reverts commit 93d4b1f7a72f366c1ea91b2d65991266053be8d9.
(llvmorg-20-init-16299-g93d4b1f7a72f)
Commit: 4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
https://github.com/llvm/llvm-project/commit/4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/allocatable.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/descriptor.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
Revert "Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733" (#121029)
This still cause issue for device runtime build.
Commit: df12983610dfb4f33ab4fa406a267f39d4c65248
https://github.com/llvm/llvm-project/commit/df12983610dfb4f33ab4fa406a267f39d4c65248
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] build fix (#121032)
Place floating point environment calls under '#ifdef __USE_GNU'.
Commit: ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
https://github.com/llvm/llvm-project/commit/ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
Author: David Green <david.green at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
Log Message:
-----------
[ARM] Fix MVE incrementing gather offset calculation
The code was checking the gep ptr type as opposed to the gep source element
type in calculating the offset scale.
Fixes #120993
Commit: c84f5a9e00c02e6a4349846ed59ec85154b65e3f
https://github.com/llvm/llvm-project/commit/c84f5a9e00c02e6a4349846ed59ec85154b65e3f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[Github] Skip MIR files for undef check (#120919)
This patch skips checking files with a .mir extension for the presence
of undef. This was creating false positives that got reported on
discourse.
Commit: b2073fb9b9282c0f59861a137660f6a0782d7468
https://github.com/llvm/llvm-project/commit/b2073fb9b9282c0f59861a137660f6a0782d7468
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
Log Message:
-----------
[AArch64] Prefer SVE2.2 zeroing forms of certain instructions with an all-true predicate (#120595)
When the predicate of a destructive operation is known to be all-true,
for example
fabs z0.s, p0/m, z1.s
then the entire output register is written and we can use a zeroing
(instead of a merging) form of the instruction, for example
fabs z0.s, p0/z, z1.s
thus eliminate the dependency on the input-output destination register
without the need to insert a `movprfx`.
This patch complements (and in the case of
https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb,
fixes a regression) the following:
https://github.com/llvm/llvm-project/commit/7f4414b2a1a4d9f802a03f56894c406f0fe3e9a9
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (4/11)
(https://github.com/llvm/llvm-project/pull/116830)
https://github.com/llvm/llvm-project/commit/2474cf7ad123ea14308293a2237e3552cddb1136
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (3/11)
(https://github.com/llvm/llvm-project/pull/116829)
https://github.com/llvm/llvm-project/commit/6f285d31159501050de5563b1a844a3e1ac79a03
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (2/11)
(https://github.com/llvm/llvm-project/pull/116828)
https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (1/11)
(https://github.com/llvm/llvm-project/pull/116259)
Commit: c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
https://github.com/llvm/llvm-project/commit/c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Reland "[LoopVectorizer] Add support for partial reductions" (#120721)
This re-lands the reverted #92418
When the VF is small enough so that dividing the VF by the scaling
factor results in 1, the reduction phi execution thinks the VF is scalar
and sets the reduction's output as a scalar value, tripping assertions
expecting a vector value. The latest commit in this PR fixes that by
using `State.VF` in the scalar check, rather than the divided VF.
---------
Co-authored-by: Nicholas Guy <nicholas.guy at arm.com>
Commit: 10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
https://github.com/llvm/llvm-project/commit/10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/Telemetry/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
A llvm/utils/gn/secondary/llvm/unittests/Telemetry/BUILD.gn
Log Message:
-----------
[gn] port dbae7176a6ec (LLVMTelemetry)
Commit: 8e1cb96db84a70b2c803c28a359c8bb71395f35e
https://github.com/llvm/llvm-project/commit/8e1cb96db84a70b2c803c28a359c8bb71395f35e
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
R clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp
Log Message:
-----------
[analyzer] Split alpha core Identical Expression tests (#119543)
Split the remnant test from PR #114715, "Remove alpha.core.IdenticalExpr
Checker" into seperate tests for misc-redundant-expression and
bugprone-branch-clone per review comment requests.
---------
Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>
Commit: 334a5766d7591bfaadf6990b3d8568c9688e22a5
https://github.com/llvm/llvm-project/commit/334a5766d7591bfaadf6990b3d8568c9688e22a5
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
A llvm/test/tools/llvm-objcopy/MachO/globalize-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/keep-global-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/localize-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/skip-symbol.test
Log Message:
-----------
[llvm-objcopy] Add support of symbol modification flags for MachO (#120895)
This patch adds support of the following llvm-objcopy flags for MachO:
- `--globalize-symbol`, `--globalize-symbols`,
- `--keep-global-symbol`, `-G`, `--keep-global-symbols`,
- `--localize-symbol`, `-L`, `--localize-symbols`,
- `--skip-symbol`, `--skip-symbols`.
Code in `updateAndRemoveSymbols` for MachO
is kept similar to its version for ELF.
Fixes #120894
Commit: ffc7380ff4808fcc21350a39caf7f34073b41697
https://github.com/llvm/llvm-project/commit/ffc7380ff4808fcc21350a39caf7f34073b41697
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M libcxx/include/__fwd/memory.h
M libcxx/include/__ostream/basic_ostream.h
Log Message:
-----------
[libc++] Avoid including shared_ptr.h in basic_ostream.h (#121049)
Commit: 2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
https://github.com/llvm/llvm-project/commit/2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/index.rst
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
Log Message:
-----------
[clang-tidy] support parameters file in command line (#120547)
Fixes: #103499
Commit: 6bafbc99b0df7d5554af63115d78d0d97065862a
https://github.com/llvm/llvm-project/commit/6bafbc99b0df7d5554af63115d78d0d97065862a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect (more poisnous) reduction chain
Commit: f0f8dab712967b8fca5fcca4d7338b1d25017634
https://github.com/llvm/llvm-project/commit/f0f8dab712967b8fca5fcca4d7338b1d25017634
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
Log Message:
-----------
[SLP]Check if the first reduced value requires freeze/swap, if it may be too poisonous
If several reduced values are combined and the first reduced value is
just the original reduced value of the bool logical op, need to freeze
it to prevent the propagation of the poison value.
Fixes #114905
Commit: 8dbb33762cfb8d8606d28a71293f437ddffee4af
https://github.com/llvm/llvm-project/commit/8dbb33762cfb8d8606d28a71293f437ddffee4af
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
Log Message:
-----------
[analyzer] Simplify CallEvent castArgToParamTypeIfNeeded (#120981)
I noticed recently that this code (that I wrote xD) uses the
`getRuntimeDefinition()` which isn't quite necessary for the simple task
this function was designed for.
Why would it be better not using this API here?
I'm experimenting with improving how virtual functions are inlined,
where depending on our ability of deducing the dynamic type of the
object we may end up with inaccurate type information. Such inaccuracy
would mean that we may have multiple runtime definitions. After that,
this code would become ambiguous.
To resolve this, I decided to refactor this and use a simpler - but
equivalent approach.
Commit: 0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
https://github.com/llvm/llvm-project/commit/0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Fix strict weak ordering criterion in comparators
Fixes #121019
Commit: 852feea820f3f8b2fc44c851cc3ce5fe9576fa64
https://github.com/llvm/llvm-project/commit/852feea820f3f8b2fc44c851cc3ce5fe9576fa64
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Propagate AssumptionCache where possible
Commit: 6e3631d0e3316394ff4eae2913013d323e685790
https://github.com/llvm/llvm-project/commit/6e3631d0e3316394ff4eae2913013d323e685790
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
Log Message:
-----------
[mlir][scf] Track replacements using a listener in TileAndFuse (#120999)
This PR makes TileAndFuse explicitly track replacements using a listener
instead of assuming that the results always come from the outer most
tiling loop. scf::tileUsingInterface can introduce merge operations
whose results are the actual replacements to use, instead of the outer
most loop results.
Commit: d039926d7f0fc77f57fa424d57d9be882dbb26ed
https://github.com/llvm/llvm-project/commit/d039926d7f0fc77f57fa424d57d9be882dbb26ed
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
A .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
M .ci/generate_test_report.py
A .ci/metrics/Dockerfile
A .ci/metrics/metrics.py
A .ci/metrics/requirements.lock.txt
A .ci/metrics/requirements.txt
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .git-blame-ignore-revs
M .github/CODEOWNERS
M .github/new-issues-labeler.yml
M .github/new-prs-labeler.yml
A .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
A .github/workflows/build-metrics-container.yml
M .github/workflows/commit-access-review.py
A .github/workflows/containers/github-action-ci-windows/Dockerfile
A .github/workflows/containers/github-action-ci/Dockerfile
R .github/workflows/containers/github-action-ci/bootstrap.patch
R .github/workflows/containers/github-action-ci/stage1.Dockerfile
R .github/workflows/containers/github-action-ci/stage2.Dockerfile
R .github/workflows/containers/github-action-ci/storage.conf
M .github/workflows/docs.yml
A .github/workflows/libc-fullbuild-tests.yml
A .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
A .github/workflows/premerge.yaml
M .gitignore
R bolt/CODE_OWNERS.TXT
A bolt/Maintainers.txt
A bolt/docs/BinaryAnalysis.md
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Passes/ADRRelaxationPass.h
M bolt/include/bolt/Passes/IdenticalCodeFolding.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/check-init-not-moved.s
M bolt/test/AArch64/data-at-0-offset.c
M bolt/test/AArch64/double_jump.cpp
A bolt/test/AArch64/long-jmp-one-stub.s
A bolt/test/AArch64/pad-before-funcs.s
M bolt/test/AArch64/veneer-lld-abs.s
M bolt/test/CMakeLists.txt
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/relax.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/R_ABS.pic.lld.cpp
M bolt/test/X86/double-jump.test
A bolt/test/X86/dwarf5-debug-names-abstract-origin-linkage-name-only.s
A bolt/test/X86/dwarf5-debug-names-abstract-origin-specification.s
A bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s
A bolt/test/X86/dwarf5-debug-names-union.test
M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
A bolt/test/X86/icf-safe-icp.test
A bolt/test/X86/icf-safe-process-rela-data.test
A bolt/test/X86/icf-safe-test1-no-relocs.test
A bolt/test/X86/icf-safe-test1.test
A bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
M bolt/test/X86/jmp-optimization.test
M bolt/test/X86/linux-static-keys.s
M bolt/test/X86/match-functions-with-call-graph.test
A bolt/test/binary-analysis/AArch64/Inputs/dummy.txt
A bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/lit.local.cfg
M bolt/test/lit.cfg.py
A bolt/test/merge-fdata-bat-no-lbr.test
A bolt/test/merge-fdata-lbr-mode.test
A bolt/test/merge-fdata-mixed-bat-no-lbr.test
A bolt/test/merge-fdata-mixed-mode.test
A bolt/test/merge-fdata-no-lbr-mode.test
M bolt/test/pie.test
M bolt/test/runtime/X86/instrumentation-indirect.c
M bolt/test/runtime/bolt-reserved.cpp
M bolt/test/unreadable-profile.test
M bolt/tools/CMakeLists.txt
A bolt/tools/binary-analysis/CMakeLists.txt
A bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
A bolt/unittests/Core/MemoryMaps.cpp
M bolt/utils/bughunter.sh
R clang-tools-extra/CODE_OWNERS.TXT
A clang-tools-extra/Maintainers.txt
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/HeuristicResolver.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ParsedAST.h
M clang-tools-extra/clangd/TUScheduler.cpp
M clang-tools-extra/clangd/TUScheduler.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/XRefs.h
M clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/Background.h
M clang-tools-extra/clangd/index/BackgroundRebuild.cpp
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/Serialization.cpp
M clang-tools-extra/clangd/index/Serialization.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/support/DirectiveTree.cpp
M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DexTests.cpp
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/IndexTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.CopyToSelf.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Uninitialized.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Unterminated.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/unused-parameters.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-integer-sign-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/modularize/ModuleAssistant.cpp
A clang-tools-extra/test/clang-doc/builtin_types.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-const-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-static-cast-downcast.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
M clang/CMakeLists.txt
M clang/Maintainers.rst
M clang/cmake/caches/CrossWinToARMLinux.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/MatrixTypes.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/dump_ast_matchers.py
M clang/docs/tools/dump_format_help.py
M clang/docs/tools/dump_format_style.py
M clang/include/clang-c/CXString.h
M clang/include/clang-c/Index.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/include/clang/Basic/BuiltinsHexagon.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/CMakeLists.txt
A clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIRTypes.h
A clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
A clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Lex/PreprocessingRecord.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/CommentLexer.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/Consumed.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/Arena.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/IntervalPartition.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CMakeLists.txt
A clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
A clang/lib/CIR/CodeGen/CIRGenTypes.cpp
A clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
A clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDeclCXX.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/CGLoopInfo.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/ConstantInitBuilder.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/DriverOptions.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.h
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/UEFI.h
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/avx10_2copyintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/hvx_hexagon_protos.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/Index/FileIndexRecord.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/CheckExprLifetime.h
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.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/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/CMakeLists.txt
M clang/lib/Serialization/MultiOnDiskHashTable.h
A clang/lib/Serialization/TemplateArgumentHasher.cpp
A clang/lib/Serialization/TemplateArgumentHasher.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StdSymbolMap.inc
M clang/runtime/CMakeLists.txt
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
M clang/test/APINotes/swift-import-as.cpp
A clang/test/AST/ByteCode/altivec.c
A clang/test/AST/ByteCode/amdgpu-nullptr.cl
A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/c23.c
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/if.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/shifts.cpp
M clang/test/AST/ByteCode/vectors.cpp
R clang/test/AST/HLSL/AppendStructuredBuffer-AST.hlsl
A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
A clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
R clang/test/AST/HLSL/ConsumeStructuredBuffer-AST.hlsl
R clang/test/AST/HLSL/RWBuffer-AST.hlsl
R clang/test/AST/HLSL/RWStructuredBuffer-AST.hlsl
R clang/test/AST/HLSL/RasterizerOrderedStructuredBuffer-AST.hlsl
R clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
A clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
A clang/test/AST/ast-print-openacc-data-construct.cpp
A clang/test/AST/ast-print-openacc-init-construct.cpp
A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
A clang/test/AST/ast-print-openacc-wait-construct.cpp
A clang/test/AST/ast-print-packindexingexpr.cpp
M clang/test/AST/attr-lifetime-capture-by.cpp
A clang/test/AST/ms-constexpr-new.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/local-vars-checked-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/local-vars-counted-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.cpp
A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/bstring.cpp
M clang/test/Analysis/chroot.c
M clang/test/Analysis/copy-elision.cpp
M clang/test/Analysis/ctor-trivial-copy.cpp
M clang/test/Analysis/cxx-uninitialized-object-unguarded-access.cpp
M clang/test/Analysis/explain-svals.cpp
R clang/test/Analysis/identical-expressions.cpp
M clang/test/Analysis/initializer.cpp
M clang/test/Analysis/iterator-modeling.cpp
M clang/test/Analysis/reference.cpp
M clang/test/Analysis/show-checker-list.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/stl-algorithm-modeling-aggressive-std-find-modeling.cpp
M clang/test/Analysis/stl-algorithm-modeling.cpp
M clang/test/Analysis/string.c
M clang/test/Analysis/string.cpp
A clang/test/Analysis/string_notnullterm.c
M clang/test/Analysis/template-param-objects.cpp
A clang/test/Analysis/void-call-exit-modelling.c
A clang/test/C/C23/n2412.c
A clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/conv/conv.mem/p4.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg722.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/sizeofpack.cpp
M clang/test/CXX/temp/temp.res/p4.cpp
A clang/test/CodeCompletion/keywords-cxx20.cpp
M clang/test/CodeGen/AArch64/cpu-supports.c
A clang/test/CodeGen/AArch64/fixed-register-global.c
M clang/test/CodeGen/AArch64/fmv-dependencies.c
A clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_cvt.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_fmopa.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvt.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvtn.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/mixed-target-attributes.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
A clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1_vnum.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
M clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
M clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
M clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/SystemZ/builtin-setjmp-logjmp.c
M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/alias.cpp
A clang/test/CodeGen/allow-ubsan-check-inline.c
M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/arm64_32-vaarg.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/bounds-checking.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/catch-undef-behavior.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/ignore-overflow-pattern.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/matrix-type-operators-fast-math.c
M clang/test/CodeGen/memtag-globals.cpp
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/ptrauth-function-attributes.c
M clang/test/CodeGen/ptrauth-module-flags.c
M clang/test/CodeGen/sanitize-coverage-gated-callbacks.c
A clang/test/CodeGen/sanitize-type-attr.cpp
A clang/test/CodeGen/sanitize-type-globals.cpp
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/tbaa-reference.cpp
M clang/test/CodeGen/ubsan-trap-debugloc.c
A clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/default-arguments.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
A clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
A clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
A clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
A clang/test/CodeGenHLSL/semantics/SV_GroupThreadID.hlsl
M clang/test/CodeGenObjC/arc-ternary-op.m
M clang/test/CodeGenObjCXX/arc.mm
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/opencl_types.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/CoverageMapping/single-byte-counters.cpp
M clang/test/CoverageMapping/switch.cpp
M clang/test/CoverageMapping/switchmacro.c
A clang/test/Driver/Inputs/config-l.cfg
R clang/test/Driver/aarch64-fixed-register-global.c
A clang/test/Driver/aarch64-fujitsu-monaka.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/arm-cortex-cpus-2.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/codeview-column-info.c
M clang/test/Driver/config-file.c
M clang/test/Driver/config-file3.c
M clang/test/Driver/cuda-no-threadsafe-statics.cu
A clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/freebsd.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/fuchsia.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hexagon-toolchain-linux.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/loongarch-march.c
A clang/test/Driver/loongarch-mdiv32.c
A clang/test/Driver/loongarch-mlamcas.c
M clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
A clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
M clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
A clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/stack-clash-protection.c
M clang/test/Driver/sysroot.c
A clang/test/Driver/uefi-defines.c
A clang/test/Driver/unknown-arg-drivermodes.test
M clang/test/Driver/unsupported-option.c
A clang/test/Driver/xtensa-char.c
M clang/test/ExtractAPI/objc_external_category.m
A clang/test/Format/docs_updated.test
M clang/test/Format/lit.local.cfg
M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules4.cpp
M clang/test/Index/print-type.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/gnu-flags.c
M clang/test/Misc/diag-template-diffing-cxx98.cpp
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/arm.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Modules/ExtDebugInfo.m
M clang/test/Modules/ModuleDebugInfo.m
M clang/test/Modules/compare-record.c
M clang/test/Modules/cxx-templates.cpp
A clang/test/Modules/friend-inline-function-body.cpp
A clang/test/Modules/initializer-list-recognition-through-export-and-linkage-issue-118218.cpp
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/pr120277.cppm
A clang/test/Modules/prune-non-affecting-module-map-repeated-textual.cpp
A clang/test/Modules/recursive-instantiations.cppm
A clang/test/OpenMP/amdgpu_threadprivate.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/flush_ast_print.cpp
M clang/test/OpenMP/flush_codegen.cpp
M clang/test/OpenMP/flush_messages.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/target_map_names.cpp
M clang/test/OpenMP/target_map_names_attr.cpp
M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
A clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/test/Parser/cxx0x-decl.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
A clang/test/Parser/gh110231.cpp
A clang/test/Parser/objc-coloncolon.m
A clang/test/Parser/objcxx-coloncolon.mm
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/hexagon-predefines.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/macro_fn.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/sycl-macro.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/aarch64-fixed-global-register.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_cvt.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mopa.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fvdot.c
A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp
A clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M clang/test/Sema/asm.c
A clang/test/Sema/attr-target-version-unsupported.c
M clang/test/Sema/attr-target-version.c
A clang/test/Sema/builtin-assume-aligned-downgrade.c
M clang/test/Sema/builtin-assume-aligned.c
M clang/test/Sema/builtin-counted-by-ref.c
M clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/enum.c
A clang/test/Sema/tautological-pointer-comparison.c
M clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-stringcompare.c
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
A clang/test/SemaCXX/attr-no-specializations.cpp
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
M clang/test/SemaCXX/cxx1y-initializer-aggregates.cpp
A clang/test/SemaCXX/cxx20-warn-dangling-paren-list-agg-init.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/deprecated.cpp
M clang/test/SemaCXX/ext-int.cpp
M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
M clang/test/SemaCXX/literal-type.cpp
M clang/test/SemaCXX/matrix-type.cpp
A clang/test/SemaCXX/matrix-types-pseudo-destructor.cpp
M clang/test/SemaCXX/ms-constexpr-new.cpp
M clang/test/SemaCXX/ms-property.cpp
A clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/noexcept-destroying-delete.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/static-cast.cpp
M clang/test/SemaCXX/vector-bool.cpp
A clang/test/SemaCXX/warn-array-comparion.cpp
M clang/test/SemaCXX/warn-memaccess.cpp
M clang/test/SemaCXX/warn-self-comparisons.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-field-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-parm-unsupported.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
M clang/test/SemaCXX/warn-unused-private-field.cpp
A clang/test/SemaHIP/zero-sized-device-array.hip
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/buffer_update_counter-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl
M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
M clang/test/SemaOpenACC/combined-construct-async-clause.cpp
A clang/test/SemaOpenACC/combined-construct-attach-ast.cpp
A clang/test/SemaOpenACC/combined-construct-attach-clause.c
A clang/test/SemaOpenACC/combined-construct-attach-clause.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copy-clause.c
A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
A clang/test/SemaOpenACC/combined-construct-create-clause.c
A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
M clang/test/SemaOpenACC/combined-construct-default-ast.cpp
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
A clang/test/SemaOpenACC/combined-construct-deviceptr-ast.cpp
A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.cpp
A clang/test/SemaOpenACC/combined-construct-gang-ast.cpp
A clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
M clang/test/SemaOpenACC/combined-construct-if-clause.c
A clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
A clang/test/SemaOpenACC/combined-construct-no_create-clause.c
A clang/test/SemaOpenACC/combined-construct-no_create-clause.cpp
A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
A clang/test/SemaOpenACC/combined-construct-present-ast.cpp
A clang/test/SemaOpenACC/combined-construct-present-clause.c
A clang/test/SemaOpenACC/combined-construct-present-clause.cpp
A clang/test/SemaOpenACC/combined-construct-reduction-ast.cpp
A clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
A clang/test/SemaOpenACC/combined-construct-vector-ast.cpp
A clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
A clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
A clang/test/SemaOpenACC/combined-construct-wait-clause.c
A clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
A clang/test/SemaOpenACC/combined-construct-worker-ast.cpp
A clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-if-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenACC/data-construct-ast.cpp
A clang/test/SemaOpenACC/data-construct-async-ast.cpp
A clang/test/SemaOpenACC/data-construct-async-clause.c
A clang/test/SemaOpenACC/data-construct-attach-ast.cpp
A clang/test/SemaOpenACC/data-construct-attach-clause.c
A clang/test/SemaOpenACC/data-construct-copy-ast.cpp
A clang/test/SemaOpenACC/data-construct-copy-clause.c
A clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/data-construct-copyin-clause.c
A clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/data-construct-copyout-clause.c
A clang/test/SemaOpenACC/data-construct-create-ast.cpp
A clang/test/SemaOpenACC/data-construct-create-clause.c
A clang/test/SemaOpenACC/data-construct-default-ast.cpp
A clang/test/SemaOpenACC/data-construct-default-clause.c
A clang/test/SemaOpenACC/data-construct-delete-ast.cpp
A clang/test/SemaOpenACC/data-construct-delete-clause.c
A clang/test/SemaOpenACC/data-construct-detach-ast.cpp
A clang/test/SemaOpenACC/data-construct-detach-clause.c
A clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/data-construct-device_type-clause.c
A clang/test/SemaOpenACC/data-construct-deviceptr-ast.cpp
A clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/data-construct-finalize-ast.cpp
A clang/test/SemaOpenACC/data-construct-finalize-clause.c
A clang/test/SemaOpenACC/data-construct-if-ast.cpp
A clang/test/SemaOpenACC/data-construct-if-clause.c
A clang/test/SemaOpenACC/data-construct-if_present-ast.cpp
A clang/test/SemaOpenACC/data-construct-if_present-clause.c
A clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
A clang/test/SemaOpenACC/data-construct-no_create-clause.c
A clang/test/SemaOpenACC/data-construct-present-ast.cpp
A clang/test/SemaOpenACC/data-construct-present-clause.c
A clang/test/SemaOpenACC/data-construct-use_device-ast.cpp
A clang/test/SemaOpenACC/data-construct-use_device-clause.c
A clang/test/SemaOpenACC/data-construct-wait-ast.cpp
A clang/test/SemaOpenACC/data-construct-wait-clause.c
A clang/test/SemaOpenACC/data-construct.cpp
A clang/test/SemaOpenACC/init-construct-ast.cpp
A clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
A clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/unimplemented-construct.c
A clang/test/SemaOpenACC/wait-construct-ast.cpp
A clang/test/SemaOpenACC/wait-construct.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl
M clang/test/SemaTemplate/pack-deduction.cpp
A clang/test/SemaTemplate/template-args-deduction-aggregates.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-shlib/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCXX.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/AST/ASTContextParentMapTest.cpp
M clang/unittests/AST/ASTImporterTest.cpp
A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/CodeGen/TBAAMetadataTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInvocationTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp
M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
M clang/utils/TableGen/ClangASTNodesEmitter.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/llvm-support/build.test
M clang/utils/perf-training/perf-helper.py
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/hacking.html
M compiler-rt/CMakeLists.txt
R compiler-rt/CODE_OWNERS.TXT
A compiler-rt/Maintainers.md
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/include/sanitizer/memprof_interface.h
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_interceptors_memintrinsics.h
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
R compiler-rt/lib/builtins/aarch64/sme-abi-init.c
R compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
M compiler-rt/lib/builtins/cpu_model/aarch64.c
A compiler-rt/lib/builtins/cpu_model/aarch64/fmv/baremetal.inc
M compiler-rt/lib/builtins/cpu_model/x86.c
A compiler-rt/lib/builtins/extendhfxf2.c
M compiler-rt/lib/builtins/fp_div_impl.inc
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/interception_win.h
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/memprof/memprof_allocator.cpp
M compiler-rt/lib/memprof/memprof_flags.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/memprof/memprof_flags.inc
M compiler-rt/lib/memprof/memprof_interceptors.cpp
M compiler-rt/lib/memprof/memprof_interceptors.h
M compiler-rt/lib/memprof/memprof_interceptors_memintrinsics.h
M compiler-rt/lib/memprof/memprof_interface_internal.h
M compiler-rt/lib/memprof/memprof_rtl.cpp
M compiler-rt/lib/memprof/weak_symbols.txt
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/msan/msan_poisoning.cpp
M compiler-rt/lib/nsan/nsan_allocator.cpp
M compiler-rt/lib/nsan/nsan_interceptors.cpp
M compiler-rt/lib/orc/CMakeLists.txt
M compiler-rt/lib/orc/macho_tlv.x86-64.S
A compiler-rt/lib/orc/resolve.cpp
A compiler-rt/lib/orc/sysv_reenter.arm64.S
A compiler-rt/lib/orc/sysv_reenter.x86-64.S
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
A compiler-rt/lib/orc/tests/unit/common.cpp
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
M compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector.h
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
M compiler-rt/lib/scudo/standalone/list.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
M compiler-rt/lib/scudo/standalone/secondary.h
A compiler-rt/lib/scudo/standalone/type_traits.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
A compiler-rt/lib/tysan/CMakeLists.txt
A compiler-rt/lib/tysan/lit.cfg
A compiler-rt/lib/tysan/lit.site.cfg.in
A compiler-rt/lib/tysan/tysan.cpp
A compiler-rt/lib/tysan/tysan.h
A compiler-rt/lib/tysan/tysan.syms.extra
A compiler-rt/lib/tysan/tysan_flags.inc
A compiler-rt/lib/tysan/tysan_interceptors.cpp
A compiler-rt/lib/tysan/tysan_platform.h
M compiler-rt/lib/ubsan/ubsan_checks.inc
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/ubsan/ubsan_interface.inc
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/weak_symbols.txt
M compiler-rt/lib/xray/xray_flags.cpp
M compiler-rt/lib/xray/xray_flags.h
M compiler-rt/lib/xray/xray_interface.cpp
A compiler-rt/lib/xray/xray_riscv.cpp
A compiler-rt/lib/xray/xray_trampoline_riscv32.S
A compiler-rt/lib/xray/xray_trampoline_riscv64.S
A compiler-rt/lib/xray/xray_trampoline_riscv_common.S
M compiler-rt/lib/xray/xray_tsc.h
M compiler-rt/test/asan/TestCases/Linux/global-overflow-bfd.cpp
A compiler-rt/test/asan/TestCases/Windows/allocator_may_return_null_limits.cpp
M compiler-rt/test/builtins/Unit/atomic_test.c
M compiler-rt/test/builtins/Unit/divdf3_test.c
M compiler-rt/test/builtins/Unit/divsf3_test.c
M compiler-rt/test/builtins/Unit/divtf3_test.c
A compiler-rt/test/builtins/Unit/extendhfxf2_test.c
M compiler-rt/test/builtins/Unit/fp_test.h
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/memprof/TestCases/default_options.cpp
A compiler-rt/test/memprof/TestCases/dump_at_exit.cpp
A compiler-rt/test/memprof/TestCases/set_options.cpp
A compiler-rt/test/orc/TestCases/Generic/Inputs/foo-ret-42.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/var-x-42.ll
A compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
R compiler-rt/test/orc/TestCases/Generic/orc-rt-executor-usage.test
M compiler-rt/test/orc/lit.cfg.py
M compiler-rt/test/profile/Linux/binary-id-offset.c
A compiler-rt/test/rtsan/Darwin/dlopen.cpp
A compiler-rt/test/rtsan/fork_exec.cpp
A compiler-rt/test/rtsan/syscall.cpp
A compiler-rt/test/tsan/many_held_mutex.cpp
A compiler-rt/test/tysan/CMakeLists.txt
A compiler-rt/test/tysan/anon-ns.cpp
A compiler-rt/test/tysan/anon-same-struct.c
A compiler-rt/test/tysan/anon-struct.c
A compiler-rt/test/tysan/basic.c
A compiler-rt/test/tysan/char-memcpy.c
A compiler-rt/test/tysan/constexpr-subobject.cpp
A compiler-rt/test/tysan/global.c
A compiler-rt/test/tysan/int-long.c
A compiler-rt/test/tysan/lit.cfg.py
A compiler-rt/test/tysan/lit.site.cfg.py.in
A compiler-rt/test/tysan/ptr-float.c
A compiler-rt/test/tysan/struct-offset-multiple-compilation-units.cpp
A compiler-rt/test/tysan/struct-offset.c
A compiler-rt/test/tysan/struct.c
A compiler-rt/test/tysan/union-wr-wr.c
A compiler-rt/test/tysan/violation-pr45282.c
A compiler-rt/test/tysan/violation-pr47137.c
A compiler-rt/test/tysan/violation-pr51837.c
A compiler-rt/test/tysan/violation-pr62544.c
A compiler-rt/test/tysan/violation-pr62828.cpp
A compiler-rt/test/tysan/violation-pr68655.cpp
A compiler-rt/test/tysan/violation-pr86685.c
A compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
A compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
A compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
A compiler-rt/test/xray/TestCases/Posix/default-options.cpp
M flang/CMakeLists.txt
A flang/Maintainers.md
R flang/Maintainers.txt
M flang/docs/Extensions.md
M flang/docs/Intrinsics.md
A flang/docs/Unsigned.md
M flang/docs/index.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
A flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
A flang/include/flang/Common/OpenMP-utils.h
M flang/include/flang/Common/format.h
A flang/include/flang/Common/target-rounding.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/fold.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/ISO_Fortran_binding.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Allocatable.h
M flang/include/flang/Lower/ConvertCall.h
M flang/include/flang/Lower/ConvertVariable.h
A flang/include/flang/Lower/DirectivesCommon.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/Builder/Runtime/Derived.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/CodeGen/DescriptorModel.h
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/CUDA/descriptor.h
A flang/include/flang/Runtime/CUDA/memmove-function.h
M flang/include/flang/Runtime/CUDA/memory.h
A flang/include/flang/Runtime/allocator-registry-consts.h
M flang/include/flang/Runtime/allocator-registry.h
A flang/include/flang/Runtime/array-constructor-consts.h
M flang/include/flang/Runtime/array-constructor.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/derived-api.h
A flang/include/flang/Runtime/descriptor-consts.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/exceptions.h
A flang/include/flang/Runtime/io-api-consts.h
M flang/include/flang/Runtime/io-api.h
A flang/include/flang/Runtime/iostat-consts.h
M flang/include/flang/Runtime/iostat.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Common/CMakeLists.txt
M flang/lib/Common/Fortran-features.cpp
A flang/lib/Common/OpenMP-utils.cpp
M flang/lib/Common/default-kinds.cpp
M flang/lib/Evaluate/expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
R flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/Mangler.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/ArrayConstructor.cpp
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFToLLVMIRTranslation.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AlgebraicSimplification.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/expr-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/type-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-arithmeticif.cpp
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/cudadevice.f90
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/module/iso_fortran_env_impl.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/CUDA/kernel.cpp
A flang/runtime/CUDA/memmove-function.cpp
M flang/runtime/CUDA/memory.cpp
M flang/runtime/Float128Math/random.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/config.h.cmake
M flang/runtime/derived-api.cpp
M flang/runtime/derived.cpp
M flang/runtime/derived.h
M flang/runtime/descriptor-io.h
M flang/runtime/dot-product.cpp
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/environment-default-list.h
M flang/runtime/exceptions.cpp
M flang/runtime/extrema.cpp
M flang/runtime/findloc.cpp
M flang/runtime/format.h
M flang/runtime/internal-unit.cpp
M flang/runtime/io-api-minimal.cpp
M flang/runtime/matmul.cpp
M flang/runtime/non-tbp-dio.h
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/random-templates.h
M flang/runtime/random.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/reduction.cpp
M flang/runtime/stop.cpp
M flang/runtime/sum.cpp
M flang/runtime/tools.h
M flang/runtime/type-code.cpp
M flang/runtime/type-info.cpp
M flang/runtime/type-info.h
A flang/test/Analysis/AliasAnalysis/gen_mod_ref_test.py
A flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir
A flang/test/Analysis/AliasAnalysis/modref-call-args.f90
A flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
A flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90
A flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
A flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90
A flang/test/Analysis/AliasAnalysis/modref-call-locals.f90
A flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir
A flang/test/Driver/Inputs/config-l.cfg
M flang/test/Driver/config-file.f90
A flang/test/Driver/frealloc-lhs.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Driver/fveclib.f90
A flang/test/Driver/mabi-loongarch.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/options-loongarch.f90
A flang/test/Driver/pp-fixed-form.f90
M flang/test/Driver/print-supported-cpus.f90
M flang/test/Evaluate/fold-ieee.f90
A flang/test/Evaluate/fold-unsigned.f90
M flang/test/Evaluate/folding18.f90
M flang/test/Examples/omp-declarative-directive.f90
A flang/test/Fir/CUDA/cuda-abstract-result.mlir
M flang/test/Fir/CUDA/cuda-allocate.fir
A flang/test/Fir/CUDA/cuda-code-gen.mlir
A flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
A flang/test/Fir/CUDA/cuda-external-mangling.mlir
R flang/test/Fir/CUDA/cuda-extranal-mangling.mlir
A flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
A flang/test/Fir/CUDA/cuda-target-rewrite.mlir
M flang/test/Fir/arrayset.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box.fir
M flang/test/Fir/boxproc-2.fir
A flang/test/Fir/boxproc-openmp.fir
M flang/test/Fir/boxproc.fir
M flang/test/Fir/commute.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/coordinateof.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/field-index.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Fir/polymorphic.fir
A flang/test/Fir/struct-passing-aarch64-byval.fir
A flang/test/Fir/struct-passing-loongarch64-byreg.fir
A flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
A flang/test/Fir/struct-return-aarch64.fir
A flang/test/Fir/struct-return-loongarch64-byreg.fir
M flang/test/Fir/target-rewrite-boxchar.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target.fir
A flang/test/HLFIR/cshift-lowering.fir
A flang/test/HLFIR/element-codegen-issue-118922.fir
A flang/test/HLFIR/eval_in_mem-codegen.fir
A flang/test/HLFIR/eval_in_mem.fir
M flang/test/HLFIR/invalid.fir
M flang/test/HLFIR/minloc-elemental.fir
M flang/test/HLFIR/opt-array-slice-assign.fir
A flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
A flang/test/HLFIR/opt-bufferization-non-realloc-assignment.fir
A flang/test/HLFIR/opt-variable-assign-omp.fir
A flang/test/HLFIR/order_assignments/forall-issue120190.fir
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/HLFIR/shapeof.fir
A flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
A flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/OpenMP/workshare-axpy.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/assumed-rank-internal-proc.f90
A flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
A flang/test/Lower/HLFIR/cshift.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/where-nonelemental.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/len_trim.f90
M flang/test/Lower/Intrinsics/shifta.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
A flang/test/Lower/OpenMP/KernelLanguage/bare-clause.f90
A flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/Todo/error.f90
A flang/test/Lower/OpenMP/Todo/flush-seq-cst.f90
M flang/test/Lower/OpenMP/Todo/map-mapper.f90
R flang/test/Lower/OpenMP/Todo/task_detach.f90
R flang/test/Lower/OpenMP/Todo/task_mergeable.f90
M flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/copyprivate2.f90
A flang/test/Lower/OpenMP/declare-target-interface.f90
A flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
A flang/test/Lower/OpenMP/derived-type-allocatable.f90
A flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/task.f90
A flang/test/Lower/OpenMP/task_detach.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/components.f90
A flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/nsw.f90
A flang/test/Lower/reallocate-lhs.f90
A flang/test/Lower/unsigned-ops.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
A flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
A flang/test/Parser/OpenMP/bind-clause.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
M flang/test/Parser/OpenMP/depobj-construct.f90
A flang/test/Parser/OpenMP/error-unparse.f90
M flang/test/Parser/OpenMP/from-clause.f90
M flang/test/Parser/OpenMP/if-clause-unparse.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/lastprivate-clause.f90
A flang/test/Parser/OpenMP/linear-clause.f90
M flang/test/Parser/OpenMP/map-modifiers.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/reduction-modifier.f90
M flang/test/Parser/OpenMP/target-loop-unparse.f90
M flang/test/Parser/OpenMP/target-update-to-clause.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/target_device_unparse.f90
A flang/test/Parser/OpenMP/task-reduction-clause.f90
M flang/test/Parser/OpenMP/taskloop.f90
A flang/test/Parser/decl-char-length.f90
A flang/test/Parser/lit-substr-data.f90
A flang/test/Preprocessing/bug117297.F90
M flang/test/Preprocessing/directive-contin-with-pp.F90
M flang/test/Preprocessing/pp132.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
A flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
A flang/test/Semantics/OpenMP/critical_within_default.f90
M flang/test/Semantics/OpenMP/declarative-directive01.f90
M flang/test/Semantics/OpenMP/defaultmap-clause-v45.f90
M flang/test/Semantics/OpenMP/depend05.f90
A flang/test/Semantics/OpenMP/do21.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/from-clause-v45.f90
M flang/test/Semantics/OpenMP/from-clause-v51.f90
M flang/test/Semantics/OpenMP/if-clause.f90
A flang/test/Semantics/OpenMP/in-reduction.f90
A flang/test/Semantics/OpenMP/linear-clause01.f90
A flang/test/Semantics/OpenMP/linear-clause02.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M flang/test/Semantics/OpenMP/map-clause.f90
M flang/test/Semantics/OpenMP/map-modifiers.f90
A flang/test/Semantics/OpenMP/ompx-bare.f90
M flang/test/Semantics/OpenMP/reduction04.f90
M flang/test/Semantics/OpenMP/reduction06.f90
M flang/test/Semantics/OpenMP/reduction12.f90
A flang/test/Semantics/OpenMP/reduction15.f90
A flang/test/Semantics/OpenMP/reduction16.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/symbol08.f90
A flang/test/Semantics/OpenMP/task-reduction.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/to-clause-v45.f90
M flang/test/Semantics/OpenMP/to-clause-v51.f90
M flang/test/Semantics/OpenMP/use_device_addr1.f90
M flang/test/Semantics/OpenMP/use_device_ptr1.f90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/complex01.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/expr-errors06.f90
A flang/test/Semantics/generic11.f90
M flang/test/Semantics/modfile55.cuf
M flang/test/Semantics/resolve58.f90
M flang/test/Semantics/test_symbols.py
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo08.f90
A flang/test/Semantics/unsigned-errors.f90
M flang/test/Transforms/OpenMP/lower-workshare-alloca.mlir
A flang/test/Transforms/OpenMP/lower-workshare-nested.mlir
M flang/test/Transforms/constant-argument-globalisation.fir
A flang/test/Transforms/function-attrs.fir
A flang/test/Transforms/generic-loop-rewriting-todo.mlir
A flang/test/Transforms/generic-loop-rewriting.mlir
M flang/test/Transforms/loop-versioning.fir
A flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M flang/tools/bbc/bbc.cpp
M flang/unittests/Evaluate/fp-testing.cpp
M flang/unittests/Evaluate/fp-testing.h
M flang/unittests/Evaluate/real.cpp
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/ArrayConstructor.cpp
M flang/unittests/Runtime/CMakeLists.txt
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CommandTest.cpp
M flang/unittests/Runtime/Complex.cpp
M flang/unittests/Runtime/ExternalIOTest.cpp
M flang/unittests/Runtime/ListInputTest.cpp
M flang/unittests/Runtime/LogicalFormatTest.cpp
M flang/unittests/Runtime/Namelist.cpp
M flang/unittests/Runtime/NumericalFormatTest.cpp
M flang/unittests/Runtime/RuntimeCrashTest.cpp
M libc/CMakeLists.txt
M libc/benchmarks/CMakeLists.txt
R libc/benchmarks/automemcpy/CMakeLists.txt
R libc/benchmarks/automemcpy/README.md
R libc/benchmarks/automemcpy/include/automemcpy/CodeGen.h
R libc/benchmarks/automemcpy/include/automemcpy/FunctionDescriptor.h
R libc/benchmarks/automemcpy/include/automemcpy/RandomFunctionGenerator.h
R libc/benchmarks/automemcpy/include/automemcpy/ResultAnalyzer.h
R libc/benchmarks/automemcpy/lib/CMakeLists.txt
R libc/benchmarks/automemcpy/lib/CodeGen.cpp
R libc/benchmarks/automemcpy/lib/CodeGenMain.cpp
R libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp
R libc/benchmarks/automemcpy/lib/ResultAnalyzer.cpp
R libc/benchmarks/automemcpy/lib/ResultAnalyzerMain.cpp
R libc/benchmarks/automemcpy/unittests/CMakeLists.txt
R libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
R libc/benchmarks/automemcpy/unittests/ResultAnalyzerTest.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
A libc/config/baremetal/aarch64/entrypoints.txt
A libc/config/baremetal/aarch64/headers.txt
R libc/config/baremetal/api.td
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
R libc/config/gpu/api.td
M libc/config/gpu/entrypoints.txt
M libc/config/gpu/headers.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
R libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
R libc/config/public_api.td
M libc/config/windows/entrypoints.txt
A libc/config/windows/headers.txt
A libc/docs/arch_support.rst
R libc/docs/complex.rst
M libc/docs/conf.py
R libc/docs/ctype.rst
R libc/docs/date_and_time.rst
M libc/docs/dev/header_generation.rst
M libc/docs/dev/index.rst
M libc/docs/dev/source_tree_layout.rst
R libc/docs/fenv.rst
M libc/docs/full_host_build.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/using.rst
R libc/docs/header_gen_scheme.svg
A libc/docs/headers/arpa/inet.rst
A libc/docs/headers/assert.rst
A libc/docs/headers/complex.rst
A libc/docs/headers/ctype.rst
A libc/docs/headers/errno.rst
A libc/docs/headers/fenv.rst
A libc/docs/headers/float.rst
A libc/docs/headers/index.rst
A libc/docs/headers/inttypes.rst
A libc/docs/headers/locale.rst
A libc/docs/headers/math/index.rst
A libc/docs/headers/math/log.rst
A libc/docs/headers/math/stdfix.rst
A libc/docs/headers/search.rst
A libc/docs/headers/setjmp.rst
A libc/docs/headers/signal.rst
A libc/docs/headers/stdbit.rst
A libc/docs/headers/stdio.rst
A libc/docs/headers/stdlib.rst
A libc/docs/headers/string.rst
A libc/docs/headers/strings.rst
A libc/docs/headers/sys/mman.rst
A libc/docs/headers/threads.rst
A libc/docs/headers/time.rst
A libc/docs/headers/uchar.rst
A libc/docs/headers/wchar.rst
A libc/docs/headers/wctype.rst
M libc/docs/index.rst
R libc/docs/libc_search.rst
R libc/docs/math/index.rst
R libc/docs/math/log.rst
R libc/docs/math/stdfix.rst
A libc/docs/platform_support.rst
R libc/docs/setjmp.rst
R libc/docs/signal.rst
R libc/docs/stdbit.rst
R libc/docs/stdio.rst
R libc/docs/strings.rst
M libc/docs/talks.rst
R libc/docs/threads.rst
M libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/fake_heap.s
M libc/fuzzing/string/CMakeLists.txt
M libc/fuzzing/string/bcmp_fuzz.cpp
M libc/hdr/CMakeLists.txt
M libc/hdr/fcntl_overlay.h
M libc/hdr/func/free.h
M libc/hdr/func/malloc.h
M libc/hdr/func/realloc.h
M libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/clockid_t.h
M libc/hdr/types/ssize_t.h
M libc/hdr/types/struct_f_owner_ex.h
M libc/hdr/types/struct_flock.h
M libc/hdr/types/struct_flock64.h
A libc/hdr/types/uid_t.h
M libc/hdr/unistd_macros.h
A libc/hdr/unistd_overlay.h
A libc/hdrgen/CMakeLists.txt
A libc/hdrgen/class_implementation/classes/enumeration.py
A libc/hdrgen/class_implementation/classes/function.py
A libc/hdrgen/class_implementation/classes/macro.py
A libc/hdrgen/class_implementation/classes/object.py
A libc/hdrgen/class_implementation/classes/type.py
A libc/hdrgen/gpu_headers.py
A libc/hdrgen/header.py
A libc/hdrgen/tests/expected_output/test_header.h
A libc/hdrgen/tests/input/test_small.h.def
A libc/hdrgen/tests/input/test_small.yaml
A libc/hdrgen/tests/test_integration.py
A libc/hdrgen/yaml/arpa/inet.yaml
A libc/hdrgen/yaml/assert.yaml
A libc/hdrgen/yaml/complex.yaml
A libc/hdrgen/yaml/ctype.yaml
A libc/hdrgen/yaml/dirent.yaml
A libc/hdrgen/yaml/dlfcn.yaml
A libc/hdrgen/yaml/elf.yaml
A libc/hdrgen/yaml/errno.yaml
A libc/hdrgen/yaml/fcntl.yaml
A libc/hdrgen/yaml/features.yaml
A libc/hdrgen/yaml/fenv.yaml
A libc/hdrgen/yaml/float.yaml
A libc/hdrgen/yaml/inttypes.yaml
A libc/hdrgen/yaml/limits.yaml
A libc/hdrgen/yaml/link.yaml
A libc/hdrgen/yaml/locale.yaml
A libc/hdrgen/yaml/malloc.yaml
A libc/hdrgen/yaml/math.yaml
A libc/hdrgen/yaml/pthread.yaml
A libc/hdrgen/yaml/sched.yaml
A libc/hdrgen/yaml/search.yaml
A libc/hdrgen/yaml/setjmp.yaml
A libc/hdrgen/yaml/signal.yaml
A libc/hdrgen/yaml/spawn.yaml
A libc/hdrgen/yaml/stdbit.yaml
A libc/hdrgen/yaml/stdckdint.yaml
A libc/hdrgen/yaml/stdfix.yaml
A libc/hdrgen/yaml/stdint.yaml
A libc/hdrgen/yaml/stdio.yaml
A libc/hdrgen/yaml/stdlib.yaml
A libc/hdrgen/yaml/string.yaml
A libc/hdrgen/yaml/strings.yaml
A libc/hdrgen/yaml/sys/auxv.yaml
A libc/hdrgen/yaml/sys/epoll.yaml
A libc/hdrgen/yaml/sys/ioctl.yaml
A libc/hdrgen/yaml/sys/mman.yaml
A libc/hdrgen/yaml/sys/prctl.yaml
A libc/hdrgen/yaml/sys/random.yaml
A libc/hdrgen/yaml/sys/resource.yaml
A libc/hdrgen/yaml/sys/select.yaml
A libc/hdrgen/yaml/sys/sendfile.yaml
A libc/hdrgen/yaml/sys/socket.yaml
A libc/hdrgen/yaml/sys/stat.yaml
A libc/hdrgen/yaml/sys/statvfs.yaml
A libc/hdrgen/yaml/sys/syscall.yaml
A libc/hdrgen/yaml/sys/time.yaml
A libc/hdrgen/yaml/sys/types.yaml
A libc/hdrgen/yaml/sys/utsname.yaml
A libc/hdrgen/yaml/sys/wait.yaml
A libc/hdrgen/yaml/termios.yaml
A libc/hdrgen/yaml/threads.yaml
A libc/hdrgen/yaml/time.yaml
A libc/hdrgen/yaml/uchar.yaml
A libc/hdrgen/yaml/unistd.yaml
A libc/hdrgen/yaml/wchar.yaml
A libc/hdrgen/yaml_functions_sorted.py
A libc/hdrgen/yaml_to_classes.py
M libc/include/CMakeLists.txt
M libc/include/__llvm-libc-common.h
R libc/include/gpu/rpc.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-macros/time-macros.h
A libc/include/llvm-libc-macros/windows/CMakeLists.txt
A libc/include/llvm-libc-macros/windows/time-macros-ext.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/cfloat128.h
R libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/include/pthread.h.def
R libc/newhdrgen/CMakeLists.txt
R libc/newhdrgen/class_implementation/classes/enumeration.py
R libc/newhdrgen/class_implementation/classes/function.py
R libc/newhdrgen/class_implementation/classes/macro.py
R libc/newhdrgen/class_implementation/classes/object.py
R libc/newhdrgen/class_implementation/classes/type.py
R libc/newhdrgen/gpu_headers.py
R libc/newhdrgen/header.py
R libc/newhdrgen/tests/expected_output/test_header.h
R libc/newhdrgen/tests/input/test_small.h.def
R libc/newhdrgen/tests/input/test_small.yaml
R libc/newhdrgen/tests/test_integration.py
R libc/newhdrgen/yaml/arpa/inet.yaml
R libc/newhdrgen/yaml/assert.yaml
R libc/newhdrgen/yaml/ctype.yaml
R libc/newhdrgen/yaml/dirent.yaml
R libc/newhdrgen/yaml/dlfcn.yaml
R libc/newhdrgen/yaml/elf.yaml
R libc/newhdrgen/yaml/errno.yaml
R libc/newhdrgen/yaml/fcntl.yaml
R libc/newhdrgen/yaml/features.yaml
R libc/newhdrgen/yaml/fenv.yaml
R libc/newhdrgen/yaml/float.yaml
R libc/newhdrgen/yaml/gpu/rpc.yaml
R libc/newhdrgen/yaml/inttypes.yaml
R libc/newhdrgen/yaml/limits.yaml
R libc/newhdrgen/yaml/link.yaml
R libc/newhdrgen/yaml/locale.yaml
R libc/newhdrgen/yaml/malloc.yaml
R libc/newhdrgen/yaml/math.yaml
R libc/newhdrgen/yaml/pthread.yaml
R libc/newhdrgen/yaml/sched.yaml
R libc/newhdrgen/yaml/search.yaml
R libc/newhdrgen/yaml/setjmp.yaml
R libc/newhdrgen/yaml/signal.yaml
R libc/newhdrgen/yaml/spawn.yaml
R libc/newhdrgen/yaml/stdbit.yaml
R libc/newhdrgen/yaml/stdckdint.yaml
R libc/newhdrgen/yaml/stdfix.yaml
R libc/newhdrgen/yaml/stdint.yaml
R libc/newhdrgen/yaml/stdio.yaml
R libc/newhdrgen/yaml/stdlib.yaml
R libc/newhdrgen/yaml/string.yaml
R libc/newhdrgen/yaml/strings.yaml
R libc/newhdrgen/yaml/sys/auxv.yaml
R libc/newhdrgen/yaml/sys/epoll.yaml
R libc/newhdrgen/yaml/sys/ioctl.yaml
R libc/newhdrgen/yaml/sys/mman.yaml
R libc/newhdrgen/yaml/sys/prctl.yaml
R libc/newhdrgen/yaml/sys/random.yaml
R libc/newhdrgen/yaml/sys/resource.yaml
R libc/newhdrgen/yaml/sys/select.yaml
R libc/newhdrgen/yaml/sys/sendfile.yaml
R libc/newhdrgen/yaml/sys/socket.yaml
R libc/newhdrgen/yaml/sys/stat.yaml
R libc/newhdrgen/yaml/sys/statvfs.yaml
R libc/newhdrgen/yaml/sys/syscall.yaml
R libc/newhdrgen/yaml/sys/time.yaml
R libc/newhdrgen/yaml/sys/types.yaml
R libc/newhdrgen/yaml/sys/utsname.yaml
R libc/newhdrgen/yaml/sys/wait.yaml
R libc/newhdrgen/yaml/termios.yaml
R libc/newhdrgen/yaml/threads.yaml
R libc/newhdrgen/yaml/time.yaml
R libc/newhdrgen/yaml/uchar.yaml
R libc/newhdrgen/yaml/unistd.yaml
R libc/newhdrgen/yaml/wchar.yaml
R libc/newhdrgen/yaml_functions_sorted.py
R libc/newhdrgen/yaml_to_classes.py
M libc/shared/rpc.h
A libc/shared/rpc_opcodes.h
M libc/shared/rpc_util.h
R libc/spec/bsd_ext.td
R libc/spec/gnu_ext.td
R libc/spec/gpu_ext.td
R libc/spec/linux.td
R libc/spec/llvm_libc_ext.td
R libc/spec/llvm_libc_stdfix_ext.td
R libc/spec/posix.td
R libc/spec/spec.td
R libc/spec/stdc.td
R libc/spec/stdc_ext.td
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/has_unique_object_representations.h
A libc/src/__support/CPP/type_traits/is_copy_assignable.h
A libc/src/__support/CPP/type_traits/is_copy_constructible.h
A libc/src/__support/CPP/type_traits/is_move_assignable.h
A libc/src/__support/CPP/type_traits/is_move_constructible.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/OSUtil/linux/exit.cpp
M libc/src/__support/RPC/CMakeLists.txt
M libc/src/__support/RPC/rpc_client.cpp
M libc/src/__support/RPC/rpc_client.h
M libc/src/__support/block.h
M libc/src/__support/common.h
M libc/src/__support/complex_type.h
M libc/src/__support/ctype_utils.h
M libc/src/__support/freelist.cpp
M libc/src/__support/freelist.h
A libc/src/__support/freelist_heap.cpp
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/src/__support/freetrie.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/macros/properties/complex_types.h
M libc/src/__support/macros/properties/os.h
M libc/src/__support/macros/properties/types.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/clock_gettime.h
A libc/src/__support/time/gpu/CMakeLists.txt
A libc/src/__support/time/gpu/clock_gettime.cpp
A libc/src/__support/time/gpu/time_utils.cpp
A libc/src/__support/time/gpu/time_utils.h
M libc/src/__support/time/linux/CMakeLists.txt
M libc/src/__support/time/linux/clock_conversion.h
M libc/src/__support/time/linux/clock_gettime.cpp
R libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/windows/CMakeLists.txt
A libc/src/__support/time/windows/clock_gettime.cpp
A libc/src/__support/time/windows/performance_counter.h
A libc/src/arpa/CMakeLists.txt
A libc/src/arpa/inet/CMakeLists.txt
A libc/src/arpa/inet/htonl.cpp
A libc/src/arpa/inet/htonl.h
A libc/src/arpa/inet/htons.cpp
A libc/src/arpa/inet/htons.h
A libc/src/arpa/inet/ntohl.cpp
A libc/src/arpa/inet/ntohl.h
A libc/src/arpa/inet/ntohs.cpp
A libc/src/arpa/inet/ntohs.h
M libc/src/complex/CMakeLists.txt
A libc/src/complex/conj.h
A libc/src/complex/conjf.h
A libc/src/complex/conjf128.h
A libc/src/complex/conjf16.h
A libc/src/complex/conjl.h
A libc/src/complex/cproj.h
A libc/src/complex/cprojf.h
A libc/src/complex/cprojf128.h
A libc/src/complex/cprojf16.h
A libc/src/complex/cprojl.h
M libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/conj.cpp
A libc/src/complex/generic/conjf.cpp
A libc/src/complex/generic/conjf128.cpp
A libc/src/complex/generic/conjf16.cpp
A libc/src/complex/generic/conjl.cpp
A libc/src/complex/generic/cproj.cpp
A libc/src/complex/generic/cprojf.cpp
A libc/src/complex/generic/cprojf128.cpp
A libc/src/complex/generic/cprojf16.cpp
A libc/src/complex/generic/cprojl.cpp
M libc/src/ctype/isxdigit.cpp
M libc/src/ctype/isxdigit_l.cpp
M libc/src/ctype/toupper.cpp
M libc/src/ctype/toupper_l.cpp
M libc/src/gpu/rpc_host_call.cpp
M libc/src/math/CMakeLists.txt
A libc/src/math/cosf16.h
M libc/src/math/docs/add_math_function.md
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2f.cpp
A libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/src/math/generic/sincosf16_utils.h
A libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/tanpif16.cpp
A libc/src/math/sinf16.h
R libc/src/network/CMakeLists.txt
R libc/src/network/htonl.cpp
R libc/src/network/htonl.h
R libc/src/network/htons.cpp
R libc/src/network/htons.h
R libc/src/network/ntohl.cpp
R libc/src/network/ntohl.h
R libc/src/network/ntohs.cpp
R libc/src/network/ntohs.h
M libc/src/pthread/CMakeLists.txt
M libc/src/setjmp/riscv/CMakeLists.txt
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/signal/linux/CMakeLists.txt
M libc/src/stdfix/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/scanf_core/converter_utils.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/stdio/scanf_core/int_converter.cpp
M libc/src/stdio/scanf_core/ptr_converter.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/baremetal/CMakeLists.txt
A libc/src/stdlib/baremetal/aligned_alloc.cpp
A libc/src/stdlib/baremetal/calloc.cpp
A libc/src/stdlib/baremetal/free.cpp
A libc/src/stdlib/baremetal/malloc.cpp
A libc/src/stdlib/baremetal/realloc.cpp
R libc/src/stdlib/freelist_malloc.cpp
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/system.cpp
M libc/src/string/CMakeLists.txt
R libc/src/string/bcmp.cpp
R libc/src/string/bcmp.h
R libc/src/string/bcopy.cpp
R libc/src/string/bcopy.h
R libc/src/string/bzero.cpp
R libc/src/string/bzero.h
R libc/src/string/index.cpp
R libc/src/string/index.h
M libc/src/string/memory_utils/op_x86.h
R libc/src/string/rindex.cpp
R libc/src/string/rindex.h
R libc/src/string/strcasecmp.cpp
R libc/src/string/strcasecmp.h
R libc/src/string/strncasecmp.cpp
R libc/src/string/strncasecmp.h
A libc/src/strings/CMakeLists.txt
A libc/src/strings/bcmp.cpp
A libc/src/strings/bcmp.h
A libc/src/strings/bcopy.cpp
A libc/src/strings/bcopy.h
A libc/src/strings/bzero.cpp
A libc/src/strings/bzero.h
A libc/src/strings/index.cpp
A libc/src/strings/index.h
A libc/src/strings/rindex.cpp
A libc/src/strings/rindex.h
A libc/src/strings/strcasecmp.cpp
A libc/src/strings/strcasecmp.h
A libc/src/strings/strncasecmp.cpp
A libc/src/strings/strncasecmp.h
M libc/src/threads/CMakeLists.txt
M libc/src/time/CMakeLists.txt
A libc/src/time/baremetal/CMakeLists.txt
A libc/src/time/baremetal/timespec_get.cpp
A libc/src/time/clock_getres.h
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/clock_gettime.cpp
M libc/src/time/gpu/nanosleep.cpp
R libc/src/time/gpu/time_utils.cpp
R libc/src/time/gpu/time_utils.h
A libc/src/time/gpu/timespec_get.cpp
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
R libc/src/time/linux/time.cpp
A libc/src/time/linux/timespec_get.cpp
A libc/src/time/time.cpp
A libc/src/time/timespec_get.h
A libc/src/time/windows/CMakeLists.txt
A libc/src/time/windows/clock_getres.cpp
M libc/src/unistd/dup.h
M libc/src/unistd/dup2.h
M libc/src/unistd/dup3.h
M libc/src/unistd/fork.h
M libc/src/unistd/ftruncate.h
M libc/src/unistd/getcwd.h
M libc/src/unistd/geteuid.h
M libc/src/unistd/getopt.h
M libc/src/unistd/getpid.h
M libc/src/unistd/getppid.h
M libc/src/unistd/getuid.h
M libc/src/unistd/isatty.h
M libc/src/unistd/link.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/lseek.h
M libc/src/unistd/pread.h
M libc/src/unistd/pwrite.h
M libc/src/unistd/read.h
M libc/src/unistd/readlink.h
M libc/src/unistd/readlinkat.h
M libc/src/unistd/swab.h
M libc/src/unistd/symlink.h
M libc/src/unistd/symlinkat.h
M libc/src/unistd/syscall.h
M libc/src/unistd/sysconf.h
M libc/src/unistd/truncate.h
M libc/src/unistd/write.h
M libc/test/UnitTest/MemoryMatcher.cpp
M libc/test/include/stdbit_stub.h
M libc/test/integration/startup/gpu/CMakeLists.txt
A libc/test/integration/startup/gpu/rpc_lane_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/atomic_test.cpp
M libc/test/src/__support/CPP/stringview_test.cpp
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
R libc/test/src/__support/freelist_malloc_test.cpp
M libc/test/src/__support/freelist_test.cpp
M libc/test/src/__support/freestore_test.cpp
M libc/test/src/__support/freetrie_test.cpp
M libc/test/src/__support/threads/linux/raw_mutex_test.cpp
A libc/test/src/arpa/CMakeLists.txt
A libc/test/src/arpa/inet/CMakeLists.txt
A libc/test/src/arpa/inet/htonl_test.cpp
A libc/test/src/arpa/inet/htons_test.cpp
A libc/test/src/arpa/inet/ntohl_test.cpp
A libc/test/src/arpa/inet/ntohs_test.cpp
M libc/test/src/complex/CImagTest.h
M libc/test/src/complex/CMakeLists.txt
M libc/test/src/complex/CRealTest.h
A libc/test/src/complex/ConjTest.h
A libc/test/src/complex/CprojTest.h
A libc/test/src/complex/conj_test.cpp
A libc/test/src/complex/conjf128_test.cpp
A libc/test/src/complex/conjf16_test.cpp
A libc/test/src/complex/conjf_test.cpp
A libc/test/src/complex/conjl_test.cpp
A libc/test/src/complex/cproj_test.cpp
A libc/test/src/complex/cprojf128_test.cpp
A libc/test/src/complex/cprojf16_test.cpp
A libc/test/src/complex/cprojf_test.cpp
A libc/test/src/complex/cprojl_test.cpp
M libc/test/src/ctype/isalnum_test.cpp
M libc/test/src/ctype/isalpha_test.cpp
M libc/test/src/ctype/isdigit_test.cpp
M libc/test/src/ctype/islower_test.cpp
M libc/test/src/ctype/isupper_test.cpp
M libc/test/src/ctype/isxdigit_test.cpp
M libc/test/src/ctype/tolower_test.cpp
M libc/test/src/ctype/toupper_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cosf16_test.cpp
A libc/test/src/math/sinf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/LdExpTest.h
A libc/test/src/math/smoke/cosf16_test.cpp
A libc/test/src/math/smoke/sinf16_test.cpp
A libc/test/src/math/sqrtf128_test.cpp
R libc/test/src/network/CMakeLists.txt
R libc/test/src/network/htonl_test.cpp
R libc/test/src/network/htons_test.cpp
R libc/test/src/network/ntohl_test.cpp
R libc/test/src/network/ntohs_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/string/CMakeLists.txt
R libc/test/src/string/bcmp_test.cpp
R libc/test/src/string/bcopy_test.cpp
R libc/test/src/string/bzero_test.cpp
R libc/test/src/string/index_test.cpp
R libc/test/src/string/rindex_test.cpp
R libc/test/src/string/strcasecmp_test.cpp
M libc/test/src/string/strcmp_test.cpp
R libc/test/src/string/strncasecmp_test.cpp
A libc/test/src/strings/CMakeLists.txt
A libc/test/src/strings/bcmp_test.cpp
A libc/test/src/strings/bcopy_test.cpp
A libc/test/src/strings/bzero_test.cpp
A libc/test/src/strings/index_test.cpp
A libc/test/src/strings/rindex_test.cpp
A libc/test/src/strings/strcasecmp_test.cpp
A libc/test/src/strings/strncasecmp_test.cpp
M libc/test/src/sys/mman/linux/remap_file_pages_test.cpp
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/clock_getres_test.cpp
M libc/test/src/time/time_test.cpp
A libc/test/src/time/timespec_get_test.cpp
R libc/utils/HdrGen/CMakeLists.txt
R libc/utils/HdrGen/Command.cpp
R libc/utils/HdrGen/Command.h
R libc/utils/HdrGen/Generator.cpp
R libc/utils/HdrGen/Generator.h
R libc/utils/HdrGen/IncludeFileCommand.cpp
R libc/utils/HdrGen/IncludeFileCommand.h
R libc/utils/HdrGen/Main.cpp
R libc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
R libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
R libc/utils/HdrGen/PublicAPICommand.cpp
R libc/utils/HdrGen/PublicAPICommand.h
R libc/utils/HdrGen/README.md
R libc/utils/LibcTableGenUtil/APIIndexer.cpp
R libc/utils/LibcTableGenUtil/APIIndexer.h
R libc/utils/LibcTableGenUtil/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
A libc/utils/docgen/arpa/inet.yaml
A libc/utils/docgen/assert.yaml
R libc/utils/docgen/ctype.json
A libc/utils/docgen/ctype.yaml
M libc/utils/docgen/docgen.py
A libc/utils/docgen/errno.yaml
R libc/utils/docgen/fenv.json
A libc/utils/docgen/fenv.yaml
A libc/utils/docgen/float.yaml
M libc/utils/docgen/header.py
A libc/utils/docgen/inttypes.yaml
A libc/utils/docgen/locale.yaml
R libc/utils/docgen/setjmp.json
A libc/utils/docgen/setjmp.yaml
R libc/utils/docgen/signal.json
A libc/utils/docgen/signal.yaml
R libc/utils/docgen/stdbit.json
A libc/utils/docgen/stdbit.yaml
A libc/utils/docgen/stdio.yaml
A libc/utils/docgen/stdlib.yaml
A libc/utils/docgen/string.yaml
A libc/utils/docgen/sys/mman.yaml
R libc/utils/docgen/threads.json
A libc/utils/docgen/threads.yaml
A libc/utils/docgen/uchar.yaml
A libc/utils/docgen/wchar.yaml
A libc/utils/docgen/wctype.yaml
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
M libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M libc/utils/gpu/server/CMakeLists.txt
R libc/utils/gpu/server/llvmlibc_rpc_server.h
M libc/utils/gpu/server/rpc_server.cpp
M libclc/clc/include/clc/clcmacro.h
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_fabs.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_trunc.h
A libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/lib/clspv/SOURCES
R libclc/clc/lib/clspv/dummy.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_ceil.cl
A libclc/clc/lib/generic/math/clc_fabs.cl
A libclc/clc/lib/generic/math/clc_floor.cl
A libclc/clc/lib/generic/math/clc_rint.cl
A libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/sqrt.cl
M libclc/generic/lib/math/trunc.cl
R libclc/generic/lib/math/unary_builtin.inc
A libcxx/Maintainers.md
A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
A libcxx/docs/CodingGuidelines.rst
M libcxx/docs/Contributing.rst
M libcxx/docs/DesignDocs/ExtendedCXX03Support.rst
R libcxx/docs/DesignDocs/NodiscardPolicy.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/adjacent_find.h
M libcxx/include/__algorithm/binary_search.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/find_first_of.h
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/is_heap.h
M libcxx/include/__algorithm/is_permutation.h
M libcxx/include/__algorithm/is_sorted.h
M libcxx/include/__algorithm/is_sorted_until.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/make_projected.h
M libcxx/include/__algorithm/merge.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__atomic/contention_t.h
R libcxx/include/__atomic/cxx_atomic_impl.h
M libcxx/include/__atomic/fence.h
A libcxx/include/__atomic/support.h
A libcxx/include/__atomic/support/c11.h
A libcxx/include/__atomic/support/gcc.h
M libcxx/include/__bit_reference
M libcxx/include/__chrono/duration.h
M libcxx/include/__config
M libcxx/include/__configuration/availability.h
R libcxx/include/__cxx03/CMakeLists.txt
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_n.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/in_found_result.h
M libcxx/include/__cxx03/__algorithm/in_fun_result.h
M libcxx/include/__cxx03/__algorithm/in_in_out_result.h
M libcxx/include/__cxx03/__algorithm/in_in_result.h
M libcxx/include/__cxx03/__algorithm/in_out_out_result.h
M libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/inplace_merge.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/pstl.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
M libcxx/include/__cxx03/__algorithm/ranges_all_of.h
M libcxx/include/__cxx03/__algorithm/ranges_any_of.h
M libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
M libcxx/include/__cxx03/__algorithm/ranges_clamp.h
M libcxx/include/__cxx03/__algorithm/ranges_contains.h
M libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
M libcxx/include/__cxx03/__algorithm/ranges_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
M libcxx/include/__cxx03/__algorithm/ranges_count.h
M libcxx/include/__cxx03/__algorithm/ranges_count_if.h
M libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
M libcxx/include/__cxx03/__algorithm/ranges_equal.h
M libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
M libcxx/include/__cxx03/__algorithm/ranges_fill.h
M libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
M libcxx/include/__cxx03/__algorithm/ranges_find.h
M libcxx/include/__cxx03/__algorithm/ranges_find_end.h
M libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
M libcxx/include/__cxx03/__algorithm/ranges_find_last.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
M libcxx/include/__cxx03/__algorithm/ranges_generate.h
M libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
M libcxx/include/__cxx03/__algorithm/ranges_includes.h
M libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
M libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
M libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
M libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
M libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_max.h
M libcxx/include/__cxx03/__algorithm/ranges_max_element.h
M libcxx/include/__cxx03/__algorithm/ranges_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_min.h
M libcxx/include/__cxx03/__algorithm/ranges_min_element.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
M libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
M libcxx/include/__cxx03/__algorithm/ranges_move.h
M libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_none_of.h
M libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
M libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_remove.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_sample.h
M libcxx/include/__cxx03/__algorithm/ranges_search.h
M libcxx/include/__cxx03/__algorithm/ranges_search_n.h
M libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
M libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_union.h
M libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
M libcxx/include/__cxx03/__algorithm/ranges_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
M libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
M libcxx/include/__cxx03/__algorithm/ranges_transform.h
M libcxx/include/__cxx03/__algorithm/ranges_unique.h
M libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shift_left.h
M libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/stable_partition.h
M libcxx/include/__cxx03/__algorithm/stable_sort.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__assert
M libcxx/include/__cxx03/__atomic/aliases.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/atomic_init.h
M libcxx/include/__cxx03/__atomic/atomic_lock_free.h
M libcxx/include/__cxx03/__atomic/atomic_ref.h
M libcxx/include/__cxx03/__atomic/atomic_sync.h
M libcxx/include/__cxx03/__atomic/check_memory_order.h
M libcxx/include/__cxx03/__atomic/contention_t.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/fence.h
M libcxx/include/__cxx03/__atomic/is_always_lock_free.h
M libcxx/include/__cxx03/__atomic/kill_dependency.h
M libcxx/include/__cxx03/__atomic/memory_order.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/bit_cast.h
M libcxx/include/__cxx03/__bit/bit_ceil.h
M libcxx/include/__cxx03/__bit/bit_floor.h
M libcxx/include/__cxx03/__bit/bit_log2.h
M libcxx/include/__cxx03/__bit/bit_width.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/endian.h
M libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__charconv/chars_format.h
M libcxx/include/__cxx03/__charconv/from_chars_integral.h
M libcxx/include/__cxx03/__charconv/from_chars_result.h
M libcxx/include/__cxx03/__charconv/tables.h
M libcxx/include/__cxx03/__charconv/to_chars.h
M libcxx/include/__cxx03/__charconv/to_chars_base_10.h
M libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
M libcxx/include/__cxx03/__charconv/to_chars_integral.h
M libcxx/include/__cxx03/__charconv/to_chars_result.h
M libcxx/include/__cxx03/__charconv/traits.h
M libcxx/include/__cxx03/__chrono/calendar.h
M libcxx/include/__cxx03/__chrono/concepts.h
M libcxx/include/__cxx03/__chrono/convert_to_timespec.h
M libcxx/include/__cxx03/__chrono/convert_to_tm.h
M libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/exception.h
M libcxx/include/__cxx03/__chrono/file_clock.h
M libcxx/include/__cxx03/__chrono/formatter.h
M libcxx/include/__cxx03/__chrono/hh_mm_ss.h
M libcxx/include/__cxx03/__chrono/high_resolution_clock.h
M libcxx/include/__cxx03/__chrono/leap_second.h
M libcxx/include/__cxx03/__chrono/literals.h
M libcxx/include/__cxx03/__chrono/local_info.h
M libcxx/include/__cxx03/__chrono/month.h
M libcxx/include/__cxx03/__chrono/month_weekday.h
M libcxx/include/__cxx03/__chrono/monthday.h
M libcxx/include/__cxx03/__chrono/ostream.h
M libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
M libcxx/include/__cxx03/__chrono/statically_widen.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__chrono/time_zone.h
M libcxx/include/__cxx03/__chrono/time_zone_link.h
M libcxx/include/__cxx03/__chrono/tzdb.h
M libcxx/include/__cxx03/__chrono/tzdb_list.h
M libcxx/include/__cxx03/__chrono/weekday.h
M libcxx/include/__cxx03/__chrono/year.h
M libcxx/include/__cxx03/__chrono/year_month.h
M libcxx/include/__cxx03/__chrono/year_month_day.h
M libcxx/include/__cxx03/__chrono/year_month_weekday.h
M libcxx/include/__cxx03/__chrono/zoned_time.h
M libcxx/include/__cxx03/__compare/common_comparison_category.h
M libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_three_way.h
M libcxx/include/__cxx03/__compare/compare_three_way_result.h
M libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
M libcxx/include/__cxx03/__compare/is_eq.h
M libcxx/include/__cxx03/__compare/ordering.h
M libcxx/include/__cxx03/__compare/partial_order.h
M libcxx/include/__cxx03/__compare/strong_order.h
M libcxx/include/__cxx03/__compare/synth_three_way.h
M libcxx/include/__cxx03/__compare/three_way_comparable.h
M libcxx/include/__cxx03/__compare/weak_order.h
M libcxx/include/__cxx03/__concepts/arithmetic.h
M libcxx/include/__cxx03/__concepts/assignable.h
M libcxx/include/__cxx03/__concepts/boolean_testable.h
M libcxx/include/__cxx03/__concepts/class_or_enum.h
M libcxx/include/__cxx03/__concepts/common_reference_with.h
M libcxx/include/__cxx03/__concepts/common_with.h
M libcxx/include/__cxx03/__concepts/constructible.h
M libcxx/include/__cxx03/__concepts/convertible_to.h
M libcxx/include/__cxx03/__concepts/copyable.h
M libcxx/include/__cxx03/__concepts/derived_from.h
M libcxx/include/__cxx03/__concepts/destructible.h
M libcxx/include/__cxx03/__concepts/different_from.h
M libcxx/include/__cxx03/__concepts/equality_comparable.h
M libcxx/include/__cxx03/__concepts/invocable.h
M libcxx/include/__cxx03/__concepts/movable.h
M libcxx/include/__cxx03/__concepts/predicate.h
M libcxx/include/__cxx03/__concepts/regular.h
M libcxx/include/__cxx03/__concepts/relation.h
M libcxx/include/__cxx03/__concepts/same_as.h
M libcxx/include/__cxx03/__concepts/semiregular.h
M libcxx/include/__cxx03/__concepts/swappable.h
M libcxx/include/__cxx03/__concepts/totally_ordered.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__config_site.in
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/availability.h
M libcxx/include/__cxx03/__configuration/compiler.h
A libcxx/include/__cxx03/__configuration/config_site_shim.h
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__configuration/platform.h
M libcxx/include/__cxx03/__coroutine/coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/coroutine_traits.h
M libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__exception/exception.h
M libcxx/include/__cxx03/__exception/exception_ptr.h
M libcxx/include/__cxx03/__exception/nested_exception.h
M libcxx/include/__cxx03/__exception/operations.h
M libcxx/include/__cxx03/__exception/terminate.h
M libcxx/include/__cxx03/__expected/bad_expected_access.h
M libcxx/include/__cxx03/__expected/expected.h
M libcxx/include/__cxx03/__expected/unexpect.h
M libcxx/include/__cxx03/__expected/unexpected.h
M libcxx/include/__cxx03/__filesystem/copy_options.h
M libcxx/include/__cxx03/__filesystem/directory_entry.h
M libcxx/include/__cxx03/__filesystem/directory_iterator.h
M libcxx/include/__cxx03/__filesystem/directory_options.h
M libcxx/include/__cxx03/__filesystem/file_status.h
M libcxx/include/__cxx03/__filesystem/file_time_type.h
M libcxx/include/__cxx03/__filesystem/file_type.h
M libcxx/include/__cxx03/__filesystem/filesystem_error.h
M libcxx/include/__cxx03/__filesystem/operations.h
M libcxx/include/__cxx03/__filesystem/path.h
M libcxx/include/__cxx03/__filesystem/path_iterator.h
M libcxx/include/__cxx03/__filesystem/perm_options.h
M libcxx/include/__cxx03/__filesystem/perms.h
M libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
M libcxx/include/__cxx03/__filesystem/space_info.h
M libcxx/include/__cxx03/__filesystem/u8path.h
M libcxx/include/__cxx03/__format/buffer.h
M libcxx/include/__cxx03/__format/concepts.h
M libcxx/include/__cxx03/__format/container_adaptor.h
M libcxx/include/__cxx03/__format/enable_insertable.h
M libcxx/include/__cxx03/__format/escaped_output_table.h
M libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
M libcxx/include/__cxx03/__format/format_arg.h
M libcxx/include/__cxx03/__format/format_arg_store.h
M libcxx/include/__cxx03/__format/format_args.h
M libcxx/include/__cxx03/__format/format_context.h
M libcxx/include/__cxx03/__format/format_error.h
M libcxx/include/__cxx03/__format/format_functions.h
M libcxx/include/__cxx03/__format/format_parse_context.h
M libcxx/include/__cxx03/__format/format_string.h
M libcxx/include/__cxx03/__format/format_to_n_result.h
M libcxx/include/__cxx03/__format/formatter.h
M libcxx/include/__cxx03/__format/formatter_bool.h
M libcxx/include/__cxx03/__format/formatter_char.h
M libcxx/include/__cxx03/__format/formatter_floating_point.h
M libcxx/include/__cxx03/__format/formatter_integer.h
M libcxx/include/__cxx03/__format/formatter_integral.h
M libcxx/include/__cxx03/__format/formatter_output.h
M libcxx/include/__cxx03/__format/formatter_pointer.h
M libcxx/include/__cxx03/__format/formatter_string.h
M libcxx/include/__cxx03/__format/formatter_tuple.h
M libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
M libcxx/include/__cxx03/__format/parser_std_format_spec.h
M libcxx/include/__cxx03/__format/range_default_formatter.h
M libcxx/include/__cxx03/__format/range_formatter.h
M libcxx/include/__cxx03/__format/unicode.h
M libcxx/include/__cxx03/__format/width_estimation_table.h
M libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/bind.h
M libcxx/include/__cxx03/__functional/bind_back.h
M libcxx/include/__cxx03/__functional/bind_front.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
M libcxx/include/__cxx03/__functional/compose.h
M libcxx/include/__cxx03/__functional/default_searcher.h
M libcxx/include/__cxx03/__functional/function.h
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/invoke.h
M libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/not_fn.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/perfect_forward.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/bit_reference.h
M libcxx/include/__cxx03/__fwd/complex.h
M libcxx/include/__cxx03/__fwd/deque.h
M libcxx/include/__cxx03/__fwd/format.h
M libcxx/include/__cxx03/__fwd/fstream.h
M libcxx/include/__cxx03/__fwd/functional.h
M libcxx/include/__cxx03/__fwd/ios.h
M libcxx/include/__cxx03/__fwd/istream.h
M libcxx/include/__cxx03/__fwd/mdspan.h
M libcxx/include/__cxx03/__fwd/memory.h
M libcxx/include/__cxx03/__fwd/memory_resource.h
M libcxx/include/__cxx03/__fwd/ostream.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__fwd/queue.h
M libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/sstream.h
M libcxx/include/__cxx03/__fwd/stack.h
M libcxx/include/__cxx03/__fwd/streambuf.h
M libcxx/include/__cxx03/__fwd/string.h
M libcxx/include/__cxx03/__fwd/string_view.h
M libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__fwd/tuple.h
M libcxx/include/__cxx03/__fwd/vector.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__ios/fpos.h
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/aliasing_iterator.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/common_iterator.h
M libcxx/include/__cxx03/__iterator/concepts.h
M libcxx/include/__cxx03/__iterator/counted_iterator.h
M libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__cxx03/__iterator/data.h
M libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/empty.h
M libcxx/include/__cxx03/__iterator/erase_if_container.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/incrementable_traits.h
M libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iter_move.h
M libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
M libcxx/include/__cxx03/__iterator/iterator_with_data.h
M libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/ostream_iterator.h
M libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/projected.h
M libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
M libcxx/include/__cxx03/__iterator/readable_traits.h
M libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/segmented_iterator.h
M libcxx/include/__cxx03/__iterator/size.h
M libcxx/include/__cxx03/__iterator/sortable.h
R llvm/test/ExecutionEngine/JITLink/Generic/Inputs/foo-ret-42.ll
R llvm/test/ExecutionEngine/JITLink/Generic/Inputs/var-x-42.ll
Log Message:
-----------
Rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/0fb0dcf1643e...d039926d7f0f
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