[all-commits] [llvm/llvm-project] 396343: [AIX]export function descriptor symbols related to...
Ian Wood via All-commits
all-commits at lists.llvm.org
Wed Aug 14 14:12:18 PDT 2024
Branch: refs/heads/users/bogner/sprmain.dxilanalysis-boilerplate-for-dxilresourceanalysis-pass
Home: https://github.com/llvm/llvm-project
Commit: 396343f17b1182ff8ed698beac3f9b93b1d9dabd
https://github.com/llvm/llvm-project/commit/396343f17b1182ff8ed698beac3f9b93b1d9dabd
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/utils/extract_symbols.py
Log Message:
-----------
[AIX]export function descriptor symbols related to template functions. (#101920)
This fixes regressions caused by
https://github.com/llvm/llvm-project/pull/97526
After that patch, all undefined references to DS symbol are removed.
This makes DS symbols(for template functions) have no reference in some
cases. So extract_symbols.py does not export these DS symbols for these
cases.
On AIX, exporting the function descriptor depends on references to the
function descriptor itself and the function entry symbol.
Without this fix, on AIX, we get:
```
rtld: 0712-001 Symbol _ZN4llvm15SmallVectorBaseIjE13mallocForGrowEPvmmRm was referenced
from module llvm-project/build/unittests/Passes/Plugins/TestPlugin.so(), but a runtime definition
of the symbol was not found.
```
Commit: 265fbfa063d0b31b57e7945f5be061b2a4f5baff
https://github.com/llvm/llvm-project/commit/265fbfa063d0b31b57e7945f5be061b2a4f5baff
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-08-05 (Mon, 05 Aug 2024)
Changed paths:
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a15.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add FPAC to apple- processors that have it. (#102072)
We added FPAC recently in d7e8a7487cd7 to allow ptrauth codegen to rely
on the cpu auth failure checks rather than emitting its own auth failure
check/brk sequence.
Add it to the Apple processors that do have it: A15, A16, A17, M4.
While there, tweak the description to refer to Armv8.3-A rather than
v8.3-A, matching the other features.
Commit: 421c3fe54b56608bc6b23716d1cac96c8b3c38c5
https://github.com/llvm/llvm-project/commit/421c3fe54b56608bc6b23716d1cac96c8b3c38c5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp] Point 'declared here' note of invalid fns to definition (#102031)
Commit: 1745c8e08dde9f32d0f0b701d3a6a271697458eb
https://github.com/llvm/llvm-project/commit/1745c8e08dde9f32d0f0b701d3a6a271697458eb
Author: Ryotaro KASUGA <kasuga.ryotaro at fujitsu.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
A llvm/test/CodeGen/AArch64/sms-order-physreg-deps.mir
Log Message:
-----------
[MachinePipeliner] Fix instruction order with physical register (#99264)
dependencies in same cycle
Dependency checks were insufficient when reordering instructions with
physical register dependencies (i.e. Anti/Output dependencies). This
could result in generating incorrect code.
Commit: 6e45fa95be9db5318ac7037c673c9b18a48ac5b1
https://github.com/llvm/llvm-project/commit/6e45fa95be9db5318ac7037c673c9b18a48ac5b1
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
M clang/test/CodeGen/aarch64-elf-pauthabi.c
A clang/test/CodeGen/ptrauth-init-fini.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Preprocessor/ptrauth_feature.c
M compiler-rt/lib/builtins/crtbegin.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/IR/Constants.h
M llvm/lib/IR/Constants.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/note-gnu-property-elf-pauthabi.ll
A llvm/test/CodeGen/AArch64/ptrauth-init-fini.ll
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[PAC][AArch64] Support init/fini array signing (#96478)
If both `-fptrauth-init-fini` and `-fptrauth-calls` are passed, sign
function pointers in `llvm.global_ctors` and `llvm.global_dtors` with
constant discriminator 0xD9D4
(`ptrauth_string_discriminator("init_fini")`). Additionally, if
`-fptrauth-init-fini-address-discrimination` is passed, address
discrimination is used for signing (otherwise, just constant
discriminator is used).
For address discrimination, we use it's special form since uses of
`llvm.global_{c|d}tors` are disallowed (see
`Verifier::visitGlobalVariable`) and we can't emit `getelementptr`
expressions referencing these special arrays. A signed ctor/dtor pointer
with special address discrimination applied looks like the following:
```
ptr ptrauth (ptr @foo, i32 0, i64 55764, ptr inttoptr (i64 1 to ptr))
```
Commit: c10b736931a376b86b5344cf79a148a9d1900561
https://github.com/llvm/llvm-project/commit/c10b736931a376b86b5344cf79a148a9d1900561
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/merge-sbuffer-load.mir
Log Message:
-----------
[AMDGPU] Auto-generate lit pattern for test CodeGen/AMDGPU/merge-sbuffer-load.mir. (#101618)
Commit: 19f379420b7ca5870931c10dd692aa5191878038
https://github.com/llvm/llvm-project/commit/19f379420b7ca5870931c10dd692aa5191878038
Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
Date: 2024-08-05 (Mon, 05 Aug 2024)
Changed paths:
M lld/test/MachO/lto-object-path.ll
Log Message:
-----------
[llvm-lit] Fix LLD Test when using lit internal shell (#102063)
Resolved the issue in MachO/lto-object-path.ll test where
'ZERO_AR_DATE=0' was not recognized as a command. Changed the test
command to set the environment variable correctly using 'env'. This
allows that the environment variable is set properly, allowing the test
to pass.
Commit: 37d7b06da03a46e7bbd700e3d247fdb70e97f933
https://github.com/llvm/llvm-project/commit/37d7b06da03a46e7bbd700e3d247fdb70e97f933
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/merge-sbuffer-load.mir
Log Message:
-----------
[AMDGPU][SILoadStoreOptimizer] Include constrained buffer load variants (#101619)
Use the constrained buffer load opcodes while combining under-aligned
loads for XNACK enabled subtargets.
Commit: 6e4c58052aa79048a8b18099315c7e7c8b1ca46a
https://github.com/llvm/llvm-project/commit/6e4c58052aa79048a8b18099315c7e7c8b1ca46a
Author: David Green <david.green at arm.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu.ll
Log Message:
-----------
[AArch64] Guard against non-vector abd long nodes. (#102026)
This fixes a problem if abd nodes are generated more readily (#92576).
The folding of abd nodes into abdl needs to check that the inputs are
the correct form of vector. The added test requires vector legalization
to occur in order to hit the combine at the wrong time.
Commit: 3a226dbe27ac7c7d935bc0968e84e31798a01207
https://github.com/llvm/llvm-project/commit/3a226dbe27ac7c7d935bc0968e84e31798a01207
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/unittests/BinaryFormat/MachOTest.cpp
Log Message:
-----------
[BinaryFormat] Disable MachOTest.UnalignedLC on SPARC (#100086)
As discussed in Issue #86793, the `MachOTest.UnalignedLC` test dies with
`SIGBUS` on SPARC, a strict-alignment target. It simply cannot work
there. Besides, the test invokes undefined behaviour on big-endian
targets, so this patch disables it on all of those.
Tested on `sparcv9-sun-solaris2.11` and `amd64-pc-solaris2.11`.
Commit: 41b83ca559c402d238e303c0ac233180d60dcd57
https://github.com/llvm/llvm-project/commit/41b83ca559c402d238e303c0ac233180d60dcd57
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M compiler-rt/lib/builtins/crtbegin.c
Log Message:
-----------
[compiler-rt] Fix build errors with gcc
This patch fixes:
compiler-rt/lib/builtins/crtbegin.c:11:18: error: missing binary
operator before token "("
compiler-rt/lib/builtins/crtbegin.c:53:18: error: missing binary
operator before token "("
compiler-rt/lib/builtins/crtbegin.c:124:18: error: missing binary
operator before token "("
Commit: c2f92fa3ab496a5a8edfe73297ad4f593413af27
https://github.com/llvm/llvm-project/commit/c2f92fa3ab496a5a8edfe73297ad4f593413af27
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/GraphTraits.h
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/GenericDomTreeTest.cpp
Log Message:
-----------
[Support] Store dominator tree nodes in a vector (#101705)
Use basic block numbers to store dominator tree nodes in a vector. This
avoids frequent map lookups. Use block number epochs to validate that no
renumbering occured since the tree was created; after a renumbering, the
dominator tree can be updated with updateBlockNumbers().
Block numbers, block number epoch, and max block number are fetched via
newly added GraphTraits methods. Graphs which do not implement
getNumber() for blocks will use a DenseMap for an ad-hoc numbering.
Commit: fa92d51f9e609270bf14c4bc16eb42a98183d27f
https://github.com/llvm/llvm-project/commit/fa92d51f9e609270bf14c4bc16eb42a98183d27f
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ExpandVectorPredication.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
R llvm/test/CodeGen/Generic/expand-vp-fp-intrinsics.ll
R llvm/test/CodeGen/Generic/expand-vp-gather-scatter.ll
R llvm/test/CodeGen/Generic/expand-vp-load-store.ll
R llvm/test/CodeGen/Generic/expand-vp.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
A llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-fp-intrinsics.ll
A llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-gather-scatter.ll
A llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-load-store.ll
A llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp.ll
M llvm/tools/llc/llc.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[VP] Merge ExpandVP pass into PreISelIntrinsicLowering (#101652)
Similar to #97727; avoid an extra pass over the entire IR by performing
the lowering as part of the pre-isel-intrinsic-lowering pass.
Commit: d337f5aa59fecd2413b076ed9573e378c57c1307
https://github.com/llvm/llvm-project/commit/d337f5aa59fecd2413b076ed9573e378c57c1307
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port c2f92fa3ab49
Commit: b7730a23efb222944b732bbdb3a7b965b7bffd98
https://github.com/llvm/llvm-project/commit/b7730a23efb222944b732bbdb3a7b965b7bffd98
Author: Karl-Johan Karlsson <karl-johan.karlsson at ericsson.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
Log Message:
-----------
[test] Avoid writing to a potentially write-protected dir (#102073)
The test length-errors.hlsl don't check the output written to the
current directory. The current directory may be write protected e.g. in
a sandboxed environment.
This patch simply remove the -emit-llvm option as this testcase don't
care about the outputed llvm IR.
Co-authored-by: Chris B <cbieneman at microsoft.com>
Commit: 37e75cdf9f432940cfbdcab3a3d8d93eba15bca4
https://github.com/llvm/llvm-project/commit/37e75cdf9f432940cfbdcab3a3d8d93eba15bca4
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[CodeGen] Use BasicBlock numbers to map to MBBs (#101883)
Now that basic blocks have numbers, we can replace the BB-to-MBB maps
and the visited set during ISel with vectors for faster lookup.
Commit: 4c23c1b93d8a1e9f7c0eb848d2fe4680650ad999
https://github.com/llvm/llvm-project/commit/4c23c1b93d8a1e9f7c0eb848d2fe4680650ad999
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/RegionInfoImpl.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/MIRSampleProfile.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
Log Message:
-----------
[CodeGen] Use SmallVector for MBB preds/succs (#101948)
Avoid extra heap allocations for typical predecessor/successor counts.
Commit: f57a3a0d9d4817d2ca7c3152dda331a796bebe13
https://github.com/llvm/llvm-project/commit/f57a3a0d9d4817d2ca7c3152dda331a796bebe13
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
Log Message:
-----------
[mlir][docs] Fix return type in Type/Attr printer docs (#101958)
These return `void`, not `Type` or `Attribute` respectively.
Commit: 1b8593545316971ac3f922dcb7178623b5820003
https://github.com/llvm/llvm-project/commit/1b8593545316971ac3f922dcb7178623b5820003
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: bb59f04e7e75dcbe39f1bf952304a157f0035314
https://github.com/llvm/llvm-project/commit/bb59f04e7e75dcbe39f1bf952304a157f0035314
Author: Sam James <sam at gentoo.org>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M lldb/include/lldb/Utility/AddressableBits.h
Log Message:
-----------
[LLDB] Add `<cstdint>` to AddressableBits (#102110)
Commit: b1234ddbe2652aa7948242a57107ca7ab12fd2f8
https://github.com/llvm/llvm-project/commit/b1234ddbe2652aa7948242a57107ca7ab12fd2f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/neon-abd.ll
M llvm/test/CodeGen/AArch64/sve-aba.ll
M llvm/test/CodeGen/AArch64/sve-abd.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/ARM/neon_vabd.ll
M llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
M llvm/test/CodeGen/PowerPC/vec-zext-abdu.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/rvv/abd.ll
M llvm/test/CodeGen/Thumb2/mve-vabdus.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[DAG] Add legalization handling for ABDS/ABDU (#92576)
Always match ABD patterns pre-legalization, and use TargetLowering::expandABD to expand again during legalization.
abdu(lhs, rhs) -> sub(xor(sub(lhs, rhs), usub_overflow(lhs, rhs)), usub_overflow(lhs, rhs))
Alive2: https://alive2.llvm.org/ce/z/dVdMyv
Commit: 8868c02cda875d1efe1646affa01656ef268ffed
https://github.com/llvm/llvm-project/commit/8868c02cda875d1efe1646affa01656ef268ffed
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][linalg] Relax tensor.extract vectorization (#99299)
Simplifies the vectorization of tensor.extract so that:
* all cases that read into a genuinely multi-dim vector (*) are
considered a gather load,
* all other cases are considered as potential contiguous loads.
This change means that the following extraction from a "column" tensor
will be correctly identified as a scalar load followed by a broadcast (rather
than a gather load).
```mlir
func.func @vectorize_scalar_broadcast_column_tensor(%in: tensor<1x1x4xi32>) -> tensor<1x1x4xi32> {
%c4 = arith.constant 4 : index
%c0 = arith.constant 0 : index
%cst = arith.constant dense<[...]> : tensor<15x1xi32>
%out = linalg.generic {
indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>],
iterator_types = ["parallel", "parallel", "parallel"]}
outs(%in : tensor<1x1x4xi32>) {
^bb0(%out: i32):
%idx_0 = linalg.index 0 : index
%extracted = tensor.extract %cst[%idx_0, %c0] : tensor<15x1xi32>
linalg.yield %extracted : i32
} -> tensor<1x1x4xi32>
return %out:tensor<1x1x4xi32>
}
```
(*) `vector<1x4x1xf32>` is considered as 1D vector in this context.
Commit: 3027688a77b5511447b3f060aaecbf30e4b9e63e
https://github.com/llvm/llvm-project/commit/3027688a77b5511447b3f060aaecbf30e4b9e63e
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmerge.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmerge.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmerge.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmerge.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmv.c
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Support bf16 vmv.v.v and vmerge.vvm intrinsics with `zvfbfmin` (#101611)
These two intrinsics are supported for f16 with `zvfhmin`, also support
them in bf16 to make it aligned to f16.
This resolve:
https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/349
Commit: 6a59deafde742e30daf3bf886f98afc37f00d75b
https://github.com/llvm/llvm-project/commit/6a59deafde742e30daf3bf886f98afc37f00d75b
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcompress.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrgather.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vcompress.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrgather.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vcompress.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrgather.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vcompress.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrgather.c
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/vcompress.ll
M llvm/test/CodeGen/RISCV/rvv/vrgather.ll
Log Message:
-----------
[RISCV] Support `vrgather` and `vcompress` for `zvfhmin` and `zvfbfmin` (#101633)
Support these in both C intrinsics and CodeGen, they can work with other
intrinsics in `zvfhmin` or `zvfbfmin`.
This resolve:
https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/350
Commit: 40c2aaf54e9a7b5c560bb68796d444180ad67b5d
https://github.com/llvm/llvm-project/commit/40c2aaf54e9a7b5c560bb68796d444180ad67b5d
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][sema] Correct the requirement of `vf[n|w]cvt.x[|u].f` intrinsics (#101811)
Fix https://github.com/llvm/llvm-project/issues/101526
`vf[n|w]cvt.x[|u].f` for f16 needs `zvfh` instead of `zvfhmin`, current
approach
is not able to detect this. Ultimately we need to add `zvfh` to
RequiredFeatures
to check other intrinsics instead, the type check should be done in
checkRVVTypeSupport.
Commit: a98a0dcf63f54c54c5601a34c9f8c10cde0162d6
https://github.com/llvm/llvm-project/commit/a98a0dcf63f54c54c5601a34c9f8c10cde0162d6
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetFrameLowering.h
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
A llvm/test/CodeGen/AArch64/ssve-stack-hazard-remarks.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
Log Message:
-----------
[AArch64] Add streaming-mode stack hazard optimization remarks (#101695)
Emit an optimization remark when objects in the stack frame may cause
hazards in a streaming mode function. The analysis requires either the
`aarch64-stack-hazard-size` or `aarch64-stack-hazard-remark-size` flag
to be set by the user, with the former flag taking precedence.
Commit: 673604a5398dd1732d23bcd8025987dd66b10947
https://github.com/llvm/llvm-project/commit/673604a5398dd1732d23bcd8025987dd66b10947
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M mlir/docs/Dialects/Vector.md
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Target/LLVMIR/llvmir-types.mlir
Log Message:
-----------
[mlir][vector] Update docs for scalable vectors (#101842)
Adds a few notes on scalable vectors in the docs for the Vector dialect.
This is mostly "repeating" things from LLVM's LangRef.
Additionally:
* Adds a few basic tests with scalable vectors (those should've been
added long time ago),
* Updates a comment in "TypeConverter.cpp" (the current comment is
out-of-date),
* Includes small formatting edits in Vector.md.
**NOTE** Depends on #101813 - only review the top commit
Commit: c3c2370c9a2465f57849861b13c59566b6f26daf
https://github.com/llvm/llvm-project/commit/c3c2370c9a2465f57849861b13c59566b6f26daf
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/test/Transforms/LoopIdiom/basic.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
Log Message:
-----------
[Tests] Regenerate test checks (NFC)
Commit: 59e13666dd2e81e58253488a29635fb2992ed741
https://github.com/llvm/llvm-project/commit/59e13666dd2e81e58253488a29635fb2992ed741
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix getField() for integral pointers (#102120)
Instead of just adding the Record::Field offset, instead get the
FieldDecl offset in the RecordLayout.
Unfortunately, the offset we pass to the ops here is not made to easily
go back to a FieldDecl, so we have to iterate over the parent Record.
Commit: 80721e0d6c7793eec699b5846dcf5d3ffff331a8
https://github.com/llvm/llvm-project/commit/80721e0d6c7793eec699b5846dcf5d3ffff331a8
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx10_2_512satcvtintrin.h
A clang/lib/Headers/avx10_2satcvtintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Sema/SemaX86.cpp
A clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
A clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
A clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrUtils.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
A llvm/test/CodeGen/X86/avx10_2_512satcvt-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_2satcvt-intrinsics.ll
A llvm/test/MC/Disassembler/X86/avx10.2-satcvt-32.txt
A llvm/test/MC/Disassembler/X86/avx10.2-satcvt-64.txt
A llvm/test/MC/X86/avx10.2satcvt-32-att.s
A llvm/test/MC/X86/avx10.2satcvt-32-intel.s
A llvm/test/MC/X86/avx10.2satcvt-64-att.s
A llvm/test/MC/X86/avx10.2satcvt-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX10.2] Support AVX10.2-SATCVT new instructions. (#101599)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965
Commit: d871b2e0d09b872c57139ee0e24f966d58b92d33
https://github.com/llvm/llvm-project/commit/d871b2e0d09b872c57139ee0e24f966d58b92d33
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/BasicBlockSections.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
Log Message:
-----------
[CodeGen] Use optimized domtree for MachineFunction (#102107)
The dominator tree gained an optimization to use block numbers instead
of a DenseMap to store blocks. Given that machine basic blocks already
have numbers, expose these via appropriate GraphTraits. For debugging,
block number epochs are added to MachineFunction -- this greatly helps
in finding uses of block numbers after RenumberBlocks().
In a few cases where dominator trees are preserved across renumberings,
the dominator tree is updated to use the new numbers.
Commit: aebf0855b627ab0b27b6e1d36d370ff70e72fb4e
https://github.com/llvm/llvm-project/commit/aebf0855b627ab0b27b6e1d36d370ff70e72fb4e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/cmp-diff-sized.ll
Log Message:
-----------
[SLP][NFC]Add a test with comparison for different sized integer types, NFC.
Commit: 3b050e89a21d9de48c06636bf8225988685184bd
https://github.com/llvm/llvm-project/commit/3b050e89a21d9de48c06636bf8225988685184bd
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 80721e0d6c77
Commit: d798d3b65e018977d5478685e53af85117027874
https://github.com/llvm/llvm-project/commit/d798d3b65e018977d5478685e53af85117027874
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/spec/gnu_ext.td
Log Message:
-----------
[libc] Fix incorrect tablegen for lgamma
Commit: 6e60d549d41f5651e9e0eded978810a170d0e42c
https://github.com/llvm/llvm-project/commit/6e60d549d41f5651e9e0eded978810a170d0e42c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Add foldSelectToABD helper. NFC.
Pull out of visitVSELECT to allow reuse in the future.
Commit: 617cf8a72d2ab568bf0e84452faf4e35a322b32f
https://github.com/llvm/llvm-project/commit/617cf8a72d2ab568bf0e84452faf4e35a322b32f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Targets.cpp
R clang/lib/Basic/Targets/Le64.cpp
R clang/lib/Basic/Targets/Le64.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/bitfield-access-pad.c
M clang/test/CodeGen/bitfield-access-unit.c
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
M clang/test/CodeGenCXX/bitfield-access-tail.cpp
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
Reapply "Finish deleting the le32/le64 targets" (#99079) (#101983)
This reverts commit d3f8105c65046173e20c4c59394b4a7f1bbe7627.
Halide no longer relies on this target:
https://github.com/llvm/llvm-project/pull/98497#issuecomment-2253358685
Commit: d56d808fdcae06af5d704b42b0c237d93aee3857
https://github.com/llvm/llvm-project/commit/d56d808fdcae06af5d704b42b0c237d93aee3857
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/struct-geps.ll
Log Message:
-----------
[BasicAA] Check nusw instead of inbounds
For the offset scaling, this is sufficient to guarantee nsw. The
other checks for inbounds in this file do need proper inbounds.
Commit: 4c6a89710a2580f9784408aae81f73d607d9942d
https://github.com/llvm/llvm-project/commit/4c6a89710a2580f9784408aae81f73d607d9942d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
Log Message:
-----------
[SLP][NFC]Update test checks.
Commit: 936515c7a5607f83aa0684586c7e34ab4b8387ff
https://github.com/llvm/llvm-project/commit/936515c7a5607f83aa0684586c7e34ab4b8387ff
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/exp2f16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/exp2f16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/exp2f16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/exp2f16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/exp2f16_test.cpp
Log Message:
-----------
[libc][math][c23] Add exp2f16 C23 math function (#101217)
Part of #95250.
Commit: df0f31315ec1a14f24746d5fbcea99aa67a4846d
https://github.com/llvm/llvm-project/commit/df0f31315ec1a14f24746d5fbcea99aa67a4846d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/PR32086.ll
Log Message:
-----------
[SLP][NFC]Update test checks.
Commit: 295e4f49aefb2b07501be9f845df598b3ee280f1
https://github.com/llvm/llvm-project/commit/295e4f49aefb2b07501be9f845df598b3ee280f1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
Correct a comment and update a return type; NFC
These changes were inspired by a post-commit review comment:
https://github.com/llvm/llvm-project/pull/97274#pullrequestreview-2220175564
Commit: a0fa9a308d20786ceb63b5d021c7f643ea2ef1c2
https://github.com/llvm/llvm-project/commit/a0fa9a308d20786ceb63b5d021c7f643ea2ef1c2
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[LLDB][test] Update Makefile.rules to support Windows host+Linux target (#99266)
These changes aim to support cross-compilation build on Windows host for
Linux target for API tests execution. They're not final: changes will
follow for refactoring and adjustments to make all tests pass.
Chocolatey make is recommended to be used since it is maintained better
than GnuWin32 mentioned here
https://lldb.llvm.org/resources/build.html#windows (latest GnuWin32
release is dated by 2010) and helps to avoid problems with building
tests (for example, GnuWin32 make doesn't support long paths and there
are some other failures with building for Linux with it).
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: f9b69a378cb1acfedab7252b4d4dc3d0af282d0b
https://github.com/llvm/llvm-project/commit/f9b69a378cb1acfedab7252b4d4dc3d0af282d0b
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
M clang/tools/clang-linker-wrapper/CMakeLists.txt
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M flang/tools/flang-driver/CMakeLists.txt
M lld/tools/lld/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/examples/ExceptionDemo/CMakeLists.txt
M llvm/examples/HowToUseLLJIT/CMakeLists.txt
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/CMakeLists.txt
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/CMakeLists.txt
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/CMakeLists.txt
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/CMakeLists.txt
M llvm/examples/Kaleidoscope/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter4/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter5/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter6/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter7/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter8/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter9/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITDumpObjects/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITRemovableCode/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithInitializers/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithLazyReexports/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithObjectCache/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsAddObjectFile/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsBasicUsage/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/CMakeLists.txt
M llvm/tools/bugpoint/CMakeLists.txt
M llvm/tools/llc/CMakeLists.txt
M llvm/tools/lli/CMakeLists.txt
M llvm/tools/lli/ChildTarget/CMakeLists.txt
M llvm/tools/llvm-jitlink/CMakeLists.txt
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt
M llvm/tools/llvm-lto2/CMakeLists.txt
M llvm/tools/opt/CMakeLists.txt
M llvm/unittests/Analysis/CMakeLists.txt
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
M llvm/unittests/Passes/Plugins/CMakeLists.txt
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
M mlir/tools/mlir-cpu-runner/CMakeLists.txt
M mlir/tools/mlir-opt/CMakeLists.txt
Log Message:
-----------
Revert "[CMake] Fold export_executable_symbols_* into function args. (#101741)"
This reverts commit 5c56b46a32a8856a022a54291bc9294068f7ddbd. This break
lld build when using GENERATE_DRIVER.
Commit: daf4a06e5c5531005b275b72681e04bd08e58fe4
https://github.com/llvm/llvm-project/commit/daf4a06e5c5531005b275b72681e04bd08e58fe4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
Log Message:
-----------
[SLP]Try detect strided loads, if any pointer op require extraction.
If any pointer operand of the non-cosencutive loads is an instructions
with the user, which is not part of the current graph, and, thus,
requires emission of the extractelement instruction, better to try to
detect if the load sequence can be repsented as strided load and
extractelement instructions for pointers are not required.
Reviewers: preames, RKSimon, topperc
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/101668
Commit: 4f067dc467a1f97a1b6ac420926da8bab5f243bf
https://github.com/llvm/llvm-project/commit/4f067dc467a1f97a1b6ac420926da8bab5f243bf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
Log Message:
-----------
TTI: Fix special casing vectorization costs of saturating add/sub (#97463)
Commit: 2499978aae8398023363a157185c8021c32ea363
https://github.com/llvm/llvm-project/commit/2499978aae8398023363a157185c8021c32ea363
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/IntrinsicLowering.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/salvage-value.ll
Log Message:
-----------
Convert a couple of undef placeholders to poison [NFC]
Commit: 6def5170e80c0909206c87bdffa8c6e9e760f5c5
https://github.com/llvm/llvm-project/commit/6def5170e80c0909206c87bdffa8c6e9e760f5c5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Fold `(X & Mask) == 0 ? TC : FC -> TC binop (X & Mask)` (#100437)
Alive2: https://alive2.llvm.org/ce/z/d9wV7N
Commit: 9fb196b469c9cdc5f44c0621b44289137cdd654a
https://github.com/llvm/llvm-project/commit/9fb196b469c9cdc5f44c0621b44289137cdd654a
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
A llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
A llvm/test/CodeGen/RISCV/lpad.ll
Log Message:
-----------
[RISCV] Insert simple landing pad for taken address labels. (#91855)
This patch implements simple landing pad labels ([pr]). When Zicfilp
enabled, this patch inserts `lpad 0` at the beginning of basic blocks
which are possible to be landed by indirect jumps.
This patch also supports option riscv-landing-pad-label to make users
cpable to set nonzero fixed labels. Using nonzero fixed label force
setting t2 before indirect jumps. It's less portable but more strict
than original implementation.
[pr]: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/417
Commit: de5081c15a2c48d7824b050c5f9cca6ce8ba7c97
https://github.com/llvm/llvm-project/commit/de5081c15a2c48d7824b050c5f9cca6ce8ba7c97
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 9fb196b469c9
Commit: e958456840c1663b496e5ee4a44ce73ae780f50d
https://github.com/llvm/llvm-project/commit/e958456840c1663b496e5ee4a44ce73ae780f50d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/objc.mm
Log Message:
-----------
[clang][Interp] Ignore ObjCBoxedExpr subexpr... (#102136)
... if it can't be expressed as a constant initializer.
Commit: a4837fe3c1b3507254b2ce643f9e74db02a56f4b
https://github.com/llvm/llvm-project/commit/a4837fe3c1b3507254b2ce643f9e74db02a56f4b
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[CodeGen] Allow PreISel lowering to run without TM (#102150)
Fixes #101652 after build bot failures where TM in the opt pass builder
is nullptr.
Commit: f0178d881ce61e82b49fa63dcd023eed57c0804b
https://github.com/llvm/llvm-project/commit/f0178d881ce61e82b49fa63dcd023eed57c0804b
Author: Andrey Timonin <112198242+EtoAndruwa at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[NFC][stlextras] Delete repetition of are (#101977)
Commit: cee594cf36dc6c737df61e5417a98e09d807bd06
https://github.com/llvm/llvm-project/commit/cee594cf36dc6c737df61e5417a98e09d807bd06
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
M clang/test/OpenMP/teams_num_teams_messages.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[Clang][Sema][OpenMP] Allow `num_teams` to accept multiple expressions (#99732)
By the OpenMP standard, `num_teams` clause can only accept one
expression (for now). In this patch, we extend it to allow to accept
multiple expressions when it is used with `target teams ompx_bare`
construct. This will allow to launch a multi-dim grid, same as CUDA/HIP.
Commit: 3c3ea7e751bc18cc8598955bcd853d3c34ffee2d
https://github.com/llvm/llvm-project/commit/3c3ea7e751bc18cc8598955bcd853d3c34ffee2d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/cmp-diff-sized.ll
Log Message:
-----------
[SLP]Better sorting of cmp instructions by comparing type sizes.
Currently SLP vectorizer compares cmp instructions by the type id of the
compared operands, which may failed in case of different integer types,
for example, which have same type id, but different sizes. Patch adds
comparison by type sizes to fix this.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/102132
Commit: bd576fe34285c4dcd04837bf07a89a9c00e3cd5e
https://github.com/llvm/llvm-project/commit/bd576fe34285c4dcd04837bf07a89a9c00e3cd5e
Author: Sharadh Rajaraman <r.sharadh at outlook.sg>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Options.td
A clang/test/Driver/cl-cxx20-modules.cppm
Log Message:
-----------
[clang][driver][clang-cl] Support `--precompile` and `-fmodule-*` options in Clang-CL (#98761)
This PR is the first step in improving the situation for `clang-cl`
detailed in [this LLVM Discourse
thread](https://discourse.llvm.org/t/clang-cl-exe-support-for-c-modules/72257/28).
There has been some work done in #89772. I believe this is somewhat
orthogonal.
This is a work-in-progress; the functionality has only been tested with
the [basic 'Hello World'
example](https://clang.llvm.org/docs/StandardCPlusPlusModules.html#quick-start),
and proper test cases need to be written. I'd like some thoughts on
this, thanks!
Partially resolves #64118.
Commit: 92a01683cb6633fa8b0b29128ab5937f022dd17c
https://github.com/llvm/llvm-project/commit/92a01683cb6633fa8b0b29128ab5937f022dd17c
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/test/src/math/smoke/SetPayloadTest.h
Log Message:
-----------
[libc] Enable more entrypoints for riscv (#102055)
This patch enables more entrypoints for riscv. The changes to the test cases are introduced to support rv32 which has long double but doesn't have int128
Commit: 048f35037779763963c4b4478a0884e828ea9538
https://github.com/llvm/llvm-project/commit/048f35037779763963c4b4478a0884e828ea9538
Author: Siu Chi Chan <siuchi.chan at amd.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M lld/ELF/Writer.cpp
A lld/test/ELF/hip-section-layout.s
Log Message:
-----------
Move HIP fatbin sections farther away from .text
This would avoid wasting relocation range to jump over the HIP fatbin
sections and therefore alleviate relocation overflow pressure.
Commit: b809671a4184fb279abf7ae2f75ee9117c13dd60
https://github.com/llvm/llvm-project/commit/b809671a4184fb279abf7ae2f75ee9117c13dd60
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[Serialization] Fix a warning
This patch fixes:
clang/lib/Serialization/ASTReader.cpp:11426:13: error: unused
variable '_' [-Werror,-Wunused-variable]
Commit: 9684c87d1402ea9327c1abd7f56bafed8e751f51
https://github.com/llvm/llvm-project/commit/9684c87d1402ea9327c1abd7f56bafed8e751f51
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M flang/runtime/copy.cpp
Log Message:
-----------
[flang][runtime] Fixed performance regression in CopyElement. (#102081)
Polyhedron/capacita,protein and CPU2000/facerec,wupwise showed up to
60% regression on x86 after #101421. The memcpy loops of the toAt and
fromAt arrays that are run to create the initial work item end up
being encoded as 'rep mov', and they add noticeable overhead
comparing to the total amount of work. 'rep mov' is not the best
choise for small size memcpy (e.g. when the array rank is 1 or 2,
it would be quite slow). Moreover, the rest of the stack related
setup is also noticeable for the simple cases.
I added a shortcut for the simple copy case, and also got rid
of the initial toAt/fromAt copies by allowing the CopyDescriptor
to use the external subscript storages.
Commit: 15d4a84e7977725dc0661995963a12ff8605b03c
https://github.com/llvm/llvm-project/commit/15d4a84e7977725dc0661995963a12ff8605b03c
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/lib/CodeGen/CodeGenModule.cpp
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/test/CodeGen/AArch64/note-gnu-property-elf-pauthabi.ll
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[PAC][ELF][AArch64] Encode signed GOT flag in PAuth core info (#96159)
Treat 8th bit of version value for llvm_linux platform as signed GOT
flag.
- clang: define `PointerAuthELFGOT` LangOption and set 8th bit of
`aarch64-elf-pauthabi-version` LLVM module flag correspondingly;
- llvm-readobj: print `PointerAuthELFGOT` or `!PointerAuthELFGOT` in
version description of llvm_linux platform depending on whether the flag
is set.
Commit: 6250313291c9541abe74142be86a9bb7c0d30974
https://github.com/llvm/llvm-project/commit/6250313291c9541abe74142be86a9bb7c0d30974
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/lib/Basic/Attributes.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/test/TableGen/attrs-parser-string-switches.td
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang] Fix compile-time regression from attribute arg checking change (#101768)
In 2acf77f987331c05520c5bfd849326909ffce983 code was added to use the
'full' name including syntax and scope.
Instead of building up a large string for each name, add syntax and
scope checks to the value expression in tablegen.
There is already code to generate expressions for target specific
attributes. This change refactors and adds to that code to include
syntax and scope checks.
The tablegen avoids generating the complicated expression unless there
are two attributes using the same name, otherwise the case values will
be as simple as before.
Removes the currently unused attributeHasStrictIdentifierArgAtIndex
function and the related tablegen.
Commit: b9183d0d0e24d164d3b57bf81ae911a22094e897
https://github.com/llvm/llvm-project/commit/b9183d0d0e24d164d3b57bf81ae911a22094e897
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
Log Message:
-----------
[Clang][Sema] Ensure that the selected candidate for a member function explicit specialization is more constrained than all others (#101721)
The selection of the most constrained candidate for member function
explicit specializations introduced in #88963 does not check whether the
selected candidate is more constrained than all other candidates, which
can result in ambiguities being undiagnosed. This patch addresses the
issue.
Commit: 2f28378317827afed81db1c2ce33c187ee6582a0
https://github.com/llvm/llvm-project/commit/2f28378317827afed81db1c2ce33c187ee6582a0
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/windows/entrypoints.txt
M libc/docs/overlay_mode.rst
Log Message:
-----------
[libc] Fix builds on Windows (#102162)
This PR changes several places in the CMake scripts to make libc build
on Windows. It adds the `errno` entrypoint to the Windows target.
A mistake in the overlay build doc is also fixed.
Tests still cannot be built on Windows because of the lack of osutils.
Commit: 2336ef96b3472982cd5709277375395e45910db1
https://github.com/llvm/llvm-project/commit/2336ef96b3472982cd5709277375395e45910db1
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Refactor store() and retrieve(). (#102024)
store() and retrieve() have been refactored so that the scudo headers
are abstracted away from cache operations.
Commit: 8c6a6f1a707af5bd1afd79d8aa62570b7091801a
https://github.com/llvm/llvm-project/commit/8c6a6f1a707af5bd1afd79d8aa62570b7091801a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
M libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
Log Message:
-----------
[libc] Make RPC malloc implementation return 'nullptr' on alloc failure
Summary:
`malloc` is supposed to return `nullptr` if it fails, not exit with an
error code.
Commit: f949b036610afe56fddde724ee01f64dd79814d3
https://github.com/llvm/llvm-project/commit/f949b036610afe56fddde724ee01f64dd79814d3
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/tools/llvm-readobj/ObjDumper.cpp
Log Message:
-----------
[llvm-readobj][NFC] Don't use startLine in a middle of a line in ObjDumper. (#102071)
Commit: 1d2b6d9d4d1074bac4a6ec48dd0ff4253590e34a
https://github.com/llvm/llvm-project/commit/1d2b6d9d4d1074bac4a6ec48dd0ff4253590e34a
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/GraphTraits.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[Support] Use block numbers for DomTree construction (#101706)
Similar to #101705, do the same optimization for dominator tree
construction.
Commit: b7cd564fa3ecc2a9ed0fded98c24f68e2dad63ad
https://github.com/llvm/llvm-project/commit/b7cd564fa3ecc2a9ed0fded98c24f68e2dad63ad
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/Module.h
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Module.cpp
Log Message:
-----------
[IR] Don't verify module flags on every access (#102153)
8b4306ce050bd5 introduced validity checks for every module flag access,
because the auto-upgrader uses named metadata before verifying the
module.
This causes overhead for all other accesses, and the check is, in fact,
only need at that single place. Change the upgrader to be careful when
accessing module flags before the module is verified and remove the
checks on all other occasions.
There are two tangential optimizations included: first, when querying a
specific flag, don't enumerate all other flags into a vector as well.
Second, don't use a Twine for getNamedMetadata(), which has
materialization overhead -- all call sites use simple strings that can
be implicitly converted to a StringRef.
Commit: 55ea36002bd364518c20b3ce282640c920697bf7
https://github.com/llvm/llvm-project/commit/55ea36002bd364518c20b3ce282640c920697bf7
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/decltype.cpp
Log Message:
-----------
[Clang][Sema] Make UnresolvedLookupExprs in class scope explicit specializations instantiation dependent (#100392)
A class member named by an expression in a member function that may instantiate to a static _or_ non-static member is represented by a `UnresolvedLookupExpr` in order to defer the implicit transformation to a class member access expression until instantiation. Since `ASTContext::getDecltypeType` only creates a `DecltypeType` that has a `DependentDecltypeType` as its canonical type when the operand is instantiation dependent, and since we do not transform types unless they are instantiation dependent, we need to mark the `UnresolvedLookupExpr` as instantiation dependent in order to correctly build a `DecltypeType` using the expression as its operand with a `DependentDecltypeType` canonical type. Fixes #99873.
Commit: 0c2ded670652c73cb0245b2a8ec065cd1b4f0c6f
https://github.com/llvm/llvm-project/commit/0c2ded670652c73cb0245b2a8ec065cd1b4f0c6f
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[NFC] Fix compile warning introduced in #99732
Commit: 1119a0805009501691538a28aeb9bb18b3ff911f
https://github.com/llvm/llvm-project/commit/1119a0805009501691538a28aeb9bb18b3ff911f
Author: Yeoul Na <yeoul_na at apple.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[BoundsSafety][NFC] Remove the unused parameter 'Decls' from 'Sema::C… (#102076)
…heckCountedByAttrOnField'
llvm::SmallVectorImpl<TypeCoupledDeclRefInfo> &Decls is a vector of
declarations referred to by the argument of 'counted_by' attributes and
fields. 'BuildCountAttributedArrayOrPointerType' had been made
self-contained to produce the 'Decls' within itself to allow
'TreeTransform' to invoke the function without having to call
'Sema::CheckCountedByAttrOnField' again. Thus, 'Decls' produced by
`Sema::CheckCountedByAttrOnField` is never used.
Commit: c826c074813a668de87d4aa8bfc95f9f8adf1e5f
https://github.com/llvm/llvm-project/commit/c826c074813a668de87d4aa8bfc95f9f8adf1e5f
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/test/Modules/crash-vfs-include-pch.m
Log Message:
-----------
[Test] Update clang/test/Modules/crash-vfs-include-pch.m (#102080)
Avoid the driver error for mis-using a clang cc1 flag as driver flag in
the crash test.
Commit: 3e3ea54aada44212b4e273f2fc879a419dea053f
https://github.com/llvm/llvm-project/commit/3e3ea54aada44212b4e273f2fc879a419dea053f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll
Log Message:
-----------
AMDGPU: Add some leaf intrinsics to isAlwaysUniform (#101925)
These would always be uniform anyway, but it shouldn't hurt to
mark them as always uniform. This will help use TTI::isAlwaysUniform
in place of proper uniformity analysis in trivial situations.
Commit: 0395bf7636bf0d07f662618107724c28b66c674c
https://github.com/llvm/llvm-project/commit/0395bf7636bf0d07f662618107724c28b66c674c
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/spec/llvm_libc_ext.td
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/fdiv.h
A libc/src/math/fdivf128.h
A libc/src/math/fdivl.h
A libc/src/math/ffma.h
A libc/src/math/ffmaf128.h
A libc/src/math/ffmal.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fdiv.cpp
A libc/src/math/generic/fdivf128.cpp
A libc/src/math/generic/fdivl.cpp
A libc/src/math/generic/ffma.cpp
A libc/src/math/generic/ffmaf128.cpp
A libc/src/math/generic/ffmal.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/fdiv_test.cpp
A libc/test/src/math/fdivl_test.cpp
A libc/test/src/math/ffma_test.cpp
A libc/test/src/math/ffmal_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/DivTest.h
A libc/test/src/math/smoke/fdiv_test.cpp
A libc/test/src/math/smoke/fdivf128_test.cpp
A libc/test/src/math/smoke/fdivl_test.cpp
A libc/test/src/math/smoke/ffma_test.cpp
A libc/test/src/math/smoke/ffmaf128_test.cpp
A libc/test/src/math/smoke/ffmal_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c23] Add ffma{,l,f128} and fdiv{,l,f128} C23 math functions #101089 (#101253)
- added all variations of ffma and fdiv
- will add all new headers into yaml for next patch
- only fsub is left then all basic operations for float is complete
---------
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 31a999c1ad2e24e16b85915b2a47b91627644a9e
https://github.com/llvm/llvm-project/commit/31a999c1ad2e24e16b85915b2a47b91627644a9e
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[Clang][Doc] Fix an error in `OpenMPSupport.rst`
Commit: 85bf0a6b44b9fd375027f5643fa6698001badcf4
https://github.com/llvm/llvm-project/commit/85bf0a6b44b9fd375027f5643fa6698001badcf4
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
Log Message:
-----------
[CodeGen] Fix PreISelLowering not reporting changes (#102184)
expandVectorPredication may change code, even if the intrinsic itself
remains in the code. Report changes whenever such an intrinsic is
encountered, because code could have been changed.
Another follow-up fix for #101652 to fix expensive-checks-only failure.
Commit: f55abd545d9ec26e14c7a45727c16fc97b46db3c
https://github.com/llvm/llvm-project/commit/f55abd545d9ec26e14c7a45727c16fc97b46db3c
Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
M llvm/test/CodeGen/NVPTX/load-store.ll
Log Message:
-----------
[NVPTX] Add Volta Atomic SequentiallyConsistent Load and Store Operations (#98551)
This PR Builds on #98022 .
It adds support for Volta's SequentiallyConsistent Load and Store
operations at system scope.
Commit: 642259a2f21feffb0dc048162b4ce40b1e5a303d
https://github.com/llvm/llvm-project/commit/642259a2f21feffb0dc048162b4ce40b1e5a303d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/comparisons.pass.cpp
Log Message:
-----------
[libc++][chrono][test] Fixes bogus loops. (#101890)
Changes the loop range to match similar tests and avoids zero
iterations. The original motivation to reduce the number of iterations
was to allow the test to be executed during constant evaluation.
Fixes: https://github.com/llvm/llvm-project/issues/100502
Commit: 66f4e3f8dbab78d784f776914ac30db09e431b49
https://github.com/llvm/llvm-project/commit/66f4e3f8dbab78d784f776914ac30db09e431b49
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement missing PHINode functions (#101734)
replaceIncomingBlockWith and removeIncomingValueIf are both
straightforward and done.
I'll defer copyIncomingBlocks until a couple of other changes that also
handle blocks go in.
Commit: 4dee6411e0d993fd17099bd7564276474412383e
https://github.com/llvm/llvm-project/commit/4dee6411e0d993fd17099bd7564276474412383e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/include/fstream
M libcxx/include/ios
M libcxx/include/sstream
M libcxx/include/string
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/path.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/path.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/path.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/mode.alloc.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-alloc.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.mode.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.move.mode.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/mode.alloc.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-alloc.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.mode.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.move.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.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/mode.alloc.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-alloc.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.mode.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.move.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/move_alloc.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/substr_rvalue.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_swap/swap.pass.cpp
M libcxx/test/support/operator_hijacker.h
Log Message:
-----------
[libc++] Implements LWG3130. (#101889)
This adds addressof at the required places in [input.output]. Some of
the new tests failed since string used operator& internally. These have
been fixed too.
Note the new fstream tests perform output to a basic_string instead of a
double. Using a double requires num_get specialization
num_get<CharT, istreambuf_iterator<CharT,
char_traits_operator_hijacker<CharT>>
This facet is not present in the locale database so the conversion would
fail due to a missing locale facet. Using basic_string avoids using the
locale.
As a drive-by fixes several bugs in the ofstream.cons tests. These
tested ifstream instead of ofstream with an open mode.
Implements:
- LWG3130 [input.output] needs many addressof
Closes #100246.
Commit: 07b29fc808ca0842d02cf4e973381b974bfdf19f
https://github.com/llvm/llvm-project/commit/07b29fc808ca0842d02cf4e973381b974bfdf19f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/IR/ConstantRange.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/shl.ll
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRange] Improve `shlWithNoWrap` (#101800)
Closes https://github.com/dtcxzyw/llvm-tools/issues/22.
Commit: 5e6d5c01e0ec3a2bc104cba78e9fe8e58360fb6a
https://github.com/llvm/llvm-project/commit/5e6d5c01e0ec3a2bc104cba78e9fe8e58360fb6a
Author: Natan-GabrielTiutiuIntel <101411449+Natan-GabrielTiutiuIntel at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M mlir/include/mlir/Pass/PassRegistry.h
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
Log Message:
-----------
[mlir] Add --list-passes option to mlir-opt (#100420)
Currently, the only way to see the passes that were registered is by
calling “mlir-opt --help”. However, for compilers with 500+ passes, the
help message becomes too long and sometimes hard to understand. In this
PR I add a new "--list-passes" option to mlir-opt, which can be used for
printing only the registered passes, a feature that would be extremely
useful.
Commit: 3983bf6040d4a9f477290b1f43fdd1938a4261fe
https://github.com/llvm/llvm-project/commit/3983bf6040d4a9f477290b1f43fdd1938a4261fe
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/utils/gpu/loader/Loader.h
Log Message:
-----------
[libc] Fix GPU argument vector writing `nullptr` to string
Summary:
The intention behind this code was to null terminate the `envp` string,
but it accidentally went into the string data.
Commit: e77ac42bccb8c26bbf4b74d8e92eb09e7fa1b218
https://github.com/llvm/llvm-project/commit/e77ac42bccb8c26bbf4b74d8e92eb09e7fa1b218
Author: Kevin Frei <freik at meta.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M lldb/include/lldb/Host/Config.h.cmake
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/SBDebugger.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
[lldb][debuginfod] Fix the DebugInfoD PR that caused issues when working with stripped binaries (#99362)
@walter-erquinigo found the the [PR with testing and a fix for
DebugInfoD](https://github.com/llvm/llvm-project/pull/98344) caused an
issue when working with stripped binaries.
The issue is that when you're working with split-dwarf, there are *3*
possible files: The stripped binary the user is debugging, the
"only-keep-debug" *or* unstripped binary, plus the `.dwp` file. The
debuginfod plugin should provide the unstripped/OKD binary. However, if
the debuginfod plugin fails, the default symbol locator plugin will just
return the stripped binary, which doesn't help. So, to address that, the
SymbolVendorELF code checks to see if the SymbolLocator's
ExecutableObjectFile request returned the same file, and bails if that's
the case. You can see the specific diff as the second commit in the PR.
I'm investigating adding a test: I can't quite get a simple repro, and
I'm unwilling to make any additional changes to Makefile.rules to this
diff, for Pavlovian reasons.
Commit: f133dd92f82238b978d64545302ea753a836f8fb
https://github.com/llvm/llvm-project/commit/f133dd92f82238b978d64545302ea753a836f8fb
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/src/math/generic/pow.cpp
M libc/test/src/math/pow_test.cpp
Log Message:
-----------
[libc][math] Improve the error analysis and accuracy for pow function. (#102098)
Commit: a3ccaed3b9f6a1fe9b7f2ef019259f88072639b2
https://github.com/llvm/llvm-project/commit/a3ccaed3b9f6a1fe9b7f2ef019259f88072639b2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
A flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/descriptor.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda] Allocate local descriptor in managed memory (#102060)
This patch adds entry point in the runtime to be able to allocate
descriptors in managed memory. These entry points currently only call
`CUFAllocManaged` and `CUFFreeManaged` but could be more complicated in
the future.
`cuf.alloc` and `cuf.free` related to local descriptors are converted
into runtime calls.
Commit: 36f0d64818b39973ef74e1ce49e2f234340ccd1a
https://github.com/llvm/llvm-project/commit/36f0d64818b39973ef74e1ce49e2f234340ccd1a
Author: vporpo <vporpodas at google.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement AllocaInst (#102027)
This patch implements sandboxir::AllocaInst which mirrors
llvm::AllocaInst.
Commit: ec1981f4ed86a6f954a5ea0bbfaba1c6cd19d807
https://github.com/llvm/llvm-project/commit/ec1981f4ed86a6f954a5ea0bbfaba1c6cd19d807
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M mlir/docs/Dialects/Vector.md
Log Message:
-----------
[mlir][vector] Fix link in docs (nfc)
Commit: a1af1de4380f9c4fa3b5229e9f4a41af93955c38
https://github.com/llvm/llvm-project/commit/a1af1de4380f9c4fa3b5229e9f4a41af93955c38
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/test/CodeGen/M68k/pipeline.ll
Log Message:
-----------
[M68k] Fix compilation pipeline check
- After ExpandVP pass is merged into PreISelIntrinsicLowering
Commit: 2e9f15e1dfd8bc90d0cd91157c8b3b036cee981e
https://github.com/llvm/llvm-project/commit/2e9f15e1dfd8bc90d0cd91157c8b3b036cee981e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/utils/gpu/loader/Loader.h
Log Message:
-----------
[libc] Fix index into argument vector
Commit: a0afcbfb5dd1b65459324aed0a06aed36affa67a
https://github.com/llvm/llvm-project/commit/a0afcbfb5dd1b65459324aed0a06aed36affa67a
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
Log Message:
-----------
[AMDGPU] Enable `AAAddressSpace` in `AMDGPUAttributor` (#101593)
Commit: 4b6e3e38c46f8fedb92a30b29cc9654450244e2d
https://github.com/llvm/llvm-project/commit/4b6e3e38c46f8fedb92a30b29cc9654450244e2d
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Improve debug string of `AAUnderlyingObjects` (#101861)
Commit: 2601d6f189cf1d4e4e77a7cba83e5d32c87bf079
https://github.com/llvm/llvm-project/commit/2601d6f189cf1d4e4e77a7cba83e5d32c87bf079
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-phi-in-landingpad.ll
Log Message:
-----------
[SLP]Fix PR102187: do not insert extractelement before landingpad instruction.
Landingpad instruction must be the very first instruction after the phi
nodes, so need to inser extractelement/shuffles after this instruction.
Fixes https://github.com/llvm/llvm-project/issues/102187
Commit: 0371dff99529e93b8650281801e89bc015dc2703
https://github.com/llvm/llvm-project/commit/0371dff99529e93b8650281801e89bc015dc2703
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
Log Message:
-----------
[CodeGen] Make non-COMDAT relative vtable internal instead of private (#102056)
When using the relative vtable ABI, if a vtable is not dso_local, it's
given private linkage (if not COMDAT) or hidden visibility (if COMDAT)
to make it dso_local (to place it in rodata instead of data.rel.ro), and
an alias generated with the original linkage and visibility. This alias
could later be removed from the symbol table, e.g. if using a version
script, at which point we lose all symbol information about the vtable.
Use internal linkage instead of private linkage to avoid this.
While I'm here, clarify the comment about why COMDAT vtables can't use
internal (or private) linkage, and associate it with the else block
where hidden visibility is applied instead of internal linkage.
Commit: 94d53984008bc83083fdc5b2edcd1ea4b8a9b8be
https://github.com/llvm/llvm-project/commit/94d53984008bc83083fdc5b2edcd1ea4b8a9b8be
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/Object/COFF.h
M llvm/lib/Object/COFFObjectFile.cpp
A llvm/test/tools/llvm-readobj/COFF/arm64x-reloc-invalid.yaml
A llvm/test/tools/llvm-readobj/COFF/arm64x-reloc.yaml
M llvm/test/tools/yaml2obj/COFF/load-config.yaml
M llvm/tools/llvm-readobj/COFFDumper.cpp
Log Message:
-----------
[Object][COFF][llvm-readobj] Add support for ARM64X dynamic relocations. (#97229)
Commit: af80d3a248101d6f5d9d5e229c7899136b8ce0b8
https://github.com/llvm/llvm-project/commit/af80d3a248101d6f5d9d5e229c7899136b8ce0b8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
Log Message:
-----------
[SLP]Better sorting of phi instructions by comparing type sizes (#102188)
Currently SLP vectorizer compares phi instructions by the type id of the
compared instructions, which may failed in case of different integer
types,
with the different sizes. Patch adds comparison by type sizes to fix
this.
Commit: f9060f1b7ee45ee770d3a7acdeed9f016dcc9931
https://github.com/llvm/llvm-project/commit/f9060f1b7ee45ee770d3a7acdeed9f016dcc9931
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/PhaseOrdering/varargs.ll
Log Message:
-----------
AMDGPU: Fix using wrong alloca address space in test (#102108)
Commit: 735edd98d732a492d9c55f137ee50d20e32444d1
https://github.com/llvm/llvm-project/commit/735edd98d732a492d9c55f137ee50d20e32444d1
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Object/COFFObjectFile.cpp
Log Message:
-----------
[Object][COFF] Use uintptr_t for getRvaPtr call in Arm64XRelocRef::validate.
Fixes #97229.
Commit: 0182334e7b9fc472b3f7c9e059c3743301d487d5
https://github.com/llvm/llvm-project/commit/0182334e7b9fc472b3f7c9e059c3743301d487d5
Author: Martin Storsjö <martin at martin.st>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/test/MC/ARM/Windows/branch-reloc-offset.s
Log Message:
-----------
[ARM] [Windows] Error out on branch relocations that require a symbol offset (#101906)
This adds the same kind of verification for ARM, as was added for
AArch64 in 1e7f592a890aad860605cf5220530b3744e107ba. This allows
catching issues at assembly time, instead of having the linker
misinterpret the relocations (as the linker ignores the symbol offset).
This verifies that the issue fixed by
8dd065d5bc81b0c8ab57f365bb169a5d92928f25 really is fixed, and points out
explicitly if the same issue appears elsewhere.
Note that the parameter Value in the adjustFixupValue function is offset
by 4 from the value that is stored as immediate in the instructions, so
we compare with 4, when we want to make sure that the written immediate
will be zero.
Commit: 278c0ad99ef59f227fee3675cdac5bb581e1d6bf
https://github.com/llvm/llvm-project/commit/278c0ad99ef59f227fee3675cdac5bb581e1d6bf
Author: Rose Silicon <gfunni234 at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Log Message:
-----------
[InstCombine] (NFC) Remove improper TODO for a - UMIN (#101076)
It is already handled in a different method, especially as a - UMIN(a,
b) cannot be handled by a select statement, unless it means something
like: "(c < b) ? b - ((b > c) ? c : b) : 0;" but LLVM handles that case
as well.
Commit: f9f0ae1bc47fbe76141cce63a6e92e3f3546ec9b
https://github.com/llvm/llvm-project/commit/f9f0ae1bc47fbe76141cce63a6e92e3f3546ec9b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Symbol/TestClangASTImporter.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Pass ClangASTMetadata around by value (#102161)
This patch changes the return type of `GetMetadata` from a
`ClangASTMetadata*` to a `std::optional<ClangASTMetadata>`. Except for
one call-site (`SetDeclIsForcefullyCompleted`), we never actually make
use of the mutability of the returned metadata. And we never make use of
the pointer-identity. By passing `ClangASTMetadata` by-value (the type
is fairly small, size of 2 64-bit pointers) we'll avoid some questions
surrounding the lifetimes/ownership/mutability of this metadata.
For consistency, we also change the parameter to `SetMetadata` from
`ClangASTMetadata&` to `ClangASTMetadata` (which is an NFC since we copy
the data anyway).
This came up during some changes we plan to make where we [create
redeclaration chains for decls in the LLDB
AST](https://github.com/llvm/llvm-project/pull/95100). We want to avoid
having to dig out the canonical decl of the declaration chain for
retrieving/setting the metadata. It should just be copied across all
decls in the chain. This is easier to guarantee when everything is done
by-value.
Commit: 10d7805c4f8f2226bee23c4cc021cebc2c56727e
https://github.com/llvm/llvm-project/commit/10d7805c4f8f2226bee23c4cc021cebc2c56727e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda][NFC] Disambiguate namespace with cuf dialect (#102194)
Rename namespace `Fortran::runtime::cuf` to `Fortran::runtime::cuda` to
avoid embiguity with the namespace `::cuf` that is defined in the CUF
dialect.
Commit: 388b63243c6846d3bb2e9f4d8cec228756ad1d1b
https://github.com/llvm/llvm-project/commit/388b63243c6846d3bb2e9f4d8cec228756ad1d1b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/runtime/CUDA/allocator.cpp
Log Message:
-----------
[flang][cuda] Defined allocator for unified data (#102189)
CUDA unified variable where set to use the same allocator than managed
variable. This patch adds a specific allocator for the unified
variables. Currently it will call the managed allocator underneath but
we want to have the flexibility to change that in the future.
Commit: 28fa83f8d4c0bdd11ba9687a7ffbf50c774a279f
https://github.com/llvm/llvm-project/commit/28fa83f8d4c0bdd11ba9687a7ffbf50c774a279f
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
Revert "[mlir][linalg] Relax tensor.extract vectorization" (#102232)
Reverts llvm/llvm-project#99299 because it breaks the lowering. To
repro: `mlir-opt -transform-interpreter ~/repro.mlir`
```mlir
#map = affine_map<(d0, d1) -> (d0)>
#map1 = affine_map<(d0, d1) -> (d1)>
#map2 = affine_map<(d0, d1) -> (d0, d1)>
#map3 = affine_map<(d0, d1) -> (d0 + d1)>
module {
func.func @foo(%arg0: index, %arg1: tensor<2xf32>, %arg2: tensor<4xf32>, %arg3: tensor<1xf32>) -> tensor<4x1xf32> {
%c0 = arith.constant 0 : index
%cst = arith.constant 1.000000e+00 : f32
%cst_0 = arith.constant 0.000000e+00 : f32
%0 = tensor.empty() : tensor<4x1xf32>
%1 = linalg.generic {indexing_maps = [#map, #map1, #map2], iterator_types = ["parallel", "parallel"]} ins(%arg2, %arg3 : tensor<4xf32>, tensor<1xf32>) outs(%0 : tensor<4x1xf32>) {
^bb0(%in: f32, %in_1: f32, %out: f32):
%2 = linalg.index 0 : index
%3 = linalg.index 1 : index
%4 = affine.apply #map3(%3, %arg0)
%extracted = tensor.extract %arg1[%c0] : tensor<2xf32>
%5 = arith.cmpi eq, %2, %c0 : index
%6 = arith.cmpi ult, %2, %c0 : index
%7 = arith.select %5, %cst, %in : f32
%8 = arith.select %6, %cst_0, %7 : f32
%9 = arith.cmpi eq, %4, %c0 : index
%10 = arith.cmpi ult, %4, %c0 : index
%11 = arith.select %9, %cst, %in_1 : f32
%12 = arith.select %10, %cst_0, %11 : f32
%13 = arith.mulf %8, %12 : f32
%14 = arith.mulf %13, %extracted : f32
%15 = arith.cmpi eq, %2, %4 : index
%16 = arith.select %15, %cst, %cst_0 : f32
%17 = arith.subf %16, %14 : f32
linalg.yield %17 : f32
} -> tensor<4x1xf32>
return %1 : tensor<4x1xf32>
}
}
module attributes {transform.with_named_sequence} {
transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) {
%0 = transform.structured.match ops{["linalg.generic"]} in %arg1 : (!transform.any_op) -> !transform.any_op
transform.structured.vectorize %0 : !transform.any_op
transform.yield
}
}
```
Commit: 4c97c52fe05bb2fda4584cea4738d59db31329dc
https://github.com/llvm/llvm-project/commit/4c97c52fe05bb2fda4584cea4738d59db31329dc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
A llvm/test/TableGen/SubtargetFeatureUniqueNames.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Emit better error message for duplicate Subtarget features. (#102090)
- Keep track of last definition of a feature in a `DenseMap` and use
it to report a better error message when a duplicate feature is found.
- Use StringMap instead of a std::map in `EmitStageAndOperandCycleData`
- Add a unit test to check if duplicate names are flagged.
Commit: 6b47772a4bb5d11f881afcae5f4ef0fd597cd8d8
https://github.com/llvm/llvm-project/commit/6b47772a4bb5d11f881afcae5f4ef0fd597cd8d8
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/lib/ProfileData/PGOCtxProfReader.cpp
M llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
[nfc][ctx_prof] Rename `PGOContextualProfile` to `PGOCtxProfContext` (#102209)
Commit: e7efa323be30dcb604847159817f6c67c657f1a5
https://github.com/llvm/llvm-project/commit/e7efa323be30dcb604847159817f6c67c657f1a5
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M lld/test/wasm/lto/stub-library.s
M lld/wasm/Driver.cpp
M lld/wasm/InputFiles.cpp
Log Message:
-----------
[lld][WebAssembly] Fix stub library deps causing LTO archive members to be required post-LTO (#101894)
Fixes: https://github.com/emscripten-core/emscripten/issues/16836
Commit: ce2a3d9042c95630f12b790bf201c4daf8941afb
https://github.com/llvm/llvm-project/commit/ce2a3d9042c95630f12b790bf201c4daf8941afb
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/test/Fir/box-typecode.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/tbaa.fir
M flang/test/Lower/allocatable-polymorphic.f90
Log Message:
-----------
[flang] Match the type of the element size in the box in getValueFromBox (#100512)
Currently, `%17 = fir.box_elesize %16 :
(!fir.class<!fir.ptr<!fir.type<_QFTt{a:i32,b:i32}>>>) -> i32`
is translated to
```
%4 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, ptr, [1 x i64] }, ptr %1, i32 0, i32 1
%5 = load i32, ptr %4, align 4
```
The type of the element size is `i64`. The load essentially truncates
the value and yields incorrect result in the big endian environment. The
problem occurs in the `storage_size` intrinsic on a polymorphic
variable.
Commit: 0d471b3f64d3116bd57c79d872f7384fff80daa5
https://github.com/llvm/llvm-project/commit/0d471b3f64d3116bd57c79d872f7384fff80daa5
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetFrameLowering.h
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.h
M llvm/test/CodeGen/X86/apx/push2-pop2-vector-register.ll
M llvm/test/CodeGen/X86/apx/push2-pop2.ll
M llvm/test/CodeGen/X86/apx/pushp-popp.ll
M llvm/test/CodeGen/X86/avx512-intel-ocl.ll
A llvm/test/CodeGen/X86/clobber_base_ptr.ll
A llvm/test/CodeGen/X86/clobber_frame_ptr.ll
A llvm/test/CodeGen/X86/clobber_frame_ptr_x32.ll
M llvm/test/CodeGen/X86/i386-baseptr.ll
M llvm/test/CodeGen/X86/inline-asm-function-call-pic.ll
M llvm/test/CodeGen/X86/x86-32-intrcc.ll
M llvm/test/CodeGen/X86/x86-64-baseptr.ll
M llvm/test/CodeGen/X86/x86-64-flags-intrinsics.ll
Log Message:
-----------
Spill/restore FP/BP around instructions in which they are clobbered (#81048)
This patch fixes https://github.com/llvm/llvm-project/issues/17204.
If a base pointer is used in a function, and it is clobbered by an
instruction (typically an inline asm), current register allocator can't
handle this situation, so BP becomes garbage after those instructions.
It can also occur to FP in theory.
We can spill and reload FP/BP registers around those instructions. But
normal spill/reload instructions also use FP/BP, so we can't spill them
into normal spill slots, instead we spill them into the top of stack by
using SP register.
Commit: e76028a11fd3195a3170c1b0cb308e62e73a05a3
https://github.com/llvm/llvm-project/commit/e76028a11fd3195a3170c1b0cb308e62e73a05a3
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/gfx10_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx10_err_pos.s
M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
Log Message:
-----------
[AMDGPU] Add parseStringOrIntWithPrefix helper in asm parser (#102213)
When we have a modifier with a value (like dst_sel:DWORD for example) we
only accept symbolic values. SP3 allows to use numberic constants as
well. Adding a helper function to allow both.
Besides the compatibility it is easier to use.
Commit: f83a89c1b1ce78cfac1de1c72a03b234d2a844b6
https://github.com/llvm/llvm-project/commit/f83a89c1b1ce78cfac1de1c72a03b234d2a844b6
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Turn non-empty CFI StateStack assert into a warning (#102216)
clang-15 can produce binaries with mismatched RememberState/RestoreState
CFIs. This is benign for unwinding, so replace an assert with a warning.
Commit: 8dfa651a6325760ecd21618c762a1dad9ec79333
https://github.com/llvm/llvm-project/commit/8dfa651a6325760ecd21618c762a1dad9ec79333
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/address_space-dependent.cpp
Log Message:
-----------
[Clang] Fix crash when transforming a `DependentAddressSpaceType` (#102206)
We were forgetting to pass the `TypeLocBuilder` along to
`TransformType`, causing us to complain if we then tried to build a
`DependentAddressSpaceTypeLoc` because the inner `TypeLoc` was
missing from the TLB.
Fixes #101685.
Commit: 874890c68241f500501c42730c2829a5d51f2100
https://github.com/llvm/llvm-project/commit/874890c68241f500501c42730c2829a5d51f2100
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
Add __size_returning_new variant detection to TLI. (#101564)
Add support to detect __size_returning_new variants defined inproposal
P0901R5 to extend to operator new, see
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0901r5.html for
details.
This PR matches the declarations exported by tcmalloc in
https://github.com/google/tcmalloc/blob/f2516691d01051defc558679f37720bba88d9862/tcmalloc/malloc_extension.h#L707-L711
Commit: 128ef9eb533afd00da2d3d2cfeab16de6abf2640
https://github.com/llvm/llvm-project/commit/128ef9eb533afd00da2d3d2cfeab16de6abf2640
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M lldb/include/lldb/Target/ThreadPlanSingleThreadTimeout.h
M lldb/include/lldb/Target/TimeoutResumeAll.h
M lldb/source/Target/ThreadPlanSingleThreadTimeout.cpp
Log Message:
-----------
Fix ASAN failure in TestSingleThreadStepTimeout.py (#102208)
This PR fixes the ASAN failure in
https://github.com/llvm/llvm-project/pull/90930.
The original PR made the assumption that parent
`ThreadPlanStepOverRange`'s lifetime will always be longer than
`ThreadPlanSingleThreadTimeout` leaf plan so it passes the
`m_timeout_info` as reference to it.
>From the ASAN failure, it seems that this assumption may not be true
(likely the thread stack is holding a strong reference to the leaf
plan).
This PR fixes this lifetime issue by using shared pointer instead of
passing by reference.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 03958680b23dafd961ea0606c77d8e6bc8d80781
https://github.com/llvm/llvm-project/commit/03958680b23dafd961ea0606c77d8e6bc8d80781
Author: yonghong-song <yhs at fb.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/test/CodeGen/BPF/objdump_atomics.ll
M llvm/test/CodeGen/BPF/objdump_cond_op.ll
M llvm/test/CodeGen/BPF/objdump_imm_hex.ll
M llvm/test/CodeGen/BPF/objdump_static_var.ll
M llvm/test/MC/BPF/insn-unit.s
M llvm/test/MC/BPF/load-store-32.s
Log Message:
-----------
[BPF] Make llvm-objdump disasm default cpu v4 (#102166)
Currently, with the following example,
$ cat t.c
void foo(int a, _Atomic int *b)
{
*b &= a;
}
$ clang --target=bpf -O2 -c -mcpu=v3 t.c
$ llvm-objdump -d t.o
t.o: file format elf64-bpf
Disassembly of section .text:
0000000000000000 <foo>:
0: c3 12 00 00 51 00 00 00 <unknown>
1: 95 00 00 00 00 00 00 00 exit
Basically, the default cpu for llvm-objdump is v1 and it won't be able
to decode insn properly.
If we add --mcpu=v3 to llvm-objdump command line, we will have
$ llvm-objdump -d --mcpu=v3 t.o
t.o: file format elf64-bpf
Disassembly of section .text:
0000000000000000 <foo>:
0: c3 12 00 00 51 00 00 00 w1 = atomic_fetch_and((u32 *)(r2 + 0x0), w1)
1: 95 00 00 00 00 00 00 00 exit
The atomic_fetch_and insn can be decoded properly. Using latest cpu
version --mcpu=v4 can also decode properly like the above --mcpu=v3.
To avoid the above '<unknown>' decoding with common 'llvm-objdump -d
t.o', this patch marked the default cpu for llvm-objdump with the
current highest cpu number v4 in ELFObjectFileBase::tryGetCPUName(). The
cpu number in ELFObjectFileBase::tryGetCPUName() will be adjusted in the
future if cpu number is increased e.g. v5 etc. Such an approach also
aligns with gcc-bpf as discussed in [1].
Six bpf unit tests are affected with this change. I changed test output
for three unit tests and added --mcpu=v1 for the other three unit tests,
to demonstrate the default (cpu v4) behavior and explicit --mcpu=v1
behavior.
[1]
https://lore.kernel.org/bpf/6f32c0a1-9de2-4145-92ea-be025362182f@linux.dev/T/#m0f7e63c390bc8f5a5523e7f2f0537becd4205200
Co-authored-by: Yonghong Song <yonghong.song at linux.dev>
Commit: 53d33d3ba5eedac8fccb9d36576cd667800a4a38
https://github.com/llvm/llvm-project/commit/53d33d3ba5eedac8fccb9d36576cd667800a4a38
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
Log Message:
-----------
[Attributor] Fix an issue that an access is skipped by mistake (#101862)
When we check if an access can be skipped, there is a case that an
inter-procedural interference access exists after a dominant write.
Currently we
rely on `AAInterFnReachability` to tell if the access can be reachable.
If it is
not, we can safely skip the access. However, it is based on an
assumption that
the AA exists. It is possible that the AA doesn't exist. In this case,
we can't
safely assume the acess can be skipped because we have to assume the
access can
reach. This can happen when `AAInterFnReachability` is not in the
allowed AA
list when creating the attributor, such as AMDGPUAttributor.
Co-authored-by: Mark de Wever <koraq at xs4all.nl>
Commit: 030ee841a9c9fbbd6e7c001e751737381da01f7b
https://github.com/llvm/llvm-project/commit/030ee841a9c9fbbd6e7c001e751737381da01f7b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
R clang/test/Driver/linker-wrapper-passes.c
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
Revert "[LinkerWrapper] Extend with usual pass options (#96704)" (#102226)
This reverts commit 90ccf2187332ff900d46a58a27cb0353577d37cb.
Fixes: https://github.com/llvm/llvm-project/issues/100212
Commit: 5120c5161aaa96fff4a31bef584d4ada55cd789f
https://github.com/llvm/llvm-project/commit/5120c5161aaa96fff4a31bef584d4ada55cd789f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
[gn] port e77ac42bccb8
Commit: 47bf996abe4fafa8192c78c472d68c6519349e90
https://github.com/llvm/llvm-project/commit/47bf996abe4fafa8192c78c472d68c6519349e90
Author: Nico Weber <thakis at chromium.org>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
Revert "[gn build] Manually port 90ccf21"
This reverts commit 46307f1a84bf832f32938c8ad2dc0605441a5319.
90ccf21 was reverted in 030ee841a9c.
Commit: 7a68449a82ab1c1ab005caa72c1d986ca5deca36
https://github.com/llvm/llvm-project/commit/7a68449a82ab1c1ab005caa72c1d986ca5deca36
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
A llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
Log Message:
-----------
Reapply "[Attributor][AMDGPU] Enable AAIndirectCallInfo for AMDAttributor (#100952)"
This reverts commit 874cd100a076f3b98aaae09f90ef224682501538.
Commit: b64ec3c9faf0adce6e92c69fb48a7c7473c57200
https://github.com/llvm/llvm-project/commit/b64ec3c9faf0adce6e92c69fb48a7c7473c57200
Author: tcwzxx <tcwzxx at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/stores_mix_sizes.ll
Log Message:
-----------
[SLP] The order of store chains needs to consider the size of the values. (#101810)
When store chains have the same value type ID and pointer type ID, they
may mix different sizes of values, such as i8 and i64. This can lead to
missed vectorization opportunities.
Commit: 15895daa6862ad15bfac18b03811d066d4550713
https://github.com/llvm/llvm-project/commit/15895daa6862ad15bfac18b03811d066d4550713
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/selectcc-to-shiftand.ll
Log Message:
-----------
[RISCV] Limit (and (sra x, c2), c1) -> (srli (srai x, c2-c3), c3) isel in some cases. (#102034)
If x is a shl by 32 and c1 is an simm12, we would prefer to use a
SRAIW+ANDI. This prevents selecting the slli to a separate slli
instruction.
Fixes regression from #101868
Commit: 5518b46c128e344a6b67c72965f229ab3e625c34
https://github.com/llvm/llvm-project/commit/5518b46c128e344a6b67c72965f229ab3e625c34
Author: Ding Fei <fding at feysh.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Remove trailing return testing on lambda proto (#101031)
Lambdas without trailing return could also have return type defined
inside its body.
This fixes crashes (infinite recursion) on lambda expr without
parameters (no parentheses).
Commit: a58f20b5ca41dacd51c2157ac7eec99b93013087
https://github.com/llvm/llvm-project/commit/a58f20b5ca41dacd51c2157ac7eec99b93013087
Author: Ding Fei <fding at feysh.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] support import return with UnaryTransformType (#101517)
This fixes infinite recursion crash on return with UnaryTransformType,
whose underlying type is a SubstTemplateTypeParmType which is
associated with current imported function.
Commit: ee870e593a82a6478ff1d8b3f1bd8a45aa1bf650
https://github.com/llvm/llvm-project/commit/ee870e593a82a6478ff1d8b3f1bd8a45aa1bf650
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan.h
Log Message:
-----------
[compiler-rt] [HWASan] leave BufferedStackTrace uninit (#102247)
Otherwise we have to memset 2040 bytes (255 * 8) for each call to a
malloc-like function.
This caused noticable slowdown on AOSP.
Commit: 81d8273978ace8b9a2b8cfd811b94e95f9560ac5
https://github.com/llvm/llvm-project/commit/81d8273978ace8b9a2b8cfd811b94e95f9560ac5
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/src/time/mktime.cpp
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Fix overflow check for 32-bit mktime. (#101993)
The 32-bit time_t rolls over to a value with its high bit set at
2038-01-19 03:14:07. The overflow check for this in mktime() was
checking each individual component of the time: reject if year>2038, or
if month>1, or if day>19, etc. As a result it would reject valid times
before the overflow point, because a low-order component was out of
range even though a higher-order one makes the time as a whole safe. The
earliest failing value is 2145916808 == 2038-01-01 00:00:08, in which
only the seconds field 'overflows'.
Fixed so that if any component is _less_ than its threshold value, we
don't check the lower-order components.
Commit: 03841e7ab847b279d65be707a8e0f2799fd69f50
https://github.com/llvm/llvm-project/commit/03841e7ab847b279d65be707a8e0f2799fd69f50
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/docs/dev/undefined_behavior.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/pthread_spinlock_t.h
M libc/newhdrgen/yaml/pthread.yaml
M libc/spec/posix.td
M libc/src/__support/threads/spin_lock.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_spin_destroy.cpp
A libc/src/pthread/pthread_spin_destroy.h
A libc/src/pthread/pthread_spin_init.cpp
A libc/src/pthread/pthread_spin_init.h
A libc/src/pthread/pthread_spin_lock.cpp
A libc/src/pthread/pthread_spin_lock.h
A libc/src/pthread/pthread_spin_trylock.cpp
A libc/src/pthread/pthread_spin_trylock.h
A libc/src/pthread/pthread_spin_unlock.cpp
A libc/src/pthread/pthread_spin_unlock.h
M libc/test/integration/src/pthread/CMakeLists.txt
M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
A libc/test/integration/src/pthread/pthread_spinlock_test.cpp
Log Message:
-----------
[libc] add spin lock family functions (#100509)
This PR:
- add entrypoints for `pthread_spin_*`
- additionally, the fixes a typo that has been disabling lock related
tests
Commit: e546430959dfe2bc02685eb1d3601bd3f2e5321c
https://github.com/llvm/llvm-project/commit/e546430959dfe2bc02685eb1d3601bd3f2e5321c
Author: Julius Alexandre <juliuswoosebert at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement UnreachableInst (#101856)
This patch implements the `UnreachableInst` instruction in SandboxIR. Mirroring `llvm::UnreachableInst`.
Commit: 90e1c292e3745acdd2b89ac9aafdfdaaa7f13f6c
https://github.com/llvm/llvm-project/commit/90e1c292e3745acdd2b89ac9aafdfdaaa7f13f6c
Author: Julius Alexandre <juliuswoosebert at gmail.com>
Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths:
M llvm/lib/SandboxIR/SandboxIR.cpp
Log Message:
-----------
[SandboxIR][NFC] Add missing getTopmostLLVMInstruction() (#102266)
`getTopmostLLVMInstruction()` was missing in a couple of places, this patch made sure to add them.
Commit: 41491c77231e9d389ef18593be1fab4f4e810e88
https://github.com/llvm/llvm-project/commit/41491c77231e9d389ef18593be1fab4f4e810e88
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.cpp
Log Message:
-----------
[CodeGen] Allocate RegAllocHints map lazily (#102186)
This hint map is not required whenever a new register is added, in fact,
at -O0, it is not used at all. Growing this map is quite expensive, as
SmallVectors are not trivially copyable.
Grow this map only when hints are actually added to avoid multiple grows
and grows when no hints are added at all.
Commit: 89db3bbd27ddc5ec980799c987dafd167c5a4564
https://github.com/llvm/llvm-project/commit/89db3bbd27ddc5ec980799c987dafd167c5a4564
Author: cceerczw <chengzhiwei6 at huawei.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
Log Message:
-----------
[AArch64] Fix MatchDup Lane Out Of Range In AArch64 (#101275)
The original code is intended to process pattern which ISEL generated.
The purpose of this pattern is duplicate a scalar value to vector
register which behavior like AArch64's Dup Inst.
See Url https://reviews.llvm.org/D81979 &&
https://reviews.llvm.org/D81221
The current code considers only the preceding situation which just
duplicate from Shuffle's LHS but does not consider the user code. RHS
should be considered.
Commit: 0564d0665b302d1c7861e03d2995612f46613a0f
https://github.com/llvm/llvm-project/commit/0564d0665b302d1c7861e03d2995612f46613a0f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/WebAssembly/offset.ll
Log Message:
-----------
[SDAG] Transfer gep nusw/nuw to SDAG
The resulting add is nuw if either the gep was nuw or it was
nusw+nneg. Previously only inbounds+nneg was handled.
Test via wasm load offsets, which seems to most directly expose
these SDAG flags.
Commit: 734c0488b6e69300adaf568f880f40b113ae02ca
https://github.com/llvm/llvm-project/commit/734c0488b6e69300adaf568f880f40b113ae02ca
Author: sinan <sinan.lin at linux.alibaba.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/dynamic-relocs-on-entry.s
Log Message:
-----------
[BOLT] Support map other function entry address (#101466)
Allow BOLT to map the old address to a new binary address if the old
address is the entry of the function.
Commit: 441b672bbdc68ad88036f3e258759854c8283adb
https://github.com/llvm/llvm-project/commit/441b672bbdc68ad88036f3e258759854c8283adb
Author: Giuseppe Rossini <giuseppe.rossini at amd.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-branchop-interface.mlir
M mlir/test/Dialect/Linalg/detensorize_entry_block.mlir
M mlir/test/Dialect/Linalg/detensorize_if.mlir
M mlir/test/Dialect/Linalg/detensorize_while.mlir
M mlir/test/Dialect/Linalg/detensorize_while_impure_cf.mlir
M mlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
M mlir/test/Transforms/canonicalize-block-merge.mlir
M mlir/test/Transforms/canonicalize-dce.mlir
M mlir/test/Transforms/make-isolated-from-above.mlir
A mlir/test/Transforms/test-canonicalize-merge-large-blocks.mlir
Log Message:
-----------
[mlir] Fix block merging (#102038)
With this PR I am trying to address:
https://github.com/llvm/llvm-project/issues/63230.
What changed:
- While merging identical blocks, don't add a block argument if it is
"identical" to another block argument. I.e., if the two block arguments
refer to the same `Value`. The operations operands in the block will
point to the argument we already inserted. This needs to happen to all
the arguments we pass to the different successors of the parent block
- After merged the blocks, get rid of "unnecessary" arguments. I.e., if
all the predecessors pass the same block argument, there is no need to
pass it as an argument.
- This last simplification clashed with
`BufferDeallocationSimplification`. The reason, I think, is that the two
simplifications are clashing. I.e., `BufferDeallocationSimplification`
contains an analysis based on the block structure. If we simplify the
block structure (by merging and/or dropping block arguments) the
analysis is invalid . The solution I found is to do a more prudent
simplification when running that pass.
**Note-1**: I ran all the integration tests
(`-DMLIR_INCLUDE_INTEGRATION_TESTS=ON`) and they passed.
**Note-2**: I fixed a bug found by @Dinistro in #97697 . The issue was
that, when looking for redundant arguments, I was not considering that
the block might have already some arguments. So the index (in the block
args list) of the i-th `newArgument` is `i+numOfOldArguments`.
Commit: efd71d921396c71adb2362d91fd9cdfbac21abc2
https://github.com/llvm/llvm-project/commit/efd71d921396c71adb2362d91fd9cdfbac21abc2
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/src/time/time_utils.h
Log Message:
-----------
[libc] Allow time conversions to compile on bare metal (#102014)
The `<time.h>` functions `asctime`, `gmtime`, `mktime` and their `_r`
variants are purely computational functions which convert between well
defined time representations and/or strings. There's no reason these
shouldn't be available in bare-metal builds of the library as well as
hosted ones: even if the library has no way to find out the time in
POSIX format, it might still see POSIX-style `time_t` values in input
data (e.g. network protocols) and need to interpret them.
The only obstacle to this was that the `out_of_range()` helper function
set `errno` to `EOVERFLOW`, which fails in a bare-metal build because
the extra POSIX error values aren't defined, including `EOVERFLOW`. So
I've made that assignment conditional on `EOVERFLOW` being defined.
Fixes #85556.
Commit: 199c400387a5492e021925ef42ea744ccf7812de
https://github.com/llvm/llvm-project/commit/199c400387a5492e021925ef42ea744ccf7812de
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
Log Message:
-----------
[JITLink][AArch64] Add LD64_GOTPAGE_LO15 rel support (#100854)
This relocation is used in order to address GOT entries using 15 bit
offset in ldr instruction. The offset is calculated relative to GOT
section page address.
Commit: eb7da59588c5ea0ee2b3dea9a7b618adaf11a33c
https://github.com/llvm/llvm-project/commit/eb7da59588c5ea0ee2b3dea9a7b618adaf11a33c
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/DebugInfo/Generic/sroa-extract-bits.ll
M llvm/test/Transforms/InstCombine/dbg-scalable-store-fixed-frag.ll
M llvm/test/Transforms/InstCombine/debuginfo.ll
M llvm/test/Transforms/Mem2Reg/dbg_declare_to_value_conversions.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-vla-2.ll
Log Message:
-----------
[debuginfo] replace usage of undef with poison as placeholder [NFC]
Commit: 9c51e518034027061050b5c7faefc01900c070d4
https://github.com/llvm/llvm-project/commit/9c51e518034027061050b5c7faefc01900c070d4
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
A llvm/test/Transforms/StructurizeCFG/loop-break-phi.ll
Log Message:
-----------
[Tests] Copy while-break test to StructurizeCFG (#102118)
Copied from AMDGPU tests to show IR changes in later PR.
Commit: fc157522c5680b0ff982442bc8043c1e8c998161
https://github.com/llvm/llvm-project/commit/fc157522c5680b0ff982442bc8043c1e8c998161
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/PowerPC/common-chain.ll
M llvm/test/Transforms/LICM/hoist-binop.ll
Log Message:
-----------
[LICM] Prevent fold and hoist of binary ops with over 2 uses (#102114)
This limits folding and hoisting associative binary ops to cases where
the intermediate op has at most two uses.
The more uses the intermediate op has, the more new ops we have to
create to potentially reduce the loop's critical path. We keep the limit
to two uses to minimise undesirable increases in code size.
Commit: 9dae7fcc927de7ae9878d4c32cb15770271fa8e3
https://github.com/llvm/llvm-project/commit/9dae7fcc927de7ae9878d4c32cb15770271fa8e3
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
A llvm/test/CodeGen/AArch64/ptrauth-basic-pic.ll
A llvm/test/CodeGen/AArch64/ptrauth-elf-globals-pic.ll
A llvm/test/CodeGen/AArch64/ptrauth-extern-weak.ll
A llvm/test/CodeGen/AArch64/ptrauth-got-abuse.ll
A llvm/test/CodeGen/AArch64/ptrauth-tagged-globals-pic.ll
A llvm/test/MC/AArch64/adrp-auth-relocation.s
M llvm/test/MC/AArch64/arm64-elf-relocs.s
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
[PAC][CodeGen][ELF][AArch64] Support signed GOT (#96164)
Depends on #96158 and #96159
Support the following relocations and assembly operators:
- `R_AARCH64_AUTH_ADR_GOT_PAGE` (`:got_auth:` for `adrp`)
- `R_AARCH64_AUTH_LD64_GOT_LO12_NC` (`:got_auth_lo12:` for `ldr`)
- `R_AARCH64_AUTH_GOT_ADD_LO12_NC` (`:got_auth_lo12:` for `add`)
`LOADgotAUTH` pseudo-instruction is introduced which is later expanded
to actual instruction sequence like the following.
```
adrp x16, :got_auth:sym
add x16, x16, :got_auth_lo12:sym
ldr x0, [x16]
autia x0, x16
```
If a resign is requested, like below, `LOADgotPAC` pseudo is used, and
GOT load is lowered similarly to `LOADgotAUTH`.
```
@var = global i32 0
define ptr @resign_globalvar() {
ret ptr ptrauth (ptr @var, i32 3, i64 43)
}
```
Both SelectionDAG and GlobalISel are suppported. For FastISel, we fall
back to SelectionDAG.
Tests starting with 'ptrauth-' have corresponding variants w/o this
prefix.
See also specification
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#appendix-signed-got
Commit: cb89457ff825926f0004711bef3d534df1f5576d
https://github.com/llvm/llvm-project/commit/cb89457ff825926f0004711bef3d534df1f5576d
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/test/Dialect/Vector/vector-contract-to-matrix-intrinsics-transforms.mlir
Log Message:
-----------
[nlir][vector] Constrain `ContractionOpToMatmulOpLowering` (#102225)
Disables `ContractionOpToMatmulOpLowering` for scalable vectors. This
pattern is meant to enable lowering to `llvm.matrix.multiply` - I'm not
aware of any use of that in the context of scalable vectors.
Commit: a1c6467bd90905d52cf8f6162b60907f8e98a704
https://github.com/llvm/llvm-project/commit/a1c6467bd90905d52cf8f6162b60907f8e98a704
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Config.h
M lld/ELF/InputFiles.cpp
A lld/test/ELF/arm-mixed-plts.s
Log Message:
-----------
[lld][ARM] Fix assertion when mixing ARM and Thumb objects (#101985)
Previously, we selected the Thumb2 PLT sequences if any input object is
marked as not supporting the ARM ISA, which then causes assertion
failures when calls from ARM code in other objects are seen. I think the
intention here was to only use Thumb PLTs when the target does not have
the ARM ISA available, signalled by no objects being marked as having it
available. To do that we need to track which ISAs we have seen as we
parse the build attributes, and defer the decision about PLTs until all
input objects have been parsed.
This bug was triggered by real code in picolibc, which have some
versions of string.h functions built with Thumb2-only build attributes,
so that they are compatible with v7-A, v7-R and v7-M.
Fixes #99008.
Commit: 96d824d935d631a4c28133f9f8f1f583eefd040d
https://github.com/llvm/llvm-project/commit/96d824d935d631a4c28133f9f8f1f583eefd040d
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[ARM] Enable cfi-icall for thumb triples (#102126)
Support for this was added back in 2016
(https://reviews.llvm.org/D27499), but never enabled in the driver.
Since then, it's been possible to enable this with an arm triple and the
-mthumb option, but not with a thumb triple.
This also caused -fsanitise=cfi to enable cfi-icall for arm triple but
not thumb triples, which caused spurious sanitiser failures if mixing
the two ISAs in one program.
Commit: d06303ffc1f3b2023532fd426734e9435f87d038
https://github.com/llvm/llvm-project/commit/d06303ffc1f3b2023532fd426734e9435f87d038
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/test/CodeGen/ARM/setjmp-bti-basic.ll
Log Message:
-----------
[ARM] t2CALL_BTI pseudo-inst clobbers LR (#102117)
The t2CALL_BTI pseudo-instruction expands to a tBL instruction, so needs
the same implicit uses and defs as it.
Commit: 8fd5dafc748669a8e4116368fa08b0d1facedfd2
https://github.com/llvm/llvm-project/commit/8fd5dafc748669a8e4116368fa08b0d1facedfd2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Object/COFFObjectFile.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: c84a936516228cabc08d1ae6da6b9c3830005c64
https://github.com/llvm/llvm-project/commit/c84a936516228cabc08d1ae6da6b9c3830005c64
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Object/COFFObjectFile.cpp
Log Message:
-----------
Remove unnecessary break to fix static analysis warning.
Commit: 79daad3479fa4eb9d704ba2e6814c1b74302d740
https://github.com/llvm/llvm-project/commit/79daad3479fa4eb9d704ba2e6814c1b74302d740
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Object/COFFObjectFile.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.
Commit: 6c8933e1a095028d648a5a26aecee0f569304dd0
https://github.com/llvm/llvm-project/commit/6c8933e1a095028d648a5a26aecee0f569304dd0
Author: sinan <sinan.lin at linux.alibaba.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/update-weak-reference-symbol.s
Log Message:
-----------
[BOLT] Skip PLT search for zero-value weak reference symbols (#69136)
Take a common weak reference pattern for example
```
__attribute__((weak)) void undef_weak_fun();
if (&undef_weak_fun)
undef_weak_fun();
```
In this case, an undefined weak symbol `undef_weak_fun` has an address
of zero, and Bolt incorrectly changes the relocation for the
corresponding symbol to symbol at PLT, leading to incorrect runtime
behavior.
Commit: e8429986c8f2b1e00fdc51187df9d434a093e9b4
https://github.com/llvm/llvm-project/commit/e8429986c8f2b1e00fdc51187df9d434a093e9b4
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
Log Message:
-----------
AMDGPU/GlobalISel: Add test for fma_mix with source from unmerge (#102129)
When selecting fma_mix with operand that comes from G_UNMERGE_VALUES,
there is a bug where folded register is operand 0 of G_UNMERGE_VALUES.
Source modifiers are correctly selected.
isExtractHiElt returns G_UNMERGE_VALUES that defines source register
but does not specify which operand.
Commit: 269cefbc02986d460eee44a4e95024261be87656
https://github.com/llvm/llvm-project/commit/269cefbc02986d460eee44a4e95024261be87656
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
Log Message:
-----------
AMDGPU/GlobalISel: Fix isExtractHiElt when selecting fma_mix (#102130)
isExtractHiElt should return new source register instead of returning
instruction that defines it. Src = MI.getOperand(0).getReg() is not
correct when MI(for example G_UNMERGE_VALUES) defines multiple registers.
Refactor existing code to work with source registers only.
Commit: 77534291fcbd2c784c54e39a60895e4f60f19742
https://github.com/llvm/llvm-project/commit/77534291fcbd2c784c54e39a60895e4f60f19742
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/State.h
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/vectors.cpp
M clang/test/CodeGenCXX/temporaries.cpp
A clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
Log Message:
-----------
[clang][ExprConst] allow single element access of vector object to be constant expression (#101126)
This is a slightly updated version of https://github.com/llvm/llvm-project/pull/72607,
originally authored by @yuanfang-chen
Commit: 3c87f66b7e642790cafd877ff6b1fcb8a712c66a
https://github.com/llvm/llvm-project/commit/3c87f66b7e642790cafd877ff6b1fcb8a712c66a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
A llvm/test/Analysis/BasicAA/nusw_nuw_nonneg.ll
Log Message:
-----------
[BasicAA] Make use of nusw+nuw -> nneg implication (#102141)
If the GEP is both nuw and inbounds/nusw, the offset is non-negative.
Pass this information to CastedValue and make use of it when determining
the value range.
Proof for nusw+nuw->nneg: https://alive2.llvm.org/ce/z/a_CKAw
Proof for the test case: https://alive2.llvm.org/ce/z/yJ3ymP
Commit: f7e1efe8bcea14686d1c303e058f687b6ca1c79f
https://github.com/llvm/llvm-project/commit/f7e1efe8bcea14686d1c303e058f687b6ca1c79f
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
Log Message:
-----------
[LLVM][ISel][SVE] Add patterns for merging reverse subtracts. (#101488)
vselect cond, ([f]sub b, a), a ==> [f]subr cond, a, b
Commit: 441f94f4bdf6e2b9747ec12194c595098d9c3a5b
https://github.com/llvm/llvm-project/commit/441f94f4bdf6e2b9747ec12194c595098d9c3a5b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/reduced-value-replace-extractelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-gather-non-scheduled-extracts.ll
Log Message:
-----------
[SLP]Fix PR102279: check the tracked values for extractelements, not the original values
If the reduced value was replaced by the extractelement instruction
during vectorization and we attempt to check if this is so, need to
check the tracked value, not the original (deleted) instruction.
Otherwise, the compiler may crash
Fixes https://github.com/llvm/llvm-project/issues/102279
Commit: f05e8186a439cf538f383dfbde68eca364a5acec
https://github.com/llvm/llvm-project/commit/f05e8186a439cf538f383dfbde68eca364a5acec
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Fix BooleanToSignedIntegral casts for IntAP(S) (#102302)
We were not doing the final Neg here.
Commit: 3ac5f5e1fc189d0cca169a409199fdaec13112d1
https://github.com/llvm/llvm-project/commit/3ac5f5e1fc189d0cca169a409199fdaec13112d1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystem] Pass ClangASTMetadata by-value when creating record/objc types (#102296)
This is a follow-up to https://github.com/llvm/llvm-project/pull/102161
where we changed the `GetMetadata`/`SetMetadata` APIs to pass
`ClangASTMetadata` by-value, instead of `ClangASTMetadata *`, which
wasn't a very friendly API.
This patch continues from there and changes
`CreateRecordType`/`CreateObjCClass` to take the metadata by-value as
well.
As a drive-by change, I also changed `DelayedAddObjCClassProperty` to
store the metadata by-value, instead of in a `std::unique_ptr`, which
AFAICT, was done solely due to the TypeSystemClang APIs taking the
metadata by pointer. This meant we could also get rid of the
user-provided copy constructors.
Commit: b74182edaeeddfb10930e44048bf6b16704c45d9
https://github.com/llvm/llvm-project/commit/b74182edaeeddfb10930e44048bf6b16704c45d9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
Log Message:
-----------
[llvm-reduce] Handle new flags in complexity score
This has gotten out of sync with the actual flag reduction. It's
not particularly important though, as it only seems to be used to
determine whether to do another round of delta reduction.
Commit: 8a5f33fd12621c8ac0def0481700246a34f4f674
https://github.com/llvm/llvm-project/commit/8a5f33fd12621c8ac0def0481700246a34f4f674
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
Log Message:
-----------
[mlir][ArmSME] Update `OuterProductFusion` to account for recent changes (#102125)
- Use vector.interleave rather than the LLVM intrinsic
- Remove dependency on LLVM dialect
- Remove manual outerproduct erases (these are now trivially dead)
- Remove comment explaining issues with previous tile allocator
- Update pipeline in `multi-tile-matmul-mixed-types.mlir`
Recent changes: #90448, #80965
Commit: 750b12f06badc4cdf767139c70090db62358bb44
https://github.com/llvm/llvm-project/commit/750b12f06badc4cdf767139c70090db62358bb44
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT] Move ADRRelaxationPass (#101371)
For non-simple functions we need nop instruction to be presented to
transform ADR to ADRP+ADD sequence, so run this pass before remove nops
pass.
Commit: 25acc16fe29abe9a0310f63149732860b1bd9e07
https://github.com/llvm/llvm-project/commit/25acc16fe29abe9a0310f63149732860b1bd9e07
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/CMakeLists.txt
Log Message:
-----------
[BOLT][RUNTIME][NFC] Fix aarch64 match (#100866)
One of the problems related to #93151 is probably that aarch64 target
might have different names in different env, so extend aarch64 cmake cpu
match with different name aliases.
Commit: 097ddd3565f830e6cb9d0bb8ca66844b7f3f3cbb
https://github.com/llvm/llvm-project/commit/097ddd3565f830e6cb9d0bb8ca66844b7f3f3cbb
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/Inputs/build_id.ldscript
A bolt/test/AArch64/build_id.c
A bolt/test/X86/Inputs/build_id.yaml
A bolt/test/X86/build_id.test
Log Message:
-----------
[BOLT] Fix relocations handling (#100890)
After porting BOLT to RISCV some of the relocations were broken on both
AArch64 and X86.
On AArch64 the example of broken relocations would be GOT, during
handling them, we should replace the symbol to __BOLT_got_zero in order
to address GOT entry, not the symbol that addresses this entry. This is
done further in code, so it is too early to add rel here.
On X86 it is a mistake to add relocations without addend. This is the
exact problem that is raised on #97937. Due to different code generation
I had to use gcc-generated yaml test, since with clang I wasn't able to
reproduce problem.
Added tests for both architectures and made the problematic condition
riscV-specific.
Commit: a4900f0d936f0e86bbd04bd9de4291e1795f1768
https://github.com/llvm/llvm-project/commit/a4900f0d936f0e86bbd04bd9de4291e1795f1768
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/Inputs/got_end_of_section_symbol.lld_script
A bolt/test/AArch64/got_end_of_section_symbol.s
M bolt/test/X86/section-end-sym.s
Log Message:
-----------
[BOLT] Abort on out-of-section symbols in GOT (#100801)
This patch aborts BOLT execution if it finds out-of-section (section
end) symbol in GOT table. In order to handle such situations properly in
future, we would need to have an arch-dependent way to analyze
relocations or its sequences, e.g., for ARM it would probably be ADRP +
LDR analysis in order to get GOT entry address. Currently, it is also
challenging because GOT-related relocation symbols are replaced to
__BOLT_got_zero. Anyway, it seems to be quite a rare case, which seems
to be only? related to static binaries. For the most part, it seems that
it should be handled on the linker stage, since static binary should not
have GOT table at all. LLD linker with relaxations enabled would replace
instruction addresses from GOT directly to target symbols, which
eliminates the problem.
Anyway, in order to achieve detection of such cases, this patch fixes a
few things in BOLT:
1. For the end symbols, we're now using the section provided by ELF
binary. Previously it would be tied with a wrong section found by symbol
address.
2. The end symbols would have limited registration we would only
add them in name->data GlobalSymbols map, since using address->data
BinaryDataMap map would likely be impossible due to address duality of
such symbols.
3. The outdated BD->getSection (currently returning refence, not
pointer) check in postProcessSymbolTable is replaced by getSize check in
order to allow zero-sized top-level symbols if they are located in
zero-sized sections. For the most part, such things could only be found
in tests, but I don't see a reason not to handle such cases.
4. Updated section-end-sym test and removed x86_64 requirement since
there is no reason for this (tested on aarch64 linux)
The test was provided by peterwaller-arm (thank you) in #100096 and
slightly modified by me.
Commit: e3778a5d0ee78f3161f1d060c6db1c0dd0de6c4e
https://github.com/llvm/llvm-project/commit/e3778a5d0ee78f3161f1d060c6db1c0dd0de6c4e
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-08-07 (Wed, 07 Aug 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/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/getpayloadl.cpp
A libc/src/math/getpayloadl.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/GetPayloadTest.h
A libc/test/src/math/smoke/getpayloadl_test.cpp
Log Message:
-----------
[libc][math] Add getpayloadl function. (#102214)
Commit: 0c25f85e5b88102363c0cd55e1946053d5827e99
https://github.com/llvm/llvm-project/commit/0c25f85e5b88102363c0cd55e1946053d5827e99
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add sifive-p470 processor (#102022)
This is an OOO core that has a vector unit. For more information see
https://www.sifive.com/cores/performance-p450-470.
Use the existing P400 scheduler model. This model is missing accurate
vector scheduling support, but it will be added in a follow up patch.
Other tunings can come in future patches too.
Commit: fca69838caf19854769ada21a71da91fcfcbde73
https://github.com/llvm/llvm-project/commit/fca69838caf19854769ada21a71da91fcfcbde73
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
A mlir/include/mlir/Dialect/Tensor/IR/ShardingInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/InferTypeOpInterface.h
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
A mlir/lib/Dialect/Tensor/IR/ShardingInterfaceImpl.cpp
M mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
M mlir/test/Dialect/Linalg/mesh-spmdization.mlir
M mlir/test/Dialect/Mesh/canonicalization.mlir
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Mesh/simplifications.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
A mlir/test/Dialect/Tensor/mesh-spmdization.mlir
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
Log Message:
-----------
[mlir][mesh] adding shard-size control (#98145)
- Replacing `#mesh.sharding` attribute with operation `mesh.sharding`
- extended semantics now allow providing optional `halo_sizes` and
`sharded_dims_sizes`
- internally a sharding is represented as a non-IR class
`mesh::MeshSharding`
What previously was
```mlir
%sharded0 = mesh.shard %arg0 <@mesh0, [[0]]> : tensor<4x8xf32>
%sharded1 = mesh.shard %arg1 <@mesh0, [[0]]> annotate_for_users : tensor<16x8xf32>
```
is now
```mlir
%sharding = mesh.sharding @mesh0, [[0]] : !mesh.sharding
%0 = mesh.shard %arg0 to %sharding : tensor<4x8xf32>
%1 = mesh.shard %arg1 to %sharding annotate_for_users : tensor<16x8xf32>
```
and allows additional annotations to control the shard sizes:
```mlir
mesh.mesh @mesh0 (shape = 4)
%sharding0 = mesh.sharding @mesh0, [[0]] halo_sizes = [1, 2] : !mesh.sharding
%0 = mesh.shard %arg0 to %sharding0 : tensor<4x8xf32>
%sharding1 = mesh.sharding @mesh0, [[0]] sharded_dims_sizes = [3, 5, 5, 3] : !mesh.sharding
%1 = mesh.shard %arg1 to %sharding1 annotate_for_users : tensor<16x8xf32>
```
- `mesh.shard` op accepts additional optional attribute `force`, useful
for halo updates
- Some initial spmdization support for the new semantics
- Support for `tensor.empty` reacting on `sharded_dims_sizes` and
`halo_sizes` in the sharding
- New collective operation `mesh.update_halo` as a spmdized target for
shardings with `halo_sizes`
@sogartar @yaochengji
Commit: f05efd034c0993c7aa606bfbaaf575d94d75b43f
https://github.com/llvm/llvm-project/commit/f05efd034c0993c7aa606bfbaaf575d94d75b43f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
Log Message:
-----------
[lldb][ClangExpressionParser][NFC] Remove unused local vars
These got removed in `d6cbcf93b227befaad00957a56acd63c837c26ff` but
mistakenly added back when rebasing `12e3a06cb7615fbd91031420f3dec2a85d7877d6`
Commit: 30a4e9e5bec9ea88bd63d5b69d90218b45b5fd65
https://github.com/llvm/llvm-project/commit/30a4e9e5bec9ea88bd63d5b69d90218b45b5fd65
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/TableGen/SubtargetFeatureUniqueNames.td
Log Message:
-----------
[NFC] Temporarily disable failing TableGen unit test. (#102308)
- This test was reported as failing in ASAN builds, with
non-deterministic order of the error message and note expected.
- This is due to llvm::sort() being unstable.
- Temporarily disable the test while its been fixed.
Commit: baf77036f6244ee23f77e61f986f083dd2334b6a
https://github.com/llvm/llvm-project/commit/baf77036f6244ee23f77e61f986f083dd2334b6a
Author: Chinmay Deshpande <cddeshpa at uci.edu>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/MCA/Stages/InOrderIssueStage.h
M llvm/lib/MCA/Stages/InOrderIssueStage.cpp
Log Message:
-----------
`InOrderIssueStage` for llvm-mca should be generic over LSUnitBase (#101534)
Other HardwareUnits (such as the
[Scheduler](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/MCA/HardwareUnits/Scheduler.h#L71))
and Stages (such as
[RetireStage](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/MCA/Stages/RetireStage.h#L32))
are generic over `LSUnitBase` rather than the specialized `LSUnit`.
Commit: fc66eaa24f8c594c340410847bc3e4a4b9c1f994
https://github.com/llvm/llvm-project/commit/fc66eaa24f8c594c340410847bc3e4a4b9c1f994
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/Basic/IdentifierTable.cpp
Log Message:
-----------
[NFC] Format TokenKey enum (#101700)
This is to fix the white-space formatting of the TokenKey enum
Commit: b209eda621bc53e58509d05fa392cb724fa6bd6e
https://github.com/llvm/llvm-project/commit/b209eda621bc53e58509d05fa392cb724fa6bd6e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/include/llvm-libc-macros/limits-macros.h
Log Message:
-----------
[libc] Define `MB_LEN_MAX` in `limits.h` (#102246)
Summary:
This is supposed to define the maximum bytes required to store a char in
any locale. There's some question about what this should be set to. I
believe because the proposed solution for `locale.h` is to only support
the default locale, we should do what `musl` does and set it to `4`
which covers up to UTF-32.
Fixes https://github.com/llvm/llvm-project/issues/79358
Commit: 6b6abf0556d73ba55526cf084f81246d8aa4d56b
https://github.com/llvm/llvm-project/commit/6b6abf0556d73ba55526cf084f81246d8aa4d56b
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
Log Message:
-----------
[DAG][NFC] Remove unnecessary default arguments (#100737)
Commit: 3c391a640dae1c9884cb564ef9d73d367ea4bf48
https://github.com/llvm/llvm-project/commit/3c391a640dae1c9884cb564ef9d73d367ea4bf48
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/include/llvm-libc-macros/float-macros.h
Log Message:
-----------
[libc] Add `*_HAS_SUBNORM` to `float.h` (#102182)
Summary:
These should be defined, since we provide `float.h` it will override the
Clang resource dir and not provide it.
Commit: 3645ca58f4529bf7d0aefb6e6872f0e9cbe22fa4
https://github.com/llvm/llvm-project/commit/3645ca58f4529bf7d0aefb6e6872f0e9cbe22fa4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
Log Message:
-----------
[libc] Enable quick_exit routines on the GPU (#102242)
Summary:
We should be able to use these on the GPU just like exit.
Commit: f343fee8c5c9526b3cf62ee6d450c44b69a47e87
https://github.com/llvm/llvm-project/commit/f343fee8c5c9526b3cf62ee6d450c44b69a47e87
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libcxx/test/std/numerics/c.math/hermite.pass.cpp
Log Message:
-----------
[libcxx][test][z/OS] Fix hermite.pass.cpp for HEX float (#101019)
The HEX float on z/OS does not have infinity nor NaN. In addition, the
limits are smaller before the overflow occurs in mathematical
calculations. This PR accounts for this.
FYI, this LIT test was recently added in PR
[89982](https://github.com/llvm/llvm-project/pull/89982)
Commit: 36467bfe89f231458eafda3edb916c028f1f0619
https://github.com/llvm/llvm-project/commit/36467bfe89f231458eafda3edb916c028f1f0619
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
R llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
Log Message:
-----------
Revert "Reapply "[Attributor][AMDGPU] Enable AAIndirectCallInfo for AMDAttributor (#100952)""
This reverts commit 7a68449a82ab1c1ab005caa72c1d986ca5deca36.
https://lab.llvm.org/buildbot/#/builders/123/builds/3205
Commit: 53609b90815a323c532da244d57feed656178e0b
https://github.com/llvm/llvm-project/commit/53609b90815a323c532da244d57feed656178e0b
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
Log Message:
-----------
[analyzer][NFC] Prune a very obsolete comment about CoreEngine (#101173)
Once upon a time, a long time (16 years) ago there were two classes
called `GREngineImpl` and `template <class CHECKER> GrEngine`. As the
years passed, they were merged into a single class that went through
several renames, but this comment still preserved the memory of their
old relationship... until now.
Commit: fc737368fe6e27d6ecf76e522cb43a32aaca992a
https://github.com/llvm/llvm-project/commit/fc737368fe6e27d6ecf76e522cb43a32aaca992a
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
Log Message:
-----------
[mlir] Fix -Wunused-variable in MeshOps.cpp (NFC)
/llvm-project/mlir/lib/Dialect/Mesh/IR/MeshOps.cpp:182:16:
error: unused variable 'inAxis' [-Werror,-Wunused-variable]
auto inAxis = dimSz % inShape.size();
^
Commit: 59338ad8c5154769ec8225db0386956161f99fce
https://github.com/llvm/llvm-project/commit/59338ad8c5154769ec8225db0386956161f99fce
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/exp10f16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/exp10f16.cpp
M libc/src/math/generic/exp2f16.cpp
A libc/src/math/generic/expxf16.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/exp10f16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/exp10f16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/exp10f16_test.cpp
Log Message:
-----------
[libc][math][c23] Add exp10f16 C23 math function (#101588)
Part of #95250.
Commit: d07f106e512c08455b76cc1889ee48318e73c810
https://github.com/llvm/llvm-project/commit/d07f106e512c08455b76cc1889ee48318e73c810
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/test/CodeGen/PowerPC/aix-base-pointer.ll
Log Message:
-----------
[PPC][AIX] Save/restore r31 when using base pointer (#100182)
When the base pointer r30 is used to hold the stack pointer, r30 is
spilled in the prologue. On AIX registers are saved from highest to
lowest, so r31 also needs to be saved.
Fixes https://github.com/llvm/llvm-project/issues/96411
Commit: 3968942f1046d59b4dc4529fddff6d75a5668c2e
https://github.com/llvm/llvm-project/commit/3968942f1046d59b4dc4529fddff6d75a5668c2e
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
R mlir/include/mlir/Dialect/Tensor/IR/ShardingInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/InferTypeOpInterface.h
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
R mlir/lib/Dialect/Tensor/IR/ShardingInterfaceImpl.cpp
M mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
M mlir/test/Dialect/Linalg/mesh-spmdization.mlir
M mlir/test/Dialect/Mesh/canonicalization.mlir
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Mesh/simplifications.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
R mlir/test/Dialect/Tensor/mesh-spmdization.mlir
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
Log Message:
-----------
Revert "[mlir][mesh] adding shard-size control (#98145)"
This reverts commit fca69838caf19854769ada21a71da91fcfcbde73.
Also reverts the fixup: "[mlir] Fix -Wunused-variable in MeshOps.cpp (NFC)"
This reverts commit fc737368fe6e27d6ecf76e522cb43a32aaca992a.
Commit: beb37e2e22b549b361be7269a52a3715649e956a
https://github.com/llvm/llvm-project/commit/beb37e2e22b549b361be7269a52a3715649e956a
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-exchange-fence.ll
Log Message:
-----------
[AArch64] Don't replace dst of SWP instructions with (X|W)ZR (#102139)
This change updates the AArch64DeadRegisterDefinition pass to ensure it
does not replace the destination register of a SWP instruction with the
zero register when its value is unused. This is necessary to ensure that
the ordering of such instructions in relation to DMB.LD barries adheres
to the definitions of the AArch64 Memory Model.
The memory model states the following (ARMARM version DDI 0487K.a
§B2.3.7):
```
Barrier-ordered-before
An effect E1 is Barrier-ordered-before an effect E2 if one of the following applies:
[...]
* All of the following apply:
- E1 is a Memory Read effect.
- E1 is generated by an instruction whose destination register is not WZR or XZR.
- E1 appears in program order before E3.
- E3 is either a DMB LD effect or a DSB LD effect.
- E3 appears in program order before E2.
```
Prior to this change, by replacing the destination register of such SWP
instruction with WZR/XZR, the ordering relation described above was
incorrectly removed from the generated code.
The new behaviour is ensured in this patch by adding the relevant
`SWP[L](B|H|W|X)` instructions to list in the `atomicReadDroppedOnZero`
predicate, which already covered the `LD<Op>` instructions that are
subject to the same effect.
Fixes #68428.
Commit: 06a808c4f4014edfeb2517bddd0bcb63eb4a260b
https://github.com/llvm/llvm-project/commit/06a808c4f4014edfeb2517bddd0bcb63eb4a260b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/utils/gpu/server/CMakeLists.txt
Log Message:
-----------
[libc] Fix bot accidentally picking up conflicting MB_LEN_MAX
Commit: c31ac810910ac87531de636ea508abec6e29e8ff
https://github.com/llvm/llvm-project/commit/c31ac810910ac87531de636ea508abec6e29e8ff
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/insertelement.ll
Log Message:
-----------
[InstSimplify] Fold (insertelement Splat(C), C, X) -> Splat(C) (#102315)
The index doesn't matter here.
Commit: 999bab711e19b897bb7d86433f72f1b8eeaa4891
https://github.com/llvm/llvm-project/commit/999bab711e19b897bb7d86433f72f1b8eeaa4891
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
Log Message:
-----------
[SimplifyCFG] Add tests for sinking of load/store + gep (NFC)
Commit: bfef7ccf03dc072e5e076500743318b7db5b9a33
https://github.com/llvm/llvm-project/commit/bfef7ccf03dc072e5e076500743318b7db5b9a33
Author: Pradeep Kumar <pradeepku at nvidia.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/fence-proxy-tensormap.ll
Log Message:
-----------
[LLVM][NVPTX] Add NVPTX codegen support for fence.proxy.tensormap (#100748)
This commit adds LLVM Intrinsics and NVPTX codegen support for
`fence.proxy.tensormap` with lit tests under fence-proxy-tensormap.ll.
Also, added Intrinsics documentation in NVPTXUsage.rst
---------
Co-authored-by: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Commit: 12fa4b17dcededbd14abfc3ae72f1b798349e847
https://github.com/llvm/llvm-project/commit/12fa4b17dcededbd14abfc3ae72f1b798349e847
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lldb/source/Core/Progress.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Make sure that a `Progress` "completed" update is always reported at destruction (#102097)
Make all `Progress` destructions to cause `progressEnd` events,
regardless of the value of `m_completed` before the destruction.
Currently, a `Progress` instance with `m_completed != 0 && m_complete !=
m_total` will cause a `progressUpdate` event (not `progressEnd`) at
destruction and. This contradicts with the classdoc: "a progress completed
update is reported even if the user doesn't explicitly cause one to be sent."
Commit: 7634a96589637186b640a0441c0544a9868d9913
https://github.com/llvm/llvm-project/commit/7634a96589637186b640a0441c0544a9868d9913
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-bounds.f90
Log Message:
-----------
[flang][acc] Improve lowering of Fortran optional in data clause (#102224)
Fortran optional arguments are effectively null references. To deal with
this possibility, flang lowering of OpenACC data clauses creates three
if-else regions when preparing the data pointer for the data clause:
1) Load box value from box reference
2) Load box addr from box value
3) Load box dims from box value
However, this pattern makes it more complicated to find the original box
reference. Effectively, the first if-else region to get the box value is
not needed - since the value can be loaded before the corresponding
`fir.box_addr` and `fir.box_dims` operations. Thus, reduce the number of
if-else regions by deferring the box load to the use sites.
For non-optional cases, the old functionality is left alone - which
preloads the box value.
Commit: f126bc984ce4d17473f76d507e31c12a91e84b5b
https://github.com/llvm/llvm-project/commit/f126bc984ce4d17473f76d507e31c12a91e84b5b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/utils/gpu/server/rpc_server.cpp
Log Message:
-----------
[libc] Fix conflict values from internal `limits.h` when used externally
Commit: d60008d861d2f5e6a73c4b5d403e1132e41e1704
https://github.com/llvm/llvm-project/commit/d60008d861d2f5e6a73c4b5d403e1132e41e1704
Author: Nhat Nguyen <hoangnhat2911 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M mlir/python/requirements.txt
Log Message:
-----------
[mlir] [python] Update PyYAML minimum version to 5.4 and limit ml_dtypes to 0.4.0 (#102178)
PyYAML 5.3.1 has a security vulnerability as described here:
https://nvd.nist.gov/vuln/detail/CVE-2020-14343. Update the minimum
PyYAML version to 5.4. Also limit ml_dtypes version to 0.4.0.
Commit: 4859c46761f2278e9c4c45596a32bcec8109a3e7
https://github.com/llvm/llvm-project/commit/4859c46761f2278e9c4c45596a32bcec8109a3e7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
Log Message:
-----------
Fix gcc Wparentheses warning. NFC.
Commit: 8b522992a94b7dd4a027bfc2c462f24aa93edbac
https://github.com/llvm/llvm-project/commit/8b522992a94b7dd4a027bfc2c462f24aa93edbac
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
Log Message:
-----------
Fix gcc Wparentheses warning. NFC.
Commit: 13c61ddc210b8743493d2f1450d0dbea0533b892
https://github.com/llvm/llvm-project/commit/13c61ddc210b8743493d2f1450d0dbea0533b892
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang][NFC] Restore "Non-comprehensive list of changes in this release" in ReleaseNotes (#102134)
This was removed in 10c6d6349e51bb245b9deec4aafca9885971135b
Commit: 97743b8be86ab96afb26ba93e1876406c1f4d541
https://github.com/llvm/llvm-project/commit/97743b8be86ab96afb26ba93e1876406c1f4d541
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make ShuffleCostEstimator and ShuffleInstructionBuilder support vector instructions. (#99499)
1. When REVEC is enabled, we need to expand vector types into scalar
types.
2. When REVEC is enabled, CreateInsertVector (and CreateExtractVector)
is used because the scalar type may be a FixedVectorType.
3. Since the mask indices which are used by processBuildVector expect
the source is scalar type, we need to transform the mask indices into a
form which can be used when REVEC is enabled. The transform is only
called when the mask is really used.
Commit: e4e96b3e26c0c9752869daea398bfb27af72e22f
https://github.com/llvm/llvm-project/commit/e4e96b3e26c0c9752869daea398bfb27af72e22f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/neon-abd.ll
M llvm/test/CodeGen/AArch64/sve-aba.ll
M llvm/test/CodeGen/AArch64/sve-abd.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/ARM/neon_vabd.ll
M llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
M llvm/test/CodeGen/PowerPC/vec-zext-abdu.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/rvv/abd.ll
M llvm/test/CodeGen/Thumb2/mve-vabdus.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
Revert b1234ddbe2652aa7948242a57107ca7ab12fd2f8. "[DAG] Add legalization handling for ABDS/ABDU (#92576)"
Reverting #92576 while we identify a reported regression
Commit: 01b488faabdfe9402c5b4d1f788038cc439acf90
https://github.com/llvm/llvm-project/commit/01b488faabdfe9402c5b4d1f788038cc439acf90
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
M clang/cmake/modules/AddClang.cmake
M clang/tools/clang-linker-wrapper/CMakeLists.txt
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M flang/tools/flang-driver/CMakeLists.txt
M lld/cmake/modules/AddLLD.cmake
M lld/tools/lld/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/examples/ExceptionDemo/CMakeLists.txt
M llvm/examples/HowToUseLLJIT/CMakeLists.txt
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/CMakeLists.txt
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/CMakeLists.txt
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/CMakeLists.txt
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/CMakeLists.txt
M llvm/examples/Kaleidoscope/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter4/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter5/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter6/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter7/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter8/CMakeLists.txt
M llvm/examples/Kaleidoscope/Chapter9/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITDumpObjects/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITRemovableCode/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithInitializers/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithLazyReexports/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithObjectCache/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt
M llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsAddObjectFile/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsBasicUsage/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/CMakeLists.txt
M llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/CMakeLists.txt
M llvm/tools/bugpoint/CMakeLists.txt
M llvm/tools/llc/CMakeLists.txt
M llvm/tools/lli/CMakeLists.txt
M llvm/tools/lli/ChildTarget/CMakeLists.txt
M llvm/tools/llvm-jitlink/CMakeLists.txt
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt
M llvm/tools/llvm-lto2/CMakeLists.txt
M llvm/tools/opt/CMakeLists.txt
M llvm/unittests/Analysis/CMakeLists.txt
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
M llvm/unittests/Passes/Plugins/CMakeLists.txt
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
M mlir/tools/mlir-cpu-runner/CMakeLists.txt
M mlir/tools/mlir-opt/CMakeLists.txt
Log Message:
-----------
Reapply "[CMake] Fold export_executable_symbols_* into function args. (#101741)" (#102138)
Fix the builds with LLVM_TOOL_LLVM_DRIVER_BUILD enabled.
LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES is not completely
compatible with export_executable_symbols as the later will be ignored
if the previous is set to NO.
Fix the issue by passing if symbols need to be exported to
llvm_add_exectuable so the link flag can be determined directly
without calling export_executable_symbols_* later.
Commit: ad8a2e4ed40ff97e70dec0d044058b47ce90a12f
https://github.com/llvm/llvm-project/commit/ad8a2e4ed40ff97e70dec0d044058b47ce90a12f
Author: John McIver <john.mciver.iii at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmuladd.ll
Log Message:
-----------
[SLP][NFC] Add freeze instruction tests for upcoming support (#102215)
Commit: a0ed7d6c5fa1438983ee2c1ad25fbb53644d5eba
https://github.com/llvm/llvm-project/commit/a0ed7d6c5fa1438983ee2c1ad25fbb53644d5eba
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_b16b16.cpp
A clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_b16b16.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
M llvm/test/CodeGen/AArch64/sve2-min-max-clamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla_lane.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls_lane.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul_lane.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
M llvm/test/MC/AArch64/SME2/bfclamp-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfclamp.s
M llvm/test/MC/AArch64/SME2/bfmax-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfmax.s
M llvm/test/MC/AArch64/SME2/bfmaxnm-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfmaxnm.s
M llvm/test/MC/AArch64/SME2/bfmin-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfmin.s
M llvm/test/MC/AArch64/SME2/bfminnm-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfminnm.s
M llvm/test/MC/AArch64/SME2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SME2p1/directive-arch.s
M llvm/test/MC/AArch64/SME2p1/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SME2p1/directive-arch_extension.s
M llvm/test/MC/AArch64/SVE2p1/bfadd-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfadd.s
M llvm/test/MC/AArch64/SVE2p1/bfclamp-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfclamp.s
M llvm/test/MC/AArch64/SVE2p1/bfmax-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfmax.s
M llvm/test/MC/AArch64/SVE2p1/bfmaxnm-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfmaxnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmin-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfmin.s
M llvm/test/MC/AArch64/SVE2p1/bfminnm-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfminnm.s
M llvm/test/MC/AArch64/SVE2p1/bfmla-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfmla.s
M llvm/test/MC/AArch64/SVE2p1/bfmls-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfmls.s
M llvm/test/MC/AArch64/SVE2p1/bfmul-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfmul.s
M llvm/test/MC/AArch64/SVE2p1/bfsub-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/bfsub.s
M llvm/test/MC/AArch64/SVE2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2p1/directive-arch.s
M llvm/test/MC/AArch64/SVE2p1/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2p1/directive-arch_extension.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add updated FEAT_SVE_B16B16 and begin replacement of 'b16b16' flag (#101480)
This patch adds FeatureSVEB16B16 to the AArch64 backend in order to
represent the new behavior of FEAT_SVE_B16B16 (as described in the
latest [Armv9.4 extensions
documentation](https://developer.arm.com/documentation/109697/0100/Feature-descriptions/The-Armv9-4-architecture-extension?lang=en#md461-the-armv94-architecture-extension__FEAT_SVE_B16B16))
as well as a 'sve-b16b16' flag to enable it.
The predication of non-widening SVE BFloat16 instructions has changed to
require this feature, instead of the previously required and
soon-to-be-removed FeatureB16B16 which is enabled by the 'b16b16' flag.
Therefore, this change weakens the 'b16b16' flag in favour of
'sve-b16b16'. Existing tests that are effected by this have been
modified to use and/or expect 'sve-b16b16', and new tests have been
added to verify the behavior and implementation of 'sve-b16b16'.
This patch is in response to the response to the following changes.
The architecture features previously enabled by FEAT_SVE_B16B16 have
been relaxed such that it now implements:
- With FEAT_SVE2 : SVE non-widening BFloat16 instructions in
Non-streaming SVE mode
- With FEAT_SME2: SVE non-widening BFloat16 instructions when the
PE is in Streaming SVE mode and SME
Z-targeting multi-vector non-widening BFloat16 instructions.
- **It no longer implements** SME ZA-targeting non-widening
BFloat16 instructions.
The SME ZA-targeting non-widening BFloat16 instructions are implemented
by the new FEAT_SME_B16B16, **this patch does not change how this
architecture feature is enabled** ('+b16b16+sme2'). Only those that are
implemented by FEAT_SVE_B16B16 have been changed to require 'sve-b16b16'
instead of 'b16b16'.
New flags must be created to represent FEAT_SVE_B16B16 and
FEAT_SME_B16B16:
- 'sve-b16b16' enables the updated FEAT_SVE_B16B16 (described
here)
- 'sme-b16b16' will enable the new FEAT_SME_B16B16
- **This patch includes 'sve-b16b16' only**
A future patch will add 'sme-b16b16', SME ZA-targeting non-widening
BFloat16 instructions would then be guarded by '+sme-b16b16+sme2', and
'b16b16' can be removed.
Commit: 62e894e0d76369c2a21ecd5aa88cb20bba1712af
https://github.com/llvm/llvm-project/commit/62e894e0d76369c2a21ecd5aa88cb20bba1712af
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Move Arch assignment out of createBinaryContext (#102054)
Moves the assignment of Arch out of createBinaryContext to prevent data
races when parallelized.
Commit: 445023f1739d3764f1dae6e6b7b0602328198a1e
https://github.com/llvm/llvm-project/commit/445023f1739d3764f1dae6e6b7b0602328198a1e
Author: Vladislav Khmelevsky <och95 at yandex.ru>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
Revert "[BOLT] Move ADRRelaxationPass (#101371)" (#102333)
This reverts commit 750b12f06badc4cdf767139c70090db62358bb44.
The pass should run after splitting phase, but before nop removal
Commit: 961639962251de7428c3fe93fa17cfa6ab3c561a
https://github.com/llvm/llvm-project/commit/961639962251de7428c3fe93fa17cfa6ab3c561a
Author: Ian Anderson <iana at apple.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
R clang/test/Driver/Inputs/MacOSX99.0.sdk/SDKSettings.json
M clang/test/Driver/darwin-builtin-modules.c
Log Message:
-----------
[clang][modules] Enable built-in modules for the upcoming Apple releases (#102239)
The upcoming Apple SDK releases will support the clang built-in headers
being in the clang built-in modules: stop passing
-fbuiltin-headers-in-system-modules for those SDK versions.
Commit: 704f3034b2346ca70cdea1e33366530c82edd607
https://github.com/llvm/llvm-project/commit/704f3034b2346ca70cdea1e33366530c82edd607
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-copy.mir
Log Message:
-----------
[AMDGPU] Set register bank for i1 register copies (#96155)
Set register bank in copies between a physical register and a virtual
register of s1 type.
---------
Co-authored-by: Jun Wang <jun.wang7 at amd.com>
Commit: 64510c1411aff754e1b92659987846aba3a14d53
https://github.com/llvm/llvm-project/commit/64510c1411aff754e1b92659987846aba3a14d53
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Sema/SemaPPC.cpp
A clang/test/CodeGen/PowerPC/builtins-bcd-assist.c
A clang/test/CodeGen/PowerPC/builtins-ppc-bcd-assist.c
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
A llvm/test/CodeGen/PowerPC/builtins-bcd-assist.ll
A llvm/test/CodeGen/PowerPC/builtins-ppc-bcd-assist.ll
Log Message:
-----------
[PPC] Implement BCD assist builtins (#101390)
Implement BCD assist builtins for XL and GCC compatibility.
GCC compat:
```
unsigned int __builtin_cdtbcd (unsigned int);
unsigned int __builtin_cbcdtd (unsigned int);
unsigned int __builtin_addg6s (unsigned int, unsigned int);
```
64BIT XL compat:
```
long long __cdtbcd (long long);
long long __cbcdtd (long long);
long long __addg6s (long long source1, long long source2)
```
Commit: 6f8e8faa12daaf4dfd80039ccdeccda68e99850b
https://github.com/llvm/llvm-project/commit/6f8e8faa12daaf4dfd80039ccdeccda68e99850b
Author: cceerczw <chengzhiwei6 at huawei.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/AArch64/emutls_alias.ll
Log Message:
-----------
[TargetLowering] Fix the problem of emulated-TLS implementation witho… (#101490)
For a __thread variable x, when emulated TLS is enabled and there is an
access to x, the compiler first looks up the symbol __emutls_v.x within
the module. However, the issue arises with an alias y of x, the compiler
still tries to look up __emutls_v.y instead of __emutls_v.x. As a
result, the lookup returns a nullptr, causing the compiler to crash. The
purpose of this MR (Merge Request) is to ensure that in emulated TLS,
before checking __emutls_v.y, the compiler first identifies which global
value y is an alias of.
Commit: f7b2c2e49fe524dd7920af0236c9da79fa0cac57
https://github.com/llvm/llvm-project/commit/f7b2c2e49fe524dd7920af0236c9da79fa0cac57
Author: arsnyder16 <arsnyder16 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[openmp][WebAssembly] Allow openmp to compile and run under emscripten toolchain (#95169)
* Separate wasi and emscripten as they have different constraints and
abilities
* Emscripten mimics Linux/POSIX by statically linking the musl runtime.
This allow nearly all KMP_OS_LINUX code paths to work correctly. There
are only a few places that need to be adjusted related to dynamic
linking (dl_open)
* Internally link openmp globals
* With CommonLinkage it is needed to emit them in an assembly file, now
they are defined and used within each compilation unit
* With ExternalLinkage they suffer from duplicate symbols during linking
for unnamed globals like reduction/critical
* Interestingly this aligns with the TODO comment above this code
Commit: 04e7eaf91f3e9b6830feb2e08bb5b0ddb14c3174
https://github.com/llvm/llvm-project/commit/04e7eaf91f3e9b6830feb2e08bb5b0ddb14c3174
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
Log Message:
-----------
AMDGPU: Add more baseline tests for eliminateFrameIndex
Commit: 585523750e2bbe374d1cb3bf4ff9d53de29b9593
https://github.com/llvm/llvm-project/commit/585523750e2bbe374d1cb3bf4ff9d53de29b9593
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lldb/source/API/SBStructuredData.cpp
M lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py
Log Message:
-----------
[lldb/API] Fix SBStructuredData support any JSON type (#101929)
This patch loosen the parsing requirement to allow parsing not only
JSON dictionaries but also valid JSON type (integer, float, string,
bool, array, null).
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: dbbf0762b6ee9611d80ba94fdbe3968b228b527a
https://github.com/llvm/llvm-project/commit/dbbf0762b6ee9611d80ba94fdbe3968b228b527a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
A llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Analysis/CtxProfAnalysis/load.ll
Log Message:
-----------
[ctx_prof] CtxProfAnalysis (#102084)
This is an immutable analysis that loads and makes the contextual profile available to other passes. This patch introduces the analysis and an analysis printer pass. Subsequent patches will introduce the APIs that IPO passes will call to modify the profile as result of their changes.
Commit: fde7715f55eba6142360ca8eb5183dc74850970e
https://github.com/llvm/llvm-project/commit/fde7715f55eba6142360ca8eb5183dc74850970e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port dbbf0762b6ee
Commit: dd741fc1b1a2a809bedc71a704a6d702c3bc7c8a
https://github.com/llvm/llvm-project/commit/dd741fc1b1a2a809bedc71a704a6d702c3bc7c8a
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/mem_map_base.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
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/vector.h
Log Message:
-----------
[scudo][NFC] Add a default unmap() to unmap all pages (#102234)
Commit: 8ccd4208bbea3f53b3335bd19f13fc11cbe3d7ba
https://github.com/llvm/llvm-project/commit/8ccd4208bbea3f53b3335bd19f13fc11cbe3d7ba
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/Analysis/CtxProfAnalysis/load.ll
Log Message:
-----------
Fix post #102084: restrict to linux to avoid formatting diffs.
Commit: 172ccfeeb4a037f2f5e42aafd597f0f019ad6fc0
https://github.com/llvm/llvm-project/commit/172ccfeeb4a037f2f5e42aafd597f0f019ad6fc0
Author: Martin Storsjö <martin at martin.st>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/Windows/WindowsSupport.h
Log Message:
-----------
[Support] [Windows] Stop redefining _WIN32_IE (#102307)
This was added in 181fd8cd89ff97fe654fabbb2032e0ad6607b4d0, where the
shlobj.h header was taken into use. The shlobj.h header does have some
APIs conditionally visible based on the _WIN32_IE define, but none of
the calls added in that commit seem to need any specific version.
fd6cb64c4891301648e5ab814afdafa118977c3d and
6b129bd464831194da957b3462d7ddd27a0b2a08 further bumped the version it
is set to, while the latter also added a FIXME to check whether it still
is needed.
It doesn't seem to be needed currently; the code currently builds fine
without this define, both with mingw-w64 and MSVC.
Additionally, to show that the value of _WIN32_IE doesn't seem to be
relevant to our builds these days - if the current define is changed to
hardcode _WIN32_IE to an ancient value like 0x0400, our code still
builds fine, both with mingw-w64 and MSVC. Therefore, overriding this
define no longer seem to be relevant.
Commit: bb82c79d3b6b3c062890c2cb01fcb183d4f50d27
https://github.com/llvm/llvm-project/commit/bb82c79d3b6b3c062890c2cb01fcb183d4f50d27
Author: John McIver <john.mciver.iii at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
M llvm/test/Transforms/SLPVectorizer/X86/fmuladd.ll
Log Message:
-----------
[SLP] Enable optimization of freeze instructions (#102217)
Allow SLP optimization to progress in the presence of freeze
instructions. Prior
to this commit, freeze instructions blocked SLP optimization.
The following URL shows correctness of the addsub_freeze test:
https://alive2.llvm.org/ce/z/qm38oh
Commit: ca7368d839c1b067bbb30b4c91dc4d5f79d30bda
https://github.com/llvm/llvm-project/commit/ca7368d839c1b067bbb30b4c91dc4d5f79d30bda
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
Log Message:
-----------
TargetSelectionDAG: Add missing atomic fp opd classes (#102269)
The defs are missing after 5c9352eb0258d .
Commit: 72b73e23b6c36537db730ebea00f92798108a6e5
https://github.com/llvm/llvm-project/commit/72b73e23b6c36537db730ebea00f92798108a6e5
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/test/Driver/ftime-trace-sections.py
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Passes/CMakeLists.txt
M llvm/lib/Passes/StandardInstrumentations.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "demangle function names in trace files (#87626)"
This reverts commit 0fa20c55b58deb94090985a5c5ffda4d5ceb3cd1.
Storing raw symbol names is generally preferred in profile files.
Demangling might lose information. Language frontends might use
demangling schemes not supported by LLVMDemangle
(https://github.com/llvm/llvm-project/issues/45901#issuecomment-2008686663).
In addition, calling `demangle` for each function has a significant
performance overhead (#102222).
I believe that even if we decide to provide a producer-side demangling,
it would not be on by default.
Pull Request: https://github.com/llvm/llvm-project/pull/102274
Commit: 863a2ed440bbeaade37a01c9480eaf9cfbd0a6d2
https://github.com/llvm/llvm-project/commit/863a2ed440bbeaade37a01c9480eaf9cfbd0a6d2
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M mlir/lib/Dialect/GPU/CMakeLists.txt
A mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
R mlir/lib/Dialect/GPU/Transforms/DecomposeMemrefs.cpp
A mlir/test/Integration/Dialect/MemRef/cast-runtime-verification.mlir
A mlir/test/Integration/Dialect/MemRef/load-runtime-verification.mlir
A mlir/test/Integration/Dialect/MemRef/memref_abi.c
A mlir/test/Integration/Dialect/MemRef/print-memref.mlir
A mlir/test/Integration/Dialect/MemRef/reinterpret-cast-runtime-verification.mlir
A mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
A mlir/test/Integration/Dialect/MemRef/verify-memref.mlir
R mlir/test/Integration/Dialect/Memref/cast-runtime-verification.mlir
R mlir/test/Integration/Dialect/Memref/load-runtime-verification.mlir
R mlir/test/Integration/Dialect/Memref/memref_abi.c
R mlir/test/Integration/Dialect/Memref/print-memref.mlir
R mlir/test/Integration/Dialect/Memref/reinterpret-cast-runtime-verification.mlir
R mlir/test/Integration/Dialect/Memref/subview-runtime-verification.mlir
R mlir/test/Integration/Dialect/Memref/verify-memref.mlir
Log Message:
-----------
[mlir][memref] Rename `MemRef` directories and files. NFC. (#102337)
This PR renames the `MemRef` integration test directory for and the
`DecomposeMemref.s.cpp` so that they can be found when doing a
case-sensitive search on file paths.
Commit: 5fb20024e2eaef39d631f63fa82200bf55399090
https://github.com/llvm/llvm-project/commit/5fb20024e2eaef39d631f63fa82200bf55399090
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
A llvm/test/CodeGen/Mips/llvm-ir/and-srl.ll
Log Message:
-----------
[Mips] Add test for AND optimization (#102278)
See https://github.com/llvm/llvm-project/issues/42826
Commit: 07ddf19438d20f0b9c5131288d278a5c786e662d
https://github.com/llvm/llvm-project/commit/07ddf19438d20f0b9c5131288d278a5c786e662d
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang][docs] Update Include Options Help (#101192)
This adds HelpTexts for some clang options that relate to include
directory handling, to sync them up with what's in clang.rst (and
therefore the man page).
Commit: 2c74237c0fa5b5289b98c17209f4319b24406e08
https://github.com/llvm/llvm-project/commit/2c74237c0fa5b5289b98c17209f4319b24406e08
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/spec/llvm_libc_ext.td
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/fsub.h
A libc/src/math/fsubf128.h
A libc/src/math/fsubl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fsub.cpp
A libc/src/math/generic/fsubf128.cpp
A libc/src/math/generic/fsubl.cpp
A libc/src/math/generic/remainderf128.cpp
A libc/src/math/remainderf128.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/fsub_test.cpp
A libc/test/src/math/fsubl_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/fsub_test.cpp
A libc/test/src/math/smoke/fsubf128_test.cpp
A libc/test/src/math/smoke/fsubl_test.cpp
Log Message:
-----------
[libc][math][c23] Add fsub{,l,f128} and remainderf128 C23 math functions (#101576)
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 0f1361baf650641a59aaa1710d7a0b7b02f2e56d
https://github.com/llvm/llvm-project/commit/0f1361baf650641a59aaa1710d7a0b7b02f2e56d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
Log Message:
-----------
[Driver] Fix a warning
This patch fixes:
clang/lib/Driver/ToolChains/Darwin.cpp:2937:3: error: default label
in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: 4974257bad6126264ed0100f4eb1ca9f1e709551
https://github.com/llvm/llvm-project/commit/4974257bad6126264ed0100f4eb1ca9f1e709551
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/spec/stdc.td
Log Message:
-----------
[libc][math] fixing build broke for remainderf128 (#102362)
Commit: 6a3604ef8592edf39fedd6af8100aefafd6d931d
https://github.com/llvm/llvm-project/commit/6a3604ef8592edf39fedd6af8100aefafd6d931d
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/test/MachO/objc-category-conflicts.s
M lld/test/MachO/objc-category-merging-complete-test.s
M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
M lld/test/MachO/objc-category-merging-minimal.s
M lld/test/MachO/objc-relative-method-lists-simple.s
Log Message:
-----------
[LLD, MachO] Default objc_relative_method_lists on MacOS11+/iOS14+ (#101360)
This patch makes `objc_relative_method_lists` default on MacOS 11+ / iOS
14+. Manual override still work if command line argument is provided.
To test this change, many explicit arguments are removed from the test
files. Some explicit `no_objc_relative...` are also added for tests that
don't support this yet.
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: 2d95dee0c06687814eeb5c883e305a7197e26a95
https://github.com/llvm/llvm-project/commit/2d95dee0c06687814eeb5c883e305a7197e26a95
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/fuzzing/math/cos_fuzz.cpp
M libc/fuzzing/math/sin_fuzz.cpp
M libc/fuzzing/math/tan_fuzz.cpp
Log Message:
-----------
[libc] math fuzzing MPFR include statement (#102358)
Updated the include statement for MPFR
Commit: da140bc1e3be4dfd49e17c2f4cc496ae75ff8693
https://github.com/llvm/llvm-project/commit/da140bc1e3be4dfd49e17c2f4cc496ae75ff8693
Author: Rose <gfunni234 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
Log Message:
-----------
[InstCombine] Pre-commit tests for #100008 (NFC)
Commit: ede49fa5f3f32796618a71880038e2564c9d4db9
https://github.com/llvm/llvm-project/commit/ede49fa5f3f32796618a71880038e2564c9d4db9
Author: Rose <gfunni234 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
Log Message:
-----------
[InstCombine] Canonicalize more saturated-add variants (#100008)
LLVM is not evaluating X u > C, a, b the same way it evaluates X <= C, b, a.
To fix this, let's move the folds to after the canonicalization of -1 to TrueVal.
Let's allow splat vectors with poison elements to be recognized too!
Finally, for completion, handle the one case that isn't caught by the above checks because it is canonicalized to eq:
X == -1 ? -1 : X + 1 -> uadd.sat(X, 1)
Alive2 Proof:
https://alive2.llvm.org/ce/z/WEcgYH
Commit: 82c2259aeb87f5cb418decfb6a1961287055e5d2
https://github.com/llvm/llvm-project/commit/82c2259aeb87f5cb418decfb6a1961287055e5d2
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows: Fix permissions for release-sources job (#100750)
For reusable workflows, the called workflow cannot upgrade it's
permissions, and since the default permission is none, we need to
explicitly declare 'contents: read' when calling the release-sources
workflow.
Fixes the error:
The workflow is requesting 'contents: read', but is only allowed
'contents: none'.
Commit: 0ac9a659009d2090de57b04dae06e9c8c5fcb831
https://github.com/llvm/llvm-project/commit/0ac9a659009d2090de57b04dae06e9c8c5fcb831
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/newhdrgen/yaml/math.yaml
M libc/spec/llvm_libc_ext.td
M libc/spec/stdc.td
M libc/test/src/math/smoke/CMakeLists.txt
Log Message:
-----------
libc: remove trailing whitespaces
Commit: 3210bce90f8678d52ea67f812bfe81d1c9de7597
https://github.com/llvm/llvm-project/commit/3210bce90f8678d52ea67f812bfe81d1c9de7597
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/spec/llvm_libc_ext.td
Log Message:
-----------
[libc][math] updated functionspec subf128 (#102372)
Commit: b3b6f7cb0b31468078368f77118ab267b43d8628
https://github.com/llvm/llvm-project/commit/b3b6f7cb0b31468078368f77118ab267b43d8628
Author: Peter Rong <PeterRong at meta.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lld/MachO/Driver.cpp
Log Message:
-----------
[MachO] using std::size_t to fix build errors on arm-ubuntu
Fix build failure introduced by commit 6a3604ef8592edf39fedd6af8100aefafd6d931d
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: cb5dc1faa8b3702e0d03426ee5dfc5e1b903ec47
https://github.com/llvm/llvm-project/commit/cb5dc1faa8b3702e0d03426ee5dfc5e1b903ec47
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
A llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
A llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
A llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
[gSYM] Add support merged functions in gSYM format (#101604)
This patch introduces support for storing debug info for merged
functions in the GSYM debug info. It allows GSYM to represent multiple
functions that share the same address range, which occur when multiple
functions are merged during linker ICF.
The core of this functionality is the new `MergedFunctionsInfo` class,
which is integrated into the existing `FunctionInfo` structure. During
GSYM creation, functions with identical address ranges are now grouped
together, with one function serving as the "master" and the others
becoming "merged" functions. This organization is preserved in the GSYM
format and can be read back and displayed when dumping GSYM information.
Old readers will only see the master function, and ther "merged"
functions will not be processed.
Note: This patch just adds the functionality to the gSYM format -
additional changes to the gsym format and algorithmic changes to logic
existing tooling are needed to take advantage of this data.
Exact output of `llvm-gsymutil --verify --verbose` for the included
test:
[gist](https://gist.github.com/alx32/b9c104d7f87c0b3e7b4171399fc2dca3)
Commit: cece4ba5c2eebac414ad4d1028c3220e79403a7a
https://github.com/llvm/llvm-project/commit/cece4ba5c2eebac414ad4d1028c3220e79403a7a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Log Message:
-----------
[gn build] Port cb5dc1faa8b3
Commit: cf416e0a1bd1b3ff6edc662116295f6fffe24be0
https://github.com/llvm/llvm-project/commit/cf416e0a1bd1b3ff6edc662116295f6fffe24be0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/limits.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Use proxy headers for `limits.h` values (#102378)
Summary:
This defines some constants that may conflict with the system when in
overlay mode. Use the proxy header instead.
Fixes: https://github.com/llvm/llvm-project/issues/102368
Commit: aeb1989bb585e216a13fddeaf28887bdf8623075
https://github.com/llvm/llvm-project/commit/aeb1989bb585e216a13fddeaf28887bdf8623075
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lldb/include/lldb/API/SBDefines.h
M lldb/include/lldb/lldb-types.h
Log Message:
-----------
[lldb] Fully namespace SBType callback function parameters (#102375)
This commit fully namespaces callback function pointer parameters that
are SB types in `SBDefines` and `lldb-types`. We have a clang-based tool
that reads these headers and it would benefit from having the parameters
being fully namespaced here.
Commit: c178fea62d3999acd42f3ddfcc8bd436b574cfed
https://github.com/llvm/llvm-project/commit/c178fea62d3999acd42f3ddfcc8bd436b574cfed
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang][NFC] Remove redundant parameter to CreateObjCClass
This parameter used to be passed down to
`clang::ObjCInterfaceDecl::Create`. But that
parameter was removed in `dc9166c8e1120dc0df1859ba6e3d457a458fd20f`.
In LLDB the `isForwardDecl` stopped being used when it was
synced against Clang in `5b26f27f465676684f9440f02ac4e84a252f5bbb`.
Commit: 34157f694ce45cd3bf14c8494e7581bfd2a9b4d2
https://github.com/llvm/llvm-project/commit/34157f694ce45cd3bf14c8494e7581bfd2a9b4d2
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/test/CodeGen/ARM/machine-outliner-unoutlinable.mir
Log Message:
-----------
[ARM] Fix operand order of tBLXr in a test (NFC) (#102312)
The $noreg should be a part of `pred` complex operand.
Commit: e4104c0eeaaeb739298e865e007b9428d5fcb6c2
https://github.com/llvm/llvm-project/commit/e4104c0eeaaeb739298e865e007b9428d5fcb6c2
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
Log Message:
-----------
[DataLayout] Remove deprecated method (#101495)
The method has been deprecated for a year and a half now.
Commit: 4cad17de794ccd186d50ff669e78215eccecaaa7
https://github.com/llvm/llvm-project/commit/4cad17de794ccd186d50ff669e78215eccecaaa7
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/dfsan/dfsan_new_delete.cpp
Log Message:
-----------
[DFSan] [compiler-rt] leave BufferedStackTrace uninit
Otherwise we have to memset 2040 bytes (255 * 8) for each call
Pull Request: https://github.com/llvm/llvm-project/pull/102252
Commit: aacd1afa1ed2a72464cab8586edadbcd2c6bb47c
https://github.com/llvm/llvm-project/commit/aacd1afa1ed2a72464cab8586edadbcd2c6bb47c
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/ubsan/ubsan_diag.cpp
M compiler-rt/lib/ubsan/ubsan_diag_standalone.cpp
Log Message:
-----------
[compiler-rt] [UBSan] leave BufferedStackTrace uninit
Otherwise we have to memset 2040 bytes (255 * 8) for each call
Pull Request: https://github.com/llvm/llvm-project/pull/102253
Commit: 76248da8af6cf4b5968e79452e5fef9f5eaaafa5
https://github.com/llvm/llvm-project/commit/76248da8af6cf4b5968e79452e5fef9f5eaaafa5
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
Log Message:
-----------
[compiler-rt] [NSan] leave BufferedStackTrace uninit
Otherwise we have to memset 2040 bytes (255 * 8) for each call
Pull Request: https://github.com/llvm/llvm-project/pull/102254
Commit: 21648d3228370fb6ca1838c084f7c6ced6df4307
https://github.com/llvm/llvm-project/commit/21648d3228370fb6ca1838c084f7c6ced6df4307
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/tsan/dd/dd_rtl.cpp
Log Message:
-----------
[compiler-rt] [TSan] leave BufferedStackTrace uninit
Otherwise we have to memset 2040 bytes (255 * 8) for each call
Pull Request: https://github.com/llvm/llvm-project/pull/102255
Commit: 930ca768570fbe8789046a89478c995eb717c7c6
https://github.com/llvm/llvm-project/commit/930ca768570fbe8789046a89478c995eb717c7c6
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/memprof/memprof_stack.h
Log Message:
-----------
[compiler-rt] [Memprof] leave BufferedStackTrace uninit
Otherwise we have to memset 2040 bytes (255 * 8) for each call
Pull Request: https://github.com/llvm/llvm-project/pull/102256
Commit: 5e5cce5643bdfdb27faf9cb48f75a3f2afe0993e
https://github.com/llvm/llvm-project/commit/5e5cce5643bdfdb27faf9cb48f75a3f2afe0993e
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
Log Message:
-----------
[NFC] [sanitizers] leave BufferedStackTrace uninit in tests
This is for consistency with the production code
Pull Request: https://github.com/llvm/llvm-project/pull/102251
Commit: 89c8d68eb71d6881fde21e49faa38e2b4a7d7233
https://github.com/llvm/llvm-project/commit/89c8d68eb71d6881fde21e49faa38e2b4a7d7233
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[NFC] Fix typo in `REAL(pthread_join(th, ret))` (#102393)
Looks like the macro expands to the same,
but usually we do `REAL(pthread_join)(th, ret)`.
Commit: e9c9fde3b766fd2c3904523a9be5e982ce56a825
https://github.com/llvm/llvm-project/commit/e9c9fde3b766fd2c3904523a9be5e982ce56a825
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Avoid accessing inaccessible pages in unmap() in secondary (#102367)
Commit: 1cbcf74083e92021472ec9644b88418f377ce550
https://github.com/llvm/llvm-project/commit/1cbcf74083e92021472ec9644b88418f377ce550
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Utility/XcodeSDK.cpp
Log Message:
-----------
[lldb][ClangExpressionParser] Set BuiltinHeadersInSystemModules depending on SDK version (#102309)
This patch changes the way we initialize `BuiltinHeadersInSystemModules`
which is one of the flags controlling Clang's behaviour when the Darwin
module is split into more fine-grained modules. The
ClangExpressionParser currently unconditionally sets
`-fbuiltin-headers-in-system-modules` when evaluating expressions with
the `target.import-std-module` setting. This flag should, however, be
set depending on the SDK version (which is what the Clang Darwin
toolchain does).
Unfortunately, the compiler instance that we create with
`ClangExpressionParser` never consults the Clang driver, and thus
doesn't correctly infer `BuiltinHeadersInSystemModules`. Note, this
isn't an issue with the `CompilerInstance` that the
`ClangModulesDeclVendor` creates because it uses the `createInovcation`
API, which calls into `Darwin::addClangTargetOptions`.
This patch mimicks how `sdkSupportsBuiltinModules` is used in
`Darwin::addClangTargetOptions`.
This ensures that the `import-std-module` API tests run cleanly
regardless of SDK version.
The plan is to eventually make the `CompilerInstance` construction in
`ClangExpressionParser` go through the driver, so we can avoid
duplicating the logic in LLDB. But we aren't there yet.
**Implementation**
* We look for the `SDKSettings.json` in the sysroot directory that we
found in DWARF (via `DW_AT_LLVM_sysroot`)
* Then parse this file and extract the SDK version number out of it
* Then mimick `sdkSupportsBuiltinModules` from `Toolchains/Darwin.cpp`
and set `BuiltinHeadersInSystemModules` based on it
rdar://116490281
Commit: 8ce5a32f0221b301e4a74c2263d9cbd240114ee0
https://github.com/llvm/llvm-project/commit/8ce5a32f0221b301e4a74c2263d9cbd240114ee0
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
A llvm/test/TableGen/ProcessorUniqueNames.td
M llvm/test/TableGen/SubtargetFeatureUniqueNames.td
M llvm/utils/TableGen/Common/CMakeLists.txt
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/Types.h
A llvm/utils/TableGen/Common/Utils.cpp
A llvm/utils/TableGen/Common/Utils.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Rework error reporting for duplicate Feature/Processor (#102257)
- Extract code for sorting and checking duplicate Records into a helper
function and update `collectProcModels` to use the helper.
- Update `FeatureKeyValues` to:
(a) Remove code for duplicate checks and use the helper.
(b) Trim features with empty name explicitly to be able to use
the helper.
- Make the sorting deterministic by using record name as a secondary
key for sorting, and re-enable SubtargetFeatureUniqueNames.td test
that was disabled due to the non-determinism of the error messages.
- Change wording of error message when duplicate records are found to
be source code position agnostic, since `First` may not be before
`Second` lexically.
Commit: ccdce045e22b9d36cc4f41a5e35f6006c9c0fba5
https://github.com/llvm/llvm-project/commit/ccdce045e22b9d36cc4f41a5e35f6006c9c0fba5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn build] Port 8ce5a32f0221
Commit: 37ec6e5f12afe4a37872bf28f280423696f39019
https://github.com/llvm/llvm-project/commit/37ec6e5f12afe4a37872bf28f280423696f39019
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/Decl.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/basic/basic.start/basic.start.main/p3.cpp
Log Message:
-----------
[Clang] Strengthen checks for `main` to meet `[basic.start.main]p3`’s requirements (#101853)
Fixes #101512.
Commit: 61c0a6d72d53107b683b3c4d636df7b9be0d4d09
https://github.com/llvm/llvm-project/commit/61c0a6d72d53107b683b3c4d636df7b9be0d4d09
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/include/clang/Serialization/ObjectFilePCHContainerReader.h
Log Message:
-----------
[Modules] Fix cyclic module dependencies in clang (#102348)
Breakup the cyclic dependency in module 'Clang_Frontend':
Clang_Frontend -> Clang_Serialization -> Clang_Frontend
Commit: 5d0a12d3e9b1606c36430cf908da20d19d101e04
https://github.com/llvm/llvm-project/commit/5d0a12d3e9b1606c36430cf908da20d19d101e04
Author: Thurston Dang <thurston at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vshift.ll
Log Message:
-----------
[msan] Precommit tests for Arm NEON vector shift (#101420)
MSan currently does not correctly instrument most (all?) Arm NEON vector
shift instructions. This patch shows the current state of
instrumentation.
A followup patch will apply handleVectorShiftIntrinsic to most of the
vector shift instructions and update this test accordingly.
Test forked from llvm/test/CodeGen/AArch64/arm64-vshift.ll.
Commit: 7e9c23352945af72227481e03d3a3f388de6ab46
https://github.com/llvm/llvm-project/commit/7e9c23352945af72227481e03d3a3f388de6ab46
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/test/CodeGenCXX/mangle-fail.cpp
Log Message:
-----------
Run test with triple arm64-apple-ios (#102343)
Commit: 15e86c2a3ed89e3c43d5124fb8461305a6c70b09
https://github.com/llvm/llvm-project/commit/15e86c2a3ed89e3c43d5124fb8461305a6c70b09
Author: Matthew Levy <levymatt0 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
Log Message:
-----------
[AArch64] Update tests for stack-probing (#102181)
Compiler can re-order instructions (keeping opcode register
dependencies) around code generated for stack probing. This leads to
correct generation of code, but failing tests. Changing some
CHECK-NEXT's to CHECK-DAG.
Commit: c4de35813a11b311c4bba013d8571f1a7e62e02e
https://github.com/llvm/llvm-project/commit/c4de35813a11b311c4bba013d8571f1a7e62e02e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
Log Message:
-----------
[libc] Fix wrapper headers for `at_quick_exit` on GLIBC
Summary:
GLIBC likes to define this with the C++ linkage in the header, which
conflict. For now just hack around it by pretending it's `atexit` since
it has the same signature.
Commit: 4fe33d067c5d0894d0059418f09edc531f16ac9f
https://github.com/llvm/llvm-project/commit/4fe33d067c5d0894d0059418f09edc531f16ac9f
Author: vporpo <vporpodas at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
Log Message:
-----------
[SandboxIR][NFC] GenericSetter tracker class (#102260)
This patch introduces the `GenericSetter` tracker class that can be used
to track and revert simple instruction setters.
This patch also replaces several setter tracker classes with the generic
one.
Commit: cf56e265e4b74799aee72a04b634fcc261078084
https://github.com/llvm/llvm-project/commit/cf56e265e4b74799aee72a04b634fcc261078084
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Utility/XcodeSDK.cpp
Log Message:
-----------
Revert "[lldb][ClangExpressionParser] Set BuiltinHeadersInSystemModules depending on SDK version (#102309)"
This reverts commit 1cbcf74083e92021472ec9644b88418f377ce550.
unittests do not build because liblldbPluginExpressionParserClang.a now
depends on liblldbPluginPlatformMacOSX.a when built on macOS, reverting
until we can straighten out the dependency.
Commit: 2d1828d29378e338cf96d78ea17d4c1833c7aac6
https://github.com/llvm/llvm-project/commit/2d1828d29378e338cf96d78ea17d4c1833c7aac6
Author: int-zjt <50009720+int-zjt at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[ASan][NFC] Remove duplicate variable AccessInfo (#102305)
A variable named AccessInfo was used in a condition code block, but it
is declared both in and out of this condition code block.
Co-authored-by: zhangjiatong.0 <zhangjiatong.0 at bytedance.com>
Commit: 408d82d352eb98e2d0a804c66d359cd7a49228fe
https://github.com/llvm/llvm-project/commit/408d82d352eb98e2d0a804c66d359cd7a49228fe
Author: Tim Gymnich <tgymnich at icloud.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/f128-aggregates.ll
Log Message:
-----------
[PowerPC] Respect endianness when bitcasting to fp128 (#95931)
Fixes #92246
Match the behaviour of `bitcast v2i64 (BUILD_PAIR %lo %hi)` when
encountering `bitcast fp128 (BUILD_PAIR %lo $hi)`.
by inserting a missing swap of the arguments based on endianness.
### Current behaviour:
**fp128**
bitcast fp128 (BUILD_PAIR %lo $hi) => BUILD_FP128 %lo %hi
BUILD_FP128 %lo %hi => MTVSRDD %hi %lo
**v2i64**
bitcast v2i64 (BUILD_PAIR %lo %hi) => BUILD_VECTOR %hi %lo
BUILD_VECTOR %hi %lo => MTVSRDD %lo %hi
Commit: a753c9921e66eee360a6ce7ee70305b941595829
https://github.com/llvm/llvm-project/commit/a753c9921e66eee360a6ce7ee70305b941595829
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Die when store is called on MapAllocatorNoCache objects. (#102403)
Commit: 9d315bc45f2bb04333b1dd9d06d1f49d981b8283
https://github.com/llvm/llvm-project/commit/9d315bc45f2bb04333b1dd9d06d1f49d981b8283
Author: Sharadh Rajaraman <r.sharadh at outlook.sg>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/Driver/Types.cpp
M clang/test/Driver/cl-cxx20-modules.cppm
Log Message:
-----------
[clang][driver][clang-cl] Fix unused argument warning for `/std:c++20` for precompiled module inputs to `clang-cl` (#99300)
Relates to #98761: `-fmodule-file` requires `/std:c++20` or greater, but
passing that option results in an unused argument warning. This resolves
that.
Commit: 60ac34701e5c50955232d6d289b04779f4ef9912
https://github.com/llvm/llvm-project/commit/60ac34701e5c50955232d6d289b04779f4ef9912
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-reduction-logical.ll
Log Message:
-----------
[SLP][REVEC] Make getAltInstrMask and getGatherCost vectorize vector instructions. (#99461)
Commit: fc0802a1d0bf2ede0ba71df09ddf5e601ab6587b
https://github.com/llvm/llvm-project/commit/fc0802a1d0bf2ede0ba71df09ddf5e601ab6587b
Author: Petr Hosek <phosek at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[Fuchsia][CMake] Remove new/delete from baremetal libc++ (#102415)
This is causing issues for some baremetal targets.
Commit: 17d7696709fe79b6bd20d615b806a68f8e047cfd
https://github.com/llvm/llvm-project/commit/17d7696709fe79b6bd20d615b806a68f8e047cfd
Author: Tianqing Wang <tianqing.wang at intel.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
A llvm/test/CodeGen/X86/unpredictable-brcond.ll
Log Message:
-----------
[X86][NFC] Add test case for conditional branches with unpredictable metadata. (#102262)
Commit: e49549ff19d3ea69331a967f8492eeb1819e6cd0
https://github.com/llvm/llvm-project/commit/e49549ff19d3ea69331a967f8492eeb1819e6cd0
Author: Davide Italiano <davidino at fb.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
R bolt/test/AArch64/Inputs/got_end_of_section_symbol.lld_script
R bolt/test/AArch64/got_end_of_section_symbol.s
M bolt/test/X86/section-end-sym.s
Log Message:
-----------
Revert "[BOLT] Abort on out-of-section symbols in GOT (#100801)"
This reverts commit a4900f0d936f0e86bbd04bd9de4291e1795f1768.
Commit: 8c7a038f9029c675f2a52ff5e85f7b6005ec7b3e
https://github.com/llvm/llvm-project/commit/8c7a038f9029c675f2a52ff5e85f7b6005ec7b3e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating CastRParen (#102261)
Fixes #102102.
Commit: aae7c38827ff7be9cc94b2e78d10742699ab506c
https://github.com/llvm/llvm-project/commit/aae7c38827ff7be9cc94b2e78d10742699ab506c
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-08-08 (Thu, 08 Aug 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/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/spec/stdc.td
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/setpayloadl.cpp
A libc/src/math/generic/setpayloadsig.cpp
A libc/src/math/generic/setpayloadsigf.cpp
A libc/src/math/generic/setpayloadsigf128.cpp
A libc/src/math/generic/setpayloadsigl.cpp
A libc/src/math/setpayloadl.h
A libc/src/math/setpayloadsig.h
A libc/src/math/setpayloadsigf.h
A libc/src/math/setpayloadsigf128.h
A libc/src/math/setpayloadsigl.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/SetPayloadTest.h
A libc/test/src/math/smoke/setpayloadl_test.cpp
A libc/test/src/math/smoke/setpayloadsig_test.cpp
A libc/test/src/math/smoke/setpayloadsigf128_test.cpp
A libc/test/src/math/smoke/setpayloadsigf_test.cpp
A libc/test/src/math/smoke/setpayloadsigl_test.cpp
Log Message:
-----------
[libc][math][c23] Add entrypoints and tests for setpayloadsig{,f,l,f128} and setpayloadl. (#102413)
Commit: dd251b050475cd2803b22800b5df21eecda88643
https://github.com/llvm/llvm-project/commit/dd251b050475cd2803b22800b5df21eecda88643
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/test/MachO/objc-category-conflicts.s
M lld/test/MachO/objc-category-merging-complete-test.s
M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
M lld/test/MachO/objc-category-merging-minimal.s
M lld/test/MachO/objc-relative-method-lists-simple.s
Log Message:
-----------
Revert PR #101360 (#102420)
Commit: bb4f9c6ad430a12217deb11f0d5f73eb3725451c
https://github.com/llvm/llvm-project/commit/bb4f9c6ad430a12217deb11f0d5f73eb3725451c
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/newhdrgen/yaml/math.yaml
Log Message:
-----------
[libc][math] fix yaml indentation bug (#102421)
Commit: 65b4a7704beaf87c5eb12b672a837501a981a77a
https://github.com/llvm/llvm-project/commit/65b4a7704beaf87c5eb12b672a837501a981a77a
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
Log Message:
-----------
[sanitizer] Optimize DenseMap::{find,erase}
Port the ADT optimization #100517. In addition, add `contains`
(https://reviews.llvm.org/D145895) while changing `count`.
Pull Request: https://github.com/llvm/llvm-project/pull/101785
Commit: 847f9cb0e868c8ec34f9aa86fdf846f8c4e0388b
https://github.com/llvm/llvm-project/commit/847f9cb0e868c8ec34f9aa86fdf846f8c4e0388b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.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
M clang/test/CodeGenCXX/modules-vtable.cppm
A clang/test/CodeGenCXX/pr70585.cppm
A clang/test/Modules/pr97313.cppm
A clang/test/Modules/static-func-in-private.cppm
A clang/test/Modules/vtable-windows.cppm
Log Message:
-----------
Reland [C++20] [Modules] [Itanium ABI] Generate the vtable in the mod… (#102287)
Reland https://github.com/llvm/llvm-project/pull/75912
The differences of this PR between
https://github.com/llvm/llvm-project/pull/75912 are:
- Fixed a regression in `Decl::isInAnotherModuleUnit()` in DeclBase.cpp
pointed by @mizvekov and add the corresponding test.
- Fixed the regression in windows
https://github.com/llvm/llvm-project/issues/97447. The changes are in
`CodeGenModule::getVTableLinkage` from
`clang/lib/CodeGen/CGVTables.cpp`. According to the feedbacks from MSVC
devs, the linkage of vtables won't affected by modules. So I simply
skipped the case for MSVC.
Given this is more or less fundamental to the use of modules. I hope we
can backport this to 19.x.
Commit: 3c9e3457d7e3153f449bef047d4deb297126f446
https://github.com/llvm/llvm-project/commit/3c9e3457d7e3153f449bef047d4deb297126f446
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] fix flaky test in clang-doc (#101387)
Fixes https://github.com/llvm/llvm-project/issues/97507
#96809 introduce non-determinstic behaviour in clang-doc which caused
the output to be randomly ordered which lead to randomly failing test.
This patch modify clang-doc to behave deterministically again by sorting
the output by location or USR.
Commit: e80d8e1b421b3bc2b79cc0e60e3a5d530fa23882
https://github.com/llvm/llvm-project/commit/e80d8e1b421b3bc2b79cc0e60e3a5d530fa23882
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
A llvm/lib/Target/RISCV/RISCVLandingPadSetup.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/lpad.ll
Log Message:
-----------
[RISCV] Insert simple landing pad before indirect jumps for Zicfilp. (#91860)
This patch is based on https://github.com/llvm/llvm-project/pull/91855.
This patch inserts simple landing pad
([pr])before indirct jumps. And this also make option
riscv-landing-pad-label influence this feature.
[pr]: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/417
Commit: e72d956b99e920b0fe2a7946eb3a51b9e889c73c
https://github.com/llvm/llvm-project/commit/e72d956b99e920b0fe2a7946eb3a51b9e889c73c
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr102349.cppm
A clang/test/Modules/pr102360.cppm
Log Message:
-----------
[C++20] [Modules] Don't diagnose duplicated implicit decl in multiple named modules (#102423)
Close https://github.com/llvm/llvm-project/issues/102360
Close https://github.com/llvm/llvm-project/issues/102349
http://eel.is/c++draft/basic.def.odr#15.3 makes it clear that the
duplicated deinition are not allowed to be attached to named modules.
But we need to filter the implicit declarations as user can do nothing
about it and the diagnostic message is annoying.
Commit: d09be9191bc53488b878e6d552f0b67f68d4254b
https://github.com/llvm/llvm-project/commit/d09be9191bc53488b878e6d552f0b67f68d4254b
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
Log Message:
-----------
Fix a typecheck_arithmetic_incomplete_or_sizeless_type error in GSYM/MergedFunctionsInfo.h
Commit: e8ad87c7d06afe8f5dde2e4c7f13c314cb3a99e9
https://github.com/llvm/llvm-project/commit/e8ad87c7d06afe8f5dde2e4c7f13c314cb3a99e9
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
A llvm/include/llvm/Analysis/MemoryRefInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/RISCV/asan-rvv-intrinsics.ll
Log Message:
-----------
[Asan] Provide TTI hook to provide memory reference infromation of target intrinsics. (#97070)
Previously asan considers target intrinsics as black boxes, so asan
could not instrument accurate check. This patch provide TTI hooks to
make targets describe their intrinsic informations to asan.
Note,
1. this patch renames InterestingMemoryOperand to MemoryRefInfo.
2. this patch does not support RVV indexed/segment load/store.
Commit: 5ce793e7df1a31c588c7b7bded3020d7f1fd3b41
https://github.com/llvm/llvm-project/commit/5ce793e7df1a31c588c7b7bded3020d7f1fd3b41
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Add TargetConstraintType=2 to VPseudoVNCVTF_RM_W. NFC
This doesn't do anything in upstream, but matches whats in our
downstream.
Commit: d3c9bb0cf811424dcb8c848cf06773dbdde19965
https://github.com/llvm/llvm-project/commit/d3c9bb0cf811424dcb8c848cf06773dbdde19965
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
Log Message:
-----------
[AMDGPU] Fix build failure after #97070 (NFC)
/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h:55:21:
error: use of undeclared identifier 'InterestingMemoryOperand'
SmallVectorImpl<InterestingMemoryOperand> &Interesting);
^
Commit: 29e849bfd35782b24c80db23267937b888b4aa36
https://github.com/llvm/llvm-project/commit/29e849bfd35782b24c80db23267937b888b4aa36
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M compiler-rt/lib/asan/asan_globals.cpp
A compiler-rt/test/asan/TestCases/Linux/initialization-nobug-lld.cpp
M compiler-rt/test/asan/TestCases/initialization-nobug.cpp
Log Message:
-----------
[asan] Optimize initialization order checking (#101837)
The pair `__asan_before_dynamic_init` and `__asan_after_dynamic_init` is
executed for each TU. `__asan_after_dynamic_init` unpoisons all globals,
which
makes the time complexity O(N^2), where N is the maximum of the global
count and
the TU count. This is expensive for large binaries.
This patch decreases the time complexity to O(N), when lld and static
runtime is
used on SANITIZER_CAN_USE_PREINIT_ARRAY platforms. This requires:
Enabling incremental poisoning (`__asan_before_dynamic_init` since
https://github.com/llvm/llvm-project/pull/101597). Making most
`__asan_after_dynamic_init` calls do nothing.
Commit: 898d6eb7be2198255c7badbbaecbce57aa8a3fb1
https://github.com/llvm/llvm-project/commit/898d6eb7be2198255c7badbbaecbce57aa8a3fb1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Use RVA22U64Features in the definition of sifive-p450 and sifive-p670. (#102350)
This matches sifive-p470.
RVA22U64Features includes the Zicntr extension which was not present for
these CPUs before. I believe that was a mistake due to weird history of
the Zicntr extension. I've updated the p470 test accordingly since this
was missed there too.
Commit: 42937b6f8ec6a22d687c34a962c8c057ce8a7a28
https://github.com/llvm/llvm-project/commit/42937b6f8ec6a22d687c34a962c8c057ce8a7a28
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port e80d8e1b421b
Commit: 6673cf19c2853e31d4faf354e10e870a4c10def3
https://github.com/llvm/llvm-project/commit/6673cf19c2853e31d4faf354e10e870a4c10def3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Return Invalid() when calling invalid function ptrs
This is closer to what the current interpreter does.
Commit: 82f52d9c42d926e23955b42128abff064825d6c8
https://github.com/llvm/llvm-project/commit/82f52d9c42d926e23955b42128abff064825d6c8
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtin-cpu-supports.c
M compiler-rt/lib/builtins/cpu_model/riscv.c
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Support new groupid/bitmask for cpu_model (#101632)
The spec can be found at
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/74.
1. Add the new extension GroupID/Bitmask with latest hwprobe key.
2. Update the `initRISCVFeature `
3. Update `EmitRISCVCpuSupports` due to not only group0 now.
Commit: c62e2a2a4ed69d53a3c6ca5c24ee8d2504d6ba2b
https://github.com/llvm/llvm-project/commit/c62e2a2a4ed69d53a3c6ca5c24ee8d2504d6ba2b
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/while-break.ll
M llvm/test/Transforms/StructurizeCFG/AMDGPU/loop-subregion-misordered.ll
M llvm/test/Transforms/StructurizeCFG/loop-break-phi.ll
Log Message:
-----------
StructurizeCFG: Optimize phi insertion during ssa reconstruction (#101301)
After investigating more while-break cases, I think we should try to
optimize
the way we reconstruct phi nodes. Previously, we reconstruct each phi
nodes separately, but this is not optimal. For example:
```
header:
%v.1 = phi float [ %v, %entry ], [ %v.2, %latch ]
br i1 %cc, label %if, label %latch
if:
%v.if = fadd float %v.1, 1.0
br i1 %cc2, label %latch, label %exit
latch:
%v.2 = phi float [ %v.if, %if ], [ %v.1, %header ]
br i1 %cc3, label %exit, label %header
exit:
%v.3 = phi float [ %v.2, %latch ], [ %v.if, %if ]
```
For this case, we have different copies of value `v`, but there is at
most one copy of value `v` alive at any program point shown above.
The existing ssa reconstruction will use the incoming values from the
old deleted phi. Below is a possible output after ssa reconstruction.
```
header:
%v.1 = phi float [ %v, %entry ], [ %v.loop, %Flow1 ]
br i1 %cc, label %if, label %flow
if:
%v.if = fadd float %v.1, 1.0
br label %flow
flow:
%v.exit.if = phi float [ %v.if, %if ], [ undef, %header ]
%v.latch = phi float [ %v.if, %if ], [ %v.1, %header ]
latch:
br label %flow1
flow1:
%v.loop = phi float [ %v.latch, %latch ], [ undef, %Flow ]
%v.exit = phi float [ %v.latch, %latch ], [ %v.exit.if, %Flow ]
exit:
%v.3 = phi float [ %v.exit, %flow1 ]
```
If we look closely, in order to reconstruct `v.1` `v.2` `v.3`, we are
having two simultaneous copies of `v` alive at `flow` and `flow1`.
We highly depend on register coalescer to coalesce them together.
But register coalescer may not always be able to coalesce them
because of the complexity in the chain of phi.
On the other side, now that we have only one copy of `v` alive at any
program point before the transform, why not simplify the phi network
as much as we can? Look at the incoming values of these PHIs:
```
header if latch
v.1: -- -- v.2
v.2: v.1 v.if --
v.3: -- v.if v.2
```
If we let them share the same incoming values for these three different
incoming blocks, then we would have only one copy of alive `v` at any
program point after ssa reconstruction. Something like:
```
header:
%v.1 = phi float [ %v, %entry ], [ %v.2, %Flow1 ]
br i1 %cc, label %if, label %flow
if:
%v.if = fadd float %v.1, 1.0
br label %flow
flow:
%v.2 = phi float [ %v.if, %if ], [ %v.1, %header ]
latch:
br label %flow1
flow1:
...
exit:
%v.3 = phi float [ %v.2, %flow1 ]
```
Commit: 3606d69d0b57dc1d23a4362e376e7ad27f650c27
https://github.com/llvm/llvm-project/commit/3606d69d0b57dc1d23a4362e376e7ad27f650c27
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
A clang/test/Sema/embed_compound_literal.c
Log Message:
-----------
[clang] Fix crash when #embed used in a compound literal (#102304)
Fixes https://github.com/llvm/llvm-project/issues/102248
Commit: 862d822d83a5422e6cc966c3244e766dee6d45ba
https://github.com/llvm/llvm-project/commit/862d822d83a5422e6cc966c3244e766dee6d45ba
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
Log Message:
-----------
[CodeGen] Don't renumber invalid domtree (#102427)
Machine block placement might remove nodes from the function but does
not update the dominator tree accordingly. Instead of renumbering (which
might crash due to accessing removed blocks), set the domtree to null to
make clear that it is invalid at this point.
Fixup of #102107.
Commit: 22897855c8253c8604ae65f61cc34a8fd95dbe61
https://github.com/llvm/llvm-project/commit/22897855c8253c8604ae65f61cc34a8fd95dbe61
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/null_deref_multiple_dlls.cpp
M compiler-rt/test/asan/TestCases/Windows/report_globals_reload_dll.cpp
M compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
Log Message:
-----------
[asan] Fix Windows tests
Fix Windows after #101853.
Commit: 876cbf9a127b0a18374dcf91c969c7ba152e048c
https://github.com/llvm/llvm-project/commit/876cbf9a127b0a18374dcf91c969c7ba152e048c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/bitfields.cpp
Log Message:
-----------
[clang][Interp] Properly abort on reads from non-const variables (#102426)
We need to return false here in any case. Use isConstant() to capure the
weird OpenCL cases.
Commit: 182e1c773421e097d42415fc4d9aee1fb431819a
https://github.com/llvm/llvm-project/commit/182e1c773421e097d42415fc4d9aee1fb431819a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/test/Modules/cxx20-force-check-input.cppm
Log Message:
-----------
[NFC] Update test for clang/test/Modules/cxx20-force-check-input.cppm
The original test is stale. Update it.
Commit: 0766a59be3256e83a454a089f01215d6c7f94a48
https://github.com/llvm/llvm-project/commit/0766a59be3256e83a454a089f01215d6c7f94a48
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/cgprofile-rela.test
Log Message:
-----------
[ELF] .llvm.call-graph-profile: support CREL
https://reviews.llvm.org/D105217 added RELA support. This patch adds
CREL support.
Commit: eb4ac6400b921613181618d1bae906c2ac4ae0fb
https://github.com/llvm/llvm-project/commit/eb4ac6400b921613181618d1bae906c2ac4ae0fb
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
R llvm/test/CodeGen/AArch64/ptrauth-basic-pic.ll
R llvm/test/CodeGen/AArch64/ptrauth-elf-globals-pic.ll
R llvm/test/CodeGen/AArch64/ptrauth-extern-weak.ll
R llvm/test/CodeGen/AArch64/ptrauth-got-abuse.ll
R llvm/test/CodeGen/AArch64/ptrauth-tagged-globals-pic.ll
R llvm/test/MC/AArch64/adrp-auth-relocation.s
M llvm/test/MC/AArch64/arm64-elf-relocs.s
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
Revert "[PAC][CodeGen][ELF][AArch64] Support signed GOT" (#102434)
Reverts llvm/llvm-project#96164
See buildbot failure
https://lab.llvm.org/buildbot/#/builders/153/builds/5329
Commit: 342347088e02f3d3d172a9eefd5cb8d088eb80c9
https://github.com/llvm/llvm-project/commit/342347088e02f3d3d172a9eefd5cb8d088eb80c9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Remove myself from Github's CODEOWNDERS file
This mechanism simply doesn't work for me. I'm getting CCed to
completely unrelated PRs all the time. I checke the bugtracker manually
often enough, so I don't need this.
Commit: 1919db907bc3e0541839992d903b6b875da98b04
https://github.com/llvm/llvm-project/commit/1919db907bc3e0541839992d903b6b875da98b04
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Clarify the semantics of BroadcastOp (#101928)
Clarifies the semantics of `vector.broadcast` in the context of scalable
vectors. In particular, broadcasting a unit scalable dim, `[1]`, is not
valid unless there's a match between the output and the input dims.
See the examples below for an illustration:
```mlir
// VALID
%0 = vector.broadcast %arg0 : vector<[1]xf32> to vector<4x[1]xf32>
// INVALID
%0 = vector.broadcast %arg0 : vector<[1]xf32> to vector<[4]xf32>
// VALID FIXED-WIDTH EQUIVALENT
%0 = vector.broadcast %arg0 : vector<1xf32> to vector<4xf32>
```
Documentation, the Op verifier and tests are updated accordingly.
Commit: c66777ee1b55ba2349b71d35fd03149803c8c819
https://github.com/llvm/llvm-project/commit/c66777ee1b55ba2349b71d35fd03149803c8c819
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Generalize atomicrmw handling in custom expansion
Use the utility function instead of assuming fadd. No change
as-is, but will soon be used for other expansions.
Commit: 62e5032c9a128ad45e193806c4c831feb8ff35ee
https://github.com/llvm/llvm-project/commit/62e5032c9a128ad45e193806c4c831feb8ff35ee
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
Reapply "[mlir][linalg] Relax tensor.extract vectorization" (#102321)
[This reverts commit 6662523d6b2ca0198141c94ee80ebbb41601df9f]
Simplifies the vectorization of tensor.extract so that:
* all cases that read into a genuinely multi-dim vector (*) are
considered a gather load,
* all other cases are considered as potential contiguous loads.
This change means that the following extraction from a "column" tensor
is correctly identified as a scalar load followed by a broadcast (rather
than a gather load).
```mlir
func.func @vectorize_scalar_broadcast_column_tensor(%in: tensor<1x1x4xi32>) -> tensor<1x1x4xi32> {
%c4 = arith.constant 4 : index
%c0 = arith.constant 0 : index
%cst = arith.constant dense<[...]> : tensor<15x1xi32>
%out = linalg.generic {
indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>],
iterator_types = ["parallel", "parallel", "parallel"]}
outs(%in : tensor<1x1x4xi32>) {
^bb0(%out: i32):
%8 = linalg.index 0 : index
%idx_0 = linalg.index 0 : index
%extracted = tensor.extract %cst[%idx_0, %c0] : tensor<15x1xi32>
linalg.yield %extracted : i32
} -> tensor<1x1x4xi32>
return %out:tensor<1x1x4xi32>
}
```
Overview of the delta compared to the original submission (#99299):
* removed an assert representing a condition that is being relaxed
here,
* added a test (reading from a column tensor) based on a repro from
@hanhanW.
(*) `vector<1x4x1xf32>` is considered as 1D vector in this context.
Commit: 4d47211d9338e37f6f521652f4e346452943f212
https://github.com/llvm/llvm-project/commit/4d47211d9338e37f6f521652f4e346452943f212
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/note-core.test
Log Message:
-----------
[llvm][test][llvm-readobj] Name files in note-core.test (#102165)
Instead of using an increasing number. This means we can add new checks
without renumbering all the following ones.
Commit: 2771ce80f86e75ba38d9f5cb39fb37aa0268f0da
https://github.com/llvm/llvm-project/commit/2771ce80f86e75ba38d9f5cb39fb37aa0268f0da
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
A lldb/docs/_templates/components/edit-this-page.html
M lldb/docs/conf.py
Log Message:
-----------
[lldb][Docs] Add edit link to docs pages (#102144)
That aren't the generated `python_api/` pages.
This button is a pencil icon at the top right of the page and takes you
to a GitHub page where you can edit the content, assuming you have a
fork already. If not it tells you how to make one.
This is hardcoded to the llvm-project URL and main branch. So folks will
need a downstream patch if they want to change that.
For the upstream repo, main is right because even if a release branch
was open for PRs, it would only be for cherry picks from main.
The icon isn't as obvious as the "edit on GitHub" icons seen elsewhere
but it's built in, and we could change it later if we wanted to.
Commit: 57cd1000c9c93fd0e64352cfbc9fbbe5b8a8fcef
https://github.com/llvm/llvm-project/commit/57cd1000c9c93fd0e64352cfbc9fbbe5b8a8fcef
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
A lldb/test/Shell/SymbolFile/DWARF/x86/typedef-in-incomplete-type.cpp
Log Message:
-----------
[lldb] Fix crash when adding members to an "incomplete" type (#102116)
This fixes a regression caused by delayed type definition searching
(#96755 and friends): If we end up adding a member (e.g. a typedef) to a
type that we've already attempted to complete (and failed), the
resulting AST would end up inconsistent (we would start to "forcibly"
complete it, but never finish it), and importing it into an expression
AST would crash.
This patch fixes this by detecting the situation and finishing the
definition as well.
Commit: 7a51dde4e67396967eccbf093cb6a0237d0fcb76
https://github.com/llvm/llvm-project/commit/7a51dde4e67396967eccbf093cb6a0237d0fcb76
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/store-pointer-to-self.ll
Log Message:
-----------
InferAddressSpaces: Improve handling of instructions with multiple pointer uses (#101922)
The use list iteration worked correctly for the load and store case. The atomic
instructions happen to have the pointer value as the last visited operand, but we
rejected the instruction as simple after the first encountered use.
Ignore the use list for the recognized load/store/atomic instructions, and just
try to directly replace the known pointer use.
Commit: 635d20e9e72e25966b196bb012a90e750ae00c6d
https://github.com/llvm/llvm-project/commit/635d20e9e72e25966b196bb012a90e750ae00c6d
Author: Vladislav Belov <vladislav.belov at syntacore.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
A clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
Log Message:
-----------
[RISCV] full support for riscv_rvv_vector_bits attribute (#100110)
Add support for using attribute((rvv_vector_bits(N))), when N < 8.
It allows using all fixed length vector mask types regardless VLEN
value.
Commit: 00f90d394ae42a490f87076c69f7c00f53f77fd7
https://github.com/llvm/llvm-project/commit/00f90d394ae42a490f87076c69f7c00f53f77fd7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/absolute_symbol.ll
M llvm/test/Verifier/range-1.ll
Log Message:
-----------
Verifier: Reword range metadata error message (#102441)
Commit: 39529107b46032ef0875ac5b809ab5b60cd15a40
https://github.com/llvm/llvm-project/commit/39529107b46032ef0875ac5b809ab5b60cd15a40
Author: John Brawn <john.brawn at arm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/assembly.h
Log Message:
-----------
[libunwind] Fix problems caused by combining BTI and GCS (#102322)
The libunwind assembly files need adjustment in order to work correctly
when both BTI and GCS are both enabled (which will be the case when
using -mbranch-protection=standard):
* __libunwind_Registers_arm64_jumpto can't use br to jump to the return
location, instead we need to use gcspush then ret.
* Because we indirectly call __libunwind_Registers_arm64_jumpto it needs
to start with bti jc.
* We need to set the GCS GNU property bit when it's enabled.
---------
Co-authored-by: Daniel Kiss <daniel.kristof.kiss at gmail.com>
Commit: cb5912a71061c6558bd4293596dcacc1ce0ca2f6
https://github.com/llvm/llvm-project/commit/cb5912a71061c6558bd4293596dcacc1ce0ca2f6
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
Log Message:
-----------
[NFC][libc++][test][AIX] UnXFAIL LIT test transform.pass.cpp (#102338)
Remove `XFAIL: LIBCXX-AIX-FIXME` from lit test `transform.pass.cpp` now
that AIX system call `wcsxfrm`/`wcsxfrm_l` is fixed in AIX 7.2.5.8 and
7.3.2.2 and buildbot machines have been upgraded.
Commit: 719557269e9f5206d954c87ef0cb3d9abdf49946
https://github.com/llvm/llvm-project/commit/719557269e9f5206d954c87ef0cb3d9abdf49946
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/Support/GenericIteratedDominanceFrontier.h
M llvm/unittests/ADT/SmallPtrSetTest.cpp
Log Message:
-----------
[SSAUpdater] Add a SmallPtrSet reserve method for IDFcalc (#97823)
As per the LLVM programmers manual, SmallPtrSets do linear scans on
insertion and then turn into a hash-table if the set gets big. Here in
the IDFCalculator, the SmallPtrSets have been configured to have 32
elements in each static allocation... which means that we linearly scan
for all problems with up to 32 elements, which I feel is quite a large
N.
Shorten the SmallPtrSet size, and add a reserve method to avoid any
repeated allocations, plus corresponding unit tests. Doing this yields a
0.13% compile-time improvement for debug-info builds, as we hit
IDFCalculator pretty hard in InstrRefBasedLDV.
Commit: c4e77280f00370bb942098c13902f04c89033784
https://github.com/llvm/llvm-project/commit/c4e77280f00370bb942098c13902f04c89033784
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
A llvm/test/CodeGen/Thumb2/abds-crash.ll
Log Message:
-----------
[Thumb2] Add regression test from #92576
Ensure abds doesn't get truncated after type legalisation
Commit: 13d04fa560e156797c21f16b05e950649bfb9dff
https://github.com/llvm/llvm-project/commit/13d04fa560e156797c21f16b05e950649bfb9dff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/neon-abd.ll
M llvm/test/CodeGen/AArch64/sve-aba.ll
M llvm/test/CodeGen/AArch64/sve-abd.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/ARM/neon_vabd.ll
M llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
M llvm/test/CodeGen/PowerPC/vec-zext-abdu.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/rvv/abd.ll
M llvm/test/CodeGen/Thumb2/abds-crash.ll
M llvm/test/CodeGen/Thumb2/mve-vabdus.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[DAG] Add legalization handling for ABDS/ABDU (#92576) (REAPPLIED)
Always match ABD patterns pre-legalization, and use TargetLowering::expandABD to expand again during legalization.
abdu(lhs, rhs) -> sub(xor(sub(lhs, rhs), usub_overflow(lhs, rhs)), usub_overflow(lhs, rhs))
Alive2: https://alive2.llvm.org/ce/z/dVdMyv
REAPPLIED: Fix regression issue with "abs(ext(x) - ext(y)) -> zext(abd(x, y))" fold failing after type legalization
Commit: da8778e499d8049ac68c2e152941a38ff2bc9fb2
https://github.com/llvm/llvm-project/commit/da8778e499d8049ac68c2e152941a38ff2bc9fb2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][vector] Add pattern to drop unit dims from vector.transpose (#102017)
Example:
BEFORE:
```mlir
%transpose = vector.transpose %vector, [3, 0, 1, 2]
: vector<1x1x4x[4]xf32> to vector<[4]x1x1x4xf32>
```
AFTER:
```mlir
%dropDims = vector.shape_cast %vector
: vector<1x1x4x[4]xf32> to vector<4x[4]xf32>
%transpose = vector.transpose %0, [1, 0]
: vector<4x[4]xf32> to vector<[4]x4xf32>
%restoreDims = vector.shape_cast %transpose
: vector<[4]x4xf32> to vector<[4]x1x1x4xf32>
```
Commit: abcaac1c49bec3ee4bfc95e7211ecb7aabfb49e3
https://github.com/llvm/llvm-project/commit/abcaac1c49bec3ee4bfc95e7211ecb7aabfb49e3
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
Log Message:
-----------
Add algorithm-include needed for std::max
Follow-up to rG719557269e9f5
Commit: 5ea9dd8c7076270695a1d90b9c73718e7d95e0bf
https://github.com/llvm/llvm-project/commit/5ea9dd8c7076270695a1d90b9c73718e7d95e0bf
Author: Martin Storsjö <martin at martin.st>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
Log Message:
-----------
[compiler-rt] Support building runtimes for Windows on arm32 (#101462)
In these environments, the architecture name is armv7; recognize that
and enable the relevant runtimes.
Fix building the sanitizer_common library for this target, by using the
right registers for the architecture - this is similar to what
0c391133c9201ef29273554a1505ef855ce17668 did for aarch64.
(Still, address sanitizer doesn't support hooking functions at runtime
on armv7 or aarch64 - but other runtimes such as ubsan do work.)
Commit: 5313d2e6d02d2a8b192e2c007241ff261287e1ca
https://github.com/llvm/llvm-project/commit/5313d2e6d02d2a8b192e2c007241ff261287e1ca
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/constant-intrinscs-dead-code.ll
Log Message:
-----------
[CodeGen] Fix lower constant intrinsics for dead code (#102442)
lowerConstantIntrinsics does an RPO traveral, which doesn't reach dead
blocks. Remove the assertion that all intrinsics are lowered, because
some intrinsics might remain.
Commit: bde243259b3cc4404a82333a31a5a13c83ec6cb7
https://github.com/llvm/llvm-project/commit/bde243259b3cc4404a82333a31a5a13c83ec6cb7
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
R llvm/include/llvm/Analysis/MemoryRefInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
R llvm/test/Instrumentation/AddressSanitizer/RISCV/asan-rvv-intrinsics.ll
Log Message:
-----------
Revert "[Asan] Provide TTI hook to provide memory reference infromation of target intrinsics. (#97070)"
This reverts commit e8ad87c7d06afe8f5dde2e4c7f13c314cb3a99e9.
This reverts commit d3c9bb0cf811424dcb8c848cf06773dbdde19965.
A few buildbots trip up on asan-rvv-intrinsics.ll. I've also reverted
the follow-up commit d3c9bb0cf8.
https://lab.llvm.org/buildbot/#/builders/46/builds/2895
Commit: 8f0c865d1024a9ff7f3f1b0d3e47a6c9f5f672c2
https://github.com/llvm/llvm-project/commit/8f0c865d1024a9ff7f3f1b0d3e47a6c9f5f672c2
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/LiteralSupport.cpp
M clang/test/Lexer/char-escapes-delimited.c
Log Message:
-----------
Fix a crash with empty escape sequences when lexing (#102339)
The utilities we use for lexing string and character literals can be run
in a mode where we pass a null pointer for the diagnostics engine. This
mode is used by the format string checkers, for example. However, there
were two places that failed to account for a null diagnostic engine
pointer: `\o{}` and `\x{}`.
This patch adds a check for a null pointer and correctly handles
fallback behavior.
Fixes #102218
Commit: 1a92cc5a0ad108c515b1c383645ff70069c12077
https://github.com/llvm/llvm-project/commit/1a92cc5a0ad108c515b1c383645ff70069c12077
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/config/CMakeLists.txt
A libc/config/app.h
A libc/config/gpu/app.h
M libc/config/gpu/entrypoints.txt
R libc/config/linux/CMakeLists.txt
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/getenv.cpp
M libc/src/sys/auxv/linux/CMakeLists.txt
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/startup/gpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/CMakeLists.txt
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/do_start.h
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/test/integration/src/stdlib/CMakeLists.txt
Log Message:
-----------
[libc] Implement 'getenv' on the GPU target (#102376)
Summary:
This patch implements 'getenv'. I was torn on how to implement this,
since realistically we only have access to this environment pointer in
the "loader" interface. An alternative would be to use an RPC call every
time, but I think that's overkill for what this will be used for. A
better solution is just to emit a common `DataEnvironment` that contains
all of the host visible resources to initialize. Right now this is the
`env_ptr`, `clock_freq`, and `rpc_client`.
I did this by making the `app.h` interface that Linux uses more general,
could possibly move that into a separate patch, but I figured it's
easier to see with the usage.
Commit: 7e7a439705f4926a798785579aeb9bfff07049c7
https://github.com/llvm/llvm-project/commit/7e7a439705f4926a798785579aeb9bfff07049c7
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Introduce CombinedVectorize nodes, NFC. (#99309)
This adds combined vectorized node. It simplifies handling of the
combined nodes, like select/cmp, which can be reduced to min/max,
mul/add transformed to fma, etc. Improves cost mode handling and may end
up with better codegen in future (direct emission of the intrinsics).
Commit: 135fecd4441068667ef23f56098befd0c42f89f2
https://github.com/llvm/llvm-project/commit/135fecd4441068667ef23f56098befd0c42f89f2
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Driver/Options.td
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-definitions.c
A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-sizeof.c
A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
M clang/test/CodeGen/target-data.c
A clang/test/CodeGenCXX/zos-mangle-ptr-size-address-space.cpp
A clang/test/Sema/ZOSExtensions.cpp
A clang/test/Sema/attr-print-zos.c
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
Log Message:
-----------
[SystemZ][z/OS] __ptr32 support for z/OS (#101696)
Enabling __ptr32 keyword to support in Clang for z/OS. It is represented
by addrspace(1) in LLVM IR. Unlike existing implementation, __ptr32 is
not mangled into symbol names for z/OS.
Commit: fbb0619fe2acea4ac8764d13b754505ed8f1b578
https://github.com/llvm/llvm-project/commit/fbb0619fe2acea4ac8764d13b754505ed8f1b578
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/ADT/GraphTraits.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/Support/GenericDomTree.h
Log Message:
-----------
[Support][ADT] Minor cleanups after #101706 (#102180)
Fix GraphHasNodeNumbers indicator for graphs where NodeRef is not the
graph type (e.g., Inverse<...>).
Add static_assert tests to MachineBasicBlock GraphTraits.
Use GraphHasNodeNumbers in DomTreeBase.
Don't include ad-hoc numbering map for numbered graphs in DomTreeBase.
Commit: 15dacb452f3ae210837f5fc0839489d9801c8fc3
https://github.com/llvm/llvm-project/commit/15dacb452f3ae210837f5fc0839489d9801c8fc3
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU][AsmParser] Print names of parsed registers in debug output. (#102328)
Knowing just their numeric values is not very helpful.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: b8c560f1592648197d01f402dec5592a72d46c96
https://github.com/llvm/llvm-project/commit/b8c560f1592648197d01f402dec5592a72d46c96
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
M clang/cmake/modules/AddClang.cmake
M clang/tools/clang-linker-wrapper/CMakeLists.txt
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M flang/tools/flang-driver/CMakeLists.txt
M lld/cmake/modules/AddLLD.cmake
M lld/tools/lld/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/tools/bugpoint/CMakeLists.txt
M llvm/tools/llc/CMakeLists.txt
M llvm/tools/llvm-lto2/CMakeLists.txt
M llvm/tools/opt/CMakeLists.txt
M llvm/unittests/Analysis/CMakeLists.txt
M llvm/unittests/Passes/Plugins/CMakeLists.txt
M mlir/tools/mlir-opt/CMakeLists.txt
Log Message:
-----------
[CMake] Remove EXPORT_SYMBOLS_FOR_PLUGINS from #102138 (#102396)
Partially remove some of the changes from #102138 as
EXPORT_SYMBOLS_FOR_PLUGINS doesn't work on all the configurations.
Commit: ea1dee76c7bc88ada21686fb2579a3ed7f284028
https://github.com/llvm/llvm-project/commit/ea1dee76c7bc88ada21686fb2579a3ed7f284028
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Don't diagnose indexing arrays with index 0 (#102454)
Even if the array is of unknown bounds, index 0 is fine.
Commit: 47d831f2c90225a7d267ec5e3149d5584287dbbc
https://github.com/llvm/llvm-project/commit/47d831f2c90225a7d267ec5e3149d5584287dbbc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AMDGPU/arith-sminmax.ll
M llvm/test/Analysis/CostModel/AMDGPU/arith-uminmax.ll
M llvm/test/Analysis/CostModel/ARM/cmps.ll
M llvm/test/Analysis/CostModel/ARM/reduce-smax.ll
M llvm/test/Analysis/CostModel/ARM/reduce-smin.ll
M llvm/test/Analysis/CostModel/ARM/reduce-umax.ll
M llvm/test/Analysis/CostModel/ARM/reduce-umin.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/min_max.ll
Log Message:
-----------
TTI: Check legalization cost of min/max ISD nodes (#100514)
Instead of counting the cost of the assumed expansion.
The AMDGPU costs for the i64 case look too high to me.
Preserve default expansion logic
Commit: 46bf5d547fa7f6066019750effaa6c2aa119a8da
https://github.com/llvm/llvm-project/commit/46bf5d547fa7f6066019750effaa6c2aa119a8da
Author: ykhatav <yashasvi.khatavkar at intel.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/IR/Metadata.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/DebugInfo/X86/undef-dbg-val.ll
Log Message:
-----------
Globalopt pass produces invalid debug info (#100654)
This patch fixes an issue in the GlobalOpt pass where deleting a global
variable fails to update the corresponding dbg.value and it references
an empty metadata entry. The SalvageDebugInfo() function has been
updated to handle dbg.value intrinsic when globals are deleted.
Commit: 1139dee910c45cfdd4a6066b22addef585e04032
https://github.com/llvm/llvm-project/commit/1139dee910c45cfdd4a6066b22addef585e04032
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
Log Message:
-----------
[SimplifyCFG] Add more sinking tests (NFC)
Commit: fd7d7882e7fa5a38d4bfde426120d4663718beb4
https://github.com/llvm/llvm-project/commit/fd7d7882e7fa5a38d4bfde426120d4663718beb4
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Use iterators to insert everywhere (#102003)
These are the final few places in LLVM where we use instruction pointers
to identify the position that we're inserting something. We're trying to
get away from that with a view to deprecating those methods, thus use
iterators in all these places. I believe they're all debug-info safe.
The sketchiest part is the ExtractValueInst copy constructor, where we
cast nullptr to a BasicBlock pointer, so that we take the non-default
insert-into-no-block path for instruction insertion, instead of the
default nullptr-instruction path for UnaryInstruction. Such a hack is
necessary until we get rid of the instruction constructor entirely.
Commit: b143b2483fc5d7e73763ff9292dec6479552de9e
https://github.com/llvm/llvm-project/commit/b143b2483fc5d7e73763ff9292dec6479552de9e
Author: Chris Apple <cja-private at pm.me>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Bitcode/attributes.ll
M llvm/test/Bitcode/compatibility.ll
Log Message:
-----------
[LLVM][rtsan] Add sanitize_realtime attribute for the realtime sanitizer (#100596)
Add a new "sanitize_realtime" attribute, which will correspond to the
nonblocking function effect in clang. This is used in the realtime
sanitizer transform.
Please see the [reviewer support
document](https://github.com/realtime-sanitizer/radsan/blob/doc/review-support/doc/review.md)
for what our next steps are. The original discourse thread can be found
[here](https://discourse.llvm.org/t/rfc-nolock-and-noalloc-attributes/76837)
Commit: 59531cf01eb791f4cef88c2757d399eb3d90a086
https://github.com/llvm/llvm-project/commit/59531cf01eb791f4cef88c2757d399eb3d90a086
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/runtime/edit-input.cpp
Log Message:
-----------
[flang] Set the offset based on the significant bytes in the boz input in big endian (#102334)
The offset to the input data should be counted from most significant bit
instead of zero in the big endian environment.
Commit: 29817a96262aa96f3e0be632d91ab810e75f728d
https://github.com/llvm/llvm-project/commit/29817a96262aa96f3e0be632d91ab810e75f728d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-sub.ll
Log Message:
-----------
[X86] Add test coverage for #74101
Commit: 2b1122eaec0d0b335feeac4adfaab2e3e04b7bd9
https://github.com/llvm/llvm-project/commit/2b1122eaec0d0b335feeac4adfaab2e3e04b7bd9
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/FuzzMutate/OpDescriptor.h
M llvm/lib/FuzzMutate/IRMutator.cpp
M llvm/lib/FuzzMutate/Operations.cpp
M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-stress/llvm-stress.cpp
M llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/FuzzMutate/OperationsTest.cpp
M llvm/unittests/IR/BasicBlockTest.cpp
M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Use iterator-insertion in unittests and fuzzer (#102015)
These are the final few places in LLVM that use instruction pointers to
insert instructions -- use iterators instead, which is needed for
debug-info correctness in the future. Most of this is a gentle
scattering of getIterator calls or not deref-then-addrofing iterators.
libfuzzer does require a storage change to keep built instruction
positions in a container though. The unit-test changes are very
straightforwards.
This leaves us in a position where libfuzzer can't fuzz on either of
debug-info records, however I don't believe that fuzzing of debug-info
is in scope for the library.
Commit: fdf8e3e31103bc81917cdb27150877f524bb2669
https://github.com/llvm/llvm-project/commit/fdf8e3e31103bc81917cdb27150877f524bb2669
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/test/Modules/check-for-sanitizer-feature.cpp
M clang/test/Modules/ignored_macros.m
M clang/test/Modules/load_failure.c
M clang/test/Modules/merge-target-features.cpp
M clang/test/Modules/mismatch-diagnostics.cpp
M clang/test/Modules/module-pch-different-cache-path.c
M clang/test/Modules/pr62359.cppm
M clang/test/PCH/arc.m
M clang/test/PCH/fuzzy-pch.c
M clang/test/PCH/module-hash-difference.m
M clang/test/PCH/ms-pch-macro.c
M clang/test/PCH/no-validate-pch.cl
Log Message:
-----------
[Modules][Diagnostic] Mention which AST file's options differ from the current TU options. (#101413)
Claiming a mismatch is always in a precompiled header is wrong and
misleading as a mismatch can happen in any provided AST file. Emitting a
path for a file with a problem allows to disambiguate between multiple
input files.
Use generic term "AST file" because we don't always know a kind of the
provided file (for example, see `ASTReader::readASTFileControlBlock`).
rdar://65005546
Commit: 37a94b7eddeab0ae42207699fb9be37587172a9e
https://github.com/llvm/llvm-project/commit/37a94b7eddeab0ae42207699fb9be37587172a9e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Analysis/MustExecute.cpp
M llvm/test/Transforms/LICM/hoist-mustexec.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
Log Message:
-----------
[LICM][MustExec] Make must-exec logic for IV condition commutative (#93150)
MustExec has special logic to determine whether the first loop iteration
will always be executed, by simplifying the IV comparison with the start
value. Currently, this code assumes that the IV is on the LHS of the
comparison, but this is not guaranteed. Make sure it handles the
commuted variant as well.
The changed PhaseOrdering test previously performed peeling to make the
loads dereferenceable -- as a side effect, this also reduced the exit
count by one, avoiding the awkward <= MAX case.
Now we know up-front the the loads are dereferenceable and can be simply
hoisted. As such, we retain the original exit count and now have to
handle it by widening the exit count calculation to i128. This is a
regression, but at least it preserves the vectorization, which was the
original goal. I'm not sure what else can be done about that test.
Commit: 22a130220c306935ff9bd6bfcb5ee7ce1600e304
https://github.com/llvm/llvm-project/commit/22a130220c306935ff9bd6bfcb5ee7ce1600e304
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][vector] Add more tests for ConvertVectorToLLVM (1/n) (#101936)
Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:
* vector.bitcast
* vector.broadcast
Note, this has uncovered some missing logic in `BroadcastOpLowering`.
This PR fixes the most basic cases where the scalable flags were dropped
and the generated code was incorrect. Also, the conditions in
`vector::isBroadcastableTo` are relaxed to allow cases like this:
```mlir
%0 = vector.broadcast %arg0 : vector<1xf32> to vector<[4]xf32>
```
The `BroadcastOpLowering` pattern is effectively disabled for scalable
vectors in more complex cases where an SCF loop would be required to
loop over the scalable dims, e.g.:
```mlir
%0 = vector.broadcast %arg0 : vector<[4]x1x2xf32> to vector<[4]x3x2xf32>
```
These cases are marked as "Stretch not at start" in the code. In those
cases, support for scalable vectors is left as a TODO.
Commit: 435717556908a79748de22c21e3a0ee06a933036
https://github.com/llvm/llvm-project/commit/435717556908a79748de22c21e3a0ee06a933036
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[re-format][Modules] Follow-up formatting to "Mention which AST file's options differ from the current TU options." (#102484)
Fix formatting for fdf8e3e31103bc81917cdb27150877f524bb2669.
Commit: b24737d3ac522fc4e36d3be5b52ffca9d53e30b5
https://github.com/llvm/llvm-project/commit/b24737d3ac522fc4e36d3be5b52ffca9d53e30b5
Author: Jerry Zhang Jian <jerry.zhangjian at sifive.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[NFC][RISCV] use OS.indent() to replace spaces (#102429)
Commit: b2e69f52bb5da067109b9a7d1f73d0dd1a6bb5ad
https://github.com/llvm/llvm-project/commit/b2e69f52bb5da067109b9a7d1f73d0dd1a6bb5ad
Author: hev <wangrui at loongson.cn>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/LoongArch/LoongArch.h
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
A llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/test/CodeGen/LoongArch/block-address.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64d.ll
M llvm/test/CodeGen/LoongArch/double-imm.ll
M llvm/test/CodeGen/LoongArch/float-imm-vldi.ll
M llvm/test/CodeGen/LoongArch/float-imm.ll
M llvm/test/CodeGen/LoongArch/ghc-cc.ll
M llvm/test/CodeGen/LoongArch/global-address.ll
M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-f.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/double-convert.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store.ll
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/loongarch_generated_funcs.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/loongarch_generated_funcs.ll.nogenerated.expected
M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn
Log Message:
-----------
[LoongArch] Add machine function pass to merge base + offset (#101139)
This commit references RISC-V to add a machine function pass to merge
the base address and offset.
Commit: a760df316510fc56576d0934f33577a4ce64b146
https://github.com/llvm/llvm-project/commit/a760df316510fc56576d0934f33577a4ce64b146
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
A clang/test/SemaCXX/single-element-init-list.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2137 (list-initialization from objects of the same type) (#94355)
[CWG2137](https://cplusplus.github.io/CWG/issues/2137.html)
This was previously implemented and then reverted in Clang 18 as #77768
This also implements a workaround for
[CWG2311](https://cplusplus.github.io/CWG/issues/2311.html), similarly
to the 2024-03-01 comment for
[CWG2742](https://cplusplus.github.io/CWG/issues/2742.html).
The exact wording this tries to implement, relative to the C++26 draft:
[over.match.list]p(1.2)
> Otherwise, or if no viable initializer-list constructor is found
<ins>and the initializer list does not consist of exactly a single
element with the same cv-unqualified class type as `T`</ins>, overload
resolution is performed again, [...]
[dcl.init.list]p(3.7)
> Otherwise, if `T` is a class type, constructors are considered. The
applicable constructors are enumerated and the best one is chosen
through overload resolution. <ins>If no constructor is found and the
initializer list consists of exactly a single element with the same
cv-unqualified class type as `T`, the object is initialized from that
element (by copy-initialization for copy-list-initialization, or by
direct-initialization for direct-list-initialization). Otherwise,</ins>
if a narrowing conversion (see below) is required [...]
Commit: 899f648866affd011baae627752ba15baabc2ef9
https://github.com/llvm/llvm-project/commit/899f648866affd011baae627752ba15baabc2ef9
Author: David Tenty <daltenty at ibm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Support/regcomp.c
Log Message:
-----------
[NFC][llvm][support] rename INFINITY in regcomp (#101758)
since C23 this macro is defined by float.h, which clang implements in
it's float.h since #96659 landed.
However, regcomp.c in LLVMSupport happened to define it's own macro with
that name, leading to problems when bootstrapping. This change renames
the offending macro.
Commit: 7a4fc7491ce8083d81f1bffa7fa9546cb53aa5e0
https://github.com/llvm/llvm-project/commit/7a4fc7491ce8083d81f1bffa7fa9546cb53aa5e0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Fix insertelement has multiple uses. (#102329)
Commit: 7e5fe697bf408172250b077e151ace3a834da2cc
https://github.com/llvm/llvm-project/commit/7e5fe697bf408172250b077e151ace3a834da2cc
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86MachineFunctionInfo.h
Log Message:
-----------
[X86] Speed up checking clobbered FP/BP (#102365)
Most functions don't clobber frame register and base pointer. They are
usually caused by inline asm and function call. So we can record if a
function call clobber FP/BP at lowering phase, and later we can check
the recorded information and return early.
Commit: da492d438790cc7c51f962071a887af7d20be30d
https://github.com/llvm/llvm-project/commit/da492d438790cc7c51f962071a887af7d20be30d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Fix return of `DropUnitDimsFromTransposeOp` pattern (#102478)
This accidentally returned `failure()` (rather than `success()`) when it
applied.
Commit: 722c066c59b25bc73f41dbe92193319aa5b8783a
https://github.com/llvm/llvm-project/commit/722c066c59b25bc73f41dbe92193319aa5b8783a
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/config/config.json
M libc/docs/configure.rst
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/time_t.h
A libc/include/llvm-libc-types/time_t_32.h
A libc/include/llvm-libc-types/time_t_64.h
Log Message:
-----------
[libc] Make use of 32-bit time_t a config option (#102012)
The 32-bit Arm builds of libc define time_t to be `__INTPTR_TYPE__`,
i.e. a 32-bit integer. This is commented in the commit introducing it
(75398f28ebdb600) as being for compatibility with glibc. But in the near
future not even every AArch32 build of glibc will have a 32-bit time_t:
Debian is planning that their next release (trixie) will have switched
to 64-bit. And non-Linux builds of this libc (e.g. baremetal) have no
reason to need glibc compatibility in the first place – and every reason
_not_ to want to start using a 32-bit time_t in 2024 or later.
So I've replaced the `#ifdef` in `llvm-libc-types/time_t.h` with two
versions of the header file, chosen in `CMakeLists.txt` via a new
configuration option. This involved adding an extra parameter to the
cmake `add_header` function to specify different names for the header
file in the source and destination directories.
Commit: eddfd504f8bd54b8723ffaa6667e61ecf393652b
https://github.com/llvm/llvm-project/commit/eddfd504f8bd54b8723ffaa6667e61ecf393652b
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/spec/stdc.td
M libc/src/__support/FPUtil/generic/div.h
M libc/src/math/CMakeLists.txt
A libc/src/math/ddivl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/ddivl.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/DivTest.h
A libc/test/src/math/ddivl_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/ddivl_test.cpp
Log Message:
-----------
[libc][math][c23] Add ddivl C23 math function. (#102468)
Commit: 4189add58eb82d010ea0b8e29d94b27231619974
https://github.com/llvm/llvm-project/commit/4189add58eb82d010ea0b8e29d94b27231619974
Author: Andrey Timonin <112198242+EtoAndruwa at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
Log Message:
-----------
[NFC][mlir][scf] Fix SCF dialect's operations' descriptions (#101653)
- Added the dialect's prefix to operations' descriptions to follow the
same style inside the TableGen file.
- Minor changes in some operations' descriptions.
Commit: 2a05971de2a59a99ef759a6f45828064c2dbeacf
https://github.com/llvm/llvm-project/commit/2a05971de2a59a99ef759a6f45828064c2dbeacf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/SLP-cmp-cost-query.ll
Log Message:
-----------
[SLP]Add index of the node to the short name output.
Improves debugging experience, does nothing with the functionality.
Commit: be40c723ce2b7bf2690d22039d74d21b2bd5b7cf
https://github.com/llvm/llvm-project/commit/be40c723ce2b7bf2690d22039d74d21b2bd5b7cf
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/while-break.ll
M llvm/test/Transforms/StructurizeCFG/AMDGPU/loop-subregion-misordered.ll
M llvm/test/Transforms/StructurizeCFG/loop-break-phi.ll
Log Message:
-----------
Revert "StructurizeCFG: Optimize phi insertion during ssa reconstruction (#101301)"
This reverts commit c62e2a2a4ed69d53a3c6ca5c24ee8d2504d6ba2b.
Since it caused regression in HIP buildbot:
https://lab.llvm.org/buildbot/#/builders/123/builds/3282
Commit: 04da77308fcff417d9c925502d92d70761b5054b
https://github.com/llvm/llvm-project/commit/04da77308fcff417d9c925502d92d70761b5054b
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/test/Assembler/range-attribute-invalid-range.ll
M llvm/test/Bitcode/attributes.ll
M llvm/test/Transforms/Inline/ret_attr_align_and_noundef.ll
Log Message:
-----------
Allow empty range attribute and add assert for full range (#100601)
fix #99619
Commit: 32c69faa6ce58333c26293a7708fa3f71991c55c
https://github.com/llvm/llvm-project/commit/32c69faa6ce58333c26293a7708fa3f71991c55c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/diamond.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_reordered_users.ll
Log Message:
-----------
[SLP] Regenerate test checks to reduce NFC diff in #100904
Commit: 73aa4e4b3ec69480cc3981ab3eda091fc95f30cf
https://github.com/llvm/llvm-project/commit/73aa4e4b3ec69480cc3981ab3eda091fc95f30cf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
Log Message:
-----------
[RISCV] Use listconcat to shorten some of the profile feature lists. (#102356)
The profiles in a family gain more features overtime so each year can
mostly inherit from the previous year.
I did make an exception for Za128rs becoming Za64rs in RVA22.
Technically Za64rs is a stricter requirement than Za128rs so it would be
ok to have both, but I didn't want to change existing ISA strings.
I used RVA20U64BaseFeatures as the base for RVB23U64 to shorten its list
a bit. RVB23 is the first year for that family and was created as a
reaction to too many features being added to RVA so inheriting from an
earlier RVA seemed somewhat reasonable to me.
Commit: 59728193a688a21c1999579044d84d7ee0183e80
https://github.com/llvm/llvm-project/commit/59728193a688a21c1999579044d84d7ee0183e80
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
M llvm/test/Transforms/LoopVectorize/RISCV/zvl32b.ll
Log Message:
-----------
[RISCV] Disable fixed length vectors with Zve32* without Zvl64b. (#102405)
Fixed length vectors use scalable vector containers. With Zve32* and not
Zvl64b, vscale is a 0.5 due RVVBitsPerBlock being 64.
To support this correctly we need to lower RVVBitsPerBlock to 32 and
change our type mapping. But we need to RVVBitsPerBlock to alway be
>= ELEN. This means we need two different mapping depending on ELEN.
That is a non-trivial amount of work so disable fixed lenght vectors
without Zvl64b for now.
We had almost no tests for Zve32x without Zvl64b which is probably why
we never realized that it was broken.
Fixes #102352.
Commit: a262ac0c680b8907617d30b5d53f438e75e7ce13
https://github.com/llvm/llvm-project/commit/a262ac0c680b8907617d30b5d53f438e75e7ce13
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
Log Message:
-----------
[flang][cuda] Make operations dynamically legal in cuf op conversion (#102220)
Commit: 3e7135750cfe41e8b093e19ce5b85ad937e064fd
https://github.com/llvm/llvm-project/commit/3e7135750cfe41e8b093e19ce5b85ad937e064fd
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/Driver/ppc-dependent-options.cpp
A clang/test/Driver/ppc-soft-float.c
Log Message:
-----------
[PPC] Disable vsx and altivec when -msoft-float is used (#100450)
We emit an error when -msoft-float and -maltivec/-mvsx is used together,
but when -msoft-float is used on its own, there is still +altivec and
+vsx in the IR attributes. This patch disables altivec and vsx and all
related sub features when -msoft-float is used.
Commit: 876ee11eeeb2b6a7ccfefea00265b4bfd5f9b6dd
https://github.com/llvm/llvm-project/commit/876ee11eeeb2b6a7ccfefea00265b4bfd5f9b6dd
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
M clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
M clang/test/AST/attr-sized-by-struct-ptrs.c
M clang/test/Sema/attr-counted-by-bounds-safety-vlas.c
M clang/test/Sema/attr-counted-by-or-null-last-field.c
M clang/test/Sema/attr-counted-by-or-null-struct-ptrs-sizeless-types.c
M clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
M clang/test/Sema/attr-counted-by-or-null-vla-sizeless-types.c
M clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
M clang/test/Sema/attr-counted-by-struct-ptrs.c
M clang/test/Sema/attr-counted-by-vla-sizeless-types.c
M clang/test/Sema/attr-counted-by-vla.c
M clang/test/Sema/attr-sized-by-last-field.c
M clang/test/Sema/attr-sized-by-or-null-last-field.c
M clang/test/Sema/attr-sized-by-or-null-struct-ptrs-sizeless-types.c
M clang/test/Sema/attr-sized-by-or-null-struct-ptrs.c
M clang/test/Sema/attr-sized-by-or-null-vla-sizeless-types.c
M clang/test/Sema/attr-sized-by-struct-ptrs-sizeless-types.c
M clang/test/Sema/attr-sized-by-struct-ptrs.c
M clang/test/Sema/attr-sized-by-vla-sizeless-types.c
Log Message:
-----------
[Bounds Safety][NFC] Add some missing coverage for `-fexperimental-late-parse-attributes` (#102236)
Previously we weren't properly checking that using
`-fexperimental-late-parse-attributes` worked on source code that didn't
need late parsing.
For example we weren't testing that the attribute appearing in the type
position generated the right AST with
`-fexperimental-late-parse-attributes` off.
This patch adds additional `RUN` lines to re-run the relevant test cases
with `-fexperimental-late-parse-attributes` enabled.
rdar://133325597
Commit: 6b78e94110dda175b248b1c361a098236522e1e2
https://github.com/llvm/llvm-project/commit/6b78e94110dda175b248b1c361a098236522e1e2
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[libc][CMake] Fix build issues of libc on Windows (#102499)
Due to an issue mentioned in `llvm/projects/CMakeLists.txt`, libc build
is disabled by default when building with `clang-cl` on Windows. This PR
sets `LLVM_FORCE_BUILD_RUNTIME` to `ON` to bypass this limit for libc
and make libc build with `clang-cl` on Windows.
Commit: ad00e8a8ddf8fd5e3a49a1319bec93bfea8d37c1
https://github.com/llvm/llvm-project/commit/ad00e8a8ddf8fd5e3a49a1319bec93bfea8d37c1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Replace m_SpecificInt(1) -> m_One()
For SDPatternMatch there's no difference in undef/poison vector element handling - in fact m_One() just wraps m_SpecificInt(1)
Commit: 5ab7b0de0ba59ca3b89db7b5bb72282f2d51c5e2
https://github.com/llvm/llvm-project/commit/5ab7b0de0ba59ca3b89db7b5bb72282f2d51c5e2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads.ll
Log Message:
-----------
[SLP][NFC]Add a test for segmented load, NFC.
Commit: 4516e631554ef05cfe38600097c7993be538c636
https://github.com/llvm/llvm-project/commit/4516e631554ef05cfe38600097c7993be538c636
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Pass the CMake binary dir directly (#102493)
Summary:
The usage of `LLVM_CMAKE_DIR` is confusing in CMake, because in LLVM it
refers to `llvm/cmake/modules/` while compiler-rt wants the `build/` dir
for finding LLVM. THis passes it manually.
Commit: 4d2009cdc7f5af9609e4dfec30db625db1a6cd5b
https://github.com/llvm/llvm-project/commit/4d2009cdc7f5af9609e4dfec30db625db1a6cd5b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] FindSingleBitChange - use m_SpecificInt directly when peeking through shiftmasks
No change in poison/undef detection
Commit: 9ddff0b93e01d603a1a9b04c32505095841c5be5
https://github.com/llvm/llvm-project/commit/9ddff0b93e01d603a1a9b04c32505095841c5be5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] FindSingleBitChange - reduce scope of dyn_cast checks. NFC.
Commit: 458fa12202868281f11680a18878d57defcccc9f
https://github.com/llvm/llvm-project/commit/458fa12202868281f11680a18878d57defcccc9f
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M .github/workflows/libclang-python-tests.yml
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
[Github] Allow CI to run different Python version tests at once (#102455)
Previously, #77219 added a `python_version` parameter for the Github
Actions CI Ninja-based build tests. This is necessary to run component
tests on different Python versions, as is currently done by the only
user of this parameter, the [Libclang Python bindings
test](https://github.com/llvm/llvm-project/blob/main/.github/workflows/libclang-python-tests.yml).
The parameter is missing from the concurrency group of the
workflow, meaning that starting the workflow with two different Python
versions immediately cancels one of them, as pointed out by
https://github.com/llvm/llvm-project/pull/77219#issuecomment-1937105822.
This change fixes that problem by making the Python version part of the
concurrency group key, and removes the superfluous concurrency group
from the calling workflow.
Commit: 6b5308b7924108d63149d7c521f21c5e90da7a09
https://github.com/llvm/llvm-project/commit/6b5308b7924108d63149d7c521f21c5e90da7a09
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[NFC] Remove unnecessary copy of Triples (#102469)
Remove unnecessary copy of Triple in ItaniumMangle.cpp, SemaType.cpp
Commit: 28ba8a56b6fb9ec61897fa84369f46e43be94c03
https://github.com/llvm/llvm-project/commit/28ba8a56b6fb9ec61897fa84369f46e43be94c03
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
M lldb/source/Symbol/ObjectFile.cpp
A lldb/test/Shell/ObjectFile/ELF/Inputs/memory-elf.cpp
A lldb/test/Shell/ObjectFile/ELF/elf-dynamic-no-shdrs.yaml
A lldb/test/Shell/ObjectFile/ELF/elf-memory.test
Log Message:
-----------
[LLDB] Impove ObjectFileELF's .dynamic parsing and usage. (#101237)
This patch improves the ability of a ObjectFileELF instance to read the .dynamic section. It adds the ability to read the .dynamic section from the PT_DYNAMIC program header which is useful for ELF files that have no section headers and for ELF files that are read from memory. It cleans up the usage of the .dynamic entries so that ObjectFileELF::ParseDynamicSymbols() is the only code that parses .dynamic entries, teaches that function the read and store the string values for each .dynamic entry. We now dump the .dynamic entries in the output of "image dump objfile". It also cleans up the code that gets the dynamic string table so that it can grab it from the DT_STRTAB and DT_STRSZ .dynamic entries for when we have a ELF file with no section headers or we are reading it from memory.
Commit: d9af9cf436ad1b892ecf8b794b0052135cc4029c
https://github.com/llvm/llvm-project/commit/d9af9cf436ad1b892ecf8b794b0052135cc4029c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/assign03.f90
Log Message:
-----------
[flang] Don't set Subroutine flag on PROCEDURE() pointers (#102011)
External procedures about which no characteristics are known -- from
EXTERNAL and PROCEDURE() statements of entities that are never called --
are marked as subroutines. This shouldn't be done for procedure
pointers, however.
Fixes https://github.com/llvm/llvm-project/issues/101908.
Commit: d46c639ebf19eacc6bd37240981ff1b1ef497b1b
https://github.com/llvm/llvm-project/commit/d46c639ebf19eacc6bd37240981ff1b1ef497b1b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/include/flang/Evaluate/type.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/test/Semantics/allocate08.f90
Log Message:
-----------
[flang] Fix derived type compatibility checking in ALLOCATE (#102035)
The derived type compatibility checking for ALLOCATE statements with
SOURCE= or MOLD= was only checking for the same derived type name. That
is a necessary but not sufficient check, and it can produce bogus errors
as well as miss valid errors.
Fixes https://github.com/llvm/llvm-project/issues/101909.
Commit: e83c5b25f3173791d72b14d3837a07a6b55b871c
https://github.com/llvm/llvm-project/commit/e83c5b25f3173791d72b14d3837a07a6b55b871c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/resolve77.f90
M flang/test/Semantics/stmt-func01.f90
Log Message:
-----------
[flang] Warn about automatic data in main program, disallow in BLOCK … (#102045)
…DATA
We allow automatic data objects in the specification part of the main
program; add an optional portability warning and documentation. Don't
allow them in BLOCK DATA. They're already disallowed as module
variables.
Commit: 9390eb92212a584db75101d7e0ecd3f8819cd201
https://github.com/llvm/llvm-project/commit/9390eb92212a584db75101d7e0ecd3f8819cd201
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-do-forall.h
M flang/test/Semantics/call11.f90
Log Message:
-----------
[flang] Catch impure calls in nested concurrent-headers (#102075)
The start, end, and stride expressions of a concurrent-header in a DO
CONCURRENT or FORALL statement can contain calls to impure functions...
unless they appear in a statement that's nested in an enclosing DO
CONCURRENT or FORALL construct. Ensure that we catch this nested case.
Commit: 7c512cef61ea6894c09da8ae5dad6f1ed44812f7
https://github.com/llvm/llvm-project/commit/7c512cef61ea6894c09da8ae5dad6f1ed44812f7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
M flang/module/__fortran_ieee_exceptions.f90
M flang/test/Semantics/doconcurrent01.f90
Log Message:
-----------
[flang] Disallow references to some IEEE procedures in DO CONCURRENT (#102082)
There's a numbered constraint that prohibits calls to some IEEE
arithmetic and exception procedures within the body of a DO CONCURRENT
construct. Clean up the implementation to catch missing cases.
Commit: 25822dc392dcb8e15f6b24feecce06f28d07b8ad
https://github.com/llvm/llvm-project/commit/25822dc392dcb8e15f6b24feecce06f28d07b8ad
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/call10.f90
A flang/test/Semantics/typeinfo11.f90
Log Message:
-----------
[flang] Fix searches for polymorphic components (#102212)
FindPolymorphicAllocatableUltimateComponent needs to be
FindPolymorphicAllocatablePotentialComponent. The current search is
missing cases where a derived type has an allocatable component whose
type has a polymorphic allocatable component.
Commit: 245eb0a716a839ebe18bd5d489184bebd352e769
https://github.com/llvm/llvm-project/commit/245eb0a716a839ebe18bd5d489184bebd352e769
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/bad-forward-type.f90
Log Message:
-----------
[flang] Catch structure constructor in its own type definition (#102241)
The check for a structure constructor to a forward-referenced derived
type wasn't tripping for constructors in the type definition itself. Set
the forward reference flag unconditionally at the beginning of name
resolution for the type definition.
Commit: b949a6f5e3219290ce090895e284d12fc76f9d61
https://github.com/llvm/llvm-project/commit/b949a6f5e3219290ce090895e284d12fc76f9d61
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-io.h
M flang/lib/Semantics/semantics.cpp
M flang/test/Semantics/io05.f90
M flang/test/Semantics/undef-result01.f90
Log Message:
-----------
[flang] Warn on useless IOMSG= (#102250)
An I/O statement with IOMSG= but neither ERR= nor IOSTAT= deserves a
warning to the effect that it's not useful.
Commit: 7ea78643fe1577afb60bfc670357a79be53a31e8
https://github.com/llvm/llvm-project/commit/7ea78643fe1577afb60bfc670357a79be53a31e8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/lib/Evaluate/check-expression.cpp
M flang/test/Semantics/structconst02.f90
Log Message:
-----------
[flang] Improve error message output (#102324)
When a local character variable with non-constant length has an
initializer, it's an error in a couple of ways (SAVE variable with
unknown size, static initializer that isn't constant due to conversion
to an unknown length). The error that f18 reports is the latter, but the
message contains a formatted representation of the initialization
expression that exposes a non-Fortran %SET_LENGTH() operation. Print the
original expression in the message instead.
Commit: 88a85942cefc6c2bb220da639c358e98a591d8b1
https://github.com/llvm/llvm-project/commit/88a85942cefc6c2bb220da639c358e98a591d8b1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Directly handle all atomicrmw cases in SIISelLowering (#102439)
Commit: a821fee312d15941174827a70cb534c2f2fe1177
https://github.com/llvm/llvm-project/commit/a821fee312d15941174827a70cb534c2f2fe1177
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/crel.s
Log Message:
-----------
[ELF] scanRelocations: support .crel.eh_frame
Follow-up to #98115. For EhInputSection, RelocationScanner::scan calls
sortRels, which doesn't support the CREL iterator. We should set
supportsCrel to false to ensure that the initial_location fields in
.eh_frame FDEs are relocated.
Commit: 0a62980ad386ec429beb69cbcb8e361a7a6283c4
https://github.com/llvm/llvm-project/commit/0a62980ad386ec429beb69cbcb8e361a7a6283c4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
A llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx10.mir
A llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
A llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
Log Message:
-----------
AMDGPU: Support VALU add instructions in localstackalloc (#101692)
Pre-enable this optimization before allowing folds of frame
indexes into add instructions. Disables this fold when using
scratch instructions for now. I see some code size improvements
with it, but the optimization needs to be smarter about the
uses depending on the register classes.
Commit: 8cae9dcd4a45ac78b22c05eff96b0fee3e1c5e55
https://github.com/llvm/llvm-project/commit/8cae9dcd4a45ac78b22c05eff96b0fee3e1c5e55
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/waitcnt-multiple-funcs.mir
Log Message:
-----------
[AMDGPU] Clear load addresses between functions (#102515)
SLoadAddresses previously held data across different functions and used
these for dominance queries of blocks in different functions. This is
not intended; clear the state at the end of the pass.
Commit: 0bc640774880121e3e59d11011313d3ee8c52b01
https://github.com/llvm/llvm-project/commit/0bc640774880121e3e59d11011313d3ee8c52b01
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/ARM/active_lane_mask.ll
M llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
Log Message:
-----------
TTI: Check legalization cost of add/sub overflow ISD nodes (#100518)
Commit: d52cc9de5ad92854613143bbd5f8b0771b2db1e1
https://github.com/llvm/llvm-project/commit/d52cc9de5ad92854613143bbd5f8b0771b2db1e1
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[Clang][AST][NFC] Store template parameter position for TemplateTypeParmType in TypeBit (#102481)
`TemplateTypeParmType` currently stores the depth, index, and whether a
template type parameter is a pack in a union of `CanonicalTTPTInfo` and
`TemplateTypeParmDecl*`, and only the canonical type stores the position
information. These bits can be stored for all `TemplateTypeParmTypes` in
`TypeBits` to avoid unnecessary indirection when accessing the position
information.
Commit: 5bbbdabd7eb6e0d5142db7b8ac4a220b7aa373cf
https://github.com/llvm/llvm-project/commit/5bbbdabd7eb6e0d5142db7b8ac4a220b7aa373cf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
Log Message:
-----------
TTI: Check legalization cost of mul overflow ISD nodes (#100519)
Commit: 6a482972e01bf347c8ac22fc90f96fa01cb4eec1
https://github.com/llvm/llvm-project/commit/6a482972e01bf347c8ac22fc90f96fa01cb4eec1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
Log Message:
-----------
TTI: Check legalization cost of mulfix ISD nodes (#100520)
Commit: 8334d2bfd34e2666db173269525d17352afa7bac
https://github.com/llvm/llvm-project/commit/8334d2bfd34e2666db173269525d17352afa7bac
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M lldb/docs/use/tutorial.rst
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
A lldb/test/API/functionalities/ambigous_commands/TestAmbiguousCommands.py
A lldb/test/API/functionalities/ambigous_commands/categories
Log Message:
-----------
[lldb/Interpreter] Fix ambiguous partial command resolution (#101934)
This patch is a follow-up to #97263 that fix ambigous abbreviated
command resolution.
When multiple commands are resolved, instead of failing to pick a
command to
run, this patch changes to resolution logic to check if there is a
single
alias match and if so, it will run the alias instead of the other
matches.
This has as a side-effect that we don't need to make aliases for every
substring of aliases to support abbrivated alias resolution.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 9a070d6d0f0c111c2269a912f98908c821993e37
https://github.com/llvm/llvm-project/commit/9a070d6d0f0c111c2269a912f98908c821993e37
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/src/math/sin_benchmark.cpp
M libc/benchmarks/gpu/timing/amdgpu/CMakeLists.txt
M libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/CMakeLists.txt
M libc/benchmarks/gpu/timing/nvptx/timing.h
Log Message:
-----------
[libc] [gpu] Add Generic, NvSin, and OcmlSinf64 Throughput Benchmark (#101917)
This PR implements
https://github.com/lntue/llvm-project/commit/2a158426d4b90ffaa3eaecc9bc10e5aed11f1bcf
to provide better throughput benchmarking for libc `sin()` and
`__nv_sin()`.
These changes have not been tested on AMDGPU yet, only compiled.
Commit: 8c3b6bd0cb04a6edc3b294f9048cbfb1ea6c200c
https://github.com/llvm/llvm-project/commit/8c3b6bd0cb04a6edc3b294f9048cbfb1ea6c200c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-program-global.cuf
Log Message:
-----------
[flang][cuda] Do not lower device variables in main program as globals (#102512)
Flang considers arrays in main program larger than 32 bytes having the
SAVE attribute and lowers them as globals. In CUDA Fortran, device
variables are not allowed to have the SAVE attribute and should be
allocated dynamically in the main program scope.
This patch updates lowering so CUDA Fortran device variables are not
considered with the SAVE attribute.
Commit: ba976971898d74df38d155c55e008c898120d1e4
https://github.com/llvm/llvm-project/commit/ba976971898d74df38d155c55e008c898120d1e4
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/jump-table.ll
Log Message:
-----------
[NVPTX] support switch statement with brx.idx (#102400)
Add custom lowering for `BR_JT` DAG nodes to the `brx.idx` PTX
instruction ([PTX ISA 9.7.13.4. Control Flow Instructions: brx.idx]
(https://docs.nvidia.com/cuda/parallel-thread-execution/#control-flow-instructions-brx-idx)).
Depending on the heuristics in DAG selection, `switch` statements may
now be lowered using `brx.idx`
Commit: 86cf67ffc1ee62c65bef313bf58ae70f74afb7c1
https://github.com/llvm/llvm-project/commit/86cf67ffc1ee62c65bef313bf58ae70f74afb7c1
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/newhdrgen/yaml_to_classes.py
Log Message:
-----------
[libc][newhdrgen] add_function by alphabetical order (#102527)
- add_function now adds the function by alphabetical order
Commit: 2756879000c5cde9e956bb38148ea13366cff439
https://github.com/llvm/llvm-project/commit/2756879000c5cde9e956bb38148ea13366cff439
Author: Artem Belevich <tra at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
R llvm/test/CodeGen/NVPTX/jump-table.ll
Log Message:
-----------
Revert "[NVPTX] support switch statement with brx.idx" (#102530)
Reverts llvm/llvm-project#102400
Causes LLVM to crash on some tests.
Commit: 1248698e9bb2a0232eee53a72679ed5077190a90
https://github.com/llvm/llvm-project/commit/1248698e9bb2a0232eee53a72679ed5077190a90
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/src/math/sin_benchmark.cpp
Log Message:
-----------
[libc] [gpu] Fix Minor Benchmark UI Issues (#102529)
Previously, `AmdgpuSinTwoPow_128` and others were too large for their
table cells. This PR shortens the name to `AmdSin...`
There were also some `-` missing in the separator. This PR instead
creates the separator string using the length of the headers.
Commit: bb7143f6669345825c214b26fbe336857f4bf523
https://github.com/llvm/llvm-project/commit/bb7143f6669345825c214b26fbe336857f4bf523
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
Log Message:
-----------
AMDGPU: Avoid creating unnecessary block split in atomic expansion (#102440)
This was creating a new block to insert the is.shared check, but we
can just do that in the original block.
Commit: 42b5540211927011856599d960216dae943e1d78
https://github.com/llvm/llvm-project/commit/42b5540211927011856599d960216dae943e1d78
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization-preserve-name.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
Log Message:
-----------
AMDGPU: Preserve atomicrmw name when specializing address space (#102470)
Commit: 373d35d1e157996e168bb4fcaef0348bea12e295
https://github.com/llvm/llvm-project/commit/373d35d1e157996e168bb4fcaef0348bea12e295
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
[scudo] Added test fixture for cache tests. (#102230)
The test fixture simplifies some of the logic for allocations and
mmap-based allocations
are separated from the cache to allow for more direct cache tests.
Additionally, a couple
of end to end tests for the cache and the LRU algorithm are added.
Commit: 1a6d60e0162b3ef767c87c95512dd453bf4f4746
https://github.com/llvm/llvm-project/commit/1a6d60e0162b3ef767c87c95512dd453bf4f4746
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
Log Message:
-----------
[ctx_prof] Fix the pre-thinlink "use" case (#102511)
Didn't notice in #101338 that the instrumentation in `llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll` was actually incorrect.
Commit: ae059a1f9f1e501b08a99cb636ec0869ec204c6f
https://github.com/llvm/llvm-project/commit/ae059a1f9f1e501b08a99cb636ec0869ec204c6f
Author: Brox Chen <broxigarchen at outlook.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
A llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
Log Message:
-----------
[AMDGPU][True16][CodeGen] support v_mov_b16 and v_swap_b16 in true16 format (#102198)
support v_swap_b16 in true16 format.
update tableGen pattern and folding for v_mov_b16.
---------
Co-authored-by: guochen2 <guochen2 at amd.com>
Commit: 1baa6f75f34068a0b3fc772457deeed2d44287f8
https://github.com/llvm/llvm-project/commit/1baa6f75f34068a0b3fc772457deeed2d44287f8
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
A llvm/test/CodeGen/X86/section-stats.ll
Log Message:
-----------
[llvm][ELF] Add statistics on various section sizes (#102363)
Useful with other infrastructure that consume LLVM statistics to get an
idea of distribution of section sizes.
The breakdown of various section types is subject to change, this is
just an initial go at gather some sort of stats.
Example stats compiling X86ISelLowering.cpp (-g1):
```
"elf-object-writer.AllocROBytes": 308268,
"elf-object-writer.AllocRWBytes": 6240,
"elf-object-writer.AllocTextBytes": 1659203,
"elf-object-writer.DebugBytes": 3180386,
"elf-object-writer.OtherBytes": 5862,
"elf-object-writer.RelocationBytes": 2623440,
"elf-object-writer.StrtabBytes": 228599,
"elf-object-writer.SymtabBytes": 120336,
"elf-object-writer.UnwindBytes": 85216,
```
Commit: 967185eeb85abb77bd6b6cdd2b026d5c54b7d4f3
https://github.com/llvm/llvm-project/commit/967185eeb85abb77bd6b6cdd2b026d5c54b7d4f3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
Log Message:
-----------
Revert "[ctx_prof] Fix the pre-thinlink "use" case (#102511)"
This reverts commit 1a6d60e0162b3ef767c87c95512dd453bf4f4746.
Broke some buildbots.
Commit: d46c26b8102dee763d72bf98341bc95b21767196
https://github.com/llvm/llvm-project/commit/d46c26b8102dee763d72bf98341bc95b21767196
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
Log Message:
-----------
Fix prctl to handle PR_GET_PDEATHSIG. (#101749)
Commit: 2b592b16c17e5c4fc135534d80d7c61a986a292c
https://github.com/llvm/llvm-project/commit/2b592b16c17e5c4fc135534d80d7c61a986a292c
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/benchmarks/gpu/src/math/CMakeLists.txt
M libc/benchmarks/gpu/src/math/sin_benchmark.cpp
Log Message:
-----------
[libc][gpu] Add Sinf Benchmarks (#102532)
This PR adds benchmarking for `sinf()` using the same set up as `sin()`
but with a smaller range for floats.
Commit: d0fe470fd2b32de96762465fac130c13e9a1f782
https://github.com/llvm/llvm-project/commit/d0fe470fd2b32de96762465fac130c13e9a1f782
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/scalbln.cpp
A libc/src/math/generic/scalblnf.cpp
A libc/src/math/generic/scalblnf128.cpp
A libc/src/math/generic/scalblnl.cpp
A libc/src/math/scalbln.h
A libc/src/math/scalblnf.h
A libc/src/math/scalblnf128.h
A libc/src/math/scalblnl.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/scalbln_test.cpp
A libc/test/src/math/smoke/scalblnf128_test.cpp
A libc/test/src/math/smoke/scalblnf_test.cpp
A libc/test/src/math/smoke/scalblnl_test.cpp
Log Message:
-----------
[libc][math] Add scalbln{,f,l,f128} math functions (#102219)
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: d851b5c12c6c9758fec8784df730f330b6b31644
https://github.com/llvm/llvm-project/commit/d851b5c12c6c9758fec8784df730f330b6b31644
Author: Michael Jones <michaelrj at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/str_to_float.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Make str_to_float independent of fenv (#102369)
The str_to_float conversion code doesn't need the features provided by
fenv and the dependency is creating a blocker for hand-in-hand. This
patch uses a workaround to remove this dependency.
Commit: 070ce816dadb266f3296256048e6a5fb8517b06d
https://github.com/llvm/llvm-project/commit/070ce816dadb266f3296256048e6a5fb8517b06d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV] Remove unused function argument in RISCVOptWInstrs. NFC
Commit: 046524e8fe425cbc86c3371f2bf29fbb39d98435
https://github.com/llvm/llvm-project/commit/046524e8fe425cbc86c3371f2bf29fbb39d98435
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
Log Message:
-----------
Revert "Fix prctl to handle PR_GET_PDEATHSIG. (#101749)"
Broke the build.
This reverts commit d46c26b8102dee763d72bf98341bc95b21767196.
Commit: 1d9e1c6644a03530efbb09d419013ec0bfe0c823
https://github.com/llvm/llvm-project/commit/1d9e1c6644a03530efbb09d419013ec0bfe0c823
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
M lldb/source/Symbol/ObjectFile.cpp
R lldb/test/Shell/ObjectFile/ELF/Inputs/memory-elf.cpp
R lldb/test/Shell/ObjectFile/ELF/elf-dynamic-no-shdrs.yaml
R lldb/test/Shell/ObjectFile/ELF/elf-memory.test
Log Message:
-----------
Revert "[LLDB] Impove ObjectFileELF's .dynamic parsing and usage. (#101237)"
This reverts commit 28ba8a56b6fb9ec61897fa84369f46e43be94c03.
Reverting since this broke the buildbot at
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/9352/.
Commit: 8acf8852e9d4044456a782ff0089a4becfa2df86
https://github.com/llvm/llvm-project/commit/8acf8852e9d4044456a782ff0089a4becfa2df86
Author: Chris Apple <cja-private at pm.me>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
A llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
A llvm/test/Instrumentation/RealtimeSanitizer/rtsan.ll
A llvm/test/Instrumentation/RealtimeSanitizer/rtsan_multi_return.ll
Log Message:
-----------
[LLVM][rtsan] Add RealtimeSanitizer transform pass (#101232)
Split from #100596.
Introduce the RealtimeSanitizer transform, which inserts the
rtsan_enter/exit functions at the appropriate places in an instrumented
function.
Commit: 9428631d7673387d7761358ec05015d7810c9511
https://github.com/llvm/llvm-project/commit/9428631d7673387d7761358ec05015d7810c9511
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[gn build] Port 8acf8852e9d4
Commit: 6aad62cf5b7f91f4b02266cf72469e2c8e28dbef
https://github.com/llvm/llvm-project/commit/6aad62cf5b7f91f4b02266cf72469e2c8e28dbef
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/ParallelUtilities.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/ParallelUtilities.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/test/X86/dwarf4-cross-cu-backward-different-abbrev.test
M bolt/test/X86/dwarf4-cross-cu-forward-different-abbrev.test
M bolt/test/X86/dwarf4-cross-cu-loclist-dwarf4-loclist--dwarf5-loclist.test
M bolt/test/X86/dwarf4-df-dualcu-loclist.test
M bolt/test/X86/dwarf4-split-dwarf-no-address.test
M bolt/test/X86/dwarf4-subprogram-multiple-ranges-cus.test
M bolt/test/X86/dwarf4-types-dwarf5-types.test
M bolt/test/X86/dwarf4-types-dwarf5.test
M bolt/test/X86/dwarf5-addr-section-reuse.s
M bolt/test/X86/dwarf5-call-pc-function-null-check.test
M bolt/test/X86/dwarf5-call-pc.test
M bolt/test/X86/dwarf5-cu-no-debug-addr.test
M bolt/test/X86/dwarf5-df-input-lowpc-ranges-cus.test
M bolt/test/X86/dwarf5-df-mono-dualcu.test
M bolt/test/X86/dwarf5-df-output-dir-same-name.test
M bolt/test/X86/dwarf5-df-types-debug-names.test
M bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
M bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb11.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb9.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-lld-generated.test
M bolt/test/X86/dwarf5-dwarf4-monolithic.test
M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
M bolt/test/X86/dwarf5-empty-arange.test
M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb11.test
M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb9.test
M bolt/test/X86/dwarf5-gdb-index-types-lld-generated.test
M bolt/test/X86/dwarf5-locexpr-referrence.test
M bolt/test/X86/dwarf5-loclist-offset-form.test
M bolt/test/X86/dwarf5-one-loclists-two-bases.test
M bolt/test/X86/dwarf5-return-pc-form-addr.test
M bolt/test/X86/dwarf5-return-pc.test
M bolt/test/X86/dwarf5-shared-str-offset-base.s
M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
M bolt/test/X86/dwarf5-split-gdb-index-types-gdb-generated.test
M bolt/test/X86/dwarf5-subprogram-multiple-ranges-cus.test
M bolt/test/X86/dwarf5-two-cu-str-offset-table.test
M bolt/test/X86/dwarf5-two-loclists.test
M bolt/test/X86/dwarf5-two-rnglists.test
M bolt/test/X86/dwarf5-type-unit-no-cu-str-offset-table.test
M bolt/test/X86/dwarf5-types-backward-cross-reference.s
M bolt/test/X86/dwarf5-types-debug-names.test
Log Message:
-----------
[BOLT][DWARF] Add parallelization for processing of DWO debug information (#100282)
Enables parallelization for the processing of DWO CUs.
Commit: f86594788ce93b696675c94f54016d27a6c21d18
https://github.com/llvm/llvm-project/commit/f86594788ce93b696675c94f54016d27a6c21d18
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
Log Message:
-----------
[rtsan] Fix warnings after #101232
Commit: 4ce559d059a91b161d991cacb5951abff653c5e6
https://github.com/llvm/llvm-project/commit/4ce559d059a91b161d991cacb5951abff653c5e6
Author: Thurston Dang <thurston at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vshift.ll
Log Message:
-----------
[msan] Support most Arm NEON vector shift instructions (#102507)
This adds support for the Arm NEON vector shift instructions that follow
the same pattern as x86 (handleVectorShiftIntrinsic).
VSLI is not supported because it does not follow the 2-argument pattern
expected by handleVectorShiftIntrinsic.
This patch also updates the arm64-vshift.ll MSan test that was
introduced in
https://github.com/llvm/llvm-project/commit/5d0a12d3e9b1606c36430cf908da20d19d101e04
Commit: 4a2bf05980fd59013e74603f961d4a52cf8db940
https://github.com/llvm/llvm-project/commit/4a2bf05980fd59013e74603f961d4a52cf8db940
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
Log Message:
-----------
Reapply "[ctx_prof] Fix the pre-thinlink "use" case (#102511)"
This reverts commit 967185eeb85abb77bd6b6cdd2b026d5c54b7d4f3.
The problem was link dependencies, moved `UseCtxProfile` to `Analysis`.
Commit: 4c1dbbe7aaeb1cb3f991e1de9c7d0dd312e565f5
https://github.com/llvm/llvm-project/commit/4c1dbbe7aaeb1cb3f991e1de9c7d0dd312e565f5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/runtime/CUDA/allocator.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda] Make CUFRegisterAllocator callable from C/Fortran (#102543)
Commit: 201da87c3f53f9450dd60ee5adbddf46fe19c430
https://github.com/llvm/llvm-project/commit/201da87c3f53f9450dd60ee5adbddf46fe19c430
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][vector] Handle corner cases in DropUnitDimsFromTransposeOp. (#102518)
https://github.com/llvm/llvm-project/commit/da8778e499d8049ac68c2e152941a38ff2bc9fb2
breaks the lowering of vector.transpose that all the dimensions are unit
dimensions. The revision fixes the issue and adds a test.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 0a4e1c518bbca5f3bced6ded6dd71d2fe6622ac3
https://github.com/llvm/llvm-project/commit/0a4e1c518bbca5f3bced6ded6dd71d2fe6622ac3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/double-convert-strict.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert-strict.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
Log Message:
-----------
[RISCV] Add some Zfinx instructions to hasAllNBitUsers.
Commit: 9788368c37c319b11eb9a31af0f10aac62ba4f72
https://github.com/llvm/llvm-project/commit/9788368c37c319b11eb9a31af0f10aac62ba4f72
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M libc/test/src/math/smoke/SetPayloadSigTest.h
Log Message:
-----------
[libc][math][c23] Fix setpayloadsig smoke test on RV32 (#102538)
Commit: c1912b4dd772b79814a17b03ad183959f73034cc
https://github.com/llvm/llvm-project/commit/c1912b4dd772b79814a17b03ad183959f73034cc
Author: Peter Jung <admin at ptr1337.dev>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M bolt/docs/OptimizingLinux.md
Log Message:
-----------
[BOLT][docs] Fix typo (#98640)
Typo:
`chwon` --> `chown`
Signed-off-by: Peter Jung <admin at ptr1337.dev>
Commit: 2ac2e9a5b6c97cbf267db1ef322ed21ebceb2aba
https://github.com/llvm/llvm-project/commit/2ac2e9a5b6c97cbf267db1ef322ed21ebceb2aba
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/test/Transforms/test-convert-func-op.mlir
M mlir/test/lib/Conversion/FuncToLLVM/TestConvertFuncOp.cpp
Log Message:
-----------
[mlir][LLVM] Improve lowering of `llvm.byval` function arguments (#100028)
When a function argument is annotated with the `llvm.byval` attribute,
[LLVM expects](https://llvm.org/docs/LangRef.html#parameter-attributes)
the function argument type to be an `llvm.ptr`. For example:
```
func.func (%args0 : llvm.ptr {llvm.byval = !llvm.struct<(i32)>} {
...
}
```
Unfortunately, this makes the type conversion context-dependent, which
is something that the type conversion infrastructure (i.e.,
`LLVMTypeConverter` in this particular case) doesn't support. For
example, we may want to convert `MyType` to `llvm.struct<(i32)>` in
general, but to an `llvm.ptr` type only when it's a function argument
passed by value.
To fix this problem, this PR changes the FuncToLLVM conversion logic to
generate an `llvm.ptr` when the function argument has a `llvm.byval`
attribute. An `llvm.load` is inserted into the function to retrieve the
value expected by the argument users.
Commit: 00139ae1bc0ae855ebe9c8991f480b382bbc4308
https://github.com/llvm/llvm-project/commit/00139ae1bc0ae855ebe9c8991f480b382bbc4308
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Template.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/test/AST/ast-dump-concepts.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
M clang/test/CXX/temp/temp.param/p10-2a.cpp
M clang/test/SemaTemplate/concepts-recursive-inst.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/pr52970.cpp
Log Message:
-----------
Revert "[clang] Reland: Instantiate concepts with sugared template arguments (#101782)" (#102551)
Commit: 689700439ab07619a822cf1d902b90ee2b6037fe
https://github.com/llvm/llvm-project/commit/689700439ab07619a822cf1d902b90ee2b6037fe
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-08 (Thu, 08 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cpp
Log Message:
-----------
Fix test on Windows
Commit: 5297b750e54dafe16cc13f24b8d5478214e83682
https://github.com/llvm/llvm-project/commit/5297b750e54dafe16cc13f24b8d5478214e83682
Author: akshaykumars614 <88362922+akshaykumars614 at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
Log Message:
-----------
clang-tidy: readability-redundant-smartptr-get does not remove (#97964) (#100177)
added a check to remove '->' if exists
added testcase and modified Release Notes
Commit: be66c506c7fd6fdb7363f724075d02ca0d35713a
https://github.com/llvm/llvm-project/commit/be66c506c7fd6fdb7363f724075d02ca0d35713a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
A clang/test/Modules/pr101398.cppm
Log Message:
-----------
[C++20] [Modules] Emit Errors when compiling a non-module source as module (#102565)
Close https://github.com/llvm/llvm-project/issues/101398
The root cause of the issue is that I removed the codes before and
failed to recognize it in time and this was not found for a long time
due to it only crashes with invalid codes.
Commit: f09a28e66cfc5815dbac3e42944b5d0432f970bc
https://github.com/llvm/llvm-project/commit/f09a28e66cfc5815dbac3e42944b5d0432f970bc
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect conversion: Eagerly build reverse mapping (#101476)
The "inverse mapping" is an inverse IRMapping that points from replaced
values to their original values. This inverse mapping is needed when
legalizing unresolved materializations, to figure out if a value has any
uses. (It is not sufficient to examine the IR, because some IR changes
have not been materialized yet.)
There was a check in `OperationConverter::finalize` that computed the
inverse mapping only when needed. This check is not needed.
`legalizeUnresolvedMaterializations` always computes the inverse
mapping, so we can just do that in `OperationConverter::finalize` before
calling `legalizeUnresolvedMaterializations`.
Depends on #98805
Commit: e1a16cd88d761569025068ca94195acd77b2df7f
https://github.com/llvm/llvm-project/commit/e1a16cd88d761569025068ca94195acd77b2df7f
Author: Roger Ferrer Ibáñez <rofirrim at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ExpandVectorPredication.h
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
Log Message:
-----------
[ExpandVectorPredication] Be more precise reporting changes (#102313)
This is used by PreISelIntrinsicLowering. With this change,
PreISelIntrinsicLowering does not have to assume that there were changes
just because we encountered a VP intrinsic.
Commit: dbae30df242bdd5f20ca9a9592c1d9f201c7cb6c
https://github.com/llvm/llvm-project/commit/dbae30df242bdd5f20ca9a9592c1d9f201c7cb6c
Author: hev <wangrui at loongson.cn>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/float-imm-vldi.ll
Log Message:
-----------
[LoongArch] Load floating-point immediate using VLDI (#101923)
This commit uses the VLDI instruction to load some common floating-point
constants when the LSX feature is enabled.
Commit: 16dadecc05fa4986d4522c2c3a09a7628feb0fd4
https://github.com/llvm/llvm-project/commit/16dadecc05fa4986d4522c2c3a09a7628feb0fd4
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
Log Message:
-----------
Fix clang flags in the SystemZ zos-mixed-ptr-sizes-malloc.c test
caught by a sandboxed test run.
Commit: 8410babc2b69ccb2259e77262ad2baaa17644bea
https://github.com/llvm/llvm-project/commit/8410babc2b69ccb2259e77262ad2baaa17644bea
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/AST/Decl.cpp
A clang/test/Modules/pr99825.cppm
Log Message:
-----------
[C++20] [Moduels] Correct the linkage of const variable in language linkage from module interfaces (#102574)
Close https://github.com/llvm/llvm-project/issues/99825
The root cause of the issue is that I didn't realize the things in
implicit global module (the language linkage in module interfaces)
should be considered in module purview.
Commit: 67cb04035fe831a3b5df98dabc44b53ba5ff7126
https://github.com/llvm/llvm-project/commit/67cb04035fe831a3b5df98dabc44b53ba5ff7126
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang] Remove dead incremental Parser code (#102450)
When incremental processing is enabled, the Parser will never report
tok::eof but tok::annot_repl_input_end. However, that case is already
taken care of in IncrementalParser::ParseOrWrapTopLevelDecl() so this
check was never executing.
Commit: a50b9633357007ff886f3fd228ca4b8a9b9b9852
https://github.com/llvm/llvm-project/commit/a50b9633357007ff886f3fd228ca4b8a9b9b9852
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][vector] Add tests for xfer-flatten patterns (#102210)
Adds tests for scalable vectors in:
* vector-transfer-flatten.mlir
This is rather straightfoward as the tested patterns (*) do not support
scalable vectors.
(*) `FlattenContiguousRowMajorTransferReadPattern` and
`FlattenContiguousRowMajorTransferWritePattern`
Commit: a9e75b1d4d18d09a63f120df4781013c1866b4ff
https://github.com/llvm/llvm-project/commit/a9e75b1d4d18d09a63f120df4781013c1866b4ff
Author: Lang Hames <lhames at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Fix race condition during MachOPlatform bootstrap.
In 93509b4462a74 MachOPlatform was updated to store object symbols in a shared
vector during bootstrap (this table is later attached to the
bootstrap-completion graph once the ORC runtime's symbol table registration
code is ready). The shared vector was not guarded with a mutex, so use of a
concurrent dispatcher could lead to races during bootstrap. This commit fixes
the issue by guarding access to the table with the BootstrapInfo mutex.
No testcase since this only manifests rarely when both a concurrent dispatcher
and the ORC runtime are used. Once we add a concurrent dispatcher option to
llvm-jitlink we may be able to test this with a regression test in the ORC
runtime and TSan enabled.
rdar://133520308
Commit: d38bae3c773f0fda578097dc5a35114a83cfc2af
https://github.com/llvm/llvm-project/commit/d38bae3c773f0fda578097dc5a35114a83cfc2af
Author: Juan Manuel Martinez Caamaño <juamarti at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/asm.py
Log Message:
-----------
[update_llc_test_checks][AMDGPU] Update AMDGPU regexp in update_llc_test_checks.py (#102480)
Updating `llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll` with
`update_llc_test_checks.py` ended with several kernels with no checks.
Llc's output contained the line ".amdgpu_hsa_kernel <funcname>" after
the ".type <funcname>, at function" entry which was not considered by the
regexp.
Commit: 50a2b31800a554b35367a5f3bcebb640703a48e1
https://github.com/llvm/llvm-project/commit/50a2b31800a554b35367a5f3bcebb640703a48e1
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
A llvm/test/CodeGen/Thumb2/indirect-tail-call-free-registers.ll
Log Message:
-----------
[ARM] Be more precise about conditions for indirect tail-calls (#102451)
This code was trying to predict the conditions in which an indirect
tail call will have a free register to hold the target address, and
falling back to a non-tail call if all non-callee-saved registers are
used for arguments or return address authentication.
However, it was only taking the number of arguments into account, not
which registers they are allocated to, so floating-point arguments could
cause this to give the wrong result, causing either a later error due to
the lack of a free register, or a missed optimisation of not doing the
tail call.
The assignments of arguments to registers is available at this point in
the code, so we can calculate exactly which registers will be available
for the tail-call.
Commit: 7e175b307e12a616b287f58af0fbfd8d9164e364
https://github.com/llvm/llvm-project/commit/7e175b307e12a616b287f58af0fbfd8d9164e364
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][vector] Add more tests for ConvertVectorToLLVM (2/n) (#102203)
Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:
* vector.outerproduct
Commit: 1ec33131250f6d7daa94c60b6176d5fff64b7319
https://github.com/llvm/llvm-project/commit/1ec33131250f6d7daa94c60b6176d5fff64b7319
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/X86/fptoi_sat.ll
Log Message:
-----------
TTI: Check legalization cost of fptosi_sat/fptoui_sat nodes (#100521)
Commit: 7b03fdbd560ca10bc7873a4887eda3cc6738d186
https://github.com/llvm/llvm-project/commit/7b03fdbd560ca10bc7873a4887eda3cc6738d186
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-sub.ll
M llvm/test/CodeGen/X86/ctlo.ll
M llvm/test/CodeGen/X86/ctlz.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/X86/lzcnt-cmp.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/test/CodeGen/X86/pr40090.ll
M llvm/test/CodeGen/X86/scheduler-backtracking.ll
Log Message:
-----------
[X86] Add basic computeKnownBits support for X86ISD::BSR (#102474)
Resurrect https://reviews.llvm.org/D89214 (by @topperc)
The behaviour is undefined for an input of 0, otherwise the result is the position of the most significant set bit which must be in the range [0, bitwidth-1]. So any bits above log2 of bitwidth must be 0.
Fixes #74101
Commit: 3b175e13d4bce751b9a8b0feb70fa6eebc8eca20
https://github.com/llvm/llvm-project/commit/3b175e13d4bce751b9a8b0feb70fa6eebc8eca20
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/call-cast-target.ll
R llvm/test/Transforms/InstCombine/cast-callee-deopt-bundles.ll
Log Message:
-----------
[InstCombine] Regenerate test checks (NFC)
And merge two test files.
Commit: 310a9f3f257f1f7a41958b792b27e69a0237218f
https://github.com/llvm/llvm-project/commit/310a9f3f257f1f7a41958b792b27e69a0237218f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-structured-binding.cpp
Log Message:
-----------
[clang][DebugInfo] Don't mark structured bindings as artificial (#100355)
This patch is motivated by the debug-info issue in
https://github.com/llvm/llvm-project/issues/48909. Clang is currently
emitting the `DW_AT_artificial` attribute on debug-info entries for
structured bindings whereas GCC does not. GCC's interpretation of the
DWARF spec is more user-friendly in this regard, so we would like to do
the same in Clang. [`CGDebugInfo` uses `isImplicit` to decide which
variables to mark
artificial](https://github.com/llvm/llvm-project/blob/0c4023ae3b64c54ff51947e9776aee0e963c5635/clang/lib/CodeGen/CGDebugInfo.cpp#L4783-L4784)
(e.g., `ImplicitParamDecls`, compiler-generated variables, etc.). But
for the purposes of debug-info, when we say "artificial", what we really
mean in many cases is: "not explicitly spelled out in source".
`VarDecl`s that back tuple-like bindings are [technically
compiler-generated](https://github.com/llvm/llvm-project/issues/48909#issuecomment-2238976579),
but that is a confusing notion for debug-info, since these bindings
*are* spelled out in source. The [documentation for
`isImplicit`](https://github.com/llvm/llvm-project/blob/68a0d0c76223736351fd7c452bca3ba9d80ca342/clang/include/clang/AST/DeclBase.h#L596-L600)
does to some extent imply that implicit variables aren't written in
source.
This patch adds another condition to deciding whether a `VarDecl` should
be marked artificial. Specifically, don't treat structured bindings as
artificial.
**Main alternatives considered**
1. Don't use `isImplicit` in `CGDebugInfo` when determining whether to
add `DW_AT_artificial`. Instead use some other property of the AST that
would tell us whether a node was explicitly spelled out in source or not
* Considered using `SourceRange` or `SourceLocation` to tell us this,
but didn't find a good way to, e.g., correctly identify that the
implicit `this` parameter wasn't spelled out in source (as opposed to an
unnamed parameter in a function declaration)
2. We could've also added a bit to `VarDeclBitFields` that indicates
that a `VarDecl` is a holding var, but the use-case didn't feel like
good enough justification for this
3. Don't set the `VarDecl` introduced as part of a tuple-like
decomposition as implicit.
* This may affect AST matching/traversal and this specific use-case
wasn't enough to justify such a change
Fixes https://github.com/llvm/llvm-project/issues/48909
Commit: 4bb139622ee318571cb2ef6649ff1766051f0e84
https://github.com/llvm/llvm-project/commit/4bb139622ee318571cb2ef6649ff1766051f0e84
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
Log Message:
-----------
[lldb][Platform] Move the GetSDKPathFromDebugInfo helpers from PlatformDarwin into Platform (#102488)
This is needed for relanding
https://github.com/llvm/llvm-project/pull/102497, where we plan on
calling these APIs from generic ExpressionParser code.
Commit: 3fffa6d486ecedaf639927a448701df9fdc19a34
https://github.com/llvm/llvm-project/commit/3fffa6d486ecedaf639927a448701df9fdc19a34
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Utility/XcodeSDK.cpp
Log Message:
-----------
Reland "[lldb][ClangExpressionParser] Set BuiltinHeadersInSystemModules depending on SDK version (#102309)" (#102497)
Depends on https://github.com/llvm/llvm-project/pull/102488
This reverts commit
https://github.com/llvm/llvm-project/commit/cf56e265e4b74799aee72a04b634fcc261078084.
The original change was reverted because it was causing linker failures
in the unit-tests:
```
Undefined symbols for architecture arm64:
"lldb_private::PlatformDarwin::GetSDKPathFromDebugInfo(lldb_private::Module&)",
referenced from:
lldb_private::ClangExpressionParser::ClangExpressionParser(lldb_private::ExecutionContextScope*,
lldb_private::Expression&, bool,
std::__1::vector<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>,
std::__1::allocator<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>>>,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>>) in
liblldbPluginExpressionParserClang.a[11](ClangExpressionParser.cpp.o)
ld: symbol(s) not found for architecture arm64
c++: error: linker command failed with exit code 1 (use -v to see
invocation)
```
The relanded version differs only in the fact that we now use the
generic `Platform` abstraction to get to `GetSDKPathFromDebugInfo`.
Commit: d7824fab6ee1e3d373f2d89e8edbec9eb3879563
https://github.com/llvm/llvm-project/commit/d7824fab6ee1e3d373f2d89e8edbec9eb3879563
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/abs.ll
M llvm/test/Analysis/CostModel/AMDGPU/arith-ssat.ll
M llvm/test/Analysis/CostModel/AMDGPU/arith-usat.ll
Log Message:
-----------
TTI: Check legalization cost of abs nodes (#100523)
Commit: cdadc2eb9ed50a811d45b1db64473dd321ef72ee
https://github.com/llvm/llvm-project/commit/cdadc2eb9ed50a811d45b1db64473dd321ef72ee
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/arith-ssat.ll
M llvm/test/Analysis/CostModel/AMDGPU/arith-usat.ll
Log Message:
-----------
AMDGPU: Correct costs of saturating add/sub intrinsics (#100808)
These are directly legal with fast instructions.
Commit: 92aec5192ce752c984837a93227200b54faa8679
https://github.com/llvm/llvm-project/commit/92aec5192ce752c984837a93227200b54faa8679
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Use iterator-inserters in clang (#102006)
As part of the LLVM effort to eliminate debug-info intrinsics, we're
moving to a world where only iterators should be used to insert
instructions. This isn't a problem in clang when instructions get
generated before any debug-info is inserted, however we're planning on
deprecating and removing the instruction-pointer insertion routines.
Scatter some calls to getIterator in a few places, remove a
deref-then-addrof on another iterator, and add an overload for the
createLoadInstBefore utility. Some callers passes a null insertion
point, which we need to handle explicitly now.
Commit: 059e7be2d1e4397fd40ecaaf913b8a4bfe759779
https://github.com/llvm/llvm-project/commit/059e7be2d1e4397fd40ecaaf913b8a4bfe759779
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Port for 3fffa6d486ecedaf639927a448701df9fdc19a34
Commit: badfb4bd33c27f7bb6351ad3d7250a9b8782b43f
https://github.com/llvm/llvm-project/commit/badfb4bd33c27f7bb6351ad3d7250a9b8782b43f
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/Source.cpp
A clang/test/AST/Interp/constexpr-frame-describe.cpp
M clang/test/AST/Interp/constexpr-nqueens.cpp
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[Clang][Interp] Fix display of syntactically-invalid note for member function calls (#102170)
This PR fix display of syntactically-invalid note for member function
calls to follow the behavior of current interpreter.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 9b06e25e73470612d14f0e1e18fde82f62266216
https://github.com/llvm/llvm-project/commit/9b06e25e73470612d14f0e1e18fde82f62266216
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
A mlir/test/Dialect/Vector/eliminate-masks.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Add mask elimination transform (#99314)
This adds a new transform `eliminateVectorMasks()` which aims at
removing scalable `vector.create_masks` that will be all-true at
runtime. It attempts to do this by simply pattern-matching the mask
operands (similar to some canonicalizations), if that does not lead to
an answer (is all-true? yes/no), then value bounds analysis will be used
to find the lower bound of the unknown operands. If the lower bound is
>= to the corresponding mask vector type dim, then that dimension of the
mask is all true.
Note that the pattern matching prevents expensive value-bounds analysis
in cases where the mask won't be all true.
For example:
```mlir
%mask = vector.create_mask %dynamicValue, %c2 : vector<8x4xi1>
```
>From looking at `%c2` we can tell this is not going to be an all-true
mask, so we don't need to run the value-bounds analysis for
`%dynamicValue` (and can exit the transform early).
Note: Eliminating create_masks here means replacing them with all-true
constants (which will then lead to the masks folding away).
Commit: 08e0e29572ac0a324ac36831a843ac99f41f42a4
https://github.com/llvm/llvm-project/commit/08e0e29572ac0a324ac36831a843ac99f41f42a4
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
Log Message:
-----------
[RISCV][clang] Add missing `zvfbfmin` to `vget_v` intrinsic (#102149)
It's missing in the patch supporting `zvfbfmin` intrinsics.
Commit: 1b80ed457d2dfd278541b7c20e7d2b6192ecbf13
https://github.com/llvm/llvm-project/commit/1b80ed457d2dfd278541b7c20e7d2b6192ecbf13
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
Log Message:
-----------
[RISCV][clang] Remove bfloat base type in non-zvfbfmin vcreate (#102146)
Commit: ccb2b011e577e861254f61df9c59494e9e122b38
https://github.com/llvm/llvm-project/commit/ccb2b011e577e861254f61df9c59494e9e122b38
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
Enable logf128 constant folding for hosts with 128bit floats (#96287)
Hosts which support a float size of 128 bits can benefit from constant
fp128 folding.
Commit: 199d6f2c0c5a7ceffe00036ae34e8a0f638e8a53
https://github.com/llvm/llvm-project/commit/199d6f2c0c5a7ceffe00036ae34e8a0f638e8a53
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
A llvm/test/Transforms/LoadStoreVectorizer/AArch64/pr37865.ll
Log Message:
-----------
LSV: document hang reported in #37865 (#102479)
LoadStoreVectorizer hangs on certain examples, when its reorder function
goes into a cycle. Detect this cycle and explicitly forbid it, using an
assert, and document the resulting crash in a test-case under AArch64.
Commit: 0e124537aabea0d18e030226a3ca4c6f494c1322
https://github.com/llvm/llvm-project/commit/0e124537aabea0d18e030226a3ca4c6f494c1322
Author: David Green <david.green at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
Log Message:
-----------
[AArch64] Sink operands to fmuladd. (#102297)
A fmuladd can be treated as a fma when sinking operands to the
intrinsic, similar to D126234.
Addresses a small part of #102195
Commit: 9304af3927caecdb43d3a9b5d16c6a5b7a6b5594
https://github.com/llvm/llvm-project/commit/9304af3927caecdb43d3a9b5d16c6a5b7a6b5594
Author: Jorge Botto <23462171+jf-botto at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
A llvm/test/Transforms/InstCombine/pr98435.ll
Log Message:
-----------
[InstCombine] Fixing wrong select folding in vectors with undef elements (#102244)
This PR fixes https://github.com/llvm/llvm-project/issues/98435.
`SimplifyDemandedVectorElts` mishandles the undef by assuming that
!isNullValue() means the condition is true.
By preventing any value that we're not certain equals 1 or 0, it avoids
having to make any particular choice by not demanding bits from a
particular branch with potentially picking a wrong value.
Proof: https://alive2.llvm.org/ce/z/r8CmEu
Commit: a918ffefb1983a49f0b0f3b28325cfa6530ec08f
https://github.com/llvm/llvm-project/commit/a918ffefb1983a49f0b0f3b28325cfa6530ec08f
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/test/MC/AArch64/trbe-sysreg.s
M llvm/test/MC/Disassembler/AArch64/trbe.txt
Log Message:
-----------
[AArch64] Implement TRBMPAM_EL1 system register (#102485)
Implement TRBMPAM_EL1 system register, which was noticed to be missing
Commit: e12953028584b3dad5f538c827cefe8fc421bd52
https://github.com/llvm/llvm-project/commit/e12953028584b3dad5f538c827cefe8fc421bd52
Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
Log Message:
-----------
[CodeGen][NewPM] Improve start/stop pass error message CodeGenPassBuilder (#102591)
Remove the pass-name-to-class-name lookup because it does not exist
(that's why this error is thrown). Print the name given as the option
instead.
Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>
Commit: 38e02059a72405a94b568d781551d3514f3fc37d
https://github.com/llvm/llvm-project/commit/38e02059a72405a94b568d781551d3514f3fc37d
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port for 9b06e25e73470612d14f0e1e18fde82f62266216
Commit: 94473f4db6a6f5f12d7c4081455b5b596094eac5
https://github.com/llvm/llvm-project/commit/94473f4db6a6f5f12d7c4081455b5b596094eac5
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuilder.h
M clang/test/C/C2y/n3254.c
M clang/test/C/C2y/n3259.c
M clang/test/CodeGen/64bit-swiftcall.c
M clang/test/CodeGen/PowerPC/aix32-complex-varargs.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cmplx.c
M clang/test/CodeGen/PowerPC/powerpc-c99complex.c
M clang/test/CodeGen/PowerPC/ppc-varargs-struct.c
M clang/test/CodeGen/PowerPC/ppc64-complex-parms.c
M clang/test/CodeGen/PowerPC/ppc64-struct-onefloat.c
M clang/test/CodeGen/PowerPC/ppc64-varargs-complex.c
M clang/test/CodeGen/PowerPC/ppc64le-varargs-complex.c
M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/bfloat-abi.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/X86/Float16-arithmetic.c
M clang/test/CodeGen/X86/Float16-complex.c
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/va-arg-sse.c
M clang/test/CodeGen/X86/x86_64-floatvectors.c
M clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGen/aapcs-bitfield.c
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/aarch64-neon-ldst-one.c
M clang/test/CodeGen/aarch64-neon-perm.c
M clang/test/CodeGen/aarch64-neon-tbl.c
M clang/test/CodeGen/aarch64-poly64.c
M clang/test/CodeGen/aarch64-soft-float-abi.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/address-space-field1.c
M clang/test/CodeGen/align_value.cpp
M clang/test/CodeGen/alloc-align-attr.c
M clang/test/CodeGen/annotations-field.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/arm-varargs.c
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-be-bitfield.c
M clang/test/CodeGen/arm64-be-hfa-vararg.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-counted-by-pr88931.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/block-byref-aggr.c
M clang/test/CodeGen/blocks-seq.c
M clang/test/CodeGen/blocks.c
M clang/test/CodeGen/bpf-preserve-static-offset-arr.c
M clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
M clang/test/CodeGen/bpf-preserve-static-offset-pai.c
M clang/test/CodeGen/builtin-complex.c
M clang/test/CodeGen/builtin-dump-struct.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/c11atomics-ios.c
M clang/test/CodeGen/c11atomics.c
M clang/test/CodeGen/capture-complex-expr-in-block.c
M clang/test/CodeGen/captured-statements-nested.c
M clang/test/CodeGen/captured-statements.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
M clang/test/CodeGen/complex-convert.c
M clang/test/CodeGen/complex-strictfp.c
M clang/test/CodeGen/compound-literal.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/ext-int.c
M clang/test/CodeGen/matrix-type-builtins.c
M clang/test/CodeGen/matrix-type.c
M clang/test/CodeGen/ms-anonymous-struct.c
M clang/test/CodeGen/ms-inline-asm.cpp
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/packed-nest-unpacked.c
M clang/test/CodeGen/packed-structure.c
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/pragma-cx-limited-range.c
M clang/test/CodeGen/smiths-complex-div.c
M clang/test/CodeGen/transparent-union-redecl.c
M clang/test/CodeGen/unaligned-expr.c
M clang/test/CodeGen/variadic-gpfp-x86.c
M clang/test/CodeGen/variadic-nvptx.c
M clang/test/CodeGen/voidptr-vaarg.c
M clang/test/CodeGen/volatile-1.c
M clang/test/CodeGen/volatile-2.c
M clang/test/CodeGen/volatile-complex.c
M clang/test/CodeGen/windows-seh-EHa-CppCondiTemps.cpp
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCUDA/lambda-reference-var.cu
M clang/test/CodeGenCUDA/managed-var.cu
M clang/test/CodeGenCUDA/printf.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/alignment.cpp
M clang/test/CodeGenCXX/arm-swiftcall.cpp
M clang/test/CodeGenCXX/asm.cpp
M clang/test/CodeGenCXX/atomicinit.cpp
M clang/test/CodeGenCXX/attr-annotate.cpp
M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/bitfield.cpp
M clang/test/CodeGenCXX/block-capture.cpp
M clang/test/CodeGenCXX/block-inalloca.cpp
M clang/test/CodeGenCXX/blocks-cxx11.cpp
M clang/test/CodeGenCXX/blocks.cpp
M clang/test/CodeGenCXX/builtin-dump-struct.cpp
M clang/test/CodeGenCXX/captured-statements.cpp
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-pr12086.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
M clang/test/CodeGenCXX/cxx11-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx11-initializer-array-new.cpp
M clang/test/CodeGenCXX/cxx1y-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
M clang/test/CodeGenCXX/cxx20-consteval-crash.cpp
M clang/test/CodeGenCXX/cxx20-decomposition.cpp
M clang/test/CodeGenCXX/cxx2a-compare.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/debug-info-lambda.cpp
M clang/test/CodeGenCXX/debug-info-ptr-to-ptr.cpp
M clang/test/CodeGenCXX/decl-ref-inheritance.cpp
M clang/test/CodeGenCXX/eh-aggregated-inits-unwind.cpp
M clang/test/CodeGenCXX/exceptions-seh-filter-captures.cpp
M clang/test/CodeGenCXX/exceptions.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/finegrain-bitfield-access.cpp
M clang/test/CodeGenCXX/ibm128-declarations.cpp
M clang/test/CodeGenCXX/inalloca-lambda.cpp
M clang/test/CodeGenCXX/inalloca-overaligned.cpp
M clang/test/CodeGenCXX/inalloca-vector.cpp
M clang/test/CodeGenCXX/lambda-deterministic-captures.cpp
M clang/test/CodeGenCXX/matrix-type-builtins.cpp
M clang/test/CodeGenCXX/matrix-type-operators.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
M clang/test/CodeGenCXX/microsoft-abi-explicit-object-parameters.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp
M clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
M clang/test/CodeGenCXX/new-array-init.cpp
M clang/test/CodeGenCXX/no-odr-use.cpp
M clang/test/CodeGenCXX/noescape.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/partial-destruction.cpp
M clang/test/CodeGenCXX/ppc32-varargs-method.cpp
M clang/test/CodeGenCXX/pr20897.cpp
M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/trivial-auto-var-init.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/trivial_abi_debuginfo.cpp
M clang/test/CodeGenCXX/ubsan-global-alignment.cpp
M clang/test/CodeGenCXX/vararg-non-pod-ms-compat.cpp
M clang/test/CodeGenCXX/virtual-bases.cpp
M clang/test/CodeGenCXX/vla-lambda-capturing.cpp
M clang/test/CodeGenCXX/volatile-1.cpp
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-params.cpp
M clang/test/CodeGenHLSL/buffer-array-operator.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/CodeGenObjC/arc-blocks.m
M clang/test/CodeGenObjC/arc-foreach.m
M clang/test/CodeGenObjC/arc-unoptimized-byref-var.m
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/asm.m
M clang/test/CodeGenObjC/block-6.m
M clang/test/CodeGenObjC/blocks-2.m
M clang/test/CodeGenObjC/blocks.m
M clang/test/CodeGenObjC/category-super-class-meth.m
M clang/test/CodeGenObjC/class-stubs.m
M clang/test/CodeGenObjC/gnustep2-direct-method.m
M clang/test/CodeGenObjC/noescape.m
M clang/test/CodeGenObjC/nontrivial-c-struct-property.m
M clang/test/CodeGenObjC/nontrivial-struct-param-init.m
M clang/test/CodeGenObjC/ns_consume_null_check.m
M clang/test/CodeGenObjC/objc-dispatch-null-check.m
M clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
M clang/test/CodeGenObjC/ppc32-varargs-id.m
M clang/test/CodeGenObjC/property-array-type.m
M clang/test/CodeGenObjC/strong-in-c-struct.m
M clang/test/CodeGenObjC/super-message-fragileabi.m
M clang/test/CodeGenObjCXX/arc-blocks.mm
M clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
M clang/test/CodeGenObjCXX/arc-cxx11-member-init.mm
M clang/test/CodeGenObjCXX/arc-exceptions.mm
M clang/test/CodeGenObjCXX/arc-indirect.mm
M clang/test/CodeGenObjCXX/arc-special-member-functions.mm
M clang/test/CodeGenObjCXX/block-default-arg.mm
M clang/test/CodeGenObjCXX/block-nested-in-lambda.mm
M clang/test/CodeGenObjCXX/gc.mm
M clang/test/CodeGenObjCXX/lambda-expressions.mm
M clang/test/CodeGenObjCXX/lambda-to-block.mm
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/property-object-conditional-exp.mm
M clang/test/CodeGenObjCXX/property-objects.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/blocks.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCLCXX/addrspace-operators.clcpp
M clang/test/CodeGenSYCL/field-annotate-addr-space.cpp
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/atomic_capture_codegen.cpp
M clang/test/OpenMP/atomic_read_codegen.c
M clang/test/OpenMP/atomic_update_codegen.cpp
M clang/test/OpenMP/atomic_write_codegen.c
M clang/test/OpenMP/bug57757.cpp
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/cancellation_point_codegen.cpp
M clang/test/OpenMP/critical_codegen.cpp
M clang/test/OpenMP/critical_codegen_attr.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/depobj_codegen.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/for_reduction_task_codegen.cpp
M clang/test/OpenMP/interop_irbuilder.cpp
M clang/test/OpenMP/irbuilder_for_iterator.cpp
M clang/test/OpenMP/irbuilder_for_rangefor.cpp
M clang/test/OpenMP/irbuilder_for_unsigned.c
M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
M clang/test/OpenMP/irbuilder_for_unsigned_down.c
M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/irbuilder_safelen.cpp
M clang/test/OpenMP/irbuilder_safelen_order_concurrent.cpp
M clang/test/OpenMP/irbuilder_simd.cpp
M clang/test/OpenMP/irbuilder_simd_aligned.cpp
M clang/test/OpenMP/irbuilder_simdlen.cpp
M clang/test/OpenMP/irbuilder_simdlen_safelen.cpp
M clang/test/OpenMP/irbuilder_unroll_full.c
M clang/test/OpenMP/irbuilder_unroll_heuristic.c
M clang/test/OpenMP/irbuilder_unroll_partial_factor.c
M clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
M clang/test/OpenMP/irbuilder_unroll_partial_heuristic.c
M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
M clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
M clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c
M clang/test/OpenMP/loops_explicit_clauses_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/master_taskloop_codegen.cpp
M clang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/master_taskloop_private_codegen.cpp
M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_private_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/nvptx_lambda_pointer_capturing.cpp
M clang/test/OpenMP/nvptx_target_codegen.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/openmp_offload_codegen.cpp
M clang/test/OpenMP/ordered_doacross_codegen.c
M clang/test/OpenMP/ordered_doacross_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_lastprivate_conditional.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_codegen.cpp
M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
M clang/test/OpenMP/reduction_compound_op.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/reverse_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/sections_reduction_task_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_data_codegen.cpp
M clang/test/OpenMP/target_data_map_codegen_hold.cpp
M clang/test/OpenMP/target_data_no_device_codegen.cpp
M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
M clang/test/OpenMP/target_data_use_device_ptr_codegen.cpp
M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.cpp
M clang/test/OpenMP/target_defaultmap_codegen_01.cpp
M clang/test/OpenMP/target_defaultmap_codegen_02.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_enter_data_codegen.cpp
M clang/test/OpenMP/target_enter_data_depend_codegen.cpp
M clang/test/OpenMP/target_exit_data_codegen.cpp
M clang/test/OpenMP/target_exit_data_depend_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_10.cpp
M clang/test/OpenMP/target_map_codegen_11.cpp
M clang/test/OpenMP/target_map_codegen_13.cpp
M clang/test/OpenMP/target_map_codegen_14.cpp
M clang/test/OpenMP/target_map_codegen_16.cpp
M clang/test/OpenMP/target_map_codegen_22.cpp
M clang/test/OpenMP/target_map_codegen_24.cpp
M clang/test/OpenMP/target_map_codegen_28.cpp
M clang/test/OpenMP/target_map_codegen_29.cpp
M clang/test/OpenMP/target_map_codegen_31.cpp
M clang/test/OpenMP/target_map_codegen_32.cpp
M clang/test/OpenMP/target_map_codegen_34.cpp
M clang/test/OpenMP/target_map_codegen_35.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_for_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_tl_codegen.cpp
M clang/test/OpenMP/target_private_codegen.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_simd_tl_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/target_update_codegen.cpp
M clang/test/OpenMP/target_update_depend_codegen.cpp
M clang/test/OpenMP/task_affinity_codegen.cpp
M clang/test/OpenMP/task_codegen.c
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_firstprivate_codegen.cpp
M clang/test/OpenMP/task_if_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/task_in_task_firstprivate_codegen.cpp
M clang/test/OpenMP/task_member_call_codegen.cpp
M clang/test/OpenMP/task_private_codegen.cpp
M clang/test/OpenMP/task_target_device_codegen.c
M clang/test/OpenMP/taskgroup_task_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_codegen.cpp
M clang/test/OpenMP/taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/taskloop_private_codegen.cpp
M clang/test/OpenMP/taskloop_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_codegen.cpp
M clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/taskloop_simd_private_codegen.cpp
M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_untied_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/PCH/block-helpers.cpp
M clang/test/Preprocessor/embed_codegen.cpp
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/check-attributes.cpp.funcattrs.expected
M clang/test/utils/update_cc_test_checks/Inputs/check-attributes.cpp.plain.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
M llvm/include/llvm/IR/IRBuilder.h
M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
M llvm/test/CodeGen/NVPTX/variadics-lowering.ll
M llvm/test/CodeGen/WebAssembly/expand-variadic-call.ll
M llvm/test/Instrumentation/DataFlowSanitizer/abilist.ll
M llvm/test/Instrumentation/DataFlowSanitizer/abilist_aggregate.ll
M llvm/test/Instrumentation/DataFlowSanitizer/origin_abilist.ll
M llvm/test/Transforms/Coroutines/ArgAddr.ll
M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
M llvm/test/Transforms/Coroutines/coro-alloca-loop-carried-address.ll
M llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
M llvm/test/Transforms/Coroutines/coro-param-copy.ll
M llvm/test/Transforms/Coroutines/coro-spill-after-phi.ll
M llvm/test/Transforms/ExpandVariadics/expand-va-intrinsic-split-simple.ll
M llvm/test/Transforms/ExpandVariadics/indirect-calls.ll
M llvm/test/Transforms/ExpandVariadics/pass-byval-byref.ll
M llvm/test/Transforms/ExpandVariadics/pass-indirect.ll
M llvm/test/Transforms/ExpandVariadics/pass-integers.ll
M mlir/test/Target/LLVMIR/gpu.mlir
M mlir/test/Target/LLVMIR/omptarget-depend.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
M polly/test/CodeGen/OpenMP/recomputed-srem.ll
Log Message:
-----------
[IRBuilder] Generate nuw GEPs for struct member accesses (#99538)
Generate nuw GEPs for struct member accesses, as inbounds + non-negative
implies nuw.
Regression tests are updated using update scripts where possible, and by
find + replace where not.
Commit: fc4485bf98132c99edf4a0e5612d4309de9b9393
https://github.com/llvm/llvm-project/commit/fc4485bf98132c99edf4a0e5612d4309de9b9393
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
Log Message:
-----------
Revert "[mlir][ArmSME] Pattern to swap shape_cast(tranpose) with transpose(shape_cast) (#100731)" (#102457)
This reverts commit 88accd9aaa20c6a30661c48cc2ca6dbbdf991ec0.
This change can be dropped in favor of just #102017.
Commit: 3e806c827ea367e46b835820a6c8842bafc06295
https://github.com/llvm/llvm-project/commit/3e806c827ea367e46b835820a6c8842bafc06295
Author: Pratyay Pande <pratyay.pande at intel.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
[NFC] Use references to avoid copying (#99863)
Modifying `auto` to `auto&` to avoid unnecessary copying
Commit: 574e9584494cd408fb3595df9b9d52bb3e03921a
https://github.com/llvm/llvm-project/commit/574e9584494cd408fb3595df9b9d52bb3e03921a
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/Sema/constexpr.c
A clang/test/SemaCXX/bitint-narrowing.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG2627 Bit-fields and narrowing conversions (#78112)
https://cplusplus.github.io/CWG/issues/2627.html
It is no longer a narrowing conversion when converting a bit-field to a
type smaller than the field's declared type if the bit-field has a width
small enough to fit in the target type. This includes integral
promotions (`long long i : 8` promoted to `int` is no longer narrowing,
allowing `c.i <=> c.i`) and list-initialization (`int n{ c.i };`)
Also applies back to C++11 as this is a defect report.
Commit: 4c19de925d96ccade45026f8b060457e16b259b5
https://github.com/llvm/llvm-project/commit/4c19de925d96ccade45026f8b060457e16b259b5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Disable `vector.matrix_multiply` for scalable vectors (#102573)
Disables `vector.matrix_multiply` for scalable vectors. As per the docs:
> This is the counterpart of llvm.matrix.multiply in MLIR
I'm not aware of any use of matrix-multiply intrinsics in the context of
scalable vectors, hence disabling.
Commit: 24be4d5dccd9522d7dbf27dac65c90a3965a44c4
https://github.com/llvm/llvm-project/commit/24be4d5dccd9522d7dbf27dac65c90a3965a44c4
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/test/Dialect/Vector/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][vector] Add tests for scalable vectors in one-shot-bufferize.mlir (#102361)
Commit: 306464615a7977cd73f16e3e3cea5528f37e1645
https://github.com/llvm/llvm-project/commit/306464615a7977cd73f16e3e3cea5528f37e1645
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Handle multiple ranges in `num_teams` clause (#102535)
Commit cee594cf36 added support to clang for multiple expressions in
`num_teams` clause. Add follow-up changes to flang.
Commit: 0795ab4eba14b7a93c52c06f328c3d4272f3c51e
https://github.com/llvm/llvm-project/commit/0795ab4eba14b7a93c52c06f328c3d4272f3c51e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/deref-alloc-fns.ll
Log Message:
-----------
[InstCombine] Remove unnecessary RUN line from test (NFC)
As all the necessary information is encoded using attributes
nowadays, this test doesn't actually depend on the triple
anymore.
Commit: 02645d66f93809f7f52b742987f350793136221f
https://github.com/llvm/llvm-project/commit/02645d66f93809f7f52b742987f350793136221f
Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add Syntacore SCR5 RV32/64 processors definition (#102285)
Syntacore SCR5 is an entry-level Linux-capable 32/64-bit RISC-V
processor core.
Overview: https://syntacore.com/products/scr5
Scheduling model will be added in a subsequent PR.
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Anton Afanasyev <anton.afanasyev at syntacore.com>
Commit: a15de177728ec83f37bdd8f39d4a8f57e95c3d21
https://github.com/llvm/llvm-project/commit/a15de177728ec83f37bdd8f39d4a8f57e95c3d21
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
Revert "Enable logf128 constant folding for hosts with 128bit floats (#96287)"
This reverts commit ccb2b011e577e861254f61df9c59494e9e122b38.
Causes buildbot failures, e.g. on ppc64le builders.
Commit: fff78a51ee1413676c1aa772532c925dcf313527
https://github.com/llvm/llvm-project/commit/fff78a51ee1413676c1aa772532c925dcf313527
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
A llvm/test/Transforms/LoadStoreVectorizer/AArch64/lit.local.cfg
Log Message:
-----------
LSV/test/AArch64: add missing lit.local.cfg; fix build (#102607)
Follow up on 199d6f2 (LSV: document hang reported in #37865) to fix the
build when omitting the AArch64 target. Add the missing lit.local.cfg.
Commit: 195362929cd79c0202f73bcbab9a09b8a1a3beaa
https://github.com/llvm/llvm-project/commit/195362929cd79c0202f73bcbab9a09b8a1a3beaa
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/test/Transforms/InstCombine/deref-alloc-fns.ll
M llvm/test/Transforms/InstCombine/out-of-tree-allocator-optimizes-away.ll
Log Message:
-----------
[MemoryBuiltins] Handle allocator attributes on call-site
We should handle allocator attributes not only on function
declarations, but also on the call-site. That way we can e.g.
also optimize cases where the allocator function is a virtual
function call.
This was already supported in some of the MemoryBuiltins helpers,
but not all of them. This adds support for allocsize, alloc-family
and allockind("free").
Commit: 0b745a10843fc85e579bbf459f78b3f43e7ab309
https://github.com/llvm/llvm-project/commit/0b745a10843fc85e579bbf459f78b3f43e7ab309
Author: David Green <david.green at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/arith-fp-sve.ll
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
Log Message:
-----------
[AArch64] Add invalid 1 x vscale costs for reductions and reduction-operations. (#102105)
The code-generator is currently not able to handle scalable vectors of
<vscale x 1 x eltty>. The usual "fix" for this until it is supported is
to mark the costs of loads/stores with an invalid cost, preventing the
vectorizer from vectorizing at those factors. But on rare occasions
loops do not contain load/stores, only reductions.
So whilst this is still unsupported return an invalid cost to avoid
selecting vscale x 1 VFs. The cost of a reduction is not currently used
by the vectorizer so this adds the cost to the add/mul/and/or/xor or
min/max that should feed the reduction. It includes reduction costs
too, for completeness. This change will be removed when code-generation
for these types is sufficiently reliable.
Fixes #99760
Commit: 5bc1f9e5b067f3b14f013a07254a06ecfef1df79
https://github.com/llvm/llvm-project/commit/5bc1f9e5b067f3b14f013a07254a06ecfef1df79
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
Log Message:
-----------
[MemoryBuiltins] Simplify getCalledFunction() helper (NFC)
If nobuiltin is set, directly return nullptr instead of using a
separate out parameter and having all callers check this.
Commit: cf54cae26b65fc3201eff7200ffb9b0c9e8f9a13
https://github.com/llvm/llvm-project/commit/cf54cae26b65fc3201eff7200ffb9b0c9e8f9a13
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
A llvm/lib/Target/AMDGPU/SIFixSGPRCopies.h
M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/si-fix-sgpr-copies.mir
Log Message:
-----------
AMDGPU/NewPM: Port SIFixSGPRCopies to new pass manager (#102614)
This allows moving some tests relying on -stop-after=amdgpu-isel
to move to checking -stop-after=finalize-isel instead, which
will more reliably pass the verifier.
Commit: 1d77dd50f1bab20d2025d25f79784d5be1520847
https://github.com/llvm/llvm-project/commit/1d77dd50f1bab20d2025d25f79784d5be1520847
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/Object/COFF.h
M llvm/lib/Object/COFFObjectFile.cpp
M llvm/test/tools/llvm-readobj/COFF/arm64x-reloc.yaml
M llvm/tools/llvm-readobj/ObjDumper.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
Log Message:
-----------
[llvm-readobj][COFF] Dump hybrid objects for ARM64X files. (#102245)
Commit: 4c5ef6690040383956461828457ac27f7f912edb
https://github.com/llvm/llvm-project/commit/4c5ef6690040383956461828457ac27f7f912edb
Author: Ian Anderson <iana at apple.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
Log Message:
-----------
Fix a unit test input file (#102567)
I forgot to update the version info in the SDKSettings file when I
updated it to the real version relevant to the test.
Commit: d45de8003a269066c9a9af871119a7c36eeb5aa3
https://github.com/llvm/llvm-project/commit/d45de8003a269066c9a9af871119a7c36eeb5aa3
Author: Victor Perez <victor.perez at codeplay.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
A mlir/include/mlir/Conversion/SPIRVCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUToLLVMSPV/CMakeLists.txt
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
A mlir/lib/Conversion/SPIRVCommon/AttrToLLVMConverter.cpp
A mlir/lib/Conversion/SPIRVCommon/CMakeLists.txt
M mlir/lib/Conversion/SPIRVToLLVM/CMakeLists.txt
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
M mlir/test/Dialect/LLVMIR/func.mlir
Log Message:
-----------
[MLIR][GPU-LLVM] Convert `gpu.func` to `llvm.func` (#101664)
Add support in `-convert-gpu-to-llvm-spv` to convert `gpu.func` to
`llvm.func` operations.
- `spir_kernel`/`spir_func` calling conventions used for
kernels/functions.
- `workgroup` attributions encoded as additional `llvm.ptr<3>`
arguments.
- No attribute used to annotate kernels
- `reqd_work_group_size` attribute using to encode
`gpu.known_block_size`.
- `llvm.mlir.workgroup_attrib_size` used to encode workgroup attribution
sizes. This will be attached to the pointer argument workgroup
attributions lower to.
**Note**: A notable missing feature that will be addressed in a
follow-up PR is a `-use-bare-ptr-memref-call-conv` option to replace
MemRef arguments with bare pointers to the MemRef element types instead
of the current MemRef descriptor approach.
---------
Signed-off-by: Victor Perez <victor.perez at codeplay.com>
Commit: 93fc4590d9e584d8a8552d00f45bca982021fb1d
https://github.com/llvm/llvm-project/commit/93fc4590d9e584d8a8552d00f45bca982021fb1d
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
A mlir/test/Conversion/ConvertToSPIRV/memref.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][spirv] Support `memref` in `convert-to-spirv` pass (#102534)
This PR adds conversion patterns for MemRef to the `convert-to-spirv`
pass, introduced in #95942. Conversions from MemRef memory space to
SPIR-V storage class were also included, and would run before the final
dialect conversion phase.
**Future Plans**
- Add tests for ops other than `memref.load` and `memref.store`
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: ff1cc5b97cffc184e5990bcaf6ea7c35090ef1e8
https://github.com/llvm/llvm-project/commit/ff1cc5b97cffc184e5990bcaf6ea7c35090ef1e8
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-08-09 (Fri, 09 Aug 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/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/totalorderl.cpp
A libc/src/math/totalorderl.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/totalorderl_test.cpp
Log Message:
-----------
[libc][math][c23] Add totalorderl function. (#102564)
Commit: 335bc3c0b2df3929511c44a02baa93a2d22b515f
https://github.com/llvm/llvm-project/commit/335bc3c0b2df3929511c44a02baa93a2d22b515f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
Log Message:
-----------
[AMDGPU][AsmParser][NFCI] All NamedIntOperands to be of the i32 type. (#102616)
There's no need for them to have different types.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: dad1cb9cf9b5aa21da4622fa239f682678fa5eb3
https://github.com/llvm/llvm-project/commit/dad1cb9cf9b5aa21da4622fa239f682678fa5eb3
Author: David Green <david.green at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/test/CodeGen/ARM/big-endian-vmov.ll
Log Message:
-----------
[ARM] Regenerate big-endian-vmov.ll. NFC
Commit: ee8100ba02752a6089778bc4814cb11d7c6c51de
https://github.com/llvm/llvm-project/commit/ee8100ba02752a6089778bc4814cb11d7c6c51de
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[Clang][OMPX] Add the code generation for multi-dim `num_teams` (#101407)
This patch adds the code generation support for multi-dim `num_teams`
clause when it is used with `target teams ompx_bare` construct.
Commit: 259742a88558325d76d9ec7e71e11a785e499af9
https://github.com/llvm/llvm-project/commit/259742a88558325d76d9ec7e71e11a785e499af9
Author: Manish Kausik H <46352931+Nirhar at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
A llvm/test/CodeGen/X86/insert-into-vector-through-stack-no-stack-realign.ll
Log Message:
-----------
[SelectionDAG] Use unaligned store/load to move AVX registers onto stack for `insertelement` (#82130)
Prior to this patch, SelectionDAG generated aligned move onto stacks for
AVX registers when the function was marked as a no-realign-stack
function. This lead to misalignment between the stack and the
instruction generated. This patch fixes the issue. There was a similar
issue reported for `extractelement` which was fixed in
a6614ec5b7c1dbfc4b847884c5de780cf75e8e9c
Co-authored-by: Manish Kausik H <hmamishkausik at gmail.com>
Commit: 3bd63d4aa7096c0ba9b74a10842bc5b45e3cd4b4
https://github.com/llvm/llvm-project/commit/3bd63d4aa7096c0ba9b74a10842bc5b45e3cd4b4
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port for d45de8003a269066c9a9af871119a7c36eeb5aa3
Commit: 3c639b83a6071d3e6ec9f44da7a7788165a65d45
https://github.com/llvm/llvm-project/commit/3c639b83a6071d3e6ec9f44da7a7788165a65d45
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/nvlink-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
Log Message:
-----------
[Clang] Simplify specifying passes via -Xoffload-linker (#102483)
Make it possible to do things like the following, regardless of whether
the offload target is nvptx or amdgpu:
```
$ clang -O1 -g -fopenmp --offload-arch=native test.c \
-Xoffload-linker -mllvm=-pass-remarks=inline \
-Xoffload-linker -mllvm=-force-remove-attribute=g.internalized:noinline\
-Xoffload-linker --lto-newpm-passes='forceattrs,default<O1>' \
-Xoffload-linker --lto-debug-pass-manager \
-foffload-lto
```
To accomplish that:
- In clang-linker-wrapper, do not forward options via `-Wl` if they
might have literal commas. Use `-Xlinker` instead.
- In clang-nvlink-wrapper, accept `--lto-debug-pass-manager` and
`--lto-newpm-passes`.
- In clang-nvlink-wrapper, drop `-passes` because it's inconsistent with
the interface of `lld`, which is used instead of clang-nvlink-wrapper
when the target is amdgpu. Without this patch, `-passes` is passed to
`nvlink`, producing an error anyway.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 5c0eb1a6e4679cc741f75f5ddc53d4878dabc1f2
https://github.com/llvm/llvm-project/commit/5c0eb1a6e4679cc741f75f5ddc53d4878dabc1f2
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep for the SPIRVToLLVM target
Commit: f4d5b14dcc65578db1688580a71db0783bfc82f9
https://github.com/llvm/llvm-project/commit/f4d5b14dcc65578db1688580a71db0783bfc82f9
Author: Nico Weber <thakis at chromium.org>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/utils/gn/build/symbol_exports.py
M llvm/utils/gn/build/symlink_or_copy.py
Log Message:
-----------
[gn] Give two scripts argparse.RawDescriptionHelpFormatter
Without this, the doc string is put in a single line. These
scripts have multi-line docstrings, so this makes their --help
output look much nicer.
Otherwise, no behavior change.
Commit: 669d8448a308dcf0d7b26fc4168177e54d4ccf82
https://github.com/llvm/llvm-project/commit/669d8448a308dcf0d7b26fc4168177e54d4ccf82
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Convert truncsat clamping patterns to use SDPatternMatch. NFC.
Inspired by #99418 (which hopefully we can replace this code with at some point)
Commit: 52126dc72c3f6f4d27e3835b0ad53e162af25e53
https://github.com/llvm/llvm-project/commit/52126dc72c3f6f4d27e3835b0ad53e162af25e53
Author: Yupei Liu <liuyupei951018 at hotmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Fix Handling of Init Capture with Parameter Packs in LambdaScopeForCallOperatorInstantiationRAII (#100766)
This PR addresses issues related to the handling of `init capture` with
parameter packs in Clang's
`LambdaScopeForCallOperatorInstantiationRAII`.
Previously, `addInstantiatedCapturesToScope` would add `init capture`
containing packs to the scope using the type of the `init capture` to
determine the expanded pack size. However, this approach resulted in a
pack size of 0 because `getType()->containsUnexpandedParameterPack()`
returns `false`. After extensive testing, it appears that the correct
pack size can only be inferred from `getInit`.
But `getInit` may reference parameters and `init capture` from an outer
lambda, as shown in the following example:
```cpp
auto L = [](auto... z) {
return [... w = z](auto... y) {
// ...
};
};
```
To address this, `addInstantiatedCapturesToScope` in
`LambdaScopeForCallOperatorInstantiationRAII` should be called last.
Additionally, `addInstantiatedCapturesToScope` has been modified to only
add `init capture` to the scope. The previous implementation incorrectly
called `MakeInstantiatedLocalArgPack` for other non-init captures
containing packs, resulting in a pack size of 0.
### Impact
This patch affects scenarios where
`LambdaScopeForCallOperatorInstantiationRAII` is passed with
`ShouldAddDeclsFromParentScope = false`, preventing the correct addition
of the current lambda's `init capture` to the scope. There are two main
scenarios for `ShouldAddDeclsFromParentScope = false`:
1. **Constraints**: Sometimes constraints are instantiated in place
rather than delayed. In this case,
`LambdaScopeForCallOperatorInstantiationRAII` does not need to add `init
capture` to the scope.
2. **`noexcept` Expressions**: The expressions inside `noexcept` have
already been transformed, and the packs referenced within have been
expanded. Only `RebuildLambdaInfo` needs to add the expanded captures to
the scope, without requiring `addInstantiatedCapturesToScope` from
`LambdaScopeForCallOperatorInstantiationRAII`.
### Considerations
An alternative approach could involve adding a data structure within the
lambda to record the expanded size of the `init capture` pack. However,
this would increase the lambda's size and require extensive
modifications.
This PR is a prerequisite for implmenting
https://github.com/llvm/llvm-project/issues/61426
Commit: 7a98071da2d3e126bacd6c004d2f5d8ecaae7819
https://github.com/llvm/llvm-project/commit/7a98071da2d3e126bacd6c004d2f5d8ecaae7819
Author: Will Dietz <will.dietz at sifive.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/lib/IR/Verifier.cpp
Log Message:
-----------
[mlir] Verifier: steal bit to track seen instead of set. (#102626)
Tracking a set containing every block and operation visited can become
very expensive and is unnecessary.
Co-authored-by: Will Dietz <w at wdtz.org>
Commit: 9e9fa00dcb9522db3f78d921eda6a18b9ee568bb
https://github.com/llvm/llvm-project/commit/9e9fa00dcb9522db3f78d921eda6a18b9ee568bb
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/test/CodeGen/aarch64-branch-protection-attr.c
M clang/test/CodeGen/arm-branch-protection-attr-1.c
Log Message:
-----------
[Arm][AArch64][Clang] Respect function's branch protection attributes. (#101978)
Default attributes assigned to all functions according to the command
line parameters. Some functions might have their own attributes and we
need to set or remove attributes accordingly.
Tests are updated to test this scenarios too.
Commit: 52220c295a2d8552aa085624059decbb93093dff
https://github.com/llvm/llvm-project/commit/52220c295a2d8552aa085624059decbb93093dff
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU][AsmParser][NFC] Remove a misleading comment. (#102604)
The work of ParseRegularReg() should remain to be parsing the register
as it was specified, and not to try translate it to anything else.
It's up to operand predicates to decide on what is and is not an
acceptable register for an operand, including considering its expected
register class, and for the rest of the AsmParser infrastructure to
handle it respectively from there on.
Commit: 8f21ff9bd89fb7c8bbfdc4426b65dcd9ababf3ce
https://github.com/llvm/llvm-project/commit/8f21ff9bd89fb7c8bbfdc4426b65dcd9ababf3ce
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/DLTI/CMakeLists.txt
M mlir/include/mlir/Dialect/DLTI/DLTI.h
A mlir/include/mlir/Dialect/DLTI/TransformOps/CMakeLists.txt
A mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.h
A mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/DLTI/CMakeLists.txt
M mlir/lib/Dialect/DLTI/DLTI.cpp
A mlir/lib/Dialect/DLTI/TransformOps/CMakeLists.txt
A mlir/lib/Dialect/DLTI/TransformOps/DLTITransformOps.cpp
A mlir/test/Dialect/DLTI/query.mlir
Log Message:
-----------
[MLIR][DLTI][Transform] Introduce transform.dlti.query (#101561)
This transform op makes it possible to query attributes associated to IR
by means of the DLTI dialect.
The op takes both a `key` and a target `op` to perform the query at.
Facility functions automatically find the closest ancestor op which
defines the appropriate DLTI interface or has an attribute implementing
a DLTI interface. By default the lookup uses the data layout interfaces
of DLTI. If the optional `device` parameter is provided, the lookup
happens with respect to the interfaces for TargetSystemSpec and
TargetDeviceSpec.
This op uses new free-standing functions in the `dlti` namespace to not
only look up specifications via the `DataLayoutSpecOpInterface` and on
`ModuleOp`s but also on any ancestor op that has an appropriate DLTI
attribute.
Commit: f4fb735840f3f19a637387f4abc1a786f10ef251
https://github.com/llvm/llvm-project/commit/f4fb735840f3f19a637387f4abc1a786f10ef251
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.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/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[llvm] Construct SmallVector<SDValue> with ArrayRef (NFC) (#102578)
Commit: 5c016bf40ea38bc0198b53b1eff743d305e16707
https://github.com/llvm/llvm-project/commit/5c016bf40ea38bc0198b53b1eff743d305e16707
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M flang/runtime/descriptor.cpp
Log Message:
-----------
[flang][cuda] Force default allocator in device code (#102238)
Commit: 2f8f58dd17a11934e8c8ec212b6474f76fb18e61
https://github.com/llvm/llvm-project/commit/2f8f58dd17a11934e8c8ec212b6474f76fb18e61
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/lib/IR/Globals.cpp
Log Message:
-----------
[IR] Add method to GlobalVariable to change type of initializer. (#102553)
With opaque pointers, nothing directly uses the value type, so we can
mutate it if we want. This avoid doing a complicated RAUW dance.
Commit: 23209d1c1a2f21e12bb9c88d43f014b0989d4d3d
https://github.com/llvm/llvm-project/commit/23209d1c1a2f21e12bb9c88d43f014b0989d4d3d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
OpenMPOpt: Remove dead include
Commit: 6f19a7b94a1c6464af16ec125a7d361a8cbbc4c3
https://github.com/llvm/llvm-project/commit/6f19a7b94a1c6464af16ec125a7d361a8cbbc4c3
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add bazel rule for DLTITransformOps
Commit: 5123f2c60a6a357c0384dae6b189fa0f63ba34ef
https://github.com/llvm/llvm-project/commit/5123f2c60a6a357c0384dae6b189fa0f63ba34ef
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
A mlir/test/Dialect/Vector/drop-unit-dims-with-shape-cast.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][vector][test] Split tests from vector-transfer-flatten.mlir (#102584)
Move tests that exercise DropUnitDimFromElementwiseOps and
DropUnitDimsFromTransposeOp to a dedicated file.
While these patterns are collected under populateFlattenVectorTransferPatterns
(and are tested via -test-vector-transfer-flatten-patterns), they can actually
be tested without the xfer Ops, and hence the split.
Note, this is mostly just moving tests from one file to another. The only real
change is the removal of the following check-lines:
```mlir
// CHECK-128B-NOT: memref.collapse_shape
```
These were added specifically to check the "flattening" logic (which introduces
`memref.collapse_shape`). However, these tests were never meant to test that
logic (in fact, that's the reason I am moving them to a different file) and
hence are being removed as copy&paste errors.
I also removed the following TODO:
```mlir
/// TODO: Potential duplication with tests from:
/// * "vector-dropleadunitdim-transforms.mlir"
/// * "vector-transfer-drop-unit-dims-patterns.mlir"
```
I've checked what patterns are triggered in those test files and neither
DropUnitDimFromElementwiseOps nor DropUnitDimsFromTransposeOp does.
Commit: 37c66838bdb1a5b2bf0860fe5cf56860be091f46
https://github.com/llvm/llvm-project/commit/37c66838bdb1a5b2bf0860fe5cf56860be091f46
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/test/CodeGen/X86/pr57673.ll
Log Message:
-----------
[X86] pr57673.ll - generate MIR test checks
Commit: 7752fec6073a49edca4df70ff1b7469b2a67c9d0
https://github.com/llvm/llvm-project/commit/7752fec6073a49edca4df70ff1b7469b2a67c9d0
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/DLTI/CMakeLists.txt
M mlir/include/mlir/Dialect/DLTI/DLTI.h
R mlir/include/mlir/Dialect/DLTI/TransformOps/CMakeLists.txt
R mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.h
R mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/DLTI/CMakeLists.txt
M mlir/lib/Dialect/DLTI/DLTI.cpp
R mlir/lib/Dialect/DLTI/TransformOps/CMakeLists.txt
R mlir/lib/Dialect/DLTI/TransformOps/DLTITransformOps.cpp
R mlir/test/Dialect/DLTI/query.mlir
Log Message:
-----------
Revert "[MLIR][DLTI][Transform] Introduce transform.dlti.query (#101561)"
This reverts commit 8f21ff9bd89fb7c8bbfdc4426b65dcd9ababf3ce.
Crashed CI builds
Commit: cb5ec3796ab08b34d9b0c42f654ca3ca026e50d3
https://github.com/llvm/llvm-project/commit/cb5ec3796ab08b34d9b0c42f654ca3ca026e50d3
Author: Thurston Dang <thurston at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_lane.ll
Log Message:
-----------
[msan] Support vst{2,3,4}_lane instructions (#101215)
This generalizes MSan's Arm NEON vst support, to include the
lane-specific variants.
This also updates the test from
https://github.com/llvm/llvm-project/pull/100645.
Commit: 95820ca263cf1f6369928782882c2fd13633a7e9
https://github.com/llvm/llvm-project/commit/95820ca263cf1f6369928782882c2fd13633a7e9
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] revert bazel rule change for DLTITransformOps
Commit: 8c81fb616747ebe2be0159696627e691ff186561
https://github.com/llvm/llvm-project/commit/8c81fb616747ebe2be0159696627e691ff186561
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 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/config/windows/entrypoints.txt
M libc/newhdrgen/yaml/math.yaml
M libc/spec/llvm_libc_ext.td
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
M libc/src/math/fadd.h
A libc/src/math/faddf128.h
A libc/src/math/faddl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/fadd.cpp
A libc/src/math/generic/faddf128.cpp
A libc/src/math/generic/faddl.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/faddl_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/faddf128_test.cpp
A libc/test/src/math/smoke/faddl_test.cpp
Log Message:
-----------
[libc][math][c23] Add fadd{l,f128} C23 math functions (#102531)
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 2fe61a5acf272d6826352ef72f47196b01003fc5
https://github.com/llvm/llvm-project/commit/2fe61a5acf272d6826352ef72f47196b01003fc5
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
A llvm/test/CodeGen/AMDGPU/print-pipeline-passes.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
[AMDGPU] Move `AMDGPUAttributorPass` to full LTO post link stage (#102086)
Currently `AMDGPUAttributorPass` is registered in default optimizer
pipeline.
This will allow the pass to run in default pipeline as well as at
thinLTO post
link stage. However, it will not run in full LTO post link stage. This
patch
moves it to full LTO.
Commit: 7ede1c4973029f611ad0890ed5fe61f530774da3
https://github.com/llvm/llvm-project/commit/7ede1c4973029f611ad0890ed5fe61f530774da3
Author: Thurston Dang <thurston at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.h
Log Message:
-----------
[asan] Switch allocator to dynamic base address (#98511)
This ports a fix from memprof (https://github.com/llvm/llvm-project/pull/98510), which has a shadow mapping that is similar to ASan (8 bytes of shadow memory per 64 bytes of app memory). This patch changes the allocator to dynamically choose a base address, as suggested by Vitaly for memprof. This simplifies ASan's #ifdef's and avoids potential conflict in the event that ASan were to switch to a dynamic shadow offset in the future [1].
[1] Since shadow memory is mapped before the allocator is mapped:
- dynamic shadow and fixed allocator (old memprof): could fail if
"unlucky" (e.g., https://lab.llvm.org/buildbot/#/builders/66/builds/1361/steps/17/logs/stdio)
- dynamic shadow and dynamic allocator (HWASan; current memprof): always works
- fixed shadow and fixed allocator (current ASan): always works, if
constants are carefully chosen
- fixed shadow and dynamic allocator (ASan with this patch): always works
Commit: 1ea0865dd6faf99ae25f22161c2aeb65ff9505c0
https://github.com/llvm/llvm-project/commit/1ea0865dd6faf99ae25f22161c2aeb65ff9505c0
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/nvptx-cuda-system-arch.c
M clang/test/Driver/openmp-system-arch.c
M llvm/utils/lit/lit/TestingConfig.py
Log Message:
-----------
[Clang] Add env var for nvptx-arch/amdgpu-arch timeout (#102521)
When working on very busy systems, check-offload frequently fails many
tests with this diagnostic:
```
clang: error: cannot determine amdgcn architecture: /tmp/llvm/build/bin/amdgpu-arch: Child timed out: ; consider passing it via '-march'
```
This patch accepts the environment variable
`CLANG_TOOLCHAIN_PROGRAM_TIMEOUT` to set the timeout. It also increases
the timeout from 10 to 60 seconds.
Commit: e711a0c80fdd318afe869b7ddc16053dd2066d66
https://github.com/llvm/llvm-project/commit/e711a0c80fdd318afe869b7ddc16053dd2066d66
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/Mips/Mips64InstrInfo.td
M llvm/test/CodeGen/Mips/llvm-ir/and-srl.ll
Log Message:
-----------
[MIPS] Fix missing ANDI optimization (#97689)
1. Add MipsPat to optimize (andi (srl (truncate i64 $1), x), y) to (andi
(truncate (dsrl i64 $1, x)), y).
2. Add MipsPat to optimize (ext (truncate i64 $1), x, y) to (truncate
(dext i64 $1, x, y)).
The assembly result is the same as gcc.
Fixes https://github.com/llvm/llvm-project/issues/42826
Commit: 9f3ff8d28a97379521ceb8cb29fbba5c3b487fec
https://github.com/llvm/llvm-project/commit/9f3ff8d28a97379521ceb8cb29fbba5c3b487fec
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Separated committed and decommitted entries. (#101409)
Initially, the LRU list stored all mapped entries with no distinction
between the committed (non-madvise()'d) entries and decommitted
(madvise()'d) entries. Now these two types of entries re separated into
two lists, allowing future cache logic to branch depending on whether or
not entries are committed or decommitted. Furthermore, the retrieval
algorithm will prioritize committed entries over decommitted entries.
Specifically, committed entries that satisfy the MaxUnusedCachePages
requirement are retrieved before optimal-fit, decommitted entries.
This commit addresses the compiler errors raised
[here](https://github.com/llvm/llvm-project/pull/100818#issuecomment-2261043261).
Commit: edf45e4eddbc5a10cc3db4397b3b7100e8f03dcf
https://github.com/llvm/llvm-project/commit/edf45e4eddbc5a10cc3db4397b3b7100e8f03dcf
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Object/RelocationResolver.cpp
A llvm/test/tools/llvm-objdump/ELF/RISCV/source-interleave.ll
Log Message:
-----------
Suppress spurious warnings due to R_RISCV_SET_ULEB128
llvm-objdump -S issues unnecessary warnings for RISC-V relocatable files
containing .debug_loclists or .debug_rnglists sections with ULEB128
relocations. This occurred because `DWARFObjInMemory` verifies support for all
relocation types, triggering warnings for unsupported ones.
```
% llvm-objdump -S a.o
...
0000000000000000 <foo>:
warning: failed to compute relocation: R_RISCV_SUB_ULEB128, Invalid data was encountered while parsing the file
warning: failed to compute relocation: R_RISCV_SET_ULEB128, Invalid data was encountered while parsing the file
...
```
This change fixes #101544 by declaring support for the two ULEB128
relocation types, silencing the spurious warnings.
---
In DWARF v5 builds, DW_LLE_offset_pair/DW_RLE_offset_pair might be
generated in .debug_loclists/.debug_rnglists with ULEB128 relocations.
They are only read by llvm-dwarfdump to dump section content and verbose
DW_AT_location/DW_AT_ranges output for relocatable files.
The DebugInfoDWARF user (e.g. DWARFDebugRnglists.cpp) calls
`Data.getULEB128` without checking the ULEB128 relocations, as the
unrelocated value holds meaning (refer to the assembler
implementation https://reviews.llvm.org/D157657). This differs from
`.quad .Lfoo`, which requires relocation reading (e.g.
https://reviews.llvm.org/D74404).
Pull Request: https://github.com/llvm/llvm-project/pull/101607
Commit: 6b7753112325286344bbebf050e5a0415a950f0e
https://github.com/llvm/llvm-project/commit/6b7753112325286344bbebf050e5a0415a950f0e
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-add-of-sub.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-integer-ll.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
Log Message:
-----------
[GlobalIsel] Combine G_ADD and G_SUB with constants (#97771)
Commit: b6cbd014b9770b4cc4630032777f2e6071afc3e0
https://github.com/llvm/llvm-project/commit/b6cbd014b9770b4cc4630032777f2e6071afc3e0
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M libc/docs/dev/header_generation.rst
M libc/newhdrgen/yaml/ctype.yaml
M libc/newhdrgen/yaml/fcntl.yaml
M libc/newhdrgen/yaml/fenv.yaml
M libc/newhdrgen/yaml/gpu/rpc.yaml
M libc/newhdrgen/yaml/math.yaml
M libc/newhdrgen/yaml/pthread.yaml
M libc/newhdrgen/yaml/sched.yaml
M libc/newhdrgen/yaml/search.yaml
M libc/newhdrgen/yaml/signal.yaml
M libc/newhdrgen/yaml/stdbit.yaml
M libc/newhdrgen/yaml/stdfix.yaml
M libc/newhdrgen/yaml/stdio.yaml
M libc/newhdrgen/yaml/stdlib.yaml
M libc/newhdrgen/yaml/string.yaml
M libc/newhdrgen/yaml/strings.yaml
M libc/newhdrgen/yaml/sys/epoll.yaml
M libc/newhdrgen/yaml/sys/mman.yaml
M libc/newhdrgen/yaml/sys/socket.yaml
M libc/newhdrgen/yaml/sys/statvfs.yaml
M libc/newhdrgen/yaml/termios.yaml
M libc/newhdrgen/yaml/threads.yaml
M libc/newhdrgen/yaml/time.yaml
M libc/newhdrgen/yaml/unistd.yaml
A libc/newhdrgen/yaml_functions_sorted.py
Log Message:
-----------
[libc][newhdrgen]sorted function names in yaml (#102544)
Commit: ccc31278bd01d6728c48f1b1f11c56e7a092bb47
https://github.com/llvm/llvm-project/commit/ccc31278bd01d6728c48f1b1f11c56e7a092bb47
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/jump-table.ll
Log Message:
-----------
[NVPTX] support switch statement with brx.idx (reland) (#102550)
Add custom lowering for `BR_JT` DAG nodes to the `brx.idx` PTX
instruction ([PTX ISA 9.7.13.4. Control Flow Instructions: brx.idx]
(https://docs.nvidia.com/cuda/parallel-thread-execution/#control-flow-instructions-brx-idx)).
Depending on the heuristics in DAG selection, `switch` statements may
now be lowered using `brx.idx`.
Note: this fixes the previous issue in #102400 by adding the isBarrier
attribute to BRX_END
Commit: 31c75a124b393eb3736ead0b8f2d41b60110204a
https://github.com/llvm/llvm-project/commit/31c75a124b393eb3736ead0b8f2d41b60110204a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Move PseudoVSET(I)VLI expansion to use PseudoInstExpansion. (#102496)
Instead of expanding in RISCVExpandPseudoInsts, expand during
MachineInstr to MCInst lowering.
We weren't doing anything in expansion other than copying operands.
Commit: ca7ad38ca0d241658da04bcfa63598b5519026f2
https://github.com/llvm/llvm-project/commit/ca7ad38ca0d241658da04bcfa63598b5519026f2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
R llvm/test/CodeGen/RISCV/rv64-legal-i32/alu32.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/condops.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/div.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/imm.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/mem.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/mem64.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rem.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64xtheadbb.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb-intrinsic.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb-zbkb.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbc-intrinsic.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbc-zbkc-intrinsic.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbkb-intrinsic.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbkb.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbs.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/sadd_sat.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/sadd_sat_plus.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/ssub_sat.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/ssub_sat_plus.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/uadd_sat.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/uadd_sat_plus.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/usub_sat.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/usub_sat_plus.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/vararg.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/xtheadmac.ll
R llvm/test/CodeGen/RISCV/rv64-legal-i32/xtheadmemidx.ll
M llvm/test/CodeGen/RISCV/shl-cttz.ll
Log Message:
-----------
[RISCV] Remove riscv-experimental-rv64-legal-i32. (#102509)
This has received no development work in a while and is slowly bit
rotting as new extensions are added.
At the moment, I don't think this is viable without adding a new
invariant that 32 bit values are always in sign extended form like
Mips64 does. We are very dependent on computeKnownBits and
ComputeNumSignBits in SelectionDAG to remove sign extends created for
ABI reasons. If we can't propagate sign bit information through 64-bit
values in SelectionDAG, we can't effectively clean up those extends.
Commit: 2eb6e30fe83ccce3cf01e596e73fa6385facd44b
https://github.com/llvm/llvm-project/commit/2eb6e30fe83ccce3cf01e596e73fa6385facd44b
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
M clang/test/CodeGen/ptrauth-function-attributes.c
Log Message:
-----------
[clang] Wire -fptrauth-returns to "ptrauth-returns" fn attribute. (#102416)
We already ended up with -fptrauth-returns, the feature macro, the lang
opt, and the actual backend lowering.
The only part left is threading it all through PointerAuthOptions, to
drive the addition of the "ptrauth-returns" attribute to generated
functions.
While there, do minor cleanup on ptrauth-function-attributes.c.
This also adds ptrauth_key_return_address to ptrauth.h.
Commit: e5697d7f99b441064a4e4c3c27c2fc8e5d2784c0
https://github.com/llvm/llvm-project/commit/e5697d7f99b441064a4e4c3c27c2fc8e5d2784c0
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/AST/DeclBase.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/DeclBaseTest.cpp
M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
Log Message:
-----------
Return available function types for BindingDecls. (#102196)
Only return nullptr when we don't have an available QualType.
Commit: 6b27a57d022aacd9067a953f9f8ce19acb13f475
https://github.com/llvm/llvm-project/commit/6b27a57d022aacd9067a953f9f8ce19acb13f475
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ctlz-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/ctlz-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/cttz-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/cttz-rv64.mir
Log Message:
-----------
[RISCV][GISel] Add missing tests for G_CTLZ/CTTZ instruction selection. NFC
Commit: 492484e657518097e5cb333ebdf7bddfd65c80e7
https://github.com/llvm/llvm-project/commit/492484e657518097e5cb333ebdf7bddfd65c80e7
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
R llvm/test/CodeGen/AMDGPU/print-pipeline-passes.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
Revert "[AMDGPU] Move `AMDGPUAttributorPass` to full LTO post link stage (#102086)"
This reverts commit 2fe61a5acf272d6826352ef72f47196b01003fc5.
Commit: 22cce65464e4be60554de1af95794766eeb1f63a
https://github.com/llvm/llvm-project/commit/22cce65464e4be60554de1af95794766eeb1f63a
Author: Chris Apple <cja-private at pm.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
Log Message:
-----------
[LLVM][rtsan] rtsan transform to preserve CFGAnalyses (#102651)
Follow on to #101232, as suggested in the comments, narrow the scope of
the preserved analyses.
Commit: d179acd0484bac30c5ebbbed4d29a4734d92ac93
https://github.com/llvm/llvm-project/commit/d179acd0484bac30c5ebbbed4d29a4734d92ac93
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ptrauth-function-attributes.c
Log Message:
-----------
[clang] Implement -fptrauth-auth-traps. (#102417)
This provides -fptrauth-auth-traps, which at the frontend level only
controls the addition of the "ptrauth-auth-traps" function attribute.
The attribute in turn controls various aspects of backend codegen, by
providing the guarantee that every "auth" operation generated will trap
on failure.
This can either be delegated to the hardware (if AArch64 FPAC is known
to be available), in which case this attribute doesn't change codegen.
Otherwise, if FPAC isn't available, this asks the backend to emit
additional instructions to check and trap on auth failure.
Commit: 2f6a879790d0496375bb9ab5351c9b61058473e8
https://github.com/llvm/llvm-project/commit/2f6a879790d0496375bb9ab5351c9b61058473e8
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M libc/src/stdio/printf_core/parser.h
M libc/test/src/stdbit/stdc_bit_floor_ui_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
Log Message:
-----------
[libc] Use cpp::numeric_limits in preference to C23 <limits.h> macros (#102665)
This updates some code to consistently use cpp::numeric_limits,
the src/__support polyfill for std::numeric_limits, rather than
the C <limits.h> macros. This is in keeping with the general
C++-oriented style in libc code, and also sidesteps issues about
the new C23 *_WIDTH macros that the compiler-provided header does
not define outside C23 mode.
Bug: https://issues.fuchsia.dev/358196552
Commit: 101cf540e698529d3dd899d00111bcb654a3c12b
https://github.com/llvm/llvm-project/commit/101cf540e698529d3dd899d00111bcb654a3c12b
Author: Alex Langford <alangford at apple.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/source/API/SBSaveCoreOptions.cpp
Log Message:
-----------
[lldb] Move definition of SBSaveCoreOptions dtor out of header (#102539)
This class is technically not usable in its current state. When you use
it in a simple C++ project, your compiler will complain about an
incomplete definition of SaveCoreOptions. Normally this isn't a problem,
other classes in the SBAPI do this. The difference is that
SBSaveCoreOptions has a default destructor in the header, so the
compiler will attempt to generate the code for the destructor with an
incomplete definition of the impl type.
All methods for every class, including constructors and destructors,
must have a separate implementation not in a header.
Commit: 35f55f53dfbb62902da007f308a618192102dd1c
https://github.com/llvm/llvm-project/commit/35f55f53dfbb62902da007f308a618192102dd1c
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/include/mlir/IR/AttrTypeBase.td
M mlir/include/mlir/IR/CommonAttrConstraints.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/Constraints.td
M mlir/include/mlir/TableGen/Type.h
M mlir/lib/TableGen/Type.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Consistent `cppType` / `cppClassName` usage (#102657)
Make sure that the usage of `cppType` and `cppClassName` of type and
attribute definitions/constraints is consistent in TableGen.
- `cppClassName`: The C++ class name of the type or attribute.
- `cppType`: The fully qualified C++ class name: C++ namespace and C++
class name.
Basically, we should always use the fully qualified C++ class name for
parameter types, return types or template arguments.
Also some minor cleanups.
Fixes #57279.
Commit: 74e4694b8cbdb918abd4645e2c5027359904fb92
https://github.com/llvm/llvm-project/commit/74e4694b8cbdb918abd4645e2c5027359904fb92
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
A clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
M lld/MachO/LTO.cpp
M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/M68k/pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
Log Message:
-----------
[LTO] enable `ObjCARCContractPass` only on optimized build (#101114)
\#92331 tried to make `ObjCARCContractPass` by default, but it caused a
regression on O0 builds and was reverted.
This patch trys to bring that back by:
1. reverts the
[revert](https://github.com/llvm/llvm-project/commit/1579e9ca9ce17364963861517fecf13b00fe4d8a).
2. `createObjCARCContractPass` only on optimized builds.
Tests are updated to refelect the changes. Specifically, all `O0` tests
should not include `ObjCARCContractPass`
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: 7359a6b7996f92e6659418d3d2e5b57c44d65e37
https://github.com/llvm/llvm-project/commit/7359a6b7996f92e6659418d3d2e5b57c44d65e37
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/Dialect/Quant/QuantTypes.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/include/mlir/IR/StorageUniquerSupport.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/TableGen/AttrOrTypeDef.h
M mlir/include/mlir/TableGen/Class.h
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVAttributes.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/TableGen/AttrOrTypeDef.cpp
A mlir/test/IR/test-verifiers-type.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/mlir-tblgen/attr-or-type-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Verify type constraints in Types and Attributes (#102326)
When a type/attribute is defined in TableGen, a type constraint can be
used for parameters, but the type constraint verification was missing.
Example:
```
def TestTypeVerification : Test_Type<"TestTypeVerification"> {
let parameters = (ins AnyTypeOf<[I16, I32]>:$param);
// ...
}
```
No verification code was generated to ensure that `$param` is I16 or
I32.
When type constraints a present, a new method will generated for types
and attributes: `verifyInvariantsImpl`. (The naming is similar to op
verifiers.) The user-provided verifier is called `verify` (no change).
There is now a new entry point to type/attribute verification:
`verifyInvariants`. This function calls both `verifyInvariantsImpl` and
`verify`. If neither of those two verifications are present, the
`verifyInvariants` function is not generated.
When a type/attribute is not defined in TableGen, but a verifier is
needed, users can implement the `verifyInvariants` function. (This
function was previously called `verify`.)
Note for LLVM integration: If you have an attribute/type that is not
defined in TableGen (i.e., just C++), you have to rename the
verification function from `verify` to `verifyInvariants`. (Most
attributes/types have no verification, in which case there is nothing to
do.)
Depends on #102657.
Commit: a21cf5663c3e757e98a396e47471af63bd4955b0
https://github.com/llvm/llvm-project/commit/a21cf5663c3e757e98a396e47471af63bd4955b0
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M libc/src/stdio/printf_core/parser.h
M libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
Log Message:
-----------
[libc] Fix use of cpp::numeric_limits<...>::digits (#102674)
The previous change replaced INT_WIDTH with
cpp::numberic_limits<int>::digits, but these don't have the same
value. While INT_WIDTH == UINT_WIDTH, not so for ::digits, so
use cpp::numberic_limits<unsigned int>::digits et al instead for
the intended effects.
Bug: https://issues.fuchsia.dev/358196552
Commit: 66d87350185dbbaba91814b9b6297bca1aea7729
https://github.com/llvm/llvm-project/commit/66d87350185dbbaba91814b9b6297bca1aea7729
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement the InsertElementInst class (#102404)
Heavily based on work by @vporpo.
Commit: 841327db4ecaf5ac4703670a18f8d3edcdb91f1b
https://github.com/llvm/llvm-project/commit/841327db4ecaf5ac4703670a18f8d3edcdb91f1b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
Log Message:
-----------
[flang][cuda] Convert cuf.alloc for box to fir.alloca in device context (#102662)
In device context managed memory is not available so it makes no sense
to allocate the descriptor using it. Fall back to fir.alloca as it is
handled well in device code.
cuf.free is just dropped.
Commit: 6e8a751ef124465b6e05ace84c3d69c0166151c8
https://github.com/llvm/llvm-project/commit/6e8a751ef124465b6e05ace84c3d69c0166151c8
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M libc/src/stdio/printf_core/parser.h
Log Message:
-----------
[libc] Clean up remaining use of *_WIDTH macros in printf (#102679)
The previous change missed the second spot doing the same thing.
Bug: https://issues.fuchsia.dev/358196552
Commit: e8eec716102bcd69205dafdf3d08a7be03180671
https://github.com/llvm/llvm-project/commit/e8eec716102bcd69205dafdf3d08a7be03180671
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Fix lib dependency
Commit: 842789be6b22a87b92400db693a43bd84892e1d4
https://github.com/llvm/llvm-project/commit/842789be6b22a87b92400db693a43bd84892e1d4
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/mlir-tblgen/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add missing td dependency in mlir-tblgen test
Commit: 165c6d12519cf66f4ef3f5a00f9b1ed83613ff28
https://github.com/llvm/llvm-project/commit/165c6d12519cf66f4ef3f5a00f9b1ed83613ff28
Author: Nikhil Kalra <nikhil.kalra at gmail.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/include/mlir/Pass/PassOptions.h
M mlir/lib/Pass/PassRegistry.cpp
M mlir/test/Pass/pipeline-options-parsing.mlir
M mlir/test/lib/Pass/TestPassManager.cpp
Log Message:
-----------
[mlir] Add support for parsing nested PassPipelineOptions (#101118)
- Added a default parsing implementation to `PassOptions` to allow
`Option`/`ListOption` to wrap PassOption objects. This is helpful when
creating meta-pipelines (pass pipelines composed of pass pipelines).
- Updated `ListOption` printing to enable round-tripping the output of
`dump-pass-pipeline` back into `mlir-opt` for more complex structures.
Commit: 8a5e179ac192248f52c60e74b66be67b39eb1021
https://github.com/llvm/llvm-project/commit/8a5e179ac192248f52c60e74b66be67b39eb1021
Author: Hugh Delaney <hugh.delaney at codeplay.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-autoupgrade.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm86-ptx72-autoupgrade.ll
Log Message:
-----------
[NVPTX][NFC] Update tests to use bfloat type (#101493)
Intrinsics are defined with a bfloat type as of commit
250f2bb2c6a9c288faeb821585e9394697c561d8, not i16 and i32 storage types.
As such declarations are no longer needed once the correct types are
used.
Commit: 13fc9148ba57c9d07082b6d99c5c760533301629
https://github.com/llvm/llvm-project/commit/13fc9148ba57c9d07082b6d99c5c760533301629
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/mlir-tblgen/BUILD.bazel
Log Message:
-----------
[mlir][bazel] remove extra blanks in mlir-tblgen test
Commit: f7ad495a59445bc42d1955c26f11c892c540abdc
https://github.com/llvm/llvm-project/commit/f7ad495a59445bc42d1955c26f11c892c540abdc
Author: vporpo <vporpodas at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
Log Message:
-----------
[SandboxIR] Clean up tracking code with the help of emplaceIfTracking() (#102406)
This patch introduces Tracker::emplaceIfTracking(), a wrapper of Tracker::track() that will conditionally create the change object if tracking is enabled.
This patch also removes the `Parent` member field of `IRChangeBase`.
Commit: e91e0f52895e2b23bd690a86dbaafd979e027d29
https://github.com/llvm/llvm-project/commit/e91e0f52895e2b23bd690a86dbaafd979e027d29
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[CodeGen][NFCI] Don't re-implement parts of ASTContext::getIntWidth (#101765)
ASTContext::getIntWidth returns 1 if isBooleanType(), and falls back on
getTypeSize in the default case, which itself just returns the Width
from getTypeInfo's returned struct, so can be used in all cases here,
not just for _BitInt types.
Commit: 4bffbba7e97ff35ffa55941836bcc0612a7e9a04
https://github.com/llvm/llvm-project/commit/4bffbba7e97ff35ffa55941836bcc0612a7e9a04
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[UnitTests] Convert a test to use opaque pointers (#102668)
Commit: c69b8c445a6b7efd29e67b665adaf04575f3ed92
https://github.com/llvm/llvm-project/commit/c69b8c445a6b7efd29e67b665adaf04575f3ed92
Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_allowlist_ignorelist.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-init.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
Log Message:
-----------
[compiler-rt][NFC] Replace environment variable with %t (#102197)
Certain tests within the compiler-rt subproject encountered "command not
found" errors when using lit's internal shell, particularly when trying
to use the `DIR` environment variable. When checking with the command
`LIT_USE_INTERNAL_SHELL=1 ninja check-compiler-rt`, I encountered the
following error:
```
********************
Testing:
FAIL: SanitizerCommon-ubsan-i386-Linux :: sanitizer_coverage_trace_pc_guard-init.cpp (146 of 9570)
******************** TEST 'SanitizerCommon-ubsan-i386-Linux :: sanitizer_coverage_trace_pc_guard-init.cpp' FAILED ********************
Exit Code: 127
Command Output (stdout):
--
# RUN: at line 5
DIR=/usr/local/google/home/harinidonthula/llvm-project/build/runtimes/runtimes-bins/compiler-rt/test/sanitizer_common/ubsan-i386-Linux/Output/sanitizer_coverage_trace_pc_guard-init.cpp.tmp_workdir
# executed command: DIR=/usr/local/google/home/harinidonthula/llvm-project/build/runtimes/runtimes-bins/compiler-rt/test/sanitizer_common/ubsan-i386-Linux/Output/sanitizer_coverage_trace_pc_guard-init.cpp.tmp_workdir
# .---command stderr------------
# | 'DIR=/usr/local/google/home/harinidonthula/llvm-project/build/runtimes/runtimes-bins/compiler-rt/test/sanitizer_common/ubsan-i386-Linux/Output/sanitizer_coverage_trace_pc_guard-init.cpp.tmp_workdir': command not found
# `-----------------------------
# error: command failed with exit status: 127
```
In this patch, I resolved these issues by removing the use of the `DIR`
environment variable. Instead, the tests now directly utilize
`%t_workdir` for managing temporary directories. Additionally, I
simplified the tests by embedding the clang command arguments directly
into the test scripts, which avoids complications with environment
variable expansion under lit's internal shell.
This fix ensures that the tests run smoothly with lit's internal shell
and prevents the "command not found" errors, improving the reliability
of the test suite when executed in this environment.
fixes: #102395
[link to
RFC](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)
Commit: bbefd5713ff55de3a23e4bdc7c15edd74cbc5e7a
https://github.com/llvm/llvm-project/commit/bbefd5713ff55de3a23e4bdc7c15edd74cbc5e7a
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/smul_fix.ll
M llvm/test/CodeGen/AArch64/umul_fix.ll
Log Message:
-----------
[TargetLowering] Handle vector types in expandFixedPointMul (#102635)
In TargetLowering::expandFixedPointMul when expanding fixed point
multiplication, and when using a widened MUL as strategy for the
lowering, there was a bug resulting in assertion failures like this:
Assertion `VT.isVector() == N1.getValueType().isVector() &&
"SIGN_EXTEND result type type should be vector iff the operand "
"type is vector!"' failed.
Problem was that we did not consider that VT could be a vector type
when setting up the WideVT. This patch should fix that bug.
Commit: 7299c7f65451c8c97d6417a3f185186e59c6e25e
https://github.com/llvm/llvm-project/commit/7299c7f65451c8c97d6417a3f185186e59c6e25e
Author: Michael Jones <michaelrj at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M libc/src/__support/str_to_float.h
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_long_double_test.cpp
Log Message:
-----------
[libc] Fix CFP long double and add tests (#102660)
The previous patch removing the fenv requirement for str to float had an
error that got missed due to a lack of tests. This patch fixes the issue
and adds tests, as well as updating the existing tests.
Commit: 1d8d5d6529442f341f5a32e4131120e4e01fce43
https://github.com/llvm/llvm-project/commit/1d8d5d6529442f341f5a32e4131120e4e01fce43
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/tan.cpp
Log Message:
-----------
[libc] Moved range_reduction_double ifdef statement (#102659)
Sin/cos/tan fuzzers were having issues with ONE_TWENTY_EIGHT_OVER_PI, so
the LIBC_TARGET_CPU_HAS_FMA ifdef statement got moved from the
sin/cos/tan .cpp files to the range_reduction_double_common.cpp file.
Commit: 44f30c80195d4817bc9fdefa1759372769b663e2
https://github.com/llvm/llvm-project/commit/44f30c80195d4817bc9fdefa1759372769b663e2
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
Log Message:
-----------
[SandboxIR][NFC] Use Tracker.emplaceIfTracking()
This patch replaces some of the remaining uses of Tracker::track() to
Tracker::emplaceIfTracking().
Commit: 93a31cdf7a9ff6cbbdba018a55acd9612ba43dab
https://github.com/llvm/llvm-project/commit/93a31cdf7a9ff6cbbdba018a55acd9612ba43dab
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan.h
M compiler-rt/lib/nsan/nsan_interceptors.cpp
M compiler-rt/lib/nsan/nsan_malloc_linux.cpp
M compiler-rt/lib/nsan/nsan_preinit.cpp
M compiler-rt/lib/nsan/nsan_stats.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
Log Message:
-----------
[nsan] Make #include more conventional
Commit: 51a3bc12176ab46f3d2ce6ad4aa26af088d3cf14
https://github.com/llvm/llvm-project/commit/51a3bc12176ab46f3d2ce6ad4aa26af088d3cf14
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
Log Message:
-----------
[ThinLTO]Clean up 'import-assume-unique-local' flag. (#102424)
While manual compiles can specify full file paths and build automation
tools use full, unique paths in practice, it's not clear whether it's a
general good practice to enforce full paths (fail a build if relative
paths are used).
`NumDefs == 1` condition [1] should hold true for many internal-linkage
vtables as long as full paths are indeed used to salvage the marginal
performance when local-linkage vtables are imported due to indirect
reference.
https://github.com/llvm/llvm-project/pull/100448#discussion_r1692068402
has more details.
[1]
https://github.com/llvm/llvm-project/pull/100448/files#diff-e7cb370fee46f0f773f2b5429dfab36b75126d3909ae98ee87ff3d0e3f75c6e9R215
Commit: 535172317856e7ecfd26d77aaf4efa3277669df3
https://github.com/llvm/llvm-project/commit/535172317856e7ecfd26d77aaf4efa3277669df3
Author: vporpo <vporpodas at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/Use.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR][NFC] SingleLLVMInstructionImpl class (#102687)
This patch introduces the SingleLLVMInstructionImpl class which
implements a couple of functions shared across all Instructions that map
to a single LLVM Instructions. This avoids code replication.
Commit: 786c409234b0891b8a455d96b08eda61b53b7fed
https://github.com/llvm/llvm-project/commit/786c409234b0891b8a455d96b08eda61b53b7fed
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
A llvm/test/Other/amdgpu-pass-pipeline-parsing.ll
Log Message:
-----------
[AMDGPU][Attributor] Add a pass parameter `closed-world` for AMDGPUAttributor pass (#101760)
Commit: 23c8128d1ec8030f1a717fd9dc391456b9171e45
https://github.com/llvm/llvm-project/commit/23c8128d1ec8030f1a717fd9dc391456b9171e45
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
Log Message:
-----------
FIX: Remove unused private data member `HasWholeProgramVisibility` in `AMDGPU.h`
Commit: 76f722f10c7ac54792821c0a16e47c7d462e53d0
https://github.com/llvm/llvm-project/commit/76f722f10c7ac54792821c0a16e47c7d462e53d0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/test/CodeGen/AMDGPU/si-annotate-cf-noloop.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf-unreachable.ll
Log Message:
-----------
AMDGPU/NewPM: Port SIAnnotateControlFlow to new pass manager (#102653)
Does not yet add it to the pass pipeline. Somehow it causes
2 tests to assert in SelectionDAG, in functions without any
control flow.
Commit: 77e68fbdd3fdc205bafa042fcb87014011dc7799
https://github.com/llvm/llvm-project/commit/77e68fbdd3fdc205bafa042fcb87014011dc7799
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
Log Message:
-----------
AMDGPU/NewPM: Port AMDGPUAnnotateUniformValues to new pass manager (#102654)
Commit: 3696a34e59396d09231def9ded3d0577dd0f7503
https://github.com/llvm/llvm-project/commit/3696a34e59396d09231def9ded3d0577dd0f7503
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/test/CodeGen/AMDGPU/si-lower-i1-copies.mir
Log Message:
-----------
AMDGPU/NewPM: Port SILowerI1Copies to new pass manager (#102663)
Commit: 6c8d479609f9fe2273590c8c60375cff761d5b02
https://github.com/llvm/llvm-project/commit/6c8d479609f9fe2273590c8c60375cff761d5b02
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan.h
Log Message:
-----------
[nsan] GetShadowAddrFor: Use (const) void * to decrease the number of casts
Commit: e0ddd42735b05fd6bee7fc24caeba5464e1a871a
https://github.com/llvm/llvm-project/commit/e0ddd42735b05fd6bee7fc24caeba5464e1a871a
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/msan/msan_thread.cpp
Log Message:
-----------
[msan] Use namespace qualifier. NFC
nsan will port msan_allocator.cpp and msan_thread.cpp. Clean up the two
files first.
Commit: e9a47a664a67b188c553e04232f9b445890a83b2
https://github.com/llvm/llvm-project/commit/e9a47a664a67b188c553e04232f9b445890a83b2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Utils/LCSSA.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
Log Message:
-----------
[llvm] Construct SmallVector with ArrayRef (NFC) (#102712)
Without this patch, the constructor arguments come from
SmallVectorImpl, not ArrayRef. This patch switches them to ArrayRef
so that we can construct SmallVector with a single argument.
Note that LLVM Programmer’s Manual prefers ArrayRef to SmallVectorImpl
for flexibility.
Commit: fcf6dc33658e8679a334e80fb091a8aeecb93790
https://github.com/llvm/llvm-project/commit/fcf6dc33658e8679a334e80fb091a8aeecb93790
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Log Message:
-----------
[AArch64] Construct SmallVector<SDValue> with ArrayRef (NFC) (#102713)
Commit: 165f45354ae51bd00fe9000afbdcc4405e360b02
https://github.com/llvm/llvm-project/commit/165f45354ae51bd00fe9000afbdcc4405e360b02
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
Log Message:
-----------
[mlir] Use llvm::is_contained (NFC) (#102714)
Commit: 109f2f04bcf8f0010380d235a03799520dd4c37c
https://github.com/llvm/llvm-project/commit/109f2f04bcf8f0010380d235a03799520dd4c37c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
Log Message:
-----------
AMDGPU/NewPM: Initialize class member
After #102654
Commit: 0c783be98549b23bb2ccd3df6d407740e16cc1e1
https://github.com/llvm/llvm-project/commit/0c783be98549b23bb2ccd3df6d407740e16cc1e1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Use APInt::isSubsetOf to simplify an expression. NFC
Commit: 7a6acd9844d61e48cbfecbdd1cbbb53080fc7059
https://github.com/llvm/llvm-project/commit/7a6acd9844d61e48cbfecbdd1cbbb53080fc7059
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang] Use llvm::is_contained (NFC) (#102720)
Commit: a52e4866f92b11197004fac836caa56a58344cd7
https://github.com/llvm/llvm-project/commit/a52e4866f92b11197004fac836caa56a58344cd7
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/RISCV/source-interleave.ll
Log Message:
-----------
[llvm-objdump,test] Fix source-interleave.ll when /proc/self/cwd is unavailable
e.g. on Mach-O
Commit: 9a227ba3e129eaa89498b97421afefb1e9d681df
https://github.com/llvm/llvm-project/commit/9a227ba3e129eaa89498b97421afefb1e9d681df
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Start implementing unions and changing the active member (#102723)
Commit: 5c717d6b1de0029b632f4f3f0f706b0d9135ba1e
https://github.com/llvm/llvm-project/commit/5c717d6b1de0029b632f4f3f0f706b0d9135ba1e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__bit/rotate.h
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/__format/format_context.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/memory_resource
M libcxx/modules/std/mdspan.inc
M libcxx/modules/std/new.inc
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp
Log Message:
-----------
[libc++] re-enable clang-tidy in the CI and fix any issues (#102658)
It looks like we've accidentally disabled clang-tidy in the CI. This
re-enables it and fixes the issues accumulated while it was disabled.
Commit: 979abf142f606bf43a5500e59d72f1286a7180c7
https://github.com/llvm/llvm-project/commit/979abf142f606bf43a5500e59d72f1286a7180c7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/test/AST/Interp/constexpr-frame-describe.cpp
Log Message:
-----------
[clang][Interp] Improve "in call to" call argument printing (#102735)
Always go through toAPValue() first and pretty-print that. In the
future, I think we could get rid of the individual toDiagnosticString()
implementations. This way we also get the correct printing for floats.
Commit: 86691f8d7e86176db7409ccafb7a79964221720a
https://github.com/llvm/llvm-project/commit/86691f8d7e86176db7409ccafb7a79964221720a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Do not call dtors of union members (#102739)
Commit: 3b57f6b4c76d9b54b1c42591fdddf0ddc86dc964
https://github.com/llvm/llvm-project/commit/3b57f6b4c76d9b54b1c42591fdddf0ddc86dc964
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Pointer.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Handle nested unions (#102743)
Commit: 22c77f235416d137ea83875c16901fdf32b57159
https://github.com/llvm/llvm-project/commit/22c77f235416d137ea83875c16901fdf32b57159
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M polly/include/polly/CodeGen/BlockGenerators.h
M polly/include/polly/CodeGen/IslExprBuilder.h
M polly/include/polly/CodeGen/IslNodeBuilder.h
M polly/include/polly/CodeGen/LoopGenerators.h
M polly/include/polly/CodeGen/LoopGeneratorsGOMP.h
M polly/include/polly/CodeGen/LoopGeneratorsKMP.h
M polly/include/polly/Support/ScopHelper.h
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslExprBuilder.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
M polly/lib/CodeGen/LoopGeneratorsKMP.cpp
M polly/lib/Support/ScopHelper.cpp
Log Message:
-----------
[Polly] Use separate DT/LI/SE for outlined subfn. NFC. (#102460)
DominatorTree, LoopInfo, and ScalarEvolution are function-level analyses
that expect to be called only on instructions and basic blocks of the
function they were original created for. When Polly outlined a parallel
loop body into a separate function, it reused the same analyses seemed
to work until new checks to be added in #101198.
This patch creates new analyses for the subfunctions. GenDT, GenLI, and
GenSE now refer to the analyses of the current region of code. Outside
of an outlined function, they refer to the same analysis as used for the
SCoP, but are substituted within an outlined function.
Additionally to the cross-function queries of DT/LI/SE, we must not
create SCEVs that refer to a mix of expressions for old and generated
values. Currently, SCEVs themselves do not "remember" which
ScalarEvolution analysis they were created for, but mixing them is just
as unexpected as using DT/LI across function boundaries. Hence
`SCEVLoopAddRecRewriter` was combined into `ScopExpander`.
`SCEVLoopAddRecRewriter` only replaced induction variables but left
SCEVUnknowns to reference the old function. `SCEVParameterRewriter`
would have done so but its job was effectively superseded by
`ScopExpander`, and now also `SCEVLoopAddRecRewriter`. Some issues
persist put marked with a FIXME in the code. Changing them would
possibly cause this patch to be not NFC anymore.
Commit: 59f7a806182543c3d1198ad69c478afcc1443521
https://github.com/llvm/llvm-project/commit/59f7a806182543c3d1198ad69c478afcc1443521
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M libc/newhdrgen/yaml/math.yaml
Log Message:
-----------
[libc] Fix `scablnf16` using `float16` instead of `_Float16`
Commit: 955be526cbb29d8d5cf5ca344cecac4fd00f9790
https://github.com/llvm/llvm-project/commit/955be526cbb29d8d5cf5ca344cecac4fd00f9790
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
R lld/test/COFF/Inputs/except_handler3.lib
M lld/test/COFF/safeseh-md.s
Log Message:
-----------
[LLD][NFC] Don't use x64 import library for x86 target in safeseh-md tests. (#102736)
Use llvm-lib to generate input library instead of a binary blob.
Commit: 2849ebb19c4c9bfe9e3ec716e0f2b1bfe5dd3607
https://github.com/llvm/llvm-project/commit/2849ebb19c4c9bfe9e3ec716e0f2b1bfe5dd3607
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
Log Message:
-----------
[LLD][NFC] Make InputFile::getMachineType const. (#102737)
Commit: 5f26497da7de10c4eeec33b5a5cfcb47e96836cc
https://github.com/llvm/llvm-project/commit/5f26497da7de10c4eeec33b5a5cfcb47e96836cc
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
Log Message:
-----------
[mlir][vector] Use `DenseI64ArrayAttr` in vector.multi_reduction (#102637)
This prevents some unnecessary conversions to/from int64_t and
IntegerAttr.
Commit: ac47edd8a9dadc15aa7b6557e3ac03512aa1cf6f
https://github.com/llvm/llvm-project/commit/ac47edd8a9dadc15aa7b6557e3ac03512aa1cf6f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Only zero-init first union member (#102744)
Zero-initializing all of them accidentally left the last member active.
Only initialize the first one.
Commit: 1c269929d03e4a664a1f05d494b8fefe291ef8c0
https://github.com/llvm/llvm-project/commit/1c269929d03e4a664a1f05d494b8fefe291ef8c0
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
M clang/test/OpenMP/teams_num_teams_messages.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[Clang][Sema][OpenMP] Allow `thread_limit` to accept multiple expressions (#102715)
Commit: 8d908b8cc5f4b3aeb2303437a9c2d35654279fd9
https://github.com/llvm/llvm-project/commit/8d908b8cc5f4b3aeb2303437a9c2d35654279fd9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Ignore unnamed bitfields when zeroing records (#102749)
Including unions, where this is more important.
Commit: 9d6cec5f349d4e26ac8610565dbbe4678a965278
https://github.com/llvm/llvm-project/commit/9d6cec5f349d4e26ac8610565dbbe4678a965278
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Fix activating via indirect field initializers (#102753)
Pointer::activate() propagates up anyway, so that is handled. But we
need to call activate() in any case since the parent might not be a
union, but the activate() is still needed. Always call it and hope that
the InUnion flag takes care of the potential performance problems.
Commit: 8a61bfcf8f3e569d7f1d8fcb8958c02ec4aa6e7f
https://github.com/llvm/llvm-project/commit/8a61bfcf8f3e569d7f1d8fcb8958c02ec4aa6e7f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/Basic/SDNodeProperties.h
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/Common/AsmWriterInst.h
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenHwModes.h
M llvm/utils/TableGen/Common/CodeGenInstAlias.h
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
M llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
M llvm/utils/TableGen/Common/GlobalISel/CodeExpansions.h
M llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
M llvm/utils/TableGen/Common/GlobalISel/PatternParser.h
M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/Common/OptEmitter.h
M llvm/utils/TableGen/Common/PredicateExpander.h
M llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h
Log Message:
-----------
[NFC] Fix TableGen include guards to match paths (#102746)
- Fix include guards for headers under utils/TableGen to match their
paths.
Commit: 9bb7c11f4eed1de09c7b160f02ac258ec9129920
https://github.com/llvm/llvm-project/commit/9bb7c11f4eed1de09c7b160f02ac258ec9129920
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-conflict.mir
Log Message:
-----------
[GISel] Handle more opcodes in constant_fold_binop (#102640)
Update the list of opcodes handled by the constant_fold_binop combine to
match the ones that are folded in CSEMIRBuilder::buildInstr.
Commit: 8101d1863cc3a6ca0ca49962903f2d7651b25659
https://github.com/llvm/llvm-project/commit/8101d1863cc3a6ca0ca49962903f2d7651b25659
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/AlignmentFromAssumptions/domtree-crash.ll
Log Message:
-----------
[Support] Assert that DomTree nodes share parent (#101198)
A dominance query of a block that is in a different function is
ill-defined, so assert that getNode() is only called for blocks that are
in the same function.
There are two cases, where this behavior did occur. LoopFuse didn't
explicitly do this, but didn't invalidate the SCEV block dispositions,
leaving dangling pointers to free'ed basic blocks behind, causing
use-after-free. We do, however, want to be able to dereference basic
blocks inside the dominator tree, so that we can refer to them by a
number stored inside the basic block.
Commit: ac83582a2e7301f7088d14a4c352438e9f62bcf0
https://github.com/llvm/llvm-project/commit/ac83582a2e7301f7088d14a4c352438e9f62bcf0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[Serialization] Fix a warning
This patch fixes:
clang/lib/Serialization/ASTReader.cpp:11484:13: error: unused
variable '_' [-Werror,-Wunused-variable]
Commit: 4ce2f988b28445dadd067e6990aa6fb3db81a184
https://github.com/llvm/llvm-project/commit/4ce2f988b28445dadd067e6990aa6fb3db81a184
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[Serialization] Use traditional for loops (NFC) (#102761)
The use of _ requires either:
- (void)_ and curly braces, or
- [[maybe_unused]].
For simple repetitions like these, we can use traditional for loops
for readable warning-free code.
Commit: 496b224dc2fabe7c9f72e02fb5096f2b0fdd9e9b
https://github.com/llvm/llvm-project/commit/496b224dc2fabe7c9f72e02fb5096f2b0fdd9e9b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Handle union copy/move ctors (#102762)
They don't have a body and we need to implement them ourselves. Use the
Memcpy op to do that.
Commit: c27415ff86a617bdaaf310f6888f084bdf0705ea
https://github.com/llvm/llvm-project/commit/c27415ff86a617bdaaf310f6888f084bdf0705ea
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/aligned_delete_test.cpp
M compiler-rt/test/asan/TestCases/Linux/new_delete_mismatch.cpp
M compiler-rt/test/hwasan/TestCases/new-test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/new_delete_test.cpp
M compiler-rt/test/scudo/aligned-new.cpp
Log Message:
-----------
[sanitizer,test] Restore -fno-sized-deallocation coverage
-fsized-deallocation was recently made the default for C++17 onwards
(#90373). While here, remove unneeded -faligned-allocation.
Commit: 80eea015ba4c1cf1182067579cd385dfdcb2e118
https://github.com/llvm/llvm-project/commit/80eea015ba4c1cf1182067579cd385dfdcb2e118
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/dfsan/dfsan_chained_origin_depot.cpp
M compiler-rt/lib/dfsan/dfsan_custom.cpp
M compiler-rt/lib/dfsan/dfsan_interceptors.cpp
M compiler-rt/lib/dfsan/dfsan_thread.cpp
Log Message:
-----------
[dfsan] Use namespace qualifier and internalize accidentally exported functions. NFC
Commit: f3e950a2fe04dcfcc9202125c99d29451df2be0c
https://github.com/llvm/llvm-project/commit/f3e950a2fe04dcfcc9202125c99d29451df2be0c
Author: Tobias Hieta <tobias at hieta.se>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
A llvm/utils/release/merge-release-pr.py
Log Message:
-----------
[Utils] Add new merge-release-pr.py script. (#101630)
This script helps the release managers merge backport PR's.
It does the following things:
* Validate the PR, checks approval, target branch and many other things.
* Rebases the PR
* Checkout the PR locally
* Pushes the PR to the release branch
* Deletes the local branch
I have found the script very helpful to merge the PR's.
Commit: b167ada89631fc18e073c2b6295b10e3085b8c88
https://github.com/llvm/llvm-project/commit/b167ada89631fc18e073c2b6295b10e3085b8c88
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-analysis.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
M llvm/test/Transforms/DFAJumpThreading/max-path-length.ll
Log Message:
-----------
[DFAJumpThreading] Rewrite the way paths are enumerated (#96127)
I tried to add a limit to number of blocks visited in the paths()
function but even with a very high limit the transformation coverage was
being reduced.
After looking at the code it seemed that the function was trying to
create paths of the form
`SwitchBB...DeterminatorBB...SwitchPredecessor`. This is inefficient
because a lot of nodes in those paths (nodes before DeterminatorBB)
would be irrelevant to the optimization. We only care about paths of the
form `DeterminatorBB_Pred DeterminatorBB...SwitchBB`. This weeds out a
lot of visited nodes.
In this patch I have added a hard limit to the number of nodes visited
and changed the algorithm for path calculation. Primarily I am
traversing the use-def chain for the PHI nodes that define the state. If
we have a hole in the use-def chain (no immediate predecessors) then I
call the paths() function.
I also had to the change the select instruction unfolding code to insert
redundant one input PHIs to allow the use of the use-def chain in
calculating the paths.
The test suite coverage with this patch (including a limit on nodes
visited) is as follows:
Geomean diff:
dfa-jump-threading.NumTransforms: +13.4%
dfa-jump-threading.NumCloned: +34.1%
dfa-jump-threading.NumPaths: -80.7%
Compile time effect vs baseline (pass enabled by default) is mostly
positive:
https://llvm-compile-time-tracker.com/compare.php?from=ad8705fda25f64dcfeb6264ac4d6bac36bee91ab&to=5a3af6ce7e852f0736f706b4a8663efad5bce6ea&stat=instructions:u
Change-Id: I0fba9e0f8aa079706f633089a8ccd4ecf57547ed
Commit: fe31363a682d6bbdf087a9a02dcca3458504ba97
https://github.com/llvm/llvm-project/commit/fe31363a682d6bbdf087a9a02dcca3458504ba97
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/dfsan/dfsan_custom.cpp
Log Message:
-----------
[dfsan] Use namespace qualifier. NFC
Commit: 2ba1cc8ea53cd76fbeac79dad837dcae32cc7e59
https://github.com/llvm/llvm-project/commit/2ba1cc8ea53cd76fbeac79dad837dcae32cc7e59
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGObjCGNU.cpp
Log Message:
-----------
[Clang][CodeGen] Fix bad codegen when building Clang with latest MSVC (#102681)
Before this PR, when using the latest MSVC `Microsoft (R) C/C++
Optimizing Compiler Version 19.40.33813 for x64` one of the Clang unit
test used to fail: `CodeGenObjC/gnustep2-direct-method.m`, see full
failure log:
[here](https://github.com/llvm/llvm-project/pull/100517#issuecomment-2266269490).
This PR temporarily shuffles around the code to make the MSVC inliner/
optimizer happy and avoid the bug.
MSVC bug report:
https://developercommunity.visualstudio.com/t/Bad-code-generation-when-building-LLVM-w/10719589?port=1025&fsid=e572244a-cde7-4d75-a73d-9b8cd94204dd
Commit: c5a4291fb704b4cff469bab18ff7ebab41807564
https://github.com/llvm/llvm-project/commit/c5a4291fb704b4cff469bab18ff7ebab41807564
Author: Ameer J <52414509+ameerj at users.noreply.github.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add BreakBinaryOperations configuration (#95013)
By default, clang-format packs binary operations, but it may be
desirable to have compound operations be on individual lines instead of
being packed.
This PR adds the option `BreakBinaryOperations` to break up large
compound binary operations to be on one line each.
This applies to all logical and arithmetic/bitwise binary operations
Maybe partially addresses #79487 ?
Closes #58014
Closes #57280
Commit: 986bc3d0719af653fecb77e8cfc59f39bec148fd
https://github.com/llvm/llvm-project/commit/986bc3d0719af653fecb77e8cfc59f39bec148fd
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
A clang/test/Format/list-ignored.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Fix a serious bug in `git clang-format -f` (#102629)
With the --force (or -f) option, git-clang-format wipes out input files
excluded by a .clang-format-ignore file if they have unstaged changes.
This patch adds a hidden clang-format option --list-ignored that lists
such excluded files for git-clang-format to filter out.
Fixes #102459.
Commit: a417083e27b155dc92b7f7271c0093aee0d7231c
https://github.com/llvm/llvm-project/commit/a417083e27b155dc92b7f7271c0093aee0d7231c
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
Log Message:
-----------
[llvm-exegesis][unittests] Also disable SubprocessMemoryTest on SPARC (#102755)
Three `llvm-exegesis` tests
```
LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/SubprocessMemoryTest/DefinitionFillsCompletely
LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/SubprocessMemoryTest/MultipleDefinitions
LLVM-Unit :: tools/llvm-exegesis/./LLVMExegesisTests/SubprocessMemoryTest/OneDefinition
```
`FAIL` on Linux/sparc64 like
```
llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp:68: Failure
Expected equality of these values:
SharedMemoryMapping[I]
Which is: '\0'
ExpectedValue[I]
Which is: '\xAA' (170)
```
It seems like this test only works on little-endian hosts: three
sub-tests are already disabled on powerpc and s390x (both big-endian),
and the fourth is additionally guarded against big-endian hosts (making
the other guards unnecessary).
However, since it's not been analyzed if this is really an endianess
issue, this patch disables the whole test on powerpc and s390x as before
adding sparc to the mix.
Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.
Commit: b728f3712190a5efe9b49fd98809670876df2a19
https://github.com/llvm/llvm-project/commit/b728f3712190a5efe9b49fd98809670876df2a19
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Use llvm::set_is_subset (NFC) (#102766)
Commit: 8c4e039deece7c08f7a49e1d38decc55fcb71fbd
https://github.com/llvm/llvm-project/commit/8c4e039deece7c08f7a49e1d38decc55fcb71fbd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[LegalizeTypes] Use APInt::getLowBitsSet instead of getAllOnes+zext. NFC
Commit: 3c3df1bef84bd509bdd2b6033bc9bb3653826388
https://github.com/llvm/llvm-project/commit/3c3df1bef84bd509bdd2b6033bc9bb3653826388
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
R llvm/test/Transforms/AlignmentFromAssumptions/domtree-crash.ll
Log Message:
-----------
Revert "[Support] Assert that DomTree nodes share parent" (#102780)
Reverts llvm/llvm-project#101198
Breaks multiple bots:
https://lab.llvm.org/buildbot/#/builders/72/builds/2103
https://lab.llvm.org/buildbot/#/builders/164/builds/1909
https://lab.llvm.org/buildbot/#/builders/66/builds/2706
Commit: f498638a4cd5f60dafcda512e4de848ee627ab95
https://github.com/llvm/llvm-project/commit/f498638a4cd5f60dafcda512e4de848ee627ab95
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/test/AST/Interp/constexpr-frame-describe.cpp
Log Message:
-----------
Revert "[clang][Interp] Improve "in call to" call argument printing" (#102785)
Reverts llvm/llvm-project#102735
Breaks https://lab.llvm.org/buildbot/#/builders/52/builds/1496
Commit: fa12aa7f6770e989119a7806471b556fccdba2db
https://github.com/llvm/llvm-project/commit/fa12aa7f6770e989119a7806471b556fccdba2db
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vmerge.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v.ll
Log Message:
-----------
[RISCV] Add IR tests for bf16 vmerge and vmv.v.v. NFC (#102775)
Commit: 4ac42afbccf616a3644e19f2945ccd9ad1b66ccf
https://github.com/llvm/llvm-project/commit/4ac42afbccf616a3644e19f2945ccd9ad1b66ccf
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
Log Message:
-----------
[InstCombine] Use llvm::set_is_subset (NFC) (#102778)
Commit: 242f4e85eb5caa462a9835ac85c49e4a78dc1703
https://github.com/llvm/llvm-project/commit/242f4e85eb5caa462a9835ac85c49e4a78dc1703
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/include/llvm/MC/MCPseudoProbe.h
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
Log Message:
-----------
[profgen][NFC] Pass parameter as const_ref
Pass `ProbeNode` parameter of `trackInlineesOptimizedAway` as const
reference.
Reviewers: wlei-llvm, WenleiHe
Reviewed By: WenleiHe
Pull Request: https://github.com/llvm/llvm-project/pull/102787
Commit: cd15d12f477516a323c1f14b451173feaecc0774
https://github.com/llvm/llvm-project/commit/cd15d12f477516a323c1f14b451173feaecc0774
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
Log Message:
-----------
[MC][profgen][NFC] Expand auto for MCDecodedPseudoProbe
Expand autos in select places in preparation to #102789.
Reviewers: dcci, maksfb, WenleiHe, rafaelauler, ayermolo, wlei-llvm
Reviewed By: WenleiHe, wlei-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/102788
Commit: 073b0578b79904647e601937954e800b918f2b29
https://github.com/llvm/llvm-project/commit/073b0578b79904647e601937954e800b918f2b29
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[Target] Construct SmallVector<MachineMemOperand *> with ArrayRef (NFC) (#102779)
Commit: 712ab805140068a7b4719a38de3fee904841dbb3
https://github.com/llvm/llvm-project/commit/712ab805140068a7b4719a38de3fee904841dbb3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Properly adjust instance pointer in virtual calls (#102800)
`getDeclPtr()` will not just return what we want, but in this case a
pointer to the `vu` local variable.
Commit: 2a00bf412efec1f87fed0762ee42dd7a6b809cbb
https://github.com/llvm/llvm-project/commit/2a00bf412efec1f87fed0762ee42dd7a6b809cbb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp][NFC] Add a failing test case (#102801)
Commit: 3036bcd23e15a22944d8a10b5f6e667de494a558
https://github.com/llvm/llvm-project/commit/3036bcd23e15a22944d8a10b5f6e667de494a558
Author: Sebastian Neubauer <Flakebi at users.noreply.github.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/docs/MeetupGuidelines.rst
Log Message:
-----------
[Docs] Update meetup contact mail address (#99321)
Arnaud is no longer active.
Commit: a245a984fd41bc4e9ae225219cb7859d53cd83a4
https://github.com/llvm/llvm-project/commit/a245a984fd41bc4e9ae225219cb7859d53cd83a4
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC][libclang/python] Fix code highlighting in release notes (#102807)
This corrects a release note introduced in #98745
Commit: 35d3625a4d50d70a8b6348d6bb0be143b9006f53
https://github.com/llvm/llvm-project/commit/35d3625a4d50d70a8b6348d6bb0be143b9006f53
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Move VPWidenLoadRecipe::execute to VPlanRecipes.cpp (NFC).
Move VPWidenLoadRecipe::execute to VPlanRecipes.cpp in line with
other ::execute implementations that don't depend on anything
defined in LoopVectorization.cpp
Commit: 2b0a88ff61b16c14973fd82633725dea1f3602f1
https://github.com/llvm/llvm-project/commit/2b0a88ff61b16c14973fd82633725dea1f3602f1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/perfhint.ll
Log Message:
-----------
AMDGPU: Try to add some more amdgpu-perf-hint tests (#102644)
This test has hardly any test coverage, and no IR tests. Add a few
more tests involving calls, and add some IR checks. This pass needs
a lot of work to improve the test coverage, and to actually use
the cost model instead of making up its own accounting scheme.
Commit: dd094b2647976050295384ce7e72582607090602
https://github.com/llvm/llvm-project/commit/dd094b2647976050295384ce7e72582607090602
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/perfhint.ll
Log Message:
-----------
NewPM/AMDGPU: Port AMDGPUPerfHintAnalysis to new pass manager (#102645)
This was much more difficult than I anticipated. The pass is
not in a good state, with poor test coverage. The legacy PM
does seem to be relying on maintaining the map state between
different SCCs, which seems bad. The pass is going out of its
way to avoid putting the attributes it introduces onto non-callee
functions. If it just added them, we could use them directly
instead of relying on the map, I would think.
The NewPM path uses a ModulePass; I'm not sure if we should be
using CGSCC here but there seems to be some missing infrastructure
to support backend defined ones.
Commit: f070f61fc0b4c731a031fbe9f8e7360c337791c4
https://github.com/llvm/llvm-project/commit/f070f61fc0b4c731a031fbe9f8e7360c337791c4
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[CI][libclang] Add PR autolabeling for libclang (#102809)
This automatically adds the `clang:as-a-library` label on PRs for the C
and Python bindings and the libclang library
---------
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Commit: 4589bf90aa1849b3851945fb611f5c96af821332
https://github.com/llvm/llvm-project/commit/4589bf90aa1849b3851945fb611f5c96af821332
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
Log Message:
-----------
[clang-tidy] Fix modernize-use-std-format lit test signature (#102759)
My fix for my original fix of issue #92896 in
666d224248707f373577b5b049b5b0229100006c modified the function signature
for fmt::sprintf to more accurately match the real implementation in
libfmt but failed to do the same for absl::StrFormat. The latter fix
applied equally well to absl::StrFormat so it's important that its test
verifies that the bug is fixed too.
Commit: 7024cecf03e6b5c1fd0fe1292ed18c7b808396f7
https://github.com/llvm/llvm-project/commit/7024cecf03e6b5c1fd0fe1292ed18c7b808396f7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Collect profitable VFs in ::getBestVF. (NFCI)
Move collectig profitable VFs to ::getBestVF, in preparation for
retiring selectVectorizationFactor.
Commit: 4399dbe331bd9840e7d709266196a8b9f26d658c
https://github.com/llvm/llvm-project/commit/4399dbe331bd9840e7d709266196a8b9f26d658c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
Log Message:
-----------
[LV] Adjust test for #48188 to use AVX level closer to report.
Update AVX level for https://github.com/llvm/llvm-project/issues/48188
to be closer to the one used in the preproducer.
Commit: 5286656609418c766272ff78e62fda41671ef4cb
https://github.com/llvm/llvm-project/commit/5286656609418c766272ff78e62fda41671ef4cb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
Log Message:
-----------
[LV] Regenerate check lines in preparation for #99808.
Regenerate check lines for test to avoid unrelated changes in
https://github.com/llvm/llvm-project/pull/99808.
Commit: 94e6786b8007b1d9b871cb5750a80973d685580b
https://github.com/llvm/llvm-project/commit/94e6786b8007b1d9b871cb5750a80973d685580b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
Log Message:
-----------
[llvm] Construct SmallVector with ArrayRef (NFC) (#102799)
Commit: d2336fd75cc93d5191d56f8c7486069dc8aeec5b
https://github.com/llvm/llvm-project/commit/d2336fd75cc93d5191d56f8c7486069dc8aeec5b
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/unittests/CodeGen/GlobalISel/CMakeLists.txt
A llvm/unittests/CodeGen/GlobalISel/InstructionSelectTest.cpp
Log Message:
-----------
[RFC][GlobalISel] InstructionSelect: Allow arbitrary instruction erasure (#97670)
See https://discourse.llvm.org/t/rfc-globalisel-instructionselect-allow-arbitrary-instruction-erasure
Commit: d1957dda16f1b236352e238dedd3156b8fbca85b
https://github.com/llvm/llvm-project/commit/d1957dda16f1b236352e238dedd3156b8fbca85b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[gn build] Port d2336fd75cc9
Commit: bf3aa88b7f5459f94524948f01f30f5c67cfde5f
https://github.com/llvm/llvm-project/commit/bf3aa88b7f5459f94524948f01f30f5c67cfde5f
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
Log Message:
-----------
[GlobalISel] Combiner: Install Observer into MachineFunction
The Combiner doesn't install the Observer into the MachineFunction.
This probably went unnoticed, because MachineFunction::getObserver() is
currently only used in constrainOperandRegClass(), but this might cause
issues down the line.
Pull Request: https://github.com/llvm/llvm-project/pull/102156
Commit: fe59b84f27181ef96fdf0f234a15f19d0a13a5c2
https://github.com/llvm/llvm-project/commit/fe59b84f27181ef96fdf0f234a15f19d0a13a5c2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Propagate InUnion flag to base classes (#102804)
Commit: 65c72139be5314ce4d844745d3706d46dbad77d5
https://github.com/llvm/llvm-project/commit/65c72139be5314ce4d844745d3706d46dbad77d5
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
Log Message:
-----------
[GlobalISel] Don't remove from unfinalized GISelWorkList
Remove a hack from GISelWorkList caused by the Combiner removing
instructions from an unfinalized GISelWorkList during the DCE phase.
This is in preparation for larger changes to the WorkListMaintainer.
Pull Request: https://github.com/llvm/llvm-project/pull/102158
Commit: 846dccce9cd030a1984a4d4336267cd2850e6bd8
https://github.com/llvm/llvm-project/commit/846dccce9cd030a1984a4d4336267cd2850e6bd8
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
A lld/test/COFF/implib-machine.s
Log Message:
-----------
[LLD][COFF] Validate import library machine type. (#102738)
Commit: 257c479b91c6b7cd6f69b894d110abc6c30c7839
https://github.com/llvm/llvm-project/commit/257c479b91c6b7cd6f69b894d110abc6c30c7839
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
Log Message:
-----------
[LegalizeTypes][RISCV] Use SExtOrZExtPromotedOperands to promote operands for USUBSAT. (#102781)
It doesn't matter which extend we use to promote the operands. Use
whatever is the most efficient.
The custom handler for RISC-V was using SIGN_EXTEND when the Zbb
extension is enabled so we no longer need that.
Commit: 249db518e324f8658bf5b2c0e3c0a1ee789d784b
https://github.com/llvm/llvm-project/commit/249db518e324f8658bf5b2c0e3c0a1ee789d784b
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan_interceptors.cpp
A compiler-rt/lib/nsan/nsan_thread.cpp
A compiler-rt/lib/nsan/nsan_thread.h
A compiler-rt/test/nsan/Posix/tls_reuse.c
Log Message:
-----------
[nsan] Add NsanThread and clear static TLS shadow
On thread creation, asan/hwasan/msan/tsan unpoison the thread stack and
static TLS blocks in case the blocks reuse previously freed memory that
is possibly poisoned. glibc nptl/allocatestack.c allocates thread stack
using a hidden, non-interceptable function.
nsan is similar: the shadow types for the thread stack and static TLS
blocks should be set to unknown, otherwise if the static TLS blocks
reuse previous shadow memory, and `*p += x` instead of `*p = x` is used
for the first assignment, the mismatching user and shadow memory could
lead to false positives.
NsanThread is also needed by the next patch to use the sanitizer
allocator.
Pull Request: https://github.com/llvm/llvm-project/pull/102718
Commit: 167c71ad860a44f31ea8b6b5accf84a7c52a89ba
https://github.com/llvm/llvm-project/commit/167c71ad860a44f31ea8b6b5accf84a7c52a89ba
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M .github/workflows/containers/github-action-ci/stage1.Dockerfile
Log Message:
-----------
Bump CI container clang version to 18.1.8 (#102803)
This patch bumps the CI container LLVM version to 18.1.8. This should've
been bumped a while ago, but I just noticed that it was out of date.
This also allows us to drop a patch that we manually had to add as it is
by default included in v18.
Commit: d1bc41fdd1f531de2a0fdd02de03d43a11de6767
https://github.com/llvm/llvm-project/commit/d1bc41fdd1f531de2a0fdd02de03d43a11de6767
Author: DarshanRamakant <darshanbhatsirsi at gmail.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
Log Message:
-----------
[mlir][affine] Fix crash in mlir::affine::getForInductionVarOwner() (#102625)
This change fixes a crash when getOwner()->getParent() is a nullptr
Commit: f0df4fbd0c7b6bb369ceaa1fd6f9e0c88d781ae5
https://github.com/llvm/llvm-project/commit/f0df4fbd0c7b6bb369ceaa1fd6f9e0c88d781ae5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/no_switch.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
Log Message:
-----------
[LV] Support generating masks for switch terminators. (#99808)
Update createEdgeMask to created masks where the terminator in Src is a
switch. We need to handle 2 separate cases:
1. Dst is not the default desintation. Dst is reached if any of the
cases with destination == Dst are taken. Join the conditions for each
case where destination == Dst using a logical OR.
2. Dst is the default destination. Dst is reached if none of the cases
with destination != Dst are taken. Join the conditions for each case
where the destination is != Dst using a logical OR and negate it.
Edge masks are created for every destination of cases and/or
default when requesting a mask where the source is a switch.
Fixes https://github.com/llvm/llvm-project/issues/48188.
PR: https://github.com/llvm/llvm-project/pull/99808
Commit: 2438f41bc45fc5e86bd4e9f77fae198719eed313
https://github.com/llvm/llvm-project/commit/2438f41bc45fc5e86bd4e9f77fae198719eed313
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M compiler-rt/lib/msan/msan_allocator.cpp
Log Message:
-----------
Make msan_allocator.cpp more conventional. NFC
nsan will port msan_allocator.cpp.
Commit: 1d0d1f20e7733e3a230f30282c7339f2d3be19c0
https://github.com/llvm/llvm-project/commit/1d0d1f20e7733e3a230f30282c7339f2d3be19c0
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M compiler-rt/lib/msan/msan_allocator.cpp
Log Message:
-----------
[msan] Remove unneeded nullness CHECK
The pointer will immediate be dereferenced.
Commit: 41345925f9393518be8029cfb1ea80cfeb5631b4
https://github.com/llvm/llvm-project/commit/41345925f9393518be8029cfb1ea80cfeb5631b4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M lldb/include/lldb/Utility/UUID.h
Log Message:
-----------
[lldb] Construct SmallVector with ArrayRef (NFC) (#102793)
Commit: 60680f7181e10f0344a96ed421490bc2cd1798ca
https://github.com/llvm/llvm-project/commit/60680f7181e10f0344a96ed421490bc2cd1798ca
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
Log Message:
-----------
[LV] Handle SwitchInst in ::isPredicatedInst.
After f0df4fbd0c7b, isPredicatedInst needs to handle SwitchInst as well.
Handle it the same as BranchInst.
This fixes a crash in the newly added test and improves the results for
one of the existing tests in predicate-switch.ll
Should fix https://lab.llvm.org/buildbot/#/builders/113/builds/2099.
Commit: 32973b08d8cb02c213d96df453ff323470304645
https://github.com/llvm/llvm-project/commit/32973b08d8cb02c213d96df453ff323470304645
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
Log Message:
-----------
[CMake] Followup to #102396 and restore old DynamicLibrary symbols behavior (#102671)
Followup to #102138 and #102396, restore more old behavior to fix
ppc64-aix bot.
Commit: 1753008bbbc317511c07ed30eef21e0494d63de8
https://github.com/llvm/llvm-project/commit/1753008bbbc317511c07ed30eef21e0494d63de8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.h
M llvm/lib/CodeGen/SelectionDAG/MatchContext.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/R600ISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/R600MachineScheduler.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
M llvm/lib/Target/SystemZ/SystemZMachineScheduler.h
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/unittests/CodeGen/MLRegAllocDevelopmentFeatures.cpp
Log Message:
-----------
[NFC] Eliminate top-level "using namespace" from some headers. (#102751)
- Eliminate top-level "using namespace" from some headers.
Commit: 1b71c471c7d0216fa7fc5c0b45b5926d1fabfaf4
https://github.com/llvm/llvm-project/commit/1b71c471c7d0216fa7fc5c0b45b5926d1fabfaf4
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmarkMain.cpp
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/do_start.cpp
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/LibcTestMain.cpp
M libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
Log Message:
-----------
libc: Remove `extern "C"` from main declarations (#102825)
This is invalid in C++, and clang recently started warning on it as of
#101853
Commit: b7c7dbd473c0857d0d86b228e45ce5a0a68a1a1b
https://github.com/llvm/llvm-project/commit/b7c7dbd473c0857d0d86b228e45ce5a0a68a1a1b
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmarkMain.cpp
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/do_start.cpp
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/LibcTestMain.cpp
M libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
Log Message:
-----------
Revert "libc: Remove `extern "C"` from main declarations" (#102827)
Reverts llvm/llvm-project#102825
Commit: 0a2a319ea6c8dc59fd3f0e284766361b8deca51c
https://github.com/llvm/llvm-project/commit/0a2a319ea6c8dc59fd3f0e284766361b8deca51c
Author: Chris Apple <cja-private at pm.me>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/rtsan.h
M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
Log Message:
-----------
[rtsan] Make sure rtsan gets initialized on mac (#100188)
Intermittently on my mac I was getting the same nullptr crash in dlsym.
We need to make sure rtsan gets initialized on mac between when the
binary starts running, and the first intercepted function is called.
Until that point we should use the DlsymAllocator.
Commit: af09dd692232fe6f06650e5b29710206d516fb38
https://github.com/llvm/llvm-project/commit/af09dd692232fe6f06650e5b29710206d516fb38
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M lldb/source/Target/ThreadPlanSingleThreadTimeout.cpp
Log Message:
-----------
[lldb] Silence warning
This fixes:
```
[6831/7617] Building CXX object
tools\lldb\source\Target\CMakeFiles\lldbTarget.dir\ThreadPlanSingleThreadTimeout.cpp.obj
C:\src\git\llvm-project\lldb\source\Target\ThreadPlanSingleThreadTimeout.cpp(66)
: warning C4715:
'lldb_private::ThreadPlanSingleThreadTimeout::StateToString': not all
control paths return a value
```
Commit: 20baa9a9eccda9bd61951f3f97b1d197f8b66dfc
https://github.com/llvm/llvm-project/commit/20baa9a9eccda9bd61951f3f97b1d197f8b66dfc
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M openmp/runtime/src/kmp_affinity.cpp
Log Message:
-----------
[openmp][runtime] Silence warnings
This fixes several of those when building with MSVC on Windows:
```
[3625/7617] Building CXX object
projects\openmp\runtime\src\CMakeFiles\omp.dir\kmp_affinity.cpp.obj
C:\src\git\llvm-project\openmp\runtime\src\kmp_affinity.cpp(2637):
warning C4062: enumerator 'KMP_HW_UNKNOWN' in switch of enum 'kmp_hw_t'
is not handled
C:\src\git\llvm-project\openmp\runtime\src\kmp.h(628): note: see
declaration of 'kmp_hw_t'
```
Commit: 7202fe5829319a70ac05232af7206781a8a5437f
https://github.com/llvm/llvm-project/commit/7202fe5829319a70ac05232af7206781a8a5437f
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp
Log Message:
-----------
[compiler-rt] Silence warnings
This fixes a few of these warnings, when building with Clang ToT on
Windows:
```
[622/7618] Building CXX object
projects\compiler-rt\lib\sanitizer_common\CMakeFiles\RTSanitizerCommonSymbolizer.x86_64.dir\sanitizer_symbolizer_win.cpp.obj
C:\src\git\llvm-project\compiler-rt\lib\sanitizer_common\sanitizer_symbolizer_win.cpp(74,3):
warning: cast from 'FARPROC' (aka 'long long (*)()') to
'decltype(::StackWalk64) *' (aka 'int (*)(unsigned long, void *, void *,
_tagSTACKFRAME64 *, void *, int (*)(void *, unsigned long long, void *,
unsigned long, unsigned long *), void *(*)(void *, unsigned long long),
unsigned long long (*)(void *, unsigned long long), unsigned long long
(*)(void *, void *, _tagADDRESS64 *))') converts to incompatible
function type [-Wcast-function-type-mismatch]
```
This is similar to https://github.com/llvm/llvm-project/pull/97905
Commit: a819b0e55fafab0c6c4b059fc0132620f43ac38a
https://github.com/llvm/llvm-project/commit/a819b0e55fafab0c6c4b059fc0132620f43ac38a
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
Log Message:
-----------
[lldb] Silence warning
This fixes the following warning, when building with Clang ToT on
Windows:
```
[6668/7618] Building CXX object
tools\lldb\source\Plugins\Process\Windows\Common\CMakeFiles\lldbPluginProcessWindowsCommon.dir\TargetThreadWindows.cpp.obj
C:\src\git\llvm-project\lldb\source\Plugins\Process\Windows\Common\TargetThreadWindows.cpp(182,22):
warning: cast from 'FARPROC' (aka 'long long (*)()') to
'GetThreadDescriptionFunctionPtr' (aka 'long (*)(void *, wchar_t **)')
converts to incompatible function type [-Wcast-function-type-mismatch]
```
This is similar to: https://github.com/llvm/llvm-project/pull/97905
Commit: e79e6015e9fe47fa2fd17ebe1f018c6e0ab86fb7
https://github.com/llvm/llvm-project/commit/e79e6015e9fe47fa2fd17ebe1f018c6e0ab86fb7
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
Log Message:
-----------
[lldb] Fix dangling expression
This fixes the following:
```
[6603/7618] Building CXX object
tools\lldb\source\Plugins\ObjectFile\PECOFF\CMakeFiles\lldbPluginObjectFilePECOFF.dir\WindowsMiniDump.cpp.obj
C:\src\git\llvm-project\lldb\source\Plugins\ObjectFile\PECOFF\WindowsMiniDump.cpp(29,25):
warning: object backing the pointer will be destroyed at the end of the
full-expression [-Wdangling-gsl]
29 | const auto &outfile = core_options.GetOutputFile().value();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
```
Commit: e2f9c1853349a5dc86ccd0e85e09af245c418aa8
https://github.com/llvm/llvm-project/commit/e2f9c1853349a5dc86ccd0e85e09af245c418aa8
Author: Brad Smith <brad at comstyle.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/aarch64.c
A compiler-rt/lib/builtins/cpu_model/aarch64/fmv/getauxval.inc
R compiler-rt/lib/builtins/cpu_model/aarch64/fmv/sysauxv.inc
A compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/getauxval.inc
R compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/sysauxv.inc
Log Message:
-----------
[builtins] Rename sysauxv to getauxval to reflect the function called. NFCI (#102796)
Commit: 80ff391190226b57fc3b192f7c941778c4ed2126
https://github.com/llvm/llvm-project/commit/80ff391190226b57fc3b192f7c941778c4ed2126
Author: Ryan Holt <ryanholt at mathworks.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M mlir/unittests/Support/CyclicReplacerCacheTest.cpp
Log Message:
-----------
[mlir] Fix build after ec50f5828f25 (#101021)
This commit fixes what appears to be invalid C++ -- a lambda capturing a
variable before it is declared. The code compiles with GCC and Clang but
not MSVC.
Commit: efc6b50d2d93fa571572ee3ef1d4565c09ad1610
https://github.com/llvm/llvm-project/commit/efc6b50d2d93fa571572ee3ef1d4565c09ad1610
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
Log Message:
-----------
[LoopVectorize][X86][AMDLibm] Add Missing AMD LibM trig vector intrinsics (#101125)
Adding the following linked to their docs:
-
[amd_vrs16_acosf](https://github.com/amd/aocl-libm-ose/blob/9c0b67293ba01e509a6308247d82a8f1adfbbc67/scripts/libalm.def#L221)
-
[amd_vrd2_cosh](https://github.com/amd/aocl-libm-ose/blob/9c0b67293ba01e509a6308247d82a8f1adfbbc67/scripts/libalm.def#L124)
-
[amd_vrs16_tanhf](https://github.com/amd/aocl-libm-ose/blob/9c0b67293ba01e509a6308247d82a8f1adfbbc67/scripts/libalm.def#L224)
Commit: 4399f2a5ef38df381c2b65052621131890194d59
https://github.com/llvm/llvm-project/commit/4399f2a5ef38df381c2b65052621131890194d59
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [C++20] [Modules] Adjust the implementation of wasDeclEmitted to make it more clear
The preivous implementation of wasDeclEmitted may be confusing that
why we need to filter the declaration not from modules. Now adjust the
implementations to avoid the problems.
Commit: 435654b3d20e338fa6ca6c8d3b7358839f1db5dc
https://github.com/llvm/llvm-project/commit/435654b3d20e338fa6ca6c8d3b7358839f1db5dc
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
Log Message:
-----------
Revert "[CMake] Followup to #102396 and restore old DynamicLibrary symbols behavior (#102671)"
This reverts commit 32973b08d8cb02c213d96df453ff323470304645. This fix
doesn't fix the build failure as expected and making few other
configuration broken too.
Commit: 62ced8116ba5274991af0e94cfdf873593c7764d
https://github.com/llvm/llvm-project/commit/62ced8116ba5274991af0e94cfdf873593c7764d
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/test/CodeGenObjC/no-sanitize.m
M llvm/include/llvm/Transforms/Instrumentation.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/asan-pass-second-run.ll
M llvm/test/Instrumentation/AddressSanitizer/missing_dbg.ll
A llvm/test/Instrumentation/DataFlowSanitizer/dfsan-pass-second-run.ll
A llvm/test/Instrumentation/HWAddressSanitizer/hwasan-pass-second-run.ll
A llvm/test/Instrumentation/MemorySanitizer/msan-pass-second-run.ll
A llvm/test/Instrumentation/ThreadSanitizer/tsan-pass-second-run.ll
Log Message:
-----------
[Sanitizer] Make sanitizer passes idempotent (#99439)
This PR changes the sanitizer passes to be idempotent.
When any sanitizer pass is run after it has already been run before,
double instrumentation is seen in the resulting IR. This happens because
there is no check in the pass, to verify if IR has been instrumented
before.
This PR checks if "nosanitize_*" module flag is already present and if
true, return early without running the pass again.
Commit: 7d4aa1ff6bab27b5442f4765336fa827479d7bbc
https://github.com/llvm/llvm-project/commit/7d4aa1ff6bab27b5442f4765336fa827479d7bbc
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/test/IR/invalid-builtin-types.mlir
M mlir/test/python/ir/builtin_types.py
Log Message:
-----------
[mlir][IR] Auto-generate element type verification for VectorType (#102449)
#102326 enables verification of type parameters that are type
constraints. The element type verification for `VectorType` (and maybe
other builtin types in the future) can now be auto-generated.
Also remove redundant error checking in the vector type parser: element
type and dimensions are already checked by the verifier (which is called
from `getChecked`).
Depends on #102326.
Commit: c6062d38f74e600c185c30eec7afaa8d0a007424
https://github.com/llvm/llvm-project/commit/c6062d38f74e600c185c30eec7afaa8d0a007424
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
Log Message:
-----------
[clang][Interp][NFC] Cleanup CheckActive()
Assert that the given pointer is in a union if it's not active and use a
range-based for loop to find the active field.
Commit: 558d7adaae4871134a87457bd07e21fdbe001c08
https://github.com/llvm/llvm-project/commit/558d7adaae4871134a87457bd07e21fdbe001c08
Author: zhicong zhong <zhiczhong at outlook.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
Log Message:
-----------
[mlir][linalg] fix linalg.batch_reduce_matmul auto cast (#102585)
Fix the auto-cast of `linalg.batch_reduce_matmul` from `cast_to_T(A *
cast_to_T(B)) + C` to `cast_to_T(A) * cast_to_T(B) + C`
Commit: 27ed9b47977ff99e182b74f653d4d125d2baa896
https://github.com/llvm/llvm-project/commit/27ed9b47977ff99e182b74f653d4d125d2baa896
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
Log Message:
-----------
[clang][Interp][NFC] Move ctor compilation to compileConstructor
In preparation for having a similar function for destructors.
Commit: cb372bd5e789a7d5f1945b476e643d4abfd18f35
https://github.com/llvm/llvm-project/commit/cb372bd5e789a7d5f1945b476e643d4abfd18f35
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
Revert "[NFC] [C++20] [Modules] Adjust the implementation of wasDeclEmitted to make it more clear"
This reverts commit 4399f2a5ef38df381c2b65052621131890194d59.
This fails with Modules/aarch64-sme-keywords.cppm
Commit: 7389545d0d7002c5b384ba70d5e38499e9899069
https://github.com/llvm/llvm-project/commit/7389545d0d7002c5b384ba70d5e38499e9899069
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
A llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
A llvm/test/CodeGen/ARM/div-by-constant-to-mul-crash.ll
Log Message:
-----------
Reapply "[AMDGPU] Always lower s/udiv64 by constant to MUL" (#101942)
Reland #100723, fixing the ARM issue at the cost of a small loss of optimization in `test/CodeGen/AMDGPU/fshr.ll`
Solves #100383
Commit: d469794d0cdfd2fea50a6ce0c0e33abb242d744c
https://github.com/llvm/llvm-project/commit/d469794d0cdfd2fea50a6ce0c0e33abb242d744c
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/SemaCXX/gh102293.cpp
Log Message:
-----------
[clang] Avoid triggering vtable instantiation for C++23 constexpr dtor (#102605)
In C++23 anything can be constexpr, including a dtor of a class whose
members and bases don't have constexpr dtors. Avoid early triggering of
vtable instantiation int this case.
Fixes https://github.com/llvm/llvm-project/issues/102293
Commit: f696489e534ef5b04ccba5a78cdba5cb26afb1e9
https://github.com/llvm/llvm-project/commit/f696489e534ef5b04ccba5a78cdba5cb26afb1e9
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[CMake] Don't pass -DBUILD_EXAMPLES to the build (#102838)
The only use in `opt.cpp` was removed in
d291f1fd094538af705541045c0d9c3ceb85e71d.
Commit: 875b652a0b7e28b815b8d20c03bba2b33249ff0a
https://github.com/llvm/llvm-project/commit/875b652a0b7e28b815b8d20c03bba2b33249ff0a
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
Log Message:
-----------
[DataLayout] Move `operator=` to cpp file (NFC) (#102849)
`DataLayout` isn't exactly cheap to copy (448 bytes on a 64-bit host).
Move `operator=` to cpp file to improve compilation time. Also move
`operator==` closer to `operator=` and add a couple of FIXMEs.
Commit: 50f4168e40790bd91123824ee338643ac18ccc0b
https://github.com/llvm/llvm-project/commit/50f4168e40790bd91123824ee338643ac18ccc0b
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
Log Message:
-----------
[GlobalISel] Fix implementation of CheckNumOperandsLE/GE
The condition was backwards - it was rejecting when the condition was met.
Fixes #102719
Commit: 5a42a677aa7ef27b4b586465e3bb4257b195834d
https://github.com/llvm/llvm-project/commit/5a42a677aa7ef27b4b586465e3bb4257b195834d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
Log Message:
-----------
[VPlan] Mark VPVectorPointer as only using the first part of the ptr.
VPVectorPointerRecipe only uses the first part of the pointer operand,
so mark it accordingly.
Follow-up suggested as part of
https://github.com/llvm/llvm-project/pull/99808.
Commit: c8b5d30f707757a4fe4d9d0bb01f762665f6942f
https://github.com/llvm/llvm-project/commit/c8b5d30f707757a4fe4d9d0bb01f762665f6942f
Author: DarshanRamakant <darshanbhatsirsi at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][Transforms] Add missing check in tosa::transpose::verify() (#102099)
The tosa::transpose::verify() should make sure
that the permutation numbers are within the size of
the input array. Otherwise it will cause a cryptic array
out of bound assertion later.Fix #99513.
Commit: 273e0a4c56b7fa9e7a6f4b94ec9a9c7d71104466
https://github.com/llvm/llvm-project/commit/273e0a4c56b7fa9e7a6f4b94ec9a9c7d71104466
Author: Tim Gymnich <tgymnich at icloud.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.mir
Log Message:
-----------
[AMDGPU] add missing checks in processBaseWithConstOffset (#102310)
fixes https://github.com/llvm/llvm-project/issues/102231 by inserting
missing checks.
Commit: cc14ecc281331be8f44b370a437a7f1eb7f5c7c9
https://github.com/llvm/llvm-project/commit/cc14ecc281331be8f44b370a437a7f1eb7f5c7c9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/apint-call-cast-target.ll
M llvm/test/Transforms/InstCombine/call-cast-target.ll
M llvm/test/Transforms/InstCombine/call.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
Log Message:
-----------
[InstCombine] Don't change fn signature for calls to declarations (#102596)
transformConstExprCastCall() implements a number of highly dubious
transforms attempting to make a call function type line up with the
function type of the called function. Historically, the main value this
had was to avoid function type mismatches due to pointer type
differences, which is no longer relevant with opaque pointers.
This patch is a step towards reducing the scope of the transform, by
applying it only to definitions, not declarations. For declarations, the
declared signature might not match the actual function signature, e.g.
`void @fn()` is sometimes used as a placeholder for functions with
unknown signature. The implementation already bailed out in some cases
for declarations, but I think it would be safer to disable the transform
entirely.
For the test cases, I've updated some of them to use definitions
instead, so that the test coverage is preserved.
Commit: a07c6d9e3457ec851a9f5dfd8af6fb9cc938e8f3
https://github.com/llvm/llvm-project/commit/a07c6d9e3457ec851a9f5dfd8af6fb9cc938e8f3
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/tools/llvm-readobj/ELF/note-core.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm][llvm-readobj] Add NT_ARM_FPMR corefile note type (#102594)
This contains the fpmr register which was added in Armv9.5-a. This
register mainly contains controls for fp8 formats.
It was added to the Linux Kernel in
https://github.com/torvalds/linux/commit/4035c22ef7d43a6c00d6a6584c60e902b95b46af.
Commit: b68086241b2f386fc5cc53af2b3ee90624104dc4
https://github.com/llvm/llvm-project/commit/b68086241b2f386fc5cc53af2b3ee90624104dc4
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
Log Message:
-----------
[analyzer][NFC] Trivial refactoring of region invalidation (#102456)
This commit removes `invalidateRegionsImpl()`, moving its body to
`invalidateRegions(ValueList Values, ...)`, because it was a completely
useless layer of indirection.
Moreover I'm fixing some strange indentation within this function body
and renaming two variables to the proper `UpperCamelCase` format.
Commit: 55d7e59023bc48f97321970cda5e400c07de59fa
https://github.com/llvm/llvm-project/commit/55d7e59023bc48f97321970cda5e400c07de59fa
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
Log Message:
-----------
[VPlan] Replace hard-coded value number in test with pattern.
Make test more robust w.r.t. future changes.
Commit: d12250ca7bea22ed12caf44fe80b203d83db75bb
https://github.com/llvm/llvm-project/commit/d12250ca7bea22ed12caf44fe80b203d83db75bb
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGCleanup.cpp
Log Message:
-----------
[NFC][Clang] clang-format a function declaration
Commit: 8a1846dbdcc62675b51d245caabfe3c6ec6fd209
https://github.com/llvm/llvm-project/commit/8a1846dbdcc62675b51d245caabfe3c6ec6fd209
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/ObjectYAML/DWARFYAML.h
M llvm/lib/ObjectYAML/DWARFEmitter.cpp
M llvm/lib/ObjectYAML/DWARFYAML.cpp
M llvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml
M llvm/tools/obj2yaml/dwarf2yaml.cpp
Log Message:
-----------
[dwarf2yaml] Correctly emit type and split unit headers (#102471)
(DWARFv5) split units have an extra `dwo_id` field in the header. Type
units have `type_signature` and `type_offset`.
Commit: db0603cb7b8534bffdd0459f5eb5a3b98ea962ef
https://github.com/llvm/llvm-project/commit/db0603cb7b8534bffdd0459f5eb5a3b98ea962ef
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
Log Message:
-----------
[LV] Only OR unique edges when creating block-in masks.
This removes redundant ORs of matching masks.
Follow-up to f0df4fbd0c7b to reduce the number of redundant ORs for
masks.
Commit: 11ba72e651d5a5a65f18eef0f35e356d828f9d93
https://github.com/llvm/llvm-project/commit/11ba72e651d5a5a65f18eef0f35e356d828f9d93
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/KnownBits.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Add KnownBits::add and KnownBits::sub helper wrappers. (#99468)
Commit: e607360fcde2994080bb8cec9d4be3a4091fe9a9
https://github.com/llvm/llvm-project/commit/e607360fcde2994080bb8cec9d4be3a4091fe9a9
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
M clang/test/Analysis/pointer-sub-notes.c
M clang/test/Analysis/pointer-sub.c
Log Message:
-----------
[clang][analyzer] Remove array bounds check from PointerSubChecker (#102580)
At pointer subtraction only pointers are allowed that point into an
array (or one after the end), this fact was checker by the checker. This
check is now removed because it is a special case of array indexing
error that is handled by different checkers (like ArrayBoundsV2).
Commit: 32a62ebdeab0c10d5311cf812e021717636d4514
https://github.com/llvm/llvm-project/commit/32a62ebdeab0c10d5311cf812e021717636d4514
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
A lldb/test/Shell/SymbolFile/DWARF/x86/dwp-hash-collision.s
Log Message:
-----------
[lldb] Tolerate multiple compile units with the same DWO ID (#100577)
I ran into this when LTO completely emptied two compile units, so they
ended up with the same hash (see #100375). Although, ideally, the
compiler would try to ensure we don't end up with a hash collision even
in this case, guaranteeing their absence is practically impossible. This
patch ensures this situation does not bring down lldb.
Commit: ebf530c4e98f09366865dd8c98fff88467e7db72
https://github.com/llvm/llvm-project/commit/ebf530c4e98f09366865dd8c98fff88467e7db72
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Use ConstructQueue::const_iterator (#102612)
This patch replaces `ConstructQueue::iterator` arguments with
`ConstructQueue::const_iterator` where it's used as a pointer to an
element inside of a `const ConstructQueue &` passed along with it.
Since these functions don't intend to modify the list or any elements in
it, keeping constness consistent between both makes it simpler to work
with.
Commit: 908c89e04b6019bdb08bb5f1c861af42046db623
https://github.com/llvm/llvm-project/commit/908c89e04b6019bdb08bb5f1c861af42046db623
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
Log Message:
-----------
[analyzer][NFC] Improve documentation of `invalidateRegion` methods (#102477)
... within the classes `StoreManager` and `ProgramState` and describe
the connection between the two methods.
Commit: 670d208ffc156b5b8f01aee7439847b01b18d05d
https://github.com/llvm/llvm-project/commit/670d208ffc156b5b8f01aee7439847b01b18d05d
Author: Max Beck-Jones <max.beck-jones at arm.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
Log Message:
-----------
[AArch64] Implement promotion type legalisation for histogram intrinsic (#101017)
Currently the histogram intrinsic
(llvm.experimental.vector.histogram.add) only allows i32 and i64 types
for the memory locations to be updated, matching the restrictions of the
histcnt instruction. This patch adds support for the legalisation of
smaller types (i8 and i16) via promotion.
Commit: a0241e710fcae9f439e57d3a294b1ace97c6906c
https://github.com/llvm/llvm-project/commit/a0241e710fcae9f439e57d3a294b1ace97c6906c
Author: Giuseppe Rossini <giuseppe.rossini at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
Fix late comment review for #102038 (#102869)
Commit: 4915fddbb2d79b5d67794b88c23da8d296968d0e
https://github.com/llvm/llvm-project/commit/4915fddbb2d79b5d67794b88c23da8d296968d0e
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/pr102684.cppm
Log Message:
-----------
[Serialization] Add a callback to register new created predefined decls for DeserializationListener (#102855)
Close https://github.com/llvm/llvm-project/issues/102684
The root cause of the issue is, it is possible that the predefined decl
is not registered at the beginning of writing a module file but got
created during the process of writing from reading.
This is incorrect. The predefined decls should always be predefined
decls.
Another deep thought about the issue is, we shouldn't read any new
things after we start to write the module file. But this is another
deeper question.
Commit: 89492902d06f40bda54c38bb26cf1e5f6015c726
https://github.com/llvm/llvm-project/commit/89492902d06f40bda54c38bb26cf1e5f6015c726
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce width of X86ISD::BLENDV nodes when upper elements are not demanded.
Prep work for #83402
Commit: 70feafdb27b45018f5f72e8f1359fdf9889c3f2a
https://github.com/llvm/llvm-project/commit/70feafdb27b45018f5f72e8f1359fdf9889c3f2a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
A llvm/test/Bitcode/amdgpu-unsafe-fp-atomics-upgrade.ll
Log Message:
-----------
IR/AMDGPU: Autoupgrade amdgpu-unsafe-fp-atomics attribute (#101698)
Delete the attribute and annotate any atomicrmw instructions in the
function with new metadata.
Commit: 2ad3bcded84be3bdbddca9698afe2614a4d7916b
https://github.com/llvm/llvm-project/commit/2ad3bcded84be3bdbddca9698afe2614a4d7916b
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/DLTI/CMakeLists.txt
M mlir/include/mlir/Dialect/DLTI/DLTI.h
A mlir/include/mlir/Dialect/DLTI/TransformOps/CMakeLists.txt
A mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.h
A mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/DLTI/CMakeLists.txt
M mlir/lib/Dialect/DLTI/DLTI.cpp
A mlir/lib/Dialect/DLTI/TransformOps/CMakeLists.txt
A mlir/lib/Dialect/DLTI/TransformOps/DLTITransformOps.cpp
A mlir/test/Dialect/DLTI/query.mlir
Log Message:
-----------
[MLIR][DLTI][Transform] Introduce transform.dlti.query - 2nd attempt (#102652)
This transform op makes it possible to query attributes associated to IR
by means of the DLTI dialect.
The op takes both a `key` and a target `op` to perform the query at.
Facility functions automatically find the closest ancestor op which
defines the appropriate DLTI interface or has an attribute implementing
a DLTI interface. By default the lookup uses the data layout interfaces
of DLTI. If the optional `device` parameter is provided, the lookup
happens with respect to the interfaces for TargetSystemSpec and
TargetDeviceSpec.
This op uses new free-standing functions in the `dlti` namespace to not
only look up specifications via the `DataLayoutSpecOpInterface` and on
`ModuleOp`s but also on any ancestor op that has an appropriate DLTI
attribute.
Commit: 1c764b952a1c9aa6c832cfc27aff09fc067304f2
https://github.com/llvm/llvm-project/commit/1c764b952a1c9aa6c832cfc27aff09fc067304f2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
Log Message:
-----------
AMDGPU: Use GCNTargetMachine in AMDGPUCodeGenPassBuilder (#102805)
R600 has a separate CodeGenPassBuilder anyway.
Commit: afe019ca93a72a5969d82cfff5018f3dd79dc75a
https://github.com/llvm/llvm-project/commit/afe019ca93a72a5969d82cfff5018f3dd79dc75a
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
Log Message:
-----------
[lldb][test][AArch64] Regex match field values in register test
As these are flags they can be set or not depending on what the system
libraries did prior to loading the program.
Commit: 05b75e006bf20638aa56cd7bc282d44512aa915e
https://github.com/llvm/llvm-project/commit/05b75e006bf20638aa56cd7bc282d44512aa915e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
Log Message:
-----------
AMDGPU/NewPM: Port AMDGPULateCodeGenPrepare to new pass manager (#102806)
Commit: f86da4cb7d6433dab10a91e33b4c24e87ec799d8
https://github.com/llvm/llvm-project/commit/f86da4cb7d6433dab10a91e33b4c24e87ec799d8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/StructurizeCFG.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/test/Transforms/StructurizeCFG/AMDGPU/uniform-regions.ll
Log Message:
-----------
StructurizeCFG: Add SkipUniformRegions pass parameter to new PM version (#102812)
Keep respecting the old cl::opt for now.
Commit: 0ea9cdbf50b6dbd31686c2fefd66e3348eb4a9d6
https://github.com/llvm/llvm-project/commit/0ea9cdbf50b6dbd31686c2fefd66e3348eb4a9d6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] Fold extract_subvector(fp_to_uint(x)) case to match existing fp_to_sint fold (necessary to fix #83402 on AVX512 targets).
Prep work for #83402
Commit: baabcb28983edf8f20e39b89e2b1745412073b44
https://github.com/llvm/llvm-project/commit/baabcb28983edf8f20e39b89e2b1745412073b44
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
A mlir/include/mlir/Dialect/Mesh/IR/TensorShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/InferTypeOpInterface.h
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/CMakeLists.txt
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
A mlir/lib/Dialect/Mesh/Interfaces/TensorShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
M mlir/test/Dialect/Linalg/mesh-spmdization.mlir
M mlir/test/Dialect/Mesh/canonicalization.mlir
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Mesh/simplifications.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
A mlir/test/Dialect/Tensor/mesh-spmdization.mlir
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
Log Message:
-----------
[mlir][mesh] Shardingcontrol (#102598)
This is a fixed copy of #98145 (necessary after it got reverted).
@sogartar @yaochengji
This PR adds the following to #98145:
- `UpdateHaloOp` accepts a `memref` (instead of a tensor) and not
returning a result to clarify its inplace-semantics
- `UpdateHaloOp` accepts `split_axis` to allow multiple mesh-axes per
tensor/memref-axis (similar to `mesh.sharding`)
- The implementation of `Shardinginterface` for tensor operation
(`tensor.empty` for now) moved from the tensor library to the mesh
interface library. `spmdize` uses features from `mesh` dialect.
@rengolin agreed that `tensor` should not depend on `mesh` so this
functionality cannot live in a `tensor`s lib. The unfulfilled dependency
caused the issues leading to reverting #98145. Such cases are generally
possible and might lead to re-considering the current structure (like
for tosa ops).
- rebased onto latest main
--------------------------
Replacing `#mesh.sharding` attribute with operation `mesh.sharding`
- extended semantics now allow providing optional `halo_sizes` and
`sharded_dims_sizes`
- internally a sharding is represented as a non-IR class
`mesh::MeshSharding`
What previously was
```mlir
%sharded0 = mesh.shard %arg0 <@mesh0, [[0]]> : tensor<4x8xf32>
%sharded1 = mesh.shard %arg1 <@mesh0, [[0]]> annotate_for_users : tensor<16x8xf32>
```
is now
```mlir
%sharding = mesh.sharding @mesh0, [[0]] : !mesh.sharding
%0 = mesh.shard %arg0 to %sharding : tensor<4x8xf32>
%1 = mesh.shard %arg1 to %sharding annotate_for_users : tensor<16x8xf32>
```
and allows additional annotations to control the shard sizes:
```mlir
mesh.mesh @mesh0 (shape = 4)
%sharding0 = mesh.sharding @mesh0, [[0]] halo_sizes = [1, 2] : !mesh.sharding
%0 = mesh.shard %arg0 to %sharding0 : tensor<4x8xf32>
%sharding1 = mesh.sharding @mesh0, [[0]] sharded_dims_sizes = [3, 5, 5, 3] : !mesh.sharding
%1 = mesh.shard %arg1 to %sharding1 annotate_for_users : tensor<16x8xf32>
```
- `mesh.shard` op accepts additional optional attribute `force`, useful
for halo updates
- Some initial spmdization support for the new semantics
- Support for `tensor.empty` reacting on `sharded_dims_sizes` and
`halo_sizes` in the sharding
- New collective operation `mesh.update_halo` as a spmdized target for
shardings with `halo_sizes`
---------
Co-authored-by: frank.schlimbach <fschlimb at smtp.igk.intel.com>
Co-authored-by: Jie Fu <jiefu at tencent.com>
Commit: 6ca678074ba58e3db50a764400f6137782d338cf
https://github.com/llvm/llvm-project/commit/6ca678074ba58e3db50a764400f6137782d338cf
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/TypedPointerType.cpp
Log Message:
-----------
Clean up after transition into opaque pointers. NFC (#102631)
LegacyPointerTypes is not used any longer and can be removed from
the LLVM context.
Also remove a copy-pasted code comment in TypedPointerType that
doesn't make sense (since there is no special case for address space
zero in the TypedPointerType::get implementation).
Commit: 1ff06c54b70dd4c1971bf07a5d3a5467c16cca65
https://github.com/llvm/llvm-project/commit/1ff06c54b70dd4c1971bf07a5d3a5467c16cca65
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/GlobalIFunc.h
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[verifier] Get rid of getResolverFunctionType. NFC (#102631)
With opaque pointers we can just get the pointer type for the
resolver function by using PointerType::get, making the
GlobalIFunc::getResolverFunctionType function obsolete.
Commit: 145aff6d924714b625de1d83247583df2ab73763
https://github.com/llvm/llvm-project/commit/145aff6d924714b625de1d83247583df2ab73763
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/examples/BrainF/BrainFDriver.cpp
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
Log Message:
-----------
Clean up pointer casts etc after opaque pointers transition. NFC (#102631)
Commit: 7fe486acfa9ca58a82c1ef42e1baf479d4ad7102
https://github.com/llvm/llvm-project/commit/7fe486acfa9ca58a82c1ef42e1baf479d4ad7102
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/Target/TargetMachine.cpp
Log Message:
-----------
TargetMachine: Move trivial setter/getter to header
The others are already inline here.
Commit: c7107ca7f899e300a507f24ac6ce2dc1ff43977e
https://github.com/llvm/llvm-project/commit/c7107ca7f899e300a507f24ac6ce2dc1ff43977e
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFCI] Mark AGPRs and VGPRs with different flags in HWEncoding. (#102650)
Simplifies checks for AGPRs and VGPRs and makes them more explicit and
less fragile.
Commit: 772785311eadeec2a0c0b7686e93578cf7131b50
https://github.com/llvm/llvm-project/commit/772785311eadeec2a0c0b7686e93578cf7131b50
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/expressions.s
M llvm/test/MC/AMDGPU/flat-scratch.s
M llvm/test/MC/AMDGPU/gfx10_err_pos.s
M llvm/test/MC/AMDGPU/gfx11_asm_operands.s
M llvm/test/MC/AMDGPU/literals.s
M llvm/test/MC/AMDGPU/out-of-range-registers.s
M llvm/test/MC/AMDGPU/reg-syntax-err.s
M llvm/test/MC/AMDGPU/reg-syntax-extra.s
M llvm/test/MC/AMDGPU/smem.s
M llvm/test/MC/AMDGPU/smrd-err.s
M llvm/test/MC/AMDGPU/smrd.s
M llvm/test/MC/AMDGPU/sop1-err.s
M llvm/test/MC/AMDGPU/sop1.s
M llvm/test/MC/AMDGPU/sop2.s
M llvm/test/MC/AMDGPU/trap.s
M llvm/test/MC/AMDGPU/vop_sdwa.s
M llvm/test/MC/AMDGPU/xnack-mask.s
Log Message:
-----------
[AMDGPU][AsmParser] Eliminate validateExeczVcczOperands(). (#102600)
Mention the names of unavailable registers in error messages to not make
the diagnostics for execz/vccz less rich than it was.
Clean up unnecessary name qualifications while there.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 21ef272ec1974244710fc639f98674eae3f8b02c
https://github.com/llvm/llvm-project/commit/21ef272ec1974244710fc639f98674eae3f8b02c
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
A lldb/test/Shell/SymbolFile/DWARF/x86/mixed-debug-names-complete-type-search.test
Log Message:
-----------
[lldb/DWARF] Search fallback to the manual index in GetFullyQualified… (#102123)
…Type
This is needed to ensure we find a type if its definition is in a CU
that wasn't indexed. This can happen if the definition is in some
precompiled code (e.g. the c++ standard library) which was built with
different flags than the rest of the binary.
Commit: f2991bd93146162bcc30bc5e8da8707074f3fdef
https://github.com/llvm/llvm-project/commit/f2991bd93146162bcc30bc5e8da8707074f3fdef
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/unittests/Host/linux/SupportTest.cpp
Log Message:
-----------
[lldb][test] Disable procfile by thread ID test when LLVM_ENABLE_THREADS is not defined
When LLVM_ENABLE_THREADS is not defined, llvm::get_threadid returns 0 which
makes this test case fail.
This is a pretty niche setting, Linaro uses it to stop lld crashing our 32 bit
containers. So the test will get plenty of runs elsewhere.
In lldb's code it's not getting the current thread ID anyway, it's using
a value it got from ptrace. So even if that copy of lldb was built with
LLVM_ENABLE_THREADS off, it should still be able to debug threads.
Commit: aa86e5beffec33c84289e2a103c6de0311865be5
https://github.com/llvm/llvm-project/commit/aa86e5beffec33c84289e2a103c6de0311865be5
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/OpenMP/target_teams_ast_print.cpp
Log Message:
-----------
[Clang][OpenMP] Fix the wrong transform of `num_teams` claused introduced in #99732 (#102716)
Commit: 895ca18a1c5a93ebc2b9bcc4673c138a908827a2
https://github.com/llvm/llvm-project/commit/895ca18a1c5a93ebc2b9bcc4673c138a908827a2
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps4-linker.c
M clang/test/Driver/ps4-pic.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/ps5-pic.c
Log Message:
-----------
[PS4/PS5][Driver] Allow -static in PlayStation drivers (#102020)
On PlayStation, allow users to supply -static to the linker, via the
driver.
An initial step. Later changes will have the PS5 driver supply
additional options to the linker, if and when -static is passed.
SIE tracker: TOOLCHAIN-16704
Commit: c876761f7ed8de0d30b65b5618bc9dbb8526bb68
https://github.com/llvm/llvm-project/commit/c876761f7ed8de0d30b65b5618bc9dbb8526bb68
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/pr102597.ll
Log Message:
-----------
[IndVars] Add test for #102597 (NFC)
Commit: 513c3726ebc0a324f7e5a11d25617bb9557324d6
https://github.com/llvm/llvm-project/commit/513c3726ebc0a324f7e5a11d25617bb9557324d6
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
Log Message:
-----------
[lldb][test] Break early when walking backtrace in concurrent tests
We only need to see that 1 frame of the stack is in user code. No need
to carry on looking.
Doing so actually caused a test failure on Armv8 Ubuntu Jammy where
a libc function does not have a display name. I'm sure I'm going to
get stung by this elsewhere, but for this test, breaking early
sidesteps the problem.
Commit: 3512bcc2e9ab06b0ae2cab78744550b515e54184
https://github.com/llvm/llvm-project/commit/3512bcc2e9ab06b0ae2cab78744550b515e54184
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/IndVarSimplify/pr102597.ll
Log Message:
-----------
[SCEV] Fix incorrect extension in computeConstantDifference()
The Mul factor was zero-extended here, resulting in incorrect
results for integers larger than 64-bit.
As we currently only multiply by 1 or -1, just split this into
two cases -- there's no need for a full multiplication here.
Fixes https://github.com/llvm/llvm-project/issues/102597.
Commit: 1b936e4812ab395328203f65cacd4ffe02bb318e
https://github.com/llvm/llvm-project/commit/1b936e4812ab395328203f65cacd4ffe02bb318e
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas16.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-mopa.ll
M llvm/test/MC/AArch64/SME2/bfadd-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfadd.s
M llvm/test/MC/AArch64/SME2/bfmla-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfmla.s
M llvm/test/MC/AArch64/SME2/bfmls-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfmls.s
M llvm/test/MC/AArch64/SME2/bfmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfmopa.s
M llvm/test/MC/AArch64/SME2/bfmops-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfmops.s
M llvm/test/MC/AArch64/SME2/bfsub-diagnostics.s
M llvm/test/MC/AArch64/SME2/bfsub.s
M llvm/test/MC/AArch64/SME2p1/directive-arch-negative.s
M llvm/test/MC/AArch64/SME2p1/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SME2p1/directive-arch_extension.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add FEAT_SME_B16B16 and remove FEAT_B16B16 (#102501)
Implement FEAT_SME_B16B16 to enable ZA-targeting non-widening SME
BFloat16 instructions. Remove the now redundant FEAT_B16B16 which has
been replaced by FEAT_SVE_B16B16 and FEAT_SME_B16B16 (this commit), see
https://github.com/llvm/llvm-project/pull/101480/ for the details and
reasoning of this change to LLVM.
FEAT_SME_B16B16 is documented under the latest Armv9.4 feature
documentation:
https://developer.arm.com/documentation/109697/0100/Feature-descriptions/The-Armv9-4-architecture-extensio
- Changes to Clang AArch64 frontend
- Change target guard of SME2 ZA-targeting non-widening BFloat16
intrinsics to 'sme-b16b16'
- Changes to LLVM AArch64 backend
- llvm/lib/Target/AArch64/AArch64Features.td
- Create FeatureSMEB16B16, which implies FeatureSME2 and
FeatureSVEB16B16
- Remove FeatureB16B16
- Fix description of FeatureSVEB16B16
- llvm/lib/Target/AArch64/AArch64InstrInfo.td
- Create HasSMEB16B16 predicate
- llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
- Change predictication of SME2 ZA-targeting non-widening BFloat16
instructions to new HasSMEB16B16
- llvm/lib/Target/AArch64/AArch64.td
- Add HasSMEB16B16 to SME2Unsupported (FEAT_SME_B16B16 implies
FEAT_SME2)
- llvm/lib/AArch64/AsmParser/AArch64AsmParser.cpp
- Remove flag 'b16b16' mapping to removed FeatureB16B16
- Add flag 'sme-b16b16' mapping to new FeatureSMEB16B16
- Changes to LLVM unit tests
- llvm/unittests/TargetParser/TargetParserTest.cpp
- Add new sme-b16b16 flag to existing target parser tests
- Add tests for the sme-b16b16 dependencies:
- 'sme-b16b16' should enable 'sme2', 'sve-b16b16'. - Remove 'b16b16'
from bf16 dependency test
- Added MC tests
- llvm/test/MC/AArch64/SME2p1
- To ensure that ZA-targeting multi-vector non-widening BFloat16
instructions are enabled by +sme-b16b16, and that this feature is
removed by +nosme-b61b6.
- Modidified tests
- All CodeGen, Semantic, and MC tests that are effected by the removal
of 'b16b16', have been modified to supply and/or expect 'sme-b16b16'
where appropriate.
Commit: cd08fadd03904806fa26a1f117879ddae34fbf67
https://github.com/llvm/llvm-project/commit/cd08fadd03904806fa26a1f117879ddae34fbf67
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
Log Message:
-----------
[LV] Include chains feeding inductions in cost precomputation.
Include chain of ops feeding inductions in cost precomputation for
inductions, not just the induction increment. In VPlan, those
instructions will be cleaned up, as both phi and increment are generated
by VPWidenIntOrFpInductionRecipe independently.
Fixes https://github.com/llvm/llvm-project/issues/101337.
Commit: 281f59fdf9c4142a6d6b2e7b4bde2663ec3d313f
https://github.com/llvm/llvm-project/commit/281f59fdf9c4142a6d6b2e7b4bde2663ec3d313f
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
Log Message:
-----------
[SPIR-V] Emit valid Lifestart/Lifestop instructions (#98475)
This PR fixes emission of valid OpLifestart/OpLifestop instructions.
According to
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpLifetimeStart:
"Size must be 0 if Pointer is a pointer to a non-void type or the
Addresses
[capability](https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Capability)
is not declared.". The `Size` argument is set the corresponding
intrinsics arguments, so Size is not zero we must ensure that Pointer
has the required type by inserting a bitcast if needed.
Commit: f9c98068c852c1bb1ec029c2c8df8ace9605f16f
https://github.com/llvm/llvm-project/commit/f9c98068c852c1bb1ec029c2c8df8ace9605f16f
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/test/CodeGen/SPIRV/SampledImageRetType.ll
M llvm/test/CodeGen/SPIRV/atomicrmw.ll
M llvm/test/CodeGen/SPIRV/basic_int_types.ll
M llvm/test/CodeGen/SPIRV/empty.ll
M llvm/test/CodeGen/SPIRV/event-zero-const.ll
M llvm/test/CodeGen/SPIRV/expect.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_cache_controls/basic-load-store.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/imad.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic.ll
M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
M llvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll
M llvm/test/CodeGen/SPIRV/linkage/link-attribute.ll
M llvm/test/CodeGen/SPIRV/literals.ll
M llvm/test/CodeGen/SPIRV/lshr-constexpr.ll
M llvm/test/CodeGen/SPIRV/opencl/image.ll
M llvm/test/CodeGen/SPIRV/pointers/irtrans-added-int-const-32-64.ll
M llvm/test/CodeGen/SPIRV/pointers/type-deduce-global-dup.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageSampleExplicitLod.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageWrite.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpVectorInsertDynamic_i16.ll
M llvm/test/CodeGen/SPIRV/transcoding/SampledImage.ll
M llvm/test/CodeGen/SPIRV/transcoding/cl-types.ll
M llvm/test/CodeGen/SPIRV/transcoding/fadd.ll
M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
M llvm/test/CodeGen/SPIRV/transcoding/image_with_access_qualifiers.ll
M llvm/test/CodeGen/SPIRV/transcoding/non32.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-types.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_extended_types.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle_relative.ll
M llvm/test/CodeGen/SPIRV/types/or-i1.ll
M llvm/test/CodeGen/SPIRV/unnamed-global.ll
M llvm/test/CodeGen/SPIRV/var-uniform-const.ll
Log Message:
-----------
[SPIR-V] Rework usage of virtual registers' types and classes (#101732)
This PR contains changes in virtual register processing aimed to improve
correctness of emitted MIR between passes from the perspective of
MachineVerifier. This potentially helps to detect previously missed
flaws in code emission and harden the test suite. As a measure of
correctness and usefulness of this PR we may use a mode with expensive
checks set on, and MachineVerifier reports problems in the test suite.
In order to satisfy Machine Verifier requirements to MIR correctness not
only a rework of usage of virtual registers' types and classes is
required, but also corrections into pre-legalizer and instruction
selection logics. Namely, the following changes are introduced:
* scalar virtual registers have proper bit width,
* detect register class by SPIR-V type,
* add a superclass for id virtual register classes,
* fix Tablegen rules used for instruction selection,
* fixes of minor existed issues (missed flag for proper representation
of a null constant for OpenCL vs. HLSL, wrong usage of integer virtual
registers as a synonym of any non-type virtual register).
Commit: 34514ce09a0cbcfd948a1c6b97a3e8674551add1
https://github.com/llvm/llvm-project/commit/34514ce09a0cbcfd948a1c6b97a3e8674551add1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use local getShuffleCost function across the code, NFC.
Commit: b10ecfa914dd1bc2013584917d0505ba5f15f75c
https://github.com/llvm/llvm-project/commit/b10ecfa914dd1bc2013584917d0505ba5f15f75c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/external-non-inst-use.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/shuffle-vectors-mask-size.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/mixed-extracts-types.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-indices.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-unsupported-type.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR32086.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35628_1.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR40310.ll
M llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll
M llvm/test/Transforms/SLPVectorizer/X86/cse_extractelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/diamond.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-user-instruction-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-vectorized-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-with-extractelement-many-users.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/insertelement-uses-vectorized-index.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/ordering-bug.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr27163.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-replace-extractelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-value-in-tree.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reordering-single-phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-throttle.ll
Log Message:
-----------
[SLP]Represent externally used values as original scalars, if profitable.
Currently SLP vectorizer tries to keep only GEPs as scalar, if they are
vectorized but used externally. Same approach can be used for all scalar
values. This patch tries to keep original scalars if all its operands
remain scalar or externally used, the cost of the original scalar is
lower than the cost of the extractelement instruction, or if the number
of externally used scalars in the same entry is power of 2. Last
criterion allows better revectorization for multiply used scalars.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/100904
Commit: c7a44ec031c2b6b86f389fb382060620a8b4a0ce
https://github.com/llvm/llvm-project/commit/c7a44ec031c2b6b86f389fb382060620a8b4a0ce
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[VPlan] Check successors in VPlan to check if scalar epi required (NFC)
Now that the branches to the scalar epilogue are modeled in VPlan
directly, check the VPlan to see if a scalar epilogue is required.
Preparation for https://github.com/llvm/llvm-project/pull/100658.
Commit: d3723615164cb3a4ff09267c56ae0c4129bddbd7
https://github.com/llvm/llvm-project/commit/d3723615164cb3a4ff09267c56ae0c4129bddbd7
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
Log Message:
-----------
[MLIR][OpenMP] Add a new ComposableOpInterface to check/set a composite unitAttr. (#102340)
Adds a new ComposableOpInterface for OpenMP operations that can
represent a single leaf of a composite OpenMP construct.
This is patch 1/2 in a series of patches. Patch 2 - #102341.
Commit: f2f41937f31e643471e4e37ef9d7c4eda806adc8
https://github.com/llvm/llvm-project/commit/f2f41937f31e643471e4e37ef9d7c4eda806adc8
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Set omp.composite attr for composite loop wrappers and add verifier checks (#102341)
This patch sets the omp.composite unit attr for composite wrapper ops
and also add appropriate checks to the verifiers of supported ops for
the presence/absence of the attribute.
This is patch 2/2 in a series of patches. Patch 1 - #102340.
Commit: db3c3fc90a7c35dec504a454328ab619aa70830f
https://github.com/llvm/llvm-project/commit/db3c3fc90a7c35dec504a454328ab619aa70830f
Author: Temperatureblock <102174059+Temperature-block at users.noreply.github.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/pr59305.ll
Log Message:
-----------
Simple check to ignore Inline asm fwait insertion (#101686)
Just a simple check to ignore Inline asm fwait insertion
Fixes #101613
Commit: dc831e8422cb0762e33fb41ffbdff8a6100e7d34
https://github.com/llvm/llvm-project/commit/dc831e8422cb0762e33fb41ffbdff8a6100e7d34
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OMPIRBuilder] Use getAllOnesValue()
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: 246c236ff9761920f5098878aba651e2112618bf
https://github.com/llvm/llvm-project/commit/246c236ff9761920f5098878aba651e2112618bf
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
[ConstantFolding] Use getSigned()
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: 3b27fce960e965097c9d597b1bd35e8593121d25
https://github.com/llvm/llvm-project/commit/3b27fce960e965097c9d597b1bd35e8593121d25
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
Log Message:
-----------
[CGP] Use getAllOnesValue()
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: 06f64e84738a6d6a55283ff5eef60c7ea9a92dac
https://github.com/llvm/llvm-project/commit/06f64e84738a6d6a55283ff5eef60c7ea9a92dac
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/ExpandMemCmp.cpp
Log Message:
-----------
[ExpandMemCmp] Use getAllOnesValue()
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: 73d835cceca0638b7080ecf310594398e50e5206
https://github.com/llvm/llvm-project/commit/73d835cceca0638b7080ecf310594398e50e5206
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElimination] Use getAllOnesValue()
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: 82ee31f75ac1316006fa9e21dddfddec37cf7072
https://github.com/llvm/llvm-project/commit/82ee31f75ac1316006fa9e21dddfddec37cf7072
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Updated lldb-server to spawn the child process and share socket (#101283)
`lldb-server platform --server` works on Windows now w/o multithreading.
The rest functionality remains unchanged.
Fixes #90923, fixes #56346.
This is the part 1 of the replacement of #100670.
In the part 2 I plan to switch `lldb-server gdbserver` to use `--fd` and
listen a common gdb port for all gdbserver connections. Then we can
remove gdb port mapping to fiх #97537.
Commit: 49777d7ffe82f1dcace318e51c9d785994f8c32a
https://github.com/llvm/llvm-project/commit/49777d7ffe82f1dcace318e51c9d785994f8c32a
Author: meehatpa <gune30 at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
Log Message:
-----------
[mlir][spirv] Add atan and atan2 pattern to MathToSPIRV Conversion pass (#102633)
Add missing math.atan to spirv.CL.atan and math.atan2 to spirv.CL.atan2
in MathToSPIRV.
Add math.atan to spirv.GL.atan too.
Commit: 7027cc6a073cb5ae7a0ce04fa4a2dbe714615da9
https://github.com/llvm/llvm-project/commit/7027cc6a073cb5ae7a0ce04fa4a2dbe714615da9
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-hash-collision.s
Log Message:
-----------
[lldb][test] Diable dwp hash collision test on Windows
This has been flaky on our Windows on Arm bot:
https://lab.llvm.org/buildbot/#/builders/141/builds/1497
Despite passing when first landed.
Commit: 3825a7c542f362ace2e943f4fc3ec8538750db3c
https://github.com/llvm/llvm-project/commit/3825a7c542f362ace2e943f4fc3ec8538750db3c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Fix diagnosing uninitialized nested union fields (#102824)
We were calling initialize() unconditionally when copying the union.
Commit: 23c72e93a5af2213d616755103415bb638731203
https://github.com/llvm/llvm-project/commit/23c72e93a5af2213d616755103415bb638731203
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAllAny.ll
Log Message:
-----------
[SPIR-V] Allow non-const arguments in a Group builtin that requires a boolean argument (#102902)
This PR resolves a TODO in `generateGroupInst()`
(`lib/Target/SPIRV/SPIRVBuiltins.cpp`) and Issues
https://github.com/llvm/llvm-project/issues/97311 and
https://github.com/llvm/llvm-project/issues/97312 by implementing
support for non-const arguments in a Group builtin that requires a
boolean argument.
Commit: 27a713f5b042bbcd88491c991877d0806aa66913
https://github.com/llvm/llvm-project/commit/27a713f5b042bbcd88491c991877d0806aa66913
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/test/Conversion/VectorToSCF/tensor-transfer-ops.mlir
M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
Log Message:
-----------
[mlir][vector] Add scalable lowering for `transfer_write(transpose)` (#101353)
This specifically handles the case of a transpose from a vector type
like `vector<8x[4]xf32>` to `vector<[4]x8xf32>`. Such transposes occur
fairly frequently when scalably vectorizing `linalg.generic`s. There is
no direct lowering for these (as types like `vector<[4]x8xf32>` cannot
be represented in LLVM-IR). However, if the only use of the transpose is
a write, then it is possible to lower the `transfer_write(transpose)` as
a VLA loop.
Example:
```mlir
%transpose = vector.transpose %vec, [1, 0]
: vector<4x[4]xf32> to vector<[4]x4xf32>
vector.transfer_write %transpose, %dest[%i, %j] {in_bounds = [true, true]}
: vector<[4]x4xf32>, memref<?x?xf32>
```
Becomes:
```mlir
%c1 = arith.constant 1 : index
%c4 = arith.constant 4 : index
%c0 = arith.constant 0 : index
%0 = vector.extract %arg0[0] : vector<[4]xf32> from vector<4x[4]xf32>
%1 = vector.extract %arg0[1] : vector<[4]xf32> from vector<4x[4]xf32>
%2 = vector.extract %arg0[2] : vector<[4]xf32> from vector<4x[4]xf32>
%3 = vector.extract %arg0[3] : vector<[4]xf32> from vector<4x[4]xf32>
%vscale = vector.vscale
%c4_vscale = arith.muli %vscale, %c4 : index
scf.for %idx = %c0 to %c4_vscale step %c1 {
%4 = vector.extract %0[%idx] : f32 from vector<[4]xf32>
%5 = vector.extract %1[%idx] : f32 from vector<[4]xf32>
%6 = vector.extract %2[%idx] : f32 from vector<[4]xf32>
%7 = vector.extract %3[%idx] : f32 from vector<[4]xf32>
%slice_i = affine.apply #map(%idx)[%i]
%slice = vector.from_elements %4, %5, %6, %7 : vector<4xf32>
vector.transfer_write %slice, %arg1[%slice_i, %j] {in_bounds = [true]}
: vector<4xf32>, memref<?x?xf32>
}
```
Commit: 05d85ecad707573cde0258cbab579ed764c61e51
https://github.com/llvm/llvm-project/commit/05d85ecad707573cde0258cbab579ed764c61e51
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add test missed by #102341
Add small test that I missed adding to #102341.
Commit: dab7e3c30dd690e50858450b658f32a1d1e9cf86
https://github.com/llvm/llvm-project/commit/dab7e3c30dd690e50858450b658f32a1d1e9cf86
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/tbaa.fir
Log Message:
-----------
[flang] Read the extra field from the in box when doing reboxing (#102686)
The extra field in the descriptor carries multiple information and
cannot be deducted anymore when doing a reboxing. This patch updates the
codegen to retrieve the extra field value from the inboc and set it in
the new box.
Commit: 7c4c72b52038810a8997938a2b3485363cd6be3a
https://github.com/llvm/llvm-project/commit/7c4c72b52038810a8997938a2b3485363cd6be3a
Author: J. Ryan Stinnett <jryans at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
Log Message:
-----------
[DebugInfo][NFC] Sort DWARF op descriptions, fix versions (#102773)
This sorts DWARF op descriptions in `DWARFExpression.cpp` by opcode and version, packing the standardised ops together. A few ops also had the wrong version listed, so this fixes those versions as well. (The version does not appear to actually be used currently.)
Commit: 3176f255c9dd43e8bacad0f9e56cf4f9f8816009
https://github.com/llvm/llvm-project/commit/3176f255c9dd43e8bacad0f9e56cf4f9f8816009
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
A llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
A llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[IA][AArch64]: Construct (de)interleave4 out of (de)interleave2 (#89276)
- [AArch64]: TargetLowering is updated to spot load/store (de)interleave4 like sequences using PatternMatch,
and emit equivalent sve.ld4 and sve.st4 intrinsics.
Commit: fbf81e300489f0489edab20493f1db02e2a3bc74
https://github.com/llvm/llvm-project/commit/fbf81e300489f0489edab20493f1db02e2a3bc74
Author: xiaoleis-nv <99947620+xiaoleis-nv at users.noreply.github.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/test/Conversion/SCFToControlFlow/convert-to-cfg.mlir
Log Message:
-----------
Enable attaching LLVM loop annotations to scf.for (#102562)
We recently discovered that the loop with a dynamic upper bound is
unexpectedly unrolled during the NVVM to PTX process. By attaching the
`llvm.loop_annotation`, we can control the unrolling behavior precisely.
This PR enables the `cf.cond_br` to retain the loop annotation of
`scf.for` after the `convert-scf-to-cf` pass. This change allows users
to have precise control over the loop behavior during backend
transformation.
---------
Co-authored-by: Xiaolei Shi <xiaoleis at nvidia.com>
Commit: 8b6e9de3dd114db28fde892c67960a87d9870637
https://github.com/llvm/llvm-project/commit/8b6e9de3dd114db28fde892c67960a87d9870637
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/aix-vsx-splatimm.ll
M llvm/test/CodeGen/PowerPC/build-vector-from-load-and-zeros.ll
M llvm/test/CodeGen/PowerPC/load-and-splat.ll
M llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
M llvm/test/CodeGen/PowerPC/test-vector-insert.ll
M llvm/test/CodeGen/PowerPC/vec-trunc2.ll
M llvm/test/CodeGen/PowerPC/vsx.ll
M llvm/test/CodeGen/PowerPC/widen-vec-correctly-be.ll
Log Message:
-----------
[PowerPC] improve P10 store forwarding on P7 scalar to vector (#102330)
Try to make P7 code with scalar to vector operations that use store/re-load to run smoother on P10 by supplying enough store width to cover the load and allow hardware store forwarding.
Commit: 654d1f83e3fa191d7b1724cdaf0eafbca0cf408a
https://github.com/llvm/llvm-project/commit/654d1f83e3fa191d7b1724cdaf0eafbca0cf408a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGISel.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/lib/Target/RISCV/RISCVInstrInfoM.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV][GISel] Move i32 patterns that aren't used by SelectionDAG to RISCVGISel.td. NFC (#102685)
Reduces RISCVGenDAGISel.inc by ~6000 bytes.
Commit: 8fd1484e301421c572f2a30a29164a9ba784f52a
https://github.com/llvm/llvm-project/commit/8fd1484e301421c572f2a30a29164a9ba784f52a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
Log Message:
-----------
[LegalizeTypes][RISCV] Use signed promotion for UADDSAT if that's what the target prefers. (#102842)
As noted in #102781 we can promote UADDSAT if we use sign extend instead
of zero extend.
The custom handler for RISC-V was using SIGN_EXTEND when the Zbb
extension was enabled. With this change we no longer need the custom
code.
Commit: 8fc9b4efd25287d6ef87e4e25ea40789401ecf7f
https://github.com/llvm/llvm-project/commit/8fc9b4efd25287d6ef87e4e25ea40789401ecf7f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/tbaa.fir
Log Message:
-----------
Revert "[flang] Read the extra field from the in box when doing reboxing" (#102931)
Reverts llvm/llvm-project#102686 as it might be the source of buildbot
failures https://lab.llvm.org/buildbot/#/builders/143/builds/1392.
Commit: 38b67c54ed858f60c0caebcfba4b61f9326684ca
https://github.com/llvm/llvm-project/commit/38b67c54ed858f60c0caebcfba4b61f9326684ca
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-hash-collision.s
R lldb/test/Shell/SymbolFile/DWARF/x86/mixed-debug-names-complete-type-search.test
Log Message:
-----------
Revert "[lldb/DWARF] Search fallback to the manual index in GetFullyQualified… (#102123)"
The test appears to be flaky. Revert it while I investigate.
This reverts commits 7027cc6a073cb5ae7a0ce04fa4a2dbe714615da9 and
21ef272ec1974244710fc639f98674eae3f8b02c.
Commit: b3ed1d92112e0f455f8ef0888ef4c5d0ca29096d
https://github.com/llvm/llvm-project/commit/b3ed1d92112e0f455f8ef0888ef4c5d0ca29096d
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-hash-collision.s
A lldb/test/Shell/SymbolFile/DWARF/x86/mixed-debug-names-complete-type-search.test
Log Message:
-----------
Reapply "[lldb/DWARF] Search fallback to the manual index in GetFullyQualified… (#102123)"
This reverts commit 38b67c54ed858f60c0caebcfba4b61f9326684ca.
I reverted the wrong patch -- sorry :(
Commit: a0c57a0f3c6b44ce8f2c7222d0932df85883cf06
https://github.com/llvm/llvm-project/commit/a0c57a0f3c6b44ce8f2c7222d0932df85883cf06
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
R lldb/test/Shell/SymbolFile/DWARF/x86/dwp-hash-collision.s
Log Message:
-----------
Revert "[lldb] Tolerate multiple compile units with the same DWO ID (#100577)"
The test appears to be flaky. Revert it while I investigate.
This reverts commits 32a62ebdeab0c10d5311cf812e021717636d4514 and
7027cc6a073cb5ae7a0ce04fa4a2dbe714615da9.
Commit: 1cbd25f882d10de1a23bb0287a70cde5037ebf42
https://github.com/llvm/llvm-project/commit/1cbd25f882d10de1a23bb0287a70cde5037ebf42
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M libc/src/__support/str_to_float.h
M libc/test/src/stdlib/strtof_test.cpp
Log Message:
-----------
[NFC][libc] Clarifies underscores in n-char-sequence. (#102193)
The C standard specifies
n-char-sequence:
digit
nondigit
n-char-sequence digit
n-char-sequence nondigit
nondigit is specified as one of:
_ a b c d e f g h i j k l m
n o p q r s t u v w x y z
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
This means nondigit includes the underscore character. This patch
clarifies this status in the comments and the test.
Note C17 specifies n-char-sequence for NaN() as optional, and an empty
sequence is not a valid n-char-sequence. However the current comment has
the same effect as using the pedantic wording. So I left that part
unchanged.
Commit: c4724f60384917ef0f0e8cc32702fe02c3b3b1c9
https://github.com/llvm/llvm-project/commit/c4724f60384917ef0f0e8cc32702fe02c3b3b1c9
Author: Daniel M. Katz <katzdm at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/test/SemaCXX/PR98671.cpp
Log Message:
-----------
Fix assertion failure during conversion function overload resolution. (#98671)
When clang is built with assertions, an otherwise silent (and seemingly
innocuous) assertion failure from `SemaConcept.cpp` is triggered by the
following program:
```cpp
struct S {
operator int();
template <typename T> operator T();
};
constexpr auto r = &S::operator int;
```
The function in question compares the "constrained-ness" of `S::operator
int` and `S::operator T<int>`; the template kind of the former is
`TK_NonTemplate`, whereas the template kind of the later is
`TK_FunctionTemplateSpecialization`. The later kind is not "expected" by
the function, thus the assertion-failure.
Commit: 5629249575f56f6135fb63e2f0d4ca9a7375167c
https://github.com/llvm/llvm-project/commit/5629249575f56f6135fb63e2f0d4ca9a7375167c
Author: Artem Belevich <tra at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
A clang/test/CodeGenCUDA/host-used-extern-determinism.cu
Log Message:
-----------
[CUDA] Emit used function list in deterministic order. (#102661)
Fixes https://github.com/llvm/llvm-project/issues/101560
Commit: 8470cdd499904093ba4faeff870fee12a3e80ff3
https://github.com/llvm/llvm-project/commit/8470cdd499904093ba4faeff870fee12a3e80ff3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/rewrite-directives.cpp
M flang/lib/Semantics/symbol.cpp
Log Message:
-----------
[flang] Use llvm::any_of and llvm::none_of (NFC) (#102797)
Commit: 0801a37115ec54b7621ee63998c27ab919460a43
https://github.com/llvm/llvm-project/commit/0801a37115ec54b7621ee63998c27ab919460a43
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
Log Message:
-----------
[mlir-tblgen] Use llvm::any_of (NFC) (#102795)
Commit: 4afa2de59a4e45365c59ed97abdeea86f612d7ca
https://github.com/llvm/llvm-project/commit/4afa2de59a4e45365c59ed97abdeea86f612d7ca
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
A compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp
Log Message:
-----------
[HWASan] symbolize stack overflows (#95308)
Commit: fe7d2841cf67ba4c8b9780ea09557a558b2501a8
https://github.com/llvm/llvm-project/commit/fe7d2841cf67ba4c8b9780ea09557a558b2501a8
Author: Artem Belevich <tra at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/extractelement.ll
Log Message:
-----------
[NVPTX] unbreak extract_elt lowering (#102688)
LLVM has started using `freeze` instruction, and that unintentionally
broke the lowering of some vector operations in NVPTX.
Commit: d9caea18f946390e0b458471cdc3e3252099c1cf
https://github.com/llvm/llvm-project/commit/d9caea18f946390e0b458471cdc3e3252099c1cf
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__ranges/transform_view.h
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/types.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/types.h
Log Message:
-----------
[libc++][ranges] LWG3564: `transform_view::iterator<true>::value_type` and `iterator_category` should use `const F&` (#91816)
## Introduction
This patch implements LWG3564:
`transform_view::iterator<true>::value_type` and `iterator_category`
should use `const F&`.
`transform_view`'s iterator currently obtained from a `const
transform_view` invoke the transformation function as `const`, but the
`value_type` and `iterator_category` determination uses non-`const`
`F&`.
## Reference
-
[[range.transform.iterator]](https://eel.is/c++draft/range.transform.iterator)
- [LWG3564](https://cplusplus.github.io/LWG/issue3564)
Commit: 11aa31f595325d6b2dede3364e4b86d78fffe635
https://github.com/llvm/llvm-project/commit/11aa31f595325d6b2dede3364e4b86d78fffe635
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
Revert "[MemProf] Reduce cloning overhead by sharing nodes when possible" (#102932)
Reverts llvm/llvm-project#99832
This caused a couple failures in wider testing, reverting for now and
will recommit once they are addressed
Commit: 862f5040fb854b5ca0aba2d3088396201bf7db9a
https://github.com/llvm/llvm-project/commit/862f5040fb854b5ca0aba2d3088396201bf7db9a
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/CodeGen/AMDGPU/print-pipeline-passes.ll
Log Message:
-----------
[AMDGPU] Enable AMDGPUAttributorPass in full LTO (#102673)
This is basically same as
https://github.com/llvm/llvm-project/pull/102086 but reverts some test
case changes that are no longer needed.
Commit: e40915b7407eda4b370658da5c9606e310b55d19
https://github.com/llvm/llvm-project/commit/e40915b7407eda4b370658da5c9606e310b55d19
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
Log Message:
-----------
[AMDGPU] Use llvm::any_of and llvm::none_of (NFC) (#102794)
Commit: 03e6675fc78783d0d0b0a784eccbd5ff19de23a2
https://github.com/llvm/llvm-project/commit/03e6675fc78783d0d0b0a784eccbd5ff19de23a2
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
A llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/DXILMetadataAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
Log Message:
-----------
[DXIL][Analysis] Add DXILMetadataAnalysis pass (#102079)
DXIL Metadata Analysis passes (one for legacy PM and one for new PM)
that collect following DXIL module metadata information in a structure
are added.
1. Shader Model version
2. DXIL version
3. Shader Stage
Information collected using the legacy pass is verified by adding
additional test commands to existing metadata test sources.
Commit: 90aac06c7f49dd275a49b843b5fd91cb00d549b4
https://github.com/llvm/llvm-project/commit/90aac06c7f49dd275a49b843b5fd91cb00d549b4
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
A flang/test/Lower/ident.f90
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/ident.ll
A mlir/test/Target/LLVMIR/ident.mlir
Log Message:
-----------
[flang][mlir] Add llvm.ident metadata when compiling with flang
This brings the behavior of flang in line with clang which also adds
this metadata unconditionally.
Co-authored-by: Tarun Prabhu <tarun.prabhu at gmail.com>
Commit: f1e2886261281e788e4faae406c24e787c1dbdd0
https://github.com/llvm/llvm-project/commit/f1e2886261281e788e4faae406c24e787c1dbdd0
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
M lldb/source/Symbol/ObjectFile.cpp
A lldb/test/Shell/ObjectFile/ELF/Inputs/memory-elf.cpp
A lldb/test/Shell/ObjectFile/ELF/elf-dynamic-no-shdrs.yaml
A lldb/test/Shell/ObjectFile/ELF/elf-memory.test
Log Message:
-----------
[LLDB] Impove ObjectFileELF's .dynamic parsing and usage. (#102570)
This patch improves the ability of a ObjectFileELF instance to read the
.dynamic section. It adds the ability to read the .dynamic section from
the PT_DYNAMIC program header which is useful for ELF files that have no
section headers and for ELF files that are read from memory. It cleans
up the usage of the .dynamic entries so that
ObjectFileELF::ParseDynamicSymbols() is the only code that parses
.dynamic entries, teaches that function the read and store the string
values for each .dynamic entry. We now dump the .dynamic entries in the
output of "image dump objfile". It also cleans up the code that gets the
dynamic string table so that it can grab it from the DT_STRTAB and
DT_STRSZ .dynamic entries for when we have a ELF file with no section
headers or we are reading it from memory.
Commit: e4e938f3cdf11d7d62c558ed7ee0b6097ded338d
https://github.com/llvm/llvm-project/commit/e4e938f3cdf11d7d62c558ed7ee0b6097ded338d
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/length.ll
Log Message:
-----------
[HLSL] Lower Length to SPIR-V backend (#102243)
This PR finishes #99134 by lowering the length function to the SPIR-V
backend. A test was added to verify that the generated SPIR-V is
correct.
Fixes #99134
Commit: d5849af68e0cb2436d317ea0c5171e8da85fd846
https://github.com/llvm/llvm-project/commit/d5849af68e0cb2436d317ea0c5171e8da85fd846
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port 03e6675fc787
Commit: dc2f39e96c48dac450a535c412d0928d458590de
https://github.com/llvm/llvm-project/commit/dc2f39e96c48dac450a535c412d0928d458590de
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/daddl.cpp
M libc/src/math/generic/dsubl.cpp
Log Message:
-----------
[libc] Enable all supported math functions on the GPU (#102563)
Summary:
Simply copies the x64 versions to the GPU directory. Ignoring f128 for
now, but adding long double entrypoints which are identical to `double`
on the target.
Commit: ee5d572718f7bb07f89b69df393b28a89033a5ca
https://github.com/llvm/llvm-project/commit/ee5d572718f7bb07f89b69df393b28a89033a5ca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/daddl.cpp
M libc/src/math/generic/dsubl.cpp
Log Message:
-----------
[libc] Undo accidental changes to `dsubl` that were leftoever
Commit: dc21cb5cc74fdff18418092570230cd980cafa27
https://github.com/llvm/llvm-project/commit/dc21cb5cc74fdff18418092570230cd980cafa27
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
A lld/test/ELF/linkerscript/phdrs-no-tls.test
Log Message:
-----------
[ELF,test] Test STT_TLS and relocation without PT_TLS
Commit: c6428162c13b330b26b1916a9d6c45ee41ff4a1e
https://github.com/llvm/llvm-project/commit/c6428162c13b330b26b1916a9d6c45ee41ff4a1e
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
Log Message:
-----------
[NFC] Deduplicate clang::AccessKinds to diagnostic strings (#102030)
Commit: d4f6fcf5aaa0911a91317c0b06779f13077d6b58
https://github.com/llvm/llvm-project/commit/d4f6fcf5aaa0911a91317c0b06779f13077d6b58
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
R compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp
Log Message:
-----------
Revert "[HWASan] symbolize stack overflows" (#102951)
Reverts llvm/llvm-project#95308
Broke buildbot https://lab.llvm.org/buildbot/#/builders/51/builds/2364
Commit: b812e57ac301c7f88171cc73e213b70078727b16
https://github.com/llvm/llvm-project/commit/b812e57ac301c7f88171cc73e213b70078727b16
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll
M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll
Log Message:
-----------
[SCEV] Consolidate code for proving wrap flags of controlling finite IVs (#101404)
The canAssumeNoSelfWrap routine in howManyLessThans was doing two subtly
inter-related things. First, it was proving no-self-wrap. This exactly
duplicates the existing logic in the caller. Second, it was establishing
the precondition for the nw->nsw/nuw inference. Specifically, we need to
know that *this* exit must be taken for the inference to be sound.
Otherwise, another (possible abnormal) exit could be taken in the
iteration where this IV would become poison.
This change moves all of that logic into the caller, and caches the
resulting nuw/nsw flags in the AddRec. This centralizes the logic in one
place, and makes it clear that it all depends on controlling the sole
exit.
We do loose a couple cases with SCEV predication. Specifically, if SCEV
predication was able to convert e.g. zext(addrec) into an addrec(zext)
using predication, but didn't record the nuw fact on the new addrec,
then the consuming code can no longer fix this up. I don't think this
case particularly matters.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: e26b42c70d37cbea47016984e1d2bfc347fb8818
https://github.com/llvm/llvm-project/commit/e26b42c70d37cbea47016984e1d2bfc347fb8818
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h
Log Message:
-----------
[lldb] Avoid calling DataLayout constructor accepting Module pointer (NFC) (#102839)
The constructor initializes `*this` with a copy of `M->getDataLayout()`,
which can just be spelled as `DataLayout DL = M->getDataLayout()`. In
all places where the constructor is used, Module outlives DataLayout, so
store a reference to it instead of cloning.
Pull Request: https://github.com/llvm/llvm-project/pull/102839
Commit: b6448a03d887a1615fdffd1016109f9f24bea275
https://github.com/llvm/llvm-project/commit/b6448a03d887a1615fdffd1016109f9f24bea275
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M lld/ELF/InputSection.cpp
M lld/ELF/Symbols.cpp
M lld/test/ELF/invalid/tls-symbol.s
M lld/test/ELF/linkerscript/phdrs-no-tls.test
Log Message:
-----------
[ELF] Change "no PT_TLS" error to use errorOrWarn
so that --noinhibit-exec downgrades the error to a warning, which helps
debugging when `PHDRS` is specified without `PT_TLS`. Also update the
message to make it accurate: STT_TLS may exist in the absence of PT_TLS.
In addition, invoking `exitLld(1)` (through `fatal`) is problematic
(#66974): When a thread is `exitLld(1)`, triggering `llvm_shutdown`,
another thread may be at `relocateAlloc`, accessing `sec.relocs()` which
got destroyed(tampered?), leading to
incorrect `llvm_unreachable("invalid expression")`.
Commit: b4bc7b182c696c540f40bc887d7d20a95a0a5cde
https://github.com/llvm/llvm-project/commit/b4bc7b182c696c540f40bc887d7d20a95a0a5cde
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] add support for comments for members in HTML output (#101255)
currently the HTML output does not support comments attached to class
members, this patch modifies the HTMLGenerator to add comments for the
output.
Commit: 290f7eacb9691feb7695848c98bcc155fd446f62
https://github.com/llvm/llvm-project/commit/290f7eacb9691feb7695848c98bcc155fd446f62
Author: quanwanandy <quanwanandy at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix bazel build (#102960)
Commit: 15aa4ef057438df5bae8aaf7ff07b31dfcc1ef77
https://github.com/llvm/llvm-project/commit/15aa4ef057438df5bae8aaf7ff07b31dfcc1ef77
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Add the ExtractElementInst class (#102706)
Commit: 8ea8f1f2fe501e0be5d0142d79651f490fb2ae2c
https://github.com/llvm/llvm-project/commit/8ea8f1f2fe501e0be5d0142d79651f490fb2ae2c
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/list.h
M compiler-rt/lib/scudo/standalone/tests/list_test.cpp
Log Message:
-----------
[scudo] Support linking with index in IntrusiveList (#101262)
The nodes of list may be managed in an array. Instead of managing them
with pointers, using the array index will save some memory in some
cases.
When using the list linked with index, remember to call init() to set up
the base address of the array and a `EndOfListVal` which is nil of the
list.
Commit: 123b6fcc70af17d81c903b839ffb55afc9a9728f
https://github.com/llvm/llvm-project/commit/123b6fcc70af17d81c903b839ffb55afc9a9728f
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Parse/ParsePragma.cpp
R clang/test/Preprocessor/pragma_mc_func.c
Log Message:
-----------
[AIX] Revert `#pragma mc_func` check (#102919)
https://github.com/llvm/llvm-project/pull/99888 added a specific
diagnostic for `#pragma mc_func` on AIX. There are some disagreements
on:
1. If the check should be on by default. Leaving the check off by
default is dangerous, since it is difficult to be aware of such a check.
Turning it on by default at the moment causes build failures on AIX. See
https://github.com/llvm/llvm-project/pull/101336 for more details.
2. If the check can be made more general. See
https://github.com/llvm/llvm-project/pull/101336#issuecomment-2269283906.
This PR reverts this check from `main` so we can flush out these
disagreements.
Commit: a2acea5c380534430a01843698d4bf46b018110f
https://github.com/llvm/llvm-project/commit/a2acea5c380534430a01843698d4bf46b018110f
Author: Martin Storsjö <martin at martin.st>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
Log Message:
-----------
[libcxx] [test] Mark gdb_pretty_printer_test.sh.cpp as unsupported on Windows (#102891)
In practice, this test hasn't been run by any of the Windows
configurations so far, because it has been excluded by the "UNSUPPORTED:
clang-18, clang-19" line - but it does end up failing if running with
e.g. clang-20 on Windows.
As the test fails on more fundamental issues on Windows, mark it
outright unsupported on this platform; this fixes testing libcxx with a
recent nightly version of Clang from git main.
Commit: 93f754c10099d08df34ff6b9562d545e300d55ab
https://github.com/llvm/llvm-project/commit/93f754c10099d08df34ff6b9562d545e300d55ab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[LegalizeTypes] Reuse Op1 and Op2 variables to hold promoted values in PromoteIntRes_ADDSUBSHLSAT. NFC (#102840)
We don't need the original values after we promote them.
Commit: 91c3a718b28c92c95343e7073fbddc39a181a801
https://github.com/llvm/llvm-project/commit/91c3a718b28c92c95343e7073fbddc39a181a801
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/Mips/Mips64InstrInfo.td
M llvm/test/CodeGen/Mips/bittest.ll
Log Message:
-----------
[Mips] ISel zext nneg the same as sext for Mips64. (#102852)
Fixes #62587.
Commit: 652707a6457eeb3927a1fe82e6b2cbc2a1fa22f5
https://github.com/llvm/llvm-project/commit/652707a6457eeb3927a1fe82e6b2cbc2a1fa22f5
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan.h
A compiler-rt/lib/nsan/nsan_allocator.cpp
A compiler-rt/lib/nsan/nsan_allocator.h
M compiler-rt/lib/nsan/nsan_flags.inc
M compiler-rt/lib/nsan/nsan_malloc_linux.cpp
A compiler-rt/lib/nsan/nsan_new_delete.cpp
M compiler-rt/lib/nsan/nsan_platform.h
M compiler-rt/lib/nsan/nsan_thread.cpp
M compiler-rt/lib/nsan/nsan_thread.h
A compiler-rt/test/nsan/Posix/allocator_mapping.cpp
A compiler-rt/test/nsan/allocator_interface.cpp
A compiler-rt/test/nsan/malloc_hook.cpp
A compiler-rt/test/nsan/new_delete_test.cpp
Log Message:
-----------
[nsan] Use sanitizer allocator
* The performance is better than the glibc allocator.
* Allocator interface functions, sanitizer allocator options, and
MallocHooks/FreeHooks are supported.
* Shadow memory has specific memory layout requirement. Using libc
allocator could lead to conflicts.
* When we add a mmap interceptor for reliability (the VMA could reuse a
previously released VMA that is poisoned): glibc may invoke an
internal system call to call unmmap, which cannot be intercepted. We
will not be able to return the shadow memory to the OS.
Similar to dfsan https://reviews.llvm.org/D101204 . Also intercept
operator new/delete to be similar to other sanitizers using the
sanitizer allocator. The align_val_t overload of operator new has
slightly less overhead.
Pull Request: https://github.com/llvm/llvm-project/pull/102764
Commit: 05901e980590f721cdc9fbcf1f99353942d0d5d8
https://github.com/llvm/llvm-project/commit/05901e980590f721cdc9fbcf1f99353942d0d5d8
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
Log Message:
-----------
[mlir][spirv] Add tests for `scf.while` and `scf.for` in `convert-to-spirv` pass (#102528)
This PR adds lit tests that check for `scf.while` and `scf.for`
conversions for the `convert-to-spirv` pass, introduced in #95942.
Commit: 825dbbbb94c985da4fd18da3e6e3baac05b11e23
https://github.com/llvm/llvm-project/commit/825dbbbb94c985da4fd18da3e6e3baac05b11e23
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
Log Message:
-----------
[AMDGPU] NFC: Add helper to query archVGPR (#102690)
For any users that is interested in just the ArchVGPR count (without
comparing to AGPR count)
Commit: 6b7afaa9db8f904ebf0262774e38e54b36598782
https://github.com/llvm/llvm-project/commit/6b7afaa9db8f904ebf0262774e38e54b36598782
Author: Brox Chen <broxigarchen at outlook.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
A llvm/test/CodeGen/AMDGPU/shrink-true16.mir
Log Message:
-----------
[AMDGPU][True16] fix a bug in codeGen causing e64 with wrong vgpr type to shrink (#102942)
This bug is introduced in
https://github.com/llvm/llvm-project/pull/102198
The previous path change to use realTrue16 flag, however, we have some
t16 instructions that are implemented with fake16, and has Lo128
registers types. Thus we should still using hasTrue16Bit flag for
shrinking check
---------
Co-authored-by: guochen2 <guochen2 at amd.com>
Commit: b368404dee8c341dc022a9e9a868f5a268e92033
https://github.com/llvm/llvm-project/commit/b368404dee8c341dc022a9e9a868f5a268e92033
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M libcxx/test/support/count_new.h
Log Message:
-----------
[libc++][NFC] Fix typo in count_new.h (#102049)
A function was named alocate_aligned_impl, when it should have been
named allocate_aligned_impl.
Commit: ecbbe5b431892820b442aa36e06ab66ae94d52e9
https://github.com/llvm/llvm-project/commit/ecbbe5b431892820b442aa36e06ab66ae94d52e9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
Log Message:
-----------
[SLP]Fix mask building for alternate node cost estimation (#102966)
Need to to use same functionality in cost model, as for the codegen, to
correctly build the shuffle mask and estimate the cost.
Commit: b1edac0496f47374c9780f3f83c6773eed73a66e
https://github.com/llvm/llvm-project/commit/b1edac0496f47374c9780f3f83c6773eed73a66e
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Minidump.h
M llvm/include/llvm/Object/Minidump.h
M llvm/include/llvm/ObjectYAML/MinidumpYAML.h
M llvm/lib/Object/Minidump.cpp
M llvm/lib/ObjectYAML/MinidumpEmitter.cpp
M llvm/lib/ObjectYAML/MinidumpYAML.cpp
M llvm/test/tools/obj2yaml/Minidump/basic.yaml
M llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp
Log Message:
-----------
[Obj2Yaml] Add support for minidump generation with 64b memory ranges. (#101272)
This PR adds support for `obj2yaml` and `yaml2obj` to generate minidumps
that have a Memory64List stream. This is a prerequisite to #101086.
Worth noting
- ~~const dropped on minidumps so we could cache a MemoryDescriptor_64
to it's actual offset, preventing the need to loop multiple times~~
- doesn't reuse the existing `ListStream` code in some places, because
the Memory64List has a different width size field (unsigned 64), and a
larger header than all the other streams. I determined refactoring the
existing code to support Mem64 would be worse than supporting the
special case.
Commit: 0889809c706fd926b786bc2f8852646a17d7e21c
https://github.com/llvm/llvm-project/commit/0889809c706fd926b786bc2f8852646a17d7e21c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M libc/test/UnitTest/LibcTestMain.cpp
Log Message:
-----------
[libc] Fix warning on 'extern "C" int main' in test suite (#102973)
Summary:
According to the C++ standard, The main function shall not be declared
with a linkage-specification. after some changes in
https://github.com/llvm/llvm-project/pull/101853 this started emitting
warnings when building / testing the C library. This source file is
shared with the overlay tests as well as the full build tests. The full
build tests are compiled with `-ffreestanding`, as are all the startup /
integration files. The standard says freestanding environment are all
implementation defined, so this is valid in those cases. This patch
simply prevents adding the linkage when we are compiling unit tests,
which are hosted. This is a continuation on
https://github.com/llvm/llvm-project/pull/102825.
Commit: bfbd4cc88ccb3de71010f1166142ae8412db6ca3
https://github.com/llvm/llvm-project/commit/bfbd4cc88ccb3de71010f1166142ae8412db6ca3
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/test/MC/Disassembler/X86/apx/ccmp.txt
M llvm/test/MC/X86/apx/ccmp-att.s
M llvm/test/MC/X86/apx/ccmp-intel.s
Log Message:
-----------
[X86,MC,test] Add enc/dec tests for ccmpbe (#102883)
This is also pre-commit test for #102284
Commit: 887f7002b65f7376c7a5004535bd08c95bdaa8f8
https://github.com/llvm/llvm-project/commit/887f7002b65f7376c7a5004535bd08c95bdaa8f8
Author: Connie <60797237+connieyzhu at users.noreply.github.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M bolt/test/X86/encoding-validation.s
M bolt/test/X86/gotpcrelx.s
M bolt/test/X86/icf-jump-tables.test
M bolt/test/X86/indirect-goto-pie.test
M bolt/test/X86/jump-table-func-entry.s
M bolt/test/X86/keep-nops.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-pci-fixup.s
M bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-calls.s
M bolt/test/X86/linux-static-keys.s
M bolt/test/X86/pt_gnu_relro.s
M bolt/test/X86/unclaimed-jt-entries.s
M bolt/test/X86/vararg.test
M bolt/test/runtime/X86/unclaimed-jt-entries.s
Log Message:
-----------
[NFC][bolt][test] Change '|&' to '2>&1 |' for lit internal shell support (#102402)
This patches changes all references to '|&' in bolt tests to instead use
the '2>&1 |' syntax for better consistency across testing and so that
lit's internal shell can be used to run these tests. This addresses a
suggestion made in the comments of this RFC:
https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179.
Fixes https://github.com/llvm/llvm-project/issues/102388
Commit: 80525dfcde5bf8aae6ab6b0810124ba502de6096
https://github.com/llvm/llvm-project/commit/80525dfcde5bf8aae6ab6b0810124ba502de6096
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload.h
A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_device.h
A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_host.h
M clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
M clang/lib/Sema/SemaCUDA.cpp
M clang/test/CodeGenCUDA/Inputs/cuda.h
A clang/test/CodeGenCUDA/offload_via_llvm.cu
A clang/test/Driver/cuda-via-liboffload.cu
M offload/include/Shared/APITypes.h
M offload/include/omptarget.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/CMakeLists.txt
A offload/src/KernelLanguage/API.cpp
M offload/src/exports
M offload/test/lit.cfg
A offload/test/offloading/CUDA/basic_launch.cu
A offload/test/offloading/CUDA/basic_launch_blocks_and_threads.cu
A offload/test/offloading/CUDA/basic_launch_multi_arg.cu
A offload/test/offloading/CUDA/kernel_tu.cu.inc
A offload/test/offloading/CUDA/launch_tu.cu
Log Message:
-----------
[Offload][CUDA] Allow CUDA kernels to use LLVM/Offload (#94549)
Through the new `-foffload-via-llvm` flag, CUDA kernels can now be
lowered to the LLVM/Offload API. On the Clang side, this is simply done
by using the OpenMP offload toolchain and emitting calls to `llvm*`
functions to orchestrate the kernel launch rather than `cuda*`
functions. These `llvm*` functions are implemented on top of the
existing LLVM/Offload API.
As we are about to redefine the Offload API, this wil help us in the
design process as a second offload language.
We do not support any CUDA APIs yet, however, we could:
https://www.osti.gov/servlets/purl/1892137
For proper host execution we need to resurrect/rebase
https://tianshilei.me/wp-content/uploads/2021/12/llpp-2021.pdf
(which was designed for debugging).
```
❯❯❯ cat test.cu
extern "C" {
void *llvm_omp_target_alloc_shared(size_t Size, int DeviceNum);
void llvm_omp_target_free_shared(void *DevicePtr, int DeviceNum);
}
__global__ void square(int *A) { *A = 42; }
int main(int argc, char **argv) {
int DevNo = 0;
int *Ptr = reinterpret_cast<int *>(llvm_omp_target_alloc_shared(4, DevNo));
*Ptr = 7;
printf("Ptr %p, *Ptr %i\n", Ptr, *Ptr);
square<<<1, 1>>>(Ptr);
printf("Ptr %p, *Ptr %i\n", Ptr, *Ptr);
llvm_omp_target_free_shared(Ptr, DevNo);
}
❯❯❯ clang++ test.cu -O3 -o test123 -foffload-via-llvm --offload-arch=native
❯❯❯ llvm-objdump --offloading test123
test123: file format elf64-x86-64
OFFLOADING IMAGE [0]:
kind elf
arch gfx90a
triple amdgcn-amd-amdhsa
producer openmp
❯❯❯ LIBOMPTARGET_INFO=16 ./test123
Ptr 0x155448ac8000, *Ptr 7
Ptr 0x155448ac8000, *Ptr 42
```
Commit: f8f34c7e4914ce9e90453e902e2e03f129119fb6
https://github.com/llvm/llvm-project/commit/f8f34c7e4914ce9e90453e902e2e03f129119fb6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 80525dfcde5b
Commit: 75c7bca740935a0cca462e28475dd6b046a6872c
https://github.com/llvm/llvm-project/commit/75c7bca740935a0cca462e28475dd6b046a6872c
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[DataLayout] Remove constructor accepting a pointer to Module (#102841)
The constructor initializes `*this` with `M->getDataLayout()`, which
is effectively the same as calling the copy constructor.
There does not seem to be a case where a copy would be necessary.
Pull Request: https://github.com/llvm/llvm-project/pull/102841
Commit: f1fe45106572204f36e82ded2b921b9984ec32e5
https://github.com/llvm/llvm-project/commit/f1fe45106572204f36e82ded2b921b9984ec32e5
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
Log Message:
-----------
[bazel] Upgrade to 7.3.0 (#102991)
Most importantly this rc has a change that we had to revert for
previously
Commit: 7951673d408ee64744d0b924a49db78e8243d876
https://github.com/llvm/llvm-project/commit/7951673d408ee64744d0b924a49db78e8243d876
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M libcxx/include/__memory/inout_ptr.h
M libcxx/include/__memory/out_ptr.h
M libcxx/test/libcxx/system_reserved_names.gen.py
Log Message:
-----------
[libc++] Use a different smart ptr type alias (#102089)
The `_SP` type is used by some C libraries and this alias could conflict
with it.
Commit: d990cc4568f45c28d1d5ac86125935628c76efc8
https://github.com/llvm/llvm-project/commit/d990cc4568f45c28d1d5ac86125935628c76efc8
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
Log Message:
-----------
[clang-format] Correctly handle C# attribute on auto property (#102921)
Fixes #101487.
Commit: 17db3313c75120fd8415529723eb96cbad399338
https://github.com/llvm/llvm-project/commit/17db3313c75120fd8415529723eb96cbad399338
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/include/clang/AST/TextNodeDumper.h
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/atomic-expr.cpp
Log Message:
-----------
[ASTDump] TextNodeDumper learned to dump builtin name for AtomicExpr (#102748)
In 4198576157bfd0d08c08b784220d6132b709ae2c, we add support for dumping
builtin name for AtomicExpr in JSON dump. This change syncs
`TextNodeDumper` with `JSONNodeDumper`, makes `TextNodeDumper` learned
to dump builtin name for AtomicExpr.
Commit: 70cf58e6c193a63f66028ae340a30c9dc181f460
https://github.com/llvm/llvm-project/commit/70cf58e6c193a63f66028ae340a30c9dc181f460
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
Log Message:
-----------
[SLP][REVEC] Make SLP vectorize shufflevector. (#102489)
Add getShufflevectorNumGroups to vectorize shufflevector.
Current getShufflevectorNumGroups can only vectorize limited pattern
(e.g., the masks of shufflevector use the elements of the source in
order).
In addition, ReuseShuffleIndices and ReorderIndices are not supported.
Commit: 3f9c9aceddf5f6dc736ee39bb2088fd3ce884a08
https://github.com/llvm/llvm-project/commit/3f9c9aceddf5f6dc736ee39bb2088fd3ce884a08
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M offload/test/offloading/CUDA/basic_launch.cu
M offload/test/offloading/CUDA/basic_launch_blocks_and_threads.cu
M offload/test/offloading/CUDA/basic_launch_multi_arg.cu
M offload/test/offloading/CUDA/launch_tu.cu
Log Message:
-----------
[Offload] Add the right paths to the CUDA lit tests (#102997)
Commit: a27f40e5d9636b0853e8de0b95d72261f8d34696
https://github.com/llvm/llvm-project/commit/a27f40e5d9636b0853e8de0b95d72261f8d34696
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
Log Message:
-----------
[X86_64] Fix empty field error in vaarg of C++. (#101639)
Such struct types:
```
struct {
struct{} a;
long long b;
};
stuct {
struct{} a;
double b;
};
```
For such structures, Lo is NoClass and Hi is Integer/SSE. And when this
structure argument is passed, the high part is passed at offset 8 in
memory. So we should do special handling for these types in
EmitVAArg.Fix https://github.com/llvm/llvm-project/issues/79790 and fix
https://github.com/llvm/llvm-project/issues/86371.
Commit: b4b0c0230648abb600040e1dc1c1a7ad72b68dde
https://github.com/llvm/llvm-project/commit/b4b0c0230648abb600040e1dc1c1a7ad72b68dde
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make tryToReduce and related functions support vector instructions. (#102327)
Commit: 136e5f4850fb40b1c2be2da5e2032ab3d85a493e
https://github.com/llvm/llvm-project/commit/136e5f4850fb40b1c2be2da5e2032ab3d85a493e
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[NFC][Support] Create helper function to parse bool (#102818)
Create a helper template function to parse bool, to eliminate code
duplication.
Commit: c772f5d53a75f2d5d0e8eb8c09c2d6c8d0fb1255
https://github.com/llvm/llvm-project/commit/c772f5d53a75f2d5d0e8eb8c09c2d6c8d0fb1255
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/memcpy-crash-zvl32b.ll
Log Message:
-----------
[RISCV] Disable fixed vectors in getOptimalMemOpType if minimum VLEN is 32. (#102974)
This is needed to match #102405 which disabled fixed to scalable vector
lowering for VLEN=32.
Fixes #102566 and #102568.
Commit: b8fc97fdc107433da90c0bf9f9e8f7dd505f08a5
https://github.com/llvm/llvm-project/commit/b8fc97fdc107433da90c0bf9f9e8f7dd505f08a5
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[NFC][TableGen] Refactor preprocessor directive handling (#102967)
- Make `PreprocessorDirs` array constexpr, move its definition outside
the anonymous namespace, and make it static.
- Change `Word` field to a StringRef.
- Simplify `prepIsDirective` to use StringRef comparison and early
`continue` per LLVM coding standards.
- Use C++17 structured bindings to iterate over the array.
Commit: 367e99e6c2d2ed026f9e038a540cf6047f0d1661
https://github.com/llvm/llvm-project/commit/367e99e6c2d2ed026f9e038a540cf6047f0d1661
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/test/AST/Interp/constexpr-frame-describe.cpp
Log Message:
-----------
Revert "Revert "[clang][Interp] Improve "in call to" call argument printing"" (#102786)
Reverts llvm/llvm-project#102785
Commit: 7c3641121009147aba0ea45962bd69385bd838b1
https://github.com/llvm/llvm-project/commit/7c3641121009147aba0ea45962bd69385bd838b1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/test/Lower/CUDA/cuda-program-global.cuf
Log Message:
-----------
[flang][cuda] Do not lower PINNED variable in main program as global (#102996)
Similar to #102512. Do not lower PINNED variable descriptors in program
unit as globals but keep them local.
Commit: d4dfeb373e95b09ef86865cb33cae21213488afe
https://github.com/llvm/llvm-project/commit/d4dfeb373e95b09ef86865cb33cae21213488afe
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx20.cpp
M clang/test/AST/Interp/new-delete.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Compile field+base destruction into class dtor func (#102871)
Commit: b68df879c64ac9bb17ce6cc09d5ad86e803a3211
https://github.com/llvm/llvm-project/commit/b68df879c64ac9bb17ce6cc09d5ad86e803a3211
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[TableGen] Fix build failure by using int type for NextChar (#103000)
Fixes an issue in https://github.com/llvm/llvm-project/pull/102967,
which inddvertently changed the type of `NextChar` from int to char,
causing ppc64le build failures.
Commit: 3c5509d9ad25ee49aa68ab0c60d73d9587635b62
https://github.com/llvm/llvm-project/commit/3c5509d9ad25ee49aa68ab0c60d73d9587635b62
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-12 (Mon, 12 Aug 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang] Use llvm::is_contained (NFC) (#102999)
Commit: 2c62d08bda98bab743fc86c9ccc40304949566d6
https://github.com/llvm/llvm-project/commit/2c62d08bda98bab743fc86c9ccc40304949566d6
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/test/MC/X86/apx/ccmp-att.s
M llvm/test/MC/X86/apx/ccmp-intel.s
M llvm/test/MC/X86/apx/ctest-att.s
M llvm/test/MC/X86/apx/ctest-intel.s
M llvm/test/MC/X86/apx/setzucc-att.s
M llvm/test/MC/X86/apx/setzucc-intel.s
M llvm/test/MC/X86/cmpccxadd-att-alias.s
M llvm/test/MC/X86/cmpccxadd-intel-alias.s
Log Message:
-----------
[X86][MC] Add assembly alias for CCMP, CTEST, SETZUCC, CMPCCXADD (#102284)
Commit: aa03327a463ac4d538127e3fc03476a5f42b2bb1
https://github.com/llvm/llvm-project/commit/aa03327a463ac4d538127e3fc03476a5f42b2bb1
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/combine-concatvectors.ll
Log Message:
-----------
[X86][AVX] Add missing X86ISD::VBROADCAST(v2i64 -> v4i64) isel pattern for AVX1 targets (#102853)
An internal bug revealed that this form can be formed from existing
combines, and then fail to select. Use the same pattern as v2f64 ->
v4f64 (the instructions are moving bits around the actual type does not
matter here).
Commit: 3b9f183958c00d2dfe9f91ffdabad9628f2d01d3
https://github.com/llvm/llvm-project/commit/3b9f183958c00d2dfe9f91ffdabad9628f2d01d3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU] Use llvm::any_of, llvm::all_of, and llvm::none_of (NFC) (#103007)
Commit: 2d53f0aab7851b09e8773eb1ca8bd1aa85d20d4b
https://github.com/llvm/llvm-project/commit/2d53f0aab7851b09e8773eb1ca8bd1aa85d20d4b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Interp/Compiler.cpp
A clang/lib/AST/Interp/CompilerComplex.cpp
Log Message:
-----------
[clang][Interp][NFC] Move _Complex compiler code to separate file (#103004)
Commit: f5ba3f6740ff13c46da6d3306e39b026f2d15c5a
https://github.com/llvm/llvm-project/commit/f5ba3f6740ff13c46da6d3306e39b026f2d15c5a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[gn build] Port 2d53f0aab785
Commit: 7030280329c3a723a42304e92f9c207acb8ea731
https://github.com/llvm/llvm-project/commit/7030280329c3a723a42304e92f9c207acb8ea731
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-32b.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[mlir][GPU] Improve `gpu.module` op implementation (#102866)
- Replace hand-written parser/printer with auto-generated assembly
format.
- Remove implicit `gpu.module_end` terminator and use the `NoTerminator`
trait instead. (Same as `builtin.module`.)
- Turn the region into a graph region. (Same as `builtin.module`.)
Commit: 86ef9ee60015c582b14ecfaedda415e671578b4b
https://github.com/llvm/llvm-project/commit/86ef9ee60015c582b14ecfaedda415e671578b4b
Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonMask.cpp
A llvm/test/CodeGen/Hexagon/mask-instr.ll
Log Message:
-----------
[HEXAGON] Enable Utilize Mask Instruction Pass only if the Arch (#102880)
version is greater than v66
No support for mask instruction before arch version v66
Commit: 2913e71865dfc063a47ddfaf1e2ce07763f69614
https://github.com/llvm/llvm-project/commit/2913e71865dfc063a47ddfaf1e2ce07763f69614
Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir
Log Message:
-----------
[mlir][vector] Refactor vector-transfer-unroll.mlir (NFC) (#102593)
Overview of changes:
- All memref input arguments are re-named to %mem.
- All vector input arguments are re-named to %vec.
- LIT variables are update to be consistent with input arguments.
- Renamed all output arguments as %res.
- Unified identation of `FileCheck` commands
- Separated tests (previously there was a big test containing a couple of tests)
Commit: 2ab910c08c4ed43d6fd9eb2ef9b3ff52e0293cf9
https://github.com/llvm/llvm-project/commit/2ab910c08c4ed43d6fd9eb2ef9b3ff52e0293cf9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
Log Message:
-----------
[LV] Check pointer user are in loop when checking for uniform pointers.
Widening decisions are not set for users outside the loop. Avoid
crashing by only calling isVectorizedMemAccessUse for users in the loop.
Fixes https://github.com/llvm/llvm-project/issues/102934.
Commit: 85b113c381d14d69bb6f1386488308859f74feaf
https://github.com/llvm/llvm-project/commit/85b113c381d14d69bb6f1386488308859f74feaf
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[Doc] [C++20] [Modules] Clarify the reachability of internal partition units (#102572)
Motivated by https://github.com/llvm/llvm-project/issues/101348
Although I don't want the tool's doc to explain the standard's wording,
the wording itself has some unspecified thing. So I feel it will be
helpful to make it clear. At least it may help us receive less invalid
issue reports.
Commit: b8bf14eecfc71cfc2d6931c2d95bc5af21d5e4a3
https://github.com/llvm/llvm-project/commit/b8bf14eecfc71cfc2d6931c2d95bc5af21d5e4a3
Author: Matthias Springer <me at m-sp.org>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][LLVMIR] Check number of elements in `mlir.constant` verifier (#102906)
Check that the number of elements in the result type and the attribute
of an `llvm.mlir.constant` op matches. Also fix a broken test where that
was not the case.
Commit: 334a366ba792adb41ccf43457b65ac88aa37f178
https://github.com/llvm/llvm-project/commit/334a366ba792adb41ccf43457b65ac88aa37f178
Author: Amara Emerson <amara at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sme-darwin-no-sve-vg.ll
Log Message:
-----------
[AArch64][Darwin][SME] Don't try to save VG to the stack for unwinding.
On Darwin we don't have any hardware that has SVE support, only SME.
Therefore we don't need to save VG for unwinders and can safely omit it.
This also fixes crashes introduced since this feature landed since Darwin's
compact unwind code can't handle the presence of VG anyway.
rdar://131072344
Commit: 306b9c7b48ade28ed10e5926b6d9f5e3acab3968
https://github.com/llvm/llvm-project/commit/306b9c7b48ade28ed10e5926b6d9f5e3acab3968
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[SCEV] Handle more add/addrec mixes in computeConstantDifference() (#101999)
computeConstantDifference() can currently look through addrecs with
identical steps, and then through adds with identical operands (apart
from constants).
However, it fails to handle minor variations, such as two nested add
recs, or an outer add with an inner addrec (rather than the other way
around).
This patch supports these cases by adding a loop over the
simplifications, limited to a small number of iterations. The motivation
is the same as in #101339, to make
computeConstantDifference() powerful enough to replace existing uses of
`dyn_cast<SCEVConstant>(getMinusSCEV())` with it. Though as the IR test
diff shows, other callers may also benefit.
Commit: e0ad56b7359be7fddf858c8be7b118f5be906c33
https://github.com/llvm/llvm-project/commit/e0ad56b7359be7fddf858c8be7b118f5be906c33
Author: Lawrence Benson <github at lawben.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
A llvm/test/CodeGen/AArch64/sve-vector-compress.ll
Log Message:
-----------
[AArch64] Add lowering for `@llvm.experimental.vector.compress` (#101015)
This is a follow-up to #92289 that adds custom lowering of the new
`@llvm.experimental.vector.compress` intrinsic on AArch64 with SVE
instructions.
Some vectors have a `compact` instruction that they can be lowered to.
Commit: b7ebb67b86888de05419e07a38b932344ac9c7a7
https://github.com/llvm/llvm-project/commit/b7ebb67b86888de05419e07a38b932344ac9c7a7
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Fix -Wrange-loop-construct (NFC)
/llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp:12009:21:
error: loop variable '[S, Mul]' creates a copy from type 'const value_type' (aka 'const llvm::detail::DenseMapPair<const llvm::SCEV *, int>') [-Werror,-Wrange-loop-construct]
for (const auto [S, Mul] : Multiplicity) {
^
/llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp:12009:10:
note: use reference type 'const value_type &' (aka 'const llvm::detail::DenseMapPair<const llvm::SCEV *, int> &') to prevent copying
for (const auto [S, Mul] : Multiplicity) {
^~~~~~~~~~~~~~~~~~~~~
&
Commit: 71d2de8ecd793bd1a1ea51b61d22c233029b3fe8
https://github.com/llvm/llvm-project/commit/71d2de8ecd793bd1a1ea51b61d22c233029b3fe8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cttz.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/pr89877.ll
M llvm/test/CodeGen/X86/pr90847.ll
Log Message:
-----------
[X86] Promote cttz_i32(x) -> cttz_i64((i64)x | (1 << 32)) (#102900)
On 64bit targets we can promote i32 CTTZ nodes to i64 CTTZ_ZERO_UNDEF by setting the 32nd bit.
#57811 also queried about whether we should use BTS instead of MOVABS+OR to avoid a i64 immediate - I'm willing to tweak the DAGToDAG isel peephole for these cases if reviewers think it worthwhile. But most recent CPUs can actually handle MOVABS faster than BTS/C/R.......
Fixes #57811
Commit: f9b15a96c6c855fc81e63133d0a3fa778dd98809
https://github.com/llvm/llvm-project/commit/f9b15a96c6c855fc81e63133d0a3fa778dd98809
Author: Hans <hans at hanshq.net>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[cmake] Document and suggest LLVM_ENABLE_PDB (#102887)
As suggested in #101533. @rnk added the flag in
b97ff922a9eeea6efbf12deba907848e5002cc76
Commit: 346a1c51616da51597b7c555766f9487c0afb993
https://github.com/llvm/llvm-project/commit/346a1c51616da51597b7c555766f9487c0afb993
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cttz.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/pr89877.ll
M llvm/test/CodeGen/X86/pr90847.ll
Log Message:
-----------
Revert "[X86] Promote cttz_i32(x) -> cttz_i64((i64)x | (1 << 32))" (#103030)
Reverts llvm/llvm-project#102900 - missed a analysis cost model test change
Commit: 93f5c61d04fbef877dd9ac74511bb76093cc66cf
https://github.com/llvm/llvm-project/commit/93f5c61d04fbef877dd9ac74511bb76093cc66cf
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[NFC] [Serialization] Extract the functionality of merging decls from ASTReaderDecl (#103022)
Currently we're merging the decls in ASTReaderDecl. But it is not so
convinient if we want to merge things in ASTReader.
This patch extract the funcitonality of merging decls from ASTReaderDecl
to a new class, ASTReaderMerger. Then it will be easier to merge decls
in ASTReader.
This may help the readability slightly too.
Commit: 5ce47a5813506e08daddc1e3d59b06f7a452c300
https://github.com/llvm/llvm-project/commit/5ce47a5813506e08daddc1e3d59b06f7a452c300
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/AlignmentFromAssumptions/domtree-crash.ll
A llvm/test/Transforms/SLPVectorizer/X86/const-in-different-functions.ll
Log Message:
-----------
Reland "[Support] Assert that DomTree nodes share parent" (#102782)
A dominance query of a block that is in a different function is
ill-defined, so assert that getNode() is only called for blocks that are
in the same function.
There are three cases, where this behavior did occur. LoopFuse didn't
explicitly do this, but didn't invalidate the SCEV block dispositions,
leaving dangling pointers to free'ed basic blocks behind, causing
use-after-free. We do, however, want to be able to dereference basic
blocks inside the dominator tree, so that we can refer to them by a
number stored inside the basic block.
Reverts #102780
Reland #101198
Fixes #102784
Co-authored-by: Alexis Engelke <engelke at in.tum.de>
Commit: a9636b7f60f283926c66e96c036f5b5d9e57c026
https://github.com/llvm/llvm-project/commit/a9636b7f60f283926c66e96c036f5b5d9e57c026
Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/include/mlir/IR/StorageUniquerSupport.h
Log Message:
-----------
[mlir][StorageUniquer] Restore old signature for default implementaion of verifyInvariants. (#103023)
PR #102326 changed the prototype of the default implementation of verify
to include emitErrorFn.
This breaks automatic derivation in consumer attributes, such as
https://github.com/tensorflow/runtime/blob/60277ba976739502e45ad26585e071568fa44af1/include/tfrt/core_runtime/opdefs/attributes.h#L53.
This PR simply restores the signature to what it was prior to PR
#102326.
Commit: 3fa946a8442e1b8d4fdbdc9b9b7e8c12a0f77dcc
https://github.com/llvm/llvm-project/commit/3fa946a8442e1b8d4fdbdc9b9b7e8c12a0f77dcc
Author: deadalnix <deadalnix at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/IR/DIBuilder.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[DI] Have createClassType create a class type. (#102624)
I was wondering why my use of createClassType was generating structure
reccords, and it turns out the code is wrong (or for some reason i don't
understand the intended use of the API).
clang itself does not use that part of the API, so this flew under the
radar.
Commit: 2b077ede083b4185f51a2fe648a27e4c85352a2f
https://github.com/llvm/llvm-project/commit/2b077ede083b4185f51a2fe648a27e4c85352a2f
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/MC/MCObjectFileInfo.cpp
Log Message:
-----------
[MC] Avoid useless triple copy (#103026)
Copying a triple is cheap, but not free, so let's not do that if there's
no reason to do so. Trivial cleanup.
Commit: 8fc3a7974701f12f46f3f7c1f967001b0cb22847
https://github.com/llvm/llvm-project/commit/8fc3a7974701f12f46f3f7c1f967001b0cb22847
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/CFG.h
Log Message:
-----------
[IR] Add block number traits to CFG (#102758)
This enables the use of the more efficient dominator tree node access.
Commit: 64d9713637ab98e2b65c9c4317a50ddba0ba0dbc
https://github.com/llvm/llvm-project/commit/64d9713637ab98e2b65c9c4317a50ddba0ba0dbc
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/Types.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
M clang-tools-extra/include-cleaner/unittests/IncludeSpellerTest.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
Log Message:
-----------
[include-cleaner] Unify symlink handling (#102615)
We were using tryGetRealPathName in certain places, which resolves
symlinks (sometimes). This was resulting in discrepancies in behavior,
depending on how a file was first reached.
This path migrates all usages of tryGetRealPathName to regular getName
instead.
This implies one backward incompatible change for header-filtering. Our
ignore-header option used to filter against suffixes of absolute paths,
whereas now filter can receive working-directory relative paths in some
cases, possibly braking existing filters.
Chances of really braking users is pretty low:
- We'll still filter against absolute paths when header is outside the
working directory (e.g. /usr/bin/include/some/linux/header.h.)
- Most projects run builds in a working directory that's nested inside
the repository, hence relative paths still contain all the segments
relative to repository root and anything else is unlikely to be
meaningful. e.g. if a header is in
`$HOME/work/llvm-project/clang-tools-extra/header.h` with builds being
run in `$home/work/llvm-project/build`, we'll still filter against
`../clang-tools-extra/header.h` which has all the useful segments as a
suffix.
- This is also a change in how we handle symlinks, but this is aligned
with what we do in rest of our tools (clangd, tidy checks etc.). We
tend to not resolve any symlinks for the file.
Commit: b7863d13df2ec51fe0966f2de011965c0322c8b6
https://github.com/llvm/llvm-project/commit/b7863d13df2ec51fe0966f2de011965c0322c8b6
Author: qazwsxedcrfvtg14 <qazwsxedcrfvtg14 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
Log Message:
-----------
[mlir] Fix misleading comment for type trait (#103041)
We are using `has_initialize` to check the class has `initialize`
function instead of the `getOperationName` function.
Commit: 103cdd45fcdb8024f73f43bddf1764e26bfa0053
https://github.com/llvm/llvm-project/commit/103cdd45fcdb8024f73f43bddf1764e26bfa0053
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
A clang/test/SemaCXX/matrix-index-operator-sign-conversion.cpp
Log Message:
-----------
[Matrix] Add test showing unintended implicit sign conversion warning.
Commit: 778a1f29fc29bb184634eae14db1b39f70b7bc45
https://github.com/llvm/llvm-project/commit/778a1f29fc29bb184634eae14db1b39f70b7bc45
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
Log Message:
-----------
[include-cleaner] Fix windows buildbots after 64d9713637ab9
Commit: 875b551de73e1b38cd40b2d39d9144c6fd0b27ec
https://github.com/llvm/llvm-project/commit/875b551de73e1b38cd40b2d39d9144c6fd0b27ec
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make computeMinimumValueSizes and collectValuesToDemote support vector instructions. (#103005)
Commit: d550ada5ab6cd6e49de71ac4c9aa27ced4c11de0
https://github.com/llvm/llvm-project/commit/d550ada5ab6cd6e49de71ac4c9aa27ced4c11de0
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
Log Message:
-----------
[CodeGen][ARM64EC] Define hybrid_patchable EXP thunk symbol as a function. (#102898)
This is needed for MSVC link.exe to generate redirection metadata for hybrid patchable thunks.
Commit: dc8c217db6329f03a116ef63dafa6de02913d311
https://github.com/llvm/llvm-project/commit/dc8c217db6329f03a116ef63dafa6de02913d311
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/docs/APINotes.rst
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/swift-import-as.cpp
Log Message:
-----------
[APINotes] Support C++ tag conformances to Swift protocols
This allows adding a Clang attribute
`swift_attr("conforms_to:ModuleName.ProtocolName")` to C++ structs via
API Notes.
The Swift compiler respects this attribute when importing C++ types into
Swift by automatically declaring the C++ type as a conforming type to
the given Swift protocol.
rdar://131388824
Commit: ed7ad0a1a0584f90a211ca5a87bc46968e169e5d
https://github.com/llvm/llvm-project/commit/ed7ad0a1a0584f90a211ca5a87bc46968e169e5d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
M llvm/test/Analysis/CostModel/X86/cttz-latency.ll
M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/CodeGen/X86/cttz.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/pr89877.ll
M llvm/test/CodeGen/X86/pr90847.ll
Log Message:
-----------
[X86] Promote cttz_i32(x) -> cttz_i64((i64)x | (1 << 32)) (#102900) (REAPPLIED)
On 64bit targets we can promote i32 CTTZ nodes to i64 CTTZ_ZERO_UNDEF by setting the 32nd bit.
#57811 also queried about whether we should use BTS instead of MOVABS+OR to avoid a i64 immediate - I'm willing to tweak the DAGToDAG isel peephole for these cases if reviewers think it worthwhile. But most recent CPUs can actually handle MOVABS faster than BTS/C/R.......
Reapplied with missing costmodel changes - the cost tables can probably be improved in a follow up patch.
Fixes #57811
Commit: 4197386dbde3a59e6b3133604b7a0ae10eb4ed74
https://github.com/llvm/llvm-project/commit/4197386dbde3a59e6b3133604b7a0ae10eb4ed74
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
Log Message:
-----------
[LLVM][SelectionDAG] Remove scalable vector restriction from poison analysis. (#102504)
The following functions have an early exit for scalable vectors:
SelectionDAG::canCreateUndefOrPoison
SelectionDAG:isGuaranteedNotToBeUndefOrPoison
The implementations of these don't look to be sensitive to the
vector type other than some uses of demanded elts analysis that
doesn't fully support scalable types. That said the initial
calculation demands all elements and so I've followed the same
scheme as used by TargetLowering::SimplifyDemandedBits.
Commit: 2256d00a1445e751f20040cb4292aa325dd83c8e
https://github.com/llvm/llvm-project/commit/2256d00a1445e751f20040cb4292aa325dd83c8e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Use VL.front()->getType() as ScalarTy. (#102437)
VL.front()->getType() may be FixedVectorType when revec is enabled.
Fix "Expected item in MinBWs.".
Commit: b4edfc19202cf44f8b49d2a953113b167395b595
https://github.com/llvm/llvm-project/commit/b4edfc19202cf44f8b49d2a953113b167395b595
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Log Message:
-----------
[LTO] Run ObjCARCContractPass according to the callgraph (#103034)
This matches other IR codegen passes and avoids a Dominator Tree
Construction in AMDGPU O2/O3 builds.
Commit: f0f5afe9685c2085a4ca51eeb40262f1def61377
https://github.com/llvm/llvm-project/commit/f0f5afe9685c2085a4ca51eeb40262f1def61377
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][vector] Add more tests for ConvertVectorToLLVM (3/n) (#102854)
Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:
* vector.extractelement
* vector.extract
I have also renamed some function names from `@extract_element{}` to
`@extractelement{}` - that's to make a clearer distinction between
tests for `vector.extractelement` (tested by `@extractelement{}`) and
`vector.extract` (tested by `@extract_element{}`).
Commit: 53c41f95db3ab3f4a5d4562fd76f7f4115c52bad
https://github.com/llvm/llvm-project/commit/53c41f95db3ab3f4a5d4562fd76f7f4115c52bad
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
Log Message:
-----------
[MemoryBuiltins] Use getAllOnesValue()
Split out from https://github.com/llvm/llvm-project/pull/80309.
Commit: 4d97ad59f9ef4a26a52be8ff9bfcfa58d5039eb4
https://github.com/llvm/llvm-project/commit/4d97ad59f9ef4a26a52be8ff9bfcfa58d5039eb4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[InstCombine] Use APInt::getSplat()
Split off from https://github.com/llvm/llvm-project/pull/80309.
Commit: 7990a7e58f0656f752178f22a767c6250b6aa8dc
https://github.com/llvm/llvm-project/commit/7990a7e58f0656f752178f22a767c6250b6aa8dc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Log Message:
-----------
[IndVars] Use getSigned() in FP transform
This transform is working on signed integer, so this is the
logically correct API.
Split off from https://github.com/llvm/llvm-project/pull/80309.
Commit: adb4cfe0b61859eb0911b34c6f27eb5925cb9d94
https://github.com/llvm/llvm-project/commit/adb4cfe0b61859eb0911b34c6f27eb5925cb9d94
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Use getAllOnesValue()
Split off from https://github.com/llvm/llvm-project/pull/80309.
Commit: 5c3a0fa7e5ad0b3de7c6a76c6637e63890709e97
https://github.com/llvm/llvm-project/commit/5c3a0fa7e5ad0b3de7c6a76c6637e63890709e97
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Log Message:
-----------
[GlobalISel] IRTranslator: Use RAIIMFObsDelInstaller (#102379)
Similar to #102156.
runOnMachineFunction() installs the Observer correctly manually.
finishPendingPhis() doesn't install into the MF, but this currently
can't cause issues because DILocationVerifier doesn't care about changed
instructions.
Switch to RAIIMFObsDelInstaller in both places for consistency.
Commit: 6aad4918e8d65bdebd30de3fe06b1e2f3c9e525b
https://github.com/llvm/llvm-project/commit/6aad4918e8d65bdebd30de3fe06b1e2f3c9e525b
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make MinBWs support vector instructions. (#103049)
If ScalarTy is FixedVectorType, it should remain as FixedVectorType.
Commit: b53fe2ca8c4d56be42d98c4ef5a183f90b3fb628
https://github.com/llvm/llvm-project/commit/b53fe2ca8c4d56be42d98c4ef5a183f90b3fb628
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M flang/test/Evaluate/fold-out_of_range.f90
Log Message:
-----------
[flang][test] Restrict Evaluate/fold-out_of_range.f90 to x86_64 (#102890)
`Flang :: Evaluate/fold-out_of_range.f90` currently `FAIL`s on
Linux/sparc64. This seems to be the same issue that led to disabling the
test on Solaris in 27549ee989d7e0803d41c206cf636f0b689210f1. In fact,
the generic Solaris disablement was over-eager: the test `PASS`es just
fine on Solaris/amd64.
Since the use of `REAL*10` makes the test x86-specific, this patch
actually implements that requirement.
Tested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
Commit: f117f0a746177bdc8b5f658e6da84cd02909aff1
https://github.com/llvm/llvm-project/commit/f117f0a746177bdc8b5f658e6da84cd02909aff1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
A libcxx/utils/synchronize_csv_status_files.py
Log Message:
-----------
[libc++] Add a script to synchronize status-tracking CSVs with Github issues (#101704)
This script can be run manually to synchronize the CSV files that we use
to track Standards Conformance with the Github issues that track our
implementation of LWG issues and papers.
Commit: 40897638837fdc5d64d8932fd892f3b9a687ee84
https://github.com/llvm/llvm-project/commit/40897638837fdc5d64d8932fd892f3b9a687ee84
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
A llvm/test/Transforms/GlobalMerge/private-global.ll
Log Message:
-----------
[GlobalMerge] Update the GlobalMerge pass to merge private global variables. (#101222)
This patch updates the GlobalMerge pass to be able to handle private
global variables, which is required for a follow-up PowerPC specific
GlobalMerge patch to merge internal and private globals.
A new LIT test is also added to exhibit the ability to merge private
globals.
Commit: 5dbec8c6ce473352cac2d89d6a5b81f65182df59
https://github.com/llvm/llvm-project/commit/5dbec8c6ce473352cac2d89d6a5b81f65182df59
Author: xusheng <xusheng at vector35.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestStopPCs.py
Log Message:
-----------
[lldb] Claim to support swbreak and hwbreak packets when debugging a gdbremote (#102873)
This fixes https://github.com/llvm/llvm-project/issues/56125 and
https://github.com/vadimcn/codelldb/issues/666, as well as the
downstream issue in our binary ninja debugger:
https://github.com/Vector35/debugger/issues/535
Basically, lldb does not claim to support the `swbreak` packet so the
gdbserver would not use it. As a result, the gdbserver always sends the
unmodified program counter value which, on systems like x86, causes the
program counter to be off-by-one (or otherwise wrong). For reference,
the lldb-server always sends the modified program counter value so it
works perfectly with lldb.
https://sourceware.org/gdb/current/onlinedocs/gdb.html/Stop-Reply-Packets.html#swbreak-stop-reason
No new code is added to add support `swbreak`, since the way lldb works
already expects the remote to have adjusted the program counter. The
change just lets the gdbserver know that lldb supports it, so that it
will send the adjusted program counter.
To test this PR, you can use lldb to connect to a gdbserver running on
e.g., Ubuntu 22.04, and see the program counter is off-by-one without
the patch. With the patch, things work as expected
Commit: f807c5e492878240fe6d7be23b930c78c4e62eba
https://github.com/llvm/llvm-project/commit/f807c5e492878240fe6d7be23b930c78c4e62eba
Author: J. Ryan Stinnett <jryans at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
A llvm/test/tools/llvm-dwarfdump/X86/DW_OP_implicit_pointer.yaml
Log Message:
-----------
[DebugInfo] Add expression decoding for `DW_OP_implicit_pointer` (#102923)
This allows `llvm-dwarfdump` to decode the DWARF 5 opcode
`DW_OP_implicit_pointer` (0xa0). GCC makes use of this opcode in recent
versions. LLVM contains some (unfinished) support as well. With existing
usage in the ecosystem, adding decoding support here seems reasonable.
Commit: f364b2ee22209e4072c39a153b3385806974f8b0
https://github.com/llvm/llvm-project/commit/f364b2ee22209e4072c39a153b3385806974f8b0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/GlobalStatus.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LLVM] Don't peek through bitcast on pointers and gep with zero indices. NFC. (#102889)
Since we are using opaque pointers now, we don't need to peek through
bitcast on pointers and gep with zero indices.
Commit: 560ed8ce3d21d5291546a946ee00ec602e11579c
https://github.com/llvm/llvm-project/commit/560ed8ce3d21d5291546a946ee00ec602e11579c
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/expm1f16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/expf16.cpp
A libc/src/math/generic/expm1f16.cpp
M libc/src/math/generic/expxf16.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/expm1f16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/expm1f16_test.cpp
Log Message:
-----------
[libc][math][c23] Add expm1f16 C23 math function (#102387)
Part of #95250.
Commit: d97df40f346ee6761c3ea9cc6c60e9ee8225a6fc
https://github.com/llvm/llvm-project/commit/d97df40f346ee6761c3ea9cc6c60e9ee8225a6fc
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
Log Message:
-----------
[mlir][AMDGPU] Relax restrictions on raw_buffer_load (#102229)
The buffer load operation might temporarily admit "illegal" types, like
i4, or types not yet known to the rewrite pattern (like f8E5M2) and then
be rewritten to legal types before lowering to LLVM. This patch removes
the verifier restriction that prevents this pattern. This harmonizes the
definition of `amdgpu.raw_buffer_load` with the definition of
`amdgpu.raw_buffer_store`.
Commit: ac26c661ead4c5fb05d13c7d07a706f2a305970a
https://github.com/llvm/llvm-project/commit/ac26c661ead4c5fb05d13c7d07a706f2a305970a
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
Log Message:
-----------
[compiler-rt][SME] Correct .variant_pcs directives. (#103047)
Commit: d385485450652dd75e0946d543c6bb4e0f3abf68
https://github.com/llvm/llvm-project/commit/d385485450652dd75e0946d543c6bb4e0f3abf68
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
Log Message:
-----------
[SCEV] Autogenerate a test for ease of upcoming update
Commit: 0f28aa632cde6fa085060383998f98ed7f8fb814
https://github.com/llvm/llvm-project/commit/0f28aa632cde6fa085060383998f98ed7f8fb814
Author: Lei Wang <wlei at fb.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-missing-probe.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-missing-probe.ll
Log Message:
-----------
[CSSPGO] Return error_code for missing probe profile (#102085)
We should undo this https://reviews.llvm.org/D102007 after undoing
https://reviews.llvm.org/D104477 to use missing probe to represent
unknown count, zero count and unknown count are different to profile
inference.
It only affects post-inline(linker) pipeline(with
`--overwrite-existing-weights` on ) and flow-sensitive FDO.
Commit: b89853b50459112a9c270616b350e25cc07671bf
https://github.com/llvm/llvm-project/commit/b89853b50459112a9c270616b350e25cc07671bf
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LLVM] Fix whitespace issues in VPBlendRecipe::execute.
Commit: 4371c79d45e8fca88957eaac42da1211c830b076
https://github.com/llvm/llvm-project/commit/4371c79d45e8fca88957eaac42da1211c830b076
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
A libc/include/elf.h.def
A libc/include/link.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/elf-macros.h
M libc/include/llvm-libc-macros/link-macros.h
A libc/newhdrgen/yaml/elf.yaml
A libc/newhdrgen/yaml/link.yaml
Log Message:
-----------
[libc] Reapply ELF/LINK header changes (#102765)
This is based on @izaakschroeder previous patch but I only select macro
definitions for now. We need these definitions for VDSO work, which has
been delayed for a very long time.
Co-authored-by: Izaak Schroeder <izaak.schroeder at gmail.com>
Commit: 03d51019d0c50a9a573a0d7c0848bb424cb21a18
https://github.com/llvm/llvm-project/commit/03d51019d0c50a9a573a0d7c0848bb424cb21a18
Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/test/fuzzer/fork-sigusr.test
M compiler-rt/test/fuzzer/merge-sigusr.test
M compiler-rt/test/fuzzer/sigint.test
M compiler-rt/test/fuzzer/sigusr.test
Log Message:
-----------
Add REQUIRES: shell to Tests Requiring Full Shell Functionality with lit Internal Shell (#102988)
This patch adds the `REQUIRES: shell` directive to compiler-rt's fuzzer
tests that require full shell functionality when using the lit internal
shell. These tests depend on features such as background processes,
signal handling, and session management, which are not supported by
lit's internal shell. The addition of this directive ensures that these
tests are only executed in environments that provide the necessary shell
capabilities.
**Details of the Change:**
The following considerations were addressed:
- **Background Processes (`&`):** The tests run commands in the
background using the `&` operator, which allows the shell to execute
commands concurrently without waiting for each one to finish. In a
standard Unix-like shell, this is a common feature that facilitates
multitasking. However, lit's internal shell does not fully support
background job control, which can lead to unpredictable behavior or test
failures. Without proper handling of background processes, subsequent
commands that depend on the status of these processes may not function
correctly.
- **Signal Handling (`kill -SIGUSR1`, `kill -SIGUSR2`, `kill
-SIGINT`):** These tests involve sending specific signals like
`SIGUSR1`, `SIGUSR2`, and `SIGINT` to running processes. These signals
are used to trigger certain behaviors in the processes, such as pausing,
resuming, or terminating. However, lit's internal shell may not handle
these signals properly—it might not send the signal correctly, or the
process might not respond as it should. This could lead to the test
failing, not because the process is incorrect, but because the shell
didn't manage the signals as required.
- **Session Management (`setsid`):** The tests use `setsid` to create
new sessions, detaching processes from their controlling terminal and
isolating them into their own process groups. However, the internal
shell in lit does not support session management features like `setsid`,
this can't correctly isolate and manage processes as required by these
tests.
This change is relevant for enabling the lit internal shell by default,
as outlined in [[RFC] Enabling the Lit Internal Shell by
Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)
Commit: 1ae507d1091377f560c1f458487472da1730e1be
https://github.com/llvm/llvm-project/commit/1ae507d1091377f560c1f458487472da1730e1be
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
Log Message:
-----------
AMDGPU: Do not create phi user for atomicrmw with no uses (#103061)
Commit: 17dc43d623281cc7169c80574ac5058aa0f78b56
https://github.com/llvm/llvm-project/commit/17dc43d623281cc7169c80574ac5058aa0f78b56
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/HeaderSearch.cpp
Log Message:
-----------
[clang] Stop adjusting the module cache path (#102540)
This patch stops adjustments of the module cache path beyond what is
done in `ParseHeaderSearchArgs` (making it absolute and removing dots).
This enables more efficient implementation of the caching VFS in
https://github.com/llvm/llvm-project/pull/88800.
Commit: 55323ca6c8b9d21d85591f3499b299b62463321f
https://github.com/llvm/llvm-project/commit/55323ca6c8b9d21d85591f3499b299b62463321f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][deps] Only bypass scanning VFS for the module cache (#88800)
The scanning VFS doesn't cache stat failures of paths with no extension.
This was originally implemented to avoid caching the non-existence of
the modules cache directory that the modular scanner will eventually
create if it does not exist.
However, this prevents caching of the non-existence of all directories
and notably also header files from the standard C++ library, which can
lead to sub-par performance.
This patch adds an API to the scanning VFS that allows clients to
configure path prefix for which to bypass the scanning VFS and use the
underlying VFS directly.
Commit: 2d7a2c1212d3539a59afec7e998af8caaa7ea1c0
https://github.com/llvm/llvm-project/commit/2d7a2c1212d3539a59afec7e998af8caaa7ea1c0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
Log Message:
-----------
AtomicExpand: Refactor atomic instruction handling (#102914)
Move the processing of an instruction into a helper function. Also
avoid redundant checking for all types of atomic instructions.
Including the assert, it was effectively performing the same check
3 times.
Commit: 246f345152e933aa40fd20929b59b5c8ef04ce38
https://github.com/llvm/llvm-project/commit/246f345152e933aa40fd20929b59b5c8ef04ce38
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make CastInst support vector instructions. (#103216)
Commit: ba400539e2880274bde7d70244269a82347dca31
https://github.com/llvm/llvm-project/commit/ba400539e2880274bde7d70244269a82347dca31
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/test/Interpreter/const.cpp
Log Message:
-----------
[Interp] Mark the test unsupported with Asan (#102859)
It's very flaky recently.
10 bulds are OK, then 3 failed:
https://lab.llvm.org/buildbot/#/builders/52/builds/1524
https://lab.llvm.org/buildbot/#/builders/52/builds/1525
https://lab.llvm.org/buildbot/#/builders/52/builds/1526
then 3 OK
https://lab.llvm.org/buildbot/#/builders/52/builds/1531
https://lab.llvm.org/buildbot/#/builders/52/builds/1532
then 2 green again
We need to stop to spam blame list by disabling the test,
and investigate later if Asan is valuable for the test.
Issue #102858
Commit: fa9f6b58285b86de794f956daa7f4027e2fc6baa
https://github.com/llvm/llvm-project/commit/fa9f6b58285b86de794f956daa7f4027e2fc6baa
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
Log Message:
-----------
[AArch64][NEON] Add famax/famin codegen patterns (#103027)
- min(abs(a), abs(b)) -> famin(a, b), max(abs(a), abs(b))-> famax(a, b)
- Changes to LLVM
- llvm/lib/Target/AArch64InstrInfo.td
- Add pattern for NEON types
- +llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
- Add tests with and without +faminmax flag.
Commit: 277ca48f2f2ab78290c0702d45b6db54a32c99cf
https://github.com/llvm/llvm-project/commit/277ca48f2f2ab78290c0702d45b6db54a32c99cf
Author: David Green <david.green at arm.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
R llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-uaddlv.mir
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
M llvm/test/CodeGen/AArch64/arm64-neon-across.ll
Log Message:
-----------
[AArch64] Additional saddlv store tests. NFC
The select-intrinsic-uaddlv.mir test now lower via G_SADDLV / G_UADDLV so is no
longer needed.
Commit: 248e88523518ae66a20d02bd3636cd0a15453958
https://github.com/llvm/llvm-project/commit/248e88523518ae66a20d02bd3636cd0a15453958
Author: Mosè Giordano <mose at gnu.org>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/timing.h
Log Message:
-----------
[compiler-rt] Define `__STDC_FORMAT_MACROS` to ensure `PRId64` is available (#102980)
In
https://github.com/JuliaPackaging/Yggdrasil/pull/9246#issuecomment-2284894139
we ran into
```
[20:54:03] [ 65%] Building CXX object lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o
[20:54:03] cd /workspace/srcdir/compiler-rt-17.0.6.src/build/lib/scudo/standalone && /opt/bin/x86_64-linux-gnu-libgfortran5-cxx11/x86_64-linux-gnu-g++ --sysroot=/opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/ -I/workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/../.. -I/workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/include -Wall -Wno-unused-parameter -O3 -DNDEBUG -m64 -Werror=conversion -Wall -Wextra -pedantic -g -nostdinc++ -fvisibility=hidden -fno-exceptions -Wno-pedantic -fno-lto -O3 -fno-omit-frame-pointer -DGWP_ASAN_HOOKS -std=c++17 -MD -MT lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o -MF CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o.d -o CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o -c /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.cpp
[...]
[20:54:03] In file included from /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.cpp:9:
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h: In member function ‘void scudo::TimingManager::printImpl(scudo::ScopedString&, scudo::u32, scudo::u32)’:
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:21: error: expected ‘)’ before ‘PRId64’
[20:54:03] Str.append("%14" PRId64 ".%" PRId64 "(ns) %-11s", Integral, Fraction, " ");
[20:54:03] ~ ^~~~~~~
[20:54:03] )
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:16: warning: conversion lacks type at end of format [-Wformat=]
[20:54:03] Str.append("%14" PRId64 ".%" PRId64 "(ns) %-11s", Integral, Fraction, " ");
[20:54:03] ^~~~~
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:16: warning: too many arguments for format [-Wformat-extra-args]
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:186:23: error: expected ‘)’ before ‘PRId64’
[20:54:03] Str.append("%s (%" PRId64 ")\n", Timers[HandleId].Name, Occurrence);
[20:54:03] ~ ^~~~~~~
[20:54:03] )
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:186:16: warning: spurious trailing ‘%’ in format [-Wformat=]
[20:54:03] Str.append("%s (%" PRId64 ")\n", Timers[HandleId].Name, Occurrence);
[20:54:03] ^~~~~~~
```
when compiling compiler-rt with GCC 8. This was resolved by defining
`__STDC_FORMAT_MACROS`.
Commit: afd42fb3038904e8c09c0fb735e713bc052ec0e4
https://github.com/llvm/llvm-project/commit/afd42fb3038904e8c09c0fb735e713bc052ec0e4
Author: Brox Chen <broxigarchen at outlook.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
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/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
Log Message:
-----------
[AMDGPU][True16][CodeGen] Support AND/OR/XOR and LDEXP True16 format (#102620)
Support AND/OR/XOR true16 and LDEXP true/fake16 format.
These instructions are previously implemented with fake16 profile.
Fixing the implementation.
Added a RA hint so that when using 16bit register in a 32bit
instruction, try to use the register directly without an extra 16bit
move
---------
Co-authored-by: guochen2 <guochen2 at amd.com>
Commit: dcc27ea41ebc7244a10f15114f60f5e8d6b93b34
https://github.com/llvm/llvm-project/commit/dcc27ea41ebc7244a10f15114f60f5e8d6b93b34
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M offload/test/api/omp_dynamic_shared_memory_amdgpu.c
M offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
M offload/test/offloading/bug51781.c
M offload/test/offloading/bug51982.c
Log Message:
-----------
[LinkerWrapper] Always pass `-flto` if the linker supports it (#102972)
Summary;
Now that we use the linker to do LTO / device linking, we need to inform
the `clang` invocation to use `-flto` so it forwards arguments like
`-On` correctly.
Commit: b4c4c799ab084f0bbd975e724384684b3ee4facb
https://github.com/llvm/llvm-project/commit/b4c4c799ab084f0bbd975e724384684b3ee4facb
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/expxf16.h
Log Message:
-----------
[libc][math] Fix missing LIBC_INLINE on exp_range_reduction() function (#103305)
See Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/73/builds/3669.
Commit: 7e236136ab2896dee12bbe96d5994bb65c326e9f
https://github.com/llvm/llvm-project/commit/7e236136ab2896dee12bbe96d5994bb65c326e9f
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
Log Message:
-----------
[lldb] Skip libcxx tests with older versions of clang
Commit: 80c51fad3b683c8c9ee4c26aa41eda2f78a29627
https://github.com/llvm/llvm-project/commit/80c51fad3b683c8c9ee4c26aa41eda2f78a29627
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
M llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll
M llvm/test/Transforms/AtomicExpand/ARM/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/ARM/cmpxchg-weak.ll
M llvm/test/Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-fp.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll
Log Message:
-----------
AtomicExpand: Regenerate baseline checks (#103063)
Commit: a9604cd3212beb6cdb41a79f248723140ab9939d
https://github.com/llvm/llvm-project/commit/a9604cd3212beb6cdb41a79f248723140ab9939d
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
A llvm/unittests/Support/DynamicLibrary/DynamicLibraryTests.exports
Log Message:
-----------
[CMake] Fix DynamicLibraryTests exports symbol when plugins are enabled (#102941)
Exporting symbols from tools directory never worked with
`LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=On`. When that options is on, only
symbols from the static library is linked is exported due to the export
symbols computation script. DynamicLibraryTests needs to export a symbol
from the tools/executable directory, so update it to use export list
instead.
Commit: f0ef1d3bae02cd7623e87e759db19432717f51bf
https://github.com/llvm/llvm-project/commit/f0ef1d3bae02cd7623e87e759db19432717f51bf
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
Log Message:
-----------
[CompilerRT][Darwin] Silence the warnings for deprecated APIs (#102977)
Silence deprecated API warnings in compiler-rt on Darwin platforms.
Commit: b1aa0b0b88a0bca2553f8c6d6c52ec3b7205064b
https://github.com/llvm/llvm-project/commit/b1aa0b0b88a0bca2553f8c6d6c52ec3b7205064b
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/Module.cpp
M llvm/unittests/IR/DataLayoutTest.cpp
Log Message:
-----------
[DataLayout] Remove `clear` and `reset` methods (NFC) (#102993)
`clear` was never necessary as it is always called on a fresh instance
of the class or just before freeing an instance's memory. `reset` is
effectively the same as the constructor.
Pull Reuquest: https://github.com/llvm/llvm-project/pull/102993
Commit: dbe8a10c06be56d9a2a45a08ce8c95c5f0b1c21c
https://github.com/llvm/llvm-project/commit/dbe8a10c06be56d9a2a45a08ce8c95c5f0b1c21c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/TypePromotion.cpp
Log Message:
-----------
[TypePromotion] Use return value from SmallPtrSet::insert to avoid a call to SmallPtrSet::count. NFC (#103008)
Commit: f58f92c2138ed0b3e802d0c45ba3652e72e208c4
https://github.com/llvm/llvm-project/commit/f58f92c2138ed0b3e802d0c45ba3652e72e208c4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Move SelectionDAG::getAllOnesConstant out of line. NFC (#102995)
This function has to get the scalar size and create an APInt. I don't
think it belongs inline.
Commit: 00a4042212898a26e43ba0c13ad69677e65f271b
https://github.com/llvm/llvm-project/commit/00a4042212898a26e43ba0c13ad69677e65f271b
Author: vporpo <vporpodas at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement AtomicCmpXchgInst (#102710)
This patch implements sandboxir::AtomicCmpXchgInst which mirrors
llvm::AtomiCmpXchgInst.
Commit: 494eec0255d0e270ed877e960843177759f0ee73
https://github.com/llvm/llvm-project/commit/494eec0255d0e270ed877e960843177759f0ee73
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
Log Message:
-----------
[lldb][NFCI] Simplify ProcessElfCore::GetAuxvData() (#102263)
There is no need to clone the content and set extraction properties
because `m_auxv` is already in the required form.
Commit: 6807ca8e937e6949af838995964613fab2fbe0dc
https://github.com/llvm/llvm-project/commit/6807ca8e937e6949af838995964613fab2fbe0dc
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/ctxprof.ll
Log Message:
-----------
[nfc][ctx_prof] Use one flag for the "use" scenario (#103377)
No need to have two flags, one for the thinlink and one for compilation.
Commit: edded8d7b5cb310524494cca317dd3582234b56f
https://github.com/llvm/llvm-project/commit/edded8d7b5cb310524494cca317dd3582234b56f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
R llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-unsafe-fp-atomics.ll
Log Message:
-----------
AMDGPU: Stop handling legacy amdgpu-unsafe-fp-atomics attribute (#101699)
This is now autoupgraded to annotate atomicrmw instructions in
old bitcode.
Commit: 661dda9df13c65ce021407bb726b558c7a414731
https://github.com/llvm/llvm-project/commit/661dda9df13c65ce021407bb726b558c7a414731
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
Log Message:
-----------
[clang] Add frontend flag to enable support for broken external resugarers (#103219)
Forked from https://github.com/llvm/llvm-project/pull/102510 by
[mizvekov](https://github.com/mizvekov). Changes are captured as a fixup
commit.
There are some external projects that can't rely on our own sugar
propagation for templated entities, because they need to resugar types
which only exist within their framework, and so are entirely invisible
to our internal tooling.
This new flag is meant to prevent our transforms from removing any
Subst*
nodes.
For this, this is wired only to template type alias subsititutions.
Note that our AST does represent enough information to correctly
resugar template type alias, so any users of this are limited in their
capacity to reconstruct the parameter substitutions fully.
---------
Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>
Commit: 2c8bd4a729a042ed823547ea0eacad429c50d7bf
https://github.com/llvm/llvm-project/commit/2c8bd4a729a042ed823547ea0eacad429c50d7bf
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGenHLSL/export.hlsl
Log Message:
-----------
[HLSL] Mark exported functions with "hlsl.export" attribute (#102275)
Marks exported functions with `"hlsl.export"` attribute. This
information will be later used by DXILFinalizeLinkage pass (coming soon)
to determine which functions should have internal linkage in the final
DXIL code.
Related to #llvm/llvm-project#92071
Commit: 0aa22dcd2f6ec5f46b8ef18fee88066463734935
https://github.com/llvm/llvm-project/commit/0aa22dcd2f6ec5f46b8ef18fee88066463734935
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[OpenMP][AArch64] Fix branch protection in microtasks (#102317)
Start __kmp_invoke_microtask with PACBTI in order to identify the
function as a valid branch target. Before returning, SP is
authenticated.
Also add the BTI and PAC markers to z_Linux_asm.S.
With this patch, libomp.so can now be generated with DT_AARCH64_BTI_PLT
when built with -mbranch-protection=standard.
The implementation is based on the code available in compiler-rt.
Commit: ae466a61d39454d9f311e2e4b624e256bbd5d18b
https://github.com/llvm/llvm-project/commit/ae466a61d39454d9f311e2e4b624e256bbd5d18b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/lib/CodeGen/ValueTypes.cpp
Log Message:
-----------
[SelectionDAG] Add getFltSemantics to MVT and EVT. NFC
This will be used to replace SelectionDAG::EVTToAPFloatSemantics
A similar method exists in IR's Type class.
Commit: 51bad732dc78d777b5dc25fd840f00b61110e4f2
https://github.com/llvm/llvm-project/commit/51bad732dc78d777b5dc25fd840f00b61110e4f2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.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/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG] Replace EVTToAPFloatSemantics with MVT/EVT::getFltSemantics. (#103001)
Commit: 5b40a05d8f2872e4822fd5ff18383fbd5944f511
https://github.com/llvm/llvm-project/commit/5b40a05d8f2872e4822fd5ff18383fbd5944f511
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
A llvm/test/Transforms/InstCombine/phi-int-users.ll
Log Message:
-----------
[InstCombine] Don't look at ConstantData users
When looking at PHI operand for combining, only look at instructions and
arguments. The loop later iteraters over Arg's users, which is not
useful if Arg is a constant -- it's users are not meaningful and might
be in different functions, which causes problems for the dominates()
query.
Pull Request: https://github.com/llvm/llvm-project/pull/103302
Commit: 28050e1b0b9da6d9c24ba20e8c70cf90b8135f49
https://github.com/llvm/llvm-project/commit/28050e1b0b9da6d9c24ba20e8c70cf90b8135f49
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Log Message:
-----------
[lldb][DWARFASTParser] Don't pass CompilerType by non-const reference in the DWARFASTParserClang APIs (#103245)
The `CompilerType` is just a wrapper around two pointers, and there is
no usage of the `CompilerType` where those are expected to change
underneath the caller.
To make the interface more straightforward to reason about, this patch
changes all instances of `CompilerType&` to `const CompilerType&` around
the `DWARFASTParserClang` APIs.
We could probably pass these by-value, but all other APIs don't, and
this patch just makes the parameter passing convention consistent with
the rest of the file.
Commit: ee2359968fa307ef45254c816e14df33374168cd
https://github.com/llvm/llvm-project/commit/ee2359968fa307ef45254c816e14df33374168cd
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix annotation of braces enclosing stringification (#102998)
Fixes #102937.
Commit: 1ccd7ab8b6fa3ae80aaa2e3130242d1d96bbc540
https://github.com/llvm/llvm-project/commit/1ccd7ab8b6fa3ae80aaa2e3130242d1d96bbc540
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
Enhance TLI detection of __size_returning_new lib funcs. (#102391)
Previously the return types of __size_returning_new variants were not
validated based on their members. This patch checks the members
manually, also generalizes the size_t checks to be based on the module
instead of being hardcoded.
As requested in followup comment on
https://github.com/llvm/llvm-project/pull/101564.
Commit: ad6558c334e5f6cd4b5c7e6d3ffe8d5158c540b0
https://github.com/llvm/llvm-project/commit/ad6558c334e5f6cd4b5c7e6d3ffe8d5158c540b0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Fix not correctly searching target builtins directories (#103311)
Summary:
Enabling `compiler-rt` only worked previously if we had it in the
default target. This is because we didn't extract the path carefully.
This patch fixes that by getting the correct path and appending it,
instead of just the project name.
Commit: 29e51f827bb61af23fb3de4c90a1fad1bb70a04a
https://github.com/llvm/llvm-project/commit/29e51f827bb61af23fb3de4c90a1fad1bb70a04a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
M libcxx/test/std/utilities/memory/unique.ptr/iterator_concept_conformance.compile.pass.cpp
R libcxx/test/std/utilities/memory/unique.ptr/noexcept_operator_star.compile.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.single.pass.cpp
Log Message:
-----------
[libc++] Simplify the implementation of LWG2762 (noexcept for unique_ptr) (#102032)
I had originally made some comments in https://reviews.llvm.org/D128214
that were followed when we implemented LWG2762. I don't understand why I
made these comments anymore, but either way it seems like I was wrong
since using `unique_ptr<void>::operator*` should be ill-formed. All
other implementations also make that ill-formed.
Commit: 7ec9fa03739db63b31d4d66e477afb964ddf690b
https://github.com/llvm/llvm-project/commit/7ec9fa03739db63b31d4d66e477afb964ddf690b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISel] Group the vector load/store legalizer actions together.
Commit: e80bc777749331e9519575f416c342f7626dd14d
https://github.com/llvm/llvm-project/commit/e80bc777749331e9519575f416c342f7626dd14d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx14Issues.csv
M libcxx/docs/Status/Cxx14Papers.csv
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Normalize how we track the meeting at which a paper of LWG issue was voted
This uses the same values as we use in the Github project that tracks
Standards conformance.
Commit: 29314b4b2720d6c14931832f3ca715981abed340
https://github.com/llvm/llvm-project/commit/29314b4b2720d6c14931832f3ca715981abed340
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
R llvm/unittests/Support/DynamicLibrary/DynamicLibraryTests.exports
Log Message:
-----------
Revert "[CMake] Fix DynamicLibraryTests exports symbol when plugins are enabled (#102941)"
This reverts commit a9604cd3212beb6cdb41a79f248723140ab9939d.
The export list in unit-tests will break sanitizer build since that
requires more symbols than listed in the export file.
Commit: 99c5615f5f1cae5368a2c10cd6482e7d6b3b4921
https://github.com/llvm/llvm-project/commit/99c5615f5f1cae5368a2c10cd6482e7d6b3b4921
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
Log Message:
-----------
[libc++][NFC] Add missing separators in status-tracking CSV files
Commit: 3bda18e48285d666d8b18e34605a1a0fd3636099
https://github.com/llvm/llvm-project/commit/3bda18e48285d666d8b18e34605a1a0fd3636099
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[libc++] Add status-tracking CSV file update to git-blame-ignore-revs
Commit: 6cd37eb5deb4400e16a7ce3760abe175a8476eff
https://github.com/llvm/llvm-project/commit/6cd37eb5deb4400e16a7ce3760abe175a8476eff
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] Fix `INFINITY` being defined as a double (#103445)
Summary:
If the implementation supports floating-point infinities, the macro
INFINITY expands to constant expression of type float which evaluates to
positive or unsigned infinity.
Currently this is a double, this makes it a float.
Commit: 101acff2e5df21378b5764660afc0ec84ce6a1a6
https://github.com/llvm/llvm-project/commit/101acff2e5df21378b5764660afc0ec84ce6a1a6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M libc/include/time.h.def
M libc/include/uchar.h.def
M libc/newhdrgen/yaml/time.yaml
M libc/newhdrgen/yaml/uchar.yaml
M libc/spec/stdc.td
Log Message:
-----------
[libc] Define 'size_t' in `time.h` and `uchar.h` (#103441)
Summary:
The standard says the following: The <time.h> header shall define the
clock_t, size_t, time_t, types as described in <sys/types.h>. I couldn't
find one for `uchar.h` but it needs it once we define things like
`mbrtoc8`.
Commit: ff12c0061b7dbb8a82681a0e02a513bb84b1d143
https://github.com/llvm/llvm-project/commit/ff12c0061b7dbb8a82681a0e02a513bb84b1d143
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M offload/include/device.h
M offload/src/PluginManager.cpp
M offload/src/interface.cpp
M offload/src/omptarget.cpp
M offload/src/private.h
A offload/test/offloading/ctor_dtor_api.cpp
A offload/test/offloading/ctor_dtor_lazy.cpp
Log Message:
-----------
[Offload] Ensure to load images when the device is used (#103002)
When we use the device, e.g., with an API that interacts with it, we
need to ensure the image is loaded and the constructors are executed.
Two tests are included to verify we 1) load images and run constructors
when needed, and 2) we do so lazily only if the device is actually used.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 5ae9faa538d100ab38f6f4f99c924de0e4270272
https://github.com/llvm/llvm-project/commit/5ae9faa538d100ab38f6f4f99c924de0e4270272
Author: Alastair Houghton <ahoughton at apple.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Object/RelocationResolver.cpp
Log Message:
-----------
[Object][x86-64] Add support for `R_X86_64_GLOB_DAT` relocations. (#103029)
Add support for `R_X86_64_GLOB_DAT` relocations to the relocation
resolver.
rdar://133510292
Commit: ac6e1fd0c089043fe60bd0040ba3cad884f00206
https://github.com/llvm/llvm-project/commit/ac6e1fd0c089043fe60bd0040ba3cad884f00206
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cast.ll
Log Message:
-----------
[RISCV][TTI] Cost non-power-of-two size changing casts (#101047)
For a cast with src and destination size being unequal, we were costing
the cast as if it were being scalarized, when in fact we can often
promote such cases to a wider legal type.
Note that for casts with equal size (i.e. bitcast, some fp<->i, and
ptrtoint) the generic logic in BasicTTI already assumed promotion. It
just doesn't handle the cast where source and destination are both
promoted to non-equal types.
This is analogous to d3fd28a, but with the same reasoning applied to
casts instead.
Commit: c4cba6aa3d3967ee1953161dc26b0c5d9465a0cc
https://github.com/llvm/llvm-project/commit/c4cba6aa3d3967ee1953161dc26b0c5d9465a0cc
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add support for tblgen-lsp-server (#103478)
Commit: 643a2080ec028bd7674206e0f97cbc7d0f132f99
https://github.com/llvm/llvm-project/commit/643a2080ec028bd7674206e0f97cbc7d0f132f99
Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/test/dfsan/custom.cpp
M compiler-rt/test/dfsan/flags.c
M compiler-rt/test/dfsan/fork.cpp
M compiler-rt/test/dfsan/origin_limit.c
M compiler-rt/test/msan/Linux/sendmsg.cpp
M compiler-rt/test/msan/chained_origin_empty_stack.cpp
M compiler-rt/test/msan/chained_origin_limits.cpp
M compiler-rt/test/msan/coverage-levels.cpp
M compiler-rt/test/msan/dtor-member.cpp
M compiler-rt/test/msan/fork.cpp
M compiler-rt/test/msan/interception_sigaction_test.cpp
M compiler-rt/test/msan/memcmp_test.cpp
M compiler-rt/test/msan/msan_check_mem_is_initialized.cpp
M compiler-rt/test/msan/poison_in_free.cpp
M compiler-rt/test/msan/print_stats.cpp
M compiler-rt/test/msan/recover-dso.cpp
M compiler-rt/test/msan/recover.cpp
M compiler-rt/test/msan/release_origin.c
M compiler-rt/test/msan/strcmp.c
M compiler-rt/test/msan/strndup.cpp
M compiler-rt/test/profile/Linux/instrprof-comdat.test
M compiler-rt/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cpp
M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp
M compiler-rt/test/xray/TestCases/Posix/arg1-arg0-logging.cpp
M compiler-rt/test/xray/TestCases/Posix/arg1-logger.cpp
M compiler-rt/test/xray/TestCases/Posix/arg1-logging-implicit-this.cpp
M compiler-rt/test/xray/TestCases/Posix/argv0-log-file-name.cpp
M compiler-rt/test/xray/TestCases/Posix/coverage-sample.cpp
M compiler-rt/test/xray/TestCases/Posix/fdr-reinit.cpp
M compiler-rt/test/xray/TestCases/Posix/fixedsize-logging.cpp
M compiler-rt/test/xray/TestCases/Posix/func-id-utils.cpp
M compiler-rt/test/xray/TestCases/Posix/optional-inmemory-log.cpp
M compiler-rt/test/xray/TestCases/Posix/patching-unpatching.cpp
M compiler-rt/test/xray/TestCases/Posix/pic_test.cpp
M compiler-rt/test/xray/TestCases/Posix/typed-event-logging.cpp
Log Message:
-----------
[llvm-lit] Fix error in compiler-rt tests when using lit internal shell with env (#102069)
When running tests in compiler-rt using the lit internal shell with the
following command:
```
LIT_USE_INTERNAL_SHELL=1 ninja check-compiler-rt
```
one common error that occurs is:
```
'XRAY_OPTIONS=patch_premain=false:verbosity=1': command not found
```
This error, along with over 50 similar "environment variable not found"
errors, appears across 35 files in complier-rt. These errors happen
because the environment variables are not being set correctly when the
internal shell is used, leading to commands failing due to unrecognized
environment variables.
This patch addresses the issue by using the `env` command to properly
set the environment variables before running the tests. By explicitly
setting the environment variables through `env`, the internal shell can
correctly interpret and apply them, allowing the tests to pass.
fixes: #102395
[link to
RFC](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)
Commit: 1b2d11de938af899c74eacc0218304576fe6052b
https://github.com/llvm/llvm-project/commit/1b2d11de938af899c74eacc0218304576fe6052b
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-08-13 (Tue, 13 Aug 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
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/normalize.hlsl
A clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/normalize.ll
A llvm/test/CodeGen/DirectX/normalize_error.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/normalize.ll
Log Message:
-----------
Add normalize builtins and normalize HLSL function to DirectX and SPIR-V backend (#102683)
This PR adds the normalize intrinsic and an HLSL function that uses it.
The SPIRV backend is also implemented.
Used https://github.com/llvm/llvm-project/pull/101256 as a reference,
along with https://github.com/llvm/llvm-project/pull/102243
Fixes https://github.com/llvm/llvm-project/issues/99139
Commit: 2596464dcd7563cb4f54ef794334fa87438cc324
https://github.com/llvm/llvm-project/commit/2596464dcd7563cb4f54ef794334fa87438cc324
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
Log Message:
-----------
[CMake] Re-land #102671 after the flaky test is disabled
Reland #102671 after the other attempted fixes are all flawed in some
build configurations. The previous try for the same commit was breaking
a flaky tests under ASAN which is not marked as unsupported. This fix
should be good to go now.
Fixes AIX bot for DynamicLibraryTests failure.
Commit: bde4ffe7521421cfa891c7d6e526566920326b3f
https://github.com/llvm/llvm-project/commit/bde4ffe7521421cfa891c7d6e526566920326b3f
Author: David Benjamin <davidben at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerDictionary.h
M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
Log Message:
-----------
Don't pass null pointers to memcmp and memcpy in libFuzzer (#96775)
In C, it is UB to call `memcmp(NULL, NULL, 0)`, `memcpy(NULL, NULL, 0)`,
etc. Unfortunately, `(NULL, 0)` is the natural representation of an
empty sequence of objects and extremely common in real world code. As a
result, all C code, and C++ code which calls into C functions, must
carefully guard all calls to `memcpy`.
This is a serious, real world usability issue in C and should be fixed
in the language (see #49459). In the meantime, pay the cost of the extra
branch to avoid tripping UBSan in libFuzzer. Once the usability problem
in C has been fixed, these checks can be removed.
Fixes #96772
Commit: 914a846e2979dc33f41e747b9b8d726424b4d92f
https://github.com/llvm/llvm-project/commit/914a846e2979dc33f41e747b9b8d726424b4d92f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISel] Don't custom legalize load/store of vector of pointers if ELEN < XLEN. (#101565)
We need to have elements than can hold a pointer sized element.
No test because it crashes in LowerLoad or LowerStore now which
needs to be addressed separately.
I also reordered things so all the vector load/store stuff is together.
Commit: b719ab4eef634f24605ca7ccd4874338c34e05bd
https://github.com/llvm/llvm-project/commit/b719ab4eef634f24605ca7ccd4874338c34e05bd
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
R mlir/include/mlir/Dialect/SPIRV/IR/SPIRVJointMatrixOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
R mlir/lib/Dialect/SPIRV/IR/JointMatrixOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
R mlir/test/Dialect/SPIRV/IR/joint-matrix-ops.mlir
R mlir/test/Target/SPIRV/joint-matrix-ops.mlir
Log Message:
-----------
[mlir][spirv] Drop support for SPV_INTEL_joint_matrix (#102332)
This was a "preview" extension, never formalized, that has now been
supplanted by SPV_KHR_cooperative_matrix.
Commit: 5bb379f6f0ed17873a2f500361921f98c112108a
https://github.com/llvm/llvm-project/commit/5bb379f6f0ed17873a2f500361921f98c112108a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
Log Message:
-----------
[flang][cuda] Fix allocation of descriptor for cray pointer (#103474)
The cray pointee descriptor with device attribute was not allocated with
cuf.alloc so it leads to error on deallocation with cuf.free.
Commit: 9487cf97e31bb9fac14394913b64c60ae60f5e41
https://github.com/llvm/llvm-project/commit/9487cf97e31bb9fac14394913b64c60ae60f5e41
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Support/Parallel.cpp
Log Message:
-----------
[Support] Restrict ManagedStatic ThreadPoolExecutor to Windows
https://reviews.llvm.org/D70447 switched to `ManagedStatic` to work
around race conditions in MSVC runtimes and the MinGW runtime.
However, `ManagedStatic` is not suitable for other platforms.
However, this workaround is not suitable for other platforms (#66974).
lld::fatal calls exitLld(1), which calls `llvm_shutdown` to destroy
`ManagedStatic` objects. The worker threads will finish and invoke TLS
destructors (glibc `__call_tls_dtors`). This can lead to race conditions
if other threads attempt to access TLS objects that have already been
destroyed.
While lld's early exit mechanism needs more work, I believe Parallel.cpp
should avoid this pitfall as well.
Pull Request: https://github.com/llvm/llvm-project/pull/102989
Commit: a3cba6b5db1b0918923240f46dcd6279a7b4421d
https://github.com/llvm/llvm-project/commit/a3cba6b5db1b0918923240f46dcd6279a7b4421d
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Support/Parallel.cpp
Log Message:
-----------
[Support] ThreadPoolExecutor: remove unused default argument
Commit: 16e22a6d49ee148b426cb4285aa479b327f3b0f7
https://github.com/llvm/llvm-project/commit/16e22a6d49ee148b426cb4285aa479b327f3b0f7
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/unittests/Transforms/Instrumentation/PGOInstrumentationTest.cpp
Log Message:
-----------
Remove unused using decl and var in PGOInstrumentationTest (#103447)
Commit: 5e231ffe2907396e7af9b9fcfd78e5a6cc4420d3
https://github.com/llvm/llvm-project/commit/5e231ffe2907396e7af9b9fcfd78e5a6cc4420d3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
Log Message:
-----------
[PowerPC] Use APInt::getZExtValue() instead of getRawData(). NFC
Commit: e9f6deaa8fd8ca3247c79f962aed335ada99cd66
https://github.com/llvm/llvm-project/commit/e9f6deaa8fd8ca3247c79f962aed335ada99cd66
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-irpc.s
Log Message:
-----------
[MCAsmParser] .irpc: correctly handle quoted string
The quotes should be stripped.
Improve the test to check all of Identifier, Integer, and String.
GNU assembler also supports `.irpc c,"" a` but there is no real world
use case. So don't implement it.
Commit: 4f5d866af7fed0de1671a68530d3023e9762b71e
https://github.com/llvm/llvm-project/commit/4f5d866af7fed0de1671a68530d3023e9762b71e
Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M bolt/test/permission.test
Log Message:
-----------
[llvm-lit] Add REQUIRES: shell to BOLT permission test for lit internal shell (#103012)
This patch adds the `REQUIRES: shell` directive to the BOLT permission
test to ensure it only runs in environments with a full-featured
Unix-like shell. This change is necessary because the test relies on
advanced shell capabilities that are not supported by lit's internal
shell.
**Reasoning:** The BOLT permission test uses features like running
commands in the background with `&`, performing arithmetic operations,
and handling special number formats (octal). These features require a
more capable shell than what lit's internal shell provides. Without a
proper shell, the test could fail or behave unpredictably.
This change is relevant for enabling the lit internal shell by default,
as outlined in [[RFC] Enabling the Lit Internal Shell by
Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)
Commit: b8f560fe24e88fbdf3b07d0790950a5c6b836a52
https://github.com/llvm/llvm-project/commit/b8f560fe24e88fbdf3b07d0790950a5c6b836a52
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
Log Message:
-----------
[LegalizeTypes] Use APFloat::getZero instead of passing a zero APInt to APFloat constructor. NFC (#103492)
Commit: b73771cf0fc49675ee850d197a6e56a0e8b90cae
https://github.com/llvm/llvm-project/commit/b73771cf0fc49675ee850d197a6e56a0e8b90cae
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/scatter-cost.ll
Log Message:
-----------
[AArch64] Increase scatter overhead on Neoverse-V2 (#101296)
This patch increases scatter overhead on Neoverse-V2 to 13. This
benefits s128 kernel from TSVC_2 test suite.
SPEC 17, RAJAPerf, and Sptter are unaffected by this patch.
This patch boosts s128 kernel's performance from TSVC test suite by about
40% as this enables vectorization. Also, handle minor code refactoring
for gather related part.
Commit: e8f312de78577e14154c10db0cb71147c182b69a
https://github.com/llvm/llvm-project/commit/e8f312de78577e14154c10db0cb71147c182b69a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86Subtarget.cpp
Log Message:
-----------
[X86] Use a range-based for loop (NFC) (#103519)
Commit: 7f1f3afd37d7c32f27af3f756080ea916c970902
https://github.com/llvm/llvm-project/commit/7f1f3afd37d7c32f27af3f756080ea916c970902
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt] Use APINT_BITS_PER_WORD instead of recomputing it. NFC
Commit: 13cc94e30e03d3fbae78d4fb3a80ca2d40ea12ef
https://github.com/llvm/llvm-project/commit/13cc94e30e03d3fbae78d4fb3a80ca2d40ea12ef
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/Inputs/verify_split_dwarf_debug_names_exe.yaml
A llvm/test/tools/llvm-dwarfdump/Inputs/verify_split_dwarf_debug_names_main_dwo.yaml
M llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-entries.s
A llvm/test/tools/llvm-dwarfdump/verify_split_dwarf_debug_names.test
Log Message:
-----------
Add support for verifying .debug_names in split DWARF for CUs and TUs. (#101775)
This patch fixes .debug_names verification for split DWARF with no type
units. It will print out an error for any name entries where we can't
locate the .dwo file. It finds the non skeleton unit and correctly
figures out the DIE offset in the .dwo file. If the non skeleton unit is
found and yet the skeleton unit has a DWO ID, an error will be emitted
showing we couldn't access the non-skeleton compile unit.
Commit: 0160d817c2c1bd3f32986d9cf8b938e613ac3d12
https://github.com/llvm/llvm-project/commit/0160d817c2c1bd3f32986d9cf8b938e613ac3d12
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M openmp/runtime/cmake/LibompDefinitions.cmake
M openmp/runtime/cmake/config-ix.cmake
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP] Rename worker threads for improved debuggability (#102065)
Rename the worker threads "openmp_worker"
---------
Co-authored-by: h2h <h2h at meta.com>
Co-authored-by: Matthias Braun <matze at braunis.de>
Commit: 74c5fa12a8417d12d9c811255ab2b81f98f87e39
https://github.com/llvm/llvm-project/commit/74c5fa12a8417d12d9c811255ab2b81f98f87e39
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Log Message:
-----------
[Bitcode] Use range-based for loops (NFC) (#103628)
Commit: 1c0ad07ccd643141852bd534d8828843f352f5e8
https://github.com/llvm/llvm-project/commit/1c0ad07ccd643141852bd534d8828843f352f5e8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
Log Message:
-----------
[LegalizeTypes] Use APInt::extractBits instead of getRawData. NFC (#103607)
We shouldn't expose that APInt stores uint64_t values if we don't need
to.
Commit: 109b50808f72c228518766c3b384dd14e0dcf4ee
https://github.com/llvm/llvm-project/commit/109b50808f72c228518766c3b384dd14e0dcf4ee
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
Log Message:
-----------
AtomicExpand: Add assert that atomicrmw is an xchg
It turns out it's trivial to hit this path with any rmw
operation.
Commit: 829992cf21e9220bbf7985073745ee8f09b0b7f1
https://github.com/llvm/llvm-project/commit/829992cf21e9220bbf7985073745ee8f09b0b7f1
Author: ManuelJBrito <59119670+ManuelJBrito at users.noreply.github.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
A llvm/test/Transforms/NewGVN/pr36335-phi-undef.ll
M llvm/test/Transforms/NewGVN/simp-to-self.ll
R llvm/test/Transforms/NewGVN/todo-pr36335-phi-undef.ll
Log Message:
-----------
[NewGVN] Prevent cyclic dependencies by ensuring Leader has min RPO number (#82110)
Cyclic dependencies in NewGVN can result in miscompilation and
termination issues.
This patch ensures that the Class Leader is always the member with the
lowest RPO number. This ensures that the Class Leader is processed
before all other members, making the cyclic dependence impossible.
This fixes #35683.
Regressions:
- 'simp-to-self.ll' regresses due to a known limitation in the way
NewGVN and InstSimplify interact. With the new leader, InstSimplify does
not know that %conv is 1 and fails to simplify.
Commit: f1cb64b6f07184a3624ebb77f3f0e0bddafea1a4
https://github.com/llvm/llvm-project/commit/f1cb64b6f07184a3624ebb77f3f0e0bddafea1a4
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/Object/ModuleSymbolTable.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[MC] Remove Darwin SDK/Version from ObjFileInfo (#103025)
There's only a single user (MCMachOStreamer), so it makes more sense to
move the version emission to the source of the data.
Commit: cbd306806ad4b518e664f122838e45d709db0ef6
https://github.com/llvm/llvm-project/commit/cbd306806ad4b518e664f122838e45d709db0ef6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt] Correct backwards static_assert condition. (#103641)
In order to guarantee that extracting 64 bits doesn't require more than
2 words, the word size would need to be 64 bits or more. If the word
size was smaller than 64, like 32, you may need to read 3 words to get
64 bits.
Commit: 812ae91d545811d8800a6e1db5f3ff45afde6ab9
https://github.com/llvm/llvm-project/commit/812ae91d545811d8800a6e1db5f3ff45afde6ab9
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/include/experimental/__simd/reference.h
A libcxx/test/std/experimental/simd/simd.reference/reference_unary.pass.cpp
Log Message:
-----------
[libc++] <experimental/simd> Add ++/-- operators for simd reference (#88091)
Commit: 241f9e7492dae1920778ef4fe72db6073b6275b1
https://github.com/llvm/llvm-project/commit/241f9e7492dae1920778ef4fe72db6073b6275b1
Author: Tim Besard <tim.besard at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm-c/Transforms/PassBuilder.h
M llvm/lib/Passes/PassBuilderBindings.cpp
M llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp
Log Message:
-----------
[LLVM][NewPM] Add a C API for setting the PassBuilder AA pipeline. (#102482)
This PR adds a field to the pass builder options struct, `AAPipeline`,
exposed through a C API `LLVMPassBuilderOptionsSetAAPipeline`, that is
used to set an alias analysis pipeline to be used in stead of the
default one.
x-ref https://discourse.llvm.org/t/newpm-c-api-questions/80598
Commit: 6da3361f504495cef71caa4de4297234b6ea7fc7
https://github.com/llvm/llvm-project/commit/6da3361f504495cef71caa4de4297234b6ea7fc7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[SCEV] Look through multiply in computeConstantDifference() (#103051)
Inside computeConstantDifference(), handle the case where both sides are
of the form `C * %x`, in which case we can strip off the common
multiplication (as long as we remember to multiply by it for the
following difference calculation).
There is an obvious alternative implementation here, which would be to
directly decompose multiplies inside the "Multiplicity" accumulation.
This does work, but I've found this to be both significantly slower
(because everything has to work on APInt) and more complex in
implementation (e.g. because we now need to match back the new More/Less
with an arbitrary factor) without providing more power in practice. As
such, I went for the simpler variant here.
This is the last step to make computeConstantDifference() sufficiently
powerful to replace existing uses of
`cast<SCEVConstant>(getMinusSCEV())` with it.
Commit: ce8cb7c389460ef7fa56b521742a58ead647fda6
https://github.com/llvm/llvm-project/commit/ce8cb7c389460ef7fa56b521742a58ead647fda6
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
Log Message:
-----------
[Analysis][NFC] Don't use BitVector for nobuiltin overrides
Avoid one heap allocation per function per constructed TLI. The
BitVector is never resized, so a bitset is sufficient.
Pull Request: https://github.com/llvm/llvm-project/pull/103411
Commit: dfa488baa2fad165e353ef54fde863a39f093333
https://github.com/llvm/llvm-project/commit/dfa488baa2fad165e353ef54fde863a39f093333
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/Module.h
M llvm/lib/IR/Module.cpp
Log Message:
-----------
[IR] Cache llvm.module.flags metadata in Module
This metadata is queried quite often, so avoiding frequent lookups in
the hash map is beneficial. Therefore, cache the metadata node directly
in the module.
Pull Request: https://github.com/llvm/llvm-project/pull/103410
Commit: fa658ac7913408d5ec248193d531ba63f6fbe73d
https://github.com/llvm/llvm-project/commit/fa658ac7913408d5ec248193d531ba63f6fbe73d
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/lib/Transforms/IPO/LoopExtractor.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
Log Message:
-----------
[Transforms][NFC] Remove second CodeExtractor constructor
This only has a single use and is equally well served by the existing
constructor -- blocks of a loop are already an array.
Pull Request: https://github.com/llvm/llvm-project/pull/103399
Commit: 8eadf21004ecfa78fa3c6da385c5b2f2f44458fa
https://github.com/llvm/llvm-project/commit/8eadf21004ecfa78fa3c6da385c5b2f2f44458fa
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
Log Message:
-----------
[DataLayout] Split StructAlignment into two fields (NFC) (#103700)
Aggregate type specification doesn't have the size component.
Don't abuse LayoutAlignElem to avoid confusion.
Commit: 3cab7c555ad6451f2b1b4dc918a4b4f4e4a3e45d
https://github.com/llvm/llvm-project/commit/3cab7c555ad6451f2b1b4dc918a4b4f4e4a3e45d
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/logf128.ll
Log Message:
-----------
Reland logf128 constant folding (#103217)
This is a reland of #96287. This change makes tests in logf128.ll ignore
the sign of NaNs for negative value tests and moves an #include <cmath>
to be blocked behind #ifndef _GLIBCXX_MATH_H.
Commit: 13008aa45d406a65ee7adfc7672a038e4def1ad3
https://github.com/llvm/llvm-project/commit/13008aa45d406a65ee7adfc7672a038e4def1ad3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Diagnose pointer subtraction on zero-size arrays (#103015)
Commit: 5ab99bf1a757c5ad7115280f374d9af4f1b98bc9
https://github.com/llvm/llvm-project/commit/5ab99bf1a757c5ad7115280f374d9af4f1b98bc9
Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
R llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR3.td
A llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
R llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR3-ALU.s
R llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR3-LSU.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR3_4_5-ALU.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR3_4_5-LSU.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR4_5-FPU.s
Log Message:
-----------
[RISCV] Add scheduling model for Syntacore SCR4 and SCR5 (#102909)
Syntacore SCR4 is a microcontroller-class processor core that has much
in common with SCR3, but also supports F and D extensions.
Overview: https://syntacore.com/products/scr4
Syntacore SCR5 is an entry-level Linux-capable 32/64-bit RISC-V
processor core which scheduling model almost match SCR4.
Overview: https://syntacore.com/products/scr5
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Anton Afanasyev <anton.afanasyev at syntacore.com>
Commit: 0d074ba197166b4f00cc3b1b1011625eb7be0a53
https://github.com/llvm/llvm-project/commit/0d074ba197166b4f00cc3b1b1011625eb7be0a53
Author: hanbeom <kese111 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-select-to-max-usat.ll
Log Message:
-----------
[DAG] Support saturated truncate (#99418)
A truncate is considered saturated if no additional conversion is required between the target and return values. If the target is saturated when attempting to truncate from a vector, there is an opportunity to optimize it.
Previously, each architecture had its own attempt at optimization, leading to redundant code. This patch implements common logic by introducing three new ISDs:
`ISD::TRUNCATE_SSAT_S`: When the operand is a signed value and the range of values matches the range of signed values of the destination type.
`ISD::TRUNCATE_SSAT_U`: When the operand is a signed value and the range of values matches the range of unsigned values of the destination type.
`ISD::TRUNCATE_USAT_U`: When the operand is an unsigned value and the range of values matches the range of unsigned values of the destination type.
These ISDs indicate a saturated truncate.
Fixes https://github.com/llvm/llvm-project/issues/85903
Commit: b8b82756cb6a8ee71ef1d8f76542458bffdc1538
https://github.com/llvm/llvm-project/commit/b8b82756cb6a8ee71ef1d8f76542458bffdc1538
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP][Lower] Clause lowering cleanup (#103058)
This patch removes the `ClauseProcessor::processDefault` method due to
it having been implemented in
`DataSharingProcessor::collectDefaultSymbols` instead.
Also, some `genXyzClauses` functions are updated to avoid triggering
TODO errors for clauses not supported by the corresponding construct and
to keep alphabetical sorting on the order in which clauses are
processed.
Commit: 1360b9d4129ba34e971e6642deb0aaf4d51f43a2
https://github.com/llvm/llvm-project/commit/1360b9d4129ba34e971e6642deb0aaf4d51f43a2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
Log Message:
-----------
[LV] Add test for diff check creation order.
Add a test where diff checks are generated initial and then re-generated
when re-trying with runtime checks.
At the moment, the order doesn't match the order they are created in, as
the DiffChecks field in LAI isn't cleared as other fields holding
runtime checks.
Commit: 31f593eb958e2076b98f62e6f2ec24ad8737cd4d
https://github.com/llvm/llvm-project/commit/31f593eb958e2076b98f62e6f2ec24ad8737cd4d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
Log Message:
-----------
[LAA] Also clear DiffChecks in LAI::reset().
DiffChecks will get populated twice when re-trying with runtime checks.
Without clearing it like the regular Checks vector, it will contain some
duplicates and the order the checks are created may not match the order
the checks have been queued when re-trying.
Commit: c4206f1ff1d946c495b74738eba9303dafb17e18
https://github.com/llvm/llvm-project/commit/c4206f1ff1d946c495b74738eba9303dafb17e18
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtin-cpu-supports.c
M compiler-rt/lib/builtins/cpu_model/riscv.c
Log Message:
-----------
[RISCV][compiler-rt] Update __init_riscv_feature_bits prototype (#101472)
This patch add `void* PlatformArgs` parameter to
`__init_riscv_feature_bits`. `PlatformArgs` allows the platform to
provide pre-computed data and access it without extra effort. For
example, Linux could pass the vDSO object to avoid an extra system call.
```
__init_riscv_feature_bits()
->
__init_riscv_feature_bits(void *PlatformArgs)
```
Commit: 2fc7a72733762d685a07f846b44dc17a0585098e
https://github.com/llvm/llvm-project/commit/2fc7a72733762d685a07f846b44dc17a0585098e
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
A llvm/test/CodeGen/SPIRV/transcoding/OpGroupBroadcast.ll
M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
Log Message:
-----------
[SPIR-V] Add implementation of the non-const G_BUILD_VECTOR and fix emission of the OpGroupBroadcast instruction (#103050)
This PR addresses a TODO in
lib/Target/SPIRV/SPIRVInstructionSelector.cpp by adding implementation
of the non-const G_BUILD_VECTOR, and fix emission of the
OpGroupBroadcast instruction for the case when the `..._group_broadcast`
builtin has more than one `local_id` argument and `OpGroupBroadcast`
requires a newly constructed vector with 2 or 3 components instead of
originally passed series of `local_id` arguments.
This PR may resolve https://github.com/llvm/llvm-project/issues/97310 if
the reason for the reported fail is an incorrectly generated
OpGroupBroadcast instruction that was definitely a case.
Existing test is hardened and a new test is added to cover this special
case of the OpGroupBroadcast instruction emission.
Commit: 8bf298fa95bb23081e9e2507bfb31b017c01be15
https://github.com/llvm/llvm-project/commit/8bf298fa95bb23081e9e2507bfb31b017c01be15
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/riscv.c
Log Message:
-----------
[RISCV][compiler-rt] create __riscv__cpu_model for vendorID, ArchID, … (#101449)
…ImplID
This patch
1. remove the vendorId from `__riscv_vendor_feature_bits`
2. Define a new structure for vendorID, ArchID and ImplID
3. Update the relate init code
Commit: 6300233de166f46c5bf9cd13f4a3aa82b26c0ddd
https://github.com/llvm/llvm-project/commit/6300233de166f46c5bf9cd13f4a3aa82b26c0ddd
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/logf128.ll
Log Message:
-----------
Revert "Reland logf128 constant folding (#103217)"
This reverts commit 3cab7c555ad6451f2b1b4dc918a4b4f4e4a3e45d.
The modified test fails on ppc64le buildbots.
Commit: 228753290b7426bf3eda7c4397aa74f0c67d07d7
https://github.com/llvm/llvm-project/commit/228753290b7426bf3eda7c4397aa74f0c67d07d7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
Log Message:
-----------
[BasicAA] Remove unused variables (NFC)
Split out from #98608.
Commit: 9c7c3f94ef5fe178df569eccb35d636a30f89c02
https://github.com/llvm/llvm-project/commit/9c7c3f94ef5fe178df569eccb35d636a30f89c02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
A llvm/test/Analysis/BasicAA/issue103500.ll
Log Message:
-----------
BasicAA: Fix assert when indexing address spaces with different sizes (#103713)
Fixes #103500
Commit: 9e318bac5b26245c7be7c007975b7589cfcfd8d3
https://github.com/llvm/llvm-project/commit/9e318bac5b26245c7be7c007975b7589cfcfd8d3
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
Log Message:
-----------
[LLVM] Regenerate some test outputs for llvm/test/Transforms/LoopVectorize.
Commit: 6de04e6fe8b1520ef3e4073ff222e623b7dc9cb9
https://github.com/llvm/llvm-project/commit/6de04e6fe8b1520ef3e4073ff222e623b7dc9cb9
Author: Dennis Filimonov <dennis.filimonov at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Bufferization/Transforms/OptimizeAllocationLiveness.cpp
A mlir/test/Dialect/Bufferization/Transforms/optimize-allocation-liveness.mlir
Log Message:
-----------
[mlir][bufferization] Adding the optimize-allocation-liveness pass (#101827)
Adding a pass that is expected to run after the deallocation pipeline
and will move buffer deallocations right after their last user or
dependency, thus optimizing the allocation liveness.
Commit: 6cf3e7d06706fe79e87d1816c92b074416b5f8f8
https://github.com/llvm/llvm-project/commit/6cf3e7d06706fe79e87d1816c92b074416b5f8f8
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/Module.cpp
M llvm/unittests/Analysis/ValueLatticeTest.cpp
M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
M llvm/unittests/IR/VectorTypesTest.cpp
Log Message:
-----------
[DataLayout] Use member initialization (NFC) (#103712)
This also adds a default constructor and a few uses of it.
Commit: 98119718603c6e623b34e3d2160b65b26d9bfcdc
https://github.com/llvm/llvm-project/commit/98119718603c6e623b34e3d2160b65b26d9bfcdc
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[GitHub] Run format job on stacked PRs (#102957)
Currently the formatter only runs for the main branch, which prevents
the formatter from running for stacked PRs, which have to target user
branches instead of main.
Commit: f53e3550632d786ccc41388455436e813221feb3
https://github.com/llvm/llvm-project/commit/f53e3550632d786ccc41388455436e813221feb3
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libc/newhdrgen/yaml/math.yaml
Log Message:
-----------
[libc] Add definitions for totalordermag(,f, l, f128), dsqrt(l, f128), fsqrt(, l, f128) to math.yaml. (#103494)
Added auto function hdrgen specification for functions: totalordermag(,f, l, f128), dsqrt(l, f128), fsqrt(, l, f128)
Commit: df57833ea8a3f527b7941576b4a130ddd4361e61
https://github.com/llvm/llvm-project/commit/df57833ea8a3f527b7941576b4a130ddd4361e61
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
R llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
R llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
Log Message:
-----------
[AMDGPU] Generate checks for llvm.amdgcn.is.private/shared (#103859)
Also combine the GlobalISel tests into the SelectionDAG ones.
Commit: b72ac6f97a5335e79659711d49db8f2694c02a0e
https://github.com/llvm/llvm-project/commit/b72ac6f97a5335e79659711d49db8f2694c02a0e
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M mlir/include/mlir/IR/Matchers.h
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Transforms/loop-invariant-code-motion.mlir
Log Message:
-----------
[MLIR] Let matchers work on int ranges (#102494)
This commit adds three matchers that unlike the m_NonZero matcher
not only match constants, but also operations that implement the
InferIntRangeInterface. These matchers can then match a non-zero value
or a value that is not minus one based on the inferred range. Additionally,
the commit uses the new matchers in the getSpeculatability functions of
Arith's signed and unsigned integer divisions. At the moment, the
matchers only look at the defining operation to avoid expensive IR walks.
This range based matchers can be useful when hoisting divisions out of
a loop, which requires knowing the divisor is non-zero and not minus one
for signed divisions. Just checking for a constant divisor may not be
sufficient, if the divisor is, for example, the result of an operation that
returns the number of threads of a team of threads.
Commit: 618366546d37a47d907226fca0e3d54e18938497
https://github.com/llvm/llvm-project/commit/618366546d37a47d907226fca0e3d54e18938497
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - fold extractions from UNPCK nodes.
Allow subvector extraction as long as at least one operand extraction is free.
Refactor existing cases into a switch statement to allow easier reuse + future expansion.
Commit: 503ba6262ed4c5d93c61392604c98cd9b3ae0e6c
https://github.com/llvm/llvm-project/commit/503ba6262ed4c5d93c61392604c98cd9b3ae0e6c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - fold extractions from BLENDI nodes.
Commit: b006007e4a22ae5cd8660c3f3fd645d1b67a6ca7
https://github.com/llvm/llvm-project/commit/b006007e4a22ae5cd8660c3f3fd645d1b67a6ca7
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[NFC][VP] Reduce parameters in `LoopVectorizePass::runImpl` (#103551)
It seems that the parameters can be passed through the class members.
Commit: 5ececb4745a37f7b3dfade12e44e95c6b5e3c5bf
https://github.com/llvm/llvm-project/commit/5ececb4745a37f7b3dfade12e44e95c6b5e3c5bf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
Log Message:
-----------
LowerAtomic: Use explicit alignment in lowerAtomicCmpXchgInst (#103767)
Commit: 340be6cb792833b619bf260d6d1f20336008d588
https://github.com/llvm/llvm-project/commit/340be6cb792833b619bf260d6d1f20336008d588
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
R clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
R clang/test/Analysis/malloc-overflow.c
R clang/test/Analysis/malloc-overflow.cpp
R clang/test/Analysis/malloc-overflow2.c
M clang/www/analyzer/potential_checkers.html
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[analyzer] Delete `alpha.security.MallocOverflow` (#103059)
...because it is too noisy to be useful right now, and its architecture
is terrible, so it can't act a starting point of future development.
The main problem with this checker is that it tries to do (or at least
fake) path-sensitive analysis without actually using the established
path-sensitive analysis engine.
Instead of actually tracking the symbolic values and the known
constraints on them, this checker blindly gropes the AST and uses
heuristics like "this variable was seen in a comparison operator
expression that is not a loop condition, so it's probably not too large"
(which was improved in a separate commit to at least ignore comparison
operators that appear after the actual `malloc()` call).
This might have been acceptable in 2011 (when this checker was added),
but since then we developed a significantly better standard approach for
analysis and this old relic doesn't deserve to remain in the codebase.
Needless to say, this primitive approach causes lots of false positives
(and presumably false negatives as well), which ensures that this alpha
checker won't be missed by the users.
Moreover, the goals of this checker would be questionable even if it had
a perfect implementation. It's very aggressive to assume that the
argument of malloc can overflow by default (unless the checker sees a
bounds check); and this produces too many false positives -- perhaps
even for an optin checker. It may be possible to eventually create a
useful (and properly path-sensitive) optin checker for these kinds of
suspicious code, but this is a very low priority goal.
Also note that we already have `alpha.security.TaintedAlloc` which
provides more practical heuristics for detecting somewhat similar
"argument of malloc may be too large" vulnerabilities.
Commit: 3f0d3fd3dea659330025712ea7fa914fd6af038b
https://github.com/llvm/llvm-project/commit/3f0d3fd3dea659330025712ea7fa914fd6af038b
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
Log Message:
-----------
[clang][test][RISCV] Add simple litmus test for --print-enabled-extensions
There's some coverage in RISCVISAInfoTest, but it's worth adding a quick
test to ensure nothing happens to the frontend handling of this option.
Commit: 66bd5d79891ddb8bf0d31d78c4973f6d20dcb571
https://github.com/llvm/llvm-project/commit/66bd5d79891ddb8bf0d31d78c4973f6d20dcb571
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Interpreter/delayed-template-parsing-pch.cpp
Log Message:
-----------
[clang-repl] Fix PCH with delayed template parsing (#103028)
When instantiating a delayed template, the recorded token stream is
passed to `Parser::ParseLateTemplatedFuncDef` which will append the
current token "so it doesn't get lost". With incremental extensions
enabled, this is `repl_input_end` which subsequently needs support for
(de)serialization.
Commit: 0edd07770f7b6bd8120f52d80db6ef1a1f66e519
https://github.com/llvm/llvm-project/commit/0edd07770f7b6bd8120f52d80db6ef1a1f66e519
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
Log Message:
-----------
AMDGPU: Preserve alignment when custom expanding atomicrmw (#103768)
Commit: 3efcc8ec7d7e3ed3c7a4bc3ca4bb4ba66adc7e2b
https://github.com/llvm/llvm-project/commit/3efcc8ec7d7e3ed3c7a4bc3ca4bb4ba66adc7e2b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Add test where diff checks not used when re-trying with RT checks.
Commit: 91e602f3a97faf4d78650ed9e67b781df2459e1d
https://github.com/llvm/llvm-project/commit/91e602f3a97faf4d78650ed9e67b781df2459e1d
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[clang][NFC] sort C standards on status page in reverse chronological order (#102844)
Put the newest standards first, same as for the [C++ status
page](https://clang.llvm.org/cxx_status.html).
The diff is pretty busted, but I swear I copy & pasted faithfully 😅
The only change beyond shuffling sections around is unfolding the
sections for C99/C11 (6dbce28763153ca20138b139b9455056f173ee22), which
isn't necessary anymore now that they're safely tucked away towards the
end of the page.
Commit: 486adc500c8ecb855936830e380ea2d3c3bfb137
https://github.com/llvm/llvm-project/commit/486adc500c8ecb855936830e380ea2d3c3bfb137
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Interp/Compiler.cpp
R clang/lib/AST/Interp/CompilerComplex.cpp
Log Message:
-----------
Revert "[clang][Interp][NFC] Move _Complex compiler code to separate file (#103004)"
This reverts commit 2d53f0aab7851b09e8773eb1ca8bd1aa85d20d4b.
This causes warnings when building with MSVC.
Commit: cba9166c0fca5f6c992c85a663019d58332d78e0
https://github.com/llvm/llvm-project/commit/cba9166c0fca5f6c992c85a663019d58332d78e0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[gn build] Port 486adc500c8e
Commit: 1f995b55347bb76a4251fa6727ceb83b6a4ddf56
https://github.com/llvm/llvm-project/commit/1f995b55347bb76a4251fa6727ceb83b6a4ddf56
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
Log Message:
-----------
[M68k] Remove use of APInt::getRawData(). NFC (#103529)
getRawData exposes some internal details of APInt.
The code was iterating over the uint64_t pieces and then iterating
breaking them into 4 uint16_t pieces.
This patch changes the code to extract 16-bit pieces directly from the
APInt without using getRawData.
Commit: 5e990b0b7f4cf60e6b700ba4f7c76005c0d53086
https://github.com/llvm/llvm-project/commit/5e990b0b7f4cf60e6b700ba4f7c76005c0d53086
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalMerge.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/test/CodeGen/PowerPC/merge-private.ll
Log Message:
-----------
[PowerPC][GlobalMerge] Reduce TOC usage by merging internal and private global data (#101224)
This patch aims to reduce TOC usage by merging internal and private
global data.
Moreover, we also add the GlobalMerge pass within the PPCTargetMachine
pipeline, which is disabled by default. This transformation can be
enabled by -ppc-global-merge.
Commit: 8320b97ab9f25d726379832342f3d5d48962368d
https://github.com/llvm/llvm-project/commit/8320b97ab9f25d726379832342f3d5d48962368d
Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
Log Message:
-----------
[InstCombine] Fold an unsigned comparison of `add nsw X, C` with a constant into a signed comparison (#103480)
Given an unsigned integer comparison of `add nsw X, C1` with some
constant `C2` we can fold it into a signed comparison of `X` and `C2 -
C1` under the following conditions:
* There's a `nsw` flag on the addition
* `C2` is non-negative
* `X + C1` is non-negative
* `C2 - C1` is non-negative
Commit: 019ef522756886caa258daf68d877f84abc1b878
https://github.com/llvm/llvm-project/commit/019ef522756886caa258daf68d877f84abc1b878
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
Log Message:
-----------
[clang][AArch64] Point the nofp ABI check diagnostics at the callee (#103392)
... whereever we have the Decl for it, and even when we don't keep the
SourceLocation of it aimed at the call site.
Fixes: #102983
Commit: 80c5ccd867ebfaabaaf330c90d79cc45ae003647
https://github.com/llvm/llvm-project/commit/80c5ccd867ebfaabaaf330c90d79cc45ae003647
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libc/newhdrgen/yaml/math.yaml
M libc/spec/stdc.td
Log Message:
-----------
[libc][math] Fix missing const in hdrgen signatures for totalordermag* (#103935)
Commit: d9b9ae6ba9d85114c61878b783d4eac816fd06a6
https://github.com/llvm/llvm-project/commit/d9b9ae6ba9d85114c61878b783d4eac816fd06a6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use transform nodes before building external uses, NFC.
In preparing for the future upcoming patches, just moving the call to
the proper place, which is NFC for now.
Commit: 5ce326ccb1f4326e643682a701417b481fe343cd
https://github.com/llvm/llvm-project/commit/5ce326ccb1f4326e643682a701417b481fe343cd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[SelectionDAG] Construct SmallVector with ArrayRef (NFC) (#103705)
Commit: bd4217747de6e7bd15e008404ab6769667387689
https://github.com/llvm/llvm-project/commit/bd4217747de6e7bd15e008404ab6769667387689
Author: Manupa Karunaratne <manupa.karunaratne at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[MLIR][AMDGPU] Add rocdl.attr translation for waves_per_eu & unsafe_fp_atomics (#103732)
This commit adds support amdgpu-unsafe-gp-atomics attr plumbing
via introduction of `rocdl.unsafe_fp_atomics`.
This adds the missing translation for amdgpu-waves-per-eu attr.
Commit: 1115dee248e68a155001ac3712a189299d104863
https://github.com/llvm/llvm-project/commit/1115dee248e68a155001ac3712a189299d104863
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Use range-based for loops (NFC) (#103540)
Commit: 4c2f90f362e401162533ffede924ac3890c70577
https://github.com/llvm/llvm-project/commit/4c2f90f362e401162533ffede924ac3890c70577
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/toyc.cpp
A mlir/include/mlir/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
R mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
R mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.h
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
Log Message:
-----------
[MLIR][LLVM] Turn the inliner interface into a promised interface (#103927)
This commit changes the LLVM dialect's inliner interface to no longer be
registered at dialect initialization. Instead, it is now a promised
interface, that needs to be registered explicitly. This change is
desired to avoid pulling in a lot of dependencies into the
`MLIRLLVMDialect` library, especially considering future patches that
plan to extend it further with strong IR analysis.
Commit: 20b2c9f10fe09f2c5cbd3da7f0af8df24f62e899
https://github.com/llvm/llvm-project/commit/20b2c9f10fe09f2c5cbd3da7f0af8df24f62e899
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use GatheredScalars vector instead of the original E->Scalars, NFC
GateredScalars is a full copy of the E->Scalars in this places and can
be safely used for now. Unifies the code across the function.
Commit: 294ed6a1eb090627441ee0426a64d8f71985fce3
https://github.com/llvm/llvm-project/commit/294ed6a1eb090627441ee0426a64d8f71985fce3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Use if init statement to reduce scope of variable. NFC
Commit: abc1acf8df3b212a03650c314b7832b3aa7ccd42
https://github.com/llvm/llvm-project/commit/abc1acf8df3b212a03650c314b7832b3aa7ccd42
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/ARM/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/Mips/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/PowerPC/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/Thumb2/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/srem-seteq-illegal-types.ll
Log Message:
-----------
[TargetLowering][AMDGPU][ARM][RISCV][X86] Teach SimplifyDemandedBits to combine (srl (sra X, C1), ShAmt) -> sra(X, C1+ShAmt) (#101751)
If the upper bits of the shr aren't demanded.
This helps with cases where the outer srl was originally an sra and was
converted to a srl by SimplifyDemandedBits before it had a chance to
combine with the inner sra. This can occur when the inner sra was part
of a sign_extend_inreg expansion.
There are some regressions in ARM and Thumb2.
Commit: b5e47d2e409f2fb70c9397fccf4a74660c319bb0
https://github.com/llvm/llvm-project/commit/b5e47d2e409f2fb70c9397fccf4a74660c319bb0
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
[mlir][vector] Add extra check on distribute types to avoid crashes (#102952)
This PR addresses the issue detailed in
https://github.com/iree-org/iree/issues/17948.
The problem occurs when distributed types are set to NULL, leading to
compilation crashes.
---------
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: 8345289ded788f4df79f59df76df0c0437c3df64
https://github.com/llvm/llvm-project/commit/8345289ded788f4df79f59df76df0c0437c3df64
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/RegionInfo.cpp
M llvm/lib/MC/MCDisassembler/MCExternalSymbolizer.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
Log Message:
-----------
[LLVM] Fix missing includes for function declarations that will be needed for explicit symbol visibility (#103900)
In multiple source files function definitions never sees there
declaration in a header because its never included causing linker errors
when explicit symbol visibility macros\dllexport are added to the
declarations.
Most of these were originally found by @tstellar in
https://github.com/llvm/llvm-project/pull/67502
TargetRegistry.h is needed in MCExternalSymbolizer.cpp for
createMCSymbolizer
Analysis/Passes.h is needed in LazyValueInfo.cpp and RegionInfo.cpp for
createLazyValueInfoPassin and createRegionInfoPass
Transforms/Scalar.h is needed in SpeculativeExecution.cpp for
createSpeculativeExecutionPass
Commit: f0fe6c66cb507cb9bd9abdbccf42b85ef32aabba
https://github.com/llvm/llvm-project/commit/f0fe6c66cb507cb9bd9abdbccf42b85ef32aabba
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU][NFC] Rename isHi() to isHi16Reg() for clarity. (#103888)
And declare it to take an MCRegister.
Also rename related entities and remove a comment for the function that
depending on its purpose is either irrelevant or misleading.
Commit: f3f465ed144b47223caa091b5ea65d7234955aa1
https://github.com/llvm/llvm-project/commit/f3f465ed144b47223caa091b5ea65d7234955aa1
Author: Florian Mayer <fmayer at google.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_uas.cpp
Log Message:
-----------
Do not use dirname in test (#103395)
Suggested in
https://github.com/llvm/llvm-project/pull/95308#discussion_r1714317539
Commit: 234cb4c6e3a382a5c0b3396647a1839699944ec0
https://github.com/llvm/llvm-project/commit/234cb4c6e3a382a5c0b3396647a1839699944ec0
Author: Froster <34234343+Fros1er at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/binop-splats.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-binop-splats.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vand-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-sdnode.ll
M llvm/test/CodeGen/WebAssembly/simd-shift-complex-splats.ll
Log Message:
-----------
[SelectionDAG] Scalarize binary ops of splats before legal types (#100749)
Fixes #65072. This allows binary ops of splats to be scalarized if the
operation isn't legal on the element type isn't legal, but is legal on
the type it will be legalized to. I assume if an Op is legal both in
scalar and vector, choose scalar version should always be better no
matter what the type is.
There are some cases that my approach can't scalarize, for example:
``` llvm
; test/CodeGen/RISCV/rvv/select-int.ll
define <vscale x 4 x i64> @select_nxv4i64(i1 zeroext %c, <vscale x 4 x i64> %a, <vscale x 4 x i64> %b) {
%v = select i1 %c, <vscale x 4 x i64> %a, <vscale x 4 x i64> %b
ret <vscale x 4 x i64> %v
}
```
https://godbolt.org/z/xzqrKrxvK
`xor (splat i1, splat i1)` is generated in late step after LegalizeType,
from select. I didn't figure out how to make `xor i1, i1` legal at this
time.
---------
Co-authored-by: Luke Lau <luke at igalia.com>
Commit: fdc4955086681b0c4fc109ba8e77762a8d67c1f3
https://github.com/llvm/llvm-project/commit/fdc4955086681b0c4fc109ba8e77762a8d67c1f3
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
Revert "[scudo] Separated committed and decommitted entries." (#104045)
Reverts llvm/llvm-project#101409
This caused some memory usage regressions and it has a known bug in page
releasing.
Commit: d0c16a614247c36b8b1c8d7bff42d01e7b03ade3
https://github.com/llvm/llvm-project/commit/d0c16a614247c36b8b1c8d7bff42d01e7b03ade3
Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
Log Message:
-----------
Fix prctl test to execute all test cases if the first condition fails. (#102987)
Commit: d213981c80626698a07b11ce872acba098a863d4
https://github.com/llvm/llvm-project/commit/d213981c80626698a07b11ce872acba098a863d4
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Implement `__builtin_is_implicit_lifetime()` (#101807)
This intrinsic supports [P2647R1](https://wg21.link/p2674r1) "A trait
for implicit lifetime types".
Resolves #98627
---------
Co-authored-by: Timm Baeder <tbaeder at redhat.com>
Commit: 9c7020507f19a69e8d53829ab959e2bc56f7c2f1
https://github.com/llvm/llvm-project/commit/9c7020507f19a69e8d53829ab959e2bc56f7c2f1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
Log Message:
-----------
[libc++] Remove duplicate C++17 LWG issues from the CSVs
- LWG2308 was voted into C++14 in the 2014 Issaquah meeting
- LWG2682 was voted into C++20 in San Diego 2018, not C++17 in Issaquah
- LWG2769 was voted into C++17 in Kona 2017, not Issaquah 2016
Commit: efe3db21249ccfb9db62929e9e60e8b91484149c
https://github.com/llvm/llvm-project/commit/efe3db21249ccfb9db62929e9e60e8b91484149c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/sink-vector-broadcast.mlir
M mlir/test/Dialect/Vector/vector-reduce-to-contract.mlir
Log Message:
-----------
[mlir][vector] Add tests for `populateSinkVectorBroadcastPatterns` (1/n) (#102286)
Adds tests for scalable vectors in:
* sink-vector-broadcast.mlir
This test file excercises patterns grouped under
`populateSinkVectorBroadcastPatterns`, which includes:
* `ReorderElementwiseOpsOnBroadcast`,
* `ReorderCastOpsOnBroadcast`.
Right now there are only tests for the former. However, I've noticed
that "vector-reduce-to-contract.mlir" contains tests for the latter and
I've left a few TODOs to group these tests back together in one file.
Additionally, added some helpful `notifyMatchFailure` messages in
`ReorderElementwiseOpsOnBroadcast`.
Commit: d2f0d991943a9bbf2452adcb11e9a12d5843952b
https://github.com/llvm/llvm-project/commit/d2f0d991943a9bbf2452adcb11e9a12d5843952b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/TextAPI/RecordsSlice.cpp
Log Message:
-----------
[TextAPI] Use range-based for loops (NFC) (#103530)
Commit: cce2271eab8173f5c27c1e99863a056a9430c252
https://github.com/llvm/llvm-project/commit/cce2271eab8173f5c27c1e99863a056a9430c252
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
[LLDB][OSX] Add a fallback support exe directory (#103458)
LLDB on OSX is looking at a `bin` directory sibling to the `lib` one
that contains liblldb for its supporting executables. This works well
for CMake, however, for other build systems like bazel, it's not that
easy to have that build structure, for which it's much easier to also
use the `lib` directory as a fallback under the absence of `bin`.
This shouldn't break anything, but instead should make it a bit easier
for LLDB to work with different build systems and folder structures.
Commit: 7e5cd8f1b6c5263ed5e2cc03d60c8779a8d3e9f7
https://github.com/llvm/llvm-project/commit/7e5cd8f1b6c5263ed5e2cc03d60c8779a8d3e9f7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx14Papers.csv
M libcxx/utils/synchronize_csv_status_files.py
Log Message:
-----------
[libc++] Mechanical adjustments for the C++14 Paper status files
Make sure Cxx14Papers.csv has the same columns as the other CSV files.
Somehow this was missed in my previous passes to standardize this.
Commit: ac00ce201562a2d86fbac45d25cab6c7aa9e4ac6
https://github.com/llvm/llvm-project/commit/ac00ce201562a2d86fbac45d25cab6c7aa9e4ac6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
[libc++] Add mechanical update to CxxPapers.rst to git-blame-ignore-revs
Commit: 36a0f20ac3c564fd5953a8dc60b8ab9323945cdc
https://github.com/llvm/llvm-project/commit/36a0f20ac3c564fd5953a8dc60b8ab9323945cdc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/test/CodeGen/AMDGPU/bug-v4f64-subvector.ll
Log Message:
-----------
AMDGPU/NewPM: Fill out addPreISelPasses (#102814)
This specific callback should now be at parity with the old
pass manager version. There are still some missing IR passes
before this point.
Also I don't understand the need for the RequiresAnalysisPass at the
end. SelectionDAG should just be using the uncached getResult?
Commit: 27667285fe130b87ebda53e8335fc277292c751d
https://github.com/llvm/llvm-project/commit/27667285fe130b87ebda53e8335fc277292c751d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
Log Message:
-----------
CodeGen/NewPM: Add ExpandLarge* passes to isel IR passes (#102815)
Commit: 5eb6330ef6de633e119a6679efce1f9018110eb1
https://github.com/llvm/llvm-project/commit/5eb6330ef6de633e119a6679efce1f9018110eb1
Author: quanwanandy <quanwanandy at google.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix bazel build (#104054)
Tested w/ bazel locally.
Commit: 0eb1fc88680e2df430a5cb68be5e6a671b43c82d
https://github.com/llvm/llvm-project/commit/0eb1fc88680e2df430a5cb68be5e6a671b43c82d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/src/chrono.cpp
M libcxx/src/filesystem/filesystem_clock.cpp
Log Message:
-----------
[libcxx] Set `_LIBCPP_HAS_CLOCK_GETTIME` for GPU targets (#99243)
Summary:
I am attempting to get the GPU to build and support libc++. One issue
I've encountered is that it will look for `timeval` unless this macro is
set. We can support `CLOCK_MONOTONIC` on the GPU fairly easily as we
have access to a fixed-frequency clock via `__builtin_readsteadycounter`
intrinsics with a known frequency. This also requires `CLOCK_REALTIME`
which we can't support, but provide anyway from the GPU `libc` to make
this happy. It will return an error so at least that will be obvious.
I may need a more consistent configuration for this in the future, maybe
I should put a common macro in a different common header that's just
`__GPU__`? I don't know where I would put such a thing however.
Commit: 8aacbfcb095bd37b6444a9fa074301d733555374
https://github.com/llvm/llvm-project/commit/8aacbfcb095bd37b6444a9fa074301d733555374
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - treat oneuse extractions from loads as free
Allows further reductions in instruction vector widths
Commit: 85c79d63414fbf122551375eb7b9c1b1afabcf14
https://github.com/llvm/llvm-project/commit/85c79d63414fbf122551375eb7b9c1b1afabcf14
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] Add test coverage for #103564
Commit: ea9df0982fa8f8049b52bf5b449eed08d4f551e4
https://github.com/llvm/llvm-project/commit/ea9df0982fa8f8049b52bf5b449eed08d4f551e4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-pack-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
Log Message:
-----------
[X86] concat(permv3(x0,m0,y0),permv3(x0,m1,y0)) -> permv3(concat(x0,u),m3,concat(y0,u))
Reference the lowest subvector if higher subvectors match - this often occurs in length changing shuffles.
Fixes #103564
Commit: a0be7053d7ce4c93dfb10f5566b611069083994f
https://github.com/llvm/llvm-project/commit/a0be7053d7ce4c93dfb10f5566b611069083994f
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZ.h
M llvm/lib/Target/SystemZ/SystemZCallingConv.h
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
Log Message:
-----------
[SystemZ][z/OS] Continuation of __ptr32 support (#103393)
This is a continuation of the __ptr32 support added here
https://github.com/llvm/llvm-project/commit/135fecd4441068667ef23f56098befd0c42f89f2
Commit: 715c3033af4d38e80c110f0de8e9ddecb5a22fc3
https://github.com/llvm/llvm-project/commit/715c3033af4d38e80c110f0de8e9ddecb5a22fc3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smax-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smax-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smin-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smin-rv64.mir
Log Message:
-----------
[RISCV][GISel] Support G_SEXT_INREG for Zbb. (#102682)
Commit: 6b652f6edaa84a9e4934885f6f12b973efb1b810
https://github.com/llvm/llvm-project/commit/6b652f6edaa84a9e4934885f6f12b973efb1b810
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/SemaCXX/warn-unsafe-buffer-usage-field-attr.cpp
Log Message:
-----------
[attributes][-Wunsafe-buffer-usage] Support adding unsafe_buffer_usage attribute to struct fields (#101585)
Extend the unsafe_buffer_usage attribute, so they can also be added to
struct fields. This will cause the compiler to warn about the unsafe
field at their access sites.
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: bdf4b9a00c13044b6e989f58f0e505c7236c4a3a
https://github.com/llvm/llvm-project/commit/bdf4b9a00c13044b6e989f58f0e505c7236c4a3a
Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
Log Message:
-----------
[NVPTX] Fix typo causing GCC warning (#103045)
Solves typo found by @mikaelholmen here:
https://github.com/llvm/llvm-project/pull/98551#discussion_r1714824883
Commit: 21cea3f3be51d5c3856b87fed301b5fc3dddade4
https://github.com/llvm/llvm-project/commit/21cea3f3be51d5c3856b87fed301b5fc3dddade4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-addrspacecast.ll
Log Message:
-----------
AMDGPU: Stop promoting allocas with addrspacecast users (#104051)
We cannot promote this case unless we know the value is only
observed through flat operations. We cannot analyze this through
a call. PointerMayBeCaptured was an imprecise check for this.
A callee with a nocapture attribute may still cast to private and
observe the address space, so really we need a different notion
of nocapture.
I doubt this was of any use anyway. The promotable cases should
have optimized out addrspacecast to begin earlier.
Fixes #66669
Fixes #104035
Commit: 3287a2ebcaf0197f68905917a0d7eba35df831e2
https://github.com/llvm/llvm-project/commit/3287a2ebcaf0197f68905917a0d7eba35df831e2
Author: David Green <david.green at arm.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/peephole-sxtw.mir
Log Message:
-----------
[AArch64] Add some uxtw peephole tests. NFC
Commit: c4ae8b150476d834f0f8f010e6e76048c836b4ca
https://github.com/llvm/llvm-project/commit/c4ae8b150476d834f0f8f010e6e76048c836b4ca
Author: vporpo <vporpodas at google.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement Instruction flags (#103343)
This patch implements sandboxir::Instruction flags.
Commit: 0dedd6fe1409ab02945bb5f903a23335aa79b590
https://github.com/llvm/llvm-project/commit/0dedd6fe1409ab02945bb5f903a23335aa79b590
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Adjust concept definition locus (#103867)
Per [basic.scope], the locus of a concept is immediately after the
introduction of its name.
This let us provide better diagnostics for attempt to define recursive
concepts.
Note that recursive concepts are not supported per
https://eel.is/c++draft/basic#scope.pdecl-note-3, but there is no
normative wording for that restriction. This is a known defect
introduced by
[p1787r6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html).
Fixes #55875
Commit: 0ca0d55c14d9a4ed694f4fddf0f16616178ca7a4
https://github.com/llvm/llvm-project/commit/0ca0d55c14d9a4ed694f4fddf0f16616178ca7a4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libc/newhdrgen/yaml/math.yaml
Log Message:
-----------
[libc] Fix 'float type' incorrectly being used as the return type
Commit: 0f08aa43a611c6eecd6d930dd7e8f3f03e5a4300
https://github.com/llvm/llvm-project/commit/0f08aa43a611c6eecd6d930dd7e8f3f03e5a4300
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Avoid manually reconstructing atomicrmw (#103769)
When introducing the address space predicates, move and mutate
the original instruction, and clone for the shared case.
Commit: 4d08bb11eea5907fa9cdfe4c7bc9d5c91e79c6a7
https://github.com/llvm/llvm-project/commit/4d08bb11eea5907fa9cdfe4c7bc9d5c91e79c6a7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/include/complex
M libcxx/include/optional
A libcxx/test/std/numerics/complex.number/complex.special/gh_101960_ambiguous_ctor.pass.cpp
A libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/gh_101960_internal_ctor.compile.pass.cpp
Log Message:
-----------
[libc++] Fix ambiguous constructors for std::complex and std::optional (#103409)
Fixes #101960
Commit: eae1d65f3435b1399e1468cb27bfe745f95d4df2
https://github.com/llvm/llvm-project/commit/eae1d65f3435b1399e1468cb27bfe745f95d4df2
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
A clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
Log Message:
-----------
[HLSL] Split out the ROV attribute from the resource attribute, make it a new spellable attribute. (#102414)
Much like #98193, this PR takes some more data out of the resource
attribute, specifically the ROV data.
This PR introduces a new attribute called HLSLROVAttr, which contains
data on whether or not the decl the attribute applies to is an ROV.
Tests were added to ensure the attribute is found on the AST.
This attribute may take any boolean condition as an argument. If the
condition is true, then the object the attribute applies to "is" an ROV.
Fixes #https://github.com/llvm/llvm-project/issues/102392
Commit: 15e1e3b234884eb19b30e230ff783a13b499686f
https://github.com/llvm/llvm-project/commit/15e1e3b234884eb19b30e230ff783a13b499686f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/tbaa.fir
M flang/test/Lower/allocatable-polymorphic.f90
Log Message:
-----------
[flang] Read the extra field from the in box when doing reboxing (#102992)
Updated version of #102686. The issue was that in some rebox case the
addendum presence flag should be updated and not always taken from the
"from" box. This is the case when reboxing a fir.class to a fir.box that
doesn't require an addendum for example.
Open a new review since there is a bit of additional code in the CodeGen
part.
Commit: 86db2154bc27bf64212b91c76ed67b7dd1fc5eb0
https://github.com/llvm/llvm-project/commit/86db2154bc27bf64212b91c76ed67b7dd1fc5eb0
Author: jjalowie <jakub.jalowiec at intel.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M mlir/utils/vscode/package.json
M mlir/utils/vscode/src/mlirContext.ts
Log Message:
-----------
[vscode-mlir] Added per-LSP-server executable arguments (#79671)
Each LSP server type (mlir-lsp-server, pdll-lsp-server and
tblgen-lsp-server) should have a different "additional_server_args"
entry in the config for passing arguments to the server such as
`--log=verbose`.
Commit: 74d23f15b6867898892f851db40a25f62dad4397
https://github.com/llvm/llvm-project/commit/74d23f15b6867898892f851db40a25f62dad4397
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M offload/DeviceRTL/include/Allocator.h
M offload/DeviceRTL/include/Types.h
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/State.cpp
A offload/test/api/omp_device_alloc.c
M openmp/docs/design/Runtimes.rst
Log Message:
-----------
[OpenMP] Implement 'omp_alloc' on the device (#102526)
Summary:
The 'omp_alloc' function should be callable from a target region. This
patch implemets it by simply calling `malloc` for every non-default
trait value allocator. All the special access modifiers are
unimplemented and return null. The null allocator returns null as the
spec states it should not be usable from the target.
Commit: 394162f356069ddccf1f941abf20959809644926
https://github.com/llvm/llvm-project/commit/394162f356069ddccf1f941abf20959809644926
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/test/Driver/nvlink-wrapper.c
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
Log Message:
-----------
[Clang] Fix 'nvlink-wrapper' not ignoring `-plugin` like lld does (#104056)
Summary:
This caused issues with
https://gitlab.e4s.io/uo-public/llvm-openmp-offloading/-/jobs/301520
because adding `-flto` caused it to pass `-plugin` sometimes, which
isn't supported.
Commit: 3b7b2f2efc8be3077b919bef12669a85886840b5
https://github.com/llvm/llvm-project/commit/3b7b2f2efc8be3077b919bef12669a85886840b5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/test/support/platform_support.h
Log Message:
-----------
[libcxx] Add fallback to standard C when `unistd` is unavailable (#102005)
Summary:
This utility function gets a temp file to use for tests. It either uses
WIN32 or POSIX to create it. Some targets only follow the C standard,
and this test case will fail. This patch simply adds a fallback that
uses the `tmpnam` function from standard C. This function isn't ideal,
but it is good enough for our use-case.
---------
Co-authored-by: Mark de Wever <zar-rpg at xs4all.nl>
Commit: 23617f2dc094e3f960d9e0aedaa87a0866e8dc2d
https://github.com/llvm/llvm-project/commit/23617f2dc094e3f960d9e0aedaa87a0866e8dc2d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/src/include/overridable_function.h
Log Message:
-----------
[libcxx] Disable invalid `__start/__stop` reference on NVPTX (#99381)
Summary:
The logic for this `__is_function_overridden` check requires accessing a
runtime array normally created by the linker. The NVPTX target is an
`__ELF__` target, however it does not support emitting the
`__start/__stop` symbols for C-identifier named sections. This needs to
be disabled explicitly so that the user can compile this with anything.
Commit: 51ed383d3803051922ab5f7ff19a38454a415ddb
https://github.com/llvm/llvm-project/commit/51ed383d3803051922ab5f7ff19a38454a415ddb
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/MachO/Relocations.cpp
M lld/MachO/Relocations.h
M lld/MachO/SyntheticSections.cpp
A lld/test/MachO/objc-relative-method-lists-simple-x86.s
Log Message:
-----------
[lld-macho] Make relative method lists work on x86-64 (#103905)
Local data is referenced in Objective-C metadata via section + offset
relocations on x86-64 rather than via symbols. Without this change, we
would crash on incorrect casts of the referents to `Defined`.
A basic test based on the existing `objc-relative-method-lists-simple.s`
adopted to x86-64 is added.
Commit: 9e8706140440d79bb7040d5461e9d31ea75cc7bb
https://github.com/llvm/llvm-project/commit/9e8706140440d79bb7040d5461e9d31ea75cc7bb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libcxx] Adjust inline assembly constraints for the AMDGPU target (#101747)
Summary:
These assembly constraints are illegal / invalid on the AMDGPU target.
The `r` constraint is only valid on inputs and the `m` constraint isn't
accepted at all. The NVPTX target can handle them because it uses a more
permissive virtual machine (PTX is an IR). Simply add exceptions on the
target to make these work.
Commit: 2dec83cc8e21a72e8718b5b3f009a19d6634fad3
https://github.com/llvm/llvm-project/commit/2dec83cc8e21a72e8718b5b3f009a19d6634fad3
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx11.cpp
M clang/test/SemaCXX/Inputs/enum-constexpr-conversion-system-header.h
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
Log Message:
-----------
[clang] Turn -Wenum-constexpr-conversion into a hard error (#102364)
The warning has been active for a few releases now, first only in user
code, later in system headers, and finally as an error by default.
Therefore, we believe it is now time to transition into a hard error, as
required by the C++ Standard. The main affected C++ projects have by now
fixed the error, or there's a pending patch for review that does it.
Fixes #59036
Commit: 161e250add9556443b0de085837e3a0403626f6c
https://github.com/llvm/llvm-project/commit/161e250add9556443b0de085837e3a0403626f6c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M offload/test/api/omp_device_alloc.c
Log Message:
-----------
[OpenMP] Fix buildbot failing on allocator test
Commit: e687a9f2dd389a54a10456e57693f93df0c64c02
https://github.com/llvm/llvm-project/commit/e687a9f2dd389a54a10456e57693f93df0c64c02
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Remove unncessary null check. NFC
Commit: e1b15504a831e63af6fb9a6e83faaa10ef425ae6
https://github.com/llvm/llvm-project/commit/e1b15504a831e63af6fb9a6e83faaa10ef425ae6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove unused using declarations, reduce mem usage in containers, NFC
Commit: 00ab8a6a4c3811c50a9dc9626e6fa067fdfcd474
https://github.com/llvm/llvm-project/commit/00ab8a6a4c3811c50a9dc9626e6fa067fdfcd474
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/runtime/CUDA/CMakeLists.txt
M flang/runtime/CUDA/allocator.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda] Use cuda runtime API (#103488)
CUDA Fortran is meant to be an equivalent to the runtime API. Therefore,
it makes more sense to use the cuda rt API in the allocators for CUF.
@bdudleback
Commit: 2c12c1e755a1bf453b246027b450b3b8e30fb016
https://github.com/llvm/llvm-project/commit/2c12c1e755a1bf453b246027b450b3b8e30fb016
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86MachineFunctionInfo.h
M llvm/lib/Target/X86/X86RegisterInfo.cpp
A llvm/test/CodeGen/X86/fp-clobbered-by-eh.ll
Log Message:
-----------
[X86] Check if an invoked function clobbers fp or bp (#103446)
In most cases when an instruction or function call clobbers fp and/or bp
register, we can fix it by save/restore the clobbered register. But we
still can't handle it when an invoked function clobbers fp and/or bp
according to its calling convention. This patch detects this case and
reports error instead of silently generating wrong code.
Commit: 099bf20c3f8a9258b2d6cc39d0618fd45e6dfb4f
https://github.com/llvm/llvm-project/commit/099bf20c3f8a9258b2d6cc39d0618fd45e6dfb4f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
A llvm/test/CodeGen/NVPTX/dot-product.ll
Log Message:
-----------
[NVPTX] Add idp2a, idp4a intrinsics (#102763)
Add support for `llvm.nvvm.idp2a` and `llvm.nvvm.idp4a` which correspond
directly to `dp2a` and `dp4a` PTX instructions.
Commit: 6cafebef4a7a50ad28b46f34f18dc9d3e3e57e40
https://github.com/llvm/llvm-project/commit/6cafebef4a7a50ad28b46f34f18dc9d3e3e57e40
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-vaarg-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
Log Message:
-----------
[RISCV][GISel] Remove support for s32 G_VAARG on RV64. (#102533)
Part of making s32 not legal for RV64. Unfortunately, generic
widening/narrowing is not implement for this operation so I had to
remove all tests.
I don't think clang uses G_VAARG on RISC-V so this shouldn't be a big
deal in practice.
Commit: a845dba9e5ed52e6e743269a18abc16a2348d1b8
https://github.com/llvm/llvm-project/commit/a845dba9e5ed52e6e743269a18abc16a2348d1b8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
Log Message:
-----------
[libc++] Remove non-existent LWG issue from the .csv files
We can only track existing LWG issues because we need a valid LWG issue
number for all issues. I'll create another GH issue to track creating
that LWG issue instead.
Commit: f6e3dbc27daceed4b96a353dce75a6a3e15b4fdd
https://github.com/llvm/llvm-project/commit/f6e3dbc27daceed4b96a353dce75a6a3e15b4fdd
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/runtime/CUDA/CMakeLists.txt
M flang/runtime/CUDA/allocator.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
Revert "[flang][cuda] Use cuda runtime API" (#104232)
Reverts llvm/llvm-project#103488
Commit: a95ad2da36b6a996b05c79df6b385cd98bac286d
https://github.com/llvm/llvm-project/commit/a95ad2da36b6a996b05c79df6b385cd98bac286d
Author: Ian Wood <75152913+IanWood1 at users.noreply.github.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
A mlir/test/Dialect/Tensor/bubble-reshapes.mlir
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
Log Message:
-----------
[mlir] Add bubbling patterns for non intersecting reshapes (#103401)
Refactored @Max191's PR https://github.com/llvm/llvm-project/pull/94637
to move it to `Tensor`
>From the original PR
>This PR adds fusion by expansion patterns to push a tensor.expand_shape
up through a tensor.collapse_shape with non-intersecting reassociations.
Sometimes parallel collapse_shape ops like this can block propagation of
expand_shape ops, so this allows them to pass through each other.
I'm not sure if I put the code/tests in the right places, so let me know
where those go if they aren't.
cc @MaheshRavishankar @hanhanW
---------
Co-authored-by: Max Dawkins <max.dawkins at gmail.com>
Commit: d7973969822fc674089a0066adbba31a3964ccfb
https://github.com/llvm/llvm-project/commit/d7973969822fc674089a0066adbba31a3964ccfb
Author: Ian Wood <75152913+IanWood1 at users.noreply.github.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M .git-blame-ignore-revs
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/containers/github-action-ci/stage1.Dockerfile
A .github/workflows/get-llvm-version/action.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/llvm-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-tasks.yml
M bolt/CMakeLists.txt
M bolt/docs/CommandLineArgumentReference.md
M bolt/docs/OptimizingLinux.md
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/GDBIndex.h
M bolt/include/bolt/Core/ParallelUtilities.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/GDBIndex.cpp
M bolt/lib/Core/ParallelUtilities.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/Inputs/build_id.ldscript
A bolt/test/AArch64/build_id.c
A bolt/test/AArch64/update-weak-reference-symbol.s
A bolt/test/X86/Inputs/build_id.yaml
A bolt/test/X86/build_id.test
M bolt/test/X86/dwarf4-cross-cu-backward-different-abbrev.test
M bolt/test/X86/dwarf4-cross-cu-forward-different-abbrev.test
M bolt/test/X86/dwarf4-cross-cu-loclist-dwarf4-loclist--dwarf5-loclist.test
M bolt/test/X86/dwarf4-df-dualcu-loclist.test
M bolt/test/X86/dwarf4-split-dwarf-no-address.test
M bolt/test/X86/dwarf4-split-gdb-index-types-gdb-generated.test
M bolt/test/X86/dwarf4-subprogram-multiple-ranges-cus.test
M bolt/test/X86/dwarf4-types-dwarf5-types.test
M bolt/test/X86/dwarf4-types-dwarf5.test
M bolt/test/X86/dwarf5-addr-section-reuse.s
M bolt/test/X86/dwarf5-call-pc-function-null-check.test
M bolt/test/X86/dwarf5-call-pc.test
M bolt/test/X86/dwarf5-cu-no-debug-addr.test
M bolt/test/X86/dwarf5-df-input-lowpc-ranges-cus.test
M bolt/test/X86/dwarf5-df-mono-dualcu.test
M bolt/test/X86/dwarf5-df-output-dir-same-name.test
M bolt/test/X86/dwarf5-df-types-debug-names.test
M bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
M bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb11.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb9.test
M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-lld-generated.test
M bolt/test/X86/dwarf5-dwarf4-monolithic.test
M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
M bolt/test/X86/dwarf5-empty-arange.test
M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb11.test
M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb9.test
M bolt/test/X86/dwarf5-gdb-index-types-lld-generated.test
M bolt/test/X86/dwarf5-locexpr-referrence.test
M bolt/test/X86/dwarf5-loclist-offset-form.test
M bolt/test/X86/dwarf5-one-loclists-two-bases.test
M bolt/test/X86/dwarf5-return-pc-form-addr.test
M bolt/test/X86/dwarf5-return-pc.test
M bolt/test/X86/dwarf5-shared-str-offset-base.s
M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
M bolt/test/X86/dwarf5-split-gdb-index-types-gdb-generated.test
M bolt/test/X86/dwarf5-subprogram-multiple-ranges-cus.test
M bolt/test/X86/dwarf5-two-cu-str-offset-table.test
M bolt/test/X86/dwarf5-two-loclists.test
M bolt/test/X86/dwarf5-two-rnglists.test
M bolt/test/X86/dwarf5-type-unit-no-cu-str-offset-table.test
M bolt/test/X86/dwarf5-types-backward-cross-reference.s
M bolt/test/X86/dwarf5-types-debug-names.test
A bolt/test/X86/dynamic-relocs-on-entry.s
M bolt/test/X86/encoding-validation.s
M bolt/test/X86/gotpcrelx.s
M bolt/test/X86/icf-jump-tables.test
M bolt/test/X86/indirect-goto-pie.test
M bolt/test/X86/jump-table-func-entry.s
M bolt/test/X86/keep-nops.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-pci-fixup.s
M bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-calls.s
M bolt/test/X86/linux-static-keys.s
M bolt/test/X86/pt_gnu_relro.s
M bolt/test/X86/unclaimed-jt-entries.s
M bolt/test/X86/vararg.test
M bolt/test/permission.test
M bolt/test/runtime/X86/unclaimed-jt-entries.s
A bolt/test/timers.c
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/Types.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
M clang-tools-extra/include-cleaner/unittests/IncludeSpellerTest.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_exception_specification_kind.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/docs/APINotes.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang-c/Index.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.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/StmtOpenMP.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/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
A clang/include/clang/Basic/HLSLIntangibleTypes.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/Index/DeclOccurrence.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.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/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ObjectFilePCHContainerReader.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/Refactoring/ASTSelection.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpFrame.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Source.cpp
M clang/lib/AST/Interp/Source.h
M clang/lib/AST/Interp/State.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/Targets.cpp
R clang/lib/Basic/Targets/Le64.cpp
R clang/lib/Basic/Targets/Le64.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.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/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Format/AffectedRangeManager.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
M clang/lib/Frontend/DiagnosticRenderer.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_hip_cmath.h
A clang/lib/Headers/avx10_2_512minmaxintrin.h
A clang/lib/Headers/avx10_2_512niintrin.h
A clang/lib/Headers/avx10_2_512satcvtintrin.h
A clang/lib/Headers/avx10_2minmaxintrin.h
A clang/lib/Headers/avx10_2niintrin.h
A clang/lib/Headers/avx10_2satcvtintrin.h
M clang/lib/Headers/avxvnniint16intrin.h
M clang/lib/Headers/avxvnniint8intrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload.h
A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_device.h
A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_host.h
M clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPMacroExpansion.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/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.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/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
M clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/swift-import-as.cpp
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
A clang/test/AST/HLSL/hlsl_resource_t.hlsl
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/bitfields.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/codegen.cpp
A clang/test/AST/Interp/constexpr-frame-describe.cpp
M clang/test/AST/Interp/constexpr-nqueens.cpp
M clang/test/AST/Interp/constexpr-subobj-initialization.cpp
M clang/test/AST/Interp/cxx11.cpp
M clang/test/AST/Interp/cxx20.cpp
M clang/test/AST/Interp/cxx2a.cpp
M clang/test/AST/Interp/eval-order.cpp
M clang/test/AST/Interp/if.cpp
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/AST/Interp/loops.cpp
M clang/test/AST/Interp/new-delete.cpp
M clang/test/AST/Interp/objc.mm
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/unions.cpp
M clang/test/AST/Interp/vectors.cpp
A clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/atomic-expr.cpp
M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
M clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
M clang/test/AST/attr-sized-by-struct-ptrs.c
A clang/test/Analysis/block-in-critical-section-inheritance.cpp
M clang/test/Analysis/exercise-ps.c
R clang/test/Analysis/malloc-overflow.c
R clang/test/Analysis/malloc-overflow.cpp
R clang/test/Analysis/malloc-overflow2.c
M clang/test/Analysis/pointer-sub-notes.c
M clang/test/Analysis/pointer-sub.c
A clang/test/C/C11/n1396.c
M clang/test/C/C23/n3018.c
M clang/test/C/C2y/n3254.c
M clang/test/C/C2y/n3259.c
M clang/test/CXX/basic/basic.start/basic.start.main/p3.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
M clang/test/CXX/temp/temp.deduct.guide/p3.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
M clang/test/CodeGen/64bit-swiftcall.c
A clang/test/CodeGen/LoongArch/align.c
M clang/test/CodeGen/PowerPC/aix32-complex-varargs.c
A clang/test/CodeGen/PowerPC/builtins-bcd-assist.c
A clang/test/CodeGen/PowerPC/builtins-ppc-bcd-assist.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cmplx.c
M clang/test/CodeGen/PowerPC/powerpc-c99complex.c
M clang/test/CodeGen/PowerPC/ppc-varargs-struct.c
M clang/test/CodeGen/PowerPC/ppc64-complex-parms.c
M clang/test/CodeGen/PowerPC/ppc64-struct-onefloat.c
M clang/test/CodeGen/PowerPC/ppc64-varargs-complex.c
M clang/test/CodeGen/PowerPC/ppc64le-varargs-complex.c
M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
A clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
A clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
M clang/test/CodeGen/RISCV/bfloat-abi.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcompress.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvt_f_f.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvt_f_f.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e64ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e32ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmerge.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vreinterpret.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrgather.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vcompress.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvt_f_f.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvt_f_f.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmerge.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vreinterpret.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrgather.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vcompress.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvt_f_f.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvt_f_f.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmerge.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vmv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrgather.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vcompress.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvt_f_f.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwcvt_f_f.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vloxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg2ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg3ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg4ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg5ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg6ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg7ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei32.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vluxseg8ei8.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmerge.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vmv.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrgather.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/zvfhmin.c
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-definitions.c
A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-sizeof.c
A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
M clang/test/CodeGen/X86/Float16-arithmetic.c
M clang/test/CodeGen/X86/Float16-complex.c
A clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
A clang/test/CodeGen/X86/avx10_2_512minmax-error.c
A clang/test/CodeGen/X86/avx10_2_512ni-builtins.c
A clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
A clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
A clang/test/CodeGen/X86/avx10_2minmax-builtins.c
A clang/test/CodeGen/X86/avx10_2ni-builtins.c
A clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
M clang/test/CodeGen/X86/avxvnniint16-builtins.c
M clang/test/CodeGen/X86/avxvnniint8-builtins.c
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/va-arg-sse.c
M clang/test/CodeGen/X86/x86_64-floatvectors.c
M clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGen/aapcs-bitfield.c
M clang/test/CodeGen/aarch64-branch-protection-attr.c
M clang/test/CodeGen/aarch64-elf-pauthabi.c
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/aarch64-neon-ldst-one.c
M clang/test/CodeGen/aarch64-neon-perm.c
M clang/test/CodeGen/aarch64-neon-tbl.c
M clang/test/CodeGen/aarch64-poly64.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
M clang/test/CodeGen/aarch64-soft-float-abi.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/address-space-field1.c
M clang/test/CodeGen/align_value.cpp
M clang/test/CodeGen/alloc-align-attr.c
M clang/test/CodeGen/annotations-field.c
M clang/test/CodeGen/arm-branch-protection-attr-1.c
M clang/test/CodeGen/arm-mve-intrinsics/vld24.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/arm-varargs.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-be-bitfield.c
M clang/test/CodeGen/arm64-be-hfa-vararg.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-counted-by-pr88931.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-nomerge.cpp
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/bitfield-access-pad.c
M clang/test/CodeGen/bitfield-access-unit.c
M clang/test/CodeGen/block-byref-aggr.c
M clang/test/CodeGen/blocks-seq.c
M clang/test/CodeGen/blocks.c
M clang/test/CodeGen/bpf-preserve-static-offset-arr.c
M clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
M clang/test/CodeGen/bpf-preserve-static-offset-pai.c
M clang/test/CodeGen/builtin-complex.c
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/CodeGen/builtin-dump-struct.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/c11atomics-ios.c
M clang/test/CodeGen/c11atomics.c
M clang/test/CodeGen/capture-complex-expr-in-block.c
M clang/test/CodeGen/captured-statements-nested.c
M clang/test/CodeGen/captured-statements.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
M clang/test/CodeGen/complex-convert.c
M clang/test/CodeGen/complex-strictfp.c
M clang/test/CodeGen/compound-literal.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/ext-int.c
M clang/test/CodeGen/matrix-type-builtins.c
M clang/test/CodeGen/matrix-type.c
M clang/test/CodeGen/ms-anonymous-struct.c
M clang/test/CodeGen/ms-inline-asm.cpp
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/packed-nest-unpacked.c
M clang/test/CodeGen/packed-structure.c
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/pr3518.c
M clang/test/CodeGen/pragma-cx-limited-range.c
M clang/test/CodeGen/ptrauth-function-attributes.c
A clang/test/CodeGen/ptrauth-init-fini.c
M clang/test/CodeGen/smiths-complex-div.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/target-data.c
A clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
M clang/test/CodeGen/transparent-union-redecl.c
M clang/test/CodeGen/unaligned-expr.c
M clang/test/CodeGen/variadic-gpfp-x86.c
M clang/test/CodeGen/variadic-nvptx.c
M clang/test/CodeGen/voidptr-vaarg.c
M clang/test/CodeGen/volatile-1.c
M clang/test/CodeGen/volatile-2.c
M clang/test/CodeGen/volatile-complex.c
M clang/test/CodeGen/windows-seh-EHa-CppCondiTemps.cpp
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCUDA/Inputs/cuda.h
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/builtins-amdgcn.cu
M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
M clang/test/CodeGenCUDA/convergent.cu
A clang/test/CodeGenCUDA/host-used-extern-determinism.cu
M clang/test/CodeGenCUDA/lambda-reference-var.cu
M clang/test/CodeGenCUDA/managed-var.cu
A clang/test/CodeGenCUDA/offload_via_llvm.cu
M clang/test/CodeGenCUDA/printf.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/address-space-cast-coerce.cpp
M clang/test/CodeGenCXX/alignment.cpp
M clang/test/CodeGenCXX/arm-swiftcall.cpp
M clang/test/CodeGenCXX/asm.cpp
M clang/test/CodeGenCXX/atomicinit.cpp
M clang/test/CodeGenCXX/attr-annotate.cpp
M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
M clang/test/CodeGenCXX/bitfield-access-tail.cpp
M clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/bitfield.cpp
M clang/test/CodeGenCXX/block-capture.cpp
M clang/test/CodeGenCXX/block-inalloca.cpp
M clang/test/CodeGenCXX/blocks-cxx11.cpp
M clang/test/CodeGenCXX/blocks.cpp
M clang/test/CodeGenCXX/builtin-dump-struct.cpp
M clang/test/CodeGenCXX/captured-statements.cpp
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-pr12086.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
M clang/test/CodeGenCXX/cxx11-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx11-initializer-array-new.cpp
M clang/test/CodeGenCXX/cxx1y-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
M clang/test/CodeGenCXX/cxx20-consteval-crash.cpp
M clang/test/CodeGenCXX/cxx20-decomposition.cpp
M clang/test/CodeGenCXX/cxx2a-compare.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/debug-info-lambda.cpp
M clang/test/CodeGenCXX/debug-info-ptr-to-ptr.cpp
M clang/test/CodeGenCXX/debug-info-structured-binding.cpp
M clang/test/CodeGenCXX/decl-ref-inheritance.cpp
M clang/test/CodeGenCXX/eh-aggregated-inits-unwind.cpp
M clang/test/CodeGenCXX/exceptions-seh-filter-captures.cpp
M clang/test/CodeGenCXX/exceptions.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/finegrain-bitfield-access.cpp
M clang/test/CodeGenCXX/ibm128-declarations.cpp
M clang/test/CodeGenCXX/inalloca-lambda.cpp
M clang/test/CodeGenCXX/inalloca-overaligned.cpp
M clang/test/CodeGenCXX/inalloca-vector.cpp
M clang/test/CodeGenCXX/lambda-deterministic-captures.cpp
M clang/test/CodeGenCXX/mangle-fail.cpp
M clang/test/CodeGenCXX/matrix-type-builtins.cpp
M clang/test/CodeGenCXX/matrix-type-operators.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
M clang/test/CodeGenCXX/microsoft-abi-explicit-object-parameters.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/ms-inline-asm-fields.cpp
M clang/test/CodeGenCXX/new-array-init.cpp
M clang/test/CodeGenCXX/no-odr-use.cpp
M clang/test/CodeGenCXX/noescape.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/partial-destruction.cpp
M clang/test/CodeGenCXX/ppc32-varargs-method.cpp
M clang/test/CodeGenCXX/pr20897.cpp
A clang/test/CodeGenCXX/pr70585.cppm
M clang/test/CodeGenCXX/regparm.cpp
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/trivial-auto-var-init.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/trivial_abi_debuginfo.cpp
M clang/test/CodeGenCXX/ubsan-global-alignment.cpp
M clang/test/CodeGenCXX/vararg-non-pod-ms-compat.cpp
M clang/test/CodeGenCXX/virtual-bases.cpp
M clang/test/CodeGenCXX/vla-lambda-capturing.cpp
M clang/test/CodeGenCXX/volatile-1.cpp
M clang/test/CodeGenCXX/x86_32-vaarg.cpp
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
A clang/test/CodeGenCXX/zos-mangle-ptr-size-address-space.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-params.cpp
M clang/test/CodeGenHIP/dpp-const-fold.hip
M clang/test/CodeGenHIP/spirv-amdgcn-dpp-const-fold.hip
M clang/test/CodeGenHLSL/buffer-array-operator.hlsl
A clang/test/CodeGenHLSL/builtins/length.hlsl
A clang/test/CodeGenHLSL/builtins/normalize.hlsl
M clang/test/CodeGenHLSL/export.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/CodeGenObjC/arc-blocks.m
M clang/test/CodeGenObjC/arc-foreach.m
M clang/test/CodeGenObjC/arc-unoptimized-byref-var.m
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/asm.m
M clang/test/CodeGenObjC/block-6.m
M clang/test/CodeGenObjC/blocks-2.m
M clang/test/CodeGenObjC/blocks.m
M clang/test/CodeGenObjC/category-super-class-meth.m
M clang/test/CodeGenObjC/class-stubs.m
M clang/test/CodeGenObjC/gnustep2-direct-method.m
M clang/test/CodeGenObjC/no-sanitize.m
M clang/test/CodeGenObjC/noescape.m
M clang/test/CodeGenObjC/nontrivial-c-struct-property.m
M clang/test/CodeGenObjC/nontrivial-struct-param-init.m
M clang/test/CodeGenObjC/ns_consume_null_check.m
M clang/test/CodeGenObjC/objc-dispatch-null-check.m
M clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
M clang/test/CodeGenObjC/ppc32-varargs-id.m
M clang/test/CodeGenObjC/property-array-type.m
M clang/test/CodeGenObjC/strong-in-c-struct.m
M clang/test/CodeGenObjC/super-message-fragileabi.m
M clang/test/CodeGenObjC/ubsan-bool.m
M clang/test/CodeGenObjCXX/arc-blocks.mm
M clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
M clang/test/CodeGenObjCXX/arc-cxx11-member-init.mm
M clang/test/CodeGenObjCXX/arc-exceptions.mm
M clang/test/CodeGenObjCXX/arc-indirect.mm
M clang/test/CodeGenObjCXX/arc-special-member-functions.mm
M clang/test/CodeGenObjCXX/block-default-arg.mm
M clang/test/CodeGenObjCXX/block-nested-in-lambda.mm
M clang/test/CodeGenObjCXX/gc.mm
M clang/test/CodeGenObjCXX/lambda-expressions.mm
M clang/test/CodeGenObjCXX/lambda-to-block.mm
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/property-object-conditional-exp.mm
M clang/test/CodeGenObjCXX/property-objects.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/blocks.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCLCXX/addrspace-operators.clcpp
M clang/test/CodeGenSYCL/field-annotate-addr-space.cpp
A clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
R clang/test/Driver/Inputs/MacOSX99.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/baremetal_arm/lib/crt0.o
A clang/test/Driver/Inputs/basic_baremetal_tree/lib/armv6m-unknown-none-eabi/crt0.o
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/cl-cxx20-modules.cppm
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/cuda-via-liboffload.cu
M clang/test/Driver/darwin-builtin-modules.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/ftime-trace-sections.py
R clang/test/Driver/linker-wrapper-passes.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/nvlink-wrapper.c
M clang/test/Driver/nvptx-cuda-system-arch.c
M clang/test/Driver/openmp-system-arch.c
M clang/test/Driver/ppc-dependent-options.cpp
A clang/test/Driver/ppc-soft-float.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a15.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
A clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/ps4-linker.c
M clang/test/Driver/ps4-pic.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/ps5-pic.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/x86-target-features.c
A clang/test/Format/list-ignored.cpp
M clang/test/Frontend/optimization-remark-analysis.c
M clang/test/Headers/__clang_hip_cmath.hip
A clang/test/Headers/stdarg-cxx-modules.cpp
M clang/test/Index/pch-with-errors.c
M clang/test/Interpreter/const.cpp
A clang/test/Interpreter/delayed-template-parsing-pch.cpp
M clang/test/Lexer/char-escapes-delimited.c
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note.c
A clang/test/Modules/GH60336-2.cpp
M clang/test/Modules/GH60336.cpp
A clang/test/Modules/builtin-vararg.c
M clang/test/Modules/check-for-sanitizer-feature.cpp
M clang/test/Modules/crash-vfs-include-pch.m
M clang/test/Modules/cxx20-force-check-input.cppm
M clang/test/Modules/ignored_macros.m
A clang/test/Modules/inline-builtins.cppm
M clang/test/Modules/load-module-with-errors.m
M clang/test/Modules/load_failure.c
M clang/test/Modules/merge-target-features.cpp
M clang/test/Modules/mismatch-diagnostics.cpp
M clang/test/Modules/module-pch-different-cache-path.c
M clang/test/Modules/no-external-type-id.cppm
A clang/test/Modules/pr101398.cppm
A clang/test/Modules/pr102349.cppm
A clang/test/Modules/pr102360.cppm
A clang/test/Modules/pr102684.cppm
M clang/test/Modules/pr62359.cppm
A clang/test/Modules/pr97313.cppm
A clang/test/Modules/pr99825.cppm
M clang/test/Modules/skip-odr-check-in-gmf.cppm
A clang/test/Modules/static-func-in-private.cppm
A clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
A clang/test/OpenMP/assume_lambda.cpp
A clang/test/OpenMP/assume_messages.c
A clang/test/OpenMP/assume_messages_attr.c
A clang/test/OpenMP/assume_nesting.cpp
A clang/test/OpenMP/assume_nesting_tmpl.cpp
A clang/test/OpenMP/assume_serialize_deserialize.cpp
A clang/test/OpenMP/assume_serialize_deserialize_tmpl.cpp
A clang/test/OpenMP/assume_template.cpp
M clang/test/OpenMP/atomic_capture_codegen.cpp
M clang/test/OpenMP/atomic_read_codegen.c
M clang/test/OpenMP/atomic_update_codegen.cpp
M clang/test/OpenMP/atomic_write_codegen.c
M clang/test/OpenMP/bug57757.cpp
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/cancellation_point_codegen.cpp
M clang/test/OpenMP/critical_codegen.cpp
M clang/test/OpenMP/critical_codegen_attr.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/depobj_codegen.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
M clang/test/OpenMP/for_reduction_task_codegen.cpp
M clang/test/OpenMP/interop_irbuilder.cpp
M clang/test/OpenMP/irbuilder_for_iterator.cpp
M clang/test/OpenMP/irbuilder_for_rangefor.cpp
M clang/test/OpenMP/irbuilder_for_unsigned.c
M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
M clang/test/OpenMP/irbuilder_for_unsigned_down.c
M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/irbuilder_safelen.cpp
M clang/test/OpenMP/irbuilder_safelen_order_concurrent.cpp
M clang/test/OpenMP/irbuilder_simd.cpp
M clang/test/OpenMP/irbuilder_simd_aligned.cpp
M clang/test/OpenMP/irbuilder_simdlen.cpp
M clang/test/OpenMP/irbuilder_simdlen_safelen.cpp
M clang/test/OpenMP/irbuilder_unroll_full.c
M clang/test/OpenMP/irbuilder_unroll_heuristic.c
M clang/test/OpenMP/irbuilder_unroll_partial_factor.c
M clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
M clang/test/OpenMP/irbuilder_unroll_partial_heuristic.c
M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
M clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
M clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c
M clang/test/OpenMP/loops_explicit_clauses_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/master_taskloop_codegen.cpp
M clang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/master_taskloop_private_codegen.cpp
M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_private_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/nvptx_lambda_pointer_capturing.cpp
M clang/test/OpenMP/nvptx_target_codegen.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/openmp_offload_codegen.cpp
M clang/test/OpenMP/ordered_doacross_codegen.c
M clang/test/OpenMP/ordered_doacross_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_lastprivate_conditional.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_codegen.cpp
M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
M clang/test/OpenMP/reduction_compound_op.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/reverse_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/sections_reduction_task_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_data_codegen.cpp
M clang/test/OpenMP/target_data_map_codegen_hold.cpp
M clang/test/OpenMP/target_data_no_device_codegen.cpp
M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
M clang/test/OpenMP/target_data_use_device_ptr_codegen.cpp
M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.cpp
M clang/test/OpenMP/target_defaultmap_codegen_01.cpp
M clang/test/OpenMP/target_defaultmap_codegen_02.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_enter_data_codegen.cpp
M clang/test/OpenMP/target_enter_data_depend_codegen.cpp
M clang/test/OpenMP/target_exit_data_codegen.cpp
M clang/test/OpenMP/target_exit_data_depend_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_10.cpp
M clang/test/OpenMP/target_map_codegen_11.cpp
M clang/test/OpenMP/target_map_codegen_13.cpp
M clang/test/OpenMP/target_map_codegen_14.cpp
M clang/test/OpenMP/target_map_codegen_16.cpp
M clang/test/OpenMP/target_map_codegen_22.cpp
M clang/test/OpenMP/target_map_codegen_24.cpp
M clang/test/OpenMP/target_map_codegen_28.cpp
M clang/test/OpenMP/target_map_codegen_29.cpp
M clang/test/OpenMP/target_map_codegen_31.cpp
M clang/test/OpenMP/target_map_codegen_32.cpp
M clang/test/OpenMP/target_map_codegen_34.cpp
M clang/test/OpenMP/target_map_codegen_35.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
A clang/test/OpenMP/target_map_nest_defalut_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
A clang/test/OpenMP/target_map_pointer_defalut_mapper_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_for_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_tl_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
M clang/test/OpenMP/target_parallel_tl_codegen.cpp
M clang/test/OpenMP/target_private_codegen.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_simd_tl_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_num_teams_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_num_teams_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/target_update_codegen.cpp
M clang/test/OpenMP/target_update_depend_codegen.cpp
M clang/test/OpenMP/task_affinity_codegen.cpp
M clang/test/OpenMP/task_codegen.c
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_firstprivate_codegen.cpp
M clang/test/OpenMP/task_if_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/task_in_task_firstprivate_codegen.cpp
M clang/test/OpenMP/task_member_call_codegen.cpp
M clang/test/OpenMP/task_private_codegen.cpp
M clang/test/OpenMP/task_target_device_codegen.c
M clang/test/OpenMP/taskgroup_task_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_codegen.cpp
M clang/test/OpenMP/taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/taskloop_private_codegen.cpp
M clang/test/OpenMP/taskloop_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_codegen.cpp
M clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/taskloop_simd_private_codegen.cpp
M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_untied_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_num_teams_messages.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/PCH/arc.m
M clang/test/PCH/block-helpers.cpp
M clang/test/PCH/fuzzy-pch.c
M clang/test/PCH/module-hash-difference.m
M clang/test/PCH/ms-pch-macro.c
M clang/test/PCH/no-validate-pch.cl
A clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
A clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
A clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/Preprocessor/embed_codegen.cpp
M clang/test/Preprocessor/embed_weird.cpp
R clang/test/Preprocessor/pragma_mc_func.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/x86_target_features.c
A clang/test/Sema/ZOSExtensions.cpp
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_b16b16.cpp
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
A clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_b16b16.cpp
M clang/test/Sema/attr-counted-by-bounds-safety-vlas.c
M clang/test/Sema/attr-counted-by-or-null-last-field.c
M clang/test/Sema/attr-counted-by-or-null-struct-ptrs-sizeless-types.c
M clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
M clang/test/Sema/attr-counted-by-or-null-vla-sizeless-types.c
M clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
M clang/test/Sema/attr-counted-by-struct-ptrs.c
M clang/test/Sema/attr-counted-by-vla-sizeless-types.c
M clang/test/Sema/attr-counted-by-vla.c
A clang/test/Sema/attr-print-zos.c
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
M clang/test/Sema/attr-sized-by-last-field.c
M clang/test/Sema/attr-sized-by-or-null-last-field.c
M clang/test/Sema/attr-sized-by-or-null-struct-ptrs-sizeless-types.c
M clang/test/Sema/attr-sized-by-or-null-struct-ptrs.c
M clang/test/Sema/attr-sized-by-or-null-vla-sizeless-types.c
M clang/test/Sema/attr-sized-by-struct-ptrs-sizeless-types.c
M clang/test/Sema/attr-sized-by-struct-ptrs.c
M clang/test/Sema/attr-sized-by-vla-sizeless-types.c
M clang/test/Sema/constexpr.c
A clang/test/Sema/embed_compound_literal.c
A clang/test/SemaCUDA/attr-noconvergent.cu
A clang/test/SemaCXX/GH82167.cpp
M clang/test/SemaCXX/Inputs/enum-constexpr-conversion-system-header.h
A clang/test/SemaCXX/PR98671.cpp
A clang/test/SemaCXX/bitint-narrowing.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constexpr-subobj-initialization.cpp
A clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
M clang/test/SemaCXX/coroutines.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas-variadics.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/decltype.cpp
A clang/test/SemaCXX/fold_lambda_with_variadics.cpp
A clang/test/SemaCXX/gh102293.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
A clang/test/SemaCXX/matrix-index-operator-sign-conversion.cpp
M clang/test/SemaCXX/nullability.cpp
A clang/test/SemaCXX/single-element-init-list.cpp
M clang/test/SemaCXX/sizeless-1.cpp
M clang/test/SemaCXX/type-traits.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-field-attr.cpp
A clang/test/SemaHLSL/BuiltIns/all-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/any-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/hlsl_resource_t.hlsl
A clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/TableGen/attrs-parser-string-switches.td
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/check-attributes.cpp.funcattrs.expected
M clang/test/utils/update_cc_test_checks/Inputs/check-attributes.cpp.plain.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/DeclBaseTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
M clang/unittests/Format/MatchFilePathTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/www/analyzer/potential_checkers.html
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
M cmake/Modules/LLVMCheckCompilerLinkerFlag.cmake
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_globals.cpp
M compiler-rt/lib/asan/asan_ignorelist.txt
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
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/getauxval.inc
R compiler-rt/lib/builtins/cpu_model/aarch64/fmv/sysauxv.inc
A compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/getauxval.inc
R compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/sysauxv.inc
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/crtbegin.c
M compiler-rt/lib/builtins/divtc3.c
M compiler-rt/lib/builtins/multc3.c
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/dfsan/dfsan_chained_origin_depot.cpp
M compiler-rt/lib/dfsan/dfsan_custom.cpp
M compiler-rt/lib/dfsan/dfsan_interceptors.cpp
M compiler-rt/lib/dfsan/dfsan_new_delete.cpp
M compiler-rt/lib/dfsan/dfsan_thread.cpp
M compiler-rt/lib/fuzzer/FuzzerDictionary.h
M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
M compiler-rt/lib/hwasan/hwasan.h
M compiler-rt/lib/memprof/memprof_stack.h
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/msan/msan_thread.cpp
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan.h
A compiler-rt/lib/nsan/nsan_allocator.cpp
A compiler-rt/lib/nsan/nsan_allocator.h
M compiler-rt/lib/nsan/nsan_flags.inc
M compiler-rt/lib/nsan/nsan_interceptors.cpp
M compiler-rt/lib/nsan/nsan_malloc_linux.cpp
A compiler-rt/lib/nsan/nsan_new_delete.cpp
M compiler-rt/lib/nsan/nsan_platform.h
M compiler-rt/lib/nsan/nsan_preinit.cpp
M compiler-rt/lib/nsan/nsan_stats.cpp
A compiler-rt/lib/nsan/nsan_thread.cpp
A compiler-rt/lib/nsan/nsan_thread.h
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/rtsan.h
M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_sparc.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
R compiler-rt/lib/scudo/standalone/benchmarks/CMakeLists.txt
R compiler-rt/lib/scudo/standalone/benchmarks/malloc_benchmark.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/list.h
M compiler-rt/lib/scudo/standalone/mem_map_base.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
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
M compiler-rt/lib/scudo/standalone/tests/list_test.cpp
M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/timing.h
M compiler-rt/lib/scudo/standalone/vector.h
M compiler-rt/lib/tsan/dd/dd_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/ubsan/ubsan_diag.cpp
M compiler-rt/lib/ubsan/ubsan_diag_standalone.cpp
M compiler-rt/test/asan/TestCases/Helpers/initialization-nobug-extra.cpp
M compiler-rt/test/asan/TestCases/Linux/aligned_delete_test.cpp
A compiler-rt/test/asan/TestCases/Linux/initialization-nobug-lld.cpp
M compiler-rt/test/asan/TestCases/Linux/new_delete_mismatch.cpp
A compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp
M compiler-rt/test/asan/TestCases/Linux/printf-fortify-5.c
M compiler-rt/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cpp
M compiler-rt/test/asan/TestCases/Windows/null_deref_multiple_dlls.cpp
M compiler-rt/test/asan/TestCases/Windows/report_globals_reload_dll.cpp
M compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
M compiler-rt/test/asan/TestCases/contiguous_container_crash.cpp
M compiler-rt/test/asan/TestCases/initialization-nobug.cpp
M compiler-rt/test/dfsan/custom.cpp
M compiler-rt/test/dfsan/flags.c
M compiler-rt/test/dfsan/fork.cpp
M compiler-rt/test/dfsan/origin_limit.c
M compiler-rt/test/fuzzer/fork-sigusr.test
M compiler-rt/test/fuzzer/merge-sigusr.test
M compiler-rt/test/fuzzer/sigint.test
M compiler-rt/test/fuzzer/sigusr.test
M compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_uas.cpp
M compiler-rt/test/hwasan/TestCases/new-test.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/msan/Linux/sendmsg.cpp
M compiler-rt/test/msan/chained_origin_empty_stack.cpp
M compiler-rt/test/msan/chained_origin_limits.cpp
M compiler-rt/test/msan/coverage-levels.cpp
M compiler-rt/test/msan/dtor-member.cpp
M compiler-rt/test/msan/fork.cpp
M compiler-rt/test/msan/interception_sigaction_test.cpp
M compiler-rt/test/msan/memcmp_test.cpp
M compiler-rt/test/msan/msan_check_mem_is_initialized.cpp
M compiler-rt/test/msan/poison_in_free.cpp
M compiler-rt/test/msan/print_stats.cpp
M compiler-rt/test/msan/recover-dso.cpp
M compiler-rt/test/msan/recover.cpp
M compiler-rt/test/msan/release_origin.c
M compiler-rt/test/msan/strcmp.c
M compiler-rt/test/msan/strndup.cpp
A compiler-rt/test/nsan/Posix/allocator_mapping.cpp
A compiler-rt/test/nsan/Posix/tls_reuse.c
A compiler-rt/test/nsan/allocator_interface.cpp
A compiler-rt/test/nsan/malloc_hook.cpp
A compiler-rt/test/nsan/new_delete_test.cpp
M compiler-rt/test/profile/Linux/instrprof-comdat.test
M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/new_delete_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_allowlist_ignorelist.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-init.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
M compiler-rt/test/scudo/aligned-new.cpp
M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp
M compiler-rt/test/xray/TestCases/Posix/arg1-arg0-logging.cpp
M compiler-rt/test/xray/TestCases/Posix/arg1-logger.cpp
M compiler-rt/test/xray/TestCases/Posix/arg1-logging-implicit-this.cpp
M compiler-rt/test/xray/TestCases/Posix/argv0-log-file-name.cpp
M compiler-rt/test/xray/TestCases/Posix/coverage-sample.cpp
M compiler-rt/test/xray/TestCases/Posix/fdr-reinit.cpp
M compiler-rt/test/xray/TestCases/Posix/fixedsize-logging.cpp
M compiler-rt/test/xray/TestCases/Posix/func-id-utils.cpp
M compiler-rt/test/xray/TestCases/Posix/optional-inmemory-log.cpp
M compiler-rt/test/xray/TestCases/Posix/patching-unpatching.cpp
M compiler-rt/test/xray/TestCases/Posix/pic_test.cpp
M compiler-rt/test/xray/TestCases/Posix/typed-event-logging.cpp
M flang/CMakeLists.txt
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/LangOptions.h
M flang/include/flang/ISO_Fortran_binding.h
M flang/include/flang/Lower/Allocatable.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/IterationSpace.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/TBAABuilder.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
A flang/include/flang/Runtime/CUDA/allocator.h
A flang/include/flang/Runtime/CUDA/descriptor.h
A flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/real.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/IterationSpace.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/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
A flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-do-forall.h
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-io.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/rewrite-directives.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__fortran_ieee_exceptions.f90
M flang/runtime/CMakeLists.txt
A flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/allocator.cpp
A flang/runtime/CUDA/descriptor.cpp
M flang/runtime/ISO_Fortran_util.h
A flang/runtime/allocator-registry.cpp
M flang/runtime/copy.cpp
M flang/runtime/copy.h
M flang/runtime/descriptor.cpp
M flang/runtime/edit-input.cpp
M flang/runtime/edit-output.cpp
M flang/runtime/format-implementation.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
A flang/runtime/stack.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/runtime/utf.cpp
M flang/runtime/utf.h
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Evaluate/fold-nearest.f90
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Evaluate/logical-args.f90
A flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/box-typecode.fir
M flang/test/Fir/box.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/embox-char.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox-global.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/tbaa.fir
M flang/test/Fir/type-descriptor.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/OpenACC/acc-bounds.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
A flang/test/Lower/OpenMP/associate.f90
M flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/copyprivate2.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause-implied-do-fix.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/firstprivate-allocatable.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/implicit-dsa.f90
A flang/test/Lower/OpenMP/offload-targets.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
M flang/test/Lower/allocatable-polymorphic.f90
A flang/test/Lower/ident.f90
A flang/test/Semantics/OpenMP/copyprivate04.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
A flang/test/Semantics/OpenMP/parallel-shared05.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/symbol09.f90
M flang/test/Semantics/allocate08.f90
M flang/test/Semantics/assign03.f90
M flang/test/Semantics/bad-forward-type.f90
M flang/test/Semantics/call10.f90
M flang/test/Semantics/call11.f90
M flang/test/Semantics/doconcurrent01.f90
M flang/test/Semantics/io05.f90
M flang/test/Semantics/resolve77.f90
M flang/test/Semantics/stmt-func01.f90
M flang/test/Semantics/structconst02.f90
A flang/test/Semantics/typeinfo11.f90
M flang/test/Semantics/undef-result01.f90
M flang/tools/bbc/bbc.cpp
M flang/unittests/Optimizer/InternalNamesTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
A flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
A flang/unittests/Runtime/CUDA/CMakeLists.txt
M flang/unittests/Runtime/NumericalFormatTest.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/src/math/CMakeLists.txt
M libc/benchmarks/gpu/src/math/sin_benchmark.cpp
M libc/benchmarks/gpu/timing/amdgpu/CMakeLists.txt
M libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/CMakeLists.txt
M libc/benchmarks/gpu/timing/nvptx/timing.h
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/CMakeLists.txt
A libc/config/app.h
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
A libc/config/gpu/app.h
M libc/config/gpu/entrypoints.txt
M libc/config/gpu/headers.txt
R libc/config/linux/CMakeLists.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/config/windows/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/header_generation.rst
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/math/index.rst
M libc/docs/overlay_mode.rst
M libc/fuzzing/CMakeLists.txt
M libc/fuzzing/math/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
A libc/fuzzing/math/cos_fuzz.cpp
M libc/fuzzing/math/nextafter_differential_fuzz.cpp
A libc/fuzzing/math/sin_fuzz.cpp
A libc/fuzzing/math/tan_fuzz.cpp
M libc/fuzzing/stdlib/heap_sort_fuzz.cpp
M libc/include/CMakeLists.txt
A libc/include/elf.h.def
A libc/include/link.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/elf-macros.h
M libc/include/llvm-libc-macros/float-macros.h
M libc/include/llvm-libc-macros/gpu/CMakeLists.txt
A libc/include/llvm-libc-macros/gpu/signal-macros.h
M libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/link-macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/signal-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/jmp_buf.h
A libc/include/llvm-libc-types/pthread_spinlock_t.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/llvm-libc-types/time_t.h
A libc/include/llvm-libc-types/time_t_32.h
A libc/include/llvm-libc-types/time_t_64.h
M libc/include/time.h.def
M libc/include/uchar.h.def
M libc/newhdrgen/CMakeLists.txt
M libc/newhdrgen/class_implementation/classes/enumeration.py
M libc/newhdrgen/class_implementation/classes/function.py
M libc/newhdrgen/class_implementation/classes/macro.py
M libc/newhdrgen/class_implementation/classes/object.py
M libc/newhdrgen/class_implementation/classes/type.py
M libc/newhdrgen/gpu_headers.py
M libc/newhdrgen/header.py
M libc/newhdrgen/tests/input/test_small.yaml
M libc/newhdrgen/yaml/arpa/inet.yaml
M libc/newhdrgen/yaml/assert.yaml
M libc/newhdrgen/yaml/ctype.yaml
M libc/newhdrgen/yaml/dirent.yaml
A libc/newhdrgen/yaml/elf.yaml
M libc/newhdrgen/yaml/errno.yaml
M libc/newhdrgen/yaml/fcntl.yaml
M libc/newhdrgen/yaml/features.yaml
M libc/newhdrgen/yaml/fenv.yaml
M libc/newhdrgen/yaml/float.yaml
M libc/newhdrgen/yaml/gpu/rpc.yaml
M libc/newhdrgen/yaml/inttypes.yaml
M libc/newhdrgen/yaml/limits.yaml
A libc/newhdrgen/yaml/link.yaml
M libc/newhdrgen/yaml/math.yaml
M libc/newhdrgen/yaml/pthread.yaml
M libc/newhdrgen/yaml/sched.yaml
M libc/newhdrgen/yaml/search.yaml
M libc/newhdrgen/yaml/setjmp.yaml
M libc/newhdrgen/yaml/signal.yaml
M libc/newhdrgen/yaml/spawn.yaml
M libc/newhdrgen/yaml/stdbit.yaml
M libc/newhdrgen/yaml/stdckdint.yaml
M libc/newhdrgen/yaml/stdfix.yaml
M libc/newhdrgen/yaml/stdint.yaml
M libc/newhdrgen/yaml/stdio.yaml
M libc/newhdrgen/yaml/stdlib.yaml
M libc/newhdrgen/yaml/string.yaml
M libc/newhdrgen/yaml/strings.yaml
M libc/newhdrgen/yaml/sys/auxv.yaml
M libc/newhdrgen/yaml/sys/epoll.yaml
M libc/newhdrgen/yaml/sys/mman.yaml
M libc/newhdrgen/yaml/sys/random.yaml
M libc/newhdrgen/yaml/sys/resource.yaml
M libc/newhdrgen/yaml/sys/select.yaml
M libc/newhdrgen/yaml/sys/sendfile.yaml
M libc/newhdrgen/yaml/sys/socket.yaml
M libc/newhdrgen/yaml/sys/stat.yaml
M libc/newhdrgen/yaml/sys/statvfs.yaml
M libc/newhdrgen/yaml/sys/utsname.yaml
M libc/newhdrgen/yaml/sys/wait.yaml
M libc/newhdrgen/yaml/termios.yaml
M libc/newhdrgen/yaml/threads.yaml
M libc/newhdrgen/yaml/time.yaml
M libc/newhdrgen/yaml/uchar.yaml
M libc/newhdrgen/yaml/unistd.yaml
M libc/newhdrgen/yaml/wchar.yaml
A libc/newhdrgen/yaml_functions_sorted.py
M libc/newhdrgen/yaml_to_classes.py
M libc/spec/gnu_ext.td
M libc/spec/llvm_libc_ext.td
M libc/spec/posix.td
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/limits.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/generic/div.h
M libc/src/__support/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/str_to_float.h
M libc/src/__support/threads/CMakeLists.txt
A libc/src/__support/threads/identifier.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/spin_lock.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread.h
M libc/src/math/CMakeLists.txt
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/amdgpu/declarations.h
A libc/src/math/amdgpu/lgamma.cpp
A libc/src/math/amdgpu/lgamma_r.cpp
R libc/src/math/amdgpu/pow.cpp
A libc/src/math/daddf128.h
A libc/src/math/daddl.h
A libc/src/math/ddivf128.h
A libc/src/math/ddivl.h
A libc/src/math/dfmaf128.h
A libc/src/math/dfmal.h
A libc/src/math/dsubf128.h
A libc/src/math/dsubl.h
A libc/src/math/exp10f16.h
A libc/src/math/exp2f16.h
A libc/src/math/expm1f16.h
M libc/src/math/fadd.h
A libc/src/math/faddf128.h
A libc/src/math/faddl.h
A libc/src/math/fdiv.h
A libc/src/math/fdivf128.h
A libc/src/math/fdivl.h
A libc/src/math/ffma.h
A libc/src/math/ffmaf128.h
A libc/src/math/ffmal.h
A libc/src/math/fsub.h
A libc/src/math/fsubf128.h
A libc/src/math/fsubl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/cos.cpp
A libc/src/math/generic/daddf128.cpp
A libc/src/math/generic/daddl.cpp
A libc/src/math/generic/ddivf128.cpp
A libc/src/math/generic/ddivl.cpp
A libc/src/math/generic/dfmaf128.cpp
A libc/src/math/generic/dfmal.cpp
A libc/src/math/generic/dsubf128.cpp
A libc/src/math/generic/dsubl.cpp
A libc/src/math/generic/exp10f16.cpp
A libc/src/math/generic/exp2f16.cpp
M libc/src/math/generic/expf16.cpp
A libc/src/math/generic/expm1f16.cpp
A libc/src/math/generic/expxf16.h
M libc/src/math/generic/fadd.cpp
A libc/src/math/generic/faddf128.cpp
A libc/src/math/generic/faddl.cpp
A libc/src/math/generic/fdiv.cpp
A libc/src/math/generic/fdivf128.cpp
A libc/src/math/generic/fdivl.cpp
A libc/src/math/generic/ffma.cpp
A libc/src/math/generic/ffmaf128.cpp
A libc/src/math/generic/ffmal.cpp
A libc/src/math/generic/fsub.cpp
A libc/src/math/generic/fsubf128.cpp
A libc/src/math/generic/fsubl.cpp
A libc/src/math/generic/getpayload.cpp
A libc/src/math/generic/getpayloadf.cpp
A libc/src/math/generic/getpayloadf128.cpp
A libc/src/math/generic/getpayloadl.cpp
A libc/src/math/generic/pow.cpp
M libc/src/math/generic/range_reduction_double_common.h
A libc/src/math/generic/remainderf128.cpp
A libc/src/math/generic/scalbln.cpp
A libc/src/math/generic/scalblnf.cpp
A libc/src/math/generic/scalblnf128.cpp
A libc/src/math/generic/scalblnl.cpp
A libc/src/math/generic/setpayloadl.cpp
A libc/src/math/generic/setpayloadsig.cpp
A libc/src/math/generic/setpayloadsigf.cpp
A libc/src/math/generic/setpayloadsigf128.cpp
A libc/src/math/generic/setpayloadsigl.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/tan.cpp
A libc/src/math/generic/totalorderl.cpp
A libc/src/math/getpayload.h
A libc/src/math/getpayloadf.h
A libc/src/math/getpayloadf128.h
A libc/src/math/getpayloadl.h
A libc/src/math/lgamma.h
A libc/src/math/lgamma_r.h
M libc/src/math/nvptx/CMakeLists.txt
M libc/src/math/nvptx/declarations.h
A libc/src/math/nvptx/lgamma.cpp
A libc/src/math/nvptx/lgamma_r.cpp
R libc/src/math/nvptx/pow.cpp
A libc/src/math/remainderf128.h
A libc/src/math/scalbln.h
A libc/src/math/scalblnf.h
A libc/src/math/scalblnf128.h
A libc/src/math/scalblnl.h
A libc/src/math/setpayloadl.h
A libc/src/math/setpayloadsig.h
A libc/src/math/setpayloadsigf.h
A libc/src/math/setpayloadsigf128.h
A libc/src/math/setpayloadsigl.h
A libc/src/math/totalorderl.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_spin_destroy.cpp
A libc/src/pthread/pthread_spin_destroy.h
A libc/src/pthread/pthread_spin_init.cpp
A libc/src/pthread/pthread_spin_init.h
A libc/src/pthread/pthread_spin_lock.cpp
A libc/src/pthread/pthread_spin_lock.h
A libc/src/pthread/pthread_spin_trylock.cpp
A libc/src/pthread/pthread_spin_trylock.h
A libc/src/pthread/pthread_spin_unlock.cpp
A libc/src/pthread/pthread_spin_unlock.h
A libc/src/setjmp/aarch64/CMakeLists.txt
A libc/src/setjmp/aarch64/longjmp.cpp
A libc/src/setjmp/aarch64/setjmp.cpp
M libc/src/stdio/CMakeLists.txt
A libc/src/stdio/asprintf.cpp
A libc/src/stdio/asprintf.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/parser.h
A libc/src/stdio/printf_core/vasprintf_internal.h
M libc/src/stdio/printf_core/writer.h
A libc/src/stdio/vasprintf.cpp
A libc/src/stdio/vasprintf.h
A libc/src/stdio/vsscanf.cpp
A libc/src/stdio/vsscanf.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/getenv.cpp
M libc/src/sys/auxv/linux/CMakeLists.txt
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/time/mktime.cpp
M libc/src/time/time_utils.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/gettid.cpp
A libc/src/unistd/gettid.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/fork.cpp
M libc/startup/gpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/CMakeLists.txt
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/do_start.cpp
M libc/startup/linux/do_start.h
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/LibcTestMain.cpp
M libc/test/integration/src/pthread/CMakeLists.txt
M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
A libc/test/integration/src/pthread/pthread_spinlock_test.cpp
M libc/test/integration/src/stdlib/CMakeLists.txt
M libc/test/integration/src/unistd/CMakeLists.txt
M libc/test/integration/src/unistd/fork_test.cpp
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
M libc/test/src/__support/freelist_malloc_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_long_double_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/DivTest.h
A libc/test/src/math/daddl_test.cpp
A libc/test/src/math/ddivl_test.cpp
A libc/test/src/math/dfmal_test.cpp
A libc/test/src/math/dsubl_test.cpp
A libc/test/src/math/exp10f16_test.cpp
A libc/test/src/math/exp2f16_test.cpp
A libc/test/src/math/expm1f16_test.cpp
A libc/test/src/math/faddl_test.cpp
A libc/test/src/math/fdiv_test.cpp
A libc/test/src/math/fdivl_test.cpp
A libc/test/src/math/ffma_test.cpp
A libc/test/src/math/ffmal_test.cpp
A libc/test/src/math/fsub_test.cpp
A libc/test/src/math/fsubl_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/exp10f16_perf.cpp
A libc/test/src/math/performance_testing/exp2f16_perf.cpp
M libc/test/src/math/performance_testing/expf16_perf.cpp
A libc/test/src/math/pow_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/GetPayloadTest.h
M libc/test/src/math/smoke/SetPayloadSigTest.h
M libc/test/src/math/smoke/SetPayloadTest.h
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/math/smoke/daddf128_test.cpp
A libc/test/src/math/smoke/daddl_test.cpp
A libc/test/src/math/smoke/ddivf128_test.cpp
A libc/test/src/math/smoke/ddivl_test.cpp
A libc/test/src/math/smoke/dfmaf128_test.cpp
A libc/test/src/math/smoke/dfmal_test.cpp
A libc/test/src/math/smoke/dsubf128_test.cpp
A libc/test/src/math/smoke/dsubl_test.cpp
A libc/test/src/math/smoke/exp10f16_test.cpp
A libc/test/src/math/smoke/exp2f16_test.cpp
M libc/test/src/math/smoke/expf16_test.cpp
A libc/test/src/math/smoke/expm1f16_test.cpp
A libc/test/src/math/smoke/faddf128_test.cpp
A libc/test/src/math/smoke/faddl_test.cpp
A libc/test/src/math/smoke/fdiv_test.cpp
A libc/test/src/math/smoke/fdivf128_test.cpp
A libc/test/src/math/smoke/fdivl_test.cpp
A libc/test/src/math/smoke/ffma_test.cpp
A libc/test/src/math/smoke/ffmaf128_test.cpp
A libc/test/src/math/smoke/ffmal_test.cpp
A libc/test/src/math/smoke/fsub_test.cpp
A libc/test/src/math/smoke/fsubf128_test.cpp
A libc/test/src/math/smoke/fsubl_test.cpp
A libc/test/src/math/smoke/getpayload_test.cpp
A libc/test/src/math/smoke/getpayloadf128_test.cpp
A libc/test/src/math/smoke/getpayloadf_test.cpp
A libc/test/src/math/smoke/getpayloadl_test.cpp
A libc/test/src/math/smoke/pow_test.cpp
A libc/test/src/math/smoke/scalbln_test.cpp
A libc/test/src/math/smoke/scalblnf128_test.cpp
A libc/test/src/math/smoke/scalblnf_test.cpp
A libc/test/src/math/smoke/scalblnl_test.cpp
A libc/test/src/math/smoke/setpayloadl_test.cpp
A libc/test/src/math/smoke/setpayloadsig_test.cpp
A libc/test/src/math/smoke/setpayloadsigf128_test.cpp
A libc/test/src/math/smoke/setpayloadsigf_test.cpp
A libc/test/src/math/smoke/setpayloadsigl_test.cpp
A libc/test/src/math/smoke/totalorderl_test.cpp
M libc/test/src/stdbit/stdc_bit_floor_ui_test.cpp
M libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/asprintf_test.cpp
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/snprintf_test.cpp
A libc/test/src/stdio/vasprintf_test.cpp
A libc/test/src/stdio/vsscanf_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/time/mktime_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/gpu/loader/CMakeLists.txt
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/loader/Main.cpp
M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
R libc/utils/gpu/loader/amdgpu/Loader.cpp
A libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
M libc/utils/gpu/loader/nvptx/CMakeLists.txt
R libc/utils/gpu/loader/nvptx/Loader.cpp
A libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/rpc_server.cpp
M libcxx/.clang-format
M libcxx/CMakeLists.txt
R libcxx/benchmarks/CMakeLists.txt
R libcxx/benchmarks/CartesianBenchmarks.h
R libcxx/benchmarks/ContainerBenchmarks.h
R libcxx/benchmarks/GenerateInput.h
R libcxx/benchmarks/Utilities.h
R libcxx/benchmarks/VariantBenchmarks.h
R libcxx/benchmarks/algorithms.partition_point.bench.cpp
R libcxx/benchmarks/algorithms/common.h
R libcxx/benchmarks/algorithms/count.bench.cpp
R libcxx/benchmarks/algorithms/equal.bench.cpp
R libcxx/benchmarks/algorithms/fill.bench.cpp
R libcxx/benchmarks/algorithms/find.bench.cpp
R libcxx/benchmarks/algorithms/for_each.bench.cpp
R libcxx/benchmarks/algorithms/lower_bound.bench.cpp
R libcxx/benchmarks/algorithms/make_heap.bench.cpp
R libcxx/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
R libcxx/benchmarks/algorithms/min.bench.cpp
R libcxx/benchmarks/algorithms/min_max_element.bench.cpp
R libcxx/benchmarks/algorithms/minmax.bench.cpp
R libcxx/benchmarks/algorithms/mismatch.bench.cpp
R libcxx/benchmarks/algorithms/pop_heap.bench.cpp
R libcxx/benchmarks/algorithms/pstl.stable_sort.bench.cpp
R libcxx/benchmarks/algorithms/push_heap.bench.cpp
R libcxx/benchmarks/algorithms/ranges_contains.bench.cpp
R libcxx/benchmarks/algorithms/ranges_ends_with.bench.cpp
R libcxx/benchmarks/algorithms/ranges_make_heap.bench.cpp
R libcxx/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
R libcxx/benchmarks/algorithms/ranges_pop_heap.bench.cpp
R libcxx/benchmarks/algorithms/ranges_push_heap.bench.cpp
R libcxx/benchmarks/algorithms/ranges_sort.bench.cpp
R libcxx/benchmarks/algorithms/ranges_sort_heap.bench.cpp
R libcxx/benchmarks/algorithms/ranges_stable_sort.bench.cpp
R libcxx/benchmarks/algorithms/set_intersection.bench.cpp
R libcxx/benchmarks/algorithms/sort.bench.cpp
R libcxx/benchmarks/algorithms/sort_heap.bench.cpp
R libcxx/benchmarks/algorithms/stable_sort.bench.cpp
R libcxx/benchmarks/allocation.bench.cpp
R libcxx/benchmarks/atomic_wait.bench.cpp
R libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
R libcxx/benchmarks/deque.bench.cpp
R libcxx/benchmarks/deque_iterator.bench.cpp
R libcxx/benchmarks/exception_ptr.bench.cpp
R libcxx/benchmarks/filesystem.bench.cpp
R libcxx/benchmarks/format.bench.cpp
R libcxx/benchmarks/format_to.bench.cpp
R libcxx/benchmarks/format_to_n.bench.cpp
R libcxx/benchmarks/formatted_size.bench.cpp
R libcxx/benchmarks/formatter_float.bench.cpp
R libcxx/benchmarks/formatter_int.bench.cpp
R libcxx/benchmarks/function.bench.cpp
R libcxx/benchmarks/join_view.bench.cpp
R libcxx/benchmarks/lexicographical_compare_three_way.bench.cpp
R libcxx/benchmarks/libcxxabi/dynamic_cast.bench.cpp
R libcxx/benchmarks/libcxxabi/dynamic_cast_old_stress.bench.cpp
R libcxx/benchmarks/lit.cfg.py
R libcxx/benchmarks/lit.site.cfg.py.in
R libcxx/benchmarks/map.bench.cpp
R libcxx/benchmarks/monotonic_buffer.bench.cpp
R libcxx/benchmarks/numeric/gcd.bench.cpp
R libcxx/benchmarks/ordered_set.bench.cpp
R libcxx/benchmarks/random.bench.cpp
R libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
R libcxx/benchmarks/std_format_spec_string_unicode.bench.cpp
R libcxx/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
R libcxx/benchmarks/stop_token.bench.cpp
R libcxx/benchmarks/string.bench.cpp
R libcxx/benchmarks/stringstream.bench.cpp
R libcxx/benchmarks/system_error.bench.cpp
R libcxx/benchmarks/to_chars.bench.cpp
R libcxx/benchmarks/unordered_set_operations.bench.cpp
R libcxx/benchmarks/util_smartptr.bench.cpp
R libcxx/benchmarks/variant_visit_1.bench.cpp
R libcxx/benchmarks/variant_visit_2.bench.cpp
R libcxx/benchmarks/variant_visit_3.bench.cpp
R libcxx/benchmarks/vector_operations.bench.cpp
M libcxx/cmake/config-ix.cmake
M libcxx/docs/ImplementationDefinedBehavior.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx14Issues.csv
M libcxx/docs/Status/Cxx14Papers.csv
M libcxx/docs/Status/Cxx17.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/is_permutation.h
M libcxx/include/__algorithm/lexicographical_compare.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/max_element.h
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/minmax.h
M libcxx/include/__algorithm/minmax_element.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/ranges_adjacent_find.h
M libcxx/include/__algorithm/ranges_all_of.h
M libcxx/include/__algorithm/ranges_any_of.h
M libcxx/include/__algorithm/ranges_binary_search.h
M libcxx/include/__algorithm/ranges_clamp.h
M libcxx/include/__algorithm/ranges_contains.h
M libcxx/include/__algorithm/ranges_contains_subrange.h
M libcxx/include/__algorithm/ranges_copy.h
M libcxx/include/__algorithm/ranges_copy_backward.h
M libcxx/include/__algorithm/ranges_copy_if.h
M libcxx/include/__algorithm/ranges_copy_n.h
M libcxx/include/__algorithm/ranges_count.h
M libcxx/include/__algorithm/ranges_count_if.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_equal.h
M libcxx/include/__algorithm/ranges_equal_range.h
M libcxx/include/__algorithm/ranges_fill.h
M libcxx/include/__algorithm/ranges_fill_n.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__algorithm/ranges_find_end.h
M libcxx/include/__algorithm/ranges_find_first_of.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_find_last.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/__algorithm/ranges_generate.h
M libcxx/include/__algorithm/ranges_generate_n.h
M libcxx/include/__algorithm/ranges_includes.h
M libcxx/include/__algorithm/ranges_inplace_merge.h
M libcxx/include/__algorithm/ranges_is_heap.h
M libcxx/include/__algorithm/ranges_is_heap_until.h
M libcxx/include/__algorithm/ranges_is_partitioned.h
M libcxx/include/__algorithm/ranges_is_permutation.h
M libcxx/include/__algorithm/ranges_is_sorted.h
M libcxx/include/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__algorithm/ranges_lower_bound.h
M libcxx/include/__algorithm/ranges_make_heap.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_merge.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/ranges_minmax_element.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_move.h
M libcxx/include/__algorithm/ranges_move_backward.h
M libcxx/include/__algorithm/ranges_next_permutation.h
M libcxx/include/__algorithm/ranges_none_of.h
M libcxx/include/__algorithm/ranges_nth_element.h
M libcxx/include/__algorithm/ranges_partial_sort.h
M libcxx/include/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__algorithm/ranges_partition.h
M libcxx/include/__algorithm/ranges_partition_copy.h
M libcxx/include/__algorithm/ranges_partition_point.h
M libcxx/include/__algorithm/ranges_pop_heap.h
M libcxx/include/__algorithm/ranges_prev_permutation.h
M libcxx/include/__algorithm/ranges_push_heap.h
M libcxx/include/__algorithm/ranges_remove.h
M libcxx/include/__algorithm/ranges_remove_copy.h
M libcxx/include/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__algorithm/ranges_replace.h
M libcxx/include/__algorithm/ranges_replace_copy.h
M libcxx/include/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__algorithm/ranges_replace_if.h
M libcxx/include/__algorithm/ranges_reverse.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
M libcxx/include/__algorithm/ranges_rotate.h
M libcxx/include/__algorithm/ranges_rotate_copy.h
M libcxx/include/__algorithm/ranges_sample.h
M libcxx/include/__algorithm/ranges_search.h
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/ranges_set_difference.h
M libcxx/include/__algorithm/ranges_set_intersection.h
M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__algorithm/ranges_set_union.h
M libcxx/include/__algorithm/ranges_shuffle.h
M libcxx/include/__algorithm/ranges_sort.h
M libcxx/include/__algorithm/ranges_sort_heap.h
M libcxx/include/__algorithm/ranges_stable_partition.h
M libcxx/include/__algorithm/ranges_stable_sort.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__algorithm/ranges_swap_ranges.h
M libcxx/include/__algorithm/ranges_transform.h
M libcxx/include/__algorithm/ranges_unique.h
M libcxx/include/__algorithm/ranges_unique_copy.h
M libcxx/include/__algorithm/ranges_upper_bound.h
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__algorithm/upper_bound.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_base.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__bit/rotate.h
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/__config
M libcxx/include/__expected/expected.h
M libcxx/include/__format/format_context.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/prev.h
M libcxx/include/__math/hypot.h
M libcxx/include/__memory/inout_ptr.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/ranges_construct_at.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__type_traits/desugars_to.h
M libcxx/include/__type_traits/is_trivially_lexicographically_comparable.h
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/cmath
M libcxx/include/complex
M libcxx/include/experimental/__simd/reference.h
M libcxx/include/fstream
M libcxx/include/ios
M libcxx/include/latch
M libcxx/include/memory_resource
M libcxx/include/optional
M libcxx/include/semaphore
M libcxx/include/sstream
M libcxx/include/string
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/modules/std/mdspan.inc
M libcxx/modules/std/new.inc
M libcxx/src/chrono.cpp
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/include/overridable_function.h
M libcxx/src/regex.cpp
M libcxx/test/CMakeLists.txt
A libcxx/test/benchmarks/CMakeLists.txt
A libcxx/test/benchmarks/CartesianBenchmarks.h
A libcxx/test/benchmarks/ContainerBenchmarks.h
A libcxx/test/benchmarks/GenerateInput.h
A libcxx/test/benchmarks/Utilities.h
A libcxx/test/benchmarks/VariantBenchmarks.h
A libcxx/test/benchmarks/algorithms.partition_point.bench.cpp
A libcxx/test/benchmarks/algorithms/common.h
A libcxx/test/benchmarks/algorithms/count.bench.cpp
A libcxx/test/benchmarks/algorithms/equal.bench.cpp
A libcxx/test/benchmarks/algorithms/fill.bench.cpp
A libcxx/test/benchmarks/algorithms/find.bench.cpp
A libcxx/test/benchmarks/algorithms/for_each.bench.cpp
A libcxx/test/benchmarks/algorithms/lexicographical_compare.bench.cpp
A libcxx/test/benchmarks/algorithms/lower_bound.bench.cpp
A libcxx/test/benchmarks/algorithms/make_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/min.bench.cpp
A libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
A libcxx/test/benchmarks/algorithms/minmax.bench.cpp
A libcxx/test/benchmarks/algorithms/mismatch.bench.cpp
A libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
A libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_ends_with.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_make_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_pop_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_push_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
A libcxx/test/benchmarks/algorithms/set_intersection.bench.cpp
A libcxx/test/benchmarks/algorithms/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
A libcxx/test/benchmarks/allocation.bench.cpp
A libcxx/test/benchmarks/atomic_wait.bench.cpp
A libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
A libcxx/test/benchmarks/deque.bench.cpp
A libcxx/test/benchmarks/deque_iterator.bench.cpp
A libcxx/test/benchmarks/exception_ptr.bench.cpp
A libcxx/test/benchmarks/filesystem.bench.cpp
A libcxx/test/benchmarks/format.bench.cpp
A libcxx/test/benchmarks/format_to.bench.cpp
A libcxx/test/benchmarks/format_to_n.bench.cpp
A libcxx/test/benchmarks/formatted_size.bench.cpp
A libcxx/test/benchmarks/formatter_float.bench.cpp
A libcxx/test/benchmarks/formatter_int.bench.cpp
A libcxx/test/benchmarks/function.bench.cpp
A libcxx/test/benchmarks/join_view.bench.cpp
A libcxx/test/benchmarks/lexicographical_compare_three_way.bench.cpp
A libcxx/test/benchmarks/libcxxabi/dynamic_cast.bench.cpp
A libcxx/test/benchmarks/libcxxabi/dynamic_cast_old_stress.bench.cpp
A libcxx/test/benchmarks/lit.cfg.py.in
A libcxx/test/benchmarks/lit.site.cfg.py.in
A libcxx/test/benchmarks/map.bench.cpp
A libcxx/test/benchmarks/monotonic_buffer.bench.cpp
A libcxx/test/benchmarks/numeric/gcd.bench.cpp
A libcxx/test/benchmarks/ordered_set.bench.cpp
A libcxx/test/benchmarks/random.bench.cpp
A libcxx/test/benchmarks/shared_mutex_vs_mutex.bench.cpp
A libcxx/test/benchmarks/std_format_spec_string_unicode.bench.cpp
A libcxx/test/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
A libcxx/test/benchmarks/stop_token.bench.cpp
A libcxx/test/benchmarks/string.bench.cpp
A libcxx/test/benchmarks/stringstream.bench.cpp
A libcxx/test/benchmarks/system_error.bench.cpp
A libcxx/test/benchmarks/to_chars.bench.cpp
A libcxx/test/benchmarks/unordered_set_operations.bench.cpp
A libcxx/test/benchmarks/util_smartptr.bench.cpp
A libcxx/test/benchmarks/variant_visit_1.bench.cpp
A libcxx/test/benchmarks/variant_visit_2.bench.cpp
A libcxx/test/benchmarks/variant_visit_3.bench.cpp
A libcxx/test/benchmarks/vector_operations.bench.cpp
A libcxx/test/libcxx/algorithms/callable-requirements-rvalue.compile.pass.cpp
A libcxx/test/libcxx/algorithms/callable-requirements.verify.cpp
R libcxx/test/libcxx/algorithms/callable.verify.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
M libcxx/test/libcxx/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp
A libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/test_data.json
A libcxx/test/libcxx/feature_test_macro/version_header.sh.py
A libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/ostream.syn/includes.compile.pass.cpp
M libcxx/test/libcxx/input.output/iostream.format/print.fun/transcoding.pass.cpp
M libcxx/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_posix.pass.cpp
M libcxx/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_windows.pass.cpp
A libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/any/allocator.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/noexcept.extension.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.unexpected/noexcept.extension.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/noexcept.extension.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/value.lwg3940.verify.cpp
M libcxx/test/libcxx/utilities/format/enable_insertable.compile.pass.cpp
M libcxx/test/libcxx/utilities/format/format.arguments/format.arg/arg_t.compile.pass.cpp
M libcxx/test/libcxx/utilities/format/format.formatter/format.context/types.compile.pass.cpp
M libcxx/test/libcxx/utilities/format/format.functions/ascii.pass.cpp
M libcxx/test/libcxx/utilities/format/format.functions/escaped_output.ascii.pass.cpp
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/code_point_width_estimation.pass.cpp
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/concepts_precision.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/test_exception.h
M libcxx/test/libcxx/vendor/ibm/bad_function_call.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp
M libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/general.compile.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/pointer.compile.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/concepts/concepts.lang/concept.common/common_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.lang/concept.commonref/common_reference.compile.pass.cpp
M libcxx/test/std/containers/Emplaceable.h
M libcxx/test/std/containers/NotConstructible.h
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.format.pass.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.vformat.pass.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.pass.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/parse.pass.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/types.compile.pass.cpp
M libcxx/test/std/containers/container.node/node_handle.pass.cpp
M libcxx/test/std/containers/sequences/array/compare.verify.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.format.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.vformat.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/types.compile.pass.cpp
M libcxx/test/std/containers/unord/unord.map/compare.pass.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/diagnostics/syserr/is_error_code_enum.pass.cpp
M libcxx/test/std/diagnostics/syserr/is_error_condition_enum.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/ErrorCodeEnum.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/lwg3629.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/ErrorCodeEnum.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/lwg3629.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/lwg3629.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/lwg3629.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_error_code_string.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_int_error_category_string.pass.cpp
A libcxx/test/std/experimental/simd/simd.reference/reference_arith_operators.pass.cpp
A libcxx/test/std/experimental/simd/simd.reference/reference_bitwise_operators.pass.cpp
A libcxx/test/std/experimental/simd/simd.reference/reference_unary.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/hash.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/path.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/path.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/path.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/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print_tests.h
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_nonunicode.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/print.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/print.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/print_tests.h
M libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.file.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.sh.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/mode.alloc.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-alloc.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.mode.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.move.mode.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/mode.alloc.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-alloc.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.mode.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.move.mode.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/mode.alloc.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-alloc.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.mode.alloc.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.move.mode.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/user_defined_char_type.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/numerics/c.math/hermite.pass.cpp
A libcxx/test/std/numerics/complex.number/complex.special/gh_101960_ambiguous_ctor.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/types.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/types.h
M libcxx/test/std/ranges/range.utility/range.subrange/ctor.range_size.pass.cpp
M libcxx/test/std/re/re.traits/transform.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/move_alloc.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/substr_rvalue.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/push_back.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_swap/swap.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.5-bogner
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/07da33fe5f01...d7973969822f
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